From 774e1ae9f57106fdae5ce849559da027f2c21e90 Mon Sep 17 00:00:00 2001 From: Esteban Zimanyi Date: Fri, 10 Jul 2026 18:30:02 +0200 Subject: [PATCH] Derive the catalog and libmeos via provision-meos and build against current MEOS The CI derives meos-idl.json and builds+installs libmeos from a single MobilityDB ref through the shared MEOS-API provision-meos action, and codegen.py regenerates the bindings from the action's catalog output. The C# reserved-word set covers the built-in value-type keywords, so a parameter named after a type is emitted as a verbatim identifier. The temporal-number arithmetic wrappers call the mul_* MEOS functions. --- .github/workflows/ci.yml | 52 +- MEOS.NET/Helpers/DateHelper.cs | 4 +- MEOS.NET/Internal/MEOSExposedFunctions.cs | 13918 ++++++++++++---- MEOS.NET/Internal/MEOSExternalFunctions.cs | 9544 +++++++++-- MEOS.NET/Types/Collections/Float/FloatSet.cs | 5 +- MEOS.NET/Types/Collections/SpanSet.cs | 7 +- .../Temporal/Number/Float/TemporalFloat.cs | 14 +- .../Types/Temporal/Number/TemporalNumber.cs | 2 +- MEOS.NET/Types/Temporal/Temporal.cs | 2 +- MEOS.NET/Types/Temporal/TemporalInstant.cs | 14 +- tools/codegen.py | 79 +- 11 files changed, 19406 insertions(+), 4235 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 495ef1d..0b2e15e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -4,21 +4,8 @@ on: push: pull_request: -# Both the libmeos build and the MEOS-API header parse are pinned to the -# same MobilityDB ref so the regenerated bindings and the runtime library -# always match. Current MEOS lives on master (there is no stable-1.4 yet); -# bump MOBILITYDB_REF once a stable release branch exists. env: MOBILITYDB_REF: master - # The bindings need two not-yet-merged MEOS-API changes: the shape - # metadata (PR #2, branch feat/shape-metadata) and the postgres - # integer-typedef stub (PR #1, branch fix/stdbool-stub) without which - # int64/TimestampTz collapse to 32-bit int. Stack them: check out - # feat/shape-metadata and cherry-pick PR #1's fix. Once both land on - # MEOS-API master, drop MEOS_API_PR1_BRANCH and set MEOS_API_REF=master. - MEOS_API_REF: feat/shape-metadata - MEOS_API_PR1_BRANCH: fix/stdbool-stub - MEOS_API_PR1_COMMIT: fd83b2825af641f8c54f422dd7f66b148b287b68 jobs: build: @@ -28,42 +15,19 @@ jobs: steps: - uses: actions/checkout@v4 - - name: Install native dependencies - run: | - sudo apt-get update - sudo apt-get install -y \ - build-essential cmake git python3-pip \ - libgeos-dev libproj-dev libjson-c-dev libgsl-dev - - uses: actions/setup-dotnet@v4 with: dotnet-version: '8.0.x' - - name: Build and install libmeos (${{ env.MOBILITYDB_REF }}) - run: | - git clone --depth 1 --branch "$MOBILITYDB_REF" \ - https://github.com/MobilityDB/MobilityDB "$HOME/MobilityDB" - cmake -S "$HOME/MobilityDB" -B "$HOME/MobilityDB/build" \ - -DCMAKE_BUILD_TYPE=Release -DMEOS=on - cmake --build "$HOME/MobilityDB/build" -j "$(nproc)" - sudo cmake --install "$HOME/MobilityDB/build" - sudo ldconfig - - - name: Generate meos-idl.json (${{ env.MOBILITYDB_REF }}) - run: | - git clone --branch "$MEOS_API_REF" \ - https://github.com/MobilityDB/MEOS-API "$HOME/MEOS-API" - cd "$HOME/MEOS-API" - git config user.email ci@local - git config user.name CI - git fetch origin "$MEOS_API_PR1_BRANCH" - git cherry-pick "$MEOS_API_PR1_COMMIT" - pip install -r requirements.txt - python setup.py --branch "$MOBILITYDB_REF" - python run.py + - name: Provision MEOS (build libmeos + generate catalog) + id: meos + uses: MobilityDB/MEOS-API/.github/actions/provision-meos@master + with: + mobilitydb-ref: ${{ env.MOBILITYDB_REF }} + build-libmeos: "true" - name: Regenerate bindings - run: python3 tools/codegen.py "$HOME/MEOS-API/output/meos-idl.json" + run: python3 tools/codegen.py "${{ steps.meos.outputs.catalog-path }}" - name: Report binding drift run: git --no-pager diff --stat -- MEOS.NET/Internal || true @@ -77,4 +41,4 @@ jobs: - name: Smoke-test the FFI run: dotnet run --project ExampleApp/ExampleApp.csproj -c Release --no-build env: - LD_LIBRARY_PATH: /usr/local/lib + LD_LIBRARY_PATH: ${{ steps.meos.outputs.libmeos-prefix }}/lib diff --git a/MEOS.NET/Helpers/DateHelper.cs b/MEOS.NET/Helpers/DateHelper.cs index beccbe2..6754ebf 100644 --- a/MEOS.NET/Helpers/DateHelper.cs +++ b/MEOS.NET/Helpers/DateHelper.cs @@ -7,13 +7,13 @@ internal static class DateHelper { internal static DateTime ToDateTime(this TimestampTz pgTimestamp) { - var str = MEOSExposedFunctions.pg_timestamptz_out(pgTimestamp.Time); + var str = MEOSExposedFunctions.timestamptz_out(pgTimestamp.Time); return DateTime.Parse(str); } internal static long ToPgTimestamp(this DateTime dateTime) { - var res = MEOSExposedFunctions.pg_timestamptz_in(dateTime.ToString("s"), -1); // ToString("s") -> ISO 8601 formatted date string + var res = MEOSExposedFunctions.timestamptz_in(dateTime.ToString("s"), -1); // ToString("s") -> ISO 8601 formatted date string return res; } } diff --git a/MEOS.NET/Internal/MEOSExposedFunctions.cs b/MEOS.NET/Internal/MEOSExposedFunctions.cs index bbc0aaf..e699846 100644 --- a/MEOS.NET/Internal/MEOSExposedFunctions.cs +++ b/MEOS.NET/Internal/MEOSExposedFunctions.cs @@ -8,38 +8,44 @@ namespace MEOS.NET.Internal [GeneratedCode("MEOS.NET.Builder.MEOSIDL", "0.1.0")] internal partial class MEOSExposedFunctions { - public static int date_in(string str) - => SafeExecution(() => MEOSExternalFunctions.date_in(str)); + public static void meos_error(int errlevel, int errcode, string format) + => SafeExecution(() => MEOSExternalFunctions.meos_error(errlevel, errcode, format)); - public static string date_out(int d) - => SafeExecution(() => MEOSExternalFunctions.date_out(d)); + public static int meos_errno() + => SafeExecution(() => MEOSExternalFunctions.meos_errno()); - public static int interval_cmp(IntPtr interv1, IntPtr interv2) - => SafeExecution(() => MEOSExternalFunctions.interval_cmp(interv1, interv2)); + public static int meos_errno_set(int err) + => SafeExecution(() => MEOSExternalFunctions.meos_errno_set(err)); - public static IntPtr interval_in(string str, int typmod) - => SafeExecution(() => MEOSExternalFunctions.interval_in(str, typmod)); + public static int meos_errno_restore(int err) + => SafeExecution(() => MEOSExternalFunctions.meos_errno_restore(err)); - public static string interval_out(IntPtr interv) - => SafeExecution(() => MEOSExternalFunctions.interval_out(interv)); + public static int meos_errno_reset() + => SafeExecution(() => MEOSExternalFunctions.meos_errno_reset()); - public static long time_in(string str, int typmod) - => SafeExecution(() => MEOSExternalFunctions.time_in(str, typmod)); + public static IntPtr meos_array_create(int elem_size) + => SafeExecution(() => MEOSExternalFunctions.meos_array_create(elem_size)); - public static string time_out(long t) - => SafeExecution(() => MEOSExternalFunctions.time_out(t)); + public static void meos_array_add(IntPtr array, IntPtr value) + => SafeExecution(() => MEOSExternalFunctions.meos_array_add(array, value)); - public static long timestamp_in(string str, int typmod) - => SafeExecution(() => MEOSExternalFunctions.timestamp_in(str, typmod)); + public static IntPtr meos_array_get(IntPtr array, int n) + => SafeExecution(() => MEOSExternalFunctions.meos_array_get(array, n)); - public static string timestamp_out(long t) - => SafeExecution(() => MEOSExternalFunctions.timestamp_out(t)); + public static int meos_array_count(IntPtr array) + => SafeExecution(() => MEOSExternalFunctions.meos_array_count(array)); - public static long timestamptz_in(string str, int typmod) - => SafeExecution(() => MEOSExternalFunctions.timestamptz_in(str, typmod)); + public static void meos_array_reset(IntPtr array) + => SafeExecution(() => MEOSExternalFunctions.meos_array_reset(array)); - public static string timestamptz_out(long t) - => SafeExecution(() => MEOSExternalFunctions.timestamptz_out(t)); + public static void meos_array_reset_free(IntPtr array) + => SafeExecution(() => MEOSExternalFunctions.meos_array_reset_free(array)); + + public static void meos_array_destroy(IntPtr array) + => SafeExecution(() => MEOSExternalFunctions.meos_array_destroy(array)); + + public static void meos_array_destroy_free(IntPtr array) + => SafeExecution(() => MEOSExternalFunctions.meos_array_destroy_free(array)); public static IntPtr rtree_create_intspan() => SafeExecution(() => MEOSExternalFunctions.rtree_create_intspan()); @@ -65,36 +71,45 @@ public static IntPtr rtree_create_stbox() public static void rtree_free(IntPtr rtree) => SafeExecution(() => MEOSExternalFunctions.rtree_free(rtree)); - public static void rtree_insert(IntPtr rtree, IntPtr box, long id) + public static void rtree_insert(IntPtr rtree, IntPtr box, int id) => SafeExecution(() => MEOSExternalFunctions.rtree_insert(rtree, box, id)); - public static IntPtr rtree_search(IntPtr rtree, IntPtr query, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.rtree_search(rtree, query, count)); + public static void rtree_insert_temporal(IntPtr rtree, IntPtr temp, int id) + => SafeExecution(() => MEOSExternalFunctions.rtree_insert_temporal(rtree, temp, id)); - public static void meos_error(int errlevel, int errcode, string format) - => SafeExecution(() => MEOSExternalFunctions.meos_error(errlevel, errcode, format)); + public static void rtree_insert_temporal_split(IntPtr rtree, IntPtr temp, int id, int maxboxes) + => SafeExecution(() => MEOSExternalFunctions.rtree_insert_temporal_split(rtree, temp, id, maxboxes)); - public static int meos_errno() - => SafeExecution(() => MEOSExternalFunctions.meos_errno()); + public static int rtree_search(IntPtr rtree, IntPtr op, IntPtr query, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.rtree_search(rtree, op, query, result)); - public static int meos_errno_set(int err) - => SafeExecution(() => MEOSExternalFunctions.meos_errno_set(err)); + public static int rtree_search_temporal(IntPtr rtree, IntPtr op, IntPtr temp, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.rtree_search_temporal(rtree, op, temp, result)); - public static int meos_errno_restore(int err) - => SafeExecution(() => MEOSExternalFunctions.meos_errno_restore(err)); + public static int rtree_search_temporal_dedup(IntPtr rtree, IntPtr op, IntPtr temp, int maxboxes, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.rtree_search_temporal_dedup(rtree, op, temp, maxboxes, result)); - public static int meos_errno_reset() - => SafeExecution(() => MEOSExternalFunctions.meos_errno_reset()); + public static void meos_initialize_error_handler(IntPtr err_handler) + => SafeExecution(() => MEOSExternalFunctions.meos_initialize_error_handler(err_handler)); + + public static void meos_initialize_allocator(IntPtr malloc_fn, IntPtr realloc_fn, IntPtr free_fn) + => SafeExecution(() => MEOSExternalFunctions.meos_initialize_allocator(malloc_fn, realloc_fn, free_fn)); + + public static void meos_initialize_noexit_error_handler() + => SafeExecution(() => MEOSExternalFunctions.meos_initialize_noexit_error_handler()); public static void meos_initialize_timezone(string name) => SafeExecution(() => MEOSExternalFunctions.meos_initialize_timezone(name)); - public static void meos_initialize_error_handler(IntPtr err_handler) - => SafeExecution(() => MEOSExternalFunctions.meos_initialize_error_handler(err_handler)); + public static void meos_initialize_collation() + => SafeExecution(() => MEOSExternalFunctions.meos_initialize_collation()); public static void meos_finalize_timezone() => SafeExecution(() => MEOSExternalFunctions.meos_finalize_timezone()); + public static void meos_finalize_collation() + => SafeExecution(() => MEOSExternalFunctions.meos_finalize_collation()); + public static void meos_finalize_projsrs() => SafeExecution(() => MEOSExternalFunctions.meos_finalize_projsrs()); @@ -116,145 +131,22 @@ public static string meos_get_intervalstyle() public static void meos_set_spatial_ref_sys_csv(string path) => SafeExecution(() => MEOSExternalFunctions.meos_set_spatial_ref_sys_csv(path)); + public static void meos_set_ways_csv(string path) + => SafeExecution(() => MEOSExternalFunctions.meos_set_ways_csv(path)); + public static void meos_initialize() => SafeExecution(() => MEOSExternalFunctions.meos_initialize()); public static void meos_finalize() => SafeExecution(() => MEOSExternalFunctions.meos_finalize()); - public static int add_date_int(int d, int days) - => SafeExecution(() => MEOSExternalFunctions.add_date_int(d, days)); - - public static IntPtr add_interval_interval(IntPtr interv1, IntPtr interv2) - => SafeExecution(() => MEOSExternalFunctions.add_interval_interval(interv1, interv2)); - - public static long add_timestamptz_interval(long t, IntPtr interv) - => SafeExecution(() => MEOSExternalFunctions.add_timestamptz_interval(t, interv)); - - public static bool bool_in(string str) - => SafeExecution(() => MEOSExternalFunctions.bool_in(str)); - - public static string bool_out(bool b) - => SafeExecution(() => MEOSExternalFunctions.bool_out(b)); - - public static IntPtr cstring2text(string str) - => SafeExecution(() => MEOSExternalFunctions.cstring2text(str)); - - public static long date_to_timestamp(int dateVal) - => SafeExecution(() => MEOSExternalFunctions.date_to_timestamp(dateVal)); - - public static long date_to_timestamptz(int d) - => SafeExecution(() => MEOSExternalFunctions.date_to_timestamptz(d)); - - public static double float_exp(double d) - => SafeExecution(() => MEOSExternalFunctions.float_exp(d)); - - public static double float_ln(double d) - => SafeExecution(() => MEOSExternalFunctions.float_ln(d)); - - public static double float_log10(double d) - => SafeExecution(() => MEOSExternalFunctions.float_log10(d)); - - public static string float8_out(double d, int maxdd) - => SafeExecution(() => MEOSExternalFunctions.float8_out(d, maxdd)); - - public static double float_round(double d, int maxdd) - => SafeExecution(() => MEOSExternalFunctions.float_round(d, maxdd)); - - public static int int32_cmp(int l, int r) - => SafeExecution(() => MEOSExternalFunctions.int32_cmp(l, r)); - - public static int int64_cmp(long l, long r) - => SafeExecution(() => MEOSExternalFunctions.int64_cmp(l, r)); - - public static IntPtr interval_make(int years, int months, int weeks, int days, int hours, int mins, double secs) - => SafeExecution(() => MEOSExternalFunctions.interval_make(years, months, weeks, days, hours, mins, secs)); - - public static int minus_date_date(int d1, int d2) - => SafeExecution(() => MEOSExternalFunctions.minus_date_date(d1, d2)); - - public static int minus_date_int(int d, int days) - => SafeExecution(() => MEOSExternalFunctions.minus_date_int(d, days)); - - public static long minus_timestamptz_interval(long t, IntPtr interv) - => SafeExecution(() => MEOSExternalFunctions.minus_timestamptz_interval(t, interv)); - - public static IntPtr minus_timestamptz_timestamptz(long t1, long t2) - => SafeExecution(() => MEOSExternalFunctions.minus_timestamptz_timestamptz(t1, t2)); - - public static IntPtr mul_interval_double(IntPtr interv, double factor) - => SafeExecution(() => MEOSExternalFunctions.mul_interval_double(interv, factor)); - - public static int pg_date_in(string str) - => SafeExecution(() => MEOSExternalFunctions.pg_date_in(str)); - - public static string pg_date_out(int d) - => SafeExecution(() => MEOSExternalFunctions.pg_date_out(d)); - - public static int pg_interval_cmp(IntPtr interv1, IntPtr interv2) - => SafeExecution(() => MEOSExternalFunctions.pg_interval_cmp(interv1, interv2)); - - public static IntPtr pg_interval_in(string str, int typmod) - => SafeExecution(() => MEOSExternalFunctions.pg_interval_in(str, typmod)); - - public static string pg_interval_out(IntPtr interv) - => SafeExecution(() => MEOSExternalFunctions.pg_interval_out(interv)); - - public static long pg_timestamp_in(string str, int typmod) - => SafeExecution(() => MEOSExternalFunctions.pg_timestamp_in(str, typmod)); - - public static string pg_timestamp_out(long t) - => SafeExecution(() => MEOSExternalFunctions.pg_timestamp_out(t)); - - public static long pg_timestamptz_in(string str, int typmod) - => SafeExecution(() => MEOSExternalFunctions.pg_timestamptz_in(str, typmod)); - - public static string pg_timestamptz_out(long t) - => SafeExecution(() => MEOSExternalFunctions.pg_timestamptz_out(t)); - - public static string text2cstring(IntPtr txt) - => SafeExecution(() => MEOSExternalFunctions.text2cstring(txt)); - - public static int text_cmp(IntPtr txt1, IntPtr txt2) - => SafeExecution(() => MEOSExternalFunctions.text_cmp(txt1, txt2)); - - public static IntPtr text_copy(IntPtr txt) - => SafeExecution(() => MEOSExternalFunctions.text_copy(txt)); - - public static IntPtr text_in(string str) - => SafeExecution(() => MEOSExternalFunctions.text_in(str)); - - public static IntPtr text_initcap(IntPtr txt) - => SafeExecution(() => MEOSExternalFunctions.text_initcap(txt)); - - public static IntPtr text_lower(IntPtr txt) - => SafeExecution(() => MEOSExternalFunctions.text_lower(txt)); - - public static string text_out(IntPtr txt) - => SafeExecution(() => MEOSExternalFunctions.text_out(txt)); - - public static IntPtr text_upper(IntPtr txt) - => SafeExecution(() => MEOSExternalFunctions.text_upper(txt)); - - public static IntPtr textcat_text_text(IntPtr txt1, IntPtr txt2) - => SafeExecution(() => MEOSExternalFunctions.textcat_text_text(txt1, txt2)); - - public static long timestamptz_shift(long t, IntPtr interv) - => SafeExecution(() => MEOSExternalFunctions.timestamptz_shift(t, interv)); - - public static int timestamp_to_date(long t) - => SafeExecution(() => MEOSExternalFunctions.timestamp_to_date(t)); - - public static int timestamptz_to_date(long t) - => SafeExecution(() => MEOSExternalFunctions.timestamptz_to_date(t)); - public static IntPtr bigintset_in(string str) => SafeExecution(() => MEOSExternalFunctions.bigintset_in(str)); public static string bigintset_out(IntPtr set) => SafeExecution(() => MEOSExternalFunctions.bigintset_out(set)); - public static IntPtr bigintspan_expand(IntPtr s, long value) + public static IntPtr bigintspan_expand(IntPtr s, IntPtr value) => SafeExecution(() => MEOSExternalFunctions.bigintspan_expand(s, value)); public static IntPtr bigintspan_in(string str) @@ -392,7 +284,7 @@ public static string tstzspanset_out(IntPtr ss) public static IntPtr bigintset_make(IntPtr values, int count) => SafeExecution(() => MEOSExternalFunctions.bigintset_make(values, count)); - public static IntPtr bigintspan_make(long lower, long upper, bool lower_inc, bool upper_inc) + public static IntPtr bigintspan_make(IntPtr lower, IntPtr upper, bool lower_inc, bool upper_inc) => SafeExecution(() => MEOSExternalFunctions.bigintspan_make(lower, upper, lower_inc, upper_inc)); public static IntPtr dateset_make(IntPtr values, int count) @@ -434,7 +326,7 @@ public static IntPtr tstzset_make(IntPtr values, int count) public static IntPtr tstzspan_make(long lower, long upper, bool lower_inc, bool upper_inc) => SafeExecution(() => MEOSExternalFunctions.tstzspan_make(lower, upper, lower_inc, upper_inc)); - public static IntPtr bigint_to_set(long i) + public static IntPtr bigint_to_set(IntPtr i) => SafeExecution(() => MEOSExternalFunctions.bigint_to_set(i)); public static IntPtr bigint_to_span(int i) @@ -476,6 +368,9 @@ public static IntPtr floatset_to_intset(IntPtr s) public static IntPtr floatspan_to_intspan(IntPtr s) => SafeExecution(() => MEOSExternalFunctions.floatspan_to_intspan(s)); + public static IntPtr floatspan_to_bigintspan(IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.floatspan_to_bigintspan(s)); + public static IntPtr floatspanset_to_intspanset(IntPtr ss) => SafeExecution(() => MEOSExternalFunctions.floatspanset_to_intspanset(ss)); @@ -494,6 +389,15 @@ public static IntPtr intset_to_floatset(IntPtr s) public static IntPtr intspan_to_floatspan(IntPtr s) => SafeExecution(() => MEOSExternalFunctions.intspan_to_floatspan(s)); + public static IntPtr intspan_to_bigintspan(IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.intspan_to_bigintspan(s)); + + public static IntPtr bigintspan_to_intspan(IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.bigintspan_to_intspan(s)); + + public static IntPtr bigintspan_to_floatspan(IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.bigintspan_to_floatspan(s)); + public static IntPtr intspanset_to_floatspanset(IntPtr ss) => SafeExecution(() => MEOSExternalFunctions.intspanset_to_floatspanset(ss)); @@ -527,41 +431,47 @@ public static IntPtr tstzspan_to_datespan(IntPtr s) public static IntPtr tstzspanset_to_datespanset(IntPtr ss) => SafeExecution(() => MEOSExternalFunctions.tstzspanset_to_datespanset(ss)); - public static long bigintset_end_value(IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.bigintset_end_value(s)); + public static IntPtr bigintset_end_value(IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.bigintset_end_value(s)); - public static long bigintset_start_value(IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.bigintset_start_value(s)); + public static IntPtr bigintset_start_value(IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.bigintset_start_value(s)); public static bool bigintset_value_n(IntPtr s, int n, IntPtr result) => SafeExecution(() => MEOSExternalFunctions.bigintset_value_n(s, n, result)); - public static long[] bigintset_values(IntPtr s) + public static IntPtr[] bigintset_values(IntPtr s) { - int _n = (int)MEOSExposedFunctions.set_num_values(s); - IntPtr _p = SafeExecution(() => MEOSExternalFunctions.bigintset_values(s)); - long[] _out = new long[_n]; - Marshal.Copy(_p, _out, 0, _n); - return _out; + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.bigintset_values(s, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } } - public static long bigintspan_lower(IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.bigintspan_lower(s)); + public static IntPtr bigintspan_lower(IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.bigintspan_lower(s)); - public static long bigintspan_upper(IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.bigintspan_upper(s)); + public static IntPtr bigintspan_upper(IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.bigintspan_upper(s)); - public static long bigintspan_width(IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.bigintspan_width(s)); + public static IntPtr bigintspan_width(IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.bigintspan_width(s)); - public static long bigintspanset_lower(IntPtr ss) - => SafeExecution(() => MEOSExternalFunctions.bigintspanset_lower(ss)); + public static IntPtr bigintspanset_lower(IntPtr ss) + => SafeExecution(() => MEOSExternalFunctions.bigintspanset_lower(ss)); - public static long bigintspanset_upper(IntPtr ss) - => SafeExecution(() => MEOSExternalFunctions.bigintspanset_upper(ss)); + public static IntPtr bigintspanset_upper(IntPtr ss) + => SafeExecution(() => MEOSExternalFunctions.bigintspanset_upper(ss)); - public static long bigintspanset_width(IntPtr ss, bool boundspan) - => SafeExecution(() => MEOSExternalFunctions.bigintspanset_width(ss, boundspan)); + public static IntPtr bigintspanset_width(IntPtr ss, bool boundspan) + => SafeExecution(() => MEOSExternalFunctions.bigintspanset_width(ss, boundspan)); public static int dateset_end_value(IntPtr s) => SafeExecution(() => MEOSExternalFunctions.dateset_end_value(s)); @@ -574,11 +484,16 @@ public static bool dateset_value_n(IntPtr s, int n, IntPtr result) public static int[] dateset_values(IntPtr s) { - int _n = (int)MEOSExposedFunctions.set_num_values(s); - IntPtr _p = SafeExecution(() => MEOSExternalFunctions.dateset_values(s)); - int[] _out = new int[_n]; - Marshal.Copy(_p, _out, 0, _n); - return _out; + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.dateset_values(s, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + int[] _out = new int[_n]; + Marshal.Copy(_p, _out, 0, _n); + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } } public static IntPtr datespan_duration(IntPtr s) @@ -619,11 +534,16 @@ public static bool floatset_value_n(IntPtr s, int n, IntPtr result) public static double[] floatset_values(IntPtr s) { - int _n = (int)MEOSExposedFunctions.set_num_values(s); - IntPtr _p = SafeExecution(() => MEOSExternalFunctions.floatset_values(s)); - double[] _out = new double[_n]; - Marshal.Copy(_p, _out, 0, _n); - return _out; + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.floatset_values(s, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + double[] _out = new double[_n]; + Marshal.Copy(_p, _out, 0, _n); + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } } public static double floatspan_lower(IntPtr s) @@ -655,11 +575,16 @@ public static bool intset_value_n(IntPtr s, int n, IntPtr result) public static int[] intset_values(IntPtr s) { - int _n = (int)MEOSExposedFunctions.set_num_values(s); - IntPtr _p = SafeExecution(() => MEOSExternalFunctions.intset_values(s)); - int[] _out = new int[_n]; - Marshal.Copy(_p, _out, 0, _n); - return _out; + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.intset_values(s, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + int[] _out = new int[_n]; + Marshal.Copy(_p, _out, 0, _n); + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } } public static int intspan_lower(IntPtr s) @@ -680,20 +605,20 @@ public static int intspanset_upper(IntPtr ss) public static int intspanset_width(IntPtr ss, bool boundspan) => SafeExecution(() => MEOSExternalFunctions.intspanset_width(ss, boundspan)); - public static uint set_hash(IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.set_hash(s)); + public static int set_hash(IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.set_hash(s)); - public static ulong set_hash_extended(IntPtr s, ulong seed) - => SafeExecution(() => MEOSExternalFunctions.set_hash_extended(s, seed)); + public static IntPtr set_hash_extended(IntPtr s, IntPtr seed) + => SafeExecution(() => MEOSExternalFunctions.set_hash_extended(s, seed)); public static int set_num_values(IntPtr s) => SafeExecution(() => MEOSExternalFunctions.set_num_values(s)); - public static uint span_hash(IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.span_hash(s)); + public static int span_hash(IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.span_hash(s)); - public static ulong span_hash_extended(IntPtr s, ulong seed) - => SafeExecution(() => MEOSExternalFunctions.span_hash_extended(s, seed)); + public static IntPtr span_hash_extended(IntPtr s, IntPtr seed) + => SafeExecution(() => MEOSExternalFunctions.span_hash_extended(s, seed)); public static bool span_lower_inc(IntPtr s) => SafeExecution(() => MEOSExternalFunctions.span_lower_inc(s)); @@ -704,11 +629,11 @@ public static bool span_upper_inc(IntPtr s) public static IntPtr spanset_end_span(IntPtr ss) => SafeExecution(() => MEOSExternalFunctions.spanset_end_span(ss)); - public static uint spanset_hash(IntPtr ss) - => SafeExecution(() => MEOSExternalFunctions.spanset_hash(ss)); + public static int spanset_hash(IntPtr ss) + => SafeExecution(() => MEOSExternalFunctions.spanset_hash(ss)); - public static ulong spanset_hash_extended(IntPtr ss, ulong seed) - => SafeExecution(() => MEOSExternalFunctions.spanset_hash_extended(ss, seed)); + public static IntPtr spanset_hash_extended(IntPtr ss, IntPtr seed) + => SafeExecution(() => MEOSExternalFunctions.spanset_hash_extended(ss, seed)); public static bool spanset_lower_inc(IntPtr ss) => SafeExecution(() => MEOSExternalFunctions.spanset_lower_inc(ss)); @@ -724,12 +649,17 @@ public static IntPtr spanset_span_n(IntPtr ss, int i) public static IntPtr[] spanset_spanarr(IntPtr ss) { - int _n = (int)MEOSExposedFunctions.spanset_num_spans(ss); - IntPtr _p = SafeExecution(() => MEOSExternalFunctions.spanset_spanarr(ss)); - IntPtr[] _out = new IntPtr[_n]; - for (int _i = 0; _i < _n; _i++) - { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } - return _out; + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.spanset_spanarr(ss, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } } public static IntPtr spanset_start_span(IntPtr ss) @@ -749,12 +679,17 @@ public static bool textset_value_n(IntPtr s, int n, IntPtr result) public static IntPtr[] textset_values(IntPtr s) { - int _n = (int)MEOSExposedFunctions.set_num_values(s); - IntPtr _p = SafeExecution(() => MEOSExternalFunctions.textset_values(s)); - IntPtr[] _out = new IntPtr[_n]; - for (int _i = 0; _i < _n; _i++) - { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } - return _out; + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.textset_values(s, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } } public static long tstzset_end_value(IntPtr s) @@ -768,11 +703,16 @@ public static bool tstzset_value_n(IntPtr s, int n, IntPtr result) public static long[] tstzset_values(IntPtr s) { - int _n = (int)MEOSExposedFunctions.set_num_values(s); - IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tstzset_values(s)); - long[] _out = new long[_n]; - Marshal.Copy(_p, _out, 0, _n); - return _out; + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tstzset_values(s, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + long[] _out = new long[_n]; + Marshal.Copy(_p, _out, 0, _n); + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } } public static IntPtr tstzspan_duration(IntPtr s) @@ -808,13 +748,13 @@ public static bool tstzspanset_timestamptz_n(IntPtr ss, int n, IntPtr result) public static long tstzspanset_upper(IntPtr ss) => SafeExecution(() => MEOSExternalFunctions.tstzspanset_upper(ss)); - public static IntPtr bigintset_shift_scale(IntPtr s, long shift, long width, bool hasshift, bool haswidth) + public static IntPtr bigintset_shift_scale(IntPtr s, IntPtr shift, IntPtr width, bool hasshift, bool haswidth) => SafeExecution(() => MEOSExternalFunctions.bigintset_shift_scale(s, shift, width, hasshift, haswidth)); - public static IntPtr bigintspan_shift_scale(IntPtr s, long shift, long width, bool hasshift, bool haswidth) + public static IntPtr bigintspan_shift_scale(IntPtr s, IntPtr shift, IntPtr width, bool hasshift, bool haswidth) => SafeExecution(() => MEOSExternalFunctions.bigintspan_shift_scale(s, shift, width, hasshift, haswidth)); - public static IntPtr bigintspanset_shift_scale(IntPtr ss, long shift, long width, bool hasshift, bool haswidth) + public static IntPtr bigintspanset_shift_scale(IntPtr ss, IntPtr shift, IntPtr width, bool hasshift, bool haswidth) => SafeExecution(() => MEOSExternalFunctions.bigintspanset_shift_scale(ss, shift, width, hasshift, haswidth)); public static IntPtr dateset_shift_scale(IntPtr s, int shift, int width, bool hasshift, bool haswidth) @@ -991,25 +931,97 @@ public static bool spanset_lt(IntPtr ss1, IntPtr ss2) public static bool spanset_ne(IntPtr ss1, IntPtr ss2) => SafeExecution(() => MEOSExternalFunctions.spanset_ne(ss1, ss2)); - public static IntPtr set_spans(IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.set_spans(s)); + public static IntPtr[] set_spans(IntPtr s) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.set_spans(s, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } - public static IntPtr set_split_each_n_spans(IntPtr s, int elems_per_span, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.set_split_each_n_spans(s, elems_per_span, count)); + public static IntPtr[] set_split_each_n_spans(IntPtr s, int elems_per_span) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.set_split_each_n_spans(s, elems_per_span, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } - public static IntPtr set_split_n_spans(IntPtr s, int span_count, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.set_split_n_spans(s, span_count, count)); + public static IntPtr[] set_split_n_spans(IntPtr s, int span_count) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.set_split_n_spans(s, span_count, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } - public static IntPtr spanset_spans(IntPtr ss) - => SafeExecution(() => MEOSExternalFunctions.spanset_spans(ss)); + public static IntPtr[] spanset_spans(IntPtr ss) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.spanset_spans(ss, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } - public static IntPtr spanset_split_each_n_spans(IntPtr ss, int elems_per_span, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.spanset_split_each_n_spans(ss, elems_per_span, count)); + public static IntPtr[] spanset_split_each_n_spans(IntPtr ss, int elems_per_span) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.spanset_split_each_n_spans(ss, elems_per_span, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } - public static IntPtr spanset_split_n_spans(IntPtr ss, int span_count, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.spanset_split_n_spans(ss, span_count, count)); + public static IntPtr[] spanset_split_n_spans(IntPtr ss, int span_count) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.spanset_split_n_spans(ss, span_count, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } - public static bool adjacent_span_bigint(IntPtr s, long i) + public static bool adjacent_span_bigint(IntPtr s, IntPtr i) => SafeExecution(() => MEOSExternalFunctions.adjacent_span_bigint(s, i)); public static bool adjacent_span_date(IntPtr s, int d) @@ -1030,7 +1042,7 @@ public static bool adjacent_span_spanset(IntPtr s, IntPtr ss) public static bool adjacent_span_timestamptz(IntPtr s, long t) => SafeExecution(() => MEOSExternalFunctions.adjacent_span_timestamptz(s, t)); - public static bool adjacent_spanset_bigint(IntPtr ss, long i) + public static bool adjacent_spanset_bigint(IntPtr ss, IntPtr i) => SafeExecution(() => MEOSExternalFunctions.adjacent_spanset_bigint(ss, i)); public static bool adjacent_spanset_date(IntPtr ss, int d) @@ -1051,13 +1063,13 @@ public static bool adjacent_spanset_span(IntPtr ss, IntPtr s) public static bool adjacent_spanset_spanset(IntPtr ss1, IntPtr ss2) => SafeExecution(() => MEOSExternalFunctions.adjacent_spanset_spanset(ss1, ss2)); - public static bool contained_bigint_set(long i, IntPtr s) + public static bool contained_bigint_set(IntPtr i, IntPtr s) => SafeExecution(() => MEOSExternalFunctions.contained_bigint_set(i, s)); - public static bool contained_bigint_span(long i, IntPtr s) + public static bool contained_bigint_span(IntPtr i, IntPtr s) => SafeExecution(() => MEOSExternalFunctions.contained_bigint_span(i, s)); - public static bool contained_bigint_spanset(long i, IntPtr ss) + public static bool contained_bigint_spanset(IntPtr i, IntPtr ss) => SafeExecution(() => MEOSExternalFunctions.contained_bigint_spanset(i, ss)); public static bool contained_date_set(int d, IntPtr s) @@ -1114,7 +1126,7 @@ public static bool contained_timestamptz_span(long t, IntPtr s) public static bool contained_timestamptz_spanset(long t, IntPtr ss) => SafeExecution(() => MEOSExternalFunctions.contained_timestamptz_spanset(t, ss)); - public static bool contains_set_bigint(IntPtr s, long i) + public static bool contains_set_bigint(IntPtr s, IntPtr i) => SafeExecution(() => MEOSExternalFunctions.contains_set_bigint(s, i)); public static bool contains_set_date(IntPtr s, int d) @@ -1135,7 +1147,7 @@ public static bool contains_set_text(IntPtr s, IntPtr t) public static bool contains_set_timestamptz(IntPtr s, long t) => SafeExecution(() => MEOSExternalFunctions.contains_set_timestamptz(s, t)); - public static bool contains_span_bigint(IntPtr s, long i) + public static bool contains_span_bigint(IntPtr s, IntPtr i) => SafeExecution(() => MEOSExternalFunctions.contains_span_bigint(s, i)); public static bool contains_span_date(IntPtr s, int d) @@ -1156,7 +1168,7 @@ public static bool contains_span_spanset(IntPtr s, IntPtr ss) public static bool contains_span_timestamptz(IntPtr s, long t) => SafeExecution(() => MEOSExternalFunctions.contains_span_timestamptz(s, t)); - public static bool contains_spanset_bigint(IntPtr ss, long i) + public static bool contains_spanset_bigint(IntPtr ss, IntPtr i) => SafeExecution(() => MEOSExternalFunctions.contains_spanset_bigint(ss, i)); public static bool contains_spanset_date(IntPtr ss, int d) @@ -1192,6 +1204,9 @@ public static bool overlaps_spanset_span(IntPtr ss, IntPtr s) public static bool overlaps_spanset_spanset(IntPtr ss1, IntPtr ss2) => SafeExecution(() => MEOSExternalFunctions.overlaps_spanset_spanset(ss1, ss2)); + public static bool same_span_span(IntPtr s1, IntPtr s2) + => SafeExecution(() => MEOSExternalFunctions.same_span_span(s1, s2)); + public static bool after_date_set(int d, IntPtr s) => SafeExecution(() => MEOSExternalFunctions.after_date_set(d, s)); @@ -1264,13 +1279,13 @@ public static bool before_timestamptz_span(long t, IntPtr s) public static bool before_timestamptz_spanset(long t, IntPtr ss) => SafeExecution(() => MEOSExternalFunctions.before_timestamptz_spanset(t, ss)); - public static bool left_bigint_set(long i, IntPtr s) + public static bool left_bigint_set(IntPtr i, IntPtr s) => SafeExecution(() => MEOSExternalFunctions.left_bigint_set(i, s)); - public static bool left_bigint_span(long i, IntPtr s) + public static bool left_bigint_span(IntPtr i, IntPtr s) => SafeExecution(() => MEOSExternalFunctions.left_bigint_span(i, s)); - public static bool left_bigint_spanset(long i, IntPtr ss) + public static bool left_bigint_spanset(IntPtr i, IntPtr ss) => SafeExecution(() => MEOSExternalFunctions.left_bigint_spanset(i, ss)); public static bool left_float_set(double d, IntPtr s) @@ -1291,7 +1306,7 @@ public static bool left_int_span(int i, IntPtr s) public static bool left_int_spanset(int i, IntPtr ss) => SafeExecution(() => MEOSExternalFunctions.left_int_spanset(i, ss)); - public static bool left_set_bigint(IntPtr s, long i) + public static bool left_set_bigint(IntPtr s, IntPtr i) => SafeExecution(() => MEOSExternalFunctions.left_set_bigint(s, i)); public static bool left_set_float(IntPtr s, double d) @@ -1306,7 +1321,7 @@ public static bool left_set_set(IntPtr s1, IntPtr s2) public static bool left_set_text(IntPtr s, IntPtr txt) => SafeExecution(() => MEOSExternalFunctions.left_set_text(s, txt)); - public static bool left_span_bigint(IntPtr s, long i) + public static bool left_span_bigint(IntPtr s, IntPtr i) => SafeExecution(() => MEOSExternalFunctions.left_span_bigint(s, i)); public static bool left_span_float(IntPtr s, double d) @@ -1321,7 +1336,7 @@ public static bool left_span_span(IntPtr s1, IntPtr s2) public static bool left_span_spanset(IntPtr s, IntPtr ss) => SafeExecution(() => MEOSExternalFunctions.left_span_spanset(s, ss)); - public static bool left_spanset_bigint(IntPtr ss, long i) + public static bool left_spanset_bigint(IntPtr ss, IntPtr i) => SafeExecution(() => MEOSExternalFunctions.left_spanset_bigint(ss, i)); public static bool left_spanset_float(IntPtr ss, double d) @@ -1411,13 +1426,13 @@ public static bool overbefore_timestamptz_span(long t, IntPtr s) public static bool overbefore_timestamptz_spanset(long t, IntPtr ss) => SafeExecution(() => MEOSExternalFunctions.overbefore_timestamptz_spanset(t, ss)); - public static bool overleft_bigint_set(long i, IntPtr s) + public static bool overleft_bigint_set(IntPtr i, IntPtr s) => SafeExecution(() => MEOSExternalFunctions.overleft_bigint_set(i, s)); - public static bool overleft_bigint_span(long i, IntPtr s) + public static bool overleft_bigint_span(IntPtr i, IntPtr s) => SafeExecution(() => MEOSExternalFunctions.overleft_bigint_span(i, s)); - public static bool overleft_bigint_spanset(long i, IntPtr ss) + public static bool overleft_bigint_spanset(IntPtr i, IntPtr ss) => SafeExecution(() => MEOSExternalFunctions.overleft_bigint_spanset(i, ss)); public static bool overleft_float_set(double d, IntPtr s) @@ -1438,7 +1453,7 @@ public static bool overleft_int_span(int i, IntPtr s) public static bool overleft_int_spanset(int i, IntPtr ss) => SafeExecution(() => MEOSExternalFunctions.overleft_int_spanset(i, ss)); - public static bool overleft_set_bigint(IntPtr s, long i) + public static bool overleft_set_bigint(IntPtr s, IntPtr i) => SafeExecution(() => MEOSExternalFunctions.overleft_set_bigint(s, i)); public static bool overleft_set_float(IntPtr s, double d) @@ -1453,7 +1468,7 @@ public static bool overleft_set_set(IntPtr s1, IntPtr s2) public static bool overleft_set_text(IntPtr s, IntPtr txt) => SafeExecution(() => MEOSExternalFunctions.overleft_set_text(s, txt)); - public static bool overleft_span_bigint(IntPtr s, long i) + public static bool overleft_span_bigint(IntPtr s, IntPtr i) => SafeExecution(() => MEOSExternalFunctions.overleft_span_bigint(s, i)); public static bool overleft_span_float(IntPtr s, double d) @@ -1468,7 +1483,7 @@ public static bool overleft_span_span(IntPtr s1, IntPtr s2) public static bool overleft_span_spanset(IntPtr s, IntPtr ss) => SafeExecution(() => MEOSExternalFunctions.overleft_span_spanset(s, ss)); - public static bool overleft_spanset_bigint(IntPtr ss, long i) + public static bool overleft_spanset_bigint(IntPtr ss, IntPtr i) => SafeExecution(() => MEOSExternalFunctions.overleft_spanset_bigint(ss, i)); public static bool overleft_spanset_float(IntPtr ss, double d) @@ -1486,13 +1501,13 @@ public static bool overleft_spanset_spanset(IntPtr ss1, IntPtr ss2) public static bool overleft_text_set(IntPtr txt, IntPtr s) => SafeExecution(() => MEOSExternalFunctions.overleft_text_set(txt, s)); - public static bool overright_bigint_set(long i, IntPtr s) + public static bool overright_bigint_set(IntPtr i, IntPtr s) => SafeExecution(() => MEOSExternalFunctions.overright_bigint_set(i, s)); - public static bool overright_bigint_span(long i, IntPtr s) + public static bool overright_bigint_span(IntPtr i, IntPtr s) => SafeExecution(() => MEOSExternalFunctions.overright_bigint_span(i, s)); - public static bool overright_bigint_spanset(long i, IntPtr ss) + public static bool overright_bigint_spanset(IntPtr i, IntPtr ss) => SafeExecution(() => MEOSExternalFunctions.overright_bigint_spanset(i, ss)); public static bool overright_float_set(double d, IntPtr s) @@ -1513,7 +1528,7 @@ public static bool overright_int_span(int i, IntPtr s) public static bool overright_int_spanset(int i, IntPtr ss) => SafeExecution(() => MEOSExternalFunctions.overright_int_spanset(i, ss)); - public static bool overright_set_bigint(IntPtr s, long i) + public static bool overright_set_bigint(IntPtr s, IntPtr i) => SafeExecution(() => MEOSExternalFunctions.overright_set_bigint(s, i)); public static bool overright_set_float(IntPtr s, double d) @@ -1528,7 +1543,7 @@ public static bool overright_set_set(IntPtr s1, IntPtr s2) public static bool overright_set_text(IntPtr s, IntPtr txt) => SafeExecution(() => MEOSExternalFunctions.overright_set_text(s, txt)); - public static bool overright_span_bigint(IntPtr s, long i) + public static bool overright_span_bigint(IntPtr s, IntPtr i) => SafeExecution(() => MEOSExternalFunctions.overright_span_bigint(s, i)); public static bool overright_span_float(IntPtr s, double d) @@ -1543,7 +1558,7 @@ public static bool overright_span_span(IntPtr s1, IntPtr s2) public static bool overright_span_spanset(IntPtr s, IntPtr ss) => SafeExecution(() => MEOSExternalFunctions.overright_span_spanset(s, ss)); - public static bool overright_spanset_bigint(IntPtr ss, long i) + public static bool overright_spanset_bigint(IntPtr ss, IntPtr i) => SafeExecution(() => MEOSExternalFunctions.overright_spanset_bigint(ss, i)); public static bool overright_spanset_float(IntPtr ss, double d) @@ -1561,13 +1576,13 @@ public static bool overright_spanset_spanset(IntPtr ss1, IntPtr ss2) public static bool overright_text_set(IntPtr txt, IntPtr s) => SafeExecution(() => MEOSExternalFunctions.overright_text_set(txt, s)); - public static bool right_bigint_set(long i, IntPtr s) + public static bool right_bigint_set(IntPtr i, IntPtr s) => SafeExecution(() => MEOSExternalFunctions.right_bigint_set(i, s)); - public static bool right_bigint_span(long i, IntPtr s) + public static bool right_bigint_span(IntPtr i, IntPtr s) => SafeExecution(() => MEOSExternalFunctions.right_bigint_span(i, s)); - public static bool right_bigint_spanset(long i, IntPtr ss) + public static bool right_bigint_spanset(IntPtr i, IntPtr ss) => SafeExecution(() => MEOSExternalFunctions.right_bigint_spanset(i, ss)); public static bool right_float_set(double d, IntPtr s) @@ -1588,7 +1603,7 @@ public static bool right_int_span(int i, IntPtr s) public static bool right_int_spanset(int i, IntPtr ss) => SafeExecution(() => MEOSExternalFunctions.right_int_spanset(i, ss)); - public static bool right_set_bigint(IntPtr s, long i) + public static bool right_set_bigint(IntPtr s, IntPtr i) => SafeExecution(() => MEOSExternalFunctions.right_set_bigint(s, i)); public static bool right_set_float(IntPtr s, double d) @@ -1603,7 +1618,7 @@ public static bool right_set_set(IntPtr s1, IntPtr s2) public static bool right_set_text(IntPtr s, IntPtr txt) => SafeExecution(() => MEOSExternalFunctions.right_set_text(s, txt)); - public static bool right_span_bigint(IntPtr s, long i) + public static bool right_span_bigint(IntPtr s, IntPtr i) => SafeExecution(() => MEOSExternalFunctions.right_span_bigint(s, i)); public static bool right_span_float(IntPtr s, double d) @@ -1618,7 +1633,7 @@ public static bool right_span_span(IntPtr s1, IntPtr s2) public static bool right_span_spanset(IntPtr s, IntPtr ss) => SafeExecution(() => MEOSExternalFunctions.right_span_spanset(s, ss)); - public static bool right_spanset_bigint(IntPtr ss, long i) + public static bool right_spanset_bigint(IntPtr ss, IntPtr i) => SafeExecution(() => MEOSExternalFunctions.right_spanset_bigint(ss, i)); public static bool right_spanset_float(IntPtr ss, double d) @@ -1636,7 +1651,7 @@ public static bool right_spanset_spanset(IntPtr ss1, IntPtr ss2) public static bool right_text_set(IntPtr txt, IntPtr s) => SafeExecution(() => MEOSExternalFunctions.right_text_set(txt, s)); - public static IntPtr intersection_bigint_set(long i, IntPtr s) + public static IntPtr intersection_bigint_set(IntPtr i, IntPtr s) => SafeExecution(() => MEOSExternalFunctions.intersection_bigint_set(i, s)); public static IntPtr intersection_date_set(int d, IntPtr s) @@ -1648,7 +1663,7 @@ public static IntPtr intersection_float_set(double d, IntPtr s) public static IntPtr intersection_int_set(int i, IntPtr s) => SafeExecution(() => MEOSExternalFunctions.intersection_int_set(i, s)); - public static IntPtr intersection_set_bigint(IntPtr s, long i) + public static IntPtr intersection_set_bigint(IntPtr s, IntPtr i) => SafeExecution(() => MEOSExternalFunctions.intersection_set_bigint(s, i)); public static IntPtr intersection_set_date(IntPtr s, int d) @@ -1669,7 +1684,7 @@ public static IntPtr intersection_set_text(IntPtr s, IntPtr txt) public static IntPtr intersection_set_timestamptz(IntPtr s, long t) => SafeExecution(() => MEOSExternalFunctions.intersection_set_timestamptz(s, t)); - public static IntPtr intersection_span_bigint(IntPtr s, long i) + public static IntPtr intersection_span_bigint(IntPtr s, IntPtr i) => SafeExecution(() => MEOSExternalFunctions.intersection_span_bigint(s, i)); public static IntPtr intersection_span_date(IntPtr s, int d) @@ -1690,7 +1705,7 @@ public static IntPtr intersection_span_spanset(IntPtr s, IntPtr ss) public static IntPtr intersection_span_timestamptz(IntPtr s, long t) => SafeExecution(() => MEOSExternalFunctions.intersection_span_timestamptz(s, t)); - public static IntPtr intersection_spanset_bigint(IntPtr ss, long i) + public static IntPtr intersection_spanset_bigint(IntPtr ss, IntPtr i) => SafeExecution(() => MEOSExternalFunctions.intersection_spanset_bigint(ss, i)); public static IntPtr intersection_spanset_date(IntPtr ss, int d) @@ -1717,13 +1732,13 @@ public static IntPtr intersection_text_set(IntPtr txt, IntPtr s) public static IntPtr intersection_timestamptz_set(long t, IntPtr s) => SafeExecution(() => MEOSExternalFunctions.intersection_timestamptz_set(t, s)); - public static IntPtr minus_bigint_set(long i, IntPtr s) + public static IntPtr minus_bigint_set(IntPtr i, IntPtr s) => SafeExecution(() => MEOSExternalFunctions.minus_bigint_set(i, s)); - public static IntPtr minus_bigint_span(long i, IntPtr s) + public static IntPtr minus_bigint_span(IntPtr i, IntPtr s) => SafeExecution(() => MEOSExternalFunctions.minus_bigint_span(i, s)); - public static IntPtr minus_bigint_spanset(long i, IntPtr ss) + public static IntPtr minus_bigint_spanset(IntPtr i, IntPtr ss) => SafeExecution(() => MEOSExternalFunctions.minus_bigint_spanset(i, ss)); public static IntPtr minus_date_set(int d, IntPtr s) @@ -1753,7 +1768,7 @@ public static IntPtr minus_int_span(int i, IntPtr s) public static IntPtr minus_int_spanset(int i, IntPtr ss) => SafeExecution(() => MEOSExternalFunctions.minus_int_spanset(i, ss)); - public static IntPtr minus_set_bigint(IntPtr s, long i) + public static IntPtr minus_set_bigint(IntPtr s, IntPtr i) => SafeExecution(() => MEOSExternalFunctions.minus_set_bigint(s, i)); public static IntPtr minus_set_date(IntPtr s, int d) @@ -1774,7 +1789,7 @@ public static IntPtr minus_set_text(IntPtr s, IntPtr txt) public static IntPtr minus_set_timestamptz(IntPtr s, long t) => SafeExecution(() => MEOSExternalFunctions.minus_set_timestamptz(s, t)); - public static IntPtr minus_span_bigint(IntPtr s, long i) + public static IntPtr minus_span_bigint(IntPtr s, IntPtr i) => SafeExecution(() => MEOSExternalFunctions.minus_span_bigint(s, i)); public static IntPtr minus_span_date(IntPtr s, int d) @@ -1795,7 +1810,7 @@ public static IntPtr minus_span_spanset(IntPtr s, IntPtr ss) public static IntPtr minus_span_timestamptz(IntPtr s, long t) => SafeExecution(() => MEOSExternalFunctions.minus_span_timestamptz(s, t)); - public static IntPtr minus_spanset_bigint(IntPtr ss, long i) + public static IntPtr minus_spanset_bigint(IntPtr ss, IntPtr i) => SafeExecution(() => MEOSExternalFunctions.minus_spanset_bigint(ss, i)); public static IntPtr minus_spanset_date(IntPtr ss, int d) @@ -1828,13 +1843,13 @@ public static IntPtr minus_timestamptz_span(long t, IntPtr s) public static IntPtr minus_timestamptz_spanset(long t, IntPtr ss) => SafeExecution(() => MEOSExternalFunctions.minus_timestamptz_spanset(t, ss)); - public static IntPtr union_bigint_set(long i, IntPtr s) + public static IntPtr union_bigint_set(IntPtr i, IntPtr s) => SafeExecution(() => MEOSExternalFunctions.union_bigint_set(i, s)); - public static IntPtr union_bigint_span(IntPtr s, long i) + public static IntPtr union_bigint_span(IntPtr s, IntPtr i) => SafeExecution(() => MEOSExternalFunctions.union_bigint_span(s, i)); - public static IntPtr union_bigint_spanset(long i, IntPtr ss) + public static IntPtr union_bigint_spanset(IntPtr i, IntPtr ss) => SafeExecution(() => MEOSExternalFunctions.union_bigint_spanset(i, ss)); public static IntPtr union_date_set(int d, IntPtr s) @@ -1864,7 +1879,7 @@ public static IntPtr union_int_span(int i, IntPtr s) public static IntPtr union_int_spanset(int i, IntPtr ss) => SafeExecution(() => MEOSExternalFunctions.union_int_spanset(i, ss)); - public static IntPtr union_set_bigint(IntPtr s, long i) + public static IntPtr union_set_bigint(IntPtr s, IntPtr i) => SafeExecution(() => MEOSExternalFunctions.union_set_bigint(s, i)); public static IntPtr union_set_date(IntPtr s, int d) @@ -1885,7 +1900,7 @@ public static IntPtr union_set_text(IntPtr s, IntPtr txt) public static IntPtr union_set_timestamptz(IntPtr s, long t) => SafeExecution(() => MEOSExternalFunctions.union_set_timestamptz(s, t)); - public static IntPtr union_span_bigint(IntPtr s, long i) + public static IntPtr union_span_bigint(IntPtr s, IntPtr i) => SafeExecution(() => MEOSExternalFunctions.union_span_bigint(s, i)); public static IntPtr union_span_date(IntPtr s, int d) @@ -1900,13 +1915,16 @@ public static IntPtr union_span_int(IntPtr s, int i) public static IntPtr union_span_span(IntPtr s1, IntPtr s2) => SafeExecution(() => MEOSExternalFunctions.union_span_span(s1, s2)); + public static IntPtr super_union_span_span(IntPtr s1, IntPtr s2) + => SafeExecution(() => MEOSExternalFunctions.super_union_span_span(s1, s2)); + public static IntPtr union_span_spanset(IntPtr s, IntPtr ss) => SafeExecution(() => MEOSExternalFunctions.union_span_spanset(s, ss)); public static IntPtr union_span_timestamptz(IntPtr s, long t) => SafeExecution(() => MEOSExternalFunctions.union_span_timestamptz(s, t)); - public static IntPtr union_spanset_bigint(IntPtr ss, long i) + public static IntPtr union_spanset_bigint(IntPtr ss, IntPtr i) => SafeExecution(() => MEOSExternalFunctions.union_spanset_bigint(ss, i)); public static IntPtr union_spanset_date(IntPtr ss, int d) @@ -1939,17 +1957,17 @@ public static IntPtr union_timestamptz_span(long t, IntPtr s) public static IntPtr union_timestamptz_spanset(long t, IntPtr ss) => SafeExecution(() => MEOSExternalFunctions.union_timestamptz_spanset(t, ss)); - public static long distance_bigintset_bigintset(IntPtr s1, IntPtr s2) - => SafeExecution(() => MEOSExternalFunctions.distance_bigintset_bigintset(s1, s2)); + public static IntPtr distance_bigintset_bigintset(IntPtr s1, IntPtr s2) + => SafeExecution(() => MEOSExternalFunctions.distance_bigintset_bigintset(s1, s2)); - public static long distance_bigintspan_bigintspan(IntPtr s1, IntPtr s2) - => SafeExecution(() => MEOSExternalFunctions.distance_bigintspan_bigintspan(s1, s2)); + public static IntPtr distance_bigintspan_bigintspan(IntPtr s1, IntPtr s2) + => SafeExecution(() => MEOSExternalFunctions.distance_bigintspan_bigintspan(s1, s2)); - public static long distance_bigintspanset_bigintspan(IntPtr ss, IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.distance_bigintspanset_bigintspan(ss, s)); + public static IntPtr distance_bigintspanset_bigintspan(IntPtr ss, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.distance_bigintspanset_bigintspan(ss, s)); - public static long distance_bigintspanset_bigintspanset(IntPtr ss1, IntPtr ss2) - => SafeExecution(() => MEOSExternalFunctions.distance_bigintspanset_bigintspanset(ss1, ss2)); + public static IntPtr distance_bigintspanset_bigintspanset(IntPtr ss1, IntPtr ss2) + => SafeExecution(() => MEOSExternalFunctions.distance_bigintspanset_bigintspanset(ss1, ss2)); public static int distance_dateset_dateset(IntPtr s1, IntPtr s2) => SafeExecution(() => MEOSExternalFunctions.distance_dateset_dateset(s1, s2)); @@ -1987,8 +2005,8 @@ public static int distance_intspanset_intspan(IntPtr ss, IntPtr s) public static int distance_intspanset_intspanset(IntPtr ss1, IntPtr ss2) => SafeExecution(() => MEOSExternalFunctions.distance_intspanset_intspanset(ss1, ss2)); - public static long distance_set_bigint(IntPtr s, long i) - => SafeExecution(() => MEOSExternalFunctions.distance_set_bigint(s, i)); + public static IntPtr distance_set_bigint(IntPtr s, IntPtr i) + => SafeExecution(() => MEOSExternalFunctions.distance_set_bigint(s, i)); public static int distance_set_date(IntPtr s, int d) => SafeExecution(() => MEOSExternalFunctions.distance_set_date(s, d)); @@ -2002,8 +2020,8 @@ public static int distance_set_int(IntPtr s, int i) public static double distance_set_timestamptz(IntPtr s, long t) => SafeExecution(() => MEOSExternalFunctions.distance_set_timestamptz(s, t)); - public static long distance_span_bigint(IntPtr s, long i) - => SafeExecution(() => MEOSExternalFunctions.distance_span_bigint(s, i)); + public static IntPtr distance_span_bigint(IntPtr s, IntPtr i) + => SafeExecution(() => MEOSExternalFunctions.distance_span_bigint(s, i)); public static int distance_span_date(IntPtr s, int d) => SafeExecution(() => MEOSExternalFunctions.distance_span_date(s, d)); @@ -2017,8 +2035,8 @@ public static int distance_span_int(IntPtr s, int i) public static double distance_span_timestamptz(IntPtr s, long t) => SafeExecution(() => MEOSExternalFunctions.distance_span_timestamptz(s, t)); - public static long distance_spanset_bigint(IntPtr ss, long i) - => SafeExecution(() => MEOSExternalFunctions.distance_spanset_bigint(ss, i)); + public static IntPtr distance_spanset_bigint(IntPtr ss, IntPtr i) + => SafeExecution(() => MEOSExternalFunctions.distance_spanset_bigint(ss, i)); public static int distance_spanset_date(IntPtr ss, int d) => SafeExecution(() => MEOSExternalFunctions.distance_spanset_date(ss, d)); @@ -2044,10 +2062,10 @@ public static double distance_tstzspanset_tstzspan(IntPtr ss, IntPtr s) public static double distance_tstzspanset_tstzspanset(IntPtr ss1, IntPtr ss2) => SafeExecution(() => MEOSExternalFunctions.distance_tstzspanset_tstzspanset(ss1, ss2)); - public static IntPtr bigint_extent_transfn(IntPtr state, long i) + public static IntPtr bigint_extent_transfn(IntPtr state, IntPtr i) => SafeExecution(() => MEOSExternalFunctions.bigint_extent_transfn(state, i)); - public static IntPtr bigint_union_transfn(IntPtr state, long i) + public static IntPtr bigint_union_transfn(IntPtr state, IntPtr i) => SafeExecution(() => MEOSExternalFunctions.bigint_union_transfn(state, i)); public static IntPtr date_extent_transfn(IntPtr state, int d) @@ -2101,53 +2119,173 @@ public static IntPtr timestamptz_extent_transfn(IntPtr state, long t) public static IntPtr timestamptz_union_transfn(IntPtr state, long t) => SafeExecution(() => MEOSExternalFunctions.timestamptz_union_transfn(state, t)); - public static long bigint_get_bin(long value, long vsize, long vorigin) - => SafeExecution(() => MEOSExternalFunctions.bigint_get_bin(value, vsize, vorigin)); + public static IntPtr bigint_get_bin(IntPtr value, IntPtr vsize, IntPtr vorigin) + => SafeExecution(() => MEOSExternalFunctions.bigint_get_bin(value, vsize, vorigin)); - public static IntPtr bigintspan_bins(IntPtr s, long vsize, long vorigin, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.bigintspan_bins(s, vsize, vorigin, count)); + public static IntPtr[] bigintspan_bins(IntPtr s, IntPtr vsize, IntPtr vorigin) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.bigintspan_bins(s, vsize, vorigin, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } - public static IntPtr bigintspanset_bins(IntPtr ss, long vsize, long vorigin, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.bigintspanset_bins(ss, vsize, vorigin, count)); + public static IntPtr[] bigintspanset_bins(IntPtr ss, IntPtr vsize, IntPtr vorigin) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.bigintspanset_bins(ss, vsize, vorigin, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } public static int date_get_bin(int d, IntPtr duration, int torigin) => SafeExecution(() => MEOSExternalFunctions.date_get_bin(d, duration, torigin)); - public static IntPtr datespan_bins(IntPtr s, IntPtr duration, int torigin, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.datespan_bins(s, duration, torigin, count)); + public static IntPtr[] datespan_bins(IntPtr s, IntPtr duration, int torigin) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.datespan_bins(s, duration, torigin, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } - public static IntPtr datespanset_bins(IntPtr ss, IntPtr duration, int torigin, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.datespanset_bins(ss, duration, torigin, count)); + public static IntPtr[] datespanset_bins(IntPtr ss, IntPtr duration, int torigin) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.datespanset_bins(ss, duration, torigin, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } public static double float_get_bin(double value, double vsize, double vorigin) => SafeExecution(() => MEOSExternalFunctions.float_get_bin(value, vsize, vorigin)); - public static IntPtr floatspan_bins(IntPtr s, double vsize, double vorigin, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.floatspan_bins(s, vsize, vorigin, count)); + public static IntPtr[] floatspan_bins(IntPtr s, double vsize, double vorigin) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.floatspan_bins(s, vsize, vorigin, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } - public static IntPtr floatspanset_bins(IntPtr ss, double vsize, double vorigin, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.floatspanset_bins(ss, vsize, vorigin, count)); + public static IntPtr[] floatspanset_bins(IntPtr ss, double vsize, double vorigin) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.floatspanset_bins(ss, vsize, vorigin, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } public static int int_get_bin(int value, int vsize, int vorigin) => SafeExecution(() => MEOSExternalFunctions.int_get_bin(value, vsize, vorigin)); - public static IntPtr intspan_bins(IntPtr s, int vsize, int vorigin, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.intspan_bins(s, vsize, vorigin, count)); + public static IntPtr[] intspan_bins(IntPtr s, int vsize, int vorigin) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.intspan_bins(s, vsize, vorigin, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } - public static IntPtr intspanset_bins(IntPtr ss, int vsize, int vorigin, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.intspanset_bins(ss, vsize, vorigin, count)); + public static IntPtr[] intspanset_bins(IntPtr ss, int vsize, int vorigin) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.intspanset_bins(ss, vsize, vorigin, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } public static long timestamptz_get_bin(long t, IntPtr duration, long torigin) => SafeExecution(() => MEOSExternalFunctions.timestamptz_get_bin(t, duration, torigin)); - public static IntPtr tstzspan_bins(IntPtr s, IntPtr duration, long origin, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.tstzspan_bins(s, duration, origin, count)); + public static IntPtr[] tstzspan_bins(IntPtr s, IntPtr duration, long origin) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tstzspan_bins(s, duration, origin, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } - public static IntPtr tstzspanset_bins(IntPtr ss, IntPtr duration, long torigin, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.tstzspanset_bins(ss, duration, torigin, count)); + public static IntPtr[] tstzspanset_bins(IntPtr ss, IntPtr duration, long torigin) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tstzspanset_bins(ss, duration, torigin, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } - public static string tbox_as_hexwkb(IntPtr box, IntPtr variant, IntPtr size) - => SafeExecution(() => MEOSExternalFunctions.tbox_as_hexwkb(box, variant, size)); + public static string tbox_as_hexwkb(IntPtr box, IntPtr variant, IntPtr size_out) + => SafeExecution(() => MEOSExternalFunctions.tbox_as_hexwkb(box, variant, size_out)); public static IntPtr tbox_as_wkb(IntPtr box, IntPtr variant, IntPtr size_out) => SafeExecution(() => MEOSExternalFunctions.tbox_as_wkb(box, variant, size_out)); @@ -2173,9 +2311,15 @@ public static IntPtr float_tstzspan_to_tbox(double d, IntPtr s) public static IntPtr int_timestamptz_to_tbox(int i, long t) => SafeExecution(() => MEOSExternalFunctions.int_timestamptz_to_tbox(i, t)); + public static IntPtr bigint_timestamptz_to_tbox(IntPtr i, long t) + => SafeExecution(() => MEOSExternalFunctions.bigint_timestamptz_to_tbox(i, t)); + public static IntPtr int_tstzspan_to_tbox(int i, IntPtr s) => SafeExecution(() => MEOSExternalFunctions.int_tstzspan_to_tbox(i, s)); + public static IntPtr bigint_tstzspan_to_tbox(IntPtr i, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.bigint_tstzspan_to_tbox(i, s)); + public static IntPtr numspan_tstzspan_to_tbox(IntPtr span, IntPtr s) => SafeExecution(() => MEOSExternalFunctions.numspan_tstzspan_to_tbox(span, s)); @@ -2194,6 +2338,9 @@ public static IntPtr float_to_tbox(double d) public static IntPtr int_to_tbox(int i) => SafeExecution(() => MEOSExternalFunctions.int_to_tbox(i)); + public static IntPtr bigint_to_tbox(IntPtr i) + => SafeExecution(() => MEOSExternalFunctions.bigint_to_tbox(i)); + public static IntPtr set_to_tbox(IntPtr s) => SafeExecution(() => MEOSExternalFunctions.set_to_tbox(s)); @@ -2206,6 +2353,9 @@ public static IntPtr spanset_to_tbox(IntPtr ss) public static IntPtr tbox_to_intspan(IntPtr box) => SafeExecution(() => MEOSExternalFunctions.tbox_to_intspan(box)); + public static IntPtr tbox_to_bigintspan(IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.tbox_to_bigintspan(box)); + public static IntPtr tbox_to_floatspan(IntPtr box) => SafeExecution(() => MEOSExternalFunctions.tbox_to_floatspan(box)); @@ -2215,11 +2365,11 @@ public static IntPtr tbox_to_tstzspan(IntPtr box) public static IntPtr timestamptz_to_tbox(long t) => SafeExecution(() => MEOSExternalFunctions.timestamptz_to_tbox(t)); - public static uint tbox_hash(IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.tbox_hash(box)); + public static int tbox_hash(IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.tbox_hash(box)); - public static ulong tbox_hash_extended(IntPtr box, ulong seed) - => SafeExecution(() => MEOSExternalFunctions.tbox_hash_extended(box, seed)); + public static IntPtr tbox_hash_extended(IntPtr box, IntPtr seed) + => SafeExecution(() => MEOSExternalFunctions.tbox_hash_extended(box, seed)); public static bool tbox_hast(IntPtr box) => SafeExecution(() => MEOSExternalFunctions.tbox_hast(box)); @@ -2260,33 +2410,45 @@ public static bool tboxfloat_xmin(IntPtr box, IntPtr result) public static bool tboxint_xmax(IntPtr box, IntPtr result) => SafeExecution(() => MEOSExternalFunctions.tboxint_xmax(box, result)); + public static bool tboxbigint_xmax(IntPtr box, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.tboxbigint_xmax(box, result)); + public static bool tboxint_xmin(IntPtr box, IntPtr result) => SafeExecution(() => MEOSExternalFunctions.tboxint_xmin(box, result)); + public static bool tboxbigint_xmin(IntPtr box, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.tboxbigint_xmin(box, result)); + + public static IntPtr tfloatbox_expand(IntPtr box, double d) + => SafeExecution(() => MEOSExternalFunctions.tfloatbox_expand(box, d)); + + public static IntPtr tintbox_expand(IntPtr box, int i) + => SafeExecution(() => MEOSExternalFunctions.tintbox_expand(box, i)); + public static IntPtr tbox_expand_time(IntPtr box, IntPtr interv) => SafeExecution(() => MEOSExternalFunctions.tbox_expand_time(box, interv)); public static IntPtr tbox_round(IntPtr box, int maxdd) => SafeExecution(() => MEOSExternalFunctions.tbox_round(box, maxdd)); - public static IntPtr tbox_shift_scale_time(IntPtr box, IntPtr shift, IntPtr duration) - => SafeExecution(() => MEOSExternalFunctions.tbox_shift_scale_time(box, shift, duration)); - - public static IntPtr tfloatbox_expand(IntPtr box, double d) - => SafeExecution(() => MEOSExternalFunctions.tfloatbox_expand(box, d)); - public static IntPtr tfloatbox_shift_scale(IntPtr box, double shift, double width, bool hasshift, bool haswidth) => SafeExecution(() => MEOSExternalFunctions.tfloatbox_shift_scale(box, shift, width, hasshift, haswidth)); - public static IntPtr tintbox_expand(IntPtr box, int i) - => SafeExecution(() => MEOSExternalFunctions.tintbox_expand(box, i)); - public static IntPtr tintbox_shift_scale(IntPtr box, int shift, int width, bool hasshift, bool haswidth) => SafeExecution(() => MEOSExternalFunctions.tintbox_shift_scale(box, shift, width, hasshift, haswidth)); - public static IntPtr union_tbox_tbox(IntPtr box1, IntPtr box2, bool strict) - => SafeExecution(() => MEOSExternalFunctions.union_tbox_tbox(box1, box2, strict)); - + public static IntPtr tbox_shift_scale_time(IntPtr box, IntPtr shift, IntPtr duration) + => SafeExecution(() => MEOSExternalFunctions.tbox_shift_scale_time(box, shift, duration)); + + public static IntPtr tbigintbox_expand(IntPtr box, IntPtr i) + => SafeExecution(() => MEOSExternalFunctions.tbigintbox_expand(box, i)); + + public static IntPtr tbigintbox_shift_scale(IntPtr box, IntPtr shift, IntPtr width, bool hasshift, bool haswidth) + => SafeExecution(() => MEOSExternalFunctions.tbigintbox_shift_scale(box, shift, width, hasshift, haswidth)); + + public static IntPtr union_tbox_tbox(IntPtr box1, IntPtr box2, bool strict) + => SafeExecution(() => MEOSExternalFunctions.union_tbox_tbox(box1, box2, strict)); + public static IntPtr intersection_tbox_tbox(IntPtr box1, IntPtr box2) => SafeExecution(() => MEOSExternalFunctions.intersection_tbox_tbox(box1, box2)); @@ -2386,12 +2548,21 @@ public static string tfloat_out(IntPtr temp, int maxdd) public static IntPtr tint_from_mfjson(string str) => SafeExecution(() => MEOSExternalFunctions.tint_from_mfjson(str)); + public static IntPtr tbigint_from_mfjson(string str) + => SafeExecution(() => MEOSExternalFunctions.tbigint_from_mfjson(str)); + public static IntPtr tint_in(string str) => SafeExecution(() => MEOSExternalFunctions.tint_in(str)); + public static IntPtr tbigint_in(string str) + => SafeExecution(() => MEOSExternalFunctions.tbigint_in(str)); + public static string tint_out(IntPtr temp) => SafeExecution(() => MEOSExternalFunctions.tint_out(temp)); + public static string tbigint_out(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tbigint_out(temp)); + public static IntPtr ttext_from_mfjson(string str) => SafeExecution(() => MEOSExternalFunctions.ttext_from_mfjson(str)); @@ -2437,18 +2608,33 @@ public static IntPtr tfloatseqset_from_base_tstzspanset(double d, IntPtr ss, int public static IntPtr tint_from_base_temp(int i, IntPtr temp) => SafeExecution(() => MEOSExternalFunctions.tint_from_base_temp(i, temp)); + public static IntPtr tbigint_from_base_temp(IntPtr i, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tbigint_from_base_temp(i, temp)); + public static IntPtr tintinst_make(int i, long t) => SafeExecution(() => MEOSExternalFunctions.tintinst_make(i, t)); + public static IntPtr tbigintinst_make(IntPtr i, long t) + => SafeExecution(() => MEOSExternalFunctions.tbigintinst_make(i, t)); + public static IntPtr tintseq_from_base_tstzset(int i, IntPtr s) => SafeExecution(() => MEOSExternalFunctions.tintseq_from_base_tstzset(i, s)); + public static IntPtr tbigintseq_from_base_tstzset(IntPtr i, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.tbigintseq_from_base_tstzset(i, s)); + public static IntPtr tintseq_from_base_tstzspan(int i, IntPtr s) => SafeExecution(() => MEOSExternalFunctions.tintseq_from_base_tstzspan(i, s)); + public static IntPtr tbigintseq_from_base_tstzspan(IntPtr i, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.tbigintseq_from_base_tstzspan(i, s)); + public static IntPtr tintseqset_from_base_tstzspanset(int i, IntPtr ss) => SafeExecution(() => MEOSExternalFunctions.tintseqset_from_base_tstzspanset(i, ss)); + public static IntPtr tbigintseqset_from_base_tstzspanset(IntPtr i, IntPtr ss) + => SafeExecution(() => MEOSExternalFunctions.tbigintseqset_from_base_tstzspanset(i, ss)); + public static IntPtr tsequence_make(IntPtr instants, int count, bool lower_inc, bool upper_inc, int interp, bool normalize) => SafeExecution(() => MEOSExternalFunctions.tsequence_make(instants, count, lower_inc, upper_inc, interp, normalize)); @@ -2482,9 +2668,21 @@ public static IntPtr temporal_to_tstzspan(IntPtr temp) public static IntPtr tfloat_to_tint(IntPtr temp) => SafeExecution(() => MEOSExternalFunctions.tfloat_to_tint(temp)); + public static IntPtr tfloat_to_tbigint(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tfloat_to_tbigint(temp)); + public static IntPtr tint_to_tfloat(IntPtr temp) => SafeExecution(() => MEOSExternalFunctions.tint_to_tfloat(temp)); + public static IntPtr tint_to_tbigint(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tint_to_tbigint(temp)); + + public static IntPtr tbigint_to_tint(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tbigint_to_tint(temp)); + + public static IntPtr tbigint_to_tfloat(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tbigint_to_tfloat(temp)); + public static IntPtr tnumber_to_span(IntPtr temp) => SafeExecution(() => MEOSExternalFunctions.tnumber_to_span(temp)); @@ -2503,8 +2701,20 @@ public static bool tbool_value_at_timestamptz(IntPtr temp, long t, bool strict, public static bool tbool_value_n(IntPtr temp, int n, IntPtr result) => SafeExecution(() => MEOSExternalFunctions.tbool_value_n(temp, n, result)); - public static IntPtr tbool_values(IntPtr temp, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.tbool_values(temp, count)); + public static IntPtr[] tbool_values(IntPtr temp) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tbool_values(temp, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } public static IntPtr temporal_duration(IntPtr temp, bool boundspan) => SafeExecution(() => MEOSExternalFunctions.temporal_duration(temp, boundspan)); @@ -2518,14 +2728,26 @@ public static IntPtr temporal_end_sequence(IntPtr temp) public static long temporal_end_timestamptz(IntPtr temp) => SafeExecution(() => MEOSExternalFunctions.temporal_end_timestamptz(temp)); - public static uint temporal_hash(IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.temporal_hash(temp)); + public static int temporal_hash(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.temporal_hash(temp)); public static IntPtr temporal_instant_n(IntPtr temp, int n) => SafeExecution(() => MEOSExternalFunctions.temporal_instant_n(temp, n)); - public static IntPtr temporal_instants(IntPtr temp, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.temporal_instants(temp, count)); + public static IntPtr[] temporal_instants(IntPtr temp) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.temporal_instants(temp, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } public static string temporal_interp(IntPtr temp) => SafeExecution(() => MEOSExternalFunctions.temporal_interp(temp)); @@ -2551,14 +2773,38 @@ public static int temporal_num_timestamps(IntPtr temp) public static IntPtr temporal_segm_duration(IntPtr temp, IntPtr duration, bool atleast, bool strict) => SafeExecution(() => MEOSExternalFunctions.temporal_segm_duration(temp, duration, atleast, strict)); - public static IntPtr temporal_segments(IntPtr temp, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.temporal_segments(temp, count)); + public static IntPtr[] temporal_segments(IntPtr temp) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.temporal_segments(temp, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } public static IntPtr temporal_sequence_n(IntPtr temp, int i) => SafeExecution(() => MEOSExternalFunctions.temporal_sequence_n(temp, i)); - public static IntPtr temporal_sequences(IntPtr temp, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.temporal_sequences(temp, count)); + public static IntPtr[] temporal_sequences(IntPtr temp) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.temporal_sequences(temp, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } public static IntPtr temporal_start_instant(IntPtr temp) => SafeExecution(() => MEOSExternalFunctions.temporal_start_instant(temp)); @@ -2575,11 +2821,25 @@ public static IntPtr temporal_stops(IntPtr temp, double maxdist, IntPtr mindurat public static string temporal_subtype(IntPtr temp) => SafeExecution(() => MEOSExternalFunctions.temporal_subtype(temp)); + public static string temporal_basetype_name(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.temporal_basetype_name(temp)); + public static IntPtr temporal_time(IntPtr temp) => SafeExecution(() => MEOSExternalFunctions.temporal_time(temp)); - public static IntPtr temporal_timestamps(IntPtr temp, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.temporal_timestamps(temp, count)); + public static long[] temporal_timestamps(IntPtr temp) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.temporal_timestamps(temp, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + long[] _out = new long[_n]; + Marshal.Copy(_p, _out, 0, _n); + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } public static bool temporal_timestamptz_n(IntPtr temp, int n, IntPtr result) => SafeExecution(() => MEOSExternalFunctions.temporal_timestamptz_n(temp, n, result)); @@ -2587,9 +2847,6 @@ public static bool temporal_timestamptz_n(IntPtr temp, int n, IntPtr result) public static bool temporal_upper_inc(IntPtr temp) => SafeExecution(() => MEOSExternalFunctions.temporal_upper_inc(temp)); - public static double tfloat_avg_value(IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.tfloat_avg_value(temp)); - public static double tfloat_end_value(IntPtr temp) => SafeExecution(() => MEOSExternalFunctions.tfloat_end_value(temp)); @@ -2608,29 +2865,84 @@ public static bool tfloat_value_at_timestamptz(IntPtr temp, long t, bool strict, public static bool tfloat_value_n(IntPtr temp, int n, IntPtr result) => SafeExecution(() => MEOSExternalFunctions.tfloat_value_n(temp, n, result)); - public static IntPtr tfloat_values(IntPtr temp, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.tfloat_values(temp, count)); + public static double[] tfloat_values(IntPtr temp) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tfloat_values(temp, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + double[] _out = new double[_n]; + Marshal.Copy(_p, _out, 0, _n); + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } public static int tint_end_value(IntPtr temp) => SafeExecution(() => MEOSExternalFunctions.tint_end_value(temp)); + public static IntPtr tbigint_end_value(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tbigint_end_value(temp)); + public static int tint_max_value(IntPtr temp) => SafeExecution(() => MEOSExternalFunctions.tint_max_value(temp)); + public static IntPtr tbigint_max_value(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tbigint_max_value(temp)); + public static int tint_min_value(IntPtr temp) => SafeExecution(() => MEOSExternalFunctions.tint_min_value(temp)); + public static IntPtr tbigint_min_value(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tbigint_min_value(temp)); + public static int tint_start_value(IntPtr temp) => SafeExecution(() => MEOSExternalFunctions.tint_start_value(temp)); + public static IntPtr tbigint_start_value(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tbigint_start_value(temp)); + + public static bool tbigint_value_at_timestamptz(IntPtr temp, long t, bool strict, IntPtr value) + => SafeExecution(() => MEOSExternalFunctions.tbigint_value_at_timestamptz(temp, t, strict, value)); + public static bool tint_value_at_timestamptz(IntPtr temp, long t, bool strict, IntPtr value) => SafeExecution(() => MEOSExternalFunctions.tint_value_at_timestamptz(temp, t, strict, value)); public static bool tint_value_n(IntPtr temp, int n, IntPtr result) => SafeExecution(() => MEOSExternalFunctions.tint_value_n(temp, n, result)); - public static IntPtr tint_values(IntPtr temp, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.tint_values(temp, count)); + public static bool tbigint_value_n(IntPtr temp, IntPtr n, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.tbigint_value_n(temp, n, result)); + + public static int[] tint_values(IntPtr temp) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tint_values(temp, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + int[] _out = new int[_n]; + Marshal.Copy(_p, _out, 0, _n); + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static IntPtr[] tbigint_values(IntPtr temp) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tbigint_values(temp, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } public static double tnumber_avg_value(IntPtr temp) => SafeExecution(() => MEOSExternalFunctions.tnumber_avg_value(temp)); @@ -2662,8 +2974,20 @@ public static bool ttext_value_at_timestamptz(IntPtr temp, long t, bool strict, public static bool ttext_value_n(IntPtr temp, int n, IntPtr result) => SafeExecution(() => MEOSExternalFunctions.ttext_value_n(temp, n, result)); - public static IntPtr ttext_values(IntPtr temp, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.ttext_values(temp, count)); + public static IntPtr[] ttext_values(IntPtr temp) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.ttext_values(temp, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } public static double float_degrees(double value, bool normalize) => SafeExecution(() => MEOSExternalFunctions.float_degrees(value, normalize)); @@ -2719,12 +3043,21 @@ public static IntPtr tfloat_shift_value(IntPtr temp, double shift) public static IntPtr tint_scale_value(IntPtr temp, int width) => SafeExecution(() => MEOSExternalFunctions.tint_scale_value(temp, width)); + public static IntPtr tbigint_scale_value(IntPtr temp, IntPtr width) + => SafeExecution(() => MEOSExternalFunctions.tbigint_scale_value(temp, width)); + public static IntPtr tint_shift_scale_value(IntPtr temp, int shift, int width) => SafeExecution(() => MEOSExternalFunctions.tint_shift_scale_value(temp, shift, width)); + public static IntPtr tbigint_shift_scale_value(IntPtr temp, IntPtr shift, IntPtr width) + => SafeExecution(() => MEOSExternalFunctions.tbigint_shift_scale_value(temp, shift, width)); + public static IntPtr tint_shift_value(IntPtr temp, int shift) => SafeExecution(() => MEOSExternalFunctions.tint_shift_value(temp, shift)); + public static IntPtr tbigint_shift_value(IntPtr temp, IntPtr shift) + => SafeExecution(() => MEOSExternalFunctions.tbigint_shift_value(temp, shift)); + public static IntPtr temporal_append_tinstant(IntPtr temp, IntPtr inst, int interp, double maxdist, IntPtr maxt, bool expand) => SafeExecution(() => MEOSExternalFunctions.temporal_append_tinstant(temp, inst, interp, maxdist, maxt, expand)); @@ -2890,6 +3223,12 @@ public static int always_eq_tfloat_float(IntPtr temp, double d) public static int always_eq_tint_int(IntPtr temp, int i) => SafeExecution(() => MEOSExternalFunctions.always_eq_tint_int(temp, i)); + public static int always_eq_bigint_tbigint(IntPtr i, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.always_eq_bigint_tbigint(i, temp)); + + public static int always_eq_tbigint_bigint(IntPtr temp, IntPtr i) + => SafeExecution(() => MEOSExternalFunctions.always_eq_tbigint_bigint(temp, i)); + public static int always_eq_ttext_text(IntPtr temp, IntPtr txt) => SafeExecution(() => MEOSExternalFunctions.always_eq_ttext_text(temp, txt)); @@ -2911,6 +3250,12 @@ public static int always_ge_tfloat_float(IntPtr temp, double d) public static int always_ge_tint_int(IntPtr temp, int i) => SafeExecution(() => MEOSExternalFunctions.always_ge_tint_int(temp, i)); + public static int always_ge_bigint_tbigint(IntPtr i, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.always_ge_bigint_tbigint(i, temp)); + + public static int always_ge_tbigint_bigint(IntPtr temp, IntPtr i) + => SafeExecution(() => MEOSExternalFunctions.always_ge_tbigint_bigint(temp, i)); + public static int always_ge_ttext_text(IntPtr temp, IntPtr txt) => SafeExecution(() => MEOSExternalFunctions.always_ge_ttext_text(temp, txt)); @@ -2932,6 +3277,12 @@ public static int always_gt_tfloat_float(IntPtr temp, double d) public static int always_gt_tint_int(IntPtr temp, int i) => SafeExecution(() => MEOSExternalFunctions.always_gt_tint_int(temp, i)); + public static int always_gt_bigint_tbigint(IntPtr i, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.always_gt_bigint_tbigint(i, temp)); + + public static int always_gt_tbigint_bigint(IntPtr temp, IntPtr i) + => SafeExecution(() => MEOSExternalFunctions.always_gt_tbigint_bigint(temp, i)); + public static int always_gt_ttext_text(IntPtr temp, IntPtr txt) => SafeExecution(() => MEOSExternalFunctions.always_gt_ttext_text(temp, txt)); @@ -2953,6 +3304,12 @@ public static int always_le_tfloat_float(IntPtr temp, double d) public static int always_le_tint_int(IntPtr temp, int i) => SafeExecution(() => MEOSExternalFunctions.always_le_tint_int(temp, i)); + public static int always_le_bigint_tbigint(IntPtr i, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.always_le_bigint_tbigint(i, temp)); + + public static int always_le_tbigint_bigint(IntPtr temp, IntPtr i) + => SafeExecution(() => MEOSExternalFunctions.always_le_tbigint_bigint(temp, i)); + public static int always_le_ttext_text(IntPtr temp, IntPtr txt) => SafeExecution(() => MEOSExternalFunctions.always_le_ttext_text(temp, txt)); @@ -2974,6 +3331,12 @@ public static int always_lt_tfloat_float(IntPtr temp, double d) public static int always_lt_tint_int(IntPtr temp, int i) => SafeExecution(() => MEOSExternalFunctions.always_lt_tint_int(temp, i)); + public static int always_lt_bigint_tbigint(IntPtr i, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.always_lt_bigint_tbigint(i, temp)); + + public static int always_lt_tbigint_bigint(IntPtr temp, IntPtr i) + => SafeExecution(() => MEOSExternalFunctions.always_lt_tbigint_bigint(temp, i)); + public static int always_lt_ttext_text(IntPtr temp, IntPtr txt) => SafeExecution(() => MEOSExternalFunctions.always_lt_ttext_text(temp, txt)); @@ -3001,6 +3364,12 @@ public static int always_ne_tfloat_float(IntPtr temp, double d) public static int always_ne_tint_int(IntPtr temp, int i) => SafeExecution(() => MEOSExternalFunctions.always_ne_tint_int(temp, i)); + public static int always_ne_bigint_tbigint(IntPtr i, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.always_ne_bigint_tbigint(i, temp)); + + public static int always_ne_tbigint_bigint(IntPtr temp, IntPtr i) + => SafeExecution(() => MEOSExternalFunctions.always_ne_tbigint_bigint(temp, i)); + public static int always_ne_ttext_text(IntPtr temp, IntPtr txt) => SafeExecution(() => MEOSExternalFunctions.always_ne_ttext_text(temp, txt)); @@ -3028,6 +3397,12 @@ public static int ever_eq_tfloat_float(IntPtr temp, double d) public static int ever_eq_tint_int(IntPtr temp, int i) => SafeExecution(() => MEOSExternalFunctions.ever_eq_tint_int(temp, i)); + public static int ever_eq_bigint_tbigint(IntPtr i, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.ever_eq_bigint_tbigint(i, temp)); + + public static int ever_eq_tbigint_bigint(IntPtr temp, IntPtr i) + => SafeExecution(() => MEOSExternalFunctions.ever_eq_tbigint_bigint(temp, i)); + public static int ever_eq_ttext_text(IntPtr temp, IntPtr txt) => SafeExecution(() => MEOSExternalFunctions.ever_eq_ttext_text(temp, txt)); @@ -3049,6 +3424,12 @@ public static int ever_ge_tfloat_float(IntPtr temp, double d) public static int ever_ge_tint_int(IntPtr temp, int i) => SafeExecution(() => MEOSExternalFunctions.ever_ge_tint_int(temp, i)); + public static int ever_ge_bigint_tbigint(IntPtr i, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.ever_ge_bigint_tbigint(i, temp)); + + public static int ever_ge_tbigint_bigint(IntPtr temp, IntPtr i) + => SafeExecution(() => MEOSExternalFunctions.ever_ge_tbigint_bigint(temp, i)); + public static int ever_ge_ttext_text(IntPtr temp, IntPtr txt) => SafeExecution(() => MEOSExternalFunctions.ever_ge_ttext_text(temp, txt)); @@ -3070,6 +3451,12 @@ public static int ever_gt_tfloat_float(IntPtr temp, double d) public static int ever_gt_tint_int(IntPtr temp, int i) => SafeExecution(() => MEOSExternalFunctions.ever_gt_tint_int(temp, i)); + public static int ever_gt_bigint_tbigint(IntPtr i, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.ever_gt_bigint_tbigint(i, temp)); + + public static int ever_gt_tbigint_bigint(IntPtr temp, IntPtr i) + => SafeExecution(() => MEOSExternalFunctions.ever_gt_tbigint_bigint(temp, i)); + public static int ever_gt_ttext_text(IntPtr temp, IntPtr txt) => SafeExecution(() => MEOSExternalFunctions.ever_gt_ttext_text(temp, txt)); @@ -3091,6 +3478,12 @@ public static int ever_le_tfloat_float(IntPtr temp, double d) public static int ever_le_tint_int(IntPtr temp, int i) => SafeExecution(() => MEOSExternalFunctions.ever_le_tint_int(temp, i)); + public static int ever_le_bigint_tbigint(IntPtr i, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.ever_le_bigint_tbigint(i, temp)); + + public static int ever_le_tbigint_bigint(IntPtr temp, IntPtr i) + => SafeExecution(() => MEOSExternalFunctions.ever_le_tbigint_bigint(temp, i)); + public static int ever_le_ttext_text(IntPtr temp, IntPtr txt) => SafeExecution(() => MEOSExternalFunctions.ever_le_ttext_text(temp, txt)); @@ -3112,6 +3505,12 @@ public static int ever_lt_tfloat_float(IntPtr temp, double d) public static int ever_lt_tint_int(IntPtr temp, int i) => SafeExecution(() => MEOSExternalFunctions.ever_lt_tint_int(temp, i)); + public static int ever_lt_bigint_tbigint(IntPtr i, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.ever_lt_bigint_tbigint(i, temp)); + + public static int ever_lt_tbigint_bigint(IntPtr temp, IntPtr i) + => SafeExecution(() => MEOSExternalFunctions.ever_lt_tbigint_bigint(temp, i)); + public static int ever_lt_ttext_text(IntPtr temp, IntPtr txt) => SafeExecution(() => MEOSExternalFunctions.ever_lt_ttext_text(temp, txt)); @@ -3139,6 +3538,12 @@ public static int ever_ne_tfloat_float(IntPtr temp, double d) public static int ever_ne_tint_int(IntPtr temp, int i) => SafeExecution(() => MEOSExternalFunctions.ever_ne_tint_int(temp, i)); + public static int ever_ne_bigint_tbigint(IntPtr i, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.ever_ne_bigint_tbigint(i, temp)); + + public static int ever_ne_tbigint_bigint(IntPtr temp, IntPtr i) + => SafeExecution(() => MEOSExternalFunctions.ever_ne_tbigint_bigint(temp, i)); + public static int ever_ne_ttext_text(IntPtr temp, IntPtr txt) => SafeExecution(() => MEOSExternalFunctions.ever_ne_ttext_text(temp, txt)); @@ -3280,23 +3685,95 @@ public static IntPtr tne_tint_int(IntPtr temp, int i) public static IntPtr tne_ttext_text(IntPtr temp, IntPtr txt) => SafeExecution(() => MEOSExternalFunctions.tne_ttext_text(temp, txt)); - public static IntPtr temporal_spans(IntPtr temp, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.temporal_spans(temp, count)); + public static IntPtr[] temporal_spans(IntPtr temp) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.temporal_spans(temp, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } - public static IntPtr temporal_split_each_n_spans(IntPtr temp, int elem_count, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.temporal_split_each_n_spans(temp, elem_count, count)); + public static IntPtr[] temporal_split_each_n_spans(IntPtr temp, int elem_count) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.temporal_split_each_n_spans(temp, elem_count, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } - public static IntPtr temporal_split_n_spans(IntPtr temp, int span_count, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.temporal_split_n_spans(temp, span_count, count)); + public static IntPtr[] temporal_split_n_spans(IntPtr temp, int span_count) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.temporal_split_n_spans(temp, span_count, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } - public static IntPtr tnumber_split_each_n_tboxes(IntPtr temp, int elem_count, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.tnumber_split_each_n_tboxes(temp, elem_count, count)); + public static IntPtr[] tnumber_split_each_n_tboxes(IntPtr temp, int elem_count) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tnumber_split_each_n_tboxes(temp, elem_count, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } - public static IntPtr tnumber_split_n_tboxes(IntPtr temp, int box_count, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.tnumber_split_n_tboxes(temp, box_count, count)); + public static IntPtr[] tnumber_split_n_tboxes(IntPtr temp, int box_count) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tnumber_split_n_tboxes(temp, box_count, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } - public static IntPtr tnumber_tboxes(IntPtr temp, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.tnumber_tboxes(temp, count)); + public static IntPtr[] tnumber_tboxes(IntPtr temp) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tnumber_tboxes(temp, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } public static bool adjacent_numspan_tnumber(IntPtr s, IntPtr temp) => SafeExecution(() => MEOSExternalFunctions.adjacent_numspan_tnumber(s, temp)); @@ -3586,6 +4063,12 @@ public static IntPtr add_tfloat_float(IntPtr tnumber, double d) public static IntPtr add_tint_int(IntPtr tnumber, int i) => SafeExecution(() => MEOSExternalFunctions.add_tint_int(tnumber, i)); + public static IntPtr add_bigint_tbigint(IntPtr i, IntPtr tnumber) + => SafeExecution(() => MEOSExternalFunctions.add_bigint_tbigint(i, tnumber)); + + public static IntPtr add_tbigint_bigint(IntPtr tnumber, IntPtr i) + => SafeExecution(() => MEOSExternalFunctions.add_tbigint_bigint(tnumber, i)); + public static IntPtr add_tnumber_tnumber(IntPtr tnumber1, IntPtr tnumber2) => SafeExecution(() => MEOSExternalFunctions.add_tnumber_tnumber(tnumber1, tnumber2)); @@ -3601,23 +4084,35 @@ public static IntPtr div_tfloat_float(IntPtr tnumber, double d) public static IntPtr div_tint_int(IntPtr tnumber, int i) => SafeExecution(() => MEOSExternalFunctions.div_tint_int(tnumber, i)); + public static IntPtr div_bigint_tbigint(IntPtr i, IntPtr tnumber) + => SafeExecution(() => MEOSExternalFunctions.div_bigint_tbigint(i, tnumber)); + + public static IntPtr div_tbigint_bigint(IntPtr tnumber, IntPtr i) + => SafeExecution(() => MEOSExternalFunctions.div_tbigint_bigint(tnumber, i)); + public static IntPtr div_tnumber_tnumber(IntPtr tnumber1, IntPtr tnumber2) => SafeExecution(() => MEOSExternalFunctions.div_tnumber_tnumber(tnumber1, tnumber2)); - public static IntPtr mult_float_tfloat(double d, IntPtr tnumber) - => SafeExecution(() => MEOSExternalFunctions.mult_float_tfloat(d, tnumber)); + public static IntPtr mul_float_tfloat(double d, IntPtr tnumber) + => SafeExecution(() => MEOSExternalFunctions.mul_float_tfloat(d, tnumber)); + + public static IntPtr mul_int_tint(int i, IntPtr tnumber) + => SafeExecution(() => MEOSExternalFunctions.mul_int_tint(i, tnumber)); - public static IntPtr mult_int_tint(int i, IntPtr tnumber) - => SafeExecution(() => MEOSExternalFunctions.mult_int_tint(i, tnumber)); + public static IntPtr mul_tfloat_float(IntPtr tnumber, double d) + => SafeExecution(() => MEOSExternalFunctions.mul_tfloat_float(tnumber, d)); - public static IntPtr mult_tfloat_float(IntPtr tnumber, double d) - => SafeExecution(() => MEOSExternalFunctions.mult_tfloat_float(tnumber, d)); + public static IntPtr mul_tint_int(IntPtr tnumber, int i) + => SafeExecution(() => MEOSExternalFunctions.mul_tint_int(tnumber, i)); - public static IntPtr mult_tint_int(IntPtr tnumber, int i) - => SafeExecution(() => MEOSExternalFunctions.mult_tint_int(tnumber, i)); + public static IntPtr mul_bigint_tbigint(IntPtr i, IntPtr tnumber) + => SafeExecution(() => MEOSExternalFunctions.mul_bigint_tbigint(i, tnumber)); - public static IntPtr mult_tnumber_tnumber(IntPtr tnumber1, IntPtr tnumber2) - => SafeExecution(() => MEOSExternalFunctions.mult_tnumber_tnumber(tnumber1, tnumber2)); + public static IntPtr mul_tbigint_bigint(IntPtr tnumber, IntPtr i) + => SafeExecution(() => MEOSExternalFunctions.mul_tbigint_bigint(tnumber, i)); + + public static IntPtr mul_tnumber_tnumber(IntPtr tnumber1, IntPtr tnumber2) + => SafeExecution(() => MEOSExternalFunctions.mul_tnumber_tnumber(tnumber1, tnumber2)); public static IntPtr sub_float_tfloat(double d, IntPtr tnumber) => SafeExecution(() => MEOSExternalFunctions.sub_float_tfloat(d, tnumber)); @@ -3631,6 +4126,12 @@ public static IntPtr sub_tfloat_float(IntPtr tnumber, double d) public static IntPtr sub_tint_int(IntPtr tnumber, int i) => SafeExecution(() => MEOSExternalFunctions.sub_tint_int(tnumber, i)); + public static IntPtr sub_bigint_tbigint(IntPtr i, IntPtr tnumber) + => SafeExecution(() => MEOSExternalFunctions.sub_bigint_tbigint(i, tnumber)); + + public static IntPtr sub_tbigint_bigint(IntPtr tnumber, IntPtr i) + => SafeExecution(() => MEOSExternalFunctions.sub_tbigint_bigint(tnumber, i)); + public static IntPtr sub_tnumber_tnumber(IntPtr tnumber1, IntPtr tnumber2) => SafeExecution(() => MEOSExternalFunctions.sub_tnumber_tnumber(tnumber1, tnumber2)); @@ -3646,6 +4147,15 @@ public static IntPtr tfloat_ln(IntPtr temp) public static IntPtr tfloat_log10(IntPtr temp) => SafeExecution(() => MEOSExternalFunctions.tfloat_log10(temp)); + public static IntPtr tfloat_sin(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tfloat_sin(temp)); + + public static IntPtr tfloat_cos(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tfloat_cos(temp)); + + public static IntPtr tfloat_tan(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tfloat_tan(temp)); + public static IntPtr tnumber_abs(IntPtr temp) => SafeExecution(() => MEOSExternalFunctions.tnumber_abs(temp)); @@ -3715,9 +4225,15 @@ public static int nad_tint_tint(IntPtr temp1, IntPtr temp2) public static IntPtr tbool_tand_transfn(IntPtr state, IntPtr temp) => SafeExecution(() => MEOSExternalFunctions.tbool_tand_transfn(state, temp)); + public static IntPtr tbool_tand_combinefn(IntPtr state1, IntPtr state2) + => SafeExecution(() => MEOSExternalFunctions.tbool_tand_combinefn(state1, state2)); + public static IntPtr tbool_tor_transfn(IntPtr state, IntPtr temp) => SafeExecution(() => MEOSExternalFunctions.tbool_tor_transfn(state, temp)); + public static IntPtr tbool_tor_combinefn(IntPtr state1, IntPtr state2) + => SafeExecution(() => MEOSExternalFunctions.tbool_tor_combinefn(state1, state2)); + public static IntPtr temporal_extent_transfn(IntPtr s, IntPtr temp) => SafeExecution(() => MEOSExternalFunctions.temporal_extent_transfn(s, temp)); @@ -3727,15 +4243,27 @@ public static IntPtr temporal_tagg_finalfn(IntPtr state) public static IntPtr temporal_tcount_transfn(IntPtr state, IntPtr temp) => SafeExecution(() => MEOSExternalFunctions.temporal_tcount_transfn(state, temp)); + public static IntPtr temporal_tcount_combinefn(IntPtr state1, IntPtr state2) + => SafeExecution(() => MEOSExternalFunctions.temporal_tcount_combinefn(state1, state2)); + public static IntPtr tfloat_tmax_transfn(IntPtr state, IntPtr temp) => SafeExecution(() => MEOSExternalFunctions.tfloat_tmax_transfn(state, temp)); + public static IntPtr tfloat_tmax_combinefn(IntPtr state1, IntPtr state2) + => SafeExecution(() => MEOSExternalFunctions.tfloat_tmax_combinefn(state1, state2)); + public static IntPtr tfloat_tmin_transfn(IntPtr state, IntPtr temp) => SafeExecution(() => MEOSExternalFunctions.tfloat_tmin_transfn(state, temp)); + public static IntPtr tfloat_tmin_combinefn(IntPtr state1, IntPtr state2) + => SafeExecution(() => MEOSExternalFunctions.tfloat_tmin_combinefn(state1, state2)); + public static IntPtr tfloat_tsum_transfn(IntPtr state, IntPtr temp) => SafeExecution(() => MEOSExternalFunctions.tfloat_tsum_transfn(state, temp)); + public static IntPtr tfloat_tsum_combinefn(IntPtr state1, IntPtr state2) + => SafeExecution(() => MEOSExternalFunctions.tfloat_tsum_combinefn(state1, state2)); + public static IntPtr tfloat_wmax_transfn(IntPtr state, IntPtr temp, IntPtr interv) => SafeExecution(() => MEOSExternalFunctions.tfloat_wmax_transfn(state, temp, interv)); @@ -3751,12 +4279,21 @@ public static IntPtr timestamptz_tcount_transfn(IntPtr state, long t) public static IntPtr tint_tmax_transfn(IntPtr state, IntPtr temp) => SafeExecution(() => MEOSExternalFunctions.tint_tmax_transfn(state, temp)); + public static IntPtr tint_tmax_combinefn(IntPtr state1, IntPtr state2) + => SafeExecution(() => MEOSExternalFunctions.tint_tmax_combinefn(state1, state2)); + public static IntPtr tint_tmin_transfn(IntPtr state, IntPtr temp) => SafeExecution(() => MEOSExternalFunctions.tint_tmin_transfn(state, temp)); + public static IntPtr tint_tmin_combinefn(IntPtr state1, IntPtr state2) + => SafeExecution(() => MEOSExternalFunctions.tint_tmin_combinefn(state1, state2)); + public static IntPtr tint_tsum_transfn(IntPtr state, IntPtr temp) => SafeExecution(() => MEOSExternalFunctions.tint_tsum_transfn(state, temp)); + public static IntPtr tint_tsum_combinefn(IntPtr state1, IntPtr state2) + => SafeExecution(() => MEOSExternalFunctions.tint_tsum_combinefn(state1, state2)); + public static IntPtr tint_wmax_transfn(IntPtr state, IntPtr temp, IntPtr interv) => SafeExecution(() => MEOSExternalFunctions.tint_wmax_transfn(state, temp, interv)); @@ -3775,6 +4312,9 @@ public static IntPtr tnumber_tavg_finalfn(IntPtr state) public static IntPtr tnumber_tavg_transfn(IntPtr state, IntPtr temp) => SafeExecution(() => MEOSExternalFunctions.tnumber_tavg_transfn(state, temp)); + public static IntPtr tnumber_tavg_combinefn(IntPtr state1, IntPtr state2) + => SafeExecution(() => MEOSExternalFunctions.tnumber_tavg_combinefn(state1, state2)); + public static IntPtr tnumber_wavg_transfn(IntPtr state, IntPtr temp, IntPtr interv) => SafeExecution(() => MEOSExternalFunctions.tnumber_wavg_transfn(state, temp, interv)); @@ -3787,17 +4327,29 @@ public static IntPtr tstzspan_tcount_transfn(IntPtr state, IntPtr s) public static IntPtr tstzspanset_tcount_transfn(IntPtr state, IntPtr ss) => SafeExecution(() => MEOSExternalFunctions.tstzspanset_tcount_transfn(state, ss)); + public static IntPtr temporal_merge_transfn(IntPtr state, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.temporal_merge_transfn(state, temp)); + + public static IntPtr temporal_merge_combinefn(IntPtr state1, IntPtr state2) + => SafeExecution(() => MEOSExternalFunctions.temporal_merge_combinefn(state1, state2)); + public static IntPtr ttext_tmax_transfn(IntPtr state, IntPtr temp) => SafeExecution(() => MEOSExternalFunctions.ttext_tmax_transfn(state, temp)); + public static IntPtr ttext_tmax_combinefn(IntPtr state1, IntPtr state2) + => SafeExecution(() => MEOSExternalFunctions.ttext_tmax_combinefn(state1, state2)); + public static IntPtr ttext_tmin_transfn(IntPtr state, IntPtr temp) => SafeExecution(() => MEOSExternalFunctions.ttext_tmin_transfn(state, temp)); - public static IntPtr temporal_simplify_dp(IntPtr temp, double eps_dist, bool synchronized) - => SafeExecution(() => MEOSExternalFunctions.temporal_simplify_dp(temp, eps_dist, synchronized)); + public static IntPtr ttext_tmin_combinefn(IntPtr state1, IntPtr state2) + => SafeExecution(() => MEOSExternalFunctions.ttext_tmin_combinefn(state1, state2)); + + public static IntPtr temporal_simplify_dp(IntPtr temp, double dist, bool synchronized) + => SafeExecution(() => MEOSExternalFunctions.temporal_simplify_dp(temp, dist, synchronized)); - public static IntPtr temporal_simplify_max_dist(IntPtr temp, double eps_dist, bool synchronized) - => SafeExecution(() => MEOSExternalFunctions.temporal_simplify_max_dist(temp, eps_dist, synchronized)); + public static IntPtr temporal_simplify_max_dist(IntPtr temp, double dist, bool synchronized) + => SafeExecution(() => MEOSExternalFunctions.temporal_simplify_max_dist(temp, dist, synchronized)); public static IntPtr temporal_simplify_min_dist(IntPtr temp, double dist) => SafeExecution(() => MEOSExternalFunctions.temporal_simplify_min_dist(temp, dist)); @@ -3814,52 +4366,133 @@ public static IntPtr temporal_tsample(IntPtr temp, IntPtr duration, long origin, public static double temporal_dyntimewarp_distance(IntPtr temp1, IntPtr temp2) => SafeExecution(() => MEOSExternalFunctions.temporal_dyntimewarp_distance(temp1, temp2)); - public static IntPtr temporal_dyntimewarp_path(IntPtr temp1, IntPtr temp2, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.temporal_dyntimewarp_path(temp1, temp2, count)); + public static IntPtr[] temporal_dyntimewarp_path(IntPtr temp1, IntPtr temp2) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.temporal_dyntimewarp_path(temp1, temp2, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } public static double temporal_frechet_distance(IntPtr temp1, IntPtr temp2) => SafeExecution(() => MEOSExternalFunctions.temporal_frechet_distance(temp1, temp2)); - public static IntPtr temporal_frechet_path(IntPtr temp1, IntPtr temp2, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.temporal_frechet_path(temp1, temp2, count)); + public static IntPtr[] temporal_frechet_path(IntPtr temp1, IntPtr temp2) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.temporal_frechet_path(temp1, temp2, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } public static double temporal_hausdorff_distance(IntPtr temp1, IntPtr temp2) => SafeExecution(() => MEOSExternalFunctions.temporal_hausdorff_distance(temp1, temp2)); - public static IntPtr temporal_time_bins(IntPtr temp, IntPtr duration, long origin, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.temporal_time_bins(temp, duration, origin, count)); + public static double temporal_average_hausdorff_distance(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.temporal_average_hausdorff_distance(temp1, temp2)); + + public static double temporal_lcss_distance(IntPtr temp1, IntPtr temp2, double epsilon) + => SafeExecution(() => MEOSExternalFunctions.temporal_lcss_distance(temp1, temp2, epsilon)); + + public static IntPtr temporal_ext_kalman_filter(IntPtr temp, double gate, double q, double variance, bool to_drop) + => SafeExecution(() => MEOSExternalFunctions.temporal_ext_kalman_filter(temp, gate, q, variance, to_drop)); + + public static IntPtr[] temporal_time_bins(IntPtr temp, IntPtr duration, long origin) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.temporal_time_bins(temp, duration, origin, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } public static (IntPtr[], long[]) temporal_time_split(IntPtr temp, IntPtr duration, long torigin) { - IntPtr _out_time_bins = Marshal.AllocHGlobal(IntPtr.Size); + IntPtr _out_bins = Marshal.AllocHGlobal(IntPtr.Size); IntPtr _count_count = Marshal.AllocHGlobal(sizeof(int)); try { - IntPtr _resultPtr = SafeExecution(() => MEOSExternalFunctions.temporal_time_split(temp, duration, torigin, _out_time_bins, _count_count)); + IntPtr _resultPtr = SafeExecution(() => MEOSExternalFunctions.temporal_time_split(temp, duration, torigin, _out_bins, _count_count)); int _n = Marshal.ReadInt32(_count_count); IntPtr[] _resultArr = new IntPtr[_n]; for (int _i = 0; _i < _n; _i++) { _resultArr[_i] = Marshal.ReadIntPtr(_resultPtr, _i * IntPtr.Size); } - IntPtr __out_time_bins_arr = Marshal.ReadIntPtr(_out_time_bins); - long[] __out_time_bins_out = new long[_n]; - Marshal.Copy(__out_time_bins_arr, __out_time_bins_out, 0, _n); - return (_resultArr, __out_time_bins_out); + IntPtr __out_bins_arr = Marshal.ReadIntPtr(_out_bins); + long[] __out_bins_out = new long[_n]; + Marshal.Copy(__out_bins_arr, __out_bins_out, 0, _n); + return (_resultArr, __out_bins_out); } finally { - Marshal.FreeHGlobal(_out_time_bins); + Marshal.FreeHGlobal(_out_bins); Marshal.FreeHGlobal(_count_count); } } - public static IntPtr tfloat_time_boxes(IntPtr temp, IntPtr duration, long torigin, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.tfloat_time_boxes(temp, duration, torigin, count)); + public static IntPtr[] tfloat_time_boxes(IntPtr temp, IntPtr duration, long torigin) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tfloat_time_boxes(temp, duration, torigin, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } - public static IntPtr tfloat_value_bins(IntPtr temp, double vsize, double vorigin, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.tfloat_value_bins(temp, vsize, vorigin, count)); + public static IntPtr[] tfloat_value_bins(IntPtr temp, double vsize, double vorigin) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tfloat_value_bins(temp, vsize, vorigin, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } - public static IntPtr tfloat_value_boxes(IntPtr temp, double vsize, double vorigin, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.tfloat_value_boxes(temp, vsize, vorigin, count)); + public static IntPtr[] tfloat_value_boxes(IntPtr temp, double vsize, double vorigin) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tfloat_value_boxes(temp, vsize, vorigin, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } public static (IntPtr[], double[]) tfloat_value_split(IntPtr temp, double size, double origin) { @@ -3884,8 +4517,20 @@ public static (IntPtr[], double[]) tfloat_value_split(IntPtr temp, double size, } } - public static IntPtr tfloat_value_time_boxes(IntPtr temp, double vsize, IntPtr duration, double vorigin, long torigin, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.tfloat_value_time_boxes(temp, vsize, duration, vorigin, torigin, count)); + public static IntPtr[] tfloat_value_time_boxes(IntPtr temp, double vsize, IntPtr duration, double vorigin, long torigin) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tfloat_value_time_boxes(temp, vsize, duration, vorigin, torigin, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } public static (IntPtr[], double[], long[]) tfloat_value_time_split(IntPtr temp, double vsize, IntPtr duration, double vorigin, long torigin) { @@ -3915,60 +4560,144 @@ public static (IntPtr[], double[], long[]) tfloat_value_time_split(IntPtr temp, } } - public static IntPtr tfloatbox_time_tiles(IntPtr box, IntPtr duration, long torigin, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.tfloatbox_time_tiles(box, duration, torigin, count)); - - public static IntPtr tfloatbox_value_tiles(IntPtr box, double vsize, double vorigin, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.tfloatbox_value_tiles(box, vsize, vorigin, count)); - - public static IntPtr tfloatbox_value_time_tiles(IntPtr box, double vsize, IntPtr duration, double vorigin, long torigin, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.tfloatbox_value_time_tiles(box, vsize, duration, vorigin, torigin, count)); - - public static IntPtr tint_time_boxes(IntPtr temp, IntPtr duration, long torigin, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.tint_time_boxes(temp, duration, torigin, count)); - - public static IntPtr tint_value_bins(IntPtr temp, int vsize, int vorigin, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.tint_value_bins(temp, vsize, vorigin, count)); - - public static IntPtr tint_value_boxes(IntPtr temp, int vsize, int vorigin, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.tint_value_boxes(temp, vsize, vorigin, count)); - - public static (IntPtr[], int[]) tint_value_split(IntPtr temp, int vsize, int vorigin) + public static IntPtr[] tfloatbox_time_tiles(IntPtr box, IntPtr duration, long torigin) { - IntPtr _out_bins = Marshal.AllocHGlobal(IntPtr.Size); - IntPtr _count_count = Marshal.AllocHGlobal(sizeof(int)); + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); try { - IntPtr _resultPtr = SafeExecution(() => MEOSExternalFunctions.tint_value_split(temp, vsize, vorigin, _out_bins, _count_count)); - int _n = Marshal.ReadInt32(_count_count); - IntPtr[] _resultArr = new IntPtr[_n]; + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tfloatbox_time_tiles(box, duration, torigin, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; for (int _i = 0; _i < _n; _i++) - { _resultArr[_i] = Marshal.ReadIntPtr(_resultPtr, _i * IntPtr.Size); } - IntPtr __out_bins_arr = Marshal.ReadIntPtr(_out_bins); - int[] __out_bins_out = new int[_n]; - Marshal.Copy(__out_bins_arr, __out_bins_out, 0, _n); - return (_resultArr, __out_bins_out); + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; } - finally + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static IntPtr[] tfloatbox_value_tiles(IntPtr box, double vsize, double vorigin) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try { - Marshal.FreeHGlobal(_out_bins); - Marshal.FreeHGlobal(_count_count); + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tfloatbox_value_tiles(box, vsize, vorigin, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; } + finally { Marshal.FreeHGlobal(_cnt); } } - public static IntPtr tint_value_time_boxes(IntPtr temp, int vsize, IntPtr duration, int vorigin, long torigin, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.tint_value_time_boxes(temp, vsize, duration, vorigin, torigin, count)); - - public static (IntPtr[], int[], long[]) tint_value_time_split(IntPtr temp, int size, IntPtr duration, int vorigin, long torigin) + public static IntPtr[] tfloatbox_value_time_tiles(IntPtr box, double vsize, IntPtr duration, double vorigin, long torigin) { - IntPtr _out_value_bins = Marshal.AllocHGlobal(IntPtr.Size); - IntPtr _out_time_bins = Marshal.AllocHGlobal(IntPtr.Size); - IntPtr _count_count = Marshal.AllocHGlobal(sizeof(int)); + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); try { - IntPtr _resultPtr = SafeExecution(() => MEOSExternalFunctions.tint_value_time_split(temp, size, duration, vorigin, torigin, _out_value_bins, _out_time_bins, _count_count)); - int _n = Marshal.ReadInt32(_count_count); - IntPtr[] _resultArr = new IntPtr[_n]; + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tfloatbox_value_time_tiles(box, vsize, duration, vorigin, torigin, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static IntPtr[] tint_time_boxes(IntPtr temp, IntPtr duration, long torigin) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tint_time_boxes(temp, duration, torigin, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static IntPtr[] tint_value_bins(IntPtr temp, int vsize, int vorigin) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tint_value_bins(temp, vsize, vorigin, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static IntPtr[] tint_value_boxes(IntPtr temp, int vsize, int vorigin) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tint_value_boxes(temp, vsize, vorigin, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static (IntPtr[], int[]) tint_value_split(IntPtr temp, int vsize, int vorigin) + { + IntPtr _out_bins = Marshal.AllocHGlobal(IntPtr.Size); + IntPtr _count_count = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _resultPtr = SafeExecution(() => MEOSExternalFunctions.tint_value_split(temp, vsize, vorigin, _out_bins, _count_count)); + int _n = Marshal.ReadInt32(_count_count); + IntPtr[] _resultArr = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _resultArr[_i] = Marshal.ReadIntPtr(_resultPtr, _i * IntPtr.Size); } + IntPtr __out_bins_arr = Marshal.ReadIntPtr(_out_bins); + int[] __out_bins_out = new int[_n]; + Marshal.Copy(__out_bins_arr, __out_bins_out, 0, _n); + return (_resultArr, __out_bins_out); + } + finally + { + Marshal.FreeHGlobal(_out_bins); + Marshal.FreeHGlobal(_count_count); + } + } + + public static IntPtr[] tint_value_time_boxes(IntPtr temp, int vsize, IntPtr duration, int vorigin, long torigin) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tint_value_time_boxes(temp, vsize, duration, vorigin, torigin, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static (IntPtr[], int[], long[]) tint_value_time_split(IntPtr temp, int size, IntPtr duration, int vorigin, long torigin) + { + IntPtr _out_value_bins = Marshal.AllocHGlobal(IntPtr.Size); + IntPtr _out_time_bins = Marshal.AllocHGlobal(IntPtr.Size); + IntPtr _count_count = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _resultPtr = SafeExecution(() => MEOSExternalFunctions.tint_value_time_split(temp, size, duration, vorigin, torigin, _out_value_bins, _out_time_bins, _count_count)); + int _n = Marshal.ReadInt32(_count_count); + IntPtr[] _resultArr = new IntPtr[_n]; for (int _i = 0; _i < _n; _i++) { _resultArr[_i] = Marshal.ReadIntPtr(_resultPtr, _i * IntPtr.Size); } IntPtr __out_value_bins_arr = Marshal.ReadIntPtr(_out_value_bins); @@ -3987,3483 +4716,11088 @@ public static (IntPtr[], int[], long[]) tint_value_time_split(IntPtr temp, int s } } - public static IntPtr tintbox_time_tiles(IntPtr box, IntPtr duration, long torigin, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.tintbox_time_tiles(box, duration, torigin, count)); + public static IntPtr[] tintbox_time_tiles(IntPtr box, IntPtr duration, long torigin) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tintbox_time_tiles(box, duration, torigin, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } - public static IntPtr tintbox_value_tiles(IntPtr box, int xsize, int xorigin, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.tintbox_value_tiles(box, xsize, xorigin, count)); + public static IntPtr[] tintbox_value_tiles(IntPtr box, int xsize, int xorigin) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tintbox_value_tiles(box, xsize, xorigin, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } - public static IntPtr tintbox_value_time_tiles(IntPtr box, int xsize, IntPtr duration, int xorigin, long torigin, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.tintbox_value_time_tiles(box, xsize, duration, xorigin, torigin, count)); + public static IntPtr[] tintbox_value_time_tiles(IntPtr box, int xsize, IntPtr duration, int xorigin, long torigin) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tintbox_value_time_tiles(box, xsize, duration, xorigin, torigin, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } - public static bool temptype_subtype(int subtype) - => SafeExecution(() => MEOSExternalFunctions.temptype_subtype(subtype)); + public static IntPtr box3d_from_gbox(IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.box3d_from_gbox(box)); - public static bool temptype_subtype_all(int subtype) - => SafeExecution(() => MEOSExternalFunctions.temptype_subtype_all(subtype)); + public static IntPtr box3d_make(double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, int srid) + => SafeExecution(() => MEOSExternalFunctions.box3d_make(xmin, xmax, ymin, ymax, zmin, zmax, srid)); - public static string tempsubtype_name(int subtype) - => SafeExecution(() => MEOSExternalFunctions.tempsubtype_name(subtype)); + public static IntPtr box3d_in(string str) + => SafeExecution(() => MEOSExternalFunctions.box3d_in(str)); - public static bool tempsubtype_from_string(string str, IntPtr subtype) - => SafeExecution(() => MEOSExternalFunctions.tempsubtype_from_string(str, subtype)); + public static string box3d_out(IntPtr box, int maxdd) + => SafeExecution(() => MEOSExternalFunctions.box3d_out(box, maxdd)); - public static string meosoper_name(IntPtr oper) - => SafeExecution(() => MEOSExternalFunctions.meosoper_name(oper)); + public static IntPtr gbox_make(bool hasz, bool hasm, bool geodetic, double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, double mmin, double mmax) + => SafeExecution(() => MEOSExternalFunctions.gbox_make(hasz, hasm, geodetic, xmin, xmax, ymin, ymax, zmin, zmax, mmin, mmax)); - public static IntPtr meosoper_from_string(string name) - => SafeExecution(() => MEOSExternalFunctions.meosoper_from_string(name)); + public static IntPtr gbox_in(string str) + => SafeExecution(() => MEOSExternalFunctions.gbox_in(str)); - public static string interptype_name(int interp) - => SafeExecution(() => MEOSExternalFunctions.interptype_name(interp)); + public static string gbox_out(IntPtr box, int maxdd) + => SafeExecution(() => MEOSExternalFunctions.gbox_out(box, maxdd)); - public static int interptype_from_string(string interp_str) - => SafeExecution(() => MEOSExternalFunctions.interptype_from_string(interp_str)); + public static IntPtr geo_as_ewkb(IntPtr gs, string endian, IntPtr size) + => SafeExecution(() => MEOSExternalFunctions.geo_as_ewkb(gs, endian, size)); - public static string meostype_name(int type) - => SafeExecution(() => MEOSExternalFunctions.meostype_name(type)); + public static string geo_as_ewkt(IntPtr gs, int precision) + => SafeExecution(() => MEOSExternalFunctions.geo_as_ewkt(gs, precision)); - public static int temptype_basetype(int type) - => SafeExecution(() => MEOSExternalFunctions.temptype_basetype(type)); + public static string geo_as_geojson(IntPtr gs, int option, int precision, string srs) + => SafeExecution(() => MEOSExternalFunctions.geo_as_geojson(gs, option, precision, srs)); - public static int settype_basetype(int type) - => SafeExecution(() => MEOSExternalFunctions.settype_basetype(type)); + public static string geo_as_hexewkb(IntPtr gs, string endian) + => SafeExecution(() => MEOSExternalFunctions.geo_as_hexewkb(gs, endian)); - public static int spantype_basetype(int type) - => SafeExecution(() => MEOSExternalFunctions.spantype_basetype(type)); + public static string geo_as_text(IntPtr gs, int precision) + => SafeExecution(() => MEOSExternalFunctions.geo_as_text(gs, precision)); + + public static IntPtr geo_from_ewkb(IntPtr wkb, ulong wkb_size, int srid) + => SafeExecution(() => MEOSExternalFunctions.geo_from_ewkb(wkb, wkb_size, srid)); + + public static IntPtr geo_from_geojson(string geojson) + => SafeExecution(() => MEOSExternalFunctions.geo_from_geojson(geojson)); + + public static IntPtr geo_from_text(string wkt, int srid) + => SafeExecution(() => MEOSExternalFunctions.geo_from_text(wkt, srid)); + + public static string geo_out(IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.geo_out(gs)); + + public static IntPtr geog_from_hexewkb(string wkt) + => SafeExecution(() => MEOSExternalFunctions.geog_from_hexewkb(wkt)); + + public static IntPtr geog_in(string str, int typmod) + => SafeExecution(() => MEOSExternalFunctions.geog_in(str, typmod)); + + public static IntPtr geom_from_hexewkb(string wkt) + => SafeExecution(() => MEOSExternalFunctions.geom_from_hexewkb(wkt)); + + public static IntPtr geom_in(string str, int typmod) + => SafeExecution(() => MEOSExternalFunctions.geom_in(str, typmod)); + + public static IntPtr geo_copy(IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.geo_copy(gs)); + + public static IntPtr geogpoint_make2d(int srid, double x, double y) + => SafeExecution(() => MEOSExternalFunctions.geogpoint_make2d(srid, x, y)); + + public static IntPtr geogpoint_make3dz(int srid, double x, double y, double z) + => SafeExecution(() => MEOSExternalFunctions.geogpoint_make3dz(srid, x, y, z)); + + public static IntPtr geompoint_make2d(int srid, double x, double y) + => SafeExecution(() => MEOSExternalFunctions.geompoint_make2d(srid, x, y)); + + public static IntPtr geompoint_make3dz(int srid, double x, double y, double z) + => SafeExecution(() => MEOSExternalFunctions.geompoint_make3dz(srid, x, y, z)); + + public static IntPtr geom_to_geog(IntPtr geom) + => SafeExecution(() => MEOSExternalFunctions.geom_to_geog(geom)); + + public static IntPtr geog_to_geom(IntPtr geog) + => SafeExecution(() => MEOSExternalFunctions.geog_to_geom(geog)); + + public static bool geo_is_empty(IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.geo_is_empty(gs)); + + public static bool geo_is_unitary(IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.geo_is_unitary(gs)); + + public static string geo_typename(int type) + => SafeExecution(() => MEOSExternalFunctions.geo_typename(type)); + + public static double geog_area(IntPtr gs, bool use_spheroid) + => SafeExecution(() => MEOSExternalFunctions.geog_area(gs, use_spheroid)); + + public static IntPtr geog_centroid(IntPtr gs, bool use_spheroid) + => SafeExecution(() => MEOSExternalFunctions.geog_centroid(gs, use_spheroid)); + + public static double geog_length(IntPtr gs, bool use_spheroid) + => SafeExecution(() => MEOSExternalFunctions.geog_length(gs, use_spheroid)); + + public static double geog_perimeter(IntPtr gs, bool use_spheroid) + => SafeExecution(() => MEOSExternalFunctions.geog_perimeter(gs, use_spheroid)); + + public static bool geom_azimuth(IntPtr gs1, IntPtr gs2, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.geom_azimuth(gs1, gs2, result)); + + public static double geom_length(IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.geom_length(gs)); + + public static double geom_perimeter(IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.geom_perimeter(gs)); + + public static int line_numpoints(IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.line_numpoints(gs)); + + public static IntPtr line_point_n(IntPtr geom, int n) + => SafeExecution(() => MEOSExternalFunctions.line_point_n(geom, n)); + + public static IntPtr geo_reverse(IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.geo_reverse(gs)); + + public static IntPtr geo_round(IntPtr gs, int maxdd) + => SafeExecution(() => MEOSExternalFunctions.geo_round(gs, maxdd)); + + public static IntPtr geo_set_srid(IntPtr gs, int srid) + => SafeExecution(() => MEOSExternalFunctions.geo_set_srid(gs, srid)); + + public static int geo_srid(IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.geo_srid(gs)); + + public static IntPtr geo_transform(IntPtr geom, int srid_to) + => SafeExecution(() => MEOSExternalFunctions.geo_transform(geom, srid_to)); + + public static IntPtr geo_transform_pipeline(IntPtr gs, string pipeline, int srid_to, bool is_forward) + => SafeExecution(() => MEOSExternalFunctions.geo_transform_pipeline(gs, pipeline, srid_to, is_forward)); + + public static IntPtr geo_collect_garray(IntPtr gsarr, int count) + => SafeExecution(() => MEOSExternalFunctions.geo_collect_garray(gsarr, count)); + + public static IntPtr geo_makeline_garray(IntPtr gsarr, int count) + => SafeExecution(() => MEOSExternalFunctions.geo_makeline_garray(gsarr, count)); + + public static int geo_num_points(IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.geo_num_points(gs)); + + public static int geo_num_geos(IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.geo_num_geos(gs)); + + public static IntPtr geo_geo_n(IntPtr geom, int n) + => SafeExecution(() => MEOSExternalFunctions.geo_geo_n(geom, n)); + + public static IntPtr[] geo_pointarr(IntPtr gs) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.geo_pointarr(gs, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static IntPtr geo_points(IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.geo_points(gs)); + + public static IntPtr geom_array_union(IntPtr gsarr, int count) + => SafeExecution(() => MEOSExternalFunctions.geom_array_union(gsarr, count)); + + public static IntPtr geom_boundary(IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.geom_boundary(gs)); + + public static IntPtr geom_buffer(IntPtr gs, double size, string @params) + => SafeExecution(() => MEOSExternalFunctions.geom_buffer(gs, size, @params)); + + public static IntPtr geom_centroid(IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.geom_centroid(gs)); + + public static IntPtr geom_convex_hull(IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.geom_convex_hull(gs)); + + public static IntPtr geom_difference2d(IntPtr gs1, IntPtr gs2) + => SafeExecution(() => MEOSExternalFunctions.geom_difference2d(gs1, gs2)); + + public static IntPtr geom_intersection2d(IntPtr gs1, IntPtr gs2) + => SafeExecution(() => MEOSExternalFunctions.geom_intersection2d(gs1, gs2)); + + public static IntPtr geom_intersection2d_coll(IntPtr gs1, IntPtr gs2) + => SafeExecution(() => MEOSExternalFunctions.geom_intersection2d_coll(gs1, gs2)); + + public static IntPtr geom_min_bounding_radius(IntPtr geom, IntPtr radius) + => SafeExecution(() => MEOSExternalFunctions.geom_min_bounding_radius(geom, radius)); + + public static IntPtr geom_shortestline2d(IntPtr gs1, IntPtr gs2) + => SafeExecution(() => MEOSExternalFunctions.geom_shortestline2d(gs1, gs2)); + + public static IntPtr geom_shortestline3d(IntPtr gs1, IntPtr gs2) + => SafeExecution(() => MEOSExternalFunctions.geom_shortestline3d(gs1, gs2)); + + public static IntPtr geom_unary_union(IntPtr gs, double prec) + => SafeExecution(() => MEOSExternalFunctions.geom_unary_union(gs, prec)); + + public static IntPtr line_interpolate_point(IntPtr gs, double distance_fraction, bool repeat) + => SafeExecution(() => MEOSExternalFunctions.line_interpolate_point(gs, distance_fraction, repeat)); + + public static double line_locate_point(IntPtr gs1, IntPtr gs2) + => SafeExecution(() => MEOSExternalFunctions.line_locate_point(gs1, gs2)); + + public static IntPtr line_substring(IntPtr gs, double from, double to) + => SafeExecution(() => MEOSExternalFunctions.line_substring(gs, from, to)); + + public static bool geog_dwithin(IntPtr g1, IntPtr g2, double tolerance, bool use_spheroid) + => SafeExecution(() => MEOSExternalFunctions.geog_dwithin(g1, g2, tolerance, use_spheroid)); + + public static bool geog_intersects(IntPtr gs1, IntPtr gs2, bool use_spheroid) + => SafeExecution(() => MEOSExternalFunctions.geog_intersects(gs1, gs2, use_spheroid)); + + public static bool geom_contains(IntPtr gs1, IntPtr gs2) + => SafeExecution(() => MEOSExternalFunctions.geom_contains(gs1, gs2)); + + public static bool geom_covers(IntPtr gs1, IntPtr gs2) + => SafeExecution(() => MEOSExternalFunctions.geom_covers(gs1, gs2)); + + public static bool geom_disjoint2d(IntPtr gs1, IntPtr gs2) + => SafeExecution(() => MEOSExternalFunctions.geom_disjoint2d(gs1, gs2)); + + public static bool geom_dwithin(IntPtr gs1, IntPtr gs2, double tolerance) + => SafeExecution(() => MEOSExternalFunctions.geom_dwithin(gs1, gs2, tolerance)); + + public static bool geom_dwithin2d(IntPtr gs1, IntPtr gs2, double tolerance) + => SafeExecution(() => MEOSExternalFunctions.geom_dwithin2d(gs1, gs2, tolerance)); + + public static bool geom_dwithin3d(IntPtr gs1, IntPtr gs2, double tolerance) + => SafeExecution(() => MEOSExternalFunctions.geom_dwithin3d(gs1, gs2, tolerance)); + + public static bool geom_intersects(IntPtr gs1, IntPtr gs2) + => SafeExecution(() => MEOSExternalFunctions.geom_intersects(gs1, gs2)); + + public static bool geom_intersects2d(IntPtr gs1, IntPtr gs2) + => SafeExecution(() => MEOSExternalFunctions.geom_intersects2d(gs1, gs2)); + + public static bool geom_intersects3d(IntPtr gs1, IntPtr gs2) + => SafeExecution(() => MEOSExternalFunctions.geom_intersects3d(gs1, gs2)); + + public static bool geom_relate_pattern(IntPtr gs1, IntPtr gs2, string patt) + => SafeExecution(() => MEOSExternalFunctions.geom_relate_pattern(gs1, gs2, patt)); + + public static bool geom_touches(IntPtr gs1, IntPtr gs2) + => SafeExecution(() => MEOSExternalFunctions.geom_touches(gs1, gs2)); + + public static IntPtr[] geo_stboxes(IntPtr gs) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.geo_stboxes(gs, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static IntPtr[] geo_split_each_n_stboxes(IntPtr gs, int elem_count) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.geo_split_each_n_stboxes(gs, elem_count, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static IntPtr[] geo_split_n_stboxes(IntPtr gs, int box_count) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.geo_split_n_stboxes(gs, box_count, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static double geog_distance(IntPtr g1, IntPtr g2) + => SafeExecution(() => MEOSExternalFunctions.geog_distance(g1, g2)); + + public static double geom_distance2d(IntPtr gs1, IntPtr gs2) + => SafeExecution(() => MEOSExternalFunctions.geom_distance2d(gs1, gs2)); + + public static double geom_distance3d(IntPtr gs1, IntPtr gs2) + => SafeExecution(() => MEOSExternalFunctions.geom_distance3d(gs1, gs2)); + + public static int geo_equals(IntPtr gs1, IntPtr gs2) + => SafeExecution(() => MEOSExternalFunctions.geo_equals(gs1, gs2)); + + public static bool geo_same(IntPtr gs1, IntPtr gs2) + => SafeExecution(() => MEOSExternalFunctions.geo_same(gs1, gs2)); + + public static IntPtr geogset_in(string str) + => SafeExecution(() => MEOSExternalFunctions.geogset_in(str)); + + public static IntPtr geomset_in(string str) + => SafeExecution(() => MEOSExternalFunctions.geomset_in(str)); + + public static string spatialset_out(IntPtr s, int maxdd) + => SafeExecution(() => MEOSExternalFunctions.spatialset_out(s, maxdd)); + + public static string spatialset_as_text(IntPtr set, int maxdd) + => SafeExecution(() => MEOSExternalFunctions.spatialset_as_text(set, maxdd)); + + public static string spatialset_as_ewkt(IntPtr set, int maxdd) + => SafeExecution(() => MEOSExternalFunctions.spatialset_as_ewkt(set, maxdd)); + + public static IntPtr geoset_make(IntPtr values, int count) + => SafeExecution(() => MEOSExternalFunctions.geoset_make(values, count)); + + public static IntPtr geo_to_set(IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.geo_to_set(gs)); + + public static IntPtr geoset_end_value(IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.geoset_end_value(s)); + + public static IntPtr geoset_start_value(IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.geoset_start_value(s)); + + public static bool geoset_value_n(IntPtr s, int n, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.geoset_value_n(s, n, result)); + + public static IntPtr[] geoset_values(IntPtr s) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.geoset_values(s, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static bool contained_geo_set(IntPtr gs, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.contained_geo_set(gs, s)); + + public static bool contains_set_geo(IntPtr s, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.contains_set_geo(s, gs)); + + public static IntPtr geo_union_transfn(IntPtr state, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.geo_union_transfn(state, gs)); + + public static IntPtr intersection_geo_set(IntPtr gs, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.intersection_geo_set(gs, s)); + + public static IntPtr intersection_set_geo(IntPtr s, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.intersection_set_geo(s, gs)); + + public static IntPtr minus_geo_set(IntPtr gs, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.minus_geo_set(gs, s)); + + public static IntPtr minus_set_geo(IntPtr s, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.minus_set_geo(s, gs)); + + public static IntPtr union_geo_set(IntPtr gs, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.union_geo_set(gs, s)); + + public static IntPtr union_set_geo(IntPtr s, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.union_set_geo(s, gs)); + + public static IntPtr spatialset_set_srid(IntPtr s, int srid) + => SafeExecution(() => MEOSExternalFunctions.spatialset_set_srid(s, srid)); + + public static int spatialset_srid(IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.spatialset_srid(s)); + + public static IntPtr spatialset_transform(IntPtr s, int srid) + => SafeExecution(() => MEOSExternalFunctions.spatialset_transform(s, srid)); + + public static IntPtr spatialset_transform_pipeline(IntPtr s, string pipelinestr, int srid, bool is_forward) + => SafeExecution(() => MEOSExternalFunctions.spatialset_transform_pipeline(s, pipelinestr, srid, is_forward)); + + public static string stbox_as_hexwkb(IntPtr box, IntPtr variant, IntPtr size_out) + => SafeExecution(() => MEOSExternalFunctions.stbox_as_hexwkb(box, variant, size_out)); + + public static IntPtr stbox_as_wkb(IntPtr box, IntPtr variant, IntPtr size_out) + => SafeExecution(() => MEOSExternalFunctions.stbox_as_wkb(box, variant, size_out)); + + public static IntPtr stbox_from_hexwkb(string hexwkb) + => SafeExecution(() => MEOSExternalFunctions.stbox_from_hexwkb(hexwkb)); + + public static IntPtr stbox_from_wkb(IntPtr wkb, ulong size) + => SafeExecution(() => MEOSExternalFunctions.stbox_from_wkb(wkb, size)); + + public static IntPtr stbox_in(string str) + => SafeExecution(() => MEOSExternalFunctions.stbox_in(str)); + + public static string stbox_out(IntPtr box, int maxdd) + => SafeExecution(() => MEOSExternalFunctions.stbox_out(box, maxdd)); + + public static IntPtr geo_timestamptz_to_stbox(IntPtr gs, long t) + => SafeExecution(() => MEOSExternalFunctions.geo_timestamptz_to_stbox(gs, t)); + + public static IntPtr geo_tstzspan_to_stbox(IntPtr gs, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.geo_tstzspan_to_stbox(gs, s)); + + public static IntPtr stbox_copy(IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.stbox_copy(box)); + + public static IntPtr stbox_make(bool hasx, bool hasz, bool geodetic, int srid, double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.stbox_make(hasx, hasz, geodetic, srid, xmin, xmax, ymin, ymax, zmin, zmax, s)); + + public static IntPtr geo_to_stbox(IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.geo_to_stbox(gs)); + + public static IntPtr spatialset_to_stbox(IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.spatialset_to_stbox(s)); + + public static IntPtr stbox_to_box3d(IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.stbox_to_box3d(box)); + + public static IntPtr stbox_to_gbox(IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.stbox_to_gbox(box)); + + public static IntPtr stbox_to_geo(IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.stbox_to_geo(box)); + + public static IntPtr stbox_to_tstzspan(IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.stbox_to_tstzspan(box)); + + public static IntPtr timestamptz_to_stbox(long t) + => SafeExecution(() => MEOSExternalFunctions.timestamptz_to_stbox(t)); + + public static IntPtr tstzset_to_stbox(IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.tstzset_to_stbox(s)); + + public static IntPtr tstzspan_to_stbox(IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.tstzspan_to_stbox(s)); + + public static IntPtr tstzspanset_to_stbox(IntPtr ss) + => SafeExecution(() => MEOSExternalFunctions.tstzspanset_to_stbox(ss)); + + public static double stbox_area(IntPtr box, bool spheroid) + => SafeExecution(() => MEOSExternalFunctions.stbox_area(box, spheroid)); + + public static int stbox_hash(IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.stbox_hash(box)); + + public static IntPtr stbox_hash_extended(IntPtr box, IntPtr seed) + => SafeExecution(() => MEOSExternalFunctions.stbox_hash_extended(box, seed)); + + public static bool stbox_hast(IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.stbox_hast(box)); + + public static bool stbox_hasx(IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.stbox_hasx(box)); + + public static bool stbox_hasz(IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.stbox_hasz(box)); + + public static bool stbox_isgeodetic(IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.stbox_isgeodetic(box)); + + public static double stbox_perimeter(IntPtr box, bool spheroid) + => SafeExecution(() => MEOSExternalFunctions.stbox_perimeter(box, spheroid)); + + public static bool stbox_tmax(IntPtr box, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.stbox_tmax(box, result)); + + public static bool stbox_tmax_inc(IntPtr box, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.stbox_tmax_inc(box, result)); + + public static bool stbox_tmin(IntPtr box, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.stbox_tmin(box, result)); + + public static bool stbox_tmin_inc(IntPtr box, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.stbox_tmin_inc(box, result)); + + public static double stbox_volume(IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.stbox_volume(box)); + + public static bool stbox_xmax(IntPtr box, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.stbox_xmax(box, result)); + + public static bool stbox_xmin(IntPtr box, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.stbox_xmin(box, result)); + + public static bool stbox_ymax(IntPtr box, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.stbox_ymax(box, result)); + + public static bool stbox_ymin(IntPtr box, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.stbox_ymin(box, result)); + + public static bool stbox_zmax(IntPtr box, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.stbox_zmax(box, result)); + + public static bool stbox_zmin(IntPtr box, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.stbox_zmin(box, result)); + + public static IntPtr stbox_expand_space(IntPtr box, double d) + => SafeExecution(() => MEOSExternalFunctions.stbox_expand_space(box, d)); + + public static IntPtr stbox_expand_time(IntPtr box, IntPtr interv) + => SafeExecution(() => MEOSExternalFunctions.stbox_expand_time(box, interv)); + + public static IntPtr stbox_get_space(IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.stbox_get_space(box)); + + public static IntPtr[] stbox_quad_split(IntPtr box) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.stbox_quad_split(box, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static IntPtr stbox_round(IntPtr box, int maxdd) + => SafeExecution(() => MEOSExternalFunctions.stbox_round(box, maxdd)); + + public static IntPtr stbox_shift_scale_time(IntPtr box, IntPtr shift, IntPtr duration) + => SafeExecution(() => MEOSExternalFunctions.stbox_shift_scale_time(box, shift, duration)); + + public static IntPtr stboxarr_round(IntPtr boxarr, int count, int maxdd) + => SafeExecution(() => MEOSExternalFunctions.stboxarr_round(boxarr, count, maxdd)); + + public static IntPtr stbox_set_srid(IntPtr box, int srid) + => SafeExecution(() => MEOSExternalFunctions.stbox_set_srid(box, srid)); + + public static int stbox_srid(IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.stbox_srid(box)); + + public static IntPtr stbox_transform(IntPtr box, int srid) + => SafeExecution(() => MEOSExternalFunctions.stbox_transform(box, srid)); + + public static IntPtr stbox_transform_pipeline(IntPtr box, string pipelinestr, int srid, bool is_forward) + => SafeExecution(() => MEOSExternalFunctions.stbox_transform_pipeline(box, pipelinestr, srid, is_forward)); + + public static bool adjacent_stbox_stbox(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.adjacent_stbox_stbox(box1, box2)); + + public static bool contained_stbox_stbox(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.contained_stbox_stbox(box1, box2)); + + public static bool contains_stbox_stbox(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.contains_stbox_stbox(box1, box2)); + + public static bool overlaps_stbox_stbox(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.overlaps_stbox_stbox(box1, box2)); + + public static bool same_stbox_stbox(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.same_stbox_stbox(box1, box2)); + + public static bool above_stbox_stbox(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.above_stbox_stbox(box1, box2)); + + public static bool after_stbox_stbox(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.after_stbox_stbox(box1, box2)); + + public static bool back_stbox_stbox(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.back_stbox_stbox(box1, box2)); + + public static bool before_stbox_stbox(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.before_stbox_stbox(box1, box2)); + + public static bool below_stbox_stbox(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.below_stbox_stbox(box1, box2)); + + public static bool front_stbox_stbox(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.front_stbox_stbox(box1, box2)); + + public static bool left_stbox_stbox(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.left_stbox_stbox(box1, box2)); + + public static bool overabove_stbox_stbox(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.overabove_stbox_stbox(box1, box2)); + + public static bool overafter_stbox_stbox(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.overafter_stbox_stbox(box1, box2)); + + public static bool overback_stbox_stbox(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.overback_stbox_stbox(box1, box2)); + + public static bool overbefore_stbox_stbox(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.overbefore_stbox_stbox(box1, box2)); + + public static bool overbelow_stbox_stbox(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.overbelow_stbox_stbox(box1, box2)); + + public static bool overfront_stbox_stbox(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.overfront_stbox_stbox(box1, box2)); + + public static bool overleft_stbox_stbox(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.overleft_stbox_stbox(box1, box2)); + + public static bool overright_stbox_stbox(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.overright_stbox_stbox(box1, box2)); + + public static bool right_stbox_stbox(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.right_stbox_stbox(box1, box2)); + + public static IntPtr union_stbox_stbox(IntPtr box1, IntPtr box2, bool strict) + => SafeExecution(() => MEOSExternalFunctions.union_stbox_stbox(box1, box2, strict)); + + public static IntPtr intersection_stbox_stbox(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.intersection_stbox_stbox(box1, box2)); + + public static int stbox_cmp(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.stbox_cmp(box1, box2)); + + public static bool stbox_eq(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.stbox_eq(box1, box2)); + + public static bool stbox_ge(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.stbox_ge(box1, box2)); + + public static bool stbox_gt(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.stbox_gt(box1, box2)); + + public static bool stbox_le(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.stbox_le(box1, box2)); + + public static bool stbox_lt(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.stbox_lt(box1, box2)); + + public static bool stbox_ne(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.stbox_ne(box1, box2)); + + public static string tspatial_out(IntPtr temp, int maxdd) + => SafeExecution(() => MEOSExternalFunctions.tspatial_out(temp, maxdd)); + + public static IntPtr tgeogpoint_from_mfjson(string str) + => SafeExecution(() => MEOSExternalFunctions.tgeogpoint_from_mfjson(str)); + + public static IntPtr tgeogpoint_in(string str) + => SafeExecution(() => MEOSExternalFunctions.tgeogpoint_in(str)); + + public static IntPtr tgeography_from_mfjson(string mfjson) + => SafeExecution(() => MEOSExternalFunctions.tgeography_from_mfjson(mfjson)); + + public static IntPtr tgeography_in(string str) + => SafeExecution(() => MEOSExternalFunctions.tgeography_in(str)); + + public static IntPtr tgeometry_from_mfjson(string str) + => SafeExecution(() => MEOSExternalFunctions.tgeometry_from_mfjson(str)); + + public static IntPtr tgeometry_in(string str) + => SafeExecution(() => MEOSExternalFunctions.tgeometry_in(str)); + + public static IntPtr tgeompoint_from_mfjson(string str) + => SafeExecution(() => MEOSExternalFunctions.tgeompoint_from_mfjson(str)); + + public static IntPtr tgeompoint_in(string str) + => SafeExecution(() => MEOSExternalFunctions.tgeompoint_in(str)); + + public static string tspatial_as_ewkt(IntPtr temp, int maxdd) + => SafeExecution(() => MEOSExternalFunctions.tspatial_as_ewkt(temp, maxdd)); + + public static string tspatial_as_text(IntPtr temp, int maxdd) + => SafeExecution(() => MEOSExternalFunctions.tspatial_as_text(temp, maxdd)); + + public static IntPtr tgeo_from_base_temp(IntPtr gs, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tgeo_from_base_temp(gs, temp)); + + public static IntPtr tgeoinst_make(IntPtr gs, long t) + => SafeExecution(() => MEOSExternalFunctions.tgeoinst_make(gs, t)); + + public static IntPtr tgeoseq_from_base_tstzset(IntPtr gs, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.tgeoseq_from_base_tstzset(gs, s)); + + public static IntPtr tgeoseq_from_base_tstzspan(IntPtr gs, IntPtr s, int interp) + => SafeExecution(() => MEOSExternalFunctions.tgeoseq_from_base_tstzspan(gs, s, interp)); + + public static IntPtr tgeoseqset_from_base_tstzspanset(IntPtr gs, IntPtr ss, int interp) + => SafeExecution(() => MEOSExternalFunctions.tgeoseqset_from_base_tstzspanset(gs, ss, interp)); + + public static IntPtr tpoint_from_base_temp(IntPtr gs, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tpoint_from_base_temp(gs, temp)); + + public static IntPtr tpointinst_make(IntPtr gs, long t) + => SafeExecution(() => MEOSExternalFunctions.tpointinst_make(gs, t)); + + public static IntPtr tpointseq_from_base_tstzset(IntPtr gs, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.tpointseq_from_base_tstzset(gs, s)); + + public static IntPtr tpointseq_from_base_tstzspan(IntPtr gs, IntPtr s, int interp) + => SafeExecution(() => MEOSExternalFunctions.tpointseq_from_base_tstzspan(gs, s, interp)); + + public static IntPtr tpointseq_make_coords(IntPtr xcoords, IntPtr ycoords, IntPtr zcoords, IntPtr times, int count, int srid, bool geodetic, bool lower_inc, bool upper_inc, int interp, bool normalize) + => SafeExecution(() => MEOSExternalFunctions.tpointseq_make_coords(xcoords, ycoords, zcoords, times, count, srid, geodetic, lower_inc, upper_inc, interp, normalize)); + + public static IntPtr tpointseqset_from_base_tstzspanset(IntPtr gs, IntPtr ss, int interp) + => SafeExecution(() => MEOSExternalFunctions.tpointseqset_from_base_tstzspanset(gs, ss, interp)); + + public static IntPtr box3d_to_stbox(IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.box3d_to_stbox(box)); + + public static IntPtr gbox_to_stbox(IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.gbox_to_stbox(box)); + + public static IntPtr geomeas_to_tpoint(IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.geomeas_to_tpoint(gs)); + + public static IntPtr tgeogpoint_to_tgeography(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tgeogpoint_to_tgeography(temp)); + + public static IntPtr tgeography_to_tgeogpoint(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tgeography_to_tgeogpoint(temp)); + + public static IntPtr tgeography_to_tgeometry(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tgeography_to_tgeometry(temp)); + + public static IntPtr tgeometry_to_tgeography(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tgeometry_to_tgeography(temp)); + + public static IntPtr tgeometry_to_tgeompoint(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tgeometry_to_tgeompoint(temp)); + + public static IntPtr tgeompoint_to_tgeometry(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tgeompoint_to_tgeometry(temp)); + + public static IntPtr tpoint_as_mvtgeom(IntPtr temp, IntPtr bounds, int extent, int buffer, bool clip_geom) + => SafeExecution(() => MEOSExternalFunctions.tpoint_as_mvtgeom(temp, bounds, extent, buffer, clip_geom)); + + public static bool tpoint_tfloat_to_geomeas(IntPtr tpoint, IntPtr measure, bool segmentize, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.tpoint_tfloat_to_geomeas(tpoint, measure, segmentize, result)); + + public static IntPtr tspatial_to_stbox(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tspatial_to_stbox(temp)); + + public static bool bearing_point_point(IntPtr gs1, IntPtr gs2, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.bearing_point_point(gs1, gs2, result)); + + public static IntPtr bearing_tpoint_point(IntPtr temp, IntPtr gs, bool invert) + => SafeExecution(() => MEOSExternalFunctions.bearing_tpoint_point(temp, gs, invert)); + + public static IntPtr bearing_tpoint_tpoint(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.bearing_tpoint_tpoint(temp1, temp2)); + + public static IntPtr tgeo_centroid(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tgeo_centroid(temp)); + + public static IntPtr tgeo_convex_hull(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tgeo_convex_hull(temp)); + + public static IntPtr tgeo_end_value(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tgeo_end_value(temp)); + + public static IntPtr tgeo_start_value(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tgeo_start_value(temp)); + + public static IntPtr tgeo_traversed_area(IntPtr temp, bool unary_union) + => SafeExecution(() => MEOSExternalFunctions.tgeo_traversed_area(temp, unary_union)); + + public static bool tgeo_value_at_timestamptz(IntPtr temp, long t, bool strict, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.tgeo_value_at_timestamptz(temp, t, strict, result)); + + public static bool tgeo_value_n(IntPtr temp, int n, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.tgeo_value_n(temp, n, result)); + + public static IntPtr[] tgeo_values(IntPtr temp) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tgeo_values(temp, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static IntPtr tpoint_angular_difference(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tpoint_angular_difference(temp)); + + public static IntPtr tpoint_azimuth(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tpoint_azimuth(temp)); + + public static IntPtr tpoint_cumulative_length(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tpoint_cumulative_length(temp)); + + public static bool tpoint_direction(IntPtr temp, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.tpoint_direction(temp, result)); + + public static IntPtr tpoint_get_x(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tpoint_get_x(temp)); + + public static IntPtr tpoint_get_y(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tpoint_get_y(temp)); + + public static IntPtr tpoint_get_z(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tpoint_get_z(temp)); + + public static bool tpoint_is_simple(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tpoint_is_simple(temp)); + + public static double tpoint_length(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tpoint_length(temp)); + + public static IntPtr tpoint_speed(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tpoint_speed(temp)); + + public static IntPtr tpoint_trajectory(IntPtr temp, bool unary_union) + => SafeExecution(() => MEOSExternalFunctions.tpoint_trajectory(temp, unary_union)); + + public static IntPtr tpoint_twcentroid(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tpoint_twcentroid(temp)); + + public static IntPtr tgeo_affine(IntPtr temp, IntPtr a) + => SafeExecution(() => MEOSExternalFunctions.tgeo_affine(temp, a)); + + public static IntPtr tgeo_scale(IntPtr temp, IntPtr scale, IntPtr sorigin) + => SafeExecution(() => MEOSExternalFunctions.tgeo_scale(temp, scale, sorigin)); + + public static IntPtr[] tpoint_make_simple(IntPtr temp) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tpoint_make_simple(temp, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static int tspatial_srid(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tspatial_srid(temp)); + + public static IntPtr tspatial_set_srid(IntPtr temp, int srid) + => SafeExecution(() => MEOSExternalFunctions.tspatial_set_srid(temp, srid)); + + public static IntPtr tspatial_transform(IntPtr temp, int srid) + => SafeExecution(() => MEOSExternalFunctions.tspatial_transform(temp, srid)); + + public static IntPtr tspatial_transform_pipeline(IntPtr temp, string pipelinestr, int srid, bool is_forward) + => SafeExecution(() => MEOSExternalFunctions.tspatial_transform_pipeline(temp, pipelinestr, srid, is_forward)); + + public static IntPtr tgeo_at_geom(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.tgeo_at_geom(temp, gs)); + + public static IntPtr tgeo_at_stbox(IntPtr temp, IntPtr box, bool border_inc) + => SafeExecution(() => MEOSExternalFunctions.tgeo_at_stbox(temp, box, border_inc)); + + public static IntPtr tgeo_at_value(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.tgeo_at_value(temp, gs)); + + public static IntPtr tgeo_minus_geom(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.tgeo_minus_geom(temp, gs)); + + public static IntPtr tgeo_minus_stbox(IntPtr temp, IntPtr box, bool border_inc) + => SafeExecution(() => MEOSExternalFunctions.tgeo_minus_stbox(temp, box, border_inc)); + + public static IntPtr tgeo_minus_value(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.tgeo_minus_value(temp, gs)); + + public static IntPtr tpoint_at_elevation(IntPtr temp, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.tpoint_at_elevation(temp, s)); + + public static IntPtr tpoint_at_geom(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.tpoint_at_geom(temp, gs)); + + public static IntPtr tpoint_at_value(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.tpoint_at_value(temp, gs)); + + public static IntPtr tpoint_minus_elevation(IntPtr temp, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.tpoint_minus_elevation(temp, s)); + + public static IntPtr tpoint_minus_geom(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.tpoint_minus_geom(temp, gs)); + + public static IntPtr tpoint_minus_value(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.tpoint_minus_value(temp, gs)); + + public static int always_eq_geo_tgeo(IntPtr gs, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.always_eq_geo_tgeo(gs, temp)); + + public static int always_eq_tgeo_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.always_eq_tgeo_geo(temp, gs)); + + public static int always_eq_tgeo_tgeo(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.always_eq_tgeo_tgeo(temp1, temp2)); + + public static int always_ne_geo_tgeo(IntPtr gs, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.always_ne_geo_tgeo(gs, temp)); + + public static int always_ne_tgeo_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.always_ne_tgeo_geo(temp, gs)); + + public static int always_ne_tgeo_tgeo(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.always_ne_tgeo_tgeo(temp1, temp2)); + + public static int ever_eq_geo_tgeo(IntPtr gs, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.ever_eq_geo_tgeo(gs, temp)); + + public static int ever_eq_tgeo_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.ever_eq_tgeo_geo(temp, gs)); + + public static int ever_eq_tgeo_tgeo(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.ever_eq_tgeo_tgeo(temp1, temp2)); + + public static int ever_ne_geo_tgeo(IntPtr gs, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.ever_ne_geo_tgeo(gs, temp)); + + public static int ever_ne_tgeo_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.ever_ne_tgeo_geo(temp, gs)); + + public static int ever_ne_tgeo_tgeo(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.ever_ne_tgeo_tgeo(temp1, temp2)); + + public static IntPtr teq_geo_tgeo(IntPtr gs, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.teq_geo_tgeo(gs, temp)); + + public static IntPtr teq_tgeo_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.teq_tgeo_geo(temp, gs)); + + public static IntPtr tne_geo_tgeo(IntPtr gs, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tne_geo_tgeo(gs, temp)); + + public static IntPtr tne_tgeo_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.tne_tgeo_geo(temp, gs)); + + public static IntPtr[] tgeo_stboxes(IntPtr temp) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tgeo_stboxes(temp, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static IntPtr[] tgeo_space_boxes(IntPtr temp, double xsize, double ysize, double zsize, IntPtr sorigin, bool bitmatrix, bool border_inc) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tgeo_space_boxes(temp, xsize, ysize, zsize, sorigin, bitmatrix, border_inc, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static IntPtr[] tgeo_space_time_boxes(IntPtr temp, double xsize, double ysize, double zsize, IntPtr duration, IntPtr sorigin, long torigin, bool bitmatrix, bool border_inc) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tgeo_space_time_boxes(temp, xsize, ysize, zsize, duration, sorigin, torigin, bitmatrix, border_inc, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static IntPtr[] tgeo_split_each_n_stboxes(IntPtr temp, int elem_count) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tgeo_split_each_n_stboxes(temp, elem_count, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static IntPtr[] tgeo_split_n_stboxes(IntPtr temp, int box_count) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tgeo_split_n_stboxes(temp, box_count, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static bool adjacent_stbox_tspatial(IntPtr box, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.adjacent_stbox_tspatial(box, temp)); + + public static bool adjacent_tspatial_stbox(IntPtr temp, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.adjacent_tspatial_stbox(temp, box)); + + public static bool adjacent_tspatial_tspatial(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.adjacent_tspatial_tspatial(temp1, temp2)); + + public static bool contained_stbox_tspatial(IntPtr box, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.contained_stbox_tspatial(box, temp)); + + public static bool contained_tspatial_stbox(IntPtr temp, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.contained_tspatial_stbox(temp, box)); + + public static bool contained_tspatial_tspatial(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.contained_tspatial_tspatial(temp1, temp2)); + + public static bool contains_stbox_tspatial(IntPtr box, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.contains_stbox_tspatial(box, temp)); + + public static bool contains_tspatial_stbox(IntPtr temp, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.contains_tspatial_stbox(temp, box)); + + public static bool contains_tspatial_tspatial(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.contains_tspatial_tspatial(temp1, temp2)); + + public static bool overlaps_stbox_tspatial(IntPtr box, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.overlaps_stbox_tspatial(box, temp)); + + public static bool overlaps_tspatial_stbox(IntPtr temp, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.overlaps_tspatial_stbox(temp, box)); + + public static bool overlaps_tspatial_tspatial(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.overlaps_tspatial_tspatial(temp1, temp2)); + + public static bool same_stbox_tspatial(IntPtr box, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.same_stbox_tspatial(box, temp)); + + public static bool same_tspatial_stbox(IntPtr temp, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.same_tspatial_stbox(temp, box)); + + public static bool same_tspatial_tspatial(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.same_tspatial_tspatial(temp1, temp2)); + + public static bool above_stbox_tspatial(IntPtr box, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.above_stbox_tspatial(box, temp)); + + public static bool above_tspatial_stbox(IntPtr temp, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.above_tspatial_stbox(temp, box)); + + public static bool above_tspatial_tspatial(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.above_tspatial_tspatial(temp1, temp2)); + + public static bool after_stbox_tspatial(IntPtr box, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.after_stbox_tspatial(box, temp)); + + public static bool after_tspatial_stbox(IntPtr temp, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.after_tspatial_stbox(temp, box)); + + public static bool after_tspatial_tspatial(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.after_tspatial_tspatial(temp1, temp2)); + + public static bool back_stbox_tspatial(IntPtr box, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.back_stbox_tspatial(box, temp)); + + public static bool back_tspatial_stbox(IntPtr temp, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.back_tspatial_stbox(temp, box)); + + public static bool back_tspatial_tspatial(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.back_tspatial_tspatial(temp1, temp2)); + + public static bool before_stbox_tspatial(IntPtr box, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.before_stbox_tspatial(box, temp)); + + public static bool before_tspatial_stbox(IntPtr temp, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.before_tspatial_stbox(temp, box)); + + public static bool before_tspatial_tspatial(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.before_tspatial_tspatial(temp1, temp2)); + + public static bool below_stbox_tspatial(IntPtr box, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.below_stbox_tspatial(box, temp)); + + public static bool below_tspatial_stbox(IntPtr temp, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.below_tspatial_stbox(temp, box)); + + public static bool below_tspatial_tspatial(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.below_tspatial_tspatial(temp1, temp2)); + + public static bool front_stbox_tspatial(IntPtr box, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.front_stbox_tspatial(box, temp)); + + public static bool front_tspatial_stbox(IntPtr temp, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.front_tspatial_stbox(temp, box)); + + public static bool front_tspatial_tspatial(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.front_tspatial_tspatial(temp1, temp2)); + + public static bool left_stbox_tspatial(IntPtr box, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.left_stbox_tspatial(box, temp)); + + public static bool left_tspatial_stbox(IntPtr temp, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.left_tspatial_stbox(temp, box)); + + public static bool left_tspatial_tspatial(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.left_tspatial_tspatial(temp1, temp2)); + + public static bool overabove_stbox_tspatial(IntPtr box, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.overabove_stbox_tspatial(box, temp)); + + public static bool overabove_tspatial_stbox(IntPtr temp, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.overabove_tspatial_stbox(temp, box)); + + public static bool overabove_tspatial_tspatial(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.overabove_tspatial_tspatial(temp1, temp2)); + + public static bool overafter_stbox_tspatial(IntPtr box, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.overafter_stbox_tspatial(box, temp)); + + public static bool overafter_tspatial_stbox(IntPtr temp, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.overafter_tspatial_stbox(temp, box)); + + public static bool overafter_tspatial_tspatial(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.overafter_tspatial_tspatial(temp1, temp2)); + + public static bool overback_stbox_tspatial(IntPtr box, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.overback_stbox_tspatial(box, temp)); + + public static bool overback_tspatial_stbox(IntPtr temp, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.overback_tspatial_stbox(temp, box)); + + public static bool overback_tspatial_tspatial(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.overback_tspatial_tspatial(temp1, temp2)); + + public static bool overbefore_stbox_tspatial(IntPtr box, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.overbefore_stbox_tspatial(box, temp)); + + public static bool overbefore_tspatial_stbox(IntPtr temp, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.overbefore_tspatial_stbox(temp, box)); + + public static bool overbefore_tspatial_tspatial(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.overbefore_tspatial_tspatial(temp1, temp2)); + + public static bool overbelow_stbox_tspatial(IntPtr box, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.overbelow_stbox_tspatial(box, temp)); + + public static bool overbelow_tspatial_stbox(IntPtr temp, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.overbelow_tspatial_stbox(temp, box)); + + public static bool overbelow_tspatial_tspatial(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.overbelow_tspatial_tspatial(temp1, temp2)); + + public static bool overfront_stbox_tspatial(IntPtr box, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.overfront_stbox_tspatial(box, temp)); + + public static bool overfront_tspatial_stbox(IntPtr temp, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.overfront_tspatial_stbox(temp, box)); + + public static bool overfront_tspatial_tspatial(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.overfront_tspatial_tspatial(temp1, temp2)); + + public static bool overleft_stbox_tspatial(IntPtr box, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.overleft_stbox_tspatial(box, temp)); + + public static bool overleft_tspatial_stbox(IntPtr temp, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.overleft_tspatial_stbox(temp, box)); + + public static bool overleft_tspatial_tspatial(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.overleft_tspatial_tspatial(temp1, temp2)); + + public static bool overright_stbox_tspatial(IntPtr box, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.overright_stbox_tspatial(box, temp)); + + public static bool overright_tspatial_stbox(IntPtr temp, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.overright_tspatial_stbox(temp, box)); + + public static bool overright_tspatial_tspatial(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.overright_tspatial_tspatial(temp1, temp2)); + + public static bool right_stbox_tspatial(IntPtr box, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.right_stbox_tspatial(box, temp)); + + public static bool right_tspatial_stbox(IntPtr temp, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.right_tspatial_stbox(temp, box)); + + public static bool right_tspatial_tspatial(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.right_tspatial_tspatial(temp1, temp2)); + + public static int acontains_geo_tgeo(IntPtr gs, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.acontains_geo_tgeo(gs, temp)); + + public static int acontains_tgeo_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.acontains_tgeo_geo(temp, gs)); + + public static int acontains_tgeo_tgeo(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.acontains_tgeo_tgeo(temp1, temp2)); + + public static int acovers_geo_tgeo(IntPtr gs, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.acovers_geo_tgeo(gs, temp)); + + public static int acovers_tgeo_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.acovers_tgeo_geo(temp, gs)); + + public static int acovers_tgeo_tgeo(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.acovers_tgeo_tgeo(temp1, temp2)); + + public static int adisjoint_geo_tgeo(IntPtr gs, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.adisjoint_geo_tgeo(gs, temp)); + + public static int adisjoint_tgeo_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.adisjoint_tgeo_geo(temp, gs)); + + public static int adisjoint_tgeo_tgeo(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.adisjoint_tgeo_tgeo(temp1, temp2)); + + public static int adwithin_geo_tgeo(IntPtr gs, IntPtr temp, double dist) + => SafeExecution(() => MEOSExternalFunctions.adwithin_geo_tgeo(gs, temp, dist)); + + public static int adwithin_tgeo_geo(IntPtr temp, IntPtr gs, double dist) + => SafeExecution(() => MEOSExternalFunctions.adwithin_tgeo_geo(temp, gs, dist)); + + public static int adwithin_tgeo_tgeo(IntPtr temp1, IntPtr temp2, double dist) + => SafeExecution(() => MEOSExternalFunctions.adwithin_tgeo_tgeo(temp1, temp2, dist)); + + public static int aintersects_geo_tgeo(IntPtr gs, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.aintersects_geo_tgeo(gs, temp)); + + public static int aintersects_tgeo_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.aintersects_tgeo_geo(temp, gs)); + + public static int aintersects_tgeo_tgeo(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.aintersects_tgeo_tgeo(temp1, temp2)); + + public static int atouches_geo_tgeo(IntPtr gs, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.atouches_geo_tgeo(gs, temp)); + + public static int atouches_tgeo_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.atouches_tgeo_geo(temp, gs)); + + public static int atouches_tgeo_tgeo(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.atouches_tgeo_tgeo(temp1, temp2)); + + public static int atouches_tpoint_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.atouches_tpoint_geo(temp, gs)); + + public static int econtains_geo_tgeo(IntPtr gs, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.econtains_geo_tgeo(gs, temp)); + + public static int econtains_tgeo_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.econtains_tgeo_geo(temp, gs)); + + public static int econtains_tgeo_tgeo(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.econtains_tgeo_tgeo(temp1, temp2)); + + public static int ecovers_geo_tgeo(IntPtr gs, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.ecovers_geo_tgeo(gs, temp)); + + public static int ecovers_tgeo_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.ecovers_tgeo_geo(temp, gs)); + + public static int ecovers_tgeo_tgeo(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.ecovers_tgeo_tgeo(temp1, temp2)); + + public static int edisjoint_geo_tgeo(IntPtr gs, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.edisjoint_geo_tgeo(gs, temp)); + + public static int edisjoint_tgeo_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.edisjoint_tgeo_geo(temp, gs)); + + public static int edisjoint_tgeo_tgeo(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.edisjoint_tgeo_tgeo(temp1, temp2)); + + public static int edwithin_geo_tgeo(IntPtr gs, IntPtr temp, double dist) + => SafeExecution(() => MEOSExternalFunctions.edwithin_geo_tgeo(gs, temp, dist)); + + public static int edwithin_tgeo_geo(IntPtr temp, IntPtr gs, double dist) + => SafeExecution(() => MEOSExternalFunctions.edwithin_tgeo_geo(temp, gs, dist)); + + public static int edwithin_tgeo_tgeo(IntPtr temp1, IntPtr temp2, double dist) + => SafeExecution(() => MEOSExternalFunctions.edwithin_tgeo_tgeo(temp1, temp2, dist)); + + public static int eintersects_geo_tgeo(IntPtr gs, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.eintersects_geo_tgeo(gs, temp)); + + public static int eintersects_tgeo_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.eintersects_tgeo_geo(temp, gs)); + + public static int eintersects_tgeo_tgeo(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.eintersects_tgeo_tgeo(temp1, temp2)); + + public static int etouches_geo_tgeo(IntPtr gs, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.etouches_geo_tgeo(gs, temp)); + + public static int etouches_tgeo_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.etouches_tgeo_geo(temp, gs)); + + public static int etouches_tgeo_tgeo(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.etouches_tgeo_tgeo(temp1, temp2)); + + public static int etouches_tpoint_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.etouches_tpoint_geo(temp, gs)); + + public static IntPtr tcontains_geo_tgeo(IntPtr gs, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tcontains_geo_tgeo(gs, temp)); + + public static IntPtr tcontains_tgeo_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.tcontains_tgeo_geo(temp, gs)); + + public static IntPtr tcontains_tgeo_tgeo(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.tcontains_tgeo_tgeo(temp1, temp2)); + + public static IntPtr tcovers_geo_tgeo(IntPtr gs, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tcovers_geo_tgeo(gs, temp)); + + public static IntPtr tcovers_tgeo_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.tcovers_tgeo_geo(temp, gs)); + + public static IntPtr tcovers_tgeo_tgeo(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.tcovers_tgeo_tgeo(temp1, temp2)); + + public static IntPtr tdisjoint_geo_tgeo(IntPtr gs, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tdisjoint_geo_tgeo(gs, temp)); + + public static IntPtr tdisjoint_tgeo_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.tdisjoint_tgeo_geo(temp, gs)); + + public static IntPtr tdisjoint_tgeo_tgeo(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.tdisjoint_tgeo_tgeo(temp1, temp2)); + + public static IntPtr tdwithin_geo_tgeo(IntPtr gs, IntPtr temp, double dist) + => SafeExecution(() => MEOSExternalFunctions.tdwithin_geo_tgeo(gs, temp, dist)); + + public static IntPtr tdwithin_tgeo_geo(IntPtr temp, IntPtr gs, double dist) + => SafeExecution(() => MEOSExternalFunctions.tdwithin_tgeo_geo(temp, gs, dist)); + + public static IntPtr tdwithin_tgeo_tgeo(IntPtr temp1, IntPtr temp2, double dist) + => SafeExecution(() => MEOSExternalFunctions.tdwithin_tgeo_tgeo(temp1, temp2, dist)); + + public static IntPtr tintersects_geo_tgeo(IntPtr gs, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tintersects_geo_tgeo(gs, temp)); + + public static IntPtr tintersects_tgeo_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.tintersects_tgeo_geo(temp, gs)); + + public static IntPtr tintersects_tgeo_tgeo(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.tintersects_tgeo_tgeo(temp1, temp2)); + + public static IntPtr ttouches_geo_tgeo(IntPtr gs, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.ttouches_geo_tgeo(gs, temp)); + + public static IntPtr ttouches_tgeo_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.ttouches_tgeo_geo(temp, gs)); + + public static IntPtr ttouches_tgeo_tgeo(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.ttouches_tgeo_tgeo(temp1, temp2)); + + public static int[] edwithin_tgeoarr_tgeoarr(IntPtr arr1, int count1, IntPtr arr2, int count2, double dist) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.edwithin_tgeoarr_tgeoarr(arr1, count1, arr2, count2, dist, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + int[] _out = new int[_n]; + Marshal.Copy(_p, _out, 0, _n); + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static int[] adwithin_tgeoarr_tgeoarr(IntPtr arr1, int count1, IntPtr arr2, int count2, double dist) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.adwithin_tgeoarr_tgeoarr(arr1, count1, arr2, count2, dist, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + int[] _out = new int[_n]; + Marshal.Copy(_p, _out, 0, _n); + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static int[] eintersects_tgeoarr_tgeoarr(IntPtr arr1, int count1, IntPtr arr2, int count2) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.eintersects_tgeoarr_tgeoarr(arr1, count1, arr2, count2, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + int[] _out = new int[_n]; + Marshal.Copy(_p, _out, 0, _n); + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static int[] aintersects_tgeoarr_tgeoarr(IntPtr arr1, int count1, IntPtr arr2, int count2) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.aintersects_tgeoarr_tgeoarr(arr1, count1, arr2, count2, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + int[] _out = new int[_n]; + Marshal.Copy(_p, _out, 0, _n); + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static int[] etouches_tgeoarr_tgeoarr(IntPtr arr1, int count1, IntPtr arr2, int count2) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.etouches_tgeoarr_tgeoarr(arr1, count1, arr2, count2, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + int[] _out = new int[_n]; + Marshal.Copy(_p, _out, 0, _n); + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static int[] atouches_tgeoarr_tgeoarr(IntPtr arr1, int count1, IntPtr arr2, int count2) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.atouches_tgeoarr_tgeoarr(arr1, count1, arr2, count2, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + int[] _out = new int[_n]; + Marshal.Copy(_p, _out, 0, _n); + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static int[] edisjoint_tgeoarr_tgeoarr(IntPtr arr1, int count1, IntPtr arr2, int count2) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.edisjoint_tgeoarr_tgeoarr(arr1, count1, arr2, count2, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + int[] _out = new int[_n]; + Marshal.Copy(_p, _out, 0, _n); + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static int[] adisjoint_tgeoarr_tgeoarr(IntPtr arr1, int count1, IntPtr arr2, int count2) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.adisjoint_tgeoarr_tgeoarr(arr1, count1, arr2, count2, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + int[] _out = new int[_n]; + Marshal.Copy(_p, _out, 0, _n); + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static (int[], IntPtr[]) tdwithin_tgeoarr_tgeoarr(IntPtr arr1, int count1, IntPtr arr2, int count2, double dist) + { + IntPtr _count_count = Marshal.AllocHGlobal(sizeof(int)); + IntPtr _out_periods = Marshal.AllocHGlobal(IntPtr.Size); + try + { + IntPtr _resultPtr = SafeExecution(() => MEOSExternalFunctions.tdwithin_tgeoarr_tgeoarr(arr1, count1, arr2, count2, dist, _count_count, _out_periods)); + int _n = Marshal.ReadInt32(_count_count); + int[] _resultArr = new int[_n]; + Marshal.Copy(_resultPtr, _resultArr, 0, _n); + IntPtr __out_periods_arr = Marshal.ReadIntPtr(_out_periods); + IntPtr[] __out_periods_out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { __out_periods_out[_i] = Marshal.ReadIntPtr(__out_periods_arr, _i * IntPtr.Size); } + return (_resultArr, __out_periods_out); + } + finally + { + Marshal.FreeHGlobal(_count_count); + Marshal.FreeHGlobal(_out_periods); + } + } + + public static (int[], IntPtr[]) tintersects_tgeoarr_tgeoarr(IntPtr arr1, int count1, IntPtr arr2, int count2) + { + IntPtr _count_count = Marshal.AllocHGlobal(sizeof(int)); + IntPtr _out_periods = Marshal.AllocHGlobal(IntPtr.Size); + try + { + IntPtr _resultPtr = SafeExecution(() => MEOSExternalFunctions.tintersects_tgeoarr_tgeoarr(arr1, count1, arr2, count2, _count_count, _out_periods)); + int _n = Marshal.ReadInt32(_count_count); + int[] _resultArr = new int[_n]; + Marshal.Copy(_resultPtr, _resultArr, 0, _n); + IntPtr __out_periods_arr = Marshal.ReadIntPtr(_out_periods); + IntPtr[] __out_periods_out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { __out_periods_out[_i] = Marshal.ReadIntPtr(__out_periods_arr, _i * IntPtr.Size); } + return (_resultArr, __out_periods_out); + } + finally + { + Marshal.FreeHGlobal(_count_count); + Marshal.FreeHGlobal(_out_periods); + } + } + + public static (int[], IntPtr[]) ttouches_tgeoarr_tgeoarr(IntPtr arr1, int count1, IntPtr arr2, int count2) + { + IntPtr _count_count = Marshal.AllocHGlobal(sizeof(int)); + IntPtr _out_periods = Marshal.AllocHGlobal(IntPtr.Size); + try + { + IntPtr _resultPtr = SafeExecution(() => MEOSExternalFunctions.ttouches_tgeoarr_tgeoarr(arr1, count1, arr2, count2, _count_count, _out_periods)); + int _n = Marshal.ReadInt32(_count_count); + int[] _resultArr = new int[_n]; + Marshal.Copy(_resultPtr, _resultArr, 0, _n); + IntPtr __out_periods_arr = Marshal.ReadIntPtr(_out_periods); + IntPtr[] __out_periods_out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { __out_periods_out[_i] = Marshal.ReadIntPtr(__out_periods_arr, _i * IntPtr.Size); } + return (_resultArr, __out_periods_out); + } + finally + { + Marshal.FreeHGlobal(_count_count); + Marshal.FreeHGlobal(_out_periods); + } + } + + public static (int[], IntPtr[]) tdisjoint_tgeoarr_tgeoarr(IntPtr arr1, int count1, IntPtr arr2, int count2) + { + IntPtr _count_count = Marshal.AllocHGlobal(sizeof(int)); + IntPtr _out_periods = Marshal.AllocHGlobal(IntPtr.Size); + try + { + IntPtr _resultPtr = SafeExecution(() => MEOSExternalFunctions.tdisjoint_tgeoarr_tgeoarr(arr1, count1, arr2, count2, _count_count, _out_periods)); + int _n = Marshal.ReadInt32(_count_count); + int[] _resultArr = new int[_n]; + Marshal.Copy(_resultPtr, _resultArr, 0, _n); + IntPtr __out_periods_arr = Marshal.ReadIntPtr(_out_periods); + IntPtr[] __out_periods_out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { __out_periods_out[_i] = Marshal.ReadIntPtr(__out_periods_arr, _i * IntPtr.Size); } + return (_resultArr, __out_periods_out); + } + finally + { + Marshal.FreeHGlobal(_count_count); + Marshal.FreeHGlobal(_out_periods); + } + } + + public static IntPtr tdistance_tgeo_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.tdistance_tgeo_geo(temp, gs)); + + public static IntPtr tdistance_tgeo_tgeo(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.tdistance_tgeo_tgeo(temp1, temp2)); + + public static double nad_stbox_geo(IntPtr box, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.nad_stbox_geo(box, gs)); + + public static double nad_stbox_stbox(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.nad_stbox_stbox(box1, box2)); + + public static double stbox_spatial_distance(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.stbox_spatial_distance(box1, box2)); + + public static double nad_tgeo_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.nad_tgeo_geo(temp, gs)); + + public static double nad_tgeo_stbox(IntPtr temp, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.nad_tgeo_stbox(temp, box)); + + public static double nad_tgeo_tgeo(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.nad_tgeo_tgeo(temp1, temp2)); + + public static IntPtr nai_tgeo_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.nai_tgeo_geo(temp, gs)); + + public static IntPtr nai_tgeo_tgeo(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.nai_tgeo_tgeo(temp1, temp2)); + + public static IntPtr shortestline_tgeo_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.shortestline_tgeo_geo(temp, gs)); + + public static IntPtr shortestline_tgeo_tgeo(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.shortestline_tgeo_tgeo(temp1, temp2)); + + public static double mindistance_tgeo_tgeo(IntPtr temp1, IntPtr temp2, double threshold) + => SafeExecution(() => MEOSExternalFunctions.mindistance_tgeo_tgeo(temp1, temp2, threshold)); + + public static double mindistance_tgeoarr_tgeoarr(IntPtr arr1, int count1, IntPtr arr2, int count2) + => SafeExecution(() => MEOSExternalFunctions.mindistance_tgeoarr_tgeoarr(arr1, count1, arr2, count2)); + + public static IntPtr tpoint_tcentroid_finalfn(IntPtr state) + => SafeExecution(() => MEOSExternalFunctions.tpoint_tcentroid_finalfn(state)); + + public static IntPtr tpoint_tcentroid_transfn(IntPtr state, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tpoint_tcentroid_transfn(state, temp)); + + public static IntPtr tspatial_extent_transfn(IntPtr box, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tspatial_extent_transfn(box, temp)); + + public static IntPtr stbox_get_space_tile(IntPtr point, double xsize, double ysize, double zsize, IntPtr sorigin) + => SafeExecution(() => MEOSExternalFunctions.stbox_get_space_tile(point, xsize, ysize, zsize, sorigin)); + + public static IntPtr stbox_get_space_time_tile(IntPtr point, long t, double xsize, double ysize, double zsize, IntPtr duration, IntPtr sorigin, long torigin) + => SafeExecution(() => MEOSExternalFunctions.stbox_get_space_time_tile(point, t, xsize, ysize, zsize, duration, sorigin, torigin)); + + public static IntPtr stbox_get_time_tile(long t, IntPtr duration, long torigin) + => SafeExecution(() => MEOSExternalFunctions.stbox_get_time_tile(t, duration, torigin)); + + public static IntPtr[] stbox_space_tiles(IntPtr bounds, double xsize, double ysize, double zsize, IntPtr sorigin, bool border_inc) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.stbox_space_tiles(bounds, xsize, ysize, zsize, sorigin, border_inc, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static IntPtr[] stbox_space_time_tiles(IntPtr bounds, double xsize, double ysize, double zsize, IntPtr duration, IntPtr sorigin, long torigin, bool border_inc) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.stbox_space_time_tiles(bounds, xsize, ysize, zsize, duration, sorigin, torigin, border_inc, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static IntPtr[] stbox_time_tiles(IntPtr bounds, IntPtr duration, long torigin, bool border_inc) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.stbox_time_tiles(bounds, duration, torigin, border_inc, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static IntPtr tgeo_space_split(IntPtr temp, double xsize, double ysize, double zsize, IntPtr sorigin, bool bitmatrix, bool border_inc) + => SafeExecution(() => MEOSExternalFunctions.tgeo_space_split(temp, xsize, ysize, zsize, sorigin, bitmatrix, border_inc)); + + public static IntPtr tgeo_space_time_split(IntPtr temp, double xsize, double ysize, double zsize, IntPtr duration, IntPtr sorigin, long torigin, bool bitmatrix, bool border_inc) + => SafeExecution(() => MEOSExternalFunctions.tgeo_space_time_split(temp, xsize, ysize, zsize, duration, sorigin, torigin, bitmatrix, border_inc)); + + public static int[] geo_cluster_kmeans(IntPtr geoms, uint ngeoms, uint k) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.geo_cluster_kmeans(geoms, ngeoms, k, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + int[] _out = new int[_n]; + Marshal.Copy(_p, _out, 0, _n); + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static IntPtr[] geo_cluster_dbscan(IntPtr geoms, uint ngeoms, double tolerance, int minpoints) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.geo_cluster_dbscan(geoms, ngeoms, tolerance, minpoints, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static IntPtr[] geo_cluster_intersecting(IntPtr geoms, uint ngeoms) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.geo_cluster_intersecting(geoms, ngeoms, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static IntPtr[] geo_cluster_within(IntPtr geoms, uint ngeoms, double tolerance) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.geo_cluster_within(geoms, ngeoms, tolerance, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static string cbuffer_as_ewkt(IntPtr cb, int maxdd) + => SafeExecution(() => MEOSExternalFunctions.cbuffer_as_ewkt(cb, maxdd)); + + public static string cbuffer_as_hexwkb(IntPtr cb, IntPtr variant, IntPtr size_out) + => SafeExecution(() => MEOSExternalFunctions.cbuffer_as_hexwkb(cb, variant, size_out)); + + public static string cbuffer_as_text(IntPtr cb, int maxdd) + => SafeExecution(() => MEOSExternalFunctions.cbuffer_as_text(cb, maxdd)); + + public static IntPtr cbuffer_as_wkb(IntPtr cb, IntPtr variant, IntPtr size_out) + => SafeExecution(() => MEOSExternalFunctions.cbuffer_as_wkb(cb, variant, size_out)); + + public static IntPtr cbuffer_from_hexwkb(string hexwkb) + => SafeExecution(() => MEOSExternalFunctions.cbuffer_from_hexwkb(hexwkb)); + + public static IntPtr cbuffer_from_wkb(IntPtr wkb, ulong size) + => SafeExecution(() => MEOSExternalFunctions.cbuffer_from_wkb(wkb, size)); + + public static IntPtr cbuffer_in(string str) + => SafeExecution(() => MEOSExternalFunctions.cbuffer_in(str)); + + public static string cbuffer_out(IntPtr cb, int maxdd) + => SafeExecution(() => MEOSExternalFunctions.cbuffer_out(cb, maxdd)); + + public static IntPtr cbuffer_copy(IntPtr cb) + => SafeExecution(() => MEOSExternalFunctions.cbuffer_copy(cb)); + + public static IntPtr cbuffer_make(IntPtr point, double radius) + => SafeExecution(() => MEOSExternalFunctions.cbuffer_make(point, radius)); + + public static IntPtr cbuffer_to_geom(IntPtr cb) + => SafeExecution(() => MEOSExternalFunctions.cbuffer_to_geom(cb)); + + public static IntPtr cbuffer_to_stbox(IntPtr cb) + => SafeExecution(() => MEOSExternalFunctions.cbuffer_to_stbox(cb)); + + public static IntPtr cbufferarr_to_geom(IntPtr cbarr, int count) + => SafeExecution(() => MEOSExternalFunctions.cbufferarr_to_geom(cbarr, count)); + + public static IntPtr geom_to_cbuffer(IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.geom_to_cbuffer(gs)); + + public static int cbuffer_hash(IntPtr cb) + => SafeExecution(() => MEOSExternalFunctions.cbuffer_hash(cb)); + + public static IntPtr cbuffer_hash_extended(IntPtr cb, IntPtr seed) + => SafeExecution(() => MEOSExternalFunctions.cbuffer_hash_extended(cb, seed)); + + public static IntPtr cbuffer_point(IntPtr cb) + => SafeExecution(() => MEOSExternalFunctions.cbuffer_point(cb)); + + public static double cbuffer_radius(IntPtr cb) + => SafeExecution(() => MEOSExternalFunctions.cbuffer_radius(cb)); + + public static IntPtr cbuffer_round(IntPtr cb, int maxdd) + => SafeExecution(() => MEOSExternalFunctions.cbuffer_round(cb, maxdd)); + + public static IntPtr cbufferarr_round(IntPtr cbarr, int count, int maxdd) + => SafeExecution(() => MEOSExternalFunctions.cbufferarr_round(cbarr, count, maxdd)); + + public static void cbuffer_set_srid(IntPtr cb, int srid) + => SafeExecution(() => MEOSExternalFunctions.cbuffer_set_srid(cb, srid)); + + public static int cbuffer_srid(IntPtr cb) + => SafeExecution(() => MEOSExternalFunctions.cbuffer_srid(cb)); + + public static IntPtr cbuffer_transform(IntPtr cb, int srid) + => SafeExecution(() => MEOSExternalFunctions.cbuffer_transform(cb, srid)); + + public static IntPtr cbuffer_transform_pipeline(IntPtr cb, string pipelinestr, int srid, bool is_forward) + => SafeExecution(() => MEOSExternalFunctions.cbuffer_transform_pipeline(cb, pipelinestr, srid, is_forward)); + + public static int contains_cbuffer_cbuffer(IntPtr cb1, IntPtr cb2) + => SafeExecution(() => MEOSExternalFunctions.contains_cbuffer_cbuffer(cb1, cb2)); + + public static int covers_cbuffer_cbuffer(IntPtr cb1, IntPtr cb2) + => SafeExecution(() => MEOSExternalFunctions.covers_cbuffer_cbuffer(cb1, cb2)); + + public static int disjoint_cbuffer_cbuffer(IntPtr cb1, IntPtr cb2) + => SafeExecution(() => MEOSExternalFunctions.disjoint_cbuffer_cbuffer(cb1, cb2)); + + public static int dwithin_cbuffer_cbuffer(IntPtr cb1, IntPtr cb2, double dist) + => SafeExecution(() => MEOSExternalFunctions.dwithin_cbuffer_cbuffer(cb1, cb2, dist)); + + public static int intersects_cbuffer_cbuffer(IntPtr cb1, IntPtr cb2) + => SafeExecution(() => MEOSExternalFunctions.intersects_cbuffer_cbuffer(cb1, cb2)); + + public static int touches_cbuffer_cbuffer(IntPtr cb1, IntPtr cb2) + => SafeExecution(() => MEOSExternalFunctions.touches_cbuffer_cbuffer(cb1, cb2)); + + public static IntPtr cbuffer_tstzspan_to_stbox(IntPtr cb, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.cbuffer_tstzspan_to_stbox(cb, s)); + + public static IntPtr cbuffer_timestamptz_to_stbox(IntPtr cb, long t) + => SafeExecution(() => MEOSExternalFunctions.cbuffer_timestamptz_to_stbox(cb, t)); + + public static double distance_cbuffer_cbuffer(IntPtr cb1, IntPtr cb2) + => SafeExecution(() => MEOSExternalFunctions.distance_cbuffer_cbuffer(cb1, cb2)); + + public static double distance_cbuffer_geo(IntPtr cb, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.distance_cbuffer_geo(cb, gs)); + + public static double distance_cbuffer_stbox(IntPtr cb, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.distance_cbuffer_stbox(cb, box)); + + public static double nad_cbuffer_stbox(IntPtr cb, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.nad_cbuffer_stbox(cb, box)); + + public static int cbuffer_cmp(IntPtr cb1, IntPtr cb2) + => SafeExecution(() => MEOSExternalFunctions.cbuffer_cmp(cb1, cb2)); + + public static bool cbuffer_eq(IntPtr cb1, IntPtr cb2) + => SafeExecution(() => MEOSExternalFunctions.cbuffer_eq(cb1, cb2)); + + public static bool cbuffer_ge(IntPtr cb1, IntPtr cb2) + => SafeExecution(() => MEOSExternalFunctions.cbuffer_ge(cb1, cb2)); + + public static bool cbuffer_gt(IntPtr cb1, IntPtr cb2) + => SafeExecution(() => MEOSExternalFunctions.cbuffer_gt(cb1, cb2)); + + public static bool cbuffer_le(IntPtr cb1, IntPtr cb2) + => SafeExecution(() => MEOSExternalFunctions.cbuffer_le(cb1, cb2)); + + public static bool cbuffer_lt(IntPtr cb1, IntPtr cb2) + => SafeExecution(() => MEOSExternalFunctions.cbuffer_lt(cb1, cb2)); + + public static bool cbuffer_ne(IntPtr cb1, IntPtr cb2) + => SafeExecution(() => MEOSExternalFunctions.cbuffer_ne(cb1, cb2)); + + public static bool cbuffer_nsame(IntPtr cb1, IntPtr cb2) + => SafeExecution(() => MEOSExternalFunctions.cbuffer_nsame(cb1, cb2)); + + public static bool cbuffer_same(IntPtr cb1, IntPtr cb2) + => SafeExecution(() => MEOSExternalFunctions.cbuffer_same(cb1, cb2)); + + public static IntPtr cbufferset_in(string str) + => SafeExecution(() => MEOSExternalFunctions.cbufferset_in(str)); + + public static string cbufferset_out(IntPtr s, int maxdd) + => SafeExecution(() => MEOSExternalFunctions.cbufferset_out(s, maxdd)); + + public static IntPtr cbufferset_make(IntPtr values, int count) + => SafeExecution(() => MEOSExternalFunctions.cbufferset_make(values, count)); + + public static IntPtr cbuffer_to_set(IntPtr cb) + => SafeExecution(() => MEOSExternalFunctions.cbuffer_to_set(cb)); + + public static IntPtr cbufferset_end_value(IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.cbufferset_end_value(s)); + + public static IntPtr cbufferset_start_value(IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.cbufferset_start_value(s)); + + public static bool cbufferset_value_n(IntPtr s, int n, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.cbufferset_value_n(s, n, result)); + + public static IntPtr[] cbufferset_values(IntPtr s) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.cbufferset_values(s, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static IntPtr cbuffer_union_transfn(IntPtr state, IntPtr cb) + => SafeExecution(() => MEOSExternalFunctions.cbuffer_union_transfn(state, cb)); + + public static bool contained_cbuffer_set(IntPtr cb, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.contained_cbuffer_set(cb, s)); + + public static bool contains_set_cbuffer(IntPtr s, IntPtr cb) + => SafeExecution(() => MEOSExternalFunctions.contains_set_cbuffer(s, cb)); + + public static IntPtr intersection_cbuffer_set(IntPtr cb, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.intersection_cbuffer_set(cb, s)); + + public static IntPtr intersection_set_cbuffer(IntPtr s, IntPtr cb) + => SafeExecution(() => MEOSExternalFunctions.intersection_set_cbuffer(s, cb)); + + public static IntPtr minus_cbuffer_set(IntPtr cb, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.minus_cbuffer_set(cb, s)); + + public static IntPtr minus_set_cbuffer(IntPtr s, IntPtr cb) + => SafeExecution(() => MEOSExternalFunctions.minus_set_cbuffer(s, cb)); + + public static IntPtr union_cbuffer_set(IntPtr cb, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.union_cbuffer_set(cb, s)); + + public static IntPtr union_set_cbuffer(IntPtr s, IntPtr cb) + => SafeExecution(() => MEOSExternalFunctions.union_set_cbuffer(s, cb)); + + public static IntPtr tcbuffer_in(string str) + => SafeExecution(() => MEOSExternalFunctions.tcbuffer_in(str)); + + public static IntPtr tcbuffer_from_mfjson(string mfjson) + => SafeExecution(() => MEOSExternalFunctions.tcbuffer_from_mfjson(mfjson)); + + public static IntPtr tcbufferinst_make(IntPtr cb, long t) + => SafeExecution(() => MEOSExternalFunctions.tcbufferinst_make(cb, t)); + + public static IntPtr tcbuffer_make(IntPtr tpoint, IntPtr tfloat) + => SafeExecution(() => MEOSExternalFunctions.tcbuffer_make(tpoint, tfloat)); + + public static IntPtr tcbuffer_from_base_temp(IntPtr cb, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tcbuffer_from_base_temp(cb, temp)); + + public static IntPtr tcbufferseq_from_base_tstzset(IntPtr cb, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.tcbufferseq_from_base_tstzset(cb, s)); + + public static IntPtr tcbufferseq_from_base_tstzspan(IntPtr cb, IntPtr s, int interp) + => SafeExecution(() => MEOSExternalFunctions.tcbufferseq_from_base_tstzspan(cb, s, interp)); + + public static IntPtr tcbufferseqset_from_base_tstzspanset(IntPtr cb, IntPtr ss, int interp) + => SafeExecution(() => MEOSExternalFunctions.tcbufferseqset_from_base_tstzspanset(cb, ss, interp)); + + public static IntPtr tcbuffer_end_value(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tcbuffer_end_value(temp)); + + public static IntPtr tcbuffer_points(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tcbuffer_points(temp)); + + public static IntPtr tcbuffer_radius(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tcbuffer_radius(temp)); + + public static IntPtr tcbuffer_traversed_area(IntPtr temp, bool unary_union) + => SafeExecution(() => MEOSExternalFunctions.tcbuffer_traversed_area(temp, unary_union)); + + public static IntPtr tcbuffer_convex_hull(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tcbuffer_convex_hull(temp)); + + public static IntPtr tcbuffer_start_value(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tcbuffer_start_value(temp)); + + public static bool tcbuffer_value_at_timestamptz(IntPtr temp, long t, bool strict, IntPtr value) + => SafeExecution(() => MEOSExternalFunctions.tcbuffer_value_at_timestamptz(temp, t, strict, value)); + + public static bool tcbuffer_value_n(IntPtr temp, int n, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.tcbuffer_value_n(temp, n, result)); + + public static IntPtr[] tcbuffer_values(IntPtr temp) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tcbuffer_values(temp, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static IntPtr tcbuffer_to_tfloat(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tcbuffer_to_tfloat(temp)); + + public static IntPtr tcbuffer_to_tgeompoint(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tcbuffer_to_tgeompoint(temp)); + + public static IntPtr tgeometry_to_tcbuffer(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tgeometry_to_tcbuffer(temp)); + + public static IntPtr tcbuffer_expand(IntPtr temp, double dist) + => SafeExecution(() => MEOSExternalFunctions.tcbuffer_expand(temp, dist)); + + public static IntPtr tcbuffer_at_cbuffer(IntPtr temp, IntPtr cb) + => SafeExecution(() => MEOSExternalFunctions.tcbuffer_at_cbuffer(temp, cb)); + + public static IntPtr tcbuffer_at_geom(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.tcbuffer_at_geom(temp, gs)); + + public static IntPtr tcbuffer_at_stbox(IntPtr temp, IntPtr box, bool border_inc) + => SafeExecution(() => MEOSExternalFunctions.tcbuffer_at_stbox(temp, box, border_inc)); + + public static IntPtr tcbuffer_minus_cbuffer(IntPtr temp, IntPtr cb) + => SafeExecution(() => MEOSExternalFunctions.tcbuffer_minus_cbuffer(temp, cb)); + + public static IntPtr tcbuffer_minus_geom(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.tcbuffer_minus_geom(temp, gs)); + + public static IntPtr tcbuffer_minus_stbox(IntPtr temp, IntPtr box, bool border_inc) + => SafeExecution(() => MEOSExternalFunctions.tcbuffer_minus_stbox(temp, box, border_inc)); + + public static IntPtr tdistance_tcbuffer_cbuffer(IntPtr temp, IntPtr cb) + => SafeExecution(() => MEOSExternalFunctions.tdistance_tcbuffer_cbuffer(temp, cb)); + + public static IntPtr tdistance_tcbuffer_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.tdistance_tcbuffer_geo(temp, gs)); + + public static IntPtr tdistance_tcbuffer_tcbuffer(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.tdistance_tcbuffer_tcbuffer(temp1, temp2)); + + public static double nad_tcbuffer_cbuffer(IntPtr temp, IntPtr cb) + => SafeExecution(() => MEOSExternalFunctions.nad_tcbuffer_cbuffer(temp, cb)); + + public static double nad_tcbuffer_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.nad_tcbuffer_geo(temp, gs)); + + public static double nad_tcbuffer_stbox(IntPtr temp, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.nad_tcbuffer_stbox(temp, box)); + + public static double nad_tcbuffer_tcbuffer(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.nad_tcbuffer_tcbuffer(temp1, temp2)); + + public static double mindistance_tcbuffer_tcbuffer(IntPtr temp1, IntPtr temp2, double threshold) + => SafeExecution(() => MEOSExternalFunctions.mindistance_tcbuffer_tcbuffer(temp1, temp2, threshold)); + + public static IntPtr nai_tcbuffer_cbuffer(IntPtr temp, IntPtr cb) + => SafeExecution(() => MEOSExternalFunctions.nai_tcbuffer_cbuffer(temp, cb)); + + public static IntPtr nai_tcbuffer_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.nai_tcbuffer_geo(temp, gs)); + + public static IntPtr nai_tcbuffer_tcbuffer(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.nai_tcbuffer_tcbuffer(temp1, temp2)); + + public static IntPtr shortestline_tcbuffer_cbuffer(IntPtr temp, IntPtr cb) + => SafeExecution(() => MEOSExternalFunctions.shortestline_tcbuffer_cbuffer(temp, cb)); + + public static IntPtr shortestline_tcbuffer_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.shortestline_tcbuffer_geo(temp, gs)); + + public static IntPtr shortestline_tcbuffer_tcbuffer(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.shortestline_tcbuffer_tcbuffer(temp1, temp2)); + + public static int always_eq_cbuffer_tcbuffer(IntPtr cb, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.always_eq_cbuffer_tcbuffer(cb, temp)); + + public static int always_eq_tcbuffer_cbuffer(IntPtr temp, IntPtr cb) + => SafeExecution(() => MEOSExternalFunctions.always_eq_tcbuffer_cbuffer(temp, cb)); + + public static int always_eq_tcbuffer_tcbuffer(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.always_eq_tcbuffer_tcbuffer(temp1, temp2)); + + public static int always_ne_cbuffer_tcbuffer(IntPtr cb, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.always_ne_cbuffer_tcbuffer(cb, temp)); + + public static int always_ne_tcbuffer_cbuffer(IntPtr temp, IntPtr cb) + => SafeExecution(() => MEOSExternalFunctions.always_ne_tcbuffer_cbuffer(temp, cb)); + + public static int always_ne_tcbuffer_tcbuffer(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.always_ne_tcbuffer_tcbuffer(temp1, temp2)); + + public static int ever_eq_cbuffer_tcbuffer(IntPtr cb, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.ever_eq_cbuffer_tcbuffer(cb, temp)); + + public static int ever_eq_tcbuffer_cbuffer(IntPtr temp, IntPtr cb) + => SafeExecution(() => MEOSExternalFunctions.ever_eq_tcbuffer_cbuffer(temp, cb)); + + public static int ever_eq_tcbuffer_tcbuffer(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.ever_eq_tcbuffer_tcbuffer(temp1, temp2)); + + public static int ever_ne_cbuffer_tcbuffer(IntPtr cb, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.ever_ne_cbuffer_tcbuffer(cb, temp)); + + public static int ever_ne_tcbuffer_cbuffer(IntPtr temp, IntPtr cb) + => SafeExecution(() => MEOSExternalFunctions.ever_ne_tcbuffer_cbuffer(temp, cb)); + + public static int ever_ne_tcbuffer_tcbuffer(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.ever_ne_tcbuffer_tcbuffer(temp1, temp2)); + + public static IntPtr teq_cbuffer_tcbuffer(IntPtr cb, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.teq_cbuffer_tcbuffer(cb, temp)); + + public static IntPtr teq_tcbuffer_cbuffer(IntPtr temp, IntPtr cb) + => SafeExecution(() => MEOSExternalFunctions.teq_tcbuffer_cbuffer(temp, cb)); + + public static IntPtr tne_cbuffer_tcbuffer(IntPtr cb, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tne_cbuffer_tcbuffer(cb, temp)); + + public static IntPtr tne_tcbuffer_cbuffer(IntPtr temp, IntPtr cb) + => SafeExecution(() => MEOSExternalFunctions.tne_tcbuffer_cbuffer(temp, cb)); + + public static int acontains_cbuffer_tcbuffer(IntPtr cb, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.acontains_cbuffer_tcbuffer(cb, temp)); + + public static int acontains_geo_tcbuffer(IntPtr gs, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.acontains_geo_tcbuffer(gs, temp)); + + public static int acontains_tcbuffer_cbuffer(IntPtr temp, IntPtr cb) + => SafeExecution(() => MEOSExternalFunctions.acontains_tcbuffer_cbuffer(temp, cb)); + + public static int acontains_tcbuffer_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.acontains_tcbuffer_geo(temp, gs)); + + public static int acovers_cbuffer_tcbuffer(IntPtr cb, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.acovers_cbuffer_tcbuffer(cb, temp)); + + public static int acovers_geo_tcbuffer(IntPtr gs, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.acovers_geo_tcbuffer(gs, temp)); + + public static int acovers_tcbuffer_cbuffer(IntPtr temp, IntPtr cb) + => SafeExecution(() => MEOSExternalFunctions.acovers_tcbuffer_cbuffer(temp, cb)); + + public static int acovers_tcbuffer_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.acovers_tcbuffer_geo(temp, gs)); + + public static int acovers_tcbuffer_tcbuffer(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.acovers_tcbuffer_tcbuffer(temp1, temp2)); + + public static int adisjoint_tcbuffer_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.adisjoint_tcbuffer_geo(temp, gs)); + + public static int adisjoint_tcbuffer_cbuffer(IntPtr temp, IntPtr cb) + => SafeExecution(() => MEOSExternalFunctions.adisjoint_tcbuffer_cbuffer(temp, cb)); + + public static int adisjoint_tcbuffer_tcbuffer(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.adisjoint_tcbuffer_tcbuffer(temp1, temp2)); + + public static int adwithin_tcbuffer_geo(IntPtr temp, IntPtr gs, double dist) + => SafeExecution(() => MEOSExternalFunctions.adwithin_tcbuffer_geo(temp, gs, dist)); + + public static int adwithin_tcbuffer_cbuffer(IntPtr temp, IntPtr cb, double dist) + => SafeExecution(() => MEOSExternalFunctions.adwithin_tcbuffer_cbuffer(temp, cb, dist)); + + public static int adwithin_tcbuffer_tcbuffer(IntPtr temp1, IntPtr temp2, double dist) + => SafeExecution(() => MEOSExternalFunctions.adwithin_tcbuffer_tcbuffer(temp1, temp2, dist)); + + public static int aintersects_tcbuffer_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.aintersects_tcbuffer_geo(temp, gs)); + + public static int aintersects_tcbuffer_cbuffer(IntPtr temp, IntPtr cb) + => SafeExecution(() => MEOSExternalFunctions.aintersects_tcbuffer_cbuffer(temp, cb)); + + public static int aintersects_tcbuffer_tcbuffer(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.aintersects_tcbuffer_tcbuffer(temp1, temp2)); + + public static int atouches_tcbuffer_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.atouches_tcbuffer_geo(temp, gs)); + + public static int atouches_tcbuffer_cbuffer(IntPtr temp, IntPtr cb) + => SafeExecution(() => MEOSExternalFunctions.atouches_tcbuffer_cbuffer(temp, cb)); + + public static int atouches_tcbuffer_tcbuffer(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.atouches_tcbuffer_tcbuffer(temp1, temp2)); + + public static int econtains_cbuffer_tcbuffer(IntPtr cb, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.econtains_cbuffer_tcbuffer(cb, temp)); + + public static int econtains_tcbuffer_cbuffer(IntPtr temp, IntPtr cb) + => SafeExecution(() => MEOSExternalFunctions.econtains_tcbuffer_cbuffer(temp, cb)); + + public static int econtains_tcbuffer_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.econtains_tcbuffer_geo(temp, gs)); + + public static int ecovers_cbuffer_tcbuffer(IntPtr cb, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.ecovers_cbuffer_tcbuffer(cb, temp)); + + public static int ecovers_geo_tcbuffer(IntPtr gs, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.ecovers_geo_tcbuffer(gs, temp)); + + public static int ecovers_tcbuffer_cbuffer(IntPtr temp, IntPtr cb) + => SafeExecution(() => MEOSExternalFunctions.ecovers_tcbuffer_cbuffer(temp, cb)); + + public static int ecovers_tcbuffer_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.ecovers_tcbuffer_geo(temp, gs)); + + public static int ecovers_tcbuffer_tcbuffer(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.ecovers_tcbuffer_tcbuffer(temp1, temp2)); + + public static int edisjoint_tcbuffer_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.edisjoint_tcbuffer_geo(temp, gs)); + + public static int edisjoint_tcbuffer_cbuffer(IntPtr temp, IntPtr cb) + => SafeExecution(() => MEOSExternalFunctions.edisjoint_tcbuffer_cbuffer(temp, cb)); + + public static int edwithin_tcbuffer_geo(IntPtr temp, IntPtr gs, double dist) + => SafeExecution(() => MEOSExternalFunctions.edwithin_tcbuffer_geo(temp, gs, dist)); + + public static int edwithin_tcbuffer_cbuffer(IntPtr temp, IntPtr cb, double dist) + => SafeExecution(() => MEOSExternalFunctions.edwithin_tcbuffer_cbuffer(temp, cb, dist)); + + public static int edwithin_tcbuffer_tcbuffer(IntPtr temp1, IntPtr temp2, double dist) + => SafeExecution(() => MEOSExternalFunctions.edwithin_tcbuffer_tcbuffer(temp1, temp2, dist)); + + public static int eintersects_tcbuffer_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.eintersects_tcbuffer_geo(temp, gs)); + + public static int eintersects_tcbuffer_cbuffer(IntPtr temp, IntPtr cb) + => SafeExecution(() => MEOSExternalFunctions.eintersects_tcbuffer_cbuffer(temp, cb)); + + public static int eintersects_tcbuffer_tcbuffer(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.eintersects_tcbuffer_tcbuffer(temp1, temp2)); + + public static int etouches_tcbuffer_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.etouches_tcbuffer_geo(temp, gs)); + + public static int etouches_tcbuffer_cbuffer(IntPtr temp, IntPtr cb) + => SafeExecution(() => MEOSExternalFunctions.etouches_tcbuffer_cbuffer(temp, cb)); + + public static int etouches_tcbuffer_tcbuffer(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.etouches_tcbuffer_tcbuffer(temp1, temp2)); + + public static IntPtr tcontains_cbuffer_tcbuffer(IntPtr cb, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tcontains_cbuffer_tcbuffer(cb, temp)); + + public static IntPtr tcontains_geo_tcbuffer(IntPtr gs, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tcontains_geo_tcbuffer(gs, temp)); + + public static IntPtr tcontains_tcbuffer_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.tcontains_tcbuffer_geo(temp, gs)); + + public static IntPtr tcontains_tcbuffer_cbuffer(IntPtr temp, IntPtr cb) + => SafeExecution(() => MEOSExternalFunctions.tcontains_tcbuffer_cbuffer(temp, cb)); + + public static IntPtr tcontains_tcbuffer_tcbuffer(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.tcontains_tcbuffer_tcbuffer(temp1, temp2)); + + public static IntPtr tcovers_cbuffer_tcbuffer(IntPtr cb, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tcovers_cbuffer_tcbuffer(cb, temp)); + + public static IntPtr tcovers_geo_tcbuffer(IntPtr gs, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tcovers_geo_tcbuffer(gs, temp)); + + public static IntPtr tcovers_tcbuffer_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.tcovers_tcbuffer_geo(temp, gs)); + + public static IntPtr tcovers_tcbuffer_cbuffer(IntPtr temp, IntPtr cb) + => SafeExecution(() => MEOSExternalFunctions.tcovers_tcbuffer_cbuffer(temp, cb)); + + public static IntPtr tcovers_tcbuffer_tcbuffer(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.tcovers_tcbuffer_tcbuffer(temp1, temp2)); + + public static IntPtr tdwithin_geo_tcbuffer(IntPtr gs, IntPtr temp, double dist) + => SafeExecution(() => MEOSExternalFunctions.tdwithin_geo_tcbuffer(gs, temp, dist)); + + public static IntPtr tdwithin_tcbuffer_geo(IntPtr temp, IntPtr gs, double dist) + => SafeExecution(() => MEOSExternalFunctions.tdwithin_tcbuffer_geo(temp, gs, dist)); + + public static IntPtr tdwithin_tcbuffer_cbuffer(IntPtr temp, IntPtr cb, double dist) + => SafeExecution(() => MEOSExternalFunctions.tdwithin_tcbuffer_cbuffer(temp, cb, dist)); + + public static IntPtr tdwithin_tcbuffer_tcbuffer(IntPtr temp1, IntPtr temp2, double dist) + => SafeExecution(() => MEOSExternalFunctions.tdwithin_tcbuffer_tcbuffer(temp1, temp2, dist)); + + public static IntPtr tdisjoint_cbuffer_tcbuffer(IntPtr cb, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tdisjoint_cbuffer_tcbuffer(cb, temp)); + + public static IntPtr tdisjoint_geo_tcbuffer(IntPtr gs, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tdisjoint_geo_tcbuffer(gs, temp)); + + public static IntPtr tdisjoint_tcbuffer_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.tdisjoint_tcbuffer_geo(temp, gs)); + + public static IntPtr tdisjoint_tcbuffer_cbuffer(IntPtr temp, IntPtr cb) + => SafeExecution(() => MEOSExternalFunctions.tdisjoint_tcbuffer_cbuffer(temp, cb)); + + public static IntPtr tdisjoint_tcbuffer_tcbuffer(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.tdisjoint_tcbuffer_tcbuffer(temp1, temp2)); + + public static IntPtr tintersects_cbuffer_tcbuffer(IntPtr cb, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tintersects_cbuffer_tcbuffer(cb, temp)); + + public static IntPtr tintersects_geo_tcbuffer(IntPtr gs, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tintersects_geo_tcbuffer(gs, temp)); + + public static IntPtr tintersects_tcbuffer_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.tintersects_tcbuffer_geo(temp, gs)); + + public static IntPtr tintersects_tcbuffer_cbuffer(IntPtr temp, IntPtr cb) + => SafeExecution(() => MEOSExternalFunctions.tintersects_tcbuffer_cbuffer(temp, cb)); + + public static IntPtr tintersects_tcbuffer_tcbuffer(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.tintersects_tcbuffer_tcbuffer(temp1, temp2)); + + public static IntPtr ttouches_geo_tcbuffer(IntPtr gs, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.ttouches_geo_tcbuffer(gs, temp)); + + public static IntPtr ttouches_tcbuffer_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.ttouches_tcbuffer_geo(temp, gs)); + + public static IntPtr ttouches_cbuffer_tcbuffer(IntPtr cb, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.ttouches_cbuffer_tcbuffer(cb, temp)); + + public static IntPtr ttouches_tcbuffer_cbuffer(IntPtr temp, IntPtr cb) + => SafeExecution(() => MEOSExternalFunctions.ttouches_tcbuffer_cbuffer(temp, cb)); + + public static IntPtr ttouches_tcbuffer_tcbuffer(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.ttouches_tcbuffer_tcbuffer(temp1, temp2)); + + public static bool ensure_valid_cbuffer_cbuffer(IntPtr cb1, IntPtr cb2) + => SafeExecution(() => MEOSExternalFunctions.ensure_valid_cbuffer_cbuffer(cb1, cb2)); + + public static bool ensure_valid_cbuffer_geo(IntPtr cb, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.ensure_valid_cbuffer_geo(cb, gs)); + + public static bool ensure_valid_cbuffer_stbox(IntPtr cb, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.ensure_valid_cbuffer_stbox(cb, box)); + + public static bool ensure_valid_cbufferset_cbuffer(IntPtr s, IntPtr cb) + => SafeExecution(() => MEOSExternalFunctions.ensure_valid_cbufferset_cbuffer(s, cb)); + + public static bool cbuffer_collinear(IntPtr cb1, IntPtr cb2, IntPtr cbuf3, double ratio) + => SafeExecution(() => MEOSExternalFunctions.cbuffer_collinear(cb1, cb2, cbuf3, ratio)); + + public static IntPtr cbuffersegm_interpolate(IntPtr start, IntPtr end, IntPtr ratio) + => SafeExecution(() => MEOSExternalFunctions.cbuffersegm_interpolate(start, end, ratio)); + + public static IntPtr cbuffersegm_locate(IntPtr start, IntPtr end, IntPtr value) + => SafeExecution(() => MEOSExternalFunctions.cbuffersegm_locate(start, end, value)); + + public static IntPtr cbuffer_parse(IntPtr str, bool end) + => SafeExecution(() => MEOSExternalFunctions.cbuffer_parse(str, end)); + + public static string cbuffer_wkt_out(long value, int maxdd, bool extended) + => SafeExecution(() => MEOSExternalFunctions.cbuffer_wkt_out(value, maxdd, extended)); + + public static IntPtr cbuffer_point_p(IntPtr cb) + => SafeExecution(() => MEOSExternalFunctions.cbuffer_point_p(cb)); + + public static long datum_cbuffer_round(long buffer, long size) + => SafeExecution(() => MEOSExternalFunctions.datum_cbuffer_round(buffer, size)); + + public static IntPtr cbuffer_transf_pj(IntPtr cb, int srid_to, IntPtr pj) + => SafeExecution(() => MEOSExternalFunctions.cbuffer_transf_pj(cb, srid_to, pj)); + + public static double cbuffer_distance(IntPtr cb1, IntPtr cb2) + => SafeExecution(() => MEOSExternalFunctions.cbuffer_distance(cb1, cb2)); + + public static long datum_cbuffer_distance(long cb1, long cb2) + => SafeExecution(() => MEOSExternalFunctions.datum_cbuffer_distance(cb1, cb2)); + + public static int cbuffersegm_distance_turnpt(IntPtr start1, IntPtr end1, IntPtr start2, IntPtr end2, long lower, long upper, IntPtr t1, IntPtr t2) + => SafeExecution(() => MEOSExternalFunctions.cbuffersegm_distance_turnpt(start1, end1, start2, end2, lower, upper, t1, t2)); + + public static int cbuffer_contains(IntPtr cb1, IntPtr cb2) + => SafeExecution(() => MEOSExternalFunctions.cbuffer_contains(cb1, cb2)); + + public static int cbuffer_covers(IntPtr cb1, IntPtr cb2) + => SafeExecution(() => MEOSExternalFunctions.cbuffer_covers(cb1, cb2)); + + public static int cbuffer_disjoint(IntPtr cb1, IntPtr cb2) + => SafeExecution(() => MEOSExternalFunctions.cbuffer_disjoint(cb1, cb2)); + + public static int cbuffer_intersects(IntPtr cb1, IntPtr cb2) + => SafeExecution(() => MEOSExternalFunctions.cbuffer_intersects(cb1, cb2)); + + public static int cbuffer_dwithin(IntPtr cb1, IntPtr cb2, double dist) + => SafeExecution(() => MEOSExternalFunctions.cbuffer_dwithin(cb1, cb2, dist)); + + public static int cbuffer_touches(IntPtr cb1, IntPtr cb2) + => SafeExecution(() => MEOSExternalFunctions.cbuffer_touches(cb1, cb2)); + + public static long datum_cbuffer_contains(long cb1, long cb2) + => SafeExecution(() => MEOSExternalFunctions.datum_cbuffer_contains(cb1, cb2)); + + public static long datum_cbuffer_covers(long cb1, long cb2) + => SafeExecution(() => MEOSExternalFunctions.datum_cbuffer_covers(cb1, cb2)); + + public static long datum_cbuffer_disjoint(long cb1, long cb2) + => SafeExecution(() => MEOSExternalFunctions.datum_cbuffer_disjoint(cb1, cb2)); + + public static long datum_cbuffer_intersects(long cb1, long cb2) + => SafeExecution(() => MEOSExternalFunctions.datum_cbuffer_intersects(cb1, cb2)); + + public static long datum_cbuffer_dwithin(long cb1, long cb2, long dist) + => SafeExecution(() => MEOSExternalFunctions.datum_cbuffer_dwithin(cb1, cb2, dist)); + + public static long datum_cbuffer_touches(long cb1, long cb2) + => SafeExecution(() => MEOSExternalFunctions.datum_cbuffer_touches(cb1, cb2)); + + public static bool temptype_subtype(int subtype) + => SafeExecution(() => MEOSExternalFunctions.temptype_subtype(subtype)); + + public static bool temptype_subtype_all(int subtype) + => SafeExecution(() => MEOSExternalFunctions.temptype_subtype_all(subtype)); + + public static string tempsubtype_name(int subtype) + => SafeExecution(() => MEOSExternalFunctions.tempsubtype_name(subtype)); + + public static bool tempsubtype_from_string(string str, IntPtr subtype) + => SafeExecution(() => MEOSExternalFunctions.tempsubtype_from_string(str, subtype)); + + public static string meosoper_name(IntPtr oper) + => SafeExecution(() => MEOSExternalFunctions.meosoper_name(oper)); + + public static IntPtr meosoper_from_string(string name) + => SafeExecution(() => MEOSExternalFunctions.meosoper_from_string(name)); + + public static string interptype_name(int interp) + => SafeExecution(() => MEOSExternalFunctions.interptype_name(interp)); + + public static int interptype_from_string(string interp_str) + => SafeExecution(() => MEOSExternalFunctions.interptype_from_string(interp_str)); + + public static int meos_typeof_hexwkb(string hexwkb) + => SafeExecution(() => MEOSExternalFunctions.meos_typeof_hexwkb(hexwkb)); + + public static string meostype_name(int type) + => SafeExecution(() => MEOSExternalFunctions.meostype_name(type)); + + public static int temptype_basetype(int type) + => SafeExecution(() => MEOSExternalFunctions.temptype_basetype(type)); + + public static int settype_basetype(int type) + => SafeExecution(() => MEOSExternalFunctions.settype_basetype(type)); + + public static int spantype_basetype(int type) + => SafeExecution(() => MEOSExternalFunctions.spantype_basetype(type)); + + public static int spantype_spansettype(int type) + => SafeExecution(() => MEOSExternalFunctions.spantype_spansettype(type)); + + public static int spansettype_spantype(int type) + => SafeExecution(() => MEOSExternalFunctions.spansettype_spantype(type)); + + public static int basetype_spantype(int type) + => SafeExecution(() => MEOSExternalFunctions.basetype_spantype(type)); + + public static int basetype_settype(int type) + => SafeExecution(() => MEOSExternalFunctions.basetype_settype(type)); + + public static bool tnumber_basetype(int type) + => SafeExecution(() => MEOSExternalFunctions.tnumber_basetype(type)); + + public static bool geo_basetype(int type) + => SafeExecution(() => MEOSExternalFunctions.geo_basetype(type)); + + public static bool meos_basetype(int type) + => SafeExecution(() => MEOSExternalFunctions.meos_basetype(type)); + + public static bool alphanum_basetype(int type) + => SafeExecution(() => MEOSExternalFunctions.alphanum_basetype(type)); + + public static bool alphanum_temptype(int type) + => SafeExecution(() => MEOSExternalFunctions.alphanum_temptype(type)); + + public static bool time_type(int type) + => SafeExecution(() => MEOSExternalFunctions.time_type(type)); + + public static bool set_basetype(int type) + => SafeExecution(() => MEOSExternalFunctions.set_basetype(type)); + + public static bool set_type(int type) + => SafeExecution(() => MEOSExternalFunctions.set_type(type)); + + public static bool numset_type(int type) + => SafeExecution(() => MEOSExternalFunctions.numset_type(type)); + + public static bool ensure_numset_type(int type) + => SafeExecution(() => MEOSExternalFunctions.ensure_numset_type(type)); + + public static bool timeset_type(int type) + => SafeExecution(() => MEOSExternalFunctions.timeset_type(type)); + + public static bool set_spantype(int type) + => SafeExecution(() => MEOSExternalFunctions.set_spantype(type)); + + public static bool ensure_set_spantype(int type) + => SafeExecution(() => MEOSExternalFunctions.ensure_set_spantype(type)); + + public static bool alphanumset_type(int settype) + => SafeExecution(() => MEOSExternalFunctions.alphanumset_type(settype)); + + public static bool geoset_type(int type) + => SafeExecution(() => MEOSExternalFunctions.geoset_type(type)); + + public static bool ensure_geoset_type(int type) + => SafeExecution(() => MEOSExternalFunctions.ensure_geoset_type(type)); + + public static bool spatialset_type(int type) + => SafeExecution(() => MEOSExternalFunctions.spatialset_type(type)); + + public static bool ensure_spatialset_type(int type) + => SafeExecution(() => MEOSExternalFunctions.ensure_spatialset_type(type)); + + public static bool span_basetype(int type) + => SafeExecution(() => MEOSExternalFunctions.span_basetype(type)); + + public static bool span_canon_basetype(int type) + => SafeExecution(() => MEOSExternalFunctions.span_canon_basetype(type)); + + public static bool span_type(int type) + => SafeExecution(() => MEOSExternalFunctions.span_type(type)); + + public static bool type_span_bbox(int type) + => SafeExecution(() => MEOSExternalFunctions.type_span_bbox(type)); + + public static bool span_tbox_type(int type) + => SafeExecution(() => MEOSExternalFunctions.span_tbox_type(type)); + + public static bool ensure_span_tbox_type(int type) + => SafeExecution(() => MEOSExternalFunctions.ensure_span_tbox_type(type)); + + public static bool numspan_basetype(int type) + => SafeExecution(() => MEOSExternalFunctions.numspan_basetype(type)); + + public static bool numspan_type(int type) + => SafeExecution(() => MEOSExternalFunctions.numspan_type(type)); + + public static bool ensure_numspan_type(int type) + => SafeExecution(() => MEOSExternalFunctions.ensure_numspan_type(type)); + + public static bool timespan_basetype(int type) + => SafeExecution(() => MEOSExternalFunctions.timespan_basetype(type)); + + public static bool timespan_type(int type) + => SafeExecution(() => MEOSExternalFunctions.timespan_type(type)); + + public static bool spanset_type(int type) + => SafeExecution(() => MEOSExternalFunctions.spanset_type(type)); + + public static bool timespanset_type(int type) + => SafeExecution(() => MEOSExternalFunctions.timespanset_type(type)); + + public static bool ensure_timespanset_type(int type) + => SafeExecution(() => MEOSExternalFunctions.ensure_timespanset_type(type)); + + public static bool temporal_type(int type) + => SafeExecution(() => MEOSExternalFunctions.temporal_type(type)); + + public static bool temporal_basetype(int type) + => SafeExecution(() => MEOSExternalFunctions.temporal_basetype(type)); + + public static bool temptype_supports_linear(int type) + => SafeExecution(() => MEOSExternalFunctions.temptype_supports_linear(type)); + + public static bool basetype_byvalue(int type) + => SafeExecution(() => MEOSExternalFunctions.basetype_byvalue(type)); + + public static bool basetype_varlength(int type) + => SafeExecution(() => MEOSExternalFunctions.basetype_varlength(type)); + + public static short meostype_length(int type) + => SafeExecution(() => MEOSExternalFunctions.meostype_length(type)); + + public static bool talphanum_type(int type) + => SafeExecution(() => MEOSExternalFunctions.talphanum_type(type)); + + public static bool talpha_type(int type) + => SafeExecution(() => MEOSExternalFunctions.talpha_type(type)); + + public static bool tnumber_type(int type) + => SafeExecution(() => MEOSExternalFunctions.tnumber_type(type)); + + public static bool ensure_tnumber_type(int type) + => SafeExecution(() => MEOSExternalFunctions.ensure_tnumber_type(type)); + + public static bool ensure_tnumber_basetype(int type) + => SafeExecution(() => MEOSExternalFunctions.ensure_tnumber_basetype(type)); + + public static bool tnumber_spantype(int type) + => SafeExecution(() => MEOSExternalFunctions.tnumber_spantype(type)); + + public static bool spatial_basetype(int type) + => SafeExecution(() => MEOSExternalFunctions.spatial_basetype(type)); + + public static bool tspatial_type(int type) + => SafeExecution(() => MEOSExternalFunctions.tspatial_type(type)); + + public static bool ensure_tspatial_type(int type) + => SafeExecution(() => MEOSExternalFunctions.ensure_tspatial_type(type)); + + public static bool tpoint_type(int type) + => SafeExecution(() => MEOSExternalFunctions.tpoint_type(type)); + + public static bool ensure_tpoint_type(int type) + => SafeExecution(() => MEOSExternalFunctions.ensure_tpoint_type(type)); + + public static bool tgeo_type(int type) + => SafeExecution(() => MEOSExternalFunctions.tgeo_type(type)); + + public static bool ensure_tgeo_type(int type) + => SafeExecution(() => MEOSExternalFunctions.ensure_tgeo_type(type)); + + public static bool tgeo_type_all(int type) + => SafeExecution(() => MEOSExternalFunctions.tgeo_type_all(type)); + + public static bool ensure_tgeo_type_all(int type) + => SafeExecution(() => MEOSExternalFunctions.ensure_tgeo_type_all(type)); + + public static bool tgeometry_type(int type) + => SafeExecution(() => MEOSExternalFunctions.tgeometry_type(type)); + + public static bool ensure_tgeometry_type(int type) + => SafeExecution(() => MEOSExternalFunctions.ensure_tgeometry_type(type)); + + public static bool tgeodetic_type(int type) + => SafeExecution(() => MEOSExternalFunctions.tgeodetic_type(type)); + + public static bool ensure_tgeodetic_type(int type) + => SafeExecution(() => MEOSExternalFunctions.ensure_tgeodetic_type(type)); + + public static bool ensure_tnumber_tpoint_type(int type) + => SafeExecution(() => MEOSExternalFunctions.ensure_tnumber_tpoint_type(type)); + + public static IntPtr gsl_get_generation_rng() + => SafeExecution(() => MEOSExternalFunctions.gsl_get_generation_rng()); + + public static IntPtr gsl_get_aggregation_rng() + => SafeExecution(() => MEOSExternalFunctions.gsl_get_aggregation_rng()); + + public static long datum_ceil(long d) + => SafeExecution(() => MEOSExternalFunctions.datum_ceil(d)); + + public static long datum_degrees(long d, long normalize) + => SafeExecution(() => MEOSExternalFunctions.datum_degrees(d, normalize)); + + public static long datum_float_round(long value, long size) + => SafeExecution(() => MEOSExternalFunctions.datum_float_round(value, size)); + + public static long datum_floor(long d) + => SafeExecution(() => MEOSExternalFunctions.datum_floor(d)); + + public static int datum_hash(long d, int basetype) + => SafeExecution(() => MEOSExternalFunctions.datum_hash(d, basetype)); + + public static IntPtr datum_hash_extended(long d, int basetype, IntPtr seed) + => SafeExecution(() => MEOSExternalFunctions.datum_hash_extended(d, basetype, seed)); + + public static long datum_radians(long d) + => SafeExecution(() => MEOSExternalFunctions.datum_radians(d)); + + public static void floatspan_round_set(IntPtr s, int maxdd, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.floatspan_round_set(s, maxdd, result)); + + public static IntPtr set_in(string str, int basetype) + => SafeExecution(() => MEOSExternalFunctions.set_in(str, basetype)); + + public static string set_out(IntPtr s, int maxdd) + => SafeExecution(() => MEOSExternalFunctions.set_out(s, maxdd)); + + public static IntPtr span_in(string str, int spantype) + => SafeExecution(() => MEOSExternalFunctions.span_in(str, spantype)); + + public static string span_out(IntPtr s, int maxdd) + => SafeExecution(() => MEOSExternalFunctions.span_out(s, maxdd)); + + public static IntPtr spanset_in(string str, int spantype) + => SafeExecution(() => MEOSExternalFunctions.spanset_in(str, spantype)); + + public static string spanset_out(IntPtr ss, int maxdd) + => SafeExecution(() => MEOSExternalFunctions.spanset_out(ss, maxdd)); + + public static IntPtr set_make(IntPtr values, int count, int basetype, bool order) + => SafeExecution(() => MEOSExternalFunctions.set_make(values, count, basetype, order)); + + public static IntPtr set_make_exp(IntPtr values, int count, int maxcount, int basetype, bool order) + => SafeExecution(() => MEOSExternalFunctions.set_make_exp(values, count, maxcount, basetype, order)); + + public static IntPtr set_make_free(IntPtr values, int count, int basetype, bool order) + => SafeExecution(() => MEOSExternalFunctions.set_make_free(values, count, basetype, order)); + + public static IntPtr span_make(long lower, long upper, bool lower_inc, bool upper_inc, int basetype) + => SafeExecution(() => MEOSExternalFunctions.span_make(lower, upper, lower_inc, upper_inc, basetype)); + + public static void span_set(long lower, long upper, bool lower_inc, bool upper_inc, int basetype, int spantype, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.span_set(lower, upper, lower_inc, upper_inc, basetype, spantype, s)); + + public static IntPtr spanset_make_exp(IntPtr spans, int count, int maxcount, bool normalize, bool order) + => SafeExecution(() => MEOSExternalFunctions.spanset_make_exp(spans, count, maxcount, normalize, order)); + + public static IntPtr spanset_make_free(IntPtr spans, int count, bool normalize, bool order) + => SafeExecution(() => MEOSExternalFunctions.spanset_make_free(spans, count, normalize, order)); + + public static IntPtr set_span(IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.set_span(s)); + + public static IntPtr set_spanset(IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.set_spanset(s)); + + public static void value_set_span(long value, int basetype, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.value_set_span(value, basetype, s)); + + public static IntPtr value_set(long d, int basetype) + => SafeExecution(() => MEOSExternalFunctions.value_set(d, basetype)); + + public static IntPtr value_span(long d, int basetype) + => SafeExecution(() => MEOSExternalFunctions.value_span(d, basetype)); + + public static IntPtr value_spanset(long d, int basetype) + => SafeExecution(() => MEOSExternalFunctions.value_spanset(d, basetype)); + + public static long numspan_width(IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.numspan_width(s)); + + public static long numspanset_width(IntPtr ss, bool boundspan) + => SafeExecution(() => MEOSExternalFunctions.numspanset_width(ss, boundspan)); + + public static long set_end_value(IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.set_end_value(s)); + + public static int set_mem_size(IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.set_mem_size(s)); + + public static void set_set_subspan(IntPtr s, int minidx, int maxidx, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.set_set_subspan(s, minidx, maxidx, result)); + + public static void set_set_span(IntPtr s, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.set_set_span(s, result)); + + public static long set_start_value(IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.set_start_value(s)); + + public static bool set_value_n(IntPtr s, int n, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.set_value_n(s, n, result)); + + public static IntPtr set_vals(IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.set_vals(s)); + + public static long[] set_values(IntPtr s) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.set_values(s, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + long[] _out = new long[_n]; + Marshal.Copy(_p, _out, 0, _n); + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static long spanset_lower(IntPtr ss) + => SafeExecution(() => MEOSExternalFunctions.spanset_lower(ss)); + + public static int spanset_mem_size(IntPtr ss) + => SafeExecution(() => MEOSExternalFunctions.spanset_mem_size(ss)); + + public static IntPtr[] spanset_sps(IntPtr ss) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.spanset_sps(ss, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static long spanset_upper(IntPtr ss) + => SafeExecution(() => MEOSExternalFunctions.spanset_upper(ss)); + + public static void datespan_set_tstzspan(IntPtr s1, IntPtr s2) + => SafeExecution(() => MEOSExternalFunctions.datespan_set_tstzspan(s1, s2)); + + public static void bigintspan_set_floatspan(IntPtr s1, IntPtr s2) + => SafeExecution(() => MEOSExternalFunctions.bigintspan_set_floatspan(s1, s2)); + + public static void bigintspan_set_intspan(IntPtr s1, IntPtr s2) + => SafeExecution(() => MEOSExternalFunctions.bigintspan_set_intspan(s1, s2)); + + public static void floatspan_set_bigintspan(IntPtr s1, IntPtr s2) + => SafeExecution(() => MEOSExternalFunctions.floatspan_set_bigintspan(s1, s2)); + + public static void floatspan_set_intspan(IntPtr s1, IntPtr s2) + => SafeExecution(() => MEOSExternalFunctions.floatspan_set_intspan(s1, s2)); + + public static void intspan_set_bigintspan(IntPtr s1, IntPtr s2) + => SafeExecution(() => MEOSExternalFunctions.intspan_set_bigintspan(s1, s2)); + + public static void intspan_set_floatspan(IntPtr s1, IntPtr s2) + => SafeExecution(() => MEOSExternalFunctions.intspan_set_floatspan(s1, s2)); + + public static IntPtr numset_shift_scale(IntPtr s, long shift, long width, bool hasshift, bool haswidth) + => SafeExecution(() => MEOSExternalFunctions.numset_shift_scale(s, shift, width, hasshift, haswidth)); + + public static IntPtr numspan_expand(IntPtr s, long value) + => SafeExecution(() => MEOSExternalFunctions.numspan_expand(s, value)); + + public static IntPtr numspan_shift_scale(IntPtr s, long shift, long width, bool hasshift, bool haswidth) + => SafeExecution(() => MEOSExternalFunctions.numspan_shift_scale(s, shift, width, hasshift, haswidth)); + + public static IntPtr numspanset_shift_scale(IntPtr ss, long shift, long width, bool hasshift, bool haswidth) + => SafeExecution(() => MEOSExternalFunctions.numspanset_shift_scale(ss, shift, width, hasshift, haswidth)); + + public static IntPtr set_compact(IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.set_compact(s)); + + public static void span_expand(IntPtr s1, IntPtr s2) + => SafeExecution(() => MEOSExternalFunctions.span_expand(s1, s2)); + + public static IntPtr spanset_compact(IntPtr ss) + => SafeExecution(() => MEOSExternalFunctions.spanset_compact(ss)); + + public static IntPtr tbox_expand_value(IntPtr box, long value, int basetyp) + => SafeExecution(() => MEOSExternalFunctions.tbox_expand_value(box, value, basetyp)); + + public static IntPtr textcat_textset_text_common(IntPtr s, IntPtr txt, bool invert) + => SafeExecution(() => MEOSExternalFunctions.textcat_textset_text_common(s, txt, invert)); + + public static void tstzspan_set_datespan(IntPtr s1, IntPtr s2) + => SafeExecution(() => MEOSExternalFunctions.tstzspan_set_datespan(s1, s2)); + + public static bool adjacent_span_value(IntPtr s, long value) + => SafeExecution(() => MEOSExternalFunctions.adjacent_span_value(s, value)); + + public static bool adjacent_spanset_value(IntPtr ss, long value) + => SafeExecution(() => MEOSExternalFunctions.adjacent_spanset_value(ss, value)); + + public static bool adjacent_value_spanset(long value, IntPtr ss) + => SafeExecution(() => MEOSExternalFunctions.adjacent_value_spanset(value, ss)); + + public static bool contained_value_set(long value, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.contained_value_set(value, s)); + + public static bool contained_value_span(long value, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.contained_value_span(value, s)); + + public static bool contained_value_spanset(long value, IntPtr ss) + => SafeExecution(() => MEOSExternalFunctions.contained_value_spanset(value, ss)); + + public static bool contains_set_value(IntPtr s, long value) + => SafeExecution(() => MEOSExternalFunctions.contains_set_value(s, value)); + + public static bool contains_span_value(IntPtr s, long value) + => SafeExecution(() => MEOSExternalFunctions.contains_span_value(s, value)); + + public static bool contains_spanset_value(IntPtr ss, long value) + => SafeExecution(() => MEOSExternalFunctions.contains_spanset_value(ss, value)); + + public static bool ovadj_span_span(IntPtr s1, IntPtr s2) + => SafeExecution(() => MEOSExternalFunctions.ovadj_span_span(s1, s2)); + + public static bool left_set_value(IntPtr s, long value) + => SafeExecution(() => MEOSExternalFunctions.left_set_value(s, value)); + + public static bool left_span_value(IntPtr s, long value) + => SafeExecution(() => MEOSExternalFunctions.left_span_value(s, value)); + + public static bool left_spanset_value(IntPtr ss, long value) + => SafeExecution(() => MEOSExternalFunctions.left_spanset_value(ss, value)); + + public static bool left_value_set(long value, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.left_value_set(value, s)); + + public static bool left_value_span(long value, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.left_value_span(value, s)); + + public static bool left_value_spanset(long value, IntPtr ss) + => SafeExecution(() => MEOSExternalFunctions.left_value_spanset(value, ss)); + + public static bool lfnadj_span_span(IntPtr s1, IntPtr s2) + => SafeExecution(() => MEOSExternalFunctions.lfnadj_span_span(s1, s2)); + + public static bool overleft_set_value(IntPtr s, long value) + => SafeExecution(() => MEOSExternalFunctions.overleft_set_value(s, value)); + + public static bool overleft_span_value(IntPtr s, long value) + => SafeExecution(() => MEOSExternalFunctions.overleft_span_value(s, value)); + + public static bool overleft_spanset_value(IntPtr ss, long value) + => SafeExecution(() => MEOSExternalFunctions.overleft_spanset_value(ss, value)); + + public static bool overleft_value_set(long value, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.overleft_value_set(value, s)); + + public static bool overleft_value_span(long value, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.overleft_value_span(value, s)); + + public static bool overleft_value_spanset(long value, IntPtr ss) + => SafeExecution(() => MEOSExternalFunctions.overleft_value_spanset(value, ss)); + + public static bool overright_set_value(IntPtr s, long value) + => SafeExecution(() => MEOSExternalFunctions.overright_set_value(s, value)); + + public static bool overright_span_value(IntPtr s, long value) + => SafeExecution(() => MEOSExternalFunctions.overright_span_value(s, value)); + + public static bool overright_spanset_value(IntPtr ss, long value) + => SafeExecution(() => MEOSExternalFunctions.overright_spanset_value(ss, value)); + + public static bool overright_value_set(long value, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.overright_value_set(value, s)); + + public static bool overright_value_span(long value, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.overright_value_span(value, s)); + + public static bool overright_value_spanset(long value, IntPtr ss) + => SafeExecution(() => MEOSExternalFunctions.overright_value_spanset(value, ss)); + + public static bool right_value_set(long value, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.right_value_set(value, s)); + + public static bool right_set_value(IntPtr s, long value) + => SafeExecution(() => MEOSExternalFunctions.right_set_value(s, value)); + + public static bool right_value_span(long value, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.right_value_span(value, s)); + + public static bool right_value_spanset(long value, IntPtr ss) + => SafeExecution(() => MEOSExternalFunctions.right_value_spanset(value, ss)); + + public static bool right_span_value(IntPtr s, long value) + => SafeExecution(() => MEOSExternalFunctions.right_span_value(s, value)); + + public static bool right_spanset_value(IntPtr ss, long value) + => SafeExecution(() => MEOSExternalFunctions.right_spanset_value(ss, value)); + + public static bool bbox_type(int bboxtype) + => SafeExecution(() => MEOSExternalFunctions.bbox_type(bboxtype)); + + public static ulong bbox_get_size(int bboxtype) + => SafeExecution(() => MEOSExternalFunctions.bbox_get_size(bboxtype)); + + public static int bbox_max_dims(int bboxtype) + => SafeExecution(() => MEOSExternalFunctions.bbox_max_dims(bboxtype)); + + public static bool temporal_bbox_eq(IntPtr box1, IntPtr box2, int temptype) + => SafeExecution(() => MEOSExternalFunctions.temporal_bbox_eq(box1, box2, temptype)); + + public static int temporal_bbox_cmp(IntPtr box1, IntPtr box2, int temptype) + => SafeExecution(() => MEOSExternalFunctions.temporal_bbox_cmp(box1, box2, temptype)); + + public static void bbox_union_span_span(IntPtr s1, IntPtr s2, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.bbox_union_span_span(s1, s2, result)); + + public static bool inter_span_span(IntPtr s1, IntPtr s2, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.inter_span_span(s1, s2, result)); + + public static IntPtr intersection_set_value(IntPtr s, long value) + => SafeExecution(() => MEOSExternalFunctions.intersection_set_value(s, value)); + + public static IntPtr intersection_span_value(IntPtr s, long value) + => SafeExecution(() => MEOSExternalFunctions.intersection_span_value(s, value)); + + public static IntPtr intersection_spanset_value(IntPtr ss, long value) + => SafeExecution(() => MEOSExternalFunctions.intersection_spanset_value(ss, value)); + + public static IntPtr intersection_value_set(long value, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.intersection_value_set(value, s)); + + public static IntPtr intersection_value_span(long value, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.intersection_value_span(value, s)); + + public static IntPtr intersection_value_spanset(long value, IntPtr ss) + => SafeExecution(() => MEOSExternalFunctions.intersection_value_spanset(value, ss)); + + public static int mi_span_span(IntPtr s1, IntPtr s2, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.mi_span_span(s1, s2, result)); + + public static IntPtr minus_set_value(IntPtr s, long value) + => SafeExecution(() => MEOSExternalFunctions.minus_set_value(s, value)); + + public static IntPtr minus_span_value(IntPtr s, long value) + => SafeExecution(() => MEOSExternalFunctions.minus_span_value(s, value)); + + public static IntPtr minus_spanset_value(IntPtr ss, long value) + => SafeExecution(() => MEOSExternalFunctions.minus_spanset_value(ss, value)); + + public static IntPtr minus_value_set(long value, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.minus_value_set(value, s)); + + public static IntPtr minus_value_span(long value, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.minus_value_span(value, s)); + + public static IntPtr minus_value_spanset(long value, IntPtr ss) + => SafeExecution(() => MEOSExternalFunctions.minus_value_spanset(value, ss)); + + public static IntPtr union_set_value(IntPtr s, long value) + => SafeExecution(() => MEOSExternalFunctions.union_set_value(s, value)); + + public static IntPtr union_span_value(IntPtr s, long value) + => SafeExecution(() => MEOSExternalFunctions.union_span_value(s, value)); + + public static IntPtr union_spanset_value(IntPtr ss, long value) + => SafeExecution(() => MEOSExternalFunctions.union_spanset_value(ss, value)); + + public static IntPtr union_value_set(long value, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.union_value_set(value, s)); + + public static IntPtr union_value_span(long value, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.union_value_span(value, s)); + + public static IntPtr union_value_spanset(long value, IntPtr ss) + => SafeExecution(() => MEOSExternalFunctions.union_value_spanset(value, ss)); + + public static long distance_set_set(IntPtr s1, IntPtr s2) + => SafeExecution(() => MEOSExternalFunctions.distance_set_set(s1, s2)); + + public static long distance_set_value(IntPtr s, long value) + => SafeExecution(() => MEOSExternalFunctions.distance_set_value(s, value)); + + public static long distance_span_span(IntPtr s1, IntPtr s2) + => SafeExecution(() => MEOSExternalFunctions.distance_span_span(s1, s2)); + + public static long distance_span_value(IntPtr s, long value) + => SafeExecution(() => MEOSExternalFunctions.distance_span_value(s, value)); + + public static long distance_spanset_span(IntPtr ss, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.distance_spanset_span(ss, s)); + + public static long distance_spanset_spanset(IntPtr ss1, IntPtr ss2) + => SafeExecution(() => MEOSExternalFunctions.distance_spanset_spanset(ss1, ss2)); + + public static long distance_spanset_value(IntPtr ss, long value) + => SafeExecution(() => MEOSExternalFunctions.distance_spanset_value(ss, value)); + + public static long distance_value_value(long l, long r, int basetype) + => SafeExecution(() => MEOSExternalFunctions.distance_value_value(l, r, basetype)); + + public static IntPtr spanbase_extent_transfn(IntPtr state, long value, int basetype) + => SafeExecution(() => MEOSExternalFunctions.spanbase_extent_transfn(state, value, basetype)); + + public static IntPtr value_union_transfn(IntPtr state, long value, int basetype) + => SafeExecution(() => MEOSExternalFunctions.value_union_transfn(state, value, basetype)); + + public static IntPtr number_tstzspan_to_tbox(long d, int basetype, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.number_tstzspan_to_tbox(d, basetype, s)); + + public static IntPtr number_timestamptz_to_tbox(long d, int basetype, long t) + => SafeExecution(() => MEOSExternalFunctions.number_timestamptz_to_tbox(d, basetype, t)); + + public static void tbox_set(IntPtr s, IntPtr p, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.tbox_set(s, p, box)); + + public static void float_set_tbox(double d, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.float_set_tbox(d, box)); + + public static void int_set_tbox(int i, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.int_set_tbox(i, box)); + + public static void number_set_tbox(long d, int basetype, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.number_set_tbox(d, basetype, box)); + + public static IntPtr number_tbox(long value, int basetype) + => SafeExecution(() => MEOSExternalFunctions.number_tbox(value, basetype)); + + public static void numset_set_tbox(IntPtr s, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.numset_set_tbox(s, box)); + + public static void numspan_set_tbox(IntPtr span, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.numspan_set_tbox(span, box)); + + public static void timestamptz_set_tbox(long t, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.timestamptz_set_tbox(t, box)); + + public static void tstzset_set_tbox(IntPtr s, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.tstzset_set_tbox(s, box)); + + public static void tstzspan_set_tbox(IntPtr s, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.tstzspan_set_tbox(s, box)); + + public static IntPtr tbox_shift_scale_value(IntPtr box, long shift, long width, bool hasshift, bool haswidth) + => SafeExecution(() => MEOSExternalFunctions.tbox_shift_scale_value(box, shift, width, hasshift, haswidth)); + + public static void tbox_expand(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.tbox_expand(box1, box2)); + + public static bool inter_tbox_tbox(IntPtr box1, IntPtr box2, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.inter_tbox_tbox(box1, box2, result)); + + public static IntPtr tboolinst_from_mfjson(IntPtr mfjson) + => SafeExecution(() => MEOSExternalFunctions.tboolinst_from_mfjson(mfjson)); + + public static IntPtr tboolinst_in(string str) + => SafeExecution(() => MEOSExternalFunctions.tboolinst_in(str)); + + public static IntPtr tboolseq_from_mfjson(IntPtr mfjson) + => SafeExecution(() => MEOSExternalFunctions.tboolseq_from_mfjson(mfjson)); + + public static IntPtr tboolseq_in(string str, int interp) + => SafeExecution(() => MEOSExternalFunctions.tboolseq_in(str, interp)); + + public static IntPtr tboolseqset_from_mfjson(IntPtr mfjson) + => SafeExecution(() => MEOSExternalFunctions.tboolseqset_from_mfjson(mfjson)); + + public static IntPtr tboolseqset_in(string str) + => SafeExecution(() => MEOSExternalFunctions.tboolseqset_in(str)); + + public static IntPtr temporal_in(string str, int temptype) + => SafeExecution(() => MEOSExternalFunctions.temporal_in(str, temptype)); + + public static string temporal_out(IntPtr temp, int maxdd) + => SafeExecution(() => MEOSExternalFunctions.temporal_out(temp, maxdd)); + + public static IntPtr temparr_out(IntPtr temparr, int count, int maxdd) + => SafeExecution(() => MEOSExternalFunctions.temparr_out(temparr, count, maxdd)); + + public static IntPtr tfloatinst_from_mfjson(IntPtr mfjson) + => SafeExecution(() => MEOSExternalFunctions.tfloatinst_from_mfjson(mfjson)); + + public static IntPtr tfloatinst_in(string str) + => SafeExecution(() => MEOSExternalFunctions.tfloatinst_in(str)); + + public static IntPtr tfloatseq_from_mfjson(IntPtr mfjson, int interp) + => SafeExecution(() => MEOSExternalFunctions.tfloatseq_from_mfjson(mfjson, interp)); + + public static IntPtr tfloatseq_in(string str, int interp) + => SafeExecution(() => MEOSExternalFunctions.tfloatseq_in(str, interp)); + + public static IntPtr tfloatseqset_from_mfjson(IntPtr mfjson, int interp) + => SafeExecution(() => MEOSExternalFunctions.tfloatseqset_from_mfjson(mfjson, interp)); + + public static IntPtr tfloatseqset_in(string str) + => SafeExecution(() => MEOSExternalFunctions.tfloatseqset_in(str)); + + public static IntPtr tinstant_from_mfjson(IntPtr mfjson, bool spatial, int srid, int temptype) + => SafeExecution(() => MEOSExternalFunctions.tinstant_from_mfjson(mfjson, spatial, srid, temptype)); + + public static IntPtr tinstant_in(string str, int temptype) + => SafeExecution(() => MEOSExternalFunctions.tinstant_in(str, temptype)); + + public static string tinstant_out(IntPtr inst, int maxdd) + => SafeExecution(() => MEOSExternalFunctions.tinstant_out(inst, maxdd)); + + public static IntPtr tbigintinst_from_mfjson(IntPtr mfjson) + => SafeExecution(() => MEOSExternalFunctions.tbigintinst_from_mfjson(mfjson)); + + public static IntPtr tbigintinst_in(string str) + => SafeExecution(() => MEOSExternalFunctions.tbigintinst_in(str)); + + public static IntPtr tbigintseq_from_mfjson(IntPtr mfjson) + => SafeExecution(() => MEOSExternalFunctions.tbigintseq_from_mfjson(mfjson)); + + public static IntPtr tbigintseqset_from_mfjson(IntPtr mfjson) + => SafeExecution(() => MEOSExternalFunctions.tbigintseqset_from_mfjson(mfjson)); + + public static IntPtr tbigintseqset_in(string str) + => SafeExecution(() => MEOSExternalFunctions.tbigintseqset_in(str)); + + public static IntPtr tintinst_from_mfjson(IntPtr mfjson) + => SafeExecution(() => MEOSExternalFunctions.tintinst_from_mfjson(mfjson)); + + public static IntPtr tintinst_in(string str) + => SafeExecution(() => MEOSExternalFunctions.tintinst_in(str)); + + public static IntPtr tintseq_from_mfjson(IntPtr mfjson) + => SafeExecution(() => MEOSExternalFunctions.tintseq_from_mfjson(mfjson)); + + public static IntPtr tintseq_in(string str, int interp) + => SafeExecution(() => MEOSExternalFunctions.tintseq_in(str, interp)); + + public static IntPtr tintseqset_from_mfjson(IntPtr mfjson) + => SafeExecution(() => MEOSExternalFunctions.tintseqset_from_mfjson(mfjson)); + + public static IntPtr tintseqset_in(string str) + => SafeExecution(() => MEOSExternalFunctions.tintseqset_in(str)); + + public static IntPtr tsequence_from_mfjson(IntPtr mfjson, bool spatial, int srid, int temptype, int interp) + => SafeExecution(() => MEOSExternalFunctions.tsequence_from_mfjson(mfjson, spatial, srid, temptype, interp)); + + public static IntPtr tsequence_in(string str, int temptype, int interp) + => SafeExecution(() => MEOSExternalFunctions.tsequence_in(str, temptype, interp)); + + public static string tsequence_out(IntPtr seq, int maxdd) + => SafeExecution(() => MEOSExternalFunctions.tsequence_out(seq, maxdd)); + + public static IntPtr tsequenceset_from_mfjson(IntPtr mfjson, bool spatial, int srid, int temptype, int interp) + => SafeExecution(() => MEOSExternalFunctions.tsequenceset_from_mfjson(mfjson, spatial, srid, temptype, interp)); + + public static IntPtr tsequenceset_in(string str, int temptype, int interp) + => SafeExecution(() => MEOSExternalFunctions.tsequenceset_in(str, temptype, interp)); + + public static string tsequenceset_out(IntPtr ss, int maxdd) + => SafeExecution(() => MEOSExternalFunctions.tsequenceset_out(ss, maxdd)); + + public static IntPtr ttextinst_from_mfjson(IntPtr mfjson) + => SafeExecution(() => MEOSExternalFunctions.ttextinst_from_mfjson(mfjson)); + + public static IntPtr ttextinst_in(string str) + => SafeExecution(() => MEOSExternalFunctions.ttextinst_in(str)); + + public static IntPtr ttextseq_from_mfjson(IntPtr mfjson) + => SafeExecution(() => MEOSExternalFunctions.ttextseq_from_mfjson(mfjson)); + + public static IntPtr ttextseq_in(string str, int interp) + => SafeExecution(() => MEOSExternalFunctions.ttextseq_in(str, interp)); + + public static IntPtr ttextseqset_from_mfjson(IntPtr mfjson) + => SafeExecution(() => MEOSExternalFunctions.ttextseqset_from_mfjson(mfjson)); + + public static IntPtr ttextseqset_in(string str) + => SafeExecution(() => MEOSExternalFunctions.ttextseqset_in(str)); + + public static IntPtr temporal_from_mfjson(string mfjson, int temptype) + => SafeExecution(() => MEOSExternalFunctions.temporal_from_mfjson(mfjson, temptype)); + + public static IntPtr temporal_from_base_temp(long value, int temptype, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.temporal_from_base_temp(value, temptype, temp)); + + public static IntPtr tinstant_copy(IntPtr inst) + => SafeExecution(() => MEOSExternalFunctions.tinstant_copy(inst)); + + public static IntPtr tinstant_make(long value, int temptype, long t) + => SafeExecution(() => MEOSExternalFunctions.tinstant_make(value, temptype, t)); + + public static IntPtr tinstant_make_free(long value, int temptype, long t) + => SafeExecution(() => MEOSExternalFunctions.tinstant_make_free(value, temptype, t)); + + public static IntPtr tsequence_copy(IntPtr seq) + => SafeExecution(() => MEOSExternalFunctions.tsequence_copy(seq)); + + public static IntPtr tsequence_from_base_temp(long value, int temptype, IntPtr seq) + => SafeExecution(() => MEOSExternalFunctions.tsequence_from_base_temp(value, temptype, seq)); + + public static IntPtr tsequence_from_base_tstzset(long value, int temptype, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.tsequence_from_base_tstzset(value, temptype, s)); + + public static IntPtr tsequence_from_base_tstzspan(long value, int temptype, IntPtr s, int interp) + => SafeExecution(() => MEOSExternalFunctions.tsequence_from_base_tstzspan(value, temptype, s, interp)); + + public static IntPtr tsequence_make_exp(IntPtr instants, int count, int maxcount, bool lower_inc, bool upper_inc, int interp, bool normalize) + => SafeExecution(() => MEOSExternalFunctions.tsequence_make_exp(instants, count, maxcount, lower_inc, upper_inc, interp, normalize)); + + public static IntPtr tsequence_make_free(IntPtr instants, int count, bool lower_inc, bool upper_inc, int interp, bool normalize) + => SafeExecution(() => MEOSExternalFunctions.tsequence_make_free(instants, count, lower_inc, upper_inc, interp, normalize)); + + public static IntPtr tsequenceset_copy(IntPtr ss) + => SafeExecution(() => MEOSExternalFunctions.tsequenceset_copy(ss)); + + public static IntPtr tseqsetarr_to_tseqset(IntPtr seqsets, int count, int totalseqs) + => SafeExecution(() => MEOSExternalFunctions.tseqsetarr_to_tseqset(seqsets, count, totalseqs)); + + public static IntPtr tsequenceset_from_base_temp(long value, int temptype, IntPtr ss) + => SafeExecution(() => MEOSExternalFunctions.tsequenceset_from_base_temp(value, temptype, ss)); + + public static IntPtr tsequenceset_from_base_tstzspanset(long value, int temptype, IntPtr ss, int interp) + => SafeExecution(() => MEOSExternalFunctions.tsequenceset_from_base_tstzspanset(value, temptype, ss, interp)); + + public static IntPtr tsequenceset_make_exp(IntPtr sequences, int count, int maxcount, bool normalize) + => SafeExecution(() => MEOSExternalFunctions.tsequenceset_make_exp(sequences, count, maxcount, normalize)); + + public static IntPtr tsequenceset_make_free(IntPtr sequences, int count, bool normalize) + => SafeExecution(() => MEOSExternalFunctions.tsequenceset_make_free(sequences, count, normalize)); + + public static void temporal_set_tstzspan(IntPtr temp, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.temporal_set_tstzspan(temp, s)); + + public static void tinstant_set_tstzspan(IntPtr inst, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.tinstant_set_tstzspan(inst, s)); + + public static void tnumber_set_tbox(IntPtr temp, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.tnumber_set_tbox(temp, box)); + + public static void tnumberinst_set_tbox(IntPtr inst, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.tnumberinst_set_tbox(inst, box)); + + public static void tnumberseq_set_tbox(IntPtr seq, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.tnumberseq_set_tbox(seq, box)); + + public static void tnumberseqset_set_tbox(IntPtr ss, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.tnumberseqset_set_tbox(ss, box)); + + public static void tsequence_set_tstzspan(IntPtr seq, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.tsequence_set_tstzspan(seq, s)); + + public static void tsequenceset_set_tstzspan(IntPtr ss, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.tsequenceset_set_tstzspan(ss, s)); + + public static IntPtr temporal_end_inst(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.temporal_end_inst(temp)); + + public static long temporal_end_value(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.temporal_end_value(temp)); + + public static IntPtr temporal_inst_n(IntPtr temp, int n) + => SafeExecution(() => MEOSExternalFunctions.temporal_inst_n(temp, n)); + + public static IntPtr[] temporal_insts_p(IntPtr temp) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.temporal_insts_p(temp, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static IntPtr temporal_max_inst_p(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.temporal_max_inst_p(temp)); + + public static long temporal_max_value(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.temporal_max_value(temp)); + + public static ulong temporal_mem_size(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.temporal_mem_size(temp)); + + public static IntPtr temporal_min_inst_p(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.temporal_min_inst_p(temp)); + + public static long temporal_min_value(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.temporal_min_value(temp)); + + public static IntPtr[] temporal_sequences_p(IntPtr temp) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.temporal_sequences_p(temp, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static void temporal_set_bbox(IntPtr temp, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.temporal_set_bbox(temp, box)); + + public static IntPtr temporal_start_inst(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.temporal_start_inst(temp)); + + public static long temporal_start_value(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.temporal_start_value(temp)); + + public static long[] temporal_values_p(IntPtr temp) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.temporal_values_p(temp, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + long[] _out = new long[_n]; + Marshal.Copy(_p, _out, 0, _n); + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static bool temporal_value_n(IntPtr temp, int n, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.temporal_value_n(temp, n, result)); + + public static long[] temporal_values(IntPtr temp) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.temporal_values(temp, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + long[] _out = new long[_n]; + Marshal.Copy(_p, _out, 0, _n); + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static int tinstant_hash(IntPtr inst) + => SafeExecution(() => MEOSExternalFunctions.tinstant_hash(inst)); + + public static IntPtr[] tinstant_insts(IntPtr inst) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tinstant_insts(inst, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static void tinstant_set_bbox(IntPtr inst, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.tinstant_set_bbox(inst, box)); + + public static IntPtr tinstant_time(IntPtr inst) + => SafeExecution(() => MEOSExternalFunctions.tinstant_time(inst)); + + public static long[] tinstant_timestamps(IntPtr inst) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tinstant_timestamps(inst, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + long[] _out = new long[_n]; + Marshal.Copy(_p, _out, 0, _n); + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static long tinstant_value_p(IntPtr inst) + => SafeExecution(() => MEOSExternalFunctions.tinstant_value_p(inst)); + + public static long tinstant_value(IntPtr inst) + => SafeExecution(() => MEOSExternalFunctions.tinstant_value(inst)); + + public static bool tinstant_value_at_timestamptz(IntPtr inst, long t, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.tinstant_value_at_timestamptz(inst, t, result)); + + public static long[] tinstant_values_p(IntPtr inst) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tinstant_values_p(inst, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + long[] _out = new long[_n]; + Marshal.Copy(_p, _out, 0, _n); + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static void tnumber_set_span(IntPtr temp, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.tnumber_set_span(temp, s)); + + public static IntPtr tnumberinst_valuespans(IntPtr inst) + => SafeExecution(() => MEOSExternalFunctions.tnumberinst_valuespans(inst)); + + public static double tnumberseq_avg_val(IntPtr seq) + => SafeExecution(() => MEOSExternalFunctions.tnumberseq_avg_val(seq)); + + public static IntPtr tnumberseq_valuespans(IntPtr seq) + => SafeExecution(() => MEOSExternalFunctions.tnumberseq_valuespans(seq)); + + public static double tnumberseqset_avg_val(IntPtr ss) + => SafeExecution(() => MEOSExternalFunctions.tnumberseqset_avg_val(ss)); + + public static IntPtr tnumberseqset_valuespans(IntPtr ss) + => SafeExecution(() => MEOSExternalFunctions.tnumberseqset_valuespans(ss)); + + public static IntPtr tsequence_duration(IntPtr seq) + => SafeExecution(() => MEOSExternalFunctions.tsequence_duration(seq)); + + public static long tsequence_end_timestamptz(IntPtr seq) + => SafeExecution(() => MEOSExternalFunctions.tsequence_end_timestamptz(seq)); + + public static int tsequence_hash(IntPtr seq) + => SafeExecution(() => MEOSExternalFunctions.tsequence_hash(seq)); + + public static IntPtr[] tsequence_insts_p(IntPtr seq) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tsequence_insts_p(seq, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static IntPtr tsequence_max_inst_p(IntPtr seq) + => SafeExecution(() => MEOSExternalFunctions.tsequence_max_inst_p(seq)); + + public static long tsequence_max_val(IntPtr seq) + => SafeExecution(() => MEOSExternalFunctions.tsequence_max_val(seq)); + + public static IntPtr tsequence_min_inst_p(IntPtr seq) + => SafeExecution(() => MEOSExternalFunctions.tsequence_min_inst_p(seq)); + + public static long tsequence_min_val(IntPtr seq) + => SafeExecution(() => MEOSExternalFunctions.tsequence_min_val(seq)); + + public static IntPtr[] tsequence_segments(IntPtr seq) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tsequence_segments(seq, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static IntPtr[] tsequence_seqs(IntPtr seq) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tsequence_seqs(seq, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static long tsequence_start_timestamptz(IntPtr seq) + => SafeExecution(() => MEOSExternalFunctions.tsequence_start_timestamptz(seq)); + + public static IntPtr tsequence_time(IntPtr seq) + => SafeExecution(() => MEOSExternalFunctions.tsequence_time(seq)); + + public static long[] tsequence_timestamps(IntPtr seq) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tsequence_timestamps(seq, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + long[] _out = new long[_n]; + Marshal.Copy(_p, _out, 0, _n); + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static bool tsequence_value_at_timestamptz(IntPtr seq, long t, bool strict, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.tsequence_value_at_timestamptz(seq, t, strict, result)); + + public static long[] tsequence_values_p(IntPtr seq) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tsequence_values_p(seq, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + long[] _out = new long[_n]; + Marshal.Copy(_p, _out, 0, _n); + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static IntPtr tsequenceset_duration(IntPtr ss, bool boundspan) + => SafeExecution(() => MEOSExternalFunctions.tsequenceset_duration(ss, boundspan)); + + public static long tsequenceset_end_timestamptz(IntPtr ss) + => SafeExecution(() => MEOSExternalFunctions.tsequenceset_end_timestamptz(ss)); + + public static int tsequenceset_hash(IntPtr ss) + => SafeExecution(() => MEOSExternalFunctions.tsequenceset_hash(ss)); + + public static IntPtr tsequenceset_inst_n(IntPtr ss, int n) + => SafeExecution(() => MEOSExternalFunctions.tsequenceset_inst_n(ss, n)); + + public static IntPtr[] tsequenceset_insts_p(IntPtr ss) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tsequenceset_insts_p(ss, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static IntPtr tsequenceset_max_inst_p(IntPtr ss) + => SafeExecution(() => MEOSExternalFunctions.tsequenceset_max_inst_p(ss)); + + public static long tsequenceset_max_val(IntPtr ss) + => SafeExecution(() => MEOSExternalFunctions.tsequenceset_max_val(ss)); + + public static IntPtr tsequenceset_min_inst_p(IntPtr ss) + => SafeExecution(() => MEOSExternalFunctions.tsequenceset_min_inst_p(ss)); + + public static long tsequenceset_min_val(IntPtr ss) + => SafeExecution(() => MEOSExternalFunctions.tsequenceset_min_val(ss)); + + public static int tsequenceset_num_instants(IntPtr ss) + => SafeExecution(() => MEOSExternalFunctions.tsequenceset_num_instants(ss)); + + public static int tsequenceset_num_timestamps(IntPtr ss) + => SafeExecution(() => MEOSExternalFunctions.tsequenceset_num_timestamps(ss)); + + public static IntPtr[] tsequenceset_segments(IntPtr ss) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tsequenceset_segments(ss, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static IntPtr tsequenceset_sequences_p(IntPtr ss) + => SafeExecution(() => MEOSExternalFunctions.tsequenceset_sequences_p(ss)); + + public static long tsequenceset_start_timestamptz(IntPtr ss) + => SafeExecution(() => MEOSExternalFunctions.tsequenceset_start_timestamptz(ss)); + + public static IntPtr tsequenceset_time(IntPtr ss) + => SafeExecution(() => MEOSExternalFunctions.tsequenceset_time(ss)); + + public static bool tsequenceset_timestamptz_n(IntPtr ss, int n, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.tsequenceset_timestamptz_n(ss, n, result)); + + public static long[] tsequenceset_timestamps(IntPtr ss) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tsequenceset_timestamps(ss, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + long[] _out = new long[_n]; + Marshal.Copy(_p, _out, 0, _n); + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static bool tsequenceset_value_at_timestamptz(IntPtr ss, long t, bool strict, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.tsequenceset_value_at_timestamptz(ss, t, strict, result)); + + public static bool tsequenceset_value_n(IntPtr ss, int n, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.tsequenceset_value_n(ss, n, result)); + + public static bool tsequenceset_value_n_p(IntPtr ss, int n, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.tsequenceset_value_n_p(ss, n, result)); + + public static long[] tsequenceset_values_p(IntPtr ss) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tsequenceset_values_p(ss, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + long[] _out = new long[_n]; + Marshal.Copy(_p, _out, 0, _n); + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static void temporal_restart(IntPtr temp, int count) + => SafeExecution(() => MEOSExternalFunctions.temporal_restart(temp, count)); + + public static IntPtr temporal_tsequence(IntPtr temp, int interp) + => SafeExecution(() => MEOSExternalFunctions.temporal_tsequence(temp, interp)); + + public static IntPtr temporal_tsequenceset(IntPtr temp, int interp) + => SafeExecution(() => MEOSExternalFunctions.temporal_tsequenceset(temp, interp)); + + public static IntPtr tinstant_shift_time(IntPtr inst, IntPtr interv) + => SafeExecution(() => MEOSExternalFunctions.tinstant_shift_time(inst, interv)); + + public static IntPtr tinstant_to_tsequence(IntPtr inst, int interp) + => SafeExecution(() => MEOSExternalFunctions.tinstant_to_tsequence(inst, interp)); + + public static IntPtr tinstant_to_tsequence_free(IntPtr inst, int interp) + => SafeExecution(() => MEOSExternalFunctions.tinstant_to_tsequence_free(inst, interp)); + + public static IntPtr tinstant_to_tsequenceset(IntPtr inst, int interp) + => SafeExecution(() => MEOSExternalFunctions.tinstant_to_tsequenceset(inst, interp)); + + public static IntPtr tnumber_shift_scale_value(IntPtr temp, long shift, long width, bool hasshift, bool haswidth) + => SafeExecution(() => MEOSExternalFunctions.tnumber_shift_scale_value(temp, shift, width, hasshift, haswidth)); + + public static IntPtr tnumberinst_shift_value(IntPtr inst, long shift) + => SafeExecution(() => MEOSExternalFunctions.tnumberinst_shift_value(inst, shift)); + + public static IntPtr tnumberseq_shift_scale_value(IntPtr seq, long shift, long width, bool hasshift, bool haswidth) + => SafeExecution(() => MEOSExternalFunctions.tnumberseq_shift_scale_value(seq, shift, width, hasshift, haswidth)); + + public static IntPtr tnumberseqset_shift_scale_value(IntPtr ss, long start, long width, bool hasshift, bool haswidth) + => SafeExecution(() => MEOSExternalFunctions.tnumberseqset_shift_scale_value(ss, start, width, hasshift, haswidth)); + + public static void tsequence_restart(IntPtr seq, int count) + => SafeExecution(() => MEOSExternalFunctions.tsequence_restart(seq, count)); + + public static IntPtr tsequence_set_interp(IntPtr seq, int interp) + => SafeExecution(() => MEOSExternalFunctions.tsequence_set_interp(seq, interp)); + + public static IntPtr tsequence_shift_scale_time(IntPtr seq, IntPtr shift, IntPtr duration) + => SafeExecution(() => MEOSExternalFunctions.tsequence_shift_scale_time(seq, shift, duration)); + + public static IntPtr tsequence_subseq(IntPtr seq, int from, int to, bool lower_inc, bool upper_inc) + => SafeExecution(() => MEOSExternalFunctions.tsequence_subseq(seq, from, to, lower_inc, upper_inc)); + + public static IntPtr tsequence_to_tinstant(IntPtr seq) + => SafeExecution(() => MEOSExternalFunctions.tsequence_to_tinstant(seq)); + + public static IntPtr tsequence_to_tsequenceset(IntPtr seq) + => SafeExecution(() => MEOSExternalFunctions.tsequence_to_tsequenceset(seq)); + + public static IntPtr tsequence_to_tsequenceset_free(IntPtr seq) + => SafeExecution(() => MEOSExternalFunctions.tsequence_to_tsequenceset_free(seq)); + + public static IntPtr tsequence_to_tsequenceset_interp(IntPtr seq, int interp) + => SafeExecution(() => MEOSExternalFunctions.tsequence_to_tsequenceset_interp(seq, interp)); + + public static void tsequenceset_restart(IntPtr ss, int count) + => SafeExecution(() => MEOSExternalFunctions.tsequenceset_restart(ss, count)); + + public static IntPtr tsequenceset_set_interp(IntPtr ss, int interp) + => SafeExecution(() => MEOSExternalFunctions.tsequenceset_set_interp(ss, interp)); + + public static IntPtr tsequenceset_shift_scale_time(IntPtr ss, IntPtr start, IntPtr duration) + => SafeExecution(() => MEOSExternalFunctions.tsequenceset_shift_scale_time(ss, start, duration)); + + public static IntPtr tsequenceset_to_discrete(IntPtr ss) + => SafeExecution(() => MEOSExternalFunctions.tsequenceset_to_discrete(ss)); + + public static IntPtr tsequenceset_to_linear(IntPtr ss) + => SafeExecution(() => MEOSExternalFunctions.tsequenceset_to_linear(ss)); + + public static IntPtr tsequenceset_to_step(IntPtr ss) + => SafeExecution(() => MEOSExternalFunctions.tsequenceset_to_step(ss)); + + public static IntPtr tsequenceset_to_tinstant(IntPtr ss) + => SafeExecution(() => MEOSExternalFunctions.tsequenceset_to_tinstant(ss)); + + public static IntPtr tsequenceset_to_tsequence(IntPtr ss) + => SafeExecution(() => MEOSExternalFunctions.tsequenceset_to_tsequence(ss)); + + public static IntPtr tinstant_merge(IntPtr inst1, IntPtr inst2) + => SafeExecution(() => MEOSExternalFunctions.tinstant_merge(inst1, inst2)); + + public static IntPtr tinstant_merge_array(IntPtr instants, int count) + => SafeExecution(() => MEOSExternalFunctions.tinstant_merge_array(instants, count)); + + public static IntPtr tsequence_append_tinstant(IntPtr seq, IntPtr inst, double maxdist, IntPtr maxt, bool expand) + => SafeExecution(() => MEOSExternalFunctions.tsequence_append_tinstant(seq, inst, maxdist, maxt, expand)); + + public static IntPtr tsequence_append_tsequence(IntPtr seq1, IntPtr seq2, bool expand) + => SafeExecution(() => MEOSExternalFunctions.tsequence_append_tsequence(seq1, seq2, expand)); + + public static IntPtr tsequence_delete_timestamptz(IntPtr seq, long t, bool connect) + => SafeExecution(() => MEOSExternalFunctions.tsequence_delete_timestamptz(seq, t, connect)); + + public static IntPtr tsequence_delete_tstzset(IntPtr seq, IntPtr s, bool connect) + => SafeExecution(() => MEOSExternalFunctions.tsequence_delete_tstzset(seq, s, connect)); + + public static IntPtr tsequence_delete_tstzspan(IntPtr seq, IntPtr s, bool connect) + => SafeExecution(() => MEOSExternalFunctions.tsequence_delete_tstzspan(seq, s, connect)); + + public static IntPtr tsequence_delete_tstzspanset(IntPtr seq, IntPtr ss, bool connect) + => SafeExecution(() => MEOSExternalFunctions.tsequence_delete_tstzspanset(seq, ss, connect)); + + public static IntPtr tsequence_insert(IntPtr seq1, IntPtr seq2, bool connect) + => SafeExecution(() => MEOSExternalFunctions.tsequence_insert(seq1, seq2, connect)); + + public static IntPtr tsequence_merge(IntPtr seq1, IntPtr seq2) + => SafeExecution(() => MEOSExternalFunctions.tsequence_merge(seq1, seq2)); + + public static IntPtr tsequence_merge_array(IntPtr sequences, int count) + => SafeExecution(() => MEOSExternalFunctions.tsequence_merge_array(sequences, count)); + + public static IntPtr tsequenceset_append_tinstant(IntPtr ss, IntPtr inst, double maxdist, IntPtr maxt, bool expand) + => SafeExecution(() => MEOSExternalFunctions.tsequenceset_append_tinstant(ss, inst, maxdist, maxt, expand)); + + public static IntPtr tsequenceset_append_tsequence(IntPtr ss, IntPtr seq, bool expand) + => SafeExecution(() => MEOSExternalFunctions.tsequenceset_append_tsequence(ss, seq, expand)); + + public static IntPtr tsequenceset_delete_timestamptz(IntPtr ss, long t) + => SafeExecution(() => MEOSExternalFunctions.tsequenceset_delete_timestamptz(ss, t)); + + public static IntPtr tsequenceset_delete_tstzset(IntPtr ss, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.tsequenceset_delete_tstzset(ss, s)); + + public static IntPtr tsequenceset_delete_tstzspan(IntPtr ss, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.tsequenceset_delete_tstzspan(ss, s)); + + public static IntPtr tsequenceset_delete_tstzspanset(IntPtr ss, IntPtr ps) + => SafeExecution(() => MEOSExternalFunctions.tsequenceset_delete_tstzspanset(ss, ps)); + + public static IntPtr tsequenceset_insert(IntPtr ss1, IntPtr ss2) + => SafeExecution(() => MEOSExternalFunctions.tsequenceset_insert(ss1, ss2)); + + public static IntPtr tsequenceset_merge(IntPtr ss1, IntPtr ss2) + => SafeExecution(() => MEOSExternalFunctions.tsequenceset_merge(ss1, ss2)); + + public static IntPtr tsequenceset_merge_array(IntPtr seqsets, int count) + => SafeExecution(() => MEOSExternalFunctions.tsequenceset_merge_array(seqsets, count)); + + public static void tsequence_expand_bbox(IntPtr seq, IntPtr inst) + => SafeExecution(() => MEOSExternalFunctions.tsequence_expand_bbox(seq, inst)); + + public static void tsequence_set_bbox(IntPtr seq, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.tsequence_set_bbox(seq, box)); + + public static void tsequenceset_expand_bbox(IntPtr ss, IntPtr seq) + => SafeExecution(() => MEOSExternalFunctions.tsequenceset_expand_bbox(ss, seq)); + + public static void tsequenceset_set_bbox(IntPtr ss, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.tsequenceset_set_bbox(ss, box)); + + public static IntPtr tcontseq_after_timestamptz(IntPtr seq, long t, bool strict) + => SafeExecution(() => MEOSExternalFunctions.tcontseq_after_timestamptz(seq, t, strict)); + + public static IntPtr tcontseq_before_timestamptz(IntPtr seq, long t, bool strict) + => SafeExecution(() => MEOSExternalFunctions.tcontseq_before_timestamptz(seq, t, strict)); + + public static IntPtr tcontseq_restrict_minmax(IntPtr seq, bool min, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.tcontseq_restrict_minmax(seq, min, atfunc)); + + public static IntPtr tdiscseq_after_timestamptz(IntPtr seq, long t, bool strict) + => SafeExecution(() => MEOSExternalFunctions.tdiscseq_after_timestamptz(seq, t, strict)); + + public static IntPtr tdiscseq_before_timestamptz(IntPtr seq, long t, bool strict) + => SafeExecution(() => MEOSExternalFunctions.tdiscseq_before_timestamptz(seq, t, strict)); + + public static IntPtr tdiscseq_restrict_minmax(IntPtr seq, bool min, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.tdiscseq_restrict_minmax(seq, min, atfunc)); + + public static bool temporal_bbox_restrict_set(IntPtr temp, IntPtr set) + => SafeExecution(() => MEOSExternalFunctions.temporal_bbox_restrict_set(temp, set)); + + public static IntPtr temporal_restrict_minmax(IntPtr temp, bool min, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.temporal_restrict_minmax(temp, min, atfunc)); + + public static IntPtr temporal_restrict_timestamptz(IntPtr temp, long t, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.temporal_restrict_timestamptz(temp, t, atfunc)); + + public static IntPtr temporal_restrict_tstzset(IntPtr temp, IntPtr s, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.temporal_restrict_tstzset(temp, s, atfunc)); + + public static IntPtr temporal_restrict_tstzspan(IntPtr temp, IntPtr s, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.temporal_restrict_tstzspan(temp, s, atfunc)); + + public static IntPtr temporal_restrict_tstzspanset(IntPtr temp, IntPtr ss, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.temporal_restrict_tstzspanset(temp, ss, atfunc)); + + public static IntPtr temporal_restrict_value(IntPtr temp, long value, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.temporal_restrict_value(temp, value, atfunc)); + + public static IntPtr temporal_restrict_values(IntPtr temp, IntPtr set, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.temporal_restrict_values(temp, set, atfunc)); + + public static bool temporal_value_at_timestamptz(IntPtr temp, long t, bool strict, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.temporal_value_at_timestamptz(temp, t, strict, result)); + + public static IntPtr tinstant_after_timestamptz(IntPtr inst, long t, bool strict) + => SafeExecution(() => MEOSExternalFunctions.tinstant_after_timestamptz(inst, t, strict)); + + public static IntPtr tinstant_before_timestamptz(IntPtr inst, long t, bool strict) + => SafeExecution(() => MEOSExternalFunctions.tinstant_before_timestamptz(inst, t, strict)); + + public static IntPtr tinstant_restrict_tstzspan(IntPtr inst, IntPtr period, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.tinstant_restrict_tstzspan(inst, period, atfunc)); + + public static IntPtr tinstant_restrict_tstzspanset(IntPtr inst, IntPtr ss, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.tinstant_restrict_tstzspanset(inst, ss, atfunc)); + + public static IntPtr tinstant_restrict_timestamptz(IntPtr inst, long t, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.tinstant_restrict_timestamptz(inst, t, atfunc)); + + public static IntPtr tinstant_restrict_tstzset(IntPtr inst, IntPtr s, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.tinstant_restrict_tstzset(inst, s, atfunc)); + + public static IntPtr tinstant_restrict_value(IntPtr inst, long value, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.tinstant_restrict_value(inst, value, atfunc)); + + public static IntPtr tinstant_restrict_values(IntPtr inst, IntPtr set, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.tinstant_restrict_values(inst, set, atfunc)); + + public static IntPtr tnumber_restrict_span(IntPtr temp, IntPtr span, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.tnumber_restrict_span(temp, span, atfunc)); + + public static IntPtr tnumber_restrict_spanset(IntPtr temp, IntPtr ss, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.tnumber_restrict_spanset(temp, ss, atfunc)); + + public static IntPtr tnumberinst_restrict_span(IntPtr inst, IntPtr span, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.tnumberinst_restrict_span(inst, span, atfunc)); + + public static IntPtr tnumberinst_restrict_spanset(IntPtr inst, IntPtr ss, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.tnumberinst_restrict_spanset(inst, ss, atfunc)); + + public static IntPtr tnumberseqset_restrict_span(IntPtr ss, IntPtr span, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.tnumberseqset_restrict_span(ss, span, atfunc)); + + public static IntPtr tnumberseqset_restrict_spanset(IntPtr ss, IntPtr spanset, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.tnumberseqset_restrict_spanset(ss, spanset, atfunc)); + + public static IntPtr tsequence_at_timestamptz(IntPtr seq, long t) + => SafeExecution(() => MEOSExternalFunctions.tsequence_at_timestamptz(seq, t)); + + public static IntPtr tsequence_restrict_tstzspan(IntPtr seq, IntPtr s, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.tsequence_restrict_tstzspan(seq, s, atfunc)); + + public static IntPtr tsequence_restrict_tstzspanset(IntPtr seq, IntPtr ss, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.tsequence_restrict_tstzspanset(seq, ss, atfunc)); + + public static IntPtr tsequenceset_after_timestamptz(IntPtr ss, long t, bool strict) + => SafeExecution(() => MEOSExternalFunctions.tsequenceset_after_timestamptz(ss, t, strict)); + + public static IntPtr tsequenceset_before_timestamptz(IntPtr ss, long t, bool strict) + => SafeExecution(() => MEOSExternalFunctions.tsequenceset_before_timestamptz(ss, t, strict)); + + public static IntPtr tsequenceset_restrict_minmax(IntPtr ss, bool min, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.tsequenceset_restrict_minmax(ss, min, atfunc)); + + public static IntPtr tsequenceset_restrict_tstzspan(IntPtr ss, IntPtr s, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.tsequenceset_restrict_tstzspan(ss, s, atfunc)); + + public static IntPtr tsequenceset_restrict_tstzspanset(IntPtr ss, IntPtr ps, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.tsequenceset_restrict_tstzspanset(ss, ps, atfunc)); + + public static IntPtr tsequenceset_restrict_timestamptz(IntPtr ss, long t, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.tsequenceset_restrict_timestamptz(ss, t, atfunc)); + + public static IntPtr tsequenceset_restrict_tstzset(IntPtr ss, IntPtr s, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.tsequenceset_restrict_tstzset(ss, s, atfunc)); + + public static IntPtr tsequenceset_restrict_value(IntPtr ss, long value, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.tsequenceset_restrict_value(ss, value, atfunc)); + + public static IntPtr tsequenceset_restrict_values(IntPtr ss, IntPtr s, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.tsequenceset_restrict_values(ss, s, atfunc)); + + public static int tinstant_cmp(IntPtr inst1, IntPtr inst2) + => SafeExecution(() => MEOSExternalFunctions.tinstant_cmp(inst1, inst2)); + + public static bool tinstant_eq(IntPtr inst1, IntPtr inst2) + => SafeExecution(() => MEOSExternalFunctions.tinstant_eq(inst1, inst2)); + + public static int tsequence_cmp(IntPtr seq1, IntPtr seq2) + => SafeExecution(() => MEOSExternalFunctions.tsequence_cmp(seq1, seq2)); + + public static bool tsequence_eq(IntPtr seq1, IntPtr seq2) + => SafeExecution(() => MEOSExternalFunctions.tsequence_eq(seq1, seq2)); + + public static int tsequenceset_cmp(IntPtr ss1, IntPtr ss2) + => SafeExecution(() => MEOSExternalFunctions.tsequenceset_cmp(ss1, ss2)); + + public static bool tsequenceset_eq(IntPtr ss1, IntPtr ss2) + => SafeExecution(() => MEOSExternalFunctions.tsequenceset_eq(ss1, ss2)); + + public static int always_eq_base_temporal(long value, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.always_eq_base_temporal(value, temp)); + + public static int always_eq_temporal_base(IntPtr temp, long value) + => SafeExecution(() => MEOSExternalFunctions.always_eq_temporal_base(temp, value)); + + public static int always_ne_base_temporal(long value, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.always_ne_base_temporal(value, temp)); + + public static int always_ne_temporal_base(IntPtr temp, long value) + => SafeExecution(() => MEOSExternalFunctions.always_ne_temporal_base(temp, value)); + + public static int always_ge_base_temporal(long value, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.always_ge_base_temporal(value, temp)); + + public static int always_ge_temporal_base(IntPtr temp, long value) + => SafeExecution(() => MEOSExternalFunctions.always_ge_temporal_base(temp, value)); + + public static int always_gt_base_temporal(long value, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.always_gt_base_temporal(value, temp)); + + public static int always_gt_temporal_base(IntPtr temp, long value) + => SafeExecution(() => MEOSExternalFunctions.always_gt_temporal_base(temp, value)); + + public static int always_le_base_temporal(long value, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.always_le_base_temporal(value, temp)); + + public static int always_le_temporal_base(IntPtr temp, long value) + => SafeExecution(() => MEOSExternalFunctions.always_le_temporal_base(temp, value)); + + public static int always_lt_base_temporal(long value, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.always_lt_base_temporal(value, temp)); + + public static int always_lt_temporal_base(IntPtr temp, long value) + => SafeExecution(() => MEOSExternalFunctions.always_lt_temporal_base(temp, value)); + + public static int ever_eq_base_temporal(long value, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.ever_eq_base_temporal(value, temp)); + + public static int ever_eq_temporal_base(IntPtr temp, long value) + => SafeExecution(() => MEOSExternalFunctions.ever_eq_temporal_base(temp, value)); + + public static int ever_ne_base_temporal(long value, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.ever_ne_base_temporal(value, temp)); + + public static int ever_ne_temporal_base(IntPtr temp, long value) + => SafeExecution(() => MEOSExternalFunctions.ever_ne_temporal_base(temp, value)); + + public static int ever_ge_base_temporal(long value, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.ever_ge_base_temporal(value, temp)); + + public static int ever_ge_temporal_base(IntPtr temp, long value) + => SafeExecution(() => MEOSExternalFunctions.ever_ge_temporal_base(temp, value)); + + public static int ever_gt_base_temporal(long value, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.ever_gt_base_temporal(value, temp)); + + public static int ever_gt_temporal_base(IntPtr temp, long value) + => SafeExecution(() => MEOSExternalFunctions.ever_gt_temporal_base(temp, value)); + + public static int ever_le_base_temporal(long value, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.ever_le_base_temporal(value, temp)); + + public static int ever_le_temporal_base(IntPtr temp, long value) + => SafeExecution(() => MEOSExternalFunctions.ever_le_temporal_base(temp, value)); + + public static int ever_lt_base_temporal(long value, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.ever_lt_base_temporal(value, temp)); + + public static int ever_lt_temporal_base(IntPtr temp, long value) + => SafeExecution(() => MEOSExternalFunctions.ever_lt_temporal_base(temp, value)); + + public static IntPtr tnumberinst_abs(IntPtr inst) + => SafeExecution(() => MEOSExternalFunctions.tnumberinst_abs(inst)); + + public static double tnumberinst_distance(IntPtr inst1, IntPtr inst2) + => SafeExecution(() => MEOSExternalFunctions.tnumberinst_distance(inst1, inst2)); + + public static IntPtr tnumberseq_abs(IntPtr seq) + => SafeExecution(() => MEOSExternalFunctions.tnumberseq_abs(seq)); + + public static IntPtr tnumberseq_angular_difference(IntPtr seq) + => SafeExecution(() => MEOSExternalFunctions.tnumberseq_angular_difference(seq)); + + public static IntPtr tnumberseq_delta_value(IntPtr seq) + => SafeExecution(() => MEOSExternalFunctions.tnumberseq_delta_value(seq)); + + public static IntPtr tnumberseqset_abs(IntPtr ss) + => SafeExecution(() => MEOSExternalFunctions.tnumberseqset_abs(ss)); + + public static IntPtr tnumberseqset_angular_difference(IntPtr ss) + => SafeExecution(() => MEOSExternalFunctions.tnumberseqset_angular_difference(ss)); + + public static IntPtr tnumberseqset_delta_value(IntPtr ss) + => SafeExecution(() => MEOSExternalFunctions.tnumberseqset_delta_value(ss)); + + public static IntPtr tdistance_tnumber_number(IntPtr temp, long value) + => SafeExecution(() => MEOSExternalFunctions.tdistance_tnumber_number(temp, value)); + + public static double nad_tbox_tbox(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.nad_tbox_tbox(box1, box2)); + + public static double nad_tnumber_number(IntPtr temp, long value) + => SafeExecution(() => MEOSExternalFunctions.nad_tnumber_number(temp, value)); + + public static double nad_tnumber_tbox(IntPtr temp, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.nad_tnumber_tbox(temp, box)); + + public static double nad_tnumber_tnumber(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.nad_tnumber_tnumber(temp1, temp2)); + + public static double tnumberseq_integral(IntPtr seq) + => SafeExecution(() => MEOSExternalFunctions.tnumberseq_integral(seq)); + + public static double tnumberseq_twavg(IntPtr seq) + => SafeExecution(() => MEOSExternalFunctions.tnumberseq_twavg(seq)); + + public static double tnumberseqset_integral(IntPtr ss) + => SafeExecution(() => MEOSExternalFunctions.tnumberseqset_integral(ss)); + + public static double tnumberseqset_twavg(IntPtr ss) + => SafeExecution(() => MEOSExternalFunctions.tnumberseqset_twavg(ss)); + + public static IntPtr temporal_compact(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.temporal_compact(temp)); + + public static IntPtr tsequence_compact(IntPtr seq) + => SafeExecution(() => MEOSExternalFunctions.tsequence_compact(seq)); + + public static IntPtr tsequenceset_compact(IntPtr ss) + => SafeExecution(() => MEOSExternalFunctions.tsequenceset_compact(ss)); + + public static IntPtr temporal_skiplist_make() + => SafeExecution(() => MEOSExternalFunctions.temporal_skiplist_make()); + + public static IntPtr skiplist_make(IntPtr key_size, IntPtr value_size, IntPtr comp_fn, IntPtr merge_fn) + => SafeExecution(() => MEOSExternalFunctions.skiplist_make(key_size, value_size, comp_fn, merge_fn)); + + public static int skiplist_search(IntPtr list, IntPtr key, IntPtr value) + => SafeExecution(() => MEOSExternalFunctions.skiplist_search(list, key, value)); + + public static void skiplist_free(IntPtr list) + => SafeExecution(() => MEOSExternalFunctions.skiplist_free(list)); + + public static void skiplist_splice(IntPtr list, IntPtr keys, IntPtr values, int count, IntPtr func, bool crossings, IntPtr sktype) + => SafeExecution(() => MEOSExternalFunctions.skiplist_splice(list, keys, values, count, func, crossings, sktype)); + + public static void temporal_skiplist_splice(IntPtr list, IntPtr values, int count, IntPtr func, bool crossings) + => SafeExecution(() => MEOSExternalFunctions.temporal_skiplist_splice(list, values, count, func, crossings)); + + public static IntPtr skiplist_values(IntPtr list) + => SafeExecution(() => MEOSExternalFunctions.skiplist_values(list)); + + public static IntPtr skiplist_keys_values(IntPtr list, IntPtr values) + => SafeExecution(() => MEOSExternalFunctions.skiplist_keys_values(list, values)); + + public static IntPtr temporal_app_tinst_transfn(IntPtr state, IntPtr inst, int interp, double maxdist, IntPtr maxt) + => SafeExecution(() => MEOSExternalFunctions.temporal_app_tinst_transfn(state, inst, interp, maxdist, maxt)); + + public static IntPtr temporal_app_tseq_transfn(IntPtr state, IntPtr seq) + => SafeExecution(() => MEOSExternalFunctions.temporal_app_tseq_transfn(state, seq)); + + public static IntPtr[] span_bins(IntPtr s, long size, long origin) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.span_bins(s, size, origin, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static IntPtr[] spanset_bins(IntPtr ss, long size, long origin) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.spanset_bins(ss, size, origin, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static IntPtr[] tnumber_value_bins(IntPtr temp, long size, long origin) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tnumber_value_bins(temp, size, origin, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static IntPtr[] tnumber_value_time_boxes(IntPtr temp, long vsize, IntPtr duration, long vorigin, long torigin) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tnumber_value_time_boxes(temp, vsize, duration, vorigin, torigin, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static (IntPtr[], long[]) tnumber_value_split(IntPtr temp, long vsize, long vorigin) + { + IntPtr _out_bins = Marshal.AllocHGlobal(IntPtr.Size); + IntPtr _count_count = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _resultPtr = SafeExecution(() => MEOSExternalFunctions.tnumber_value_split(temp, vsize, vorigin, _out_bins, _count_count)); + int _n = Marshal.ReadInt32(_count_count); + IntPtr[] _resultArr = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _resultArr[_i] = Marshal.ReadIntPtr(_resultPtr, _i * IntPtr.Size); } + IntPtr __out_bins_arr = Marshal.ReadIntPtr(_out_bins); + long[] __out_bins_out = new long[_n]; + Marshal.Copy(__out_bins_arr, __out_bins_out, 0, _n); + return (_resultArr, __out_bins_out); + } + finally + { + Marshal.FreeHGlobal(_out_bins); + Marshal.FreeHGlobal(_count_count); + } + } + + public static IntPtr tbox_get_value_time_tile(long value, long t, long vsize, IntPtr duration, long vorigin, long torigin, int basetype, int spantype) + => SafeExecution(() => MEOSExternalFunctions.tbox_get_value_time_tile(value, t, vsize, duration, vorigin, torigin, basetype, spantype)); + + public static (IntPtr[], long[], long[]) tnumber_value_time_split(IntPtr temp, long size, IntPtr duration, long vorigin, long torigin) + { + IntPtr _out_value_bins = Marshal.AllocHGlobal(IntPtr.Size); + IntPtr _out_time_bins = Marshal.AllocHGlobal(IntPtr.Size); + IntPtr _count_count = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _resultPtr = SafeExecution(() => MEOSExternalFunctions.tnumber_value_time_split(temp, size, duration, vorigin, torigin, _out_value_bins, _out_time_bins, _count_count)); + int _n = Marshal.ReadInt32(_count_count); + IntPtr[] _resultArr = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _resultArr[_i] = Marshal.ReadIntPtr(_resultPtr, _i * IntPtr.Size); } + IntPtr __out_value_bins_arr = Marshal.ReadIntPtr(_out_value_bins); + long[] __out_value_bins_out = new long[_n]; + Marshal.Copy(__out_value_bins_arr, __out_value_bins_out, 0, _n); + IntPtr __out_time_bins_arr = Marshal.ReadIntPtr(_out_time_bins); + long[] __out_time_bins_out = new long[_n]; + Marshal.Copy(__out_time_bins_arr, __out_time_bins_out, 0, _n); + return (_resultArr, __out_value_bins_out, __out_time_bins_out); + } + finally + { + Marshal.FreeHGlobal(_out_value_bins); + Marshal.FreeHGlobal(_out_time_bins); + Marshal.FreeHGlobal(_count_count); + } + } + + public static string double2_out(IntPtr d, int maxdd) + => SafeExecution(() => MEOSExternalFunctions.double2_out(d, maxdd)); + + public static void double2_set(double a, double b, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.double2_set(a, b, result)); + + public static IntPtr double2_add(IntPtr d1, IntPtr d2) + => SafeExecution(() => MEOSExternalFunctions.double2_add(d1, d2)); + + public static bool double2_eq(IntPtr d1, IntPtr d2) + => SafeExecution(() => MEOSExternalFunctions.double2_eq(d1, d2)); + + public static string double3_out(IntPtr d, int maxdd) + => SafeExecution(() => MEOSExternalFunctions.double3_out(d, maxdd)); + + public static void double3_set(double a, double b, double c, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.double3_set(a, b, c, result)); + + public static IntPtr double3_add(IntPtr d1, IntPtr d2) + => SafeExecution(() => MEOSExternalFunctions.double3_add(d1, d2)); + + public static bool double3_eq(IntPtr d1, IntPtr d2) + => SafeExecution(() => MEOSExternalFunctions.double3_eq(d1, d2)); + + public static string double4_out(IntPtr d, int maxdd) + => SafeExecution(() => MEOSExternalFunctions.double4_out(d, maxdd)); + + public static void double4_set(double a, double b, double c, double d, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.double4_set(a, b, c, d, result)); + + public static IntPtr double4_add(IntPtr d1, IntPtr d2) + => SafeExecution(() => MEOSExternalFunctions.double4_add(d1, d2)); + + public static bool double4_eq(IntPtr d1, IntPtr d2) + => SafeExecution(() => MEOSExternalFunctions.double4_eq(d1, d2)); + + public static bool double2_collinear(IntPtr x1, IntPtr x2, IntPtr x3, double ratio) + => SafeExecution(() => MEOSExternalFunctions.double2_collinear(x1, x2, x3, ratio)); + + public static bool double3_collinear(IntPtr x1, IntPtr x2, IntPtr x3, double ratio) + => SafeExecution(() => MEOSExternalFunctions.double3_collinear(x1, x2, x3, ratio)); + + public static bool double4_collinear(IntPtr x1, IntPtr x2, IntPtr x3, double ratio) + => SafeExecution(() => MEOSExternalFunctions.double4_collinear(x1, x2, x3, ratio)); + + public static IntPtr double2segm_interpolate(IntPtr start, IntPtr end, IntPtr ratio) + => SafeExecution(() => MEOSExternalFunctions.double2segm_interpolate(start, end, ratio)); + + public static IntPtr double3segm_interpolate(IntPtr start, IntPtr end, IntPtr ratio) + => SafeExecution(() => MEOSExternalFunctions.double3segm_interpolate(start, end, ratio)); + + public static IntPtr double4segm_interpolate(IntPtr start, IntPtr end, IntPtr ratio) + => SafeExecution(() => MEOSExternalFunctions.double4segm_interpolate(start, end, ratio)); + + public static int pg_atoi(string s, int size, int c) + => SafeExecution(() => MEOSExternalFunctions.pg_atoi(s, size, c)); + + public static bool ensure_has_X(int type, short flags) + => SafeExecution(() => MEOSExternalFunctions.ensure_has_X(type, flags)); + + public static bool ensure_has_Z(int type, short flags) + => SafeExecution(() => MEOSExternalFunctions.ensure_has_Z(type, flags)); + + public static bool ensure_has_T(int type, short flags) + => SafeExecution(() => MEOSExternalFunctions.ensure_has_T(type, flags)); + + public static bool ensure_has_not_Z(int type, short flags) + => SafeExecution(() => MEOSExternalFunctions.ensure_has_not_Z(type, flags)); + + public static bool ensure_not_null(IntPtr ptr) + => SafeExecution(() => MEOSExternalFunctions.ensure_not_null(ptr)); + + public static bool ensure_one_not_null(IntPtr ptr1, IntPtr ptr2) + => SafeExecution(() => MEOSExternalFunctions.ensure_one_not_null(ptr1, ptr2)); + + public static bool ensure_one_true(bool hasshift, bool haswidth) + => SafeExecution(() => MEOSExternalFunctions.ensure_one_true(hasshift, haswidth)); + + public static bool ensure_valid_interp(int temptype, int interp) + => SafeExecution(() => MEOSExternalFunctions.ensure_valid_interp(temptype, interp)); + + public static bool ensure_continuous(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.ensure_continuous(temp)); + + public static bool ensure_same_interp(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.ensure_same_interp(temp1, temp2)); + + public static bool ensure_same_continuous_interp(short flags1, short flags2) + => SafeExecution(() => MEOSExternalFunctions.ensure_same_continuous_interp(flags1, flags2)); + + public static bool ensure_linear_interp(short flags) + => SafeExecution(() => MEOSExternalFunctions.ensure_linear_interp(flags)); + + public static bool ensure_nonlinear_interp(short flags) + => SafeExecution(() => MEOSExternalFunctions.ensure_nonlinear_interp(flags)); + + public static bool ensure_common_dimension(short flags1, short flags2) + => SafeExecution(() => MEOSExternalFunctions.ensure_common_dimension(flags1, flags2)); + + public static bool ensure_temporal_isof_type(IntPtr temp, int type) + => SafeExecution(() => MEOSExternalFunctions.ensure_temporal_isof_type(temp, type)); + + public static bool ensure_temporal_isof_basetype(IntPtr temp, int basetype) + => SafeExecution(() => MEOSExternalFunctions.ensure_temporal_isof_basetype(temp, basetype)); + + public static bool ensure_temporal_isof_subtype(IntPtr temp, int type) + => SafeExecution(() => MEOSExternalFunctions.ensure_temporal_isof_subtype(temp, type)); + + public static bool ensure_same_temporal_type(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.ensure_same_temporal_type(temp1, temp2)); + + public static bool ensure_valid_tnumber_numspan(IntPtr temp, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.ensure_valid_tnumber_numspan(temp, s)); + + public static bool ensure_valid_tnumber_numspanset(IntPtr temp, IntPtr ss) + => SafeExecution(() => MEOSExternalFunctions.ensure_valid_tnumber_numspanset(temp, ss)); + + public static bool ensure_valid_tnumber_tbox(IntPtr temp, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.ensure_valid_tnumber_tbox(temp, box)); + + public static bool ensure_valid_temporal_set(IntPtr temp, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.ensure_valid_temporal_set(temp, s)); + + public static bool ensure_valid_temporal_temporal(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.ensure_valid_temporal_temporal(temp1, temp2)); + + public static bool ensure_valid_tnumber_tnumber(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.ensure_valid_tnumber_tnumber(temp1, temp2)); + + public static bool ensure_not_negative(int i) + => SafeExecution(() => MEOSExternalFunctions.ensure_not_negative(i)); + + public static bool ensure_positive(int i) + => SafeExecution(() => MEOSExternalFunctions.ensure_positive(i)); + + public static bool not_negative_datum(long size, int basetype) + => SafeExecution(() => MEOSExternalFunctions.not_negative_datum(size, basetype)); + + public static bool ensure_not_negative_datum(long size, int basetype) + => SafeExecution(() => MEOSExternalFunctions.ensure_not_negative_datum(size, basetype)); + + public static bool positive_datum(long size, int basetype) + => SafeExecution(() => MEOSExternalFunctions.positive_datum(size, basetype)); + + public static bool ensure_positive_datum(long size, int basetype) + => SafeExecution(() => MEOSExternalFunctions.ensure_positive_datum(size, basetype)); + + public static bool ensure_valid_day_duration(IntPtr duration) + => SafeExecution(() => MEOSExternalFunctions.ensure_valid_day_duration(duration)); + + public static bool positive_duration(IntPtr duration) + => SafeExecution(() => MEOSExternalFunctions.positive_duration(duration)); + + public static bool ensure_positive_duration(IntPtr duration) + => SafeExecution(() => MEOSExternalFunctions.ensure_positive_duration(duration)); + + public static IntPtr temporal_bbox_ptr(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.temporal_bbox_ptr(temp)); + + public static bool intersection_temporal_temporal(IntPtr temp1, IntPtr temp2, IntPtr mode, IntPtr inter1, IntPtr inter2) + => SafeExecution(() => MEOSExternalFunctions.intersection_temporal_temporal(temp1, temp2, mode, inter1, inter2)); + + public static string mobilitydb_version() + => SafeExecution(() => MEOSExternalFunctions.mobilitydb_version()); + + public static string mobilitydb_full_version() + => SafeExecution(() => MEOSExternalFunctions.mobilitydb_full_version()); + + public static IntPtr round_fn(int basetype) + => SafeExecution(() => MEOSExternalFunctions.round_fn(basetype)); + + public static bool temporal_bbox_restrict_value(IntPtr temp, long value) + => SafeExecution(() => MEOSExternalFunctions.temporal_bbox_restrict_value(temp, value)); + + public static bool ensure_valid_tcbuffer_cbuffer(IntPtr temp, IntPtr cb) + => SafeExecution(() => MEOSExternalFunctions.ensure_valid_tcbuffer_cbuffer(temp, cb)); + + public static bool ensure_valid_tcbuffer_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.ensure_valid_tcbuffer_geo(temp, gs)); + + public static bool ensure_valid_tcbuffer_stbox(IntPtr temp, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.ensure_valid_tcbuffer_stbox(temp, box)); + + public static bool ensure_valid_tcbuffer_tcbuffer(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.ensure_valid_tcbuffer_tcbuffer(temp1, temp2)); + + public static int tcbuffersegm_intersection_value(long start, long end, long value, long lower, long upper, IntPtr t1, IntPtr t2) + => SafeExecution(() => MEOSExternalFunctions.tcbuffersegm_intersection_value(start, end, value, lower, upper, t1, t2)); + + public static int tcbuffersegm_intersection(long start1, long end1, long start2, long end2, long lower, long upper, IntPtr t1, IntPtr t2) + => SafeExecution(() => MEOSExternalFunctions.tcbuffersegm_intersection(start1, end1, start2, end2, lower, upper, t1, t2)); + + public static int tcbuffersegm_dwithin_turnpt(long start1, long end1, long start2, long end2, long dist, long lower, long upper, IntPtr t1, IntPtr t2) + => SafeExecution(() => MEOSExternalFunctions.tcbuffersegm_dwithin_turnpt(start1, end1, start2, end2, dist, lower, upper, t1, t2)); + + public static int tcbuffersegm_tdwithin_turnpt(long start1, long end1, long start2, long end2, long dist, long lower, long upper, IntPtr t1, IntPtr t2) + => SafeExecution(() => MEOSExternalFunctions.tcbuffersegm_tdwithin_turnpt(start1, end1, start2, end2, dist, lower, upper, t1, t2)); + + public static int tcbuffersegm_distance_turnpt(long start1, long end1, long start2, long end2, long dist, long lower, long upper, IntPtr t1, IntPtr t2) + => SafeExecution(() => MEOSExternalFunctions.tcbuffersegm_distance_turnpt(start1, end1, start2, end2, dist, lower, upper, t1, t2)); + + public static IntPtr tcbuffer_geo_ctx_make(IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.tcbuffer_geo_ctx_make(gs)); + + public static void tcbuffer_geo_ctx_free(IntPtr ctx) + => SafeExecution(() => MEOSExternalFunctions.tcbuffer_geo_ctx_free(ctx)); + + public static int tcbuffer_geo_ctx_nsegs(IntPtr ctx) + => SafeExecution(() => MEOSExternalFunctions.tcbuffer_geo_ctx_nsegs(ctx)); + + public static bool tcbuffer_disc_within_ctx(IntPtr cb, double dist, IntPtr ctx) + => SafeExecution(() => MEOSExternalFunctions.tcbuffer_disc_within_ctx(cb, dist, ctx)); + + public static int tcbufferseg_within_ctx(IntPtr cb1, IntPtr cb2, double dist, IntPtr ctx, IntPtr outlo, IntPtr outhi, int maxout) + => SafeExecution(() => MEOSExternalFunctions.tcbufferseg_within_ctx(cb1, cb2, dist, ctx, outlo, outhi, maxout)); + + public static bool tcbuffer_disc_touch_ctx(IntPtr cb, IntPtr ctx) + => SafeExecution(() => MEOSExternalFunctions.tcbuffer_disc_touch_ctx(cb, ctx)); + + public static int tcbufferseg_touch_roots(IntPtr cb1, IntPtr cb2, IntPtr ctx, IntPtr outt, int maxout) + => SafeExecution(() => MEOSExternalFunctions.tcbufferseg_touch_roots(cb1, cb2, ctx, outt, maxout)); + + public static bool cbuffer_set_stbox(IntPtr cb, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.cbuffer_set_stbox(cb, box)); + + public static void cbufferarr_set_stbox(IntPtr values, int count, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.cbufferarr_set_stbox(values, count, box)); + + public static void cbuffer_timestamptz_set_stbox(IntPtr cb, long t, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.cbuffer_timestamptz_set_stbox(cb, t, box)); + + public static void cbuffer_tstzspan_set_stbox(IntPtr cb, IntPtr s, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.cbuffer_tstzspan_set_stbox(cb, s, box)); + + public static void tcbufferinst_set_stbox(IntPtr inst, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.tcbufferinst_set_stbox(inst, box)); + + public static void tcbufferinstarr_set_stbox(IntPtr instants, int count, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.tcbufferinstarr_set_stbox(instants, count, box)); + + public static void tcbufferseq_expand_stbox(IntPtr seq, IntPtr inst) + => SafeExecution(() => MEOSExternalFunctions.tcbufferseq_expand_stbox(seq, inst)); + + public static IntPtr tcbufferinst_traversed_area(IntPtr inst) + => SafeExecution(() => MEOSExternalFunctions.tcbufferinst_traversed_area(inst)); + + public static IntPtr tcbufferseq_traversed_area(IntPtr seq, bool unary_union) + => SafeExecution(() => MEOSExternalFunctions.tcbufferseq_traversed_area(seq, unary_union)); + + public static IntPtr tcbufferseqset_traversed_area(IntPtr ss, bool unary_union) + => SafeExecution(() => MEOSExternalFunctions.tcbufferseqset_traversed_area(ss, unary_union)); + + public static IntPtr tcbuffersegm_traversed_area(IntPtr inst1, IntPtr inst2) + => SafeExecution(() => MEOSExternalFunctions.tcbuffersegm_traversed_area(inst1, inst2)); + + public static IntPtr tcbuffer_restrict_cbuffer(IntPtr temp, IntPtr cb, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.tcbuffer_restrict_cbuffer(temp, cb, atfunc)); + + public static IntPtr tcbuffer_restrict_stbox(IntPtr temp, IntPtr box, bool border_inc, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.tcbuffer_restrict_stbox(temp, box, border_inc, atfunc)); + + public static IntPtr tcbuffer_restrict_geom(IntPtr temp, IntPtr gs, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.tcbuffer_restrict_geom(temp, gs, atfunc)); + + public static int ea_contains_geo_tcbuffer(IntPtr gs, IntPtr temp, bool ever) + => SafeExecution(() => MEOSExternalFunctions.ea_contains_geo_tcbuffer(gs, temp, ever)); + + public static int ea_contains_tcbuffer_geo(IntPtr temp, IntPtr gs, bool ever) + => SafeExecution(() => MEOSExternalFunctions.ea_contains_tcbuffer_geo(temp, gs, ever)); + + public static int ea_contains_tcbuffer_cbuffer(IntPtr temp, IntPtr cb, bool ever) + => SafeExecution(() => MEOSExternalFunctions.ea_contains_tcbuffer_cbuffer(temp, cb, ever)); + + public static int ea_contains_cbuffer_tcbuffer(IntPtr cb, IntPtr temp, bool ever) + => SafeExecution(() => MEOSExternalFunctions.ea_contains_cbuffer_tcbuffer(cb, temp, ever)); + + public static int ea_covers_geo_tcbuffer(IntPtr gs, IntPtr temp, bool ever) + => SafeExecution(() => MEOSExternalFunctions.ea_covers_geo_tcbuffer(gs, temp, ever)); + + public static int ea_covers_tcbuffer_geo(IntPtr temp, IntPtr gs, bool ever) + => SafeExecution(() => MEOSExternalFunctions.ea_covers_tcbuffer_geo(temp, gs, ever)); + + public static int ea_covers_tcbuffer_cbuffer(IntPtr temp, IntPtr cb, bool ever) + => SafeExecution(() => MEOSExternalFunctions.ea_covers_tcbuffer_cbuffer(temp, cb, ever)); + + public static int ea_covers_cbuffer_tcbuffer(IntPtr cb, IntPtr temp, bool ever) + => SafeExecution(() => MEOSExternalFunctions.ea_covers_cbuffer_tcbuffer(cb, temp, ever)); + + public static int ea_covers_tcbuffer_tcbuffer(IntPtr temp1, IntPtr temp2, bool ever) + => SafeExecution(() => MEOSExternalFunctions.ea_covers_tcbuffer_tcbuffer(temp1, temp2, ever)); + + public static int ea_disjoint_tcbuffer_geo(IntPtr temp, IntPtr gs, bool ever) + => SafeExecution(() => MEOSExternalFunctions.ea_disjoint_tcbuffer_geo(temp, gs, ever)); + + public static int ea_disjoint_geo_tcbuffer(IntPtr gs, IntPtr temp, bool ever) + => SafeExecution(() => MEOSExternalFunctions.ea_disjoint_geo_tcbuffer(gs, temp, ever)); + + public static int ea_disjoint_tcbuffer_cbuffer(IntPtr temp, IntPtr cb, bool ever) + => SafeExecution(() => MEOSExternalFunctions.ea_disjoint_tcbuffer_cbuffer(temp, cb, ever)); + + public static int ea_disjoint_cbuffer_tcbuffer(IntPtr cb, IntPtr temp, bool ever) + => SafeExecution(() => MEOSExternalFunctions.ea_disjoint_cbuffer_tcbuffer(cb, temp, ever)); + + public static int ea_disjoint_tcbuffer_tcbuffer(IntPtr temp1, IntPtr temp2, bool ever) + => SafeExecution(() => MEOSExternalFunctions.ea_disjoint_tcbuffer_tcbuffer(temp1, temp2, ever)); + + public static int ea_intersects_tcbuffer_geo(IntPtr temp, IntPtr gs, bool ever) + => SafeExecution(() => MEOSExternalFunctions.ea_intersects_tcbuffer_geo(temp, gs, ever)); + + public static int ea_intersects_geo_tcbuffer(IntPtr gs, IntPtr temp, bool ever) + => SafeExecution(() => MEOSExternalFunctions.ea_intersects_geo_tcbuffer(gs, temp, ever)); + + public static int ea_intersects_tcbuffer_cbuffer(IntPtr temp, IntPtr cb, bool ever) + => SafeExecution(() => MEOSExternalFunctions.ea_intersects_tcbuffer_cbuffer(temp, cb, ever)); + + public static int ea_intersects_cbuffer_tcbuffer(IntPtr cb, IntPtr temp, bool ever) + => SafeExecution(() => MEOSExternalFunctions.ea_intersects_cbuffer_tcbuffer(cb, temp, ever)); + + public static int ea_intersects_tcbuffer_tcbuffer(IntPtr temp1, IntPtr temp2, bool ever) + => SafeExecution(() => MEOSExternalFunctions.ea_intersects_tcbuffer_tcbuffer(temp1, temp2, ever)); + + public static int ea_touches_tcbuffer_geo(IntPtr temp, IntPtr gs, bool ever) + => SafeExecution(() => MEOSExternalFunctions.ea_touches_tcbuffer_geo(temp, gs, ever)); + + public static int ea_touches_geo_tcbuffer(IntPtr gs, IntPtr temp, bool ever) + => SafeExecution(() => MEOSExternalFunctions.ea_touches_geo_tcbuffer(gs, temp, ever)); + + public static int ea_touches_tcbuffer_cbuffer(IntPtr temp, IntPtr cb, bool ever) + => SafeExecution(() => MEOSExternalFunctions.ea_touches_tcbuffer_cbuffer(temp, cb, ever)); + + public static int ea_touches_cbuffer_tcbuffer(IntPtr cb, IntPtr temp, bool ever) + => SafeExecution(() => MEOSExternalFunctions.ea_touches_cbuffer_tcbuffer(cb, temp, ever)); + + public static int ea_touches_tcbuffer_tcbuffer(IntPtr temp1, IntPtr temp2, bool ever) + => SafeExecution(() => MEOSExternalFunctions.ea_touches_tcbuffer_tcbuffer(temp1, temp2, ever)); + + public static int ea_dwithin_tcbuffer_tcbuffer(IntPtr temp1, IntPtr temp2, double dist, bool ever) + => SafeExecution(() => MEOSExternalFunctions.ea_dwithin_tcbuffer_tcbuffer(temp1, temp2, dist, ever)); + + public static IntPtr tinterrel_tcbuffer_cbuffer(IntPtr temp, IntPtr cb, bool tinter) + => SafeExecution(() => MEOSExternalFunctions.tinterrel_tcbuffer_cbuffer(temp, cb, tinter)); + + public static IntPtr tinterrel_tcbuffer_geo(IntPtr temp, IntPtr gs, bool tinter) + => SafeExecution(() => MEOSExternalFunctions.tinterrel_tcbuffer_geo(temp, gs, tinter)); + + public static int edisjoint_tcbuffer_geo_native(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.edisjoint_tcbuffer_geo_native(temp, gs)); + + public static int eatouches_tcbuffer_geo_native(IntPtr temp, IntPtr gs, bool ever) + => SafeExecution(() => MEOSExternalFunctions.eatouches_tcbuffer_geo_native(temp, gs, ever)); + + public static IntPtr clipper2_clip_poly_poly(IntPtr subj, IntPtr clip, int op) + => SafeExecution(() => MEOSExternalFunctions.clipper2_clip_poly_poly(subj, clip, op)); + + public static IntPtr clipper2_traj_poly_periods(IntPtr seq, IntPtr gs, IntPtr out_count) + => SafeExecution(() => MEOSExternalFunctions.clipper2_traj_poly_periods(seq, gs, out_count)); + + public static IntPtr clip_poly_poly(IntPtr subj, IntPtr clip, IntPtr operation) + => SafeExecution(() => MEOSExternalFunctions.clip_poly_poly(subj, clip, operation)); + + public static int lwproj_lookup(int srid_from, int srid_to, IntPtr pj) + => SafeExecution(() => MEOSExternalFunctions.lwproj_lookup(srid_from, srid_to, pj)); + + public static int spheroid_init_from_srid(int srid, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.spheroid_init_from_srid(srid, s)); + + public static void srid_check_latlong(int srid) + => SafeExecution(() => MEOSExternalFunctions.srid_check_latlong(srid)); + + public static int srid_is_latlong(int srid) + => SafeExecution(() => MEOSExternalFunctions.srid_is_latlong(srid)); + + public static IntPtr geom_serialize(IntPtr lwgeom) + => SafeExecution(() => MEOSExternalFunctions.geom_serialize(lwgeom)); + + public static IntPtr geog_serialize(IntPtr lwgeom) + => SafeExecution(() => MEOSExternalFunctions.geog_serialize(lwgeom)); + + public static IntPtr meos_postgis_valid_typmod(IntPtr gs, int typmod) + => SafeExecution(() => MEOSExternalFunctions.meos_postgis_valid_typmod(gs, typmod)); + + public static string geo_as_wkt(IntPtr gs, int precision, bool extended) + => SafeExecution(() => MEOSExternalFunctions.geo_as_wkt(gs, precision, extended)); + + public static IntPtr box2d_to_lwgeom(IntPtr box, int srid) + => SafeExecution(() => MEOSExternalFunctions.box2d_to_lwgeom(box, srid)); + + public static IntPtr box3d_to_lwgeom(IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.box3d_to_lwgeom(box)); + + public static IntPtr MEOS_POSTGIS2GEOS(IntPtr pglwgeom) + => SafeExecution(() => MEOSExternalFunctions.MEOS_POSTGIS2GEOS(pglwgeom)); + + public static IntPtr MEOS_GEOS2POSTGIS(IntPtr geom, byte want3d) + => SafeExecution(() => MEOSExternalFunctions.MEOS_GEOS2POSTGIS(geom, want3d)); + + public static bool geom_spatialrel(IntPtr gs1, IntPtr gs2, IntPtr rel) + => SafeExecution(() => MEOSExternalFunctions.geom_spatialrel(gs1, gs2, rel)); + + public static IntPtr lwgeom_line_interpolate_point(IntPtr geom, double fraction, int srid, byte repeat) + => SafeExecution(() => MEOSExternalFunctions.lwgeom_line_interpolate_point(geom, fraction, srid, repeat)); + + public static void point_get_coords(IntPtr point, bool hasz, IntPtr x, IntPtr y, IntPtr z) + => SafeExecution(() => MEOSExternalFunctions.point_get_coords(point, hasz, x, y, z)); + + public static void tstzset_stbox_slice(long tsdatum, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.tstzset_stbox_slice(tsdatum, box)); + + public static void tstzspanset_stbox_slice(long psdatum, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.tstzspanset_stbox_slice(psdatum, box)); + + public static bool stbox_index_leaf_consistent(IntPtr key, IntPtr query, int strategy) + => SafeExecution(() => MEOSExternalFunctions.stbox_index_leaf_consistent(key, query, strategy)); + + public static bool stbox_gist_inner_consistent(IntPtr key, IntPtr query, int strategy) + => SafeExecution(() => MEOSExternalFunctions.stbox_gist_inner_consistent(key, query, strategy)); + + public static bool stbox_index_recheck(int strategy) + => SafeExecution(() => MEOSExternalFunctions.stbox_index_recheck(strategy)); + + public static IntPtr stboxnode_copy(IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.stboxnode_copy(box)); + + public static int getQuadrant8D(IntPtr centroid, IntPtr inBox) + => SafeExecution(() => MEOSExternalFunctions.getQuadrant8D(centroid, inBox)); + + public static void stboxnode_init(IntPtr centroid, IntPtr nodebox) + => SafeExecution(() => MEOSExternalFunctions.stboxnode_init(centroid, nodebox)); + + public static void stboxnode_quadtree_next(IntPtr nodebox, IntPtr centroid, int quadrant, IntPtr next_nodebox) + => SafeExecution(() => MEOSExternalFunctions.stboxnode_quadtree_next(nodebox, centroid, quadrant, next_nodebox)); + + public static void stboxnode_kdtree_next(IntPtr nodebox, IntPtr centroid, int node, int level, IntPtr next_nodebox) + => SafeExecution(() => MEOSExternalFunctions.stboxnode_kdtree_next(nodebox, centroid, node, level, next_nodebox)); + + public static bool overlap8D(IntPtr nodebox, IntPtr query) + => SafeExecution(() => MEOSExternalFunctions.overlap8D(nodebox, query)); + + public static bool overlapKD(IntPtr nodebox, IntPtr query, int level) + => SafeExecution(() => MEOSExternalFunctions.overlapKD(nodebox, query, level)); + + public static bool contain8D(IntPtr nodebox, IntPtr query) + => SafeExecution(() => MEOSExternalFunctions.contain8D(nodebox, query)); + + public static bool containKD(IntPtr nodebox, IntPtr query, int level) + => SafeExecution(() => MEOSExternalFunctions.containKD(nodebox, query, level)); + + public static bool left8D(IntPtr nodebox, IntPtr query) + => SafeExecution(() => MEOSExternalFunctions.left8D(nodebox, query)); + + public static bool overLeft8D(IntPtr nodebox, IntPtr query) + => SafeExecution(() => MEOSExternalFunctions.overLeft8D(nodebox, query)); + + public static bool right8D(IntPtr nodebox, IntPtr query) + => SafeExecution(() => MEOSExternalFunctions.right8D(nodebox, query)); + + public static bool overRight8D(IntPtr nodebox, IntPtr query) + => SafeExecution(() => MEOSExternalFunctions.overRight8D(nodebox, query)); + + public static bool below8D(IntPtr nodebox, IntPtr query) + => SafeExecution(() => MEOSExternalFunctions.below8D(nodebox, query)); + + public static bool overBelow8D(IntPtr nodebox, IntPtr query) + => SafeExecution(() => MEOSExternalFunctions.overBelow8D(nodebox, query)); + + public static bool above8D(IntPtr nodebox, IntPtr query) + => SafeExecution(() => MEOSExternalFunctions.above8D(nodebox, query)); + + public static bool overAbove8D(IntPtr nodebox, IntPtr query) + => SafeExecution(() => MEOSExternalFunctions.overAbove8D(nodebox, query)); + + public static bool front8D(IntPtr nodebox, IntPtr query) + => SafeExecution(() => MEOSExternalFunctions.front8D(nodebox, query)); + + public static bool overFront8D(IntPtr nodebox, IntPtr query) + => SafeExecution(() => MEOSExternalFunctions.overFront8D(nodebox, query)); + + public static bool back8D(IntPtr nodebox, IntPtr query) + => SafeExecution(() => MEOSExternalFunctions.back8D(nodebox, query)); + + public static bool overBack8D(IntPtr nodebox, IntPtr query) + => SafeExecution(() => MEOSExternalFunctions.overBack8D(nodebox, query)); + + public static bool before8D(IntPtr nodebox, IntPtr query) + => SafeExecution(() => MEOSExternalFunctions.before8D(nodebox, query)); + + public static bool overBefore8D(IntPtr nodebox, IntPtr query) + => SafeExecution(() => MEOSExternalFunctions.overBefore8D(nodebox, query)); + + public static bool after8D(IntPtr nodebox, IntPtr query) + => SafeExecution(() => MEOSExternalFunctions.after8D(nodebox, query)); + + public static bool overAfter8D(IntPtr nodebox, IntPtr query) + => SafeExecution(() => MEOSExternalFunctions.overAfter8D(nodebox, query)); + + public static double distance_stbox_nodebox(IntPtr query, IntPtr nodebox) + => SafeExecution(() => MEOSExternalFunctions.distance_stbox_nodebox(query, nodebox)); + + public static void tspatial_spgist_get_stbox(long value, int type, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.tspatial_spgist_get_stbox(value, type, result)); + + public static void mobilitydb_init() + => SafeExecution(() => MEOSExternalFunctions.mobilitydb_init()); + + public static IntPtr geo_stbox(IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.geo_stbox(gs)); + + public static IntPtr stbox_geo(IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.stbox_geo(box)); + + public static IntPtr tcomp_geo_tgeo(IntPtr gs, IntPtr temp, IntPtr func) + => SafeExecution(() => MEOSExternalFunctions.tcomp_geo_tgeo(gs, temp, func)); + + public static IntPtr tcomp_tgeo_geo(IntPtr temp, IntPtr gs, IntPtr func) + => SafeExecution(() => MEOSExternalFunctions.tcomp_tgeo_geo(temp, gs, func)); + + public static bool ensure_geoaggstate(IntPtr state, int srid, bool hasz) + => SafeExecution(() => MEOSExternalFunctions.ensure_geoaggstate(state, srid, hasz)); + + public static bool ensure_geoaggstate_state(IntPtr state1, IntPtr state2) + => SafeExecution(() => MEOSExternalFunctions.ensure_geoaggstate_state(state1, state2)); + + public static IntPtr[] tpoint_transform_tcentroid(IntPtr temp) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tpoint_transform_tcentroid(temp, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static IntPtr tpointinst_tcentroid_finalfn(IntPtr instants, int count, int srid) + => SafeExecution(() => MEOSExternalFunctions.tpointinst_tcentroid_finalfn(instants, count, srid)); + + public static IntPtr tpointseq_tcentroid_finalfn(IntPtr sequences, int count, int srid) + => SafeExecution(() => MEOSExternalFunctions.tpointseq_tcentroid_finalfn(sequences, count, srid)); + + public static bool point3d_min_dist(IntPtr p1, IntPtr p2, IntPtr p3, IntPtr p4, IntPtr fraction) + => SafeExecution(() => MEOSExternalFunctions.point3d_min_dist(p1, p2, p3, p4, fraction)); + + public static int tgeompointsegm_distance_turnpt(long start1, long end1, long start2, long end2, long param, long lower, long upper, IntPtr t1, IntPtr t2) + => SafeExecution(() => MEOSExternalFunctions.tgeompointsegm_distance_turnpt(start1, end1, start2, end2, param, lower, upper, t1, t2)); + + public static int tgeogpointsegm_distance_turnpt(long start1, long end1, long start2, long end2, long param, long lower, long upper, IntPtr t1, IntPtr t2) + => SafeExecution(() => MEOSExternalFunctions.tgeogpointsegm_distance_turnpt(start1, end1, start2, end2, param, lower, upper, t1, t2)); + + public static double tinstant_distance(IntPtr inst1, IntPtr inst2, IntPtr func) + => SafeExecution(() => MEOSExternalFunctions.tinstant_distance(inst1, inst2, func)); + + public static IntPtr[] tpointseq_at_geom(IntPtr seq, IntPtr gs) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tpointseq_at_geom(seq, gs, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static IntPtr[] tpointseq_interperiods(IntPtr seq, IntPtr gs) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tpointseq_interperiods(seq, gs, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static void datum_point4d(long value, IntPtr p) + => SafeExecution(() => MEOSExternalFunctions.datum_point4d(value, p)); + + public static int geopoint_cmp(IntPtr gs1, IntPtr gs2) + => SafeExecution(() => MEOSExternalFunctions.geopoint_cmp(gs1, gs2)); + + public static bool geopoint_eq(IntPtr gs1, IntPtr gs2) + => SafeExecution(() => MEOSExternalFunctions.geopoint_eq(gs1, gs2)); + + public static bool geopoint_same(IntPtr gs1, IntPtr gs2) + => SafeExecution(() => MEOSExternalFunctions.geopoint_same(gs1, gs2)); + + public static bool datum_point_eq(long point1, long point2) + => SafeExecution(() => MEOSExternalFunctions.datum_point_eq(point1, point2)); + + public static bool datum_point_same(long point1, long point2) + => SafeExecution(() => MEOSExternalFunctions.datum_point_same(point1, point2)); + + public static long datum2_point_eq(long point1, long point2) + => SafeExecution(() => MEOSExternalFunctions.datum2_point_eq(point1, point2)); + + public static long datum2_point_ne(long point1, long point2) + => SafeExecution(() => MEOSExternalFunctions.datum2_point_ne(point1, point2)); + + public static long datum2_point_same(long point1, long point2) + => SafeExecution(() => MEOSExternalFunctions.datum2_point_same(point1, point2)); + + public static long datum2_point_nsame(long point1, long point2) + => SafeExecution(() => MEOSExternalFunctions.datum2_point_nsame(point1, point2)); + + public static long datum2_geom_centroid(long geo) + => SafeExecution(() => MEOSExternalFunctions.datum2_geom_centroid(geo)); + + public static long datum2_geog_centroid(long geo) + => SafeExecution(() => MEOSExternalFunctions.datum2_geog_centroid(geo)); + + public static IntPtr[] geo_extract_elements(IntPtr gs) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.geo_extract_elements(gs, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static IntPtr geo_serialize(IntPtr geom) + => SafeExecution(() => MEOSExternalFunctions.geo_serialize(geom)); + + public static IntPtr geo_distance_fn(short flags) + => SafeExecution(() => MEOSExternalFunctions.geo_distance_fn(flags)); + + public static IntPtr pt_distance_fn(short flags) + => SafeExecution(() => MEOSExternalFunctions.pt_distance_fn(flags)); + + public static long datum_geom_distance2d(long geom1, long geom2) + => SafeExecution(() => MEOSExternalFunctions.datum_geom_distance2d(geom1, geom2)); + + public static long datum_geom_distance3d(long geom1, long geom2) + => SafeExecution(() => MEOSExternalFunctions.datum_geom_distance3d(geom1, geom2)); + + public static long datum_geog_distance(long geog1, long geog2) + => SafeExecution(() => MEOSExternalFunctions.datum_geog_distance(geog1, geog2)); + + public static long datum_pt_distance2d(long geom1, long geom2) + => SafeExecution(() => MEOSExternalFunctions.datum_pt_distance2d(geom1, geom2)); + + public static long datum_pt_distance3d(long geom1, long geom2) + => SafeExecution(() => MEOSExternalFunctions.datum_pt_distance3d(geom1, geom2)); + + public static short spatial_flags(long d, int basetype) + => SafeExecution(() => MEOSExternalFunctions.spatial_flags(d, basetype)); + + public static bool ensure_srid_is_latlong(int srid) + => SafeExecution(() => MEOSExternalFunctions.ensure_srid_is_latlong(srid)); + + public static bool ensure_spatial_validity(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.ensure_spatial_validity(temp1, temp2)); + + public static bool ensure_not_geodetic(short flags) + => SafeExecution(() => MEOSExternalFunctions.ensure_not_geodetic(flags)); + + public static bool ensure_same_geodetic(short flags1, short flags2) + => SafeExecution(() => MEOSExternalFunctions.ensure_same_geodetic(flags1, flags2)); + + public static bool ensure_same_geodetic_geo(IntPtr gs1, IntPtr gs2) + => SafeExecution(() => MEOSExternalFunctions.ensure_same_geodetic_geo(gs1, gs2)); + + public static bool ensure_same_geodetic_tspatial_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.ensure_same_geodetic_tspatial_geo(temp, gs)); + + public static bool ensure_same_geodetic_tspatial_base(IntPtr temp, long @base) + => SafeExecution(() => MEOSExternalFunctions.ensure_same_geodetic_tspatial_base(temp, @base)); + + public static bool ensure_srid_known(int srid) + => SafeExecution(() => MEOSExternalFunctions.ensure_srid_known(srid)); + + public static bool ensure_same_srid(int srid1, int srid2) + => SafeExecution(() => MEOSExternalFunctions.ensure_same_srid(srid1, srid2)); + + public static bool ensure_srid_reconcile(int srid1, int srid2, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.ensure_srid_reconcile(srid1, srid2, result)); + + public static bool ensure_same_dimensionality(short flags1, short flags2) + => SafeExecution(() => MEOSExternalFunctions.ensure_same_dimensionality(flags1, flags2)); + + public static bool same_spatial_dimensionality(short flags1, short flags2) + => SafeExecution(() => MEOSExternalFunctions.same_spatial_dimensionality(flags1, flags2)); + + public static bool ensure_same_spatial_dimensionality(short flags1, short flags2) + => SafeExecution(() => MEOSExternalFunctions.ensure_same_spatial_dimensionality(flags1, flags2)); + + public static bool ensure_same_dimensionality_geo(IntPtr gs1, IntPtr gs2) + => SafeExecution(() => MEOSExternalFunctions.ensure_same_dimensionality_geo(gs1, gs2)); + + public static bool same_dimensionality_tspatial_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.same_dimensionality_tspatial_geo(temp, gs)); + + public static bool ensure_same_dimensionality_tspatial_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.ensure_same_dimensionality_tspatial_geo(temp, gs)); + + public static bool ensure_same_spatial_dimensionality_stbox_geo(IntPtr box, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.ensure_same_spatial_dimensionality_stbox_geo(box, gs)); + + public static bool ensure_same_geodetic_stbox_geo(IntPtr box, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.ensure_same_geodetic_stbox_geo(box, gs)); + + public static bool ensure_has_Z_geo(IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.ensure_has_Z_geo(gs)); + + public static bool ensure_has_not_Z_geo(IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.ensure_has_not_Z_geo(gs)); + + public static bool ensure_has_M_geo(IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.ensure_has_M_geo(gs)); + + public static bool ensure_has_not_M_geo(IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.ensure_has_not_M_geo(gs)); + + public static bool ensure_not_geodetic_geo(IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.ensure_not_geodetic_geo(gs)); + + public static bool ensure_point_type(IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.ensure_point_type(gs)); + + public static bool ensure_mline_type(IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.ensure_mline_type(gs)); + + public static bool circle_type(IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.circle_type(gs)); + + public static bool ensure_circle_type(IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.ensure_circle_type(gs)); + + public static bool ensure_not_empty(IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.ensure_not_empty(gs)); + + public static bool ensure_valid_stbox_geo(IntPtr box, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.ensure_valid_stbox_geo(box, gs)); + + public static bool ensure_valid_tspatial_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.ensure_valid_tspatial_geo(temp, gs)); + + public static bool ensure_valid_tspatial_base(IntPtr temp, long @base) + => SafeExecution(() => MEOSExternalFunctions.ensure_valid_tspatial_base(temp, @base)); + + public static bool ensure_valid_tspatial_tspatial(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.ensure_valid_tspatial_tspatial(temp1, temp2)); + + public static bool ensure_valid_spatial_stbox_stbox(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.ensure_valid_spatial_stbox_stbox(box1, box2)); + + public static bool ensure_valid_tgeo_stbox(IntPtr temp, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.ensure_valid_tgeo_stbox(temp, box)); + + public static bool ensure_valid_geo_geo(IntPtr gs1, IntPtr gs2) + => SafeExecution(() => MEOSExternalFunctions.ensure_valid_geo_geo(gs1, gs2)); + + public static bool ensure_valid_tgeo_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.ensure_valid_tgeo_geo(temp, gs)); + + public static bool ensure_valid_tgeo_tgeo(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.ensure_valid_tgeo_tgeo(temp1, temp2)); + + public static bool ensure_valid_tpoint_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.ensure_valid_tpoint_geo(temp, gs)); + + public static bool ensure_valid_tpoint_tpoint(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.ensure_valid_tpoint_tpoint(temp1, temp2)); + + public static bool mline_type(IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.mline_type(gs)); + + public static IntPtr tpoint_get_coord(IntPtr temp, int coord) + => SafeExecution(() => MEOSExternalFunctions.tpoint_get_coord(temp, coord)); + + public static int eacomp_tgeo_geo(IntPtr temp, IntPtr gs, IntPtr func, bool ever) + => SafeExecution(() => MEOSExternalFunctions.eacomp_tgeo_geo(temp, gs, func, ever)); + + public static IntPtr closest_point2d_on_segment_ratio(IntPtr p, IntPtr A, IntPtr B, IntPtr closest) + => SafeExecution(() => MEOSExternalFunctions.closest_point2d_on_segment_ratio(p, A, B, closest)); + + public static IntPtr closest_point3dz_on_segment_ratio(IntPtr p, IntPtr A, IntPtr B, IntPtr closest) + => SafeExecution(() => MEOSExternalFunctions.closest_point3dz_on_segment_ratio(p, A, B, closest)); + + public static IntPtr closest_point_on_segment_sphere(IntPtr p, IntPtr A, IntPtr B, IntPtr closest, IntPtr dist) + => SafeExecution(() => MEOSExternalFunctions.closest_point_on_segment_sphere(p, A, B, closest, dist)); + + public static void interpolate_point4d_spheroid(IntPtr p1, IntPtr p2, IntPtr p, IntPtr s, double f) + => SafeExecution(() => MEOSExternalFunctions.interpolate_point4d_spheroid(p1, p2, p, s, f)); + + public static IntPtr geopoint_make(double x, double y, double z, bool hasz, bool geodetic, int srid) + => SafeExecution(() => MEOSExternalFunctions.geopoint_make(x, y, z, hasz, geodetic, srid)); + + public static IntPtr lwcircle_make(double x, double y, double radius, int srid) + => SafeExecution(() => MEOSExternalFunctions.lwcircle_make(x, y, radius, srid)); + + public static IntPtr geocircle_make(double x, double y, double radius, int srid) + => SafeExecution(() => MEOSExternalFunctions.geocircle_make(x, y, radius, srid)); + + public static long pointsegm_interpolate(long start, long end, IntPtr ratio) + => SafeExecution(() => MEOSExternalFunctions.pointsegm_interpolate(start, end, ratio)); + + public static IntPtr pointsegm_locate(long start, long end, long point, IntPtr dist) + => SafeExecution(() => MEOSExternalFunctions.pointsegm_locate(start, end, point, dist)); + + public static int tgeompointsegm_intersection(long start1, long end1, long start2, long end2, long lower, long upper, IntPtr t1, IntPtr t2) + => SafeExecution(() => MEOSExternalFunctions.tgeompointsegm_intersection(start1, end1, start2, end2, lower, upper, t1, t2)); + + public static int tgeogpointsegm_intersection(long start1, long end1, long start2, long end2, long lower, long upper, IntPtr t1, IntPtr t2) + => SafeExecution(() => MEOSExternalFunctions.tgeogpointsegm_intersection(start1, end1, start2, end2, lower, upper, t1, t2)); + + public static bool geopoint_collinear(long value1, long value2, long value3, double ratio, bool hasz, bool geodetic) + => SafeExecution(() => MEOSExternalFunctions.geopoint_collinear(value1, value2, value3, ratio, hasz, geodetic)); + + public static IntPtr lwpointarr_remove_duplicates(IntPtr points, int count, IntPtr newcount) + => SafeExecution(() => MEOSExternalFunctions.lwpointarr_remove_duplicates(points, count, newcount)); + + public static IntPtr lwpointarr_make_trajectory(IntPtr points, int count, int interp) + => SafeExecution(() => MEOSExternalFunctions.lwpointarr_make_trajectory(points, count, interp)); + + public static IntPtr lwline_make(long value1, long value2) + => SafeExecution(() => MEOSExternalFunctions.lwline_make(value1, value2)); + + public static IntPtr lwcoll_from_points_lines(IntPtr points, IntPtr lines, int npoints, int nlines) + => SafeExecution(() => MEOSExternalFunctions.lwcoll_from_points_lines(points, lines, npoints, nlines)); + + public static int tpointseq_stops_iter(IntPtr seq, double maxdist, int mintunits, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.tpointseq_stops_iter(seq, maxdist, mintunits, result)); + + public static long datum_geom_contains(long geom1, long geom2) + => SafeExecution(() => MEOSExternalFunctions.datum_geom_contains(geom1, geom2)); + + public static long datum_geom_covers(long geom1, long geom2) + => SafeExecution(() => MEOSExternalFunctions.datum_geom_covers(geom1, geom2)); + + public static long datum_geom_disjoint2d(long geom1, long geom2) + => SafeExecution(() => MEOSExternalFunctions.datum_geom_disjoint2d(geom1, geom2)); + + public static long datum_geom_disjoint3d(long geom1, long geom2) + => SafeExecution(() => MEOSExternalFunctions.datum_geom_disjoint3d(geom1, geom2)); + + public static long datum_geog_disjoint(long geog1, long geog2) + => SafeExecution(() => MEOSExternalFunctions.datum_geog_disjoint(geog1, geog2)); + + public static long datum_geom_intersects2d(long geom1, long geom2) + => SafeExecution(() => MEOSExternalFunctions.datum_geom_intersects2d(geom1, geom2)); + + public static long datum_geom_intersects3d(long geom1, long geom2) + => SafeExecution(() => MEOSExternalFunctions.datum_geom_intersects3d(geom1, geom2)); + + public static long datum_geog_intersects(long geog1, long geog2) + => SafeExecution(() => MEOSExternalFunctions.datum_geog_intersects(geog1, geog2)); + + public static long datum_geom_touches(long geom1, long geom2) + => SafeExecution(() => MEOSExternalFunctions.datum_geom_touches(geom1, geom2)); + + public static long datum_geom_dwithin2d(long geom1, long geom2, long dist) + => SafeExecution(() => MEOSExternalFunctions.datum_geom_dwithin2d(geom1, geom2, dist)); + + public static long datum_geom_dwithin3d(long geom1, long geom2, long dist) + => SafeExecution(() => MEOSExternalFunctions.datum_geom_dwithin3d(geom1, geom2, dist)); + + public static long datum_geog_dwithin(long geog1, long geog2, long dist) + => SafeExecution(() => MEOSExternalFunctions.datum_geog_dwithin(geog1, geog2, dist)); + + public static long datum_geom_relate_pattern(long geog1, long geog2, long p) + => SafeExecution(() => MEOSExternalFunctions.datum_geom_relate_pattern(geog1, geog2, p)); + + public static IntPtr geo_disjoint_fn(short flags1, short flags2) + => SafeExecution(() => MEOSExternalFunctions.geo_disjoint_fn(flags1, flags2)); + + public static IntPtr geo_disjoint_fn_geo(short flags1, IntPtr flags2) + => SafeExecution(() => MEOSExternalFunctions.geo_disjoint_fn_geo(flags1, flags2)); + + public static IntPtr geo_intersects_fn(short flags1, short flags2) + => SafeExecution(() => MEOSExternalFunctions.geo_intersects_fn(flags1, flags2)); + + public static IntPtr geo_intersects_fn_geo(short flags1, IntPtr flags2) + => SafeExecution(() => MEOSExternalFunctions.geo_intersects_fn_geo(flags1, flags2)); + + public static IntPtr geo_dwithin_fn(short flags1, short flags2) + => SafeExecution(() => MEOSExternalFunctions.geo_dwithin_fn(flags1, flags2)); + + public static IntPtr geo_dwithin_fn_geo(short flags1, IntPtr flags2) + => SafeExecution(() => MEOSExternalFunctions.geo_dwithin_fn_geo(flags1, flags2)); + + public static int tpointsegm_tdwithin_turnpt(long start1, long end1, long start2, long end2, long value, long lower, long upper, IntPtr t1, IntPtr t2) + => SafeExecution(() => MEOSExternalFunctions.tpointsegm_tdwithin_turnpt(start1, end1, start2, end2, value, lower, upper, t1, t2)); + + public static int spatialrel_geo_geo(IntPtr gs1, IntPtr gs2, long param, IntPtr func, int numparam, bool invert) + => SafeExecution(() => MEOSExternalFunctions.spatialrel_geo_geo(gs1, gs2, param, func, numparam, invert)); + + public static int spatialrel_tgeo_tgeo(IntPtr temp1, IntPtr temp2, long param, IntPtr func, int numparam) + => SafeExecution(() => MEOSExternalFunctions.spatialrel_tgeo_tgeo(temp1, temp2, param, func, numparam)); + + public static int ea_contains_geo_tgeo(IntPtr gs, IntPtr temp, bool ever) + => SafeExecution(() => MEOSExternalFunctions.ea_contains_geo_tgeo(gs, temp, ever)); + + public static int ea_contains_tgeo_geo(IntPtr temp, IntPtr gs, bool ever) + => SafeExecution(() => MEOSExternalFunctions.ea_contains_tgeo_geo(temp, gs, ever)); + + public static int ea_contains_tgeo_tgeo(IntPtr temp, IntPtr temp2, bool ever) + => SafeExecution(() => MEOSExternalFunctions.ea_contains_tgeo_tgeo(temp, temp2, ever)); + + public static int ea_covers_geo_tgeo(IntPtr gs, IntPtr temp, bool ever) + => SafeExecution(() => MEOSExternalFunctions.ea_covers_geo_tgeo(gs, temp, ever)); + + public static int ea_covers_tgeo_geo(IntPtr temp, IntPtr gs, bool ever) + => SafeExecution(() => MEOSExternalFunctions.ea_covers_tgeo_geo(temp, gs, ever)); + + public static int ea_covers_tgeo_tgeo(IntPtr temp, IntPtr temp2, bool ever) + => SafeExecution(() => MEOSExternalFunctions.ea_covers_tgeo_tgeo(temp, temp2, ever)); + + public static int ea_disjoint_geo_tgeo(IntPtr gs, IntPtr temp, bool ever) + => SafeExecution(() => MEOSExternalFunctions.ea_disjoint_geo_tgeo(gs, temp, ever)); + + public static int ea_disjoint_tgeo_geo(IntPtr temp, IntPtr gs, bool ever) + => SafeExecution(() => MEOSExternalFunctions.ea_disjoint_tgeo_geo(temp, gs, ever)); + + public static int ea_disjoint_tgeo_tgeo(IntPtr temp, IntPtr temp2, bool ever) + => SafeExecution(() => MEOSExternalFunctions.ea_disjoint_tgeo_tgeo(temp, temp2, ever)); + + public static int ea_intersects_geo_tgeo(IntPtr gs, IntPtr temp, bool ever) + => SafeExecution(() => MEOSExternalFunctions.ea_intersects_geo_tgeo(gs, temp, ever)); + + public static int ea_intersects_tgeo_geo(IntPtr temp, IntPtr gs, bool ever) + => SafeExecution(() => MEOSExternalFunctions.ea_intersects_tgeo_geo(temp, gs, ever)); + + public static int ea_intersects_tgeo_tgeo(IntPtr temp, IntPtr temp2, bool ever) + => SafeExecution(() => MEOSExternalFunctions.ea_intersects_tgeo_tgeo(temp, temp2, ever)); + + public static int ea_touches_tpoint_geo(IntPtr temp, IntPtr gs, bool ever) + => SafeExecution(() => MEOSExternalFunctions.ea_touches_tpoint_geo(temp, gs, ever)); + + public static int ea_touches_tgeo_geo(IntPtr temp, IntPtr gs, bool ever) + => SafeExecution(() => MEOSExternalFunctions.ea_touches_tgeo_geo(temp, gs, ever)); + + public static int ea_touches_tgeo_tgeo(IntPtr temp, IntPtr temp2, bool ever) + => SafeExecution(() => MEOSExternalFunctions.ea_touches_tgeo_tgeo(temp, temp2, ever)); + + public static int ea_dwithin_tgeo_geo(IntPtr temp, IntPtr gs, double dist, bool ever) + => SafeExecution(() => MEOSExternalFunctions.ea_dwithin_tgeo_geo(temp, gs, dist, ever)); + + public static int ea_dwithin_tgeo_tgeo(IntPtr temp1, IntPtr temp2, double dist, bool ever) + => SafeExecution(() => MEOSExternalFunctions.ea_dwithin_tgeo_tgeo(temp1, temp2, dist, ever)); + + public static int ea_spatialrel_tspatial_geo(IntPtr temp, IntPtr gs, IntPtr func, bool ever, bool invert) + => SafeExecution(() => MEOSExternalFunctions.ea_spatialrel_tspatial_geo(temp, gs, func, ever, invert)); + + public static int ea_spatialrel_tspatial_tspatial(IntPtr temp1, IntPtr temp2, IntPtr func, bool ever) + => SafeExecution(() => MEOSExternalFunctions.ea_spatialrel_tspatial_tspatial(temp1, temp2, func, ever)); + + public static IntPtr tspatialrel_tspatial_base(IntPtr temp, long @base, long param, IntPtr func, int numparam, bool invert) + => SafeExecution(() => MEOSExternalFunctions.tspatialrel_tspatial_base(temp, @base, param, func, numparam, invert)); + + public static IntPtr tspatialrel_tspatial_tspatial(IntPtr temp1, IntPtr temp2, long param, IntPtr func, int numparam, bool invert) + => SafeExecution(() => MEOSExternalFunctions.tspatialrel_tspatial_tspatial(temp1, temp2, param, func, numparam, invert)); + + public static IntPtr tinterrel_tgeo_geo(IntPtr temp, IntPtr gs, bool tinter) + => SafeExecution(() => MEOSExternalFunctions.tinterrel_tgeo_geo(temp, gs, tinter)); + + public static IntPtr tinterrel_tspatial_base(IntPtr temp, long @base, bool tinter, IntPtr func) + => SafeExecution(() => MEOSExternalFunctions.tinterrel_tspatial_base(temp, @base, tinter, func)); + + public static IntPtr tinterrel_tspatial_tspatial(IntPtr temp1, IntPtr temp2, bool tinter) + => SafeExecution(() => MEOSExternalFunctions.tinterrel_tspatial_tspatial(temp1, temp2, tinter)); + + public static IntPtr tdwithin_tspatial_tspatial(IntPtr sync1, IntPtr sync2, long dist, IntPtr func, IntPtr tpfn) + => SafeExecution(() => MEOSExternalFunctions.tdwithin_tspatial_tspatial(sync1, sync2, dist, func, tpfn)); + + public static int tdwithin_add_solutions(int solutions, long lower, long upper, bool lower_inc, bool upper_inc, bool upper_inc1, long t1, long t2, IntPtr instants, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.tdwithin_add_solutions(solutions, lower, upper, lower_inc, upper_inc, upper_inc1, t1, t2, instants, result)); + + public static IntPtr tdwithin_tspatial_spatial(IntPtr temp, long @base, long dist, IntPtr func, IntPtr tpfn) + => SafeExecution(() => MEOSExternalFunctions.tdwithin_tspatial_spatial(temp, @base, dist, func, tpfn)); + + public static IntPtr bitmatrix_make(IntPtr count, int ndims) + => SafeExecution(() => MEOSExternalFunctions.bitmatrix_make(count, ndims)); + + public static int tpoint_set_tiles(IntPtr temp, IntPtr state, IntPtr bm) + => SafeExecution(() => MEOSExternalFunctions.tpoint_set_tiles(temp, state, bm)); + + public static IntPtr tpoint_at_tile(IntPtr temp, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.tpoint_at_tile(temp, box)); + + public static void stbox_tile_state_set(double x, double y, double z, long t, double xsize, double ysize, double zsize, IntPtr tunits, bool hasx, bool hasz, bool hast, int srid, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.stbox_tile_state_set(x, y, z, t, xsize, ysize, zsize, tunits, hasx, hasz, hast, srid, result)); + + public static IntPtr stbox_tile_state_make(IntPtr temp, IntPtr box, double xsize, double ysize, double zsize, IntPtr duration, int sorigin, long torigin, bool border_inc) + => SafeExecution(() => MEOSExternalFunctions.stbox_tile_state_make(temp, box, xsize, ysize, zsize, duration, sorigin, torigin, border_inc)); + + public static void stbox_tile_state_next(IntPtr state) + => SafeExecution(() => MEOSExternalFunctions.stbox_tile_state_next(state)); + + public static bool stbox_tile_state_get(IntPtr state, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.stbox_tile_state_get(state, box)); + + public static IntPtr tgeo_space_time_tile_init(IntPtr temp, double xsize, double ysize, double zsize, IntPtr duration, IntPtr sorigin, long torigin, bool bitmatrix, bool border_inc, IntPtr ntiles) + => SafeExecution(() => MEOSExternalFunctions.tgeo_space_time_tile_init(temp, xsize, ysize, zsize, duration, sorigin, torigin, bitmatrix, border_inc, ntiles)); + + public static IntPtr stbox_space_time_tile(IntPtr point, long t, double xsize, double ysize, double zsize, IntPtr duration, IntPtr sorigin, long torigin, bool hasx, bool hast) + => SafeExecution(() => MEOSExternalFunctions.stbox_space_time_tile(point, t, xsize, ysize, zsize, duration, sorigin, torigin, hasx, hast)); + + public static IntPtr create_trip(IntPtr lines, IntPtr maxSpeeds, IntPtr categories, uint noEdges, long startTime, bool disturbData, int verbosity) + => SafeExecution(() => MEOSExternalFunctions.create_trip(lines, maxSpeeds, categories, noEdges, startTime, disturbData, verbosity)); + + public static IntPtr spatialarr_wkt_out(IntPtr spatialarr, int basetype, int count, int maxdd, bool extended) + => SafeExecution(() => MEOSExternalFunctions.spatialarr_wkt_out(spatialarr, basetype, count, maxdd, extended)); + + public static string spatialbase_as_text(long value, int type, int maxdd) + => SafeExecution(() => MEOSExternalFunctions.spatialbase_as_text(value, type, maxdd)); + + public static string spatialbase_as_ewkt(long value, int type, int maxdd) + => SafeExecution(() => MEOSExternalFunctions.spatialbase_as_ewkt(value, type, maxdd)); + + public static bool point_transf_pj(IntPtr gs, int srid_to, IntPtr pj) + => SafeExecution(() => MEOSExternalFunctions.point_transf_pj(gs, srid_to, pj)); + + public static void tgeoinst_set_stbox(IntPtr inst, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.tgeoinst_set_stbox(inst, box)); + + public static void tgeoinstarr_set_stbox(IntPtr instants, int count, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.tgeoinstarr_set_stbox(instants, count, box)); + + public static void tgeoseq_expand_stbox(IntPtr seq, IntPtr inst) + => SafeExecution(() => MEOSExternalFunctions.tgeoseq_expand_stbox(seq, inst)); + + public static void tspatialinst_set_stbox(IntPtr inst, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.tspatialinst_set_stbox(inst, box)); + + public static void tspatialinstarr_set_stbox(IntPtr instants, int count, bool lower_inc, bool upper_inc, int interp, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.tspatialinstarr_set_stbox(instants, count, lower_inc, upper_inc, interp, box)); + + public static void tspatialseqarr_set_stbox(IntPtr sequences, int count, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.tspatialseqarr_set_stbox(sequences, count, box)); + + public static void tspatialseq_expand_stbox(IntPtr seq, IntPtr inst) + => SafeExecution(() => MEOSExternalFunctions.tspatialseq_expand_stbox(seq, inst)); + + public static void spatialarr_set_bbox(IntPtr values, int basetype, int count, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.spatialarr_set_bbox(values, basetype, count, box)); + + public static bool boxop_tspatial_stbox(IntPtr temp, IntPtr box, IntPtr @bool, bool invert) + => SafeExecution(() => MEOSExternalFunctions.boxop_tspatial_stbox(temp, box, @bool, invert)); + + public static bool boxop_tspatial_tspatial(IntPtr temp1, IntPtr temp2, IntPtr @bool) + => SafeExecution(() => MEOSExternalFunctions.boxop_tspatial_tspatial(temp1, temp2, @bool)); + + public static bool srid_parse(IntPtr str, IntPtr srid) + => SafeExecution(() => MEOSExternalFunctions.srid_parse(str, srid)); + + public static bool spatial_parse_elem(IntPtr str, int temptype, byte delim, IntPtr temp_srid, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.spatial_parse_elem(str, temptype, delim, temp_srid, result)); + + public static bool geo_parse(IntPtr str, int basetype, byte delim, IntPtr srid, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.geo_parse(str, basetype, delim, srid, result)); + + public static IntPtr stbox_parse_dims(IntPtr str, bool geodetic, int srid, string type_str) + => SafeExecution(() => MEOSExternalFunctions.stbox_parse_dims(str, geodetic, srid, type_str)); + + public static IntPtr stbox_parse(IntPtr str) + => SafeExecution(() => MEOSExternalFunctions.stbox_parse(str)); + + public static IntPtr tpoint_parse(IntPtr str, int temptype) + => SafeExecution(() => MEOSExternalFunctions.tpoint_parse(str, temptype)); + + public static IntPtr tspatialinst_parse(IntPtr str, int temptype, bool end, IntPtr temp_srid) + => SafeExecution(() => MEOSExternalFunctions.tspatialinst_parse(str, temptype, end, temp_srid)); + + public static IntPtr tspatialseq_disc_parse(IntPtr str, int temptype, IntPtr temp_srid) + => SafeExecution(() => MEOSExternalFunctions.tspatialseq_disc_parse(str, temptype, temp_srid)); + + public static IntPtr tspatialseq_cont_parse(IntPtr str, int temptype, int interp, bool end, IntPtr temp_srid) + => SafeExecution(() => MEOSExternalFunctions.tspatialseq_cont_parse(str, temptype, interp, end, temp_srid)); + + public static IntPtr tspatialseqset_parse(IntPtr str, int temptype, int interp, IntPtr temp_srid) + => SafeExecution(() => MEOSExternalFunctions.tspatialseqset_parse(str, temptype, interp, temp_srid)); + + public static IntPtr tspatial_parse(IntPtr str, int temptype) + => SafeExecution(() => MEOSExternalFunctions.tspatial_parse(str, temptype)); + + public static bool h3_are_neighbor_cells_meos(IntPtr origin, IntPtr destination) + => SafeExecution(() => MEOSExternalFunctions.h3_are_neighbor_cells_meos(origin, destination)); + + public static IntPtr h3_cells_to_directed_edge_meos(IntPtr origin, IntPtr destination) + => SafeExecution(() => MEOSExternalFunctions.h3_cells_to_directed_edge_meos(origin, destination)); + + public static bool h3_is_valid_directed_edge_meos(IntPtr edge) + => SafeExecution(() => MEOSExternalFunctions.h3_is_valid_directed_edge_meos(edge)); + + public static IntPtr h3_get_directed_edge_origin_meos(IntPtr edge) + => SafeExecution(() => MEOSExternalFunctions.h3_get_directed_edge_origin_meos(edge)); + + public static IntPtr h3_get_directed_edge_destination_meos(IntPtr edge) + => SafeExecution(() => MEOSExternalFunctions.h3_get_directed_edge_destination_meos(edge)); + + public static IntPtr h3_cell_to_parent_meos(IntPtr origin, int resolution) + => SafeExecution(() => MEOSExternalFunctions.h3_cell_to_parent_meos(origin, resolution)); + + public static IntPtr h3_cell_to_center_child_meos(IntPtr origin, int resolution) + => SafeExecution(() => MEOSExternalFunctions.h3_cell_to_center_child_meos(origin, resolution)); + + public static IntPtr h3_cell_to_child_pos_meos(IntPtr child, int parentRes) + => SafeExecution(() => MEOSExternalFunctions.h3_cell_to_child_pos_meos(child, parentRes)); + + public static IntPtr h3_child_pos_to_cell_meos(IntPtr childPos, IntPtr parent, int childRes) + => SafeExecution(() => MEOSExternalFunctions.h3_child_pos_to_cell_meos(childPos, parent, childRes)); + + public static int h3_get_resolution_meos(IntPtr hex) + => SafeExecution(() => MEOSExternalFunctions.h3_get_resolution_meos(hex)); + + public static int h3_get_base_cell_number_meos(IntPtr hex) + => SafeExecution(() => MEOSExternalFunctions.h3_get_base_cell_number_meos(hex)); + + public static bool h3_is_valid_cell_meos(IntPtr hex) + => SafeExecution(() => MEOSExternalFunctions.h3_is_valid_cell_meos(hex)); + + public static bool h3_is_res_class_iii_meos(IntPtr hex) + => SafeExecution(() => MEOSExternalFunctions.h3_is_res_class_iii_meos(hex)); + + public static bool h3_is_pentagon_meos(IntPtr hex) + => SafeExecution(() => MEOSExternalFunctions.h3_is_pentagon_meos(hex)); + + public static IntPtr h3_get_num_cells_meos(int resolution) + => SafeExecution(() => MEOSExternalFunctions.h3_get_num_cells_meos(resolution)); + + public static IntPtr h3_grid_distance_meos(IntPtr originIndex, IntPtr h3Index) + => SafeExecution(() => MEOSExternalFunctions.h3_grid_distance_meos(originIndex, h3Index)); + + public static IntPtr h3_cell_to_vertex_meos(IntPtr cell, int vertexNum) + => SafeExecution(() => MEOSExternalFunctions.h3_cell_to_vertex_meos(cell, vertexNum)); + + public static bool h3_is_valid_vertex_meos(IntPtr vertex) + => SafeExecution(() => MEOSExternalFunctions.h3_is_valid_vertex_meos(vertex)); + + public static IntPtr h3index_in(string str) + => SafeExecution(() => MEOSExternalFunctions.h3index_in(str)); + + public static string h3index_out(IntPtr cell) + => SafeExecution(() => MEOSExternalFunctions.h3index_out(cell)); + + public static bool h3index_eq(IntPtr a, IntPtr b) + => SafeExecution(() => MEOSExternalFunctions.h3index_eq(a, b)); + + public static bool h3index_ne(IntPtr a, IntPtr b) + => SafeExecution(() => MEOSExternalFunctions.h3index_ne(a, b)); + + public static bool h3index_lt(IntPtr a, IntPtr b) + => SafeExecution(() => MEOSExternalFunctions.h3index_lt(a, b)); + + public static bool h3index_le(IntPtr a, IntPtr b) + => SafeExecution(() => MEOSExternalFunctions.h3index_le(a, b)); + + public static bool h3index_gt(IntPtr a, IntPtr b) + => SafeExecution(() => MEOSExternalFunctions.h3index_gt(a, b)); + + public static bool h3index_ge(IntPtr a, IntPtr b) + => SafeExecution(() => MEOSExternalFunctions.h3index_ge(a, b)); + + public static int h3index_cmp(IntPtr a, IntPtr b) + => SafeExecution(() => MEOSExternalFunctions.h3index_cmp(a, b)); + + public static int h3index_hash(IntPtr cell) + => SafeExecution(() => MEOSExternalFunctions.h3index_hash(cell)); + + public static IntPtr h3_grid_disk(IntPtr origin, int k) + => SafeExecution(() => MEOSExternalFunctions.h3_grid_disk(origin, k)); + + public static IntPtr h3_grid_ring(IntPtr origin, int k) + => SafeExecution(() => MEOSExternalFunctions.h3_grid_ring(origin, k)); + + public static IntPtr h3_grid_path_cells(IntPtr start, IntPtr end) + => SafeExecution(() => MEOSExternalFunctions.h3_grid_path_cells(start, end)); + + public static IntPtr h3_cell_to_children(IntPtr origin, int childRes) + => SafeExecution(() => MEOSExternalFunctions.h3_cell_to_children(origin, childRes)); + + public static IntPtr h3_compact_cells(IntPtr cells) + => SafeExecution(() => MEOSExternalFunctions.h3_compact_cells(cells)); + + public static IntPtr h3_uncompact_cells(IntPtr cells, int res) + => SafeExecution(() => MEOSExternalFunctions.h3_uncompact_cells(cells, res)); + + public static IntPtr h3_origin_to_directed_edges(IntPtr origin) + => SafeExecution(() => MEOSExternalFunctions.h3_origin_to_directed_edges(origin)); + + public static IntPtr h3_cell_to_vertexes(IntPtr cell) + => SafeExecution(() => MEOSExternalFunctions.h3_cell_to_vertexes(cell)); + + public static IntPtr h3_get_icosahedron_faces(IntPtr cell) + => SafeExecution(() => MEOSExternalFunctions.h3_get_icosahedron_faces(cell)); + + public static int ensure_valid_th3index_th3index(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.ensure_valid_th3index_th3index(temp1, temp2)); + + public static bool ensure_valid_th3index_h3index(IntPtr temp, IntPtr cell) + => SafeExecution(() => MEOSExternalFunctions.ensure_valid_th3index_h3index(temp, cell)); + + public static bool ensure_valid_th3index_tgeogpoint(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.ensure_valid_th3index_tgeogpoint(temp1, temp2)); + + public static long datum2_h3index_eq(long d1, long d2, int type) + => SafeExecution(() => MEOSExternalFunctions.datum2_h3index_eq(d1, d2, type)); + + public static long datum2_h3index_ne(long d1, long d2, int type) + => SafeExecution(() => MEOSExternalFunctions.datum2_h3index_ne(d1, d2, type)); + + public static bool h3index_set_stbox(IntPtr cell, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.h3index_set_stbox(cell, box)); + + public static void h3indexarr_set_stbox(IntPtr values, int count, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.h3indexarr_set_stbox(values, count, box)); + + public static void th3indexinst_set_stbox(IntPtr inst, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.th3indexinst_set_stbox(inst, box)); + + public static void th3indexinstarr_set_stbox(IntPtr instants, int count, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.th3indexinstarr_set_stbox(instants, count, box)); + + public static void th3indexseq_expand_stbox(IntPtr seq, IntPtr inst) + => SafeExecution(() => MEOSExternalFunctions.th3indexseq_expand_stbox(seq, inst)); + + public static IntPtr h3_gs_point_to_cell(IntPtr point, int resolution) + => SafeExecution(() => MEOSExternalFunctions.h3_gs_point_to_cell(point, resolution)); + + public static IntPtr h3_cell_to_gs_point(IntPtr cell) + => SafeExecution(() => MEOSExternalFunctions.h3_cell_to_gs_point(cell)); + + public static IntPtr h3_cell_to_gs_boundary(IntPtr cell) + => SafeExecution(() => MEOSExternalFunctions.h3_cell_to_gs_boundary(cell)); + + public static IntPtr cell_boundary_to_gs(IntPtr bnd) + => SafeExecution(() => MEOSExternalFunctions.cell_boundary_to_gs(bnd)); + + public static double h3_sample_step_deg(int resolution) + => SafeExecution(() => MEOSExternalFunctions.h3_sample_step_deg(resolution)); + + public static IntPtr h3_latlng_deg_to_cell(double lat_deg, double lng_deg, int resolution) + => SafeExecution(() => MEOSExternalFunctions.h3_latlng_deg_to_cell(lat_deg, lng_deg, resolution)); + + public static IntPtr h3_cell_to_parent_next_meos(IntPtr cell) + => SafeExecution(() => MEOSExternalFunctions.h3_cell_to_parent_next_meos(cell)); + + public static IntPtr h3_cell_to_center_child_next_meos(IntPtr cell) + => SafeExecution(() => MEOSExternalFunctions.h3_cell_to_center_child_next_meos(cell)); + + public static IntPtr h3_directed_edge_to_gs_boundary(IntPtr edge) + => SafeExecution(() => MEOSExternalFunctions.h3_directed_edge_to_gs_boundary(edge)); + + public static IntPtr h3_vertex_to_gs_point(IntPtr vertex) + => SafeExecution(() => MEOSExternalFunctions.h3_vertex_to_gs_point(vertex)); + + public static IntPtr h3_cell_to_local_ij_meos(IntPtr origin, IntPtr cell) + => SafeExecution(() => MEOSExternalFunctions.h3_cell_to_local_ij_meos(origin, cell)); + + public static IntPtr h3_local_ij_to_cell_meos(IntPtr origin, IntPtr coord) + => SafeExecution(() => MEOSExternalFunctions.h3_local_ij_to_cell_meos(origin, coord)); + + public static IntPtr h3_unit_from_cstring(string unit) + => SafeExecution(() => MEOSExternalFunctions.h3_unit_from_cstring(unit)); + + public static double h3_cell_area_meos(IntPtr cell, IntPtr unit) + => SafeExecution(() => MEOSExternalFunctions.h3_cell_area_meos(cell, unit)); + + public static double h3_edge_length_meos(IntPtr edge, IntPtr unit) + => SafeExecution(() => MEOSExternalFunctions.h3_edge_length_meos(edge, unit)); + + public static double h3_gs_great_circle_distance_meos(IntPtr a, IntPtr b, IntPtr unit) + => SafeExecution(() => MEOSExternalFunctions.h3_gs_great_circle_distance_meos(a, b, unit)); + + public static long datum_h3_get_resolution(long d) + => SafeExecution(() => MEOSExternalFunctions.datum_h3_get_resolution(d)); + + public static long datum_h3_get_base_cell_number(long d) + => SafeExecution(() => MEOSExternalFunctions.datum_h3_get_base_cell_number(d)); + + public static long datum_h3_is_valid_cell(long d) + => SafeExecution(() => MEOSExternalFunctions.datum_h3_is_valid_cell(d)); + + public static long datum_h3_is_res_class_iii(long d) + => SafeExecution(() => MEOSExternalFunctions.datum_h3_is_res_class_iii(d)); + + public static long datum_h3_is_pentagon(long d) + => SafeExecution(() => MEOSExternalFunctions.datum_h3_is_pentagon(d)); + + public static long datum_h3_cell_to_parent(long cell_d, long res_d) + => SafeExecution(() => MEOSExternalFunctions.datum_h3_cell_to_parent(cell_d, res_d)); + + public static long datum_h3_cell_to_parent_next(long cell_d) + => SafeExecution(() => MEOSExternalFunctions.datum_h3_cell_to_parent_next(cell_d)); + + public static long datum_h3_cell_to_center_child(long cell_d, long res_d) + => SafeExecution(() => MEOSExternalFunctions.datum_h3_cell_to_center_child(cell_d, res_d)); + + public static long datum_h3_cell_to_center_child_next(long cell_d) + => SafeExecution(() => MEOSExternalFunctions.datum_h3_cell_to_center_child_next(cell_d)); + + public static long datum_h3_cell_to_child_pos(long cell_d, long parent_res_d) + => SafeExecution(() => MEOSExternalFunctions.datum_h3_cell_to_child_pos(cell_d, parent_res_d)); + + public static long datum_h3_child_pos_to_cell(long pos_d, long parent_d, long child_res_d) + => SafeExecution(() => MEOSExternalFunctions.datum_h3_child_pos_to_cell(pos_d, parent_d, child_res_d)); + + public static long datum_h3_are_neighbor_cells(long origin_d, long dest_d) + => SafeExecution(() => MEOSExternalFunctions.datum_h3_are_neighbor_cells(origin_d, dest_d)); + + public static long datum_h3_cells_to_directed_edge(long origin_d, long dest_d) + => SafeExecution(() => MEOSExternalFunctions.datum_h3_cells_to_directed_edge(origin_d, dest_d)); + + public static long datum_h3_is_valid_directed_edge(long d) + => SafeExecution(() => MEOSExternalFunctions.datum_h3_is_valid_directed_edge(d)); + + public static long datum_h3_get_directed_edge_origin(long d) + => SafeExecution(() => MEOSExternalFunctions.datum_h3_get_directed_edge_origin(d)); + + public static long datum_h3_get_directed_edge_destination(long d) + => SafeExecution(() => MEOSExternalFunctions.datum_h3_get_directed_edge_destination(d)); + + public static long datum_h3_directed_edge_to_boundary(long d) + => SafeExecution(() => MEOSExternalFunctions.datum_h3_directed_edge_to_boundary(d)); + + public static long datum_h3_cell_to_vertex(long cell_d, long vnum_d) + => SafeExecution(() => MEOSExternalFunctions.datum_h3_cell_to_vertex(cell_d, vnum_d)); + + public static long datum_h3_vertex_to_latlng(long d) + => SafeExecution(() => MEOSExternalFunctions.datum_h3_vertex_to_latlng(d)); + + public static long datum_h3_is_valid_vertex(long d) + => SafeExecution(() => MEOSExternalFunctions.datum_h3_is_valid_vertex(d)); + + public static long datum_h3_grid_distance(long origin_d, long dest_d) + => SafeExecution(() => MEOSExternalFunctions.datum_h3_grid_distance(origin_d, dest_d)); + + public static long datum_h3_cell_to_local_ij(long origin_d, long cell_d) + => SafeExecution(() => MEOSExternalFunctions.datum_h3_cell_to_local_ij(origin_d, cell_d)); + + public static long datum_h3_local_ij_to_cell(long origin_d, long coord_d) + => SafeExecution(() => MEOSExternalFunctions.datum_h3_local_ij_to_cell(origin_d, coord_d)); + + public static long datum_h3_latlng_to_cell(long point_d, long res_d) + => SafeExecution(() => MEOSExternalFunctions.datum_h3_latlng_to_cell(point_d, res_d)); + + public static long datum_h3_cell_to_latlng(long d) + => SafeExecution(() => MEOSExternalFunctions.datum_h3_cell_to_latlng(d)); + + public static long datum_h3_cell_to_boundary(long d) + => SafeExecution(() => MEOSExternalFunctions.datum_h3_cell_to_boundary(d)); + + public static long datum_h3_cell_area(long cell_d, long unit_d) + => SafeExecution(() => MEOSExternalFunctions.datum_h3_cell_area(cell_d, unit_d)); + + public static long datum_h3_edge_length(long edge_d, long unit_d) + => SafeExecution(() => MEOSExternalFunctions.datum_h3_edge_length(edge_d, unit_d)); + + public static long datum_h3_great_circle_distance(long a_d, long b_d, long unit_d) + => SafeExecution(() => MEOSExternalFunctions.datum_h3_great_circle_distance(a_d, b_d, unit_d)); + + public static IntPtr json_in(string str) + => SafeExecution(() => MEOSExternalFunctions.json_in(str)); + + public static string json_out(IntPtr js) + => SafeExecution(() => MEOSExternalFunctions.json_out(js)); + + public static IntPtr jsonb_from_text(IntPtr txt, bool unique_keys) + => SafeExecution(() => MEOSExternalFunctions.jsonb_from_text(txt, unique_keys)); + + public static IntPtr jsonb_in(string str) + => SafeExecution(() => MEOSExternalFunctions.jsonb_in(str)); + + public static string jsonb_out(IntPtr jb) + => SafeExecution(() => MEOSExternalFunctions.jsonb_out(jb)); + + public static IntPtr json_make(IntPtr keys_vals, int count) + => SafeExecution(() => MEOSExternalFunctions.json_make(keys_vals, count)); + + public static IntPtr json_make_two_arg(IntPtr keys, IntPtr values, int count) + => SafeExecution(() => MEOSExternalFunctions.json_make_two_arg(keys, values, count)); + + public static IntPtr jsonb_copy(IntPtr jb) + => SafeExecution(() => MEOSExternalFunctions.jsonb_copy(jb)); + + public static IntPtr jsonb_make(IntPtr keys_vals, int count) + => SafeExecution(() => MEOSExternalFunctions.jsonb_make(keys_vals, count)); + + public static IntPtr jsonb_make_two_arg(IntPtr keys, IntPtr values, int count) + => SafeExecution(() => MEOSExternalFunctions.jsonb_make_two_arg(keys, values, count)); + + public static bool jsonb_to_bool(IntPtr jb) + => SafeExecution(() => MEOSExternalFunctions.jsonb_to_bool(jb)); + + public static string jsonb_to_cstring(IntPtr jb) + => SafeExecution(() => MEOSExternalFunctions.jsonb_to_cstring(jb)); + + public static int jsonb_to_float4(IntPtr jb) + => SafeExecution(() => MEOSExternalFunctions.jsonb_to_float4(jb)); + + public static int jsonb_to_float8(IntPtr jb) + => SafeExecution(() => MEOSExternalFunctions.jsonb_to_float8(jb)); + + public static short jsonb_to_int16(IntPtr jb) + => SafeExecution(() => MEOSExternalFunctions.jsonb_to_int16(jb)); + + public static int jsonb_to_int32(IntPtr jb) + => SafeExecution(() => MEOSExternalFunctions.jsonb_to_int32(jb)); + + public static IntPtr jsonb_to_int64(IntPtr jb) + => SafeExecution(() => MEOSExternalFunctions.jsonb_to_int64(jb)); + + public static int jsonb_to_numeric(IntPtr jb) + => SafeExecution(() => MEOSExternalFunctions.jsonb_to_numeric(jb)); + + public static IntPtr jsonb_to_text(IntPtr jb) + => SafeExecution(() => MEOSExternalFunctions.jsonb_to_text(jb)); + + public static IntPtr json_array_element(IntPtr js, int element) + => SafeExecution(() => MEOSExternalFunctions.json_array_element(js, element)); + + public static IntPtr json_array_element_text(IntPtr js, int element) + => SafeExecution(() => MEOSExternalFunctions.json_array_element_text(js, element)); + + public static IntPtr[] json_array_elements(IntPtr js) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.json_array_elements(js, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static IntPtr[] json_array_elements_text(IntPtr js) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.json_array_elements_text(js, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static int json_array_length(IntPtr js) + => SafeExecution(() => MEOSExternalFunctions.json_array_length(js)); + + public static (IntPtr[], IntPtr[]) json_each(IntPtr js) + { + IntPtr _out_values = Marshal.AllocHGlobal(IntPtr.Size); + IntPtr _count_count = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _resultPtr = SafeExecution(() => MEOSExternalFunctions.json_each(js, _out_values, _count_count)); + int _n = Marshal.ReadInt32(_count_count); + IntPtr[] _resultArr = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _resultArr[_i] = Marshal.ReadIntPtr(_resultPtr, _i * IntPtr.Size); } + IntPtr __out_values_arr = Marshal.ReadIntPtr(_out_values); + IntPtr[] __out_values_out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { __out_values_out[_i] = Marshal.ReadIntPtr(__out_values_arr, _i * IntPtr.Size); } + return (_resultArr, __out_values_out); + } + finally + { + Marshal.FreeHGlobal(_out_values); + Marshal.FreeHGlobal(_count_count); + } + } + + public static (IntPtr[], IntPtr[]) json_each_text(IntPtr js) + { + IntPtr _out_values = Marshal.AllocHGlobal(IntPtr.Size); + IntPtr _count_count = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _resultPtr = SafeExecution(() => MEOSExternalFunctions.json_each_text(js, _out_values, _count_count)); + int _n = Marshal.ReadInt32(_count_count); + IntPtr[] _resultArr = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _resultArr[_i] = Marshal.ReadIntPtr(_resultPtr, _i * IntPtr.Size); } + IntPtr __out_values_arr = Marshal.ReadIntPtr(_out_values); + IntPtr[] __out_values_out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { __out_values_out[_i] = Marshal.ReadIntPtr(__out_values_arr, _i * IntPtr.Size); } + return (_resultArr, __out_values_out); + } + finally + { + Marshal.FreeHGlobal(_out_values); + Marshal.FreeHGlobal(_count_count); + } + } + + public static IntPtr json_extract_path(IntPtr js, IntPtr path_elems, int path_len) + => SafeExecution(() => MEOSExternalFunctions.json_extract_path(js, path_elems, path_len)); + + public static IntPtr json_extract_path_text(IntPtr js, IntPtr path_elems, int path_len) + => SafeExecution(() => MEOSExternalFunctions.json_extract_path_text(js, path_elems, path_len)); + + public static IntPtr json_object_field(IntPtr js, IntPtr key) + => SafeExecution(() => MEOSExternalFunctions.json_object_field(js, key)); + + public static IntPtr json_object_field_text(IntPtr js, IntPtr key) + => SafeExecution(() => MEOSExternalFunctions.json_object_field_text(js, key)); + + public static IntPtr[] json_object_keys(IntPtr js) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.json_object_keys(js, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static IntPtr json_typeof(IntPtr js) + => SafeExecution(() => MEOSExternalFunctions.json_typeof(js)); + + public static IntPtr jsonb_array_element(IntPtr jb, int element) + => SafeExecution(() => MEOSExternalFunctions.jsonb_array_element(jb, element)); + + public static IntPtr jsonb_array_element_text(IntPtr jb, int element) + => SafeExecution(() => MEOSExternalFunctions.jsonb_array_element_text(jb, element)); + + public static IntPtr[] jsonb_array_elements(IntPtr jb) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.jsonb_array_elements(jb, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static IntPtr[] jsonb_array_elements_text(IntPtr jb) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.jsonb_array_elements_text(jb, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static int jsonb_array_length(IntPtr jb) + => SafeExecution(() => MEOSExternalFunctions.jsonb_array_length(jb)); + + public static bool jsonb_contained(IntPtr jb1, IntPtr jb2) + => SafeExecution(() => MEOSExternalFunctions.jsonb_contained(jb1, jb2)); + + public static bool jsonb_contains(IntPtr jb1, IntPtr jb2) + => SafeExecution(() => MEOSExternalFunctions.jsonb_contains(jb1, jb2)); + + public static (IntPtr[], IntPtr[]) jsonb_each(IntPtr jb) + { + IntPtr _out_values = Marshal.AllocHGlobal(IntPtr.Size); + IntPtr _count_count = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _resultPtr = SafeExecution(() => MEOSExternalFunctions.jsonb_each(jb, _out_values, _count_count)); + int _n = Marshal.ReadInt32(_count_count); + IntPtr[] _resultArr = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _resultArr[_i] = Marshal.ReadIntPtr(_resultPtr, _i * IntPtr.Size); } + IntPtr __out_values_arr = Marshal.ReadIntPtr(_out_values); + IntPtr[] __out_values_out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { __out_values_out[_i] = Marshal.ReadIntPtr(__out_values_arr, _i * IntPtr.Size); } + return (_resultArr, __out_values_out); + } + finally + { + Marshal.FreeHGlobal(_out_values); + Marshal.FreeHGlobal(_count_count); + } + } + + public static (IntPtr[], IntPtr[]) jsonb_each_text(IntPtr jb) + { + IntPtr _out_values = Marshal.AllocHGlobal(IntPtr.Size); + IntPtr _count_count = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _resultPtr = SafeExecution(() => MEOSExternalFunctions.jsonb_each_text(jb, _out_values, _count_count)); + int _n = Marshal.ReadInt32(_count_count); + IntPtr[] _resultArr = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _resultArr[_i] = Marshal.ReadIntPtr(_resultPtr, _i * IntPtr.Size); } + IntPtr __out_values_arr = Marshal.ReadIntPtr(_out_values); + IntPtr[] __out_values_out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { __out_values_out[_i] = Marshal.ReadIntPtr(__out_values_arr, _i * IntPtr.Size); } + return (_resultArr, __out_values_out); + } + finally + { + Marshal.FreeHGlobal(_out_values); + Marshal.FreeHGlobal(_count_count); + } + } + + public static bool jsonb_exists(IntPtr jb, IntPtr key) + => SafeExecution(() => MEOSExternalFunctions.jsonb_exists(jb, key)); + + public static bool jsonb_exists_array(IntPtr jb, IntPtr keys_elems, int keys_len, bool any) + => SafeExecution(() => MEOSExternalFunctions.jsonb_exists_array(jb, keys_elems, keys_len, any)); + + public static IntPtr jsonb_extract_path(IntPtr jb, IntPtr path_elems, int path_len) + => SafeExecution(() => MEOSExternalFunctions.jsonb_extract_path(jb, path_elems, path_len)); + + public static IntPtr jsonb_extract_path_text(IntPtr jb, IntPtr path_elems, int path_len) + => SafeExecution(() => MEOSExternalFunctions.jsonb_extract_path_text(jb, path_elems, path_len)); + + public static int jsonb_hash(IntPtr jb) + => SafeExecution(() => MEOSExternalFunctions.jsonb_hash(jb)); + + public static IntPtr jsonb_hash_extended(IntPtr jb, IntPtr seed) + => SafeExecution(() => MEOSExternalFunctions.jsonb_hash_extended(jb, seed)); + + public static IntPtr jsonb_object_field(IntPtr jb, IntPtr key) + => SafeExecution(() => MEOSExternalFunctions.jsonb_object_field(jb, key)); + + public static IntPtr jsonb_object_field_text(IntPtr jb, IntPtr key) + => SafeExecution(() => MEOSExternalFunctions.jsonb_object_field_text(jb, key)); + + public static IntPtr[] jsonb_object_keys(IntPtr jb) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.jsonb_object_keys(jb, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static IntPtr json_strip_nulls(IntPtr js, bool strip_in_arrays) + => SafeExecution(() => MEOSExternalFunctions.json_strip_nulls(js, strip_in_arrays)); + + public static IntPtr jsonb_concat(IntPtr jb1, IntPtr jb2) + => SafeExecution(() => MEOSExternalFunctions.jsonb_concat(jb1, jb2)); + + public static IntPtr jsonb_delete(IntPtr jb, IntPtr key) + => SafeExecution(() => MEOSExternalFunctions.jsonb_delete(jb, key)); + + public static IntPtr jsonb_delete_array(IntPtr jb, IntPtr keys_elems, int keys_len) + => SafeExecution(() => MEOSExternalFunctions.jsonb_delete_array(jb, keys_elems, keys_len)); + + public static IntPtr jsonb_delete_index(IntPtr jb, int idx) + => SafeExecution(() => MEOSExternalFunctions.jsonb_delete_index(jb, idx)); + + public static IntPtr jsonb_delete_path(IntPtr jb, IntPtr path_elems, int path_len) + => SafeExecution(() => MEOSExternalFunctions.jsonb_delete_path(jb, path_elems, path_len)); + + public static IntPtr jsonb_insert(IntPtr jb, IntPtr path_elems, int path_len, IntPtr newjb, bool after) + => SafeExecution(() => MEOSExternalFunctions.jsonb_insert(jb, path_elems, path_len, newjb, after)); + + public static IntPtr jsonb_pretty(IntPtr jb) + => SafeExecution(() => MEOSExternalFunctions.jsonb_pretty(jb)); + + public static IntPtr jsonb_set(IntPtr jb, IntPtr path_elems, int path_len, IntPtr newjb, bool create) + => SafeExecution(() => MEOSExternalFunctions.jsonb_set(jb, path_elems, path_len, newjb, create)); + + public static IntPtr jsonb_set_lax(IntPtr jb, IntPtr path_elems, int path_len, IntPtr newjb, bool create, IntPtr handle_null) + => SafeExecution(() => MEOSExternalFunctions.jsonb_set_lax(jb, path_elems, path_len, newjb, create, handle_null)); + + public static IntPtr jsonb_strip_nulls(IntPtr jb, bool strip_in_arrays) + => SafeExecution(() => MEOSExternalFunctions.jsonb_strip_nulls(jb, strip_in_arrays)); + + public static int jsonb_cmp(IntPtr jb1, IntPtr jb2) + => SafeExecution(() => MEOSExternalFunctions.jsonb_cmp(jb1, jb2)); + + public static bool jsonb_eq(IntPtr jb1, IntPtr jb2) + => SafeExecution(() => MEOSExternalFunctions.jsonb_eq(jb1, jb2)); + + public static bool jsonb_ge(IntPtr jb1, IntPtr jb2) + => SafeExecution(() => MEOSExternalFunctions.jsonb_ge(jb1, jb2)); + + public static bool jsonb_gt(IntPtr jb1, IntPtr jb2) + => SafeExecution(() => MEOSExternalFunctions.jsonb_gt(jb1, jb2)); + + public static bool jsonb_le(IntPtr jb1, IntPtr jb2) + => SafeExecution(() => MEOSExternalFunctions.jsonb_le(jb1, jb2)); + + public static bool jsonb_lt(IntPtr jb1, IntPtr jb2) + => SafeExecution(() => MEOSExternalFunctions.jsonb_lt(jb1, jb2)); + + public static bool jsonb_ne(IntPtr jb1, IntPtr jb2) + => SafeExecution(() => MEOSExternalFunctions.jsonb_ne(jb1, jb2)); + + public static int jsonb_path_exists(IntPtr jb, IntPtr jp, IntPtr vars, bool silent, bool tz) + => SafeExecution(() => MEOSExternalFunctions.jsonb_path_exists(jb, jp, vars, silent, tz)); + + public static bool jsonb_path_match(IntPtr jb, IntPtr jp, IntPtr vars, bool silent, bool tz) + => SafeExecution(() => MEOSExternalFunctions.jsonb_path_match(jb, jp, vars, silent, tz)); + + public static IntPtr[] jsonb_path_query_all(IntPtr jb, IntPtr jp, IntPtr vars, bool silent, bool tz) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.jsonb_path_query_all(jb, jp, vars, silent, tz, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static IntPtr jsonb_path_query_array(IntPtr jb, IntPtr jp, IntPtr vars, bool silent, bool tz) + => SafeExecution(() => MEOSExternalFunctions.jsonb_path_query_array(jb, jp, vars, silent, tz)); + + public static IntPtr jsonb_path_query_first(IntPtr jb, IntPtr jp, IntPtr vars, bool silent, bool tz) + => SafeExecution(() => MEOSExternalFunctions.jsonb_path_query_first(jb, jp, vars, silent, tz)); + + public static IntPtr jsonpath_in(string str) + => SafeExecution(() => MEOSExternalFunctions.jsonpath_in(str)); + + public static IntPtr jsonpath_copy(IntPtr jp) + => SafeExecution(() => MEOSExternalFunctions.jsonpath_copy(jp)); + + public static string jsonpath_out(IntPtr jp) + => SafeExecution(() => MEOSExternalFunctions.jsonpath_out(jp)); + + public static IntPtr jsonbset_in(string str) + => SafeExecution(() => MEOSExternalFunctions.jsonbset_in(str)); + + public static string jsonbset_out(IntPtr s, int maxdd) + => SafeExecution(() => MEOSExternalFunctions.jsonbset_out(s, maxdd)); + + public static IntPtr jsonbset_make(IntPtr values, int count) + => SafeExecution(() => MEOSExternalFunctions.jsonbset_make(values, count)); + + public static IntPtr jsonb_to_set(IntPtr jb) + => SafeExecution(() => MEOSExternalFunctions.jsonb_to_set(jb)); + + public static IntPtr jsonbset_end_value(IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.jsonbset_end_value(s)); + + public static IntPtr jsonbset_start_value(IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.jsonbset_start_value(s)); + + public static bool jsonbset_value_n(IntPtr s, int n, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.jsonbset_value_n(s, n, result)); + + public static IntPtr[] jsonbset_values(IntPtr s) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.jsonbset_values(s, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static IntPtr concat_jsonbset_jsonb(IntPtr s, IntPtr jb, bool invert) + => SafeExecution(() => MEOSExternalFunctions.concat_jsonbset_jsonb(s, jb, invert)); + + public static IntPtr jsonbset_array_length(IntPtr set) + => SafeExecution(() => MEOSExternalFunctions.jsonbset_array_length(set)); + + public static IntPtr jsonbset_object_field(IntPtr set, IntPtr key, bool astext, IntPtr null_handle) + => SafeExecution(() => MEOSExternalFunctions.jsonbset_object_field(set, key, astext, null_handle)); + + public static IntPtr jsonbset_array_element(IntPtr set, int idx, bool astext, IntPtr null_handle) + => SafeExecution(() => MEOSExternalFunctions.jsonbset_array_element(set, idx, astext, null_handle)); + + public static IntPtr jsonbset_delete_index(IntPtr set, int idx) + => SafeExecution(() => MEOSExternalFunctions.jsonbset_delete_index(set, idx)); + + public static IntPtr jsonbset_delete(IntPtr set, IntPtr key) + => SafeExecution(() => MEOSExternalFunctions.jsonbset_delete(set, key)); + + public static IntPtr jsonbset_delete_array(IntPtr set, IntPtr keys, int count) + => SafeExecution(() => MEOSExternalFunctions.jsonbset_delete_array(set, keys, count)); + + public static IntPtr jsonbset_exists(IntPtr set, IntPtr key) + => SafeExecution(() => MEOSExternalFunctions.jsonbset_exists(set, key)); + + public static IntPtr jsonbset_exists_array(IntPtr set, IntPtr keys, int count, bool any) + => SafeExecution(() => MEOSExternalFunctions.jsonbset_exists_array(set, keys, count, any)); + + public static IntPtr jsonbset_set(IntPtr set, IntPtr keys, int count, IntPtr newjb, bool create, IntPtr null_handle, bool lax) + => SafeExecution(() => MEOSExternalFunctions.jsonbset_set(set, keys, count, newjb, create, null_handle, lax)); + + public static IntPtr jsonbset_to_alphanumset(IntPtr set, string key, int settype, IntPtr null_handle) + => SafeExecution(() => MEOSExternalFunctions.jsonbset_to_alphanumset(set, key, settype, null_handle)); + + public static IntPtr jsonbset_to_intset(IntPtr set, string key, IntPtr null_handle) + => SafeExecution(() => MEOSExternalFunctions.jsonbset_to_intset(set, key, null_handle)); + + public static IntPtr jsonbset_to_floatset(IntPtr set, string key, IntPtr null_handle) + => SafeExecution(() => MEOSExternalFunctions.jsonbset_to_floatset(set, key, null_handle)); + + public static IntPtr jsonbset_to_textset_key(IntPtr set, string key, IntPtr null_handle) + => SafeExecution(() => MEOSExternalFunctions.jsonbset_to_textset_key(set, key, null_handle)); + + public static IntPtr jsonbset_strip_nulls(IntPtr set, bool strip_in_arrays) + => SafeExecution(() => MEOSExternalFunctions.jsonbset_strip_nulls(set, strip_in_arrays)); + + public static IntPtr jsonbset_pretty(IntPtr set) + => SafeExecution(() => MEOSExternalFunctions.jsonbset_pretty(set)); + + public static IntPtr jsonbset_delete_path(IntPtr set, IntPtr path_elems, int path_len) + => SafeExecution(() => MEOSExternalFunctions.jsonbset_delete_path(set, path_elems, path_len)); + + public static IntPtr jsonbset_extract_path(IntPtr set, IntPtr path_elems, int path_len, bool astext, IntPtr null_handle) + => SafeExecution(() => MEOSExternalFunctions.jsonbset_extract_path(set, path_elems, path_len, astext, null_handle)); + + public static IntPtr jsonbset_insert(IntPtr set, IntPtr path_elems, int path_len, IntPtr newjb, bool after) + => SafeExecution(() => MEOSExternalFunctions.jsonbset_insert(set, path_elems, path_len, newjb, after)); + + public static IntPtr jsonbset_path_exists(IntPtr set, IntPtr jp, IntPtr vars, bool silent, bool tz) + => SafeExecution(() => MEOSExternalFunctions.jsonbset_path_exists(set, jp, vars, silent, tz)); + + public static IntPtr jsonbset_path_match(IntPtr set, IntPtr jp, IntPtr vars, bool silent, bool tz) + => SafeExecution(() => MEOSExternalFunctions.jsonbset_path_match(set, jp, vars, silent, tz)); + + public static IntPtr jsonbset_path_query_array(IntPtr set, IntPtr jp, IntPtr vars, bool silent, bool tz) + => SafeExecution(() => MEOSExternalFunctions.jsonbset_path_query_array(set, jp, vars, silent, tz)); + + public static IntPtr jsonbset_path_query_first(IntPtr set, IntPtr jp, IntPtr vars, bool silent, bool tz) + => SafeExecution(() => MEOSExternalFunctions.jsonbset_path_query_first(set, jp, vars, silent, tz)); + + public static bool contained_jsonb_set(IntPtr jb, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.contained_jsonb_set(jb, s)); + + public static bool contains_set_jsonb(IntPtr s, IntPtr jb) + => SafeExecution(() => MEOSExternalFunctions.contains_set_jsonb(s, jb)); + + public static IntPtr intersection_jsonb_set(IntPtr jb, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.intersection_jsonb_set(jb, s)); + + public static IntPtr intersection_set_jsonb(IntPtr s, IntPtr jb) + => SafeExecution(() => MEOSExternalFunctions.intersection_set_jsonb(s, jb)); + + public static IntPtr jsonb_union_transfn(IntPtr state, IntPtr jb) + => SafeExecution(() => MEOSExternalFunctions.jsonb_union_transfn(state, jb)); + + public static IntPtr minus_jsonb_set(IntPtr jb, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.minus_jsonb_set(jb, s)); + + public static IntPtr minus_set_jsonb(IntPtr s, IntPtr jb) + => SafeExecution(() => MEOSExternalFunctions.minus_set_jsonb(s, jb)); + + public static IntPtr union_jsonb_set(IntPtr jb, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.union_jsonb_set(jb, s)); + + public static IntPtr union_set_jsonb(IntPtr s, IntPtr jb) + => SafeExecution(() => MEOSExternalFunctions.union_set_jsonb(s, jb)); + + public static IntPtr tjsonb_from_mfjson(string str) + => SafeExecution(() => MEOSExternalFunctions.tjsonb_from_mfjson(str)); + + public static IntPtr tjsonb_in(string str) + => SafeExecution(() => MEOSExternalFunctions.tjsonb_in(str)); + + public static string tjsonb_out(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tjsonb_out(temp)); + + public static IntPtr tjsonbinst_from_mfjson(IntPtr mfjson) + => SafeExecution(() => MEOSExternalFunctions.tjsonbinst_from_mfjson(mfjson)); + + public static IntPtr tjsonbinst_in(string str) + => SafeExecution(() => MEOSExternalFunctions.tjsonbinst_in(str)); + + public static IntPtr tjsonbseq_from_mfjson(IntPtr mfjson) + => SafeExecution(() => MEOSExternalFunctions.tjsonbseq_from_mfjson(mfjson)); + + public static IntPtr tjsonbseq_in(string str, int interp) + => SafeExecution(() => MEOSExternalFunctions.tjsonbseq_in(str, interp)); + + public static IntPtr tjsonbseqset_from_mfjson(IntPtr mfjson) + => SafeExecution(() => MEOSExternalFunctions.tjsonbseqset_from_mfjson(mfjson)); + + public static IntPtr tjsonbseqset_in(string str) + => SafeExecution(() => MEOSExternalFunctions.tjsonbseqset_in(str)); + + public static IntPtr tjsonb_from_base_temp(IntPtr jsonb, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tjsonb_from_base_temp(jsonb, temp)); + + public static IntPtr tjsonbinst_make(IntPtr jsonb, long t) + => SafeExecution(() => MEOSExternalFunctions.tjsonbinst_make(jsonb, t)); + + public static IntPtr tjsonbseq_from_base_tstzset(IntPtr jsonb, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.tjsonbseq_from_base_tstzset(jsonb, s)); + + public static IntPtr tjsonbseq_from_base_tstzspan(IntPtr jsonb, IntPtr sp) + => SafeExecution(() => MEOSExternalFunctions.tjsonbseq_from_base_tstzspan(jsonb, sp)); + + public static IntPtr tjsonbseqset_from_base_tstzspanset(IntPtr jsonb, IntPtr ss) + => SafeExecution(() => MEOSExternalFunctions.tjsonbseqset_from_base_tstzspanset(jsonb, ss)); + + public static IntPtr tjsonb_to_ttext(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tjsonb_to_ttext(temp)); + + public static IntPtr ttext_to_tjsonb(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.ttext_to_tjsonb(temp)); + + public static IntPtr tjsonb_end_value(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tjsonb_end_value(temp)); + + public static IntPtr tjsonb_start_value(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tjsonb_start_value(temp)); + + public static bool tjsonb_value_at_timestamptz(IntPtr temp, long t, bool strict, IntPtr value) + => SafeExecution(() => MEOSExternalFunctions.tjsonb_value_at_timestamptz(temp, t, strict, value)); + + public static bool tjsonb_value_n(IntPtr temp, int n, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.tjsonb_value_n(temp, n, result)); + + public static IntPtr[] tjsonb_values(IntPtr temp) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tjsonb_values(temp, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static IntPtr concat_tjsonb_jsonb(IntPtr temp, IntPtr jb, bool invert) + => SafeExecution(() => MEOSExternalFunctions.concat_tjsonb_jsonb(temp, jb, invert)); + + public static IntPtr concat_tjsonb_tjsonb(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.concat_tjsonb_tjsonb(temp1, temp2)); + + public static IntPtr contains_tjsonb_jsonb(IntPtr temp, IntPtr jb, bool invert) + => SafeExecution(() => MEOSExternalFunctions.contains_tjsonb_jsonb(temp, jb, invert)); + + public static IntPtr contains_tjsonb_tjsonb(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.contains_tjsonb_tjsonb(temp1, temp2)); + + public static IntPtr null_handle_type_from_string(string str) + => SafeExecution(() => MEOSExternalFunctions.null_handle_type_from_string(str)); + + public static IntPtr tjson_array_element(IntPtr temp, int idx, IntPtr null_handle) + => SafeExecution(() => MEOSExternalFunctions.tjson_array_element(temp, idx, null_handle)); + + public static IntPtr tjson_array_length(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tjson_array_length(temp)); + + public static IntPtr tjson_extract_path(IntPtr temp, IntPtr path_elems, int path_len, IntPtr null_handle) + => SafeExecution(() => MEOSExternalFunctions.tjson_extract_path(temp, path_elems, path_len, null_handle)); + + public static IntPtr tjson_object_field(IntPtr temp, IntPtr key, bool astext, IntPtr null_handle) + => SafeExecution(() => MEOSExternalFunctions.tjson_object_field(temp, key, astext, null_handle)); + + public static IntPtr tjson_strip_nulls(IntPtr temp, bool strip_in_arrays) + => SafeExecution(() => MEOSExternalFunctions.tjson_strip_nulls(temp, strip_in_arrays)); + + public static IntPtr tjsonb_array_element(IntPtr temp, int idx, bool astext, IntPtr null_handle) + => SafeExecution(() => MEOSExternalFunctions.tjsonb_array_element(temp, idx, astext, null_handle)); + + public static IntPtr tjsonb_array_length(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tjsonb_array_length(temp)); + + public static IntPtr tjsonb_delete(IntPtr temp, IntPtr key) + => SafeExecution(() => MEOSExternalFunctions.tjsonb_delete(temp, key)); + + public static IntPtr tjsonb_delete_array(IntPtr temp, IntPtr keys, int count) + => SafeExecution(() => MEOSExternalFunctions.tjsonb_delete_array(temp, keys, count)); + + public static IntPtr tjsonb_delete_index(IntPtr temp, int idx) + => SafeExecution(() => MEOSExternalFunctions.tjsonb_delete_index(temp, idx)); + + public static IntPtr tjsonb_delete_path(IntPtr temp, IntPtr path_elems, int path_len) + => SafeExecution(() => MEOSExternalFunctions.tjsonb_delete_path(temp, path_elems, path_len)); + + public static IntPtr tjsonb_exists(IntPtr temp, IntPtr key) + => SafeExecution(() => MEOSExternalFunctions.tjsonb_exists(temp, key)); + + public static IntPtr tjsonb_exists_array(IntPtr temp, IntPtr keys, int count, bool any) + => SafeExecution(() => MEOSExternalFunctions.tjsonb_exists_array(temp, keys, count, any)); + + public static IntPtr tjsonb_extract_path(IntPtr temp, IntPtr path_elems, int path_len, bool astext, IntPtr null_handle) + => SafeExecution(() => MEOSExternalFunctions.tjsonb_extract_path(temp, path_elems, path_len, astext, null_handle)); + + public static IntPtr tjsonb_insert(IntPtr temp, IntPtr keys, int count, IntPtr newjb, bool after) + => SafeExecution(() => MEOSExternalFunctions.tjsonb_insert(temp, keys, count, newjb, after)); + + public static IntPtr tjsonb_object_field(IntPtr temp, IntPtr key, bool astext, IntPtr null_handle) + => SafeExecution(() => MEOSExternalFunctions.tjsonb_object_field(temp, key, astext, null_handle)); + + public static IntPtr tjsonb_path_exists(IntPtr temp, IntPtr jp, IntPtr vars, bool silent, bool tz) + => SafeExecution(() => MEOSExternalFunctions.tjsonb_path_exists(temp, jp, vars, silent, tz)); + + public static IntPtr tjsonb_path_match(IntPtr temp, IntPtr jp, IntPtr vars, bool silent, bool tz) + => SafeExecution(() => MEOSExternalFunctions.tjsonb_path_match(temp, jp, vars, silent, tz)); + + public static IntPtr tjsonb_path_query_array(IntPtr temp, IntPtr jp, IntPtr vars, bool silent, bool tz) + => SafeExecution(() => MEOSExternalFunctions.tjsonb_path_query_array(temp, jp, vars, silent, tz)); + + public static IntPtr tjsonb_path_query_first(IntPtr temp, IntPtr jp, IntPtr vars, bool silent, bool tz) + => SafeExecution(() => MEOSExternalFunctions.tjsonb_path_query_first(temp, jp, vars, silent, tz)); + + public static IntPtr tjsonb_pretty(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tjsonb_pretty(temp)); + + public static IntPtr tjsonb_set(IntPtr temp, IntPtr keys, int count, IntPtr newjb, bool create, IntPtr handle_null, bool lax) + => SafeExecution(() => MEOSExternalFunctions.tjsonb_set(temp, keys, count, newjb, create, handle_null, lax)); + + public static IntPtr tjsonb_strip_nulls(IntPtr temp, bool strip_in_arrays) + => SafeExecution(() => MEOSExternalFunctions.tjsonb_strip_nulls(temp, strip_in_arrays)); + + public static IntPtr tjsonb_to_tbool(IntPtr temp, string key, IntPtr null_handle) + => SafeExecution(() => MEOSExternalFunctions.tjsonb_to_tbool(temp, key, null_handle)); + + public static IntPtr tjsonb_to_tfloat(IntPtr temp, string key, int interp, IntPtr null_handle) + => SafeExecution(() => MEOSExternalFunctions.tjsonb_to_tfloat(temp, key, interp, null_handle)); + + public static IntPtr tjsonb_to_tint(IntPtr temp, string key, IntPtr null_handle) + => SafeExecution(() => MEOSExternalFunctions.tjsonb_to_tint(temp, key, null_handle)); + + public static IntPtr tjsonb_to_ttext_key(IntPtr temp, string key, IntPtr null_handle) + => SafeExecution(() => MEOSExternalFunctions.tjsonb_to_ttext_key(temp, key, null_handle)); + + public static IntPtr tjsonb_at_value(IntPtr temp, IntPtr jsb) + => SafeExecution(() => MEOSExternalFunctions.tjsonb_at_value(temp, jsb)); + + public static IntPtr tjsonb_minus_value(IntPtr temp, IntPtr jsb) + => SafeExecution(() => MEOSExternalFunctions.tjsonb_minus_value(temp, jsb)); + + public static int always_eq_jsonb_tjsonb(IntPtr jb, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.always_eq_jsonb_tjsonb(jb, temp)); + + public static int always_eq_tjsonb_jsonb(IntPtr temp, IntPtr jb) + => SafeExecution(() => MEOSExternalFunctions.always_eq_tjsonb_jsonb(temp, jb)); + + public static int always_eq_tjsonb_tjsonb(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.always_eq_tjsonb_tjsonb(temp1, temp2)); + + public static int always_ne_jsonb_tjsonb(IntPtr jb, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.always_ne_jsonb_tjsonb(jb, temp)); + + public static int always_ne_tjsonb_jsonb(IntPtr temp, IntPtr jb) + => SafeExecution(() => MEOSExternalFunctions.always_ne_tjsonb_jsonb(temp, jb)); + + public static int always_ne_tjsonb_tjsonb(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.always_ne_tjsonb_tjsonb(temp1, temp2)); + + public static int ever_eq_jsonb_tjsonb(IntPtr jb, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.ever_eq_jsonb_tjsonb(jb, temp)); + + public static int ever_eq_tjsonb_jsonb(IntPtr temp, IntPtr jb) + => SafeExecution(() => MEOSExternalFunctions.ever_eq_tjsonb_jsonb(temp, jb)); + + public static int ever_eq_tjsonb_tjsonb(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.ever_eq_tjsonb_tjsonb(temp1, temp2)); + + public static int ever_ne_jsonb_tjsonb(IntPtr jb, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.ever_ne_jsonb_tjsonb(jb, temp)); + + public static int ever_ne_tjsonb_jsonb(IntPtr temp, IntPtr jb) + => SafeExecution(() => MEOSExternalFunctions.ever_ne_tjsonb_jsonb(temp, jb)); + + public static int ever_ne_tjsonb_tjsonb(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.ever_ne_tjsonb_tjsonb(temp1, temp2)); + + public static IntPtr teq_jsonb_tjsonb(IntPtr jb, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.teq_jsonb_tjsonb(jb, temp)); + + public static IntPtr teq_tjsonb_jsonb(IntPtr temp, IntPtr jb) + => SafeExecution(() => MEOSExternalFunctions.teq_tjsonb_jsonb(temp, jb)); + + public static IntPtr tne_jsonb_tjsonb(IntPtr jb, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tne_jsonb_tjsonb(jb, temp)); + + public static IntPtr tne_tjsonb_jsonb(IntPtr temp, IntPtr jb) + => SafeExecution(() => MEOSExternalFunctions.tne_tjsonb_jsonb(temp, jb)); + + public static IntPtr setPath(IntPtr it, IntPtr path_elems, IntPtr path_nulls, int path_len, IntPtr st, int level, IntPtr newval, int op_type) + => SafeExecution(() => MEOSExternalFunctions.setPath(it, path_elems, path_nulls, path_len, st, level, newval, op_type)); + + public static void setPathObject(IntPtr it, IntPtr path_elems, IntPtr path_nulls, int path_len, IntPtr st, int level, IntPtr newval, uint npairs, int op_type) + => SafeExecution(() => MEOSExternalFunctions.setPathObject(it, path_elems, path_nulls, path_len, st, level, newval, npairs, op_type)); + + public static void setPathArray(IntPtr it, IntPtr path_elems, IntPtr path_nulls, int path_len, IntPtr st, int level, IntPtr newval, uint nelems, int op_type) + => SafeExecution(() => MEOSExternalFunctions.setPathArray(it, path_elems, path_nulls, path_len, st, level, newval, nelems, op_type)); + + public static long datum_jsonb_concat(long l, long r) + => SafeExecution(() => MEOSExternalFunctions.datum_jsonb_concat(l, r)); + + public static long datum_jsonb_contained(long l, long r) + => SafeExecution(() => MEOSExternalFunctions.datum_jsonb_contained(l, r)); + + public static long datum_jsonb_contains(long l, long r) + => SafeExecution(() => MEOSExternalFunctions.datum_jsonb_contains(l, r)); + + public static long datum_jsonb_delete(long jb, long key) + => SafeExecution(() => MEOSExternalFunctions.datum_jsonb_delete(jb, key)); + + public static long datum_jsonb_delete_array(long jb, long array, long count) + => SafeExecution(() => MEOSExternalFunctions.datum_jsonb_delete_array(jb, array, count)); + + public static long datum_jsonb_delete_index(long jb, long idx) + => SafeExecution(() => MEOSExternalFunctions.datum_jsonb_delete_index(jb, idx)); + + public static long datum_json_array_element(long txt, long element) + => SafeExecution(() => MEOSExternalFunctions.datum_json_array_element(txt, element)); + + public static long datum_jsonb_array_element(long jb, long element) + => SafeExecution(() => MEOSExternalFunctions.datum_jsonb_array_element(jb, element)); + + public static long datum_json_array_element_text(long txt, long element) + => SafeExecution(() => MEOSExternalFunctions.datum_json_array_element_text(txt, element)); + + public static long datum_jsonb_array_element_text(long jb, long element) + => SafeExecution(() => MEOSExternalFunctions.datum_jsonb_array_element_text(jb, element)); + + public static long datum_jsonb_exists(long l, long r) + => SafeExecution(() => MEOSExternalFunctions.datum_jsonb_exists(l, r)); + + public static long datum_jsonb_exists_array(long value, long array, long count, long any) + => SafeExecution(() => MEOSExternalFunctions.datum_jsonb_exists_array(value, array, count, any)); + + public static long datum_json_array_length(long txt) + => SafeExecution(() => MEOSExternalFunctions.datum_json_array_length(txt)); + + public static long datum_jsonb_array_length(long txt) + => SafeExecution(() => MEOSExternalFunctions.datum_jsonb_array_length(txt)); + + public static long datum_json_object_field(long txt, long key) + => SafeExecution(() => MEOSExternalFunctions.datum_json_object_field(txt, key)); + + public static long datum_jsonb_object_field(long jb, long key) + => SafeExecution(() => MEOSExternalFunctions.datum_jsonb_object_field(jb, key)); + + public static long datum_json_object_field_text(long txt, long key) + => SafeExecution(() => MEOSExternalFunctions.datum_json_object_field_text(txt, key)); + + public static long datum_jsonb_object_field_text(long jb, long key) + => SafeExecution(() => MEOSExternalFunctions.datum_jsonb_object_field_text(jb, key)); + + public static long datum_json_strip_nulls(long txt, long strip_in_arrays) + => SafeExecution(() => MEOSExternalFunctions.datum_json_strip_nulls(txt, strip_in_arrays)); + + public static long datum_jsonb_strip_nulls(long jb, long strip_in_arrays) + => SafeExecution(() => MEOSExternalFunctions.datum_jsonb_strip_nulls(jb, strip_in_arrays)); + + public static long datum_jsonb_pretty(long jb) + => SafeExecution(() => MEOSExternalFunctions.datum_jsonb_pretty(jb)); + + public static long datum_json_extract_path(long txt, long path_elems, long path_len) + => SafeExecution(() => MEOSExternalFunctions.datum_json_extract_path(txt, path_elems, path_len)); + + public static long datum_jsonb_extract_path(long jb, long path_elems, long path_len) + => SafeExecution(() => MEOSExternalFunctions.datum_jsonb_extract_path(jb, path_elems, path_len)); + + public static long datum_json_extract_path_text(long txt, long path_elems, long path_len) + => SafeExecution(() => MEOSExternalFunctions.datum_json_extract_path_text(txt, path_elems, path_len)); + + public static long datum_jsonb_extract_path_text(long jb, long path_elems, long path_len) + => SafeExecution(() => MEOSExternalFunctions.datum_jsonb_extract_path_text(jb, path_elems, path_len)); + + public static long datum_jsonb_set(long jb, long keys, long count, long newjb, long create) + => SafeExecution(() => MEOSExternalFunctions.datum_jsonb_set(jb, keys, count, newjb, create)); + + public static long datum_jsonb_set_lax(long jb, long keys, long count, long newjb, long create, long null_handle) + => SafeExecution(() => MEOSExternalFunctions.datum_jsonb_set_lax(jb, keys, count, newjb, create, null_handle)); + + public static long datum_jsonb_delete_path(long jb, long keys, long count) + => SafeExecution(() => MEOSExternalFunctions.datum_jsonb_delete_path(jb, keys, count)); + + public static long datum_jsonb_insert(long jb, long keys, long count, long newjb, long after) + => SafeExecution(() => MEOSExternalFunctions.datum_jsonb_insert(jb, keys, count, newjb, after)); + + public static long datum_jsonb_path_exists(long jb, long jp, long vars, long silent, long tz) + => SafeExecution(() => MEOSExternalFunctions.datum_jsonb_path_exists(jb, jp, vars, silent, tz)); + + public static long datum_jsonb_path_match(long jb, long jp, long vars, long silent, long tz) + => SafeExecution(() => MEOSExternalFunctions.datum_jsonb_path_match(jb, jp, vars, silent, tz)); + + public static long datum_jsonb_path_query_array(long jb, long jp, long vars, long silent, long tz) + => SafeExecution(() => MEOSExternalFunctions.datum_jsonb_path_query_array(jb, jp, vars, silent, tz)); + + public static long datum_jsonb_path_query_first(long jb, long jp, long vars, long silent, long tz) + => SafeExecution(() => MEOSExternalFunctions.datum_jsonb_path_query_first(jb, jp, vars, silent, tz)); + + public static long datum_jsonb_to_text(long jb) + => SafeExecution(() => MEOSExternalFunctions.datum_jsonb_to_text(jb)); + + public static long datum_text_to_jsonb(long txt) + => SafeExecution(() => MEOSExternalFunctions.datum_text_to_jsonb(txt)); + + public static long datum_jsonb_to_alphanum(long jb, long key, long temptype, long null_handle) + => SafeExecution(() => MEOSExternalFunctions.datum_jsonb_to_alphanum(jb, key, temptype, null_handle)); + + public static IntPtr tjsonb_to_talphanum(IntPtr temp, string key, int resbasetype, int interp, IntPtr null_handle) + => SafeExecution(() => MEOSExternalFunctions.tjsonb_to_talphanum(temp, key, resbasetype, interp, null_handle)); + + public static IntPtr jsonbfunc_jsonbset(IntPtr s, int func, int intype, int restype) + => SafeExecution(() => MEOSExternalFunctions.jsonbfunc_jsonbset(s, func, intype, restype)); + + public static IntPtr jsonbfunc_jsonbset_jsonb(IntPtr s, IntPtr jb, IntPtr func, bool invert) + => SafeExecution(() => MEOSExternalFunctions.jsonbfunc_jsonbset_jsonb(s, jb, func, invert)); + + public static IntPtr jsonbfunc_jsonbset_text(IntPtr s, IntPtr txt, IntPtr func) + => SafeExecution(() => MEOSExternalFunctions.jsonbfunc_jsonbset_text(s, txt, func)); + + public static bool meos_temporal_to_arrow(IntPtr temp, IntPtr out_schema, IntPtr out_array) + => SafeExecution(() => MEOSExternalFunctions.meos_temporal_to_arrow(temp, out_schema, out_array)); + + public static IntPtr meos_temporal_from_arrow(IntPtr schema, IntPtr array) + => SafeExecution(() => MEOSExternalFunctions.meos_temporal_from_arrow(schema, array)); + + public static IntPtr meos_temporal_arrow_roundtrip(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.meos_temporal_arrow_roundtrip(temp)); + + public static bool meos_set_to_arrow(IntPtr s, IntPtr out_schema, IntPtr out_array) + => SafeExecution(() => MEOSExternalFunctions.meos_set_to_arrow(s, out_schema, out_array)); + + public static IntPtr meos_set_from_arrow(IntPtr schema, IntPtr array) + => SafeExecution(() => MEOSExternalFunctions.meos_set_from_arrow(schema, array)); + + public static IntPtr meos_set_arrow_roundtrip(IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.meos_set_arrow_roundtrip(s)); + + public static bool meos_span_to_arrow(IntPtr s, IntPtr out_schema, IntPtr out_array) + => SafeExecution(() => MEOSExternalFunctions.meos_span_to_arrow(s, out_schema, out_array)); + + public static IntPtr meos_span_from_arrow(IntPtr schema, IntPtr array) + => SafeExecution(() => MEOSExternalFunctions.meos_span_from_arrow(schema, array)); + + public static IntPtr meos_span_arrow_roundtrip(IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.meos_span_arrow_roundtrip(s)); + + public static bool meos_spanset_to_arrow(IntPtr ss, IntPtr out_schema, IntPtr out_array) + => SafeExecution(() => MEOSExternalFunctions.meos_spanset_to_arrow(ss, out_schema, out_array)); + + public static IntPtr meos_spanset_from_arrow(IntPtr schema, IntPtr array) + => SafeExecution(() => MEOSExternalFunctions.meos_spanset_from_arrow(schema, array)); + + public static IntPtr meos_spanset_arrow_roundtrip(IntPtr ss) + => SafeExecution(() => MEOSExternalFunctions.meos_spanset_arrow_roundtrip(ss)); + + public static bool meos_tbox_to_arrow(IntPtr box, IntPtr out_schema, IntPtr out_array) + => SafeExecution(() => MEOSExternalFunctions.meos_tbox_to_arrow(box, out_schema, out_array)); + + public static IntPtr meos_tbox_from_arrow(IntPtr schema, IntPtr array) + => SafeExecution(() => MEOSExternalFunctions.meos_tbox_from_arrow(schema, array)); + + public static IntPtr meos_tbox_arrow_roundtrip(IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.meos_tbox_arrow_roundtrip(box)); + + public static bool meos_stbox_to_arrow(IntPtr box, IntPtr out_schema, IntPtr out_array) + => SafeExecution(() => MEOSExternalFunctions.meos_stbox_to_arrow(box, out_schema, out_array)); + + public static IntPtr meos_stbox_from_arrow(IntPtr schema, IntPtr array) + => SafeExecution(() => MEOSExternalFunctions.meos_stbox_from_arrow(schema, array)); + + public static IntPtr meos_stbox_arrow_roundtrip(IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.meos_stbox_arrow_roundtrip(box)); + + public static IntPtr h3index_from_wkb(IntPtr wkb, IntPtr size) + => SafeExecution(() => MEOSExternalFunctions.h3index_from_wkb(wkb, size)); + + public static IntPtr h3index_from_hexwkb(string hexwkb) + => SafeExecution(() => MEOSExternalFunctions.h3index_from_hexwkb(hexwkb)); + + public static IntPtr h3index_as_wkb(IntPtr cell, IntPtr variant, IntPtr size_out) + => SafeExecution(() => MEOSExternalFunctions.h3index_as_wkb(cell, variant, size_out)); + + public static string h3index_as_hexwkb(IntPtr cell, IntPtr variant, IntPtr size_out) + => SafeExecution(() => MEOSExternalFunctions.h3index_as_hexwkb(cell, variant, size_out)); + + public static IntPtr th3index_in(string str) + => SafeExecution(() => MEOSExternalFunctions.th3index_in(str)); + + public static IntPtr th3indexinst_in(string str) + => SafeExecution(() => MEOSExternalFunctions.th3indexinst_in(str)); + + public static IntPtr th3indexseq_in(string str, int interp) + => SafeExecution(() => MEOSExternalFunctions.th3indexseq_in(str, interp)); + + public static IntPtr th3indexseqset_in(string str) + => SafeExecution(() => MEOSExternalFunctions.th3indexseqset_in(str)); + + public static IntPtr th3index_make(IntPtr value, long t) + => SafeExecution(() => MEOSExternalFunctions.th3index_make(value, t)); + + public static IntPtr th3indexinst_make(IntPtr value, long t) + => SafeExecution(() => MEOSExternalFunctions.th3indexinst_make(value, t)); + + public static IntPtr th3indexseq_make(IntPtr values, IntPtr times, int count, bool lower_inc, bool upper_inc) + => SafeExecution(() => MEOSExternalFunctions.th3indexseq_make(values, times, count, lower_inc, upper_inc)); + + public static IntPtr th3indexseqset_make(IntPtr sequences, int count) + => SafeExecution(() => MEOSExternalFunctions.th3indexseqset_make(sequences, count)); + + public static IntPtr th3index_start_value(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.th3index_start_value(temp)); + + public static IntPtr th3index_end_value(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.th3index_end_value(temp)); + + public static bool th3index_value_n(IntPtr temp, int n, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.th3index_value_n(temp, n, result)); + + public static IntPtr[] th3index_values(IntPtr temp) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.th3index_values(temp, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static bool th3index_value_at_timestamptz(IntPtr temp, long t, bool strict, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.th3index_value_at_timestamptz(temp, t, strict, result)); + + public static IntPtr tbigint_to_th3index(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tbigint_to_th3index(temp)); + + public static IntPtr th3index_to_tbigint(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.th3index_to_tbigint(temp)); + + public static int ever_eq_h3index_th3index(IntPtr cell, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.ever_eq_h3index_th3index(cell, temp)); + + public static int ever_eq_th3index_h3index(IntPtr temp, IntPtr cell) + => SafeExecution(() => MEOSExternalFunctions.ever_eq_th3index_h3index(temp, cell)); + + public static int ever_ne_h3index_th3index(IntPtr cell, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.ever_ne_h3index_th3index(cell, temp)); + + public static int ever_ne_th3index_h3index(IntPtr temp, IntPtr cell) + => SafeExecution(() => MEOSExternalFunctions.ever_ne_th3index_h3index(temp, cell)); + + public static int always_eq_h3index_th3index(IntPtr cell, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.always_eq_h3index_th3index(cell, temp)); + + public static int always_eq_th3index_h3index(IntPtr temp, IntPtr cell) + => SafeExecution(() => MEOSExternalFunctions.always_eq_th3index_h3index(temp, cell)); + + public static int always_ne_h3index_th3index(IntPtr cell, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.always_ne_h3index_th3index(cell, temp)); + + public static int always_ne_th3index_h3index(IntPtr temp, IntPtr cell) + => SafeExecution(() => MEOSExternalFunctions.always_ne_th3index_h3index(temp, cell)); + + public static int ever_eq_th3index_th3index(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.ever_eq_th3index_th3index(temp1, temp2)); + + public static int ever_ne_th3index_th3index(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.ever_ne_th3index_th3index(temp1, temp2)); + + public static int always_eq_th3index_th3index(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.always_eq_th3index_th3index(temp1, temp2)); + + public static int always_ne_th3index_th3index(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.always_ne_th3index_th3index(temp1, temp2)); + + public static IntPtr teq_h3index_th3index(IntPtr cell, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.teq_h3index_th3index(cell, temp)); + + public static IntPtr teq_th3index_h3index(IntPtr temp, IntPtr cell) + => SafeExecution(() => MEOSExternalFunctions.teq_th3index_h3index(temp, cell)); + + public static IntPtr teq_th3index_th3index(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.teq_th3index_th3index(temp1, temp2)); + + public static IntPtr tne_h3index_th3index(IntPtr cell, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tne_h3index_th3index(cell, temp)); + + public static IntPtr tne_th3index_h3index(IntPtr temp, IntPtr cell) + => SafeExecution(() => MEOSExternalFunctions.tne_th3index_h3index(temp, cell)); + + public static IntPtr tne_th3index_th3index(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.tne_th3index_th3index(temp1, temp2)); + + public static IntPtr th3index_get_resolution(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.th3index_get_resolution(temp)); + + public static IntPtr th3index_get_base_cell_number(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.th3index_get_base_cell_number(temp)); + + public static IntPtr th3index_is_valid_cell(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.th3index_is_valid_cell(temp)); + + public static IntPtr th3index_is_res_class_iii(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.th3index_is_res_class_iii(temp)); + + public static IntPtr th3index_is_pentagon(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.th3index_is_pentagon(temp)); + + public static IntPtr th3index_cell_to_parent(IntPtr temp, int resolution) + => SafeExecution(() => MEOSExternalFunctions.th3index_cell_to_parent(temp, resolution)); + + public static IntPtr th3index_cell_to_parent_next(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.th3index_cell_to_parent_next(temp)); + + public static IntPtr th3index_cell_to_center_child(IntPtr temp, int resolution) + => SafeExecution(() => MEOSExternalFunctions.th3index_cell_to_center_child(temp, resolution)); + + public static IntPtr th3index_cell_to_center_child_next(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.th3index_cell_to_center_child_next(temp)); + + public static IntPtr th3index_cell_to_child_pos(IntPtr temp, int parent_res) + => SafeExecution(() => MEOSExternalFunctions.th3index_cell_to_child_pos(temp, parent_res)); + + public static IntPtr th3index_child_pos_to_cell(IntPtr child_pos, IntPtr parent, int child_res) + => SafeExecution(() => MEOSExternalFunctions.th3index_child_pos_to_cell(child_pos, parent, child_res)); + + public static IntPtr tgeogpoint_to_th3index(IntPtr temp, int resolution) + => SafeExecution(() => MEOSExternalFunctions.tgeogpoint_to_th3index(temp, resolution)); + + public static IntPtr tgeompoint_to_th3index(IntPtr temp, int resolution) + => SafeExecution(() => MEOSExternalFunctions.tgeompoint_to_th3index(temp, resolution)); + + public static IntPtr th3index_to_tgeogpoint(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.th3index_to_tgeogpoint(temp)); + + public static IntPtr th3index_to_tgeompoint(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.th3index_to_tgeompoint(temp)); + + public static IntPtr th3index_cell_to_boundary(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.th3index_cell_to_boundary(temp)); + + public static IntPtr geo_to_h3index_set(IntPtr gs, int resolution) + => SafeExecution(() => MEOSExternalFunctions.geo_to_h3index_set(gs, resolution)); + + public static int ever_eq_h3indexset_th3index(IntPtr cells, IntPtr th3idx) + => SafeExecution(() => MEOSExternalFunctions.ever_eq_h3indexset_th3index(cells, th3idx)); + + public static IntPtr th3index_are_neighbor_cells(IntPtr origin, IntPtr dest) + => SafeExecution(() => MEOSExternalFunctions.th3index_are_neighbor_cells(origin, dest)); + + public static IntPtr th3index_cells_to_directed_edge(IntPtr origin, IntPtr dest) + => SafeExecution(() => MEOSExternalFunctions.th3index_cells_to_directed_edge(origin, dest)); + + public static IntPtr th3index_is_valid_directed_edge(IntPtr edge) + => SafeExecution(() => MEOSExternalFunctions.th3index_is_valid_directed_edge(edge)); + + public static IntPtr th3index_get_directed_edge_origin(IntPtr edge) + => SafeExecution(() => MEOSExternalFunctions.th3index_get_directed_edge_origin(edge)); + + public static IntPtr th3index_get_directed_edge_destination(IntPtr edge) + => SafeExecution(() => MEOSExternalFunctions.th3index_get_directed_edge_destination(edge)); + + public static IntPtr th3index_directed_edge_to_boundary(IntPtr edge) + => SafeExecution(() => MEOSExternalFunctions.th3index_directed_edge_to_boundary(edge)); + + public static IntPtr th3index_cell_to_vertex(IntPtr temp, int vertex_num) + => SafeExecution(() => MEOSExternalFunctions.th3index_cell_to_vertex(temp, vertex_num)); + + public static IntPtr th3index_vertex_to_latlng(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.th3index_vertex_to_latlng(temp)); + + public static IntPtr th3index_is_valid_vertex(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.th3index_is_valid_vertex(temp)); + + public static IntPtr th3index_grid_distance(IntPtr origin, IntPtr dest) + => SafeExecution(() => MEOSExternalFunctions.th3index_grid_distance(origin, dest)); + + public static IntPtr th3index_cell_to_local_ij(IntPtr origin, IntPtr cell) + => SafeExecution(() => MEOSExternalFunctions.th3index_cell_to_local_ij(origin, cell)); + + public static IntPtr th3index_local_ij_to_cell(IntPtr origin, IntPtr coord) + => SafeExecution(() => MEOSExternalFunctions.th3index_local_ij_to_cell(origin, coord)); + + public static IntPtr th3index_cell_area(IntPtr temp, string unit) + => SafeExecution(() => MEOSExternalFunctions.th3index_cell_area(temp, unit)); + + public static IntPtr th3index_edge_length(IntPtr temp, string unit) + => SafeExecution(() => MEOSExternalFunctions.th3index_edge_length(temp, unit)); + + public static IntPtr tgeogpoint_great_circle_distance(IntPtr a, IntPtr b, string unit) + => SafeExecution(() => MEOSExternalFunctions.tgeogpoint_great_circle_distance(a, b, unit)); + + public static IntPtr proj_get_context() + => SafeExecution(() => MEOSExternalFunctions.proj_get_context()); + + public static IntPtr geos_get_context() + => SafeExecution(() => MEOSExternalFunctions.geos_get_context()); + + public static long datum_geo_round(long value, long size) + => SafeExecution(() => MEOSExternalFunctions.datum_geo_round(value, size)); + + public static IntPtr point_round(IntPtr gs, int maxdd) + => SafeExecution(() => MEOSExternalFunctions.point_round(gs, maxdd)); + + public static void stbox_set(bool hasx, bool hasz, bool geodetic, int srid, double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, IntPtr s, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.stbox_set(hasx, hasz, geodetic, srid, xmin, xmax, ymin, ymax, zmin, zmax, s, result)); + + public static void gbox_set_stbox(IntPtr box, int srid, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.gbox_set_stbox(box, srid, result)); + + public static bool geo_set_stbox(IntPtr gs, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.geo_set_stbox(gs, result)); + + public static void geoarr_set_stbox(IntPtr values, int count, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.geoarr_set_stbox(values, count, result)); + + public static bool spatial_set_stbox(long d, int basetype, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.spatial_set_stbox(d, basetype, result)); + + public static void spatialset_set_stbox(IntPtr set, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.spatialset_set_stbox(set, result)); + + public static void stbox_set_box3d(IntPtr box, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.stbox_set_box3d(box, result)); + + public static void stbox_set_gbox(IntPtr box, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.stbox_set_gbox(box, result)); + + public static void tstzset_set_stbox(IntPtr s, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.tstzset_set_stbox(s, result)); + + public static void tstzspan_set_stbox(IntPtr s, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.tstzspan_set_stbox(s, result)); + + public static void tstzspanset_set_stbox(IntPtr s, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.tstzspanset_set_stbox(s, result)); + + public static void stbox_expand(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.stbox_expand(box1, box2)); + + public static bool inter_stbox_stbox(IntPtr box1, IntPtr box2, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.inter_stbox_stbox(box1, box2, result)); + + public static IntPtr tgeogpointinst_from_mfjson(IntPtr mfjson, int srid) + => SafeExecution(() => MEOSExternalFunctions.tgeogpointinst_from_mfjson(mfjson, srid)); + + public static IntPtr tgeogpointinst_in(string str) + => SafeExecution(() => MEOSExternalFunctions.tgeogpointinst_in(str)); + + public static IntPtr tgeogpointseq_from_mfjson(IntPtr mfjson, int srid, int interp) + => SafeExecution(() => MEOSExternalFunctions.tgeogpointseq_from_mfjson(mfjson, srid, interp)); + + public static IntPtr tgeogpointseq_in(string str, int interp) + => SafeExecution(() => MEOSExternalFunctions.tgeogpointseq_in(str, interp)); + + public static IntPtr tgeogpointseqset_from_mfjson(IntPtr mfjson, int srid, int interp) + => SafeExecution(() => MEOSExternalFunctions.tgeogpointseqset_from_mfjson(mfjson, srid, interp)); + + public static IntPtr tgeogpointseqset_in(string str) + => SafeExecution(() => MEOSExternalFunctions.tgeogpointseqset_in(str)); + + public static IntPtr tgeompointinst_from_mfjson(IntPtr mfjson, int srid) + => SafeExecution(() => MEOSExternalFunctions.tgeompointinst_from_mfjson(mfjson, srid)); + + public static IntPtr tgeompointinst_in(string str) + => SafeExecution(() => MEOSExternalFunctions.tgeompointinst_in(str)); + + public static IntPtr tgeompointseq_from_mfjson(IntPtr mfjson, int srid, int interp) + => SafeExecution(() => MEOSExternalFunctions.tgeompointseq_from_mfjson(mfjson, srid, interp)); + + public static IntPtr tgeompointseq_in(string str, int interp) + => SafeExecution(() => MEOSExternalFunctions.tgeompointseq_in(str, interp)); + + public static IntPtr tgeompointseqset_from_mfjson(IntPtr mfjson, int srid, int interp) + => SafeExecution(() => MEOSExternalFunctions.tgeompointseqset_from_mfjson(mfjson, srid, interp)); + + public static IntPtr tgeompointseqset_in(string str) + => SafeExecution(() => MEOSExternalFunctions.tgeompointseqset_in(str)); + + public static IntPtr tgeographyinst_from_mfjson(IntPtr mfjson, int srid) + => SafeExecution(() => MEOSExternalFunctions.tgeographyinst_from_mfjson(mfjson, srid)); + + public static IntPtr tgeographyinst_in(string str) + => SafeExecution(() => MEOSExternalFunctions.tgeographyinst_in(str)); + + public static IntPtr tgeographyseq_from_mfjson(IntPtr mfjson, int srid, int interp) + => SafeExecution(() => MEOSExternalFunctions.tgeographyseq_from_mfjson(mfjson, srid, interp)); + + public static IntPtr tgeographyseq_in(string str, int interp) + => SafeExecution(() => MEOSExternalFunctions.tgeographyseq_in(str, interp)); + + public static IntPtr tgeographyseqset_from_mfjson(IntPtr mfjson, int srid, int interp) + => SafeExecution(() => MEOSExternalFunctions.tgeographyseqset_from_mfjson(mfjson, srid, interp)); + + public static IntPtr tgeographyseqset_in(string str) + => SafeExecution(() => MEOSExternalFunctions.tgeographyseqset_in(str)); + + public static IntPtr tgeometryinst_from_mfjson(IntPtr mfjson, int srid) + => SafeExecution(() => MEOSExternalFunctions.tgeometryinst_from_mfjson(mfjson, srid)); + + public static IntPtr tgeometryinst_in(string str) + => SafeExecution(() => MEOSExternalFunctions.tgeometryinst_in(str)); + + public static IntPtr tgeometryseq_from_mfjson(IntPtr mfjson, int srid, int interp) + => SafeExecution(() => MEOSExternalFunctions.tgeometryseq_from_mfjson(mfjson, srid, interp)); + + public static IntPtr tgeometryseq_in(string str, int interp) + => SafeExecution(() => MEOSExternalFunctions.tgeometryseq_in(str, interp)); + + public static IntPtr tgeometryseqset_from_mfjson(IntPtr mfjson, int srid, int interp) + => SafeExecution(() => MEOSExternalFunctions.tgeometryseqset_from_mfjson(mfjson, srid, interp)); + + public static IntPtr tgeometryseqset_in(string str) + => SafeExecution(() => MEOSExternalFunctions.tgeometryseqset_in(str)); + + public static void tspatial_set_stbox(IntPtr temp, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.tspatial_set_stbox(temp, result)); + + public static void tspatialseq_set_stbox(IntPtr seq, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.tspatialseq_set_stbox(seq, box)); + + public static void tspatialseqset_set_stbox(IntPtr ss, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.tspatialseqset_set_stbox(ss, box)); + + public static IntPtr tgeo_restrict_elevation(IntPtr temp, IntPtr s, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.tgeo_restrict_elevation(temp, s, atfunc)); + + public static IntPtr tgeo_restrict_geom(IntPtr temp, IntPtr gs, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.tgeo_restrict_geom(temp, gs, atfunc)); + + public static IntPtr tgeo_restrict_stbox(IntPtr temp, IntPtr box, bool border_inc, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.tgeo_restrict_stbox(temp, box, border_inc, atfunc)); + + public static IntPtr tgeoinst_restrict_geom(IntPtr inst, IntPtr gs, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.tgeoinst_restrict_geom(inst, gs, atfunc)); + + public static IntPtr tgeoinst_restrict_stbox(IntPtr inst, IntPtr box, bool border_inc, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.tgeoinst_restrict_stbox(inst, box, border_inc, atfunc)); + + public static IntPtr tgeoseq_restrict_geom(IntPtr seq, IntPtr gs, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.tgeoseq_restrict_geom(seq, gs, atfunc)); + + public static IntPtr tgeoseq_restrict_stbox(IntPtr seq, IntPtr box, bool border_inc, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.tgeoseq_restrict_stbox(seq, box, border_inc, atfunc)); + + public static IntPtr tgeoseqset_restrict_geom(IntPtr ss, IntPtr gs, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.tgeoseqset_restrict_geom(ss, gs, atfunc)); + + public static IntPtr tgeoseqset_restrict_stbox(IntPtr ss, IntPtr box, bool border_inc, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.tgeoseqset_restrict_stbox(ss, box, border_inc, atfunc)); + + public static IntPtr tpoint_linear_inter_geom(IntPtr temp, IntPtr gs, bool clip) + => SafeExecution(() => MEOSExternalFunctions.tpoint_linear_inter_geom(temp, gs, clip)); + + public static IntPtr tpoint_linear_dwithin_geom(IntPtr temp, IntPtr gs, double dist) + => SafeExecution(() => MEOSExternalFunctions.tpoint_linear_dwithin_geom(temp, gs, dist)); + + public static IntPtr tpoint_linear_distance_geom(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.tpoint_linear_distance_geom(temp, gs)); + + public static IntPtr tpoint_linear_restrict_geom(IntPtr temp, IntPtr gs, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.tpoint_linear_restrict_geom(temp, gs, atfunc)); + + public static bool geom_clip_supported(IntPtr geom) + => SafeExecution(() => MEOSExternalFunctions.geom_clip_supported(geom)); + + public static int spatial_srid(long d, int basetype) + => SafeExecution(() => MEOSExternalFunctions.spatial_srid(d, basetype)); + + public static bool spatial_set_srid(long d, int basetype, int srid) + => SafeExecution(() => MEOSExternalFunctions.spatial_set_srid(d, basetype, srid)); + + public static int tspatialinst_srid(IntPtr inst) + => SafeExecution(() => MEOSExternalFunctions.tspatialinst_srid(inst)); + + public static IntPtr tpointseq_azimuth(IntPtr seq) + => SafeExecution(() => MEOSExternalFunctions.tpointseq_azimuth(seq)); + + public static IntPtr tpointseq_cumulative_length(IntPtr seq, double prevlength) + => SafeExecution(() => MEOSExternalFunctions.tpointseq_cumulative_length(seq, prevlength)); + + public static bool tpointseq_is_simple(IntPtr seq) + => SafeExecution(() => MEOSExternalFunctions.tpointseq_is_simple(seq)); + + public static double tpointseq_length(IntPtr seq) + => SafeExecution(() => MEOSExternalFunctions.tpointseq_length(seq)); + + public static IntPtr tpointseq_linear_trajectory(IntPtr seq, bool unary_union) + => SafeExecution(() => MEOSExternalFunctions.tpointseq_linear_trajectory(seq, unary_union)); + + public static IntPtr[] tgeoseq_stboxes(IntPtr seq) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tgeoseq_stboxes(seq, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static IntPtr[] tgeoseq_split_n_stboxes(IntPtr seq, int max_count) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tgeoseq_split_n_stboxes(seq, max_count, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static IntPtr tpointseqset_azimuth(IntPtr ss) + => SafeExecution(() => MEOSExternalFunctions.tpointseqset_azimuth(ss)); + + public static IntPtr tpointseqset_cumulative_length(IntPtr ss) + => SafeExecution(() => MEOSExternalFunctions.tpointseqset_cumulative_length(ss)); + + public static bool tpointseqset_is_simple(IntPtr ss) + => SafeExecution(() => MEOSExternalFunctions.tpointseqset_is_simple(ss)); + + public static double tpointseqset_length(IntPtr ss) + => SafeExecution(() => MEOSExternalFunctions.tpointseqset_length(ss)); + + public static IntPtr[] tgeoseqset_stboxes(IntPtr ss) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tgeoseqset_stboxes(ss, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static IntPtr[] tgeoseqset_split_n_stboxes(IntPtr ss, int max_count) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tgeoseqset_split_n_stboxes(ss, max_count, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static IntPtr tgeominst_tgeoginst(IntPtr inst, bool oper) + => SafeExecution(() => MEOSExternalFunctions.tgeominst_tgeoginst(inst, oper)); + + public static IntPtr tgeomseq_tgeogseq(IntPtr seq, bool oper) + => SafeExecution(() => MEOSExternalFunctions.tgeomseq_tgeogseq(seq, oper)); + + public static IntPtr tgeomseqset_tgeogseqset(IntPtr ss, bool oper) + => SafeExecution(() => MEOSExternalFunctions.tgeomseqset_tgeogseqset(ss, oper)); + + public static IntPtr tgeom_tgeog(IntPtr temp, bool oper) + => SafeExecution(() => MEOSExternalFunctions.tgeom_tgeog(temp, oper)); + + public static IntPtr tgeo_tpoint(IntPtr temp, bool oper) + => SafeExecution(() => MEOSExternalFunctions.tgeo_tpoint(temp, oper)); + + public static void tspatialinst_set_srid(IntPtr inst, int srid) + => SafeExecution(() => MEOSExternalFunctions.tspatialinst_set_srid(inst, srid)); + + public static IntPtr[] tpointseq_make_simple(IntPtr seq) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tpointseq_make_simple(seq, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static void tspatialseq_set_srid(IntPtr seq, int srid) + => SafeExecution(() => MEOSExternalFunctions.tspatialseq_set_srid(seq, srid)); + + public static IntPtr[] tpointseqset_make_simple(IntPtr ss) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tpointseqset_make_simple(ss, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static void tspatialseqset_set_srid(IntPtr ss, int srid) + => SafeExecution(() => MEOSExternalFunctions.tspatialseqset_set_srid(ss, srid)); + + public static IntPtr tpointseq_twcentroid(IntPtr seq) + => SafeExecution(() => MEOSExternalFunctions.tpointseq_twcentroid(seq)); + + public static IntPtr tpointseqset_twcentroid(IntPtr ss) + => SafeExecution(() => MEOSExternalFunctions.tpointseqset_twcentroid(ss)); + + public static string npoint_as_ewkt(IntPtr np, int maxdd) + => SafeExecution(() => MEOSExternalFunctions.npoint_as_ewkt(np, maxdd)); + + public static string npoint_as_hexwkb(IntPtr np, IntPtr variant, IntPtr size_out) + => SafeExecution(() => MEOSExternalFunctions.npoint_as_hexwkb(np, variant, size_out)); + + public static string npoint_as_text(IntPtr np, int maxdd) + => SafeExecution(() => MEOSExternalFunctions.npoint_as_text(np, maxdd)); + + public static IntPtr npoint_as_wkb(IntPtr np, IntPtr variant, IntPtr size_out) + => SafeExecution(() => MEOSExternalFunctions.npoint_as_wkb(np, variant, size_out)); - public static int spantype_spansettype(int type) - => SafeExecution(() => MEOSExternalFunctions.spantype_spansettype(type)); + public static IntPtr npoint_from_hexwkb(string hexwkb) + => SafeExecution(() => MEOSExternalFunctions.npoint_from_hexwkb(hexwkb)); - public static int spansettype_spantype(int type) - => SafeExecution(() => MEOSExternalFunctions.spansettype_spantype(type)); + public static IntPtr npoint_from_wkb(IntPtr wkb, IntPtr size) + => SafeExecution(() => MEOSExternalFunctions.npoint_from_wkb(wkb, size)); - public static int basetype_spantype(int type) - => SafeExecution(() => MEOSExternalFunctions.basetype_spantype(type)); + public static IntPtr npoint_in(string str) + => SafeExecution(() => MEOSExternalFunctions.npoint_in(str)); - public static int basetype_settype(int type) - => SafeExecution(() => MEOSExternalFunctions.basetype_settype(type)); + public static string npoint_out(IntPtr np, int maxdd) + => SafeExecution(() => MEOSExternalFunctions.npoint_out(np, maxdd)); - public static bool tnumber_basetype(int type) - => SafeExecution(() => MEOSExternalFunctions.tnumber_basetype(type)); + public static IntPtr nsegment_in(string str) + => SafeExecution(() => MEOSExternalFunctions.nsegment_in(str)); - public static bool geo_basetype(int type) - => SafeExecution(() => MEOSExternalFunctions.geo_basetype(type)); + public static string nsegment_out(IntPtr ns, int maxdd) + => SafeExecution(() => MEOSExternalFunctions.nsegment_out(ns, maxdd)); - public static bool meos_basetype(int type) - => SafeExecution(() => MEOSExternalFunctions.meos_basetype(type)); + public static IntPtr npoint_make(IntPtr rid, double pos) + => SafeExecution(() => MEOSExternalFunctions.npoint_make(rid, pos)); - public static bool alphanum_basetype(int type) - => SafeExecution(() => MEOSExternalFunctions.alphanum_basetype(type)); + public static IntPtr nsegment_make(IntPtr rid, double pos1, double pos2) + => SafeExecution(() => MEOSExternalFunctions.nsegment_make(rid, pos1, pos2)); - public static bool alphanum_temptype(int type) - => SafeExecution(() => MEOSExternalFunctions.alphanum_temptype(type)); + public static IntPtr geompoint_to_npoint(IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.geompoint_to_npoint(gs)); - public static bool time_type(int type) - => SafeExecution(() => MEOSExternalFunctions.time_type(type)); + public static IntPtr geom_to_nsegment(IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.geom_to_nsegment(gs)); - public static bool set_basetype(int type) - => SafeExecution(() => MEOSExternalFunctions.set_basetype(type)); + public static IntPtr npoint_to_geompoint(IntPtr np) + => SafeExecution(() => MEOSExternalFunctions.npoint_to_geompoint(np)); - public static bool set_type(int type) - => SafeExecution(() => MEOSExternalFunctions.set_type(type)); + public static IntPtr npoint_to_nsegment(IntPtr np) + => SafeExecution(() => MEOSExternalFunctions.npoint_to_nsegment(np)); - public static bool numset_type(int type) - => SafeExecution(() => MEOSExternalFunctions.numset_type(type)); + public static IntPtr npoint_to_stbox(IntPtr np) + => SafeExecution(() => MEOSExternalFunctions.npoint_to_stbox(np)); - public static bool ensure_numset_type(int type) - => SafeExecution(() => MEOSExternalFunctions.ensure_numset_type(type)); + public static IntPtr nsegment_to_geom(IntPtr ns) + => SafeExecution(() => MEOSExternalFunctions.nsegment_to_geom(ns)); - public static bool timeset_type(int type) - => SafeExecution(() => MEOSExternalFunctions.timeset_type(type)); + public static IntPtr nsegment_to_stbox(IntPtr ns) + => SafeExecution(() => MEOSExternalFunctions.nsegment_to_stbox(ns)); - public static bool set_spantype(int type) - => SafeExecution(() => MEOSExternalFunctions.set_spantype(type)); + public static int npoint_hash(IntPtr np) + => SafeExecution(() => MEOSExternalFunctions.npoint_hash(np)); - public static bool ensure_set_spantype(int type) - => SafeExecution(() => MEOSExternalFunctions.ensure_set_spantype(type)); + public static IntPtr npoint_hash_extended(IntPtr np, IntPtr seed) + => SafeExecution(() => MEOSExternalFunctions.npoint_hash_extended(np, seed)); - public static bool alphanumset_type(int settype) - => SafeExecution(() => MEOSExternalFunctions.alphanumset_type(settype)); + public static double npoint_position(IntPtr np) + => SafeExecution(() => MEOSExternalFunctions.npoint_position(np)); - public static bool geoset_type(int type) - => SafeExecution(() => MEOSExternalFunctions.geoset_type(type)); + public static IntPtr npoint_route(IntPtr np) + => SafeExecution(() => MEOSExternalFunctions.npoint_route(np)); - public static bool ensure_geoset_type(int type) - => SafeExecution(() => MEOSExternalFunctions.ensure_geoset_type(type)); + public static double nsegment_end_position(IntPtr ns) + => SafeExecution(() => MEOSExternalFunctions.nsegment_end_position(ns)); - public static bool spatialset_type(int type) - => SafeExecution(() => MEOSExternalFunctions.spatialset_type(type)); + public static IntPtr nsegment_route(IntPtr ns) + => SafeExecution(() => MEOSExternalFunctions.nsegment_route(ns)); - public static bool ensure_spatialset_type(int type) - => SafeExecution(() => MEOSExternalFunctions.ensure_spatialset_type(type)); + public static double nsegment_start_position(IntPtr ns) + => SafeExecution(() => MEOSExternalFunctions.nsegment_start_position(ns)); - public static bool span_basetype(int type) - => SafeExecution(() => MEOSExternalFunctions.span_basetype(type)); + public static bool route_exists(IntPtr rid) + => SafeExecution(() => MEOSExternalFunctions.route_exists(rid)); - public static bool span_canon_basetype(int type) - => SafeExecution(() => MEOSExternalFunctions.span_canon_basetype(type)); + public static IntPtr route_geom(IntPtr rid) + => SafeExecution(() => MEOSExternalFunctions.route_geom(rid)); - public static bool span_type(int type) - => SafeExecution(() => MEOSExternalFunctions.span_type(type)); + public static double route_length(IntPtr rid) + => SafeExecution(() => MEOSExternalFunctions.route_length(rid)); - public static bool type_span_bbox(int type) - => SafeExecution(() => MEOSExternalFunctions.type_span_bbox(type)); + public static IntPtr npoint_round(IntPtr np, int maxdd) + => SafeExecution(() => MEOSExternalFunctions.npoint_round(np, maxdd)); - public static bool span_tbox_type(int type) - => SafeExecution(() => MEOSExternalFunctions.span_tbox_type(type)); + public static IntPtr nsegment_round(IntPtr ns, int maxdd) + => SafeExecution(() => MEOSExternalFunctions.nsegment_round(ns, maxdd)); - public static bool ensure_span_tbox_type(int type) - => SafeExecution(() => MEOSExternalFunctions.ensure_span_tbox_type(type)); + public static int get_srid_ways() + => SafeExecution(() => MEOSExternalFunctions.get_srid_ways()); - public static bool numspan_basetype(int type) - => SafeExecution(() => MEOSExternalFunctions.numspan_basetype(type)); + public static int npoint_srid(IntPtr np) + => SafeExecution(() => MEOSExternalFunctions.npoint_srid(np)); - public static bool numspan_type(int type) - => SafeExecution(() => MEOSExternalFunctions.numspan_type(type)); + public static int nsegment_srid(IntPtr ns) + => SafeExecution(() => MEOSExternalFunctions.nsegment_srid(ns)); - public static bool ensure_numspan_type(int type) - => SafeExecution(() => MEOSExternalFunctions.ensure_numspan_type(type)); + public static IntPtr npoint_timestamptz_to_stbox(IntPtr np, long t) + => SafeExecution(() => MEOSExternalFunctions.npoint_timestamptz_to_stbox(np, t)); - public static bool timespan_basetype(int type) - => SafeExecution(() => MEOSExternalFunctions.timespan_basetype(type)); + public static IntPtr npoint_tstzspan_to_stbox(IntPtr np, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.npoint_tstzspan_to_stbox(np, s)); - public static bool timespan_type(int type) - => SafeExecution(() => MEOSExternalFunctions.timespan_type(type)); + public static int npoint_cmp(IntPtr np1, IntPtr np2) + => SafeExecution(() => MEOSExternalFunctions.npoint_cmp(np1, np2)); - public static bool spanset_type(int type) - => SafeExecution(() => MEOSExternalFunctions.spanset_type(type)); + public static bool npoint_eq(IntPtr np1, IntPtr np2) + => SafeExecution(() => MEOSExternalFunctions.npoint_eq(np1, np2)); - public static bool timespanset_type(int type) - => SafeExecution(() => MEOSExternalFunctions.timespanset_type(type)); + public static bool npoint_ge(IntPtr np1, IntPtr np2) + => SafeExecution(() => MEOSExternalFunctions.npoint_ge(np1, np2)); - public static bool ensure_timespanset_type(int type) - => SafeExecution(() => MEOSExternalFunctions.ensure_timespanset_type(type)); + public static bool npoint_gt(IntPtr np1, IntPtr np2) + => SafeExecution(() => MEOSExternalFunctions.npoint_gt(np1, np2)); - public static bool temporal_type(int type) - => SafeExecution(() => MEOSExternalFunctions.temporal_type(type)); + public static bool npoint_le(IntPtr np1, IntPtr np2) + => SafeExecution(() => MEOSExternalFunctions.npoint_le(np1, np2)); - public static bool temporal_basetype(int type) - => SafeExecution(() => MEOSExternalFunctions.temporal_basetype(type)); + public static bool npoint_lt(IntPtr np1, IntPtr np2) + => SafeExecution(() => MEOSExternalFunctions.npoint_lt(np1, np2)); - public static bool temptype_continuous(int type) - => SafeExecution(() => MEOSExternalFunctions.temptype_continuous(type)); + public static bool npoint_ne(IntPtr np1, IntPtr np2) + => SafeExecution(() => MEOSExternalFunctions.npoint_ne(np1, np2)); - public static bool basetype_byvalue(int type) - => SafeExecution(() => MEOSExternalFunctions.basetype_byvalue(type)); + public static bool npoint_same(IntPtr np1, IntPtr np2) + => SafeExecution(() => MEOSExternalFunctions.npoint_same(np1, np2)); - public static bool basetype_varlength(int type) - => SafeExecution(() => MEOSExternalFunctions.basetype_varlength(type)); + public static int nsegment_cmp(IntPtr ns1, IntPtr ns2) + => SafeExecution(() => MEOSExternalFunctions.nsegment_cmp(ns1, ns2)); - public static short basetype_length(int type) - => SafeExecution(() => MEOSExternalFunctions.basetype_length(type)); + public static bool nsegment_eq(IntPtr ns1, IntPtr ns2) + => SafeExecution(() => MEOSExternalFunctions.nsegment_eq(ns1, ns2)); - public static bool talphanum_type(int type) - => SafeExecution(() => MEOSExternalFunctions.talphanum_type(type)); + public static bool nsegment_ge(IntPtr ns1, IntPtr ns2) + => SafeExecution(() => MEOSExternalFunctions.nsegment_ge(ns1, ns2)); - public static bool talpha_type(int type) - => SafeExecution(() => MEOSExternalFunctions.talpha_type(type)); + public static bool nsegment_gt(IntPtr ns1, IntPtr ns2) + => SafeExecution(() => MEOSExternalFunctions.nsegment_gt(ns1, ns2)); - public static bool tnumber_type(int type) - => SafeExecution(() => MEOSExternalFunctions.tnumber_type(type)); + public static bool nsegment_le(IntPtr ns1, IntPtr ns2) + => SafeExecution(() => MEOSExternalFunctions.nsegment_le(ns1, ns2)); - public static bool ensure_tnumber_type(int type) - => SafeExecution(() => MEOSExternalFunctions.ensure_tnumber_type(type)); + public static bool nsegment_lt(IntPtr ns1, IntPtr ns2) + => SafeExecution(() => MEOSExternalFunctions.nsegment_lt(ns1, ns2)); - public static bool ensure_tnumber_basetype(int type) - => SafeExecution(() => MEOSExternalFunctions.ensure_tnumber_basetype(type)); + public static bool nsegment_ne(IntPtr ns1, IntPtr ns2) + => SafeExecution(() => MEOSExternalFunctions.nsegment_ne(ns1, ns2)); - public static bool tnumber_spantype(int type) - => SafeExecution(() => MEOSExternalFunctions.tnumber_spantype(type)); + public static IntPtr npointset_in(string str) + => SafeExecution(() => MEOSExternalFunctions.npointset_in(str)); - public static bool spatial_basetype(int type) - => SafeExecution(() => MEOSExternalFunctions.spatial_basetype(type)); + public static string npointset_out(IntPtr s, int maxdd) + => SafeExecution(() => MEOSExternalFunctions.npointset_out(s, maxdd)); - public static bool tspatial_type(int type) - => SafeExecution(() => MEOSExternalFunctions.tspatial_type(type)); + public static IntPtr npointset_make(IntPtr values, int count) + => SafeExecution(() => MEOSExternalFunctions.npointset_make(values, count)); - public static bool ensure_tspatial_type(int type) - => SafeExecution(() => MEOSExternalFunctions.ensure_tspatial_type(type)); + public static IntPtr npoint_to_set(IntPtr np) + => SafeExecution(() => MEOSExternalFunctions.npoint_to_set(np)); - public static bool tpoint_type(int type) - => SafeExecution(() => MEOSExternalFunctions.tpoint_type(type)); + public static IntPtr npointset_end_value(IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.npointset_end_value(s)); - public static bool ensure_tpoint_type(int type) - => SafeExecution(() => MEOSExternalFunctions.ensure_tpoint_type(type)); + public static IntPtr npointset_routes(IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.npointset_routes(s)); - public static bool tgeo_type(int type) - => SafeExecution(() => MEOSExternalFunctions.tgeo_type(type)); + public static IntPtr npointset_start_value(IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.npointset_start_value(s)); - public static bool ensure_tgeo_type(int type) - => SafeExecution(() => MEOSExternalFunctions.ensure_tgeo_type(type)); + public static bool npointset_value_n(IntPtr s, int n, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.npointset_value_n(s, n, result)); - public static bool tgeo_type_all(int type) - => SafeExecution(() => MEOSExternalFunctions.tgeo_type_all(type)); + public static IntPtr[] npointset_values(IntPtr s) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.npointset_values(s, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } - public static bool ensure_tgeo_type_all(int type) - => SafeExecution(() => MEOSExternalFunctions.ensure_tgeo_type_all(type)); + public static bool contained_npoint_set(IntPtr np, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.contained_npoint_set(np, s)); - public static bool tgeometry_type(int type) - => SafeExecution(() => MEOSExternalFunctions.tgeometry_type(type)); + public static bool contains_set_npoint(IntPtr s, IntPtr np) + => SafeExecution(() => MEOSExternalFunctions.contains_set_npoint(s, np)); - public static bool ensure_tgeometry_type(int type) - => SafeExecution(() => MEOSExternalFunctions.ensure_tgeometry_type(type)); + public static IntPtr intersection_npoint_set(IntPtr np, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.intersection_npoint_set(np, s)); - public static bool tgeodetic_type(int type) - => SafeExecution(() => MEOSExternalFunctions.tgeodetic_type(type)); + public static IntPtr intersection_set_npoint(IntPtr s, IntPtr np) + => SafeExecution(() => MEOSExternalFunctions.intersection_set_npoint(s, np)); - public static bool ensure_tgeodetic_type(int type) - => SafeExecution(() => MEOSExternalFunctions.ensure_tgeodetic_type(type)); + public static IntPtr minus_npoint_set(IntPtr np, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.minus_npoint_set(np, s)); - public static bool ensure_tnumber_tpoint_type(int type) - => SafeExecution(() => MEOSExternalFunctions.ensure_tnumber_tpoint_type(type)); + public static IntPtr minus_set_npoint(IntPtr s, IntPtr np) + => SafeExecution(() => MEOSExternalFunctions.minus_set_npoint(s, np)); - public static int geo_get_srid(IntPtr g) - => SafeExecution(() => MEOSExternalFunctions.geo_get_srid(g)); + public static IntPtr npoint_union_transfn(IntPtr state, IntPtr np) + => SafeExecution(() => MEOSExternalFunctions.npoint_union_transfn(state, np)); - public static IntPtr geo_as_ewkb(IntPtr gs, string endian, IntPtr size) - => SafeExecution(() => MEOSExternalFunctions.geo_as_ewkb(gs, endian, size)); + public static IntPtr union_npoint_set(IntPtr np, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.union_npoint_set(np, s)); - public static string geo_as_ewkt(IntPtr gs, int precision) - => SafeExecution(() => MEOSExternalFunctions.geo_as_ewkt(gs, precision)); + public static IntPtr union_set_npoint(IntPtr s, IntPtr np) + => SafeExecution(() => MEOSExternalFunctions.union_set_npoint(s, np)); - public static string geo_as_geojson(IntPtr gs, int option, int precision, string srs) - => SafeExecution(() => MEOSExternalFunctions.geo_as_geojson(gs, option, precision, srs)); + public static IntPtr tnpoint_in(string str) + => SafeExecution(() => MEOSExternalFunctions.tnpoint_in(str)); - public static string geo_as_hexewkb(IntPtr gs, string endian) - => SafeExecution(() => MEOSExternalFunctions.geo_as_hexewkb(gs, endian)); + public static IntPtr tnpoint_from_mfjson(string mfjson) + => SafeExecution(() => MEOSExternalFunctions.tnpoint_from_mfjson(mfjson)); - public static string geo_as_text(IntPtr gs, int precision) - => SafeExecution(() => MEOSExternalFunctions.geo_as_text(gs, precision)); + public static string tnpoint_out(IntPtr temp, int maxdd) + => SafeExecution(() => MEOSExternalFunctions.tnpoint_out(temp, maxdd)); - public static IntPtr geo_from_ewkb(IntPtr wkb, ulong wkb_size, int srid) - => SafeExecution(() => MEOSExternalFunctions.geo_from_ewkb(wkb, wkb_size, srid)); + public static IntPtr tnpointinst_make(IntPtr np, long t) + => SafeExecution(() => MEOSExternalFunctions.tnpointinst_make(np, t)); - public static IntPtr geo_from_geojson(string geojson) - => SafeExecution(() => MEOSExternalFunctions.geo_from_geojson(geojson)); + public static IntPtr tnpoint_from_base_temp(IntPtr np, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tnpoint_from_base_temp(np, temp)); - public static IntPtr geo_from_text(string wkt, int srid) - => SafeExecution(() => MEOSExternalFunctions.geo_from_text(wkt, srid)); + public static IntPtr tnpointseq_from_base_tstzset(IntPtr np, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.tnpointseq_from_base_tstzset(np, s)); - public static string geo_out(IntPtr gs) - => SafeExecution(() => MEOSExternalFunctions.geo_out(gs)); + public static IntPtr tnpointseq_from_base_tstzspan(IntPtr np, IntPtr s, int interp) + => SafeExecution(() => MEOSExternalFunctions.tnpointseq_from_base_tstzspan(np, s, interp)); - public static IntPtr geog_from_binary(string wkb_bytea) - => SafeExecution(() => MEOSExternalFunctions.geog_from_binary(wkb_bytea)); + public static IntPtr tnpointseqset_from_base_tstzspanset(IntPtr np, IntPtr ss, int interp) + => SafeExecution(() => MEOSExternalFunctions.tnpointseqset_from_base_tstzspanset(np, ss, interp)); - public static IntPtr geog_from_hexewkb(string wkt) - => SafeExecution(() => MEOSExternalFunctions.geog_from_hexewkb(wkt)); + public static IntPtr tgeompoint_to_tnpoint(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tgeompoint_to_tnpoint(temp)); - public static IntPtr geog_in(string str, int typmod) - => SafeExecution(() => MEOSExternalFunctions.geog_in(str, typmod)); + public static IntPtr tnpoint_to_tgeompoint(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tnpoint_to_tgeompoint(temp)); - public static IntPtr geom_from_hexewkb(string wkt) - => SafeExecution(() => MEOSExternalFunctions.geom_from_hexewkb(wkt)); + public static IntPtr tnpoint_cumulative_length(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tnpoint_cumulative_length(temp)); - public static IntPtr geom_in(string str, int typmod) - => SafeExecution(() => MEOSExternalFunctions.geom_in(str, typmod)); + public static IntPtr tnpoint_end_value(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tnpoint_end_value(temp)); - public static IntPtr box3d_make(double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, int srid) - => SafeExecution(() => MEOSExternalFunctions.box3d_make(xmin, xmax, ymin, ymax, zmin, zmax, srid)); + public static double tnpoint_length(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tnpoint_length(temp)); - public static string box3d_out(IntPtr box, int maxdd) - => SafeExecution(() => MEOSExternalFunctions.box3d_out(box, maxdd)); + public static IntPtr[] tnpoint_positions(IntPtr temp) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tnpoint_positions(temp, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } - public static IntPtr gbox_make(bool hasz, double xmin, double xmax, double ymin, double ymax, double zmin, double zmax) - => SafeExecution(() => MEOSExternalFunctions.gbox_make(hasz, xmin, xmax, ymin, ymax, zmin, zmax)); + public static IntPtr tnpoint_route(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tnpoint_route(temp)); - public static string gbox_out(IntPtr box, int maxdd) - => SafeExecution(() => MEOSExternalFunctions.gbox_out(box, maxdd)); + public static IntPtr tnpoint_routes(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tnpoint_routes(temp)); - public static IntPtr geo_copy(IntPtr g) - => SafeExecution(() => MEOSExternalFunctions.geo_copy(g)); + public static IntPtr tnpoint_speed(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tnpoint_speed(temp)); - public static IntPtr geogpoint_make2d(int srid, double x, double y) - => SafeExecution(() => MEOSExternalFunctions.geogpoint_make2d(srid, x, y)); + public static IntPtr tnpoint_start_value(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tnpoint_start_value(temp)); - public static IntPtr geogpoint_make3dz(int srid, double x, double y, double z) - => SafeExecution(() => MEOSExternalFunctions.geogpoint_make3dz(srid, x, y, z)); + public static IntPtr tnpoint_trajectory(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tnpoint_trajectory(temp)); - public static IntPtr geompoint_make2d(int srid, double x, double y) - => SafeExecution(() => MEOSExternalFunctions.geompoint_make2d(srid, x, y)); + public static bool tnpoint_value_at_timestamptz(IntPtr temp, long t, bool strict, IntPtr value) + => SafeExecution(() => MEOSExternalFunctions.tnpoint_value_at_timestamptz(temp, t, strict, value)); - public static IntPtr geompoint_make3dz(int srid, double x, double y, double z) - => SafeExecution(() => MEOSExternalFunctions.geompoint_make3dz(srid, x, y, z)); + public static bool tnpoint_value_n(IntPtr temp, int n, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.tnpoint_value_n(temp, n, result)); - public static IntPtr geom_to_geog(IntPtr geom) - => SafeExecution(() => MEOSExternalFunctions.geom_to_geog(geom)); + public static IntPtr[] tnpoint_values(IntPtr temp) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tnpoint_values(temp, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } - public static IntPtr geog_to_geom(IntPtr geog) - => SafeExecution(() => MEOSExternalFunctions.geog_to_geom(geog)); + public static IntPtr tnpoint_twcentroid(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tnpoint_twcentroid(temp)); - public static bool geo_is_empty(IntPtr g) - => SafeExecution(() => MEOSExternalFunctions.geo_is_empty(g)); + public static IntPtr tnpoint_at_geom(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.tnpoint_at_geom(temp, gs)); - public static bool geo_is_unitary(IntPtr gs) - => SafeExecution(() => MEOSExternalFunctions.geo_is_unitary(gs)); + public static IntPtr tnpoint_at_npoint(IntPtr temp, IntPtr np) + => SafeExecution(() => MEOSExternalFunctions.tnpoint_at_npoint(temp, np)); - public static string geo_typename(int type) - => SafeExecution(() => MEOSExternalFunctions.geo_typename(type)); + public static IntPtr tnpoint_at_npointset(IntPtr temp, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.tnpoint_at_npointset(temp, s)); - public static double geog_area(IntPtr g, bool use_spheroid) - => SafeExecution(() => MEOSExternalFunctions.geog_area(g, use_spheroid)); + public static IntPtr tnpoint_at_stbox(IntPtr temp, IntPtr box, bool border_inc) + => SafeExecution(() => MEOSExternalFunctions.tnpoint_at_stbox(temp, box, border_inc)); - public static IntPtr geog_centroid(IntPtr g, bool use_spheroid) - => SafeExecution(() => MEOSExternalFunctions.geog_centroid(g, use_spheroid)); + public static IntPtr tnpoint_minus_geom(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.tnpoint_minus_geom(temp, gs)); - public static double geog_length(IntPtr g, bool use_spheroid) - => SafeExecution(() => MEOSExternalFunctions.geog_length(g, use_spheroid)); + public static IntPtr tnpoint_minus_npoint(IntPtr temp, IntPtr np) + => SafeExecution(() => MEOSExternalFunctions.tnpoint_minus_npoint(temp, np)); - public static double geog_perimeter(IntPtr g, bool use_spheroid) - => SafeExecution(() => MEOSExternalFunctions.geog_perimeter(g, use_spheroid)); + public static IntPtr tnpoint_minus_npointset(IntPtr temp, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.tnpoint_minus_npointset(temp, s)); - public static bool geom_azimuth(IntPtr gs1, IntPtr gs2, IntPtr result) - => SafeExecution(() => MEOSExternalFunctions.geom_azimuth(gs1, gs2, result)); + public static IntPtr tnpoint_minus_stbox(IntPtr temp, IntPtr box, bool border_inc) + => SafeExecution(() => MEOSExternalFunctions.tnpoint_minus_stbox(temp, box, border_inc)); - public static double geom_length(IntPtr gs) - => SafeExecution(() => MEOSExternalFunctions.geom_length(gs)); + public static IntPtr tdistance_tnpoint_npoint(IntPtr temp, IntPtr np) + => SafeExecution(() => MEOSExternalFunctions.tdistance_tnpoint_npoint(temp, np)); - public static double geom_perimeter(IntPtr gs) - => SafeExecution(() => MEOSExternalFunctions.geom_perimeter(gs)); + public static IntPtr tdistance_tnpoint_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.tdistance_tnpoint_geo(temp, gs)); - public static int line_numpoints(IntPtr gs) - => SafeExecution(() => MEOSExternalFunctions.line_numpoints(gs)); + public static IntPtr tdistance_tnpoint_tnpoint(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.tdistance_tnpoint_tnpoint(temp1, temp2)); - public static IntPtr line_point_n(IntPtr geom, int n) - => SafeExecution(() => MEOSExternalFunctions.line_point_n(geom, n)); + public static double nad_tnpoint_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.nad_tnpoint_geo(temp, gs)); - public static IntPtr geo_reverse(IntPtr gs) - => SafeExecution(() => MEOSExternalFunctions.geo_reverse(gs)); + public static double nad_tnpoint_npoint(IntPtr temp, IntPtr np) + => SafeExecution(() => MEOSExternalFunctions.nad_tnpoint_npoint(temp, np)); - public static IntPtr geo_round(IntPtr gs, int maxdd) - => SafeExecution(() => MEOSExternalFunctions.geo_round(gs, maxdd)); + public static double nad_tnpoint_stbox(IntPtr temp, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.nad_tnpoint_stbox(temp, box)); - public static IntPtr geo_set_srid(IntPtr gs, int srid) - => SafeExecution(() => MEOSExternalFunctions.geo_set_srid(gs, srid)); + public static double nad_tnpoint_tnpoint(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.nad_tnpoint_tnpoint(temp1, temp2)); - public static int geo_srid(IntPtr gs) - => SafeExecution(() => MEOSExternalFunctions.geo_srid(gs)); + public static IntPtr nai_tnpoint_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.nai_tnpoint_geo(temp, gs)); - public static IntPtr geo_transform(IntPtr geom, int srid_to) - => SafeExecution(() => MEOSExternalFunctions.geo_transform(geom, srid_to)); + public static IntPtr nai_tnpoint_npoint(IntPtr temp, IntPtr np) + => SafeExecution(() => MEOSExternalFunctions.nai_tnpoint_npoint(temp, np)); - public static IntPtr geo_transform_pipeline(IntPtr gs, string pipeline, int srid_to, bool is_forward) - => SafeExecution(() => MEOSExternalFunctions.geo_transform_pipeline(gs, pipeline, srid_to, is_forward)); + public static IntPtr nai_tnpoint_tnpoint(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.nai_tnpoint_tnpoint(temp1, temp2)); - public static IntPtr geo_collect_garray(IntPtr gsarr, int count) - => SafeExecution(() => MEOSExternalFunctions.geo_collect_garray(gsarr, count)); + public static IntPtr shortestline_tnpoint_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.shortestline_tnpoint_geo(temp, gs)); - public static IntPtr geo_makeline_garray(IntPtr gsarr, int count) - => SafeExecution(() => MEOSExternalFunctions.geo_makeline_garray(gsarr, count)); + public static IntPtr shortestline_tnpoint_npoint(IntPtr temp, IntPtr np) + => SafeExecution(() => MEOSExternalFunctions.shortestline_tnpoint_npoint(temp, np)); - public static int geo_num_points(IntPtr gs) - => SafeExecution(() => MEOSExternalFunctions.geo_num_points(gs)); + public static IntPtr shortestline_tnpoint_tnpoint(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.shortestline_tnpoint_tnpoint(temp1, temp2)); - public static int geo_num_geos(IntPtr gs) - => SafeExecution(() => MEOSExternalFunctions.geo_num_geos(gs)); + public static IntPtr tnpoint_tcentroid_transfn(IntPtr state, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tnpoint_tcentroid_transfn(state, temp)); - public static IntPtr geo_geo_n(IntPtr geom, int n) - => SafeExecution(() => MEOSExternalFunctions.geo_geo_n(geom, n)); + public static int always_eq_npoint_tnpoint(IntPtr np, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.always_eq_npoint_tnpoint(np, temp)); - public static IntPtr geo_pointarr(IntPtr gs, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.geo_pointarr(gs, count)); + public static int always_eq_tnpoint_npoint(IntPtr temp, IntPtr np) + => SafeExecution(() => MEOSExternalFunctions.always_eq_tnpoint_npoint(temp, np)); - public static IntPtr geo_points(IntPtr gs) - => SafeExecution(() => MEOSExternalFunctions.geo_points(gs)); + public static int always_eq_tnpoint_tnpoint(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.always_eq_tnpoint_tnpoint(temp1, temp2)); - public static IntPtr geom_array_union(IntPtr gsarr, int count) - => SafeExecution(() => MEOSExternalFunctions.geom_array_union(gsarr, count)); + public static int always_ne_npoint_tnpoint(IntPtr np, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.always_ne_npoint_tnpoint(np, temp)); - public static IntPtr geom_boundary(IntPtr gs) - => SafeExecution(() => MEOSExternalFunctions.geom_boundary(gs)); + public static int always_ne_tnpoint_npoint(IntPtr temp, IntPtr np) + => SafeExecution(() => MEOSExternalFunctions.always_ne_tnpoint_npoint(temp, np)); - public static IntPtr geom_buffer(IntPtr gs, double size, string @params) - => SafeExecution(() => MEOSExternalFunctions.geom_buffer(gs, size, @params)); + public static int always_ne_tnpoint_tnpoint(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.always_ne_tnpoint_tnpoint(temp1, temp2)); - public static IntPtr geom_centroid(IntPtr gs) - => SafeExecution(() => MEOSExternalFunctions.geom_centroid(gs)); + public static int ever_eq_npoint_tnpoint(IntPtr np, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.ever_eq_npoint_tnpoint(np, temp)); - public static IntPtr geom_convex_hull(IntPtr gs) - => SafeExecution(() => MEOSExternalFunctions.geom_convex_hull(gs)); + public static int ever_eq_tnpoint_npoint(IntPtr temp, IntPtr np) + => SafeExecution(() => MEOSExternalFunctions.ever_eq_tnpoint_npoint(temp, np)); - public static IntPtr geom_difference2d(IntPtr gs1, IntPtr gs2) - => SafeExecution(() => MEOSExternalFunctions.geom_difference2d(gs1, gs2)); + public static int ever_eq_tnpoint_tnpoint(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.ever_eq_tnpoint_tnpoint(temp1, temp2)); - public static IntPtr geom_intersection2d(IntPtr gs1, IntPtr gs2) - => SafeExecution(() => MEOSExternalFunctions.geom_intersection2d(gs1, gs2)); + public static int ever_ne_npoint_tnpoint(IntPtr np, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.ever_ne_npoint_tnpoint(np, temp)); - public static IntPtr geom_intersection2d_coll(IntPtr gs1, IntPtr gs2) - => SafeExecution(() => MEOSExternalFunctions.geom_intersection2d_coll(gs1, gs2)); + public static int ever_ne_tnpoint_npoint(IntPtr temp, IntPtr np) + => SafeExecution(() => MEOSExternalFunctions.ever_ne_tnpoint_npoint(temp, np)); - public static IntPtr geom_min_bounding_radius(IntPtr geom, IntPtr radius) - => SafeExecution(() => MEOSExternalFunctions.geom_min_bounding_radius(geom, radius)); + public static int ever_ne_tnpoint_tnpoint(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.ever_ne_tnpoint_tnpoint(temp1, temp2)); - public static IntPtr geom_shortestline2d(IntPtr gs1, IntPtr s2) - => SafeExecution(() => MEOSExternalFunctions.geom_shortestline2d(gs1, s2)); + public static IntPtr teq_tnpoint_npoint(IntPtr temp, IntPtr np) + => SafeExecution(() => MEOSExternalFunctions.teq_tnpoint_npoint(temp, np)); - public static IntPtr geom_shortestline3d(IntPtr gs1, IntPtr s2) - => SafeExecution(() => MEOSExternalFunctions.geom_shortestline3d(gs1, s2)); + public static IntPtr tne_tnpoint_npoint(IntPtr temp, IntPtr np) + => SafeExecution(() => MEOSExternalFunctions.tne_tnpoint_npoint(temp, np)); - public static IntPtr geom_unary_union(IntPtr gs, double prec) - => SafeExecution(() => MEOSExternalFunctions.geom_unary_union(gs, prec)); + public static IntPtr pcpoint_hex_in(string str) + => SafeExecution(() => MEOSExternalFunctions.pcpoint_hex_in(str)); - public static IntPtr line_interpolate_point(IntPtr gs, double distance_fraction, bool repeat) - => SafeExecution(() => MEOSExternalFunctions.line_interpolate_point(gs, distance_fraction, repeat)); + public static string pcpoint_hex_out(IntPtr pt, int maxdd) + => SafeExecution(() => MEOSExternalFunctions.pcpoint_hex_out(pt, maxdd)); - public static double line_locate_point(IntPtr gs1, IntPtr gs2) - => SafeExecution(() => MEOSExternalFunctions.line_locate_point(gs1, gs2)); + public static IntPtr pcpoint_from_hexwkb(string hexwkb) + => SafeExecution(() => MEOSExternalFunctions.pcpoint_from_hexwkb(hexwkb)); - public static IntPtr line_substring(IntPtr gs, double from, double to) - => SafeExecution(() => MEOSExternalFunctions.line_substring(gs, from, to)); + public static string pcpoint_as_hexwkb(IntPtr pt) + => SafeExecution(() => MEOSExternalFunctions.pcpoint_as_hexwkb(pt)); - public static bool geog_dwithin(IntPtr g1, IntPtr g2, double tolerance, bool use_spheroid) - => SafeExecution(() => MEOSExternalFunctions.geog_dwithin(g1, g2, tolerance, use_spheroid)); + public static IntPtr pcpoint_copy(IntPtr pt) + => SafeExecution(() => MEOSExternalFunctions.pcpoint_copy(pt)); - public static bool geog_intersects(IntPtr gs1, IntPtr gs2, bool use_spheroid) - => SafeExecution(() => MEOSExternalFunctions.geog_intersects(gs1, gs2, use_spheroid)); + public static uint pcpoint_get_pcid(IntPtr pt) + => SafeExecution(() => MEOSExternalFunctions.pcpoint_get_pcid(pt)); - public static bool geom_contains(IntPtr gs1, IntPtr gs2) - => SafeExecution(() => MEOSExternalFunctions.geom_contains(gs1, gs2)); + public static int pcpoint_hash(IntPtr pt) + => SafeExecution(() => MEOSExternalFunctions.pcpoint_hash(pt)); - public static bool geom_covers(IntPtr gs1, IntPtr gs2) - => SafeExecution(() => MEOSExternalFunctions.geom_covers(gs1, gs2)); + public static IntPtr pcpoint_hash_extended(IntPtr pt, IntPtr seed) + => SafeExecution(() => MEOSExternalFunctions.pcpoint_hash_extended(pt, seed)); - public static bool geom_disjoint2d(IntPtr gs1, IntPtr gs2) - => SafeExecution(() => MEOSExternalFunctions.geom_disjoint2d(gs1, gs2)); + public static bool pcpoint_get_x(IntPtr pt, IntPtr schema, IntPtr @out) + => SafeExecution(() => MEOSExternalFunctions.pcpoint_get_x(pt, schema, @out)); - public static bool geom_dwithin2d(IntPtr gs1, IntPtr gs2, double tolerance) - => SafeExecution(() => MEOSExternalFunctions.geom_dwithin2d(gs1, gs2, tolerance)); + public static bool pcpoint_get_y(IntPtr pt, IntPtr schema, IntPtr @out) + => SafeExecution(() => MEOSExternalFunctions.pcpoint_get_y(pt, schema, @out)); - public static bool geom_dwithin3d(IntPtr gs1, IntPtr gs2, double tolerance) - => SafeExecution(() => MEOSExternalFunctions.geom_dwithin3d(gs1, gs2, tolerance)); + public static bool pcpoint_get_z(IntPtr pt, IntPtr schema, IntPtr @out) + => SafeExecution(() => MEOSExternalFunctions.pcpoint_get_z(pt, schema, @out)); - public static bool geom_intersects2d(IntPtr gs1, IntPtr gs2) - => SafeExecution(() => MEOSExternalFunctions.geom_intersects2d(gs1, gs2)); + public static bool pcpoint_get_dim(IntPtr pt, IntPtr schema, string name, IntPtr @out) + => SafeExecution(() => MEOSExternalFunctions.pcpoint_get_dim(pt, schema, name, @out)); - public static bool geom_intersects3d(IntPtr gs1, IntPtr gs2) - => SafeExecution(() => MEOSExternalFunctions.geom_intersects3d(gs1, gs2)); + public static IntPtr pcpoint_to_tpcbox(IntPtr pt, IntPtr schema) + => SafeExecution(() => MEOSExternalFunctions.pcpoint_to_tpcbox(pt, schema)); - public static bool geom_relate_pattern(IntPtr gs1, IntPtr gs2, string patt) - => SafeExecution(() => MEOSExternalFunctions.geom_relate_pattern(gs1, gs2, patt)); + public static IntPtr meos_pc_schema(uint pcid) + => SafeExecution(() => MEOSExternalFunctions.meos_pc_schema(pcid)); - public static bool geom_touches(IntPtr gs1, IntPtr gs2) - => SafeExecution(() => MEOSExternalFunctions.geom_touches(gs1, gs2)); + public static void meos_pc_schema_register(uint pcid, IntPtr schema) + => SafeExecution(() => MEOSExternalFunctions.meos_pc_schema_register(pcid, schema)); - public static IntPtr geo_stboxes(IntPtr gs, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.geo_stboxes(gs, count)); + public static void meos_pc_schema_register_xml(uint pcid, IntPtr schema, string xml_text) + => SafeExecution(() => MEOSExternalFunctions.meos_pc_schema_register_xml(pcid, schema, xml_text)); - public static IntPtr geo_split_each_n_stboxes(IntPtr gs, int elem_count, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.geo_split_each_n_stboxes(gs, elem_count, count)); + public static string meos_pc_schema_xml(uint pcid) + => SafeExecution(() => MEOSExternalFunctions.meos_pc_schema_xml(pcid)); - public static IntPtr geo_split_n_stboxes(IntPtr gs, int box_count, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.geo_split_n_stboxes(gs, box_count, count)); + public static void meos_pc_schema_clear() + => SafeExecution(() => MEOSExternalFunctions.meos_pc_schema_clear()); - public static double geog_distance(IntPtr g1, IntPtr g2) - => SafeExecution(() => MEOSExternalFunctions.geog_distance(g1, g2)); + public static int pcpoint_cmp(IntPtr pt1, IntPtr pt2) + => SafeExecution(() => MEOSExternalFunctions.pcpoint_cmp(pt1, pt2)); - public static double geom_distance2d(IntPtr gs1, IntPtr gs2) - => SafeExecution(() => MEOSExternalFunctions.geom_distance2d(gs1, gs2)); + public static bool pcpoint_eq(IntPtr pt1, IntPtr pt2) + => SafeExecution(() => MEOSExternalFunctions.pcpoint_eq(pt1, pt2)); - public static double geom_distance3d(IntPtr gs1, IntPtr gs2) - => SafeExecution(() => MEOSExternalFunctions.geom_distance3d(gs1, gs2)); + public static bool pcpoint_ne(IntPtr pt1, IntPtr pt2) + => SafeExecution(() => MEOSExternalFunctions.pcpoint_ne(pt1, pt2)); - public static int geo_equals(IntPtr gs1, IntPtr gs2) - => SafeExecution(() => MEOSExternalFunctions.geo_equals(gs1, gs2)); + public static bool pcpoint_lt(IntPtr pt1, IntPtr pt2) + => SafeExecution(() => MEOSExternalFunctions.pcpoint_lt(pt1, pt2)); - public static bool geo_same(IntPtr gs1, IntPtr gs2) - => SafeExecution(() => MEOSExternalFunctions.geo_same(gs1, gs2)); + public static bool pcpoint_le(IntPtr pt1, IntPtr pt2) + => SafeExecution(() => MEOSExternalFunctions.pcpoint_le(pt1, pt2)); - public static IntPtr geogset_in(string str) - => SafeExecution(() => MEOSExternalFunctions.geogset_in(str)); + public static bool pcpoint_gt(IntPtr pt1, IntPtr pt2) + => SafeExecution(() => MEOSExternalFunctions.pcpoint_gt(pt1, pt2)); - public static IntPtr geomset_in(string str) - => SafeExecution(() => MEOSExternalFunctions.geomset_in(str)); + public static bool pcpoint_ge(IntPtr pt1, IntPtr pt2) + => SafeExecution(() => MEOSExternalFunctions.pcpoint_ge(pt1, pt2)); - public static string spatialset_as_text(IntPtr set, int maxdd) - => SafeExecution(() => MEOSExternalFunctions.spatialset_as_text(set, maxdd)); + public static IntPtr pcpatch_hex_in(string str) + => SafeExecution(() => MEOSExternalFunctions.pcpatch_hex_in(str)); - public static string spatialset_as_ewkt(IntPtr set, int maxdd) - => SafeExecution(() => MEOSExternalFunctions.spatialset_as_ewkt(set, maxdd)); + public static string pcpatch_hex_out(IntPtr pa, int maxdd) + => SafeExecution(() => MEOSExternalFunctions.pcpatch_hex_out(pa, maxdd)); - public static IntPtr geoset_make(IntPtr values, int count) - => SafeExecution(() => MEOSExternalFunctions.geoset_make(values, count)); + public static IntPtr pcpatch_from_hexwkb(string hexwkb) + => SafeExecution(() => MEOSExternalFunctions.pcpatch_from_hexwkb(hexwkb)); - public static IntPtr geo_to_set(IntPtr gs) - => SafeExecution(() => MEOSExternalFunctions.geo_to_set(gs)); + public static string pcpatch_as_hexwkb(IntPtr pa) + => SafeExecution(() => MEOSExternalFunctions.pcpatch_as_hexwkb(pa)); - public static IntPtr geoset_end_value(IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.geoset_end_value(s)); + public static IntPtr pcpatch_copy(IntPtr pa) + => SafeExecution(() => MEOSExternalFunctions.pcpatch_copy(pa)); - public static IntPtr geoset_start_value(IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.geoset_start_value(s)); + public static uint pcpatch_get_pcid(IntPtr pa) + => SafeExecution(() => MEOSExternalFunctions.pcpatch_get_pcid(pa)); - public static bool geoset_value_n(IntPtr s, int n, IntPtr result) - => SafeExecution(() => MEOSExternalFunctions.geoset_value_n(s, n, result)); + public static uint pcpatch_npoints(IntPtr pa) + => SafeExecution(() => MEOSExternalFunctions.pcpatch_npoints(pa)); - public static IntPtr[] geoset_values(IntPtr s) - { - int _n = (int)MEOSExposedFunctions.set_num_values(s); - IntPtr _p = SafeExecution(() => MEOSExternalFunctions.geoset_values(s)); - IntPtr[] _out = new IntPtr[_n]; - for (int _i = 0; _i < _n; _i++) - { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } - return _out; - } + public static int pcpatch_hash(IntPtr pa) + => SafeExecution(() => MEOSExternalFunctions.pcpatch_hash(pa)); - public static bool contained_geo_set(IntPtr gs, IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.contained_geo_set(gs, s)); + public static IntPtr pcpatch_hash_extended(IntPtr pa, IntPtr seed) + => SafeExecution(() => MEOSExternalFunctions.pcpatch_hash_extended(pa, seed)); - public static bool contains_set_geo(IntPtr s, IntPtr gs) - => SafeExecution(() => MEOSExternalFunctions.contains_set_geo(s, gs)); + public static int pcpatch_cmp(IntPtr pa1, IntPtr pa2) + => SafeExecution(() => MEOSExternalFunctions.pcpatch_cmp(pa1, pa2)); - public static IntPtr geo_union_transfn(IntPtr state, IntPtr gs) - => SafeExecution(() => MEOSExternalFunctions.geo_union_transfn(state, gs)); + public static bool pcpatch_eq(IntPtr pa1, IntPtr pa2) + => SafeExecution(() => MEOSExternalFunctions.pcpatch_eq(pa1, pa2)); - public static IntPtr intersection_geo_set(IntPtr gs, IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.intersection_geo_set(gs, s)); + public static bool pcpatch_ne(IntPtr pa1, IntPtr pa2) + => SafeExecution(() => MEOSExternalFunctions.pcpatch_ne(pa1, pa2)); - public static IntPtr intersection_set_geo(IntPtr s, IntPtr gs) - => SafeExecution(() => MEOSExternalFunctions.intersection_set_geo(s, gs)); + public static bool pcpatch_lt(IntPtr pa1, IntPtr pa2) + => SafeExecution(() => MEOSExternalFunctions.pcpatch_lt(pa1, pa2)); - public static IntPtr minus_geo_set(IntPtr gs, IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.minus_geo_set(gs, s)); + public static bool pcpatch_le(IntPtr pa1, IntPtr pa2) + => SafeExecution(() => MEOSExternalFunctions.pcpatch_le(pa1, pa2)); - public static IntPtr minus_set_geo(IntPtr s, IntPtr gs) - => SafeExecution(() => MEOSExternalFunctions.minus_set_geo(s, gs)); + public static bool pcpatch_gt(IntPtr pa1, IntPtr pa2) + => SafeExecution(() => MEOSExternalFunctions.pcpatch_gt(pa1, pa2)); - public static IntPtr union_geo_set(IntPtr gs, IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.union_geo_set(gs, s)); + public static bool pcpatch_ge(IntPtr pa1, IntPtr pa2) + => SafeExecution(() => MEOSExternalFunctions.pcpatch_ge(pa1, pa2)); - public static IntPtr union_set_geo(IntPtr s, IntPtr gs) - => SafeExecution(() => MEOSExternalFunctions.union_set_geo(s, gs)); + public static IntPtr pcpointset_in(string str) + => SafeExecution(() => MEOSExternalFunctions.pcpointset_in(str)); - public static IntPtr spatialset_set_srid(IntPtr s, int srid) - => SafeExecution(() => MEOSExternalFunctions.spatialset_set_srid(s, srid)); + public static string pcpointset_out(IntPtr s, int maxdd) + => SafeExecution(() => MEOSExternalFunctions.pcpointset_out(s, maxdd)); - public static int spatialset_srid(IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.spatialset_srid(s)); + public static IntPtr pcpointset_make(IntPtr values, int count) + => SafeExecution(() => MEOSExternalFunctions.pcpointset_make(values, count)); - public static IntPtr spatialset_transform(IntPtr s, int srid) - => SafeExecution(() => MEOSExternalFunctions.spatialset_transform(s, srid)); + public static IntPtr pcpoint_to_set(IntPtr pt) + => SafeExecution(() => MEOSExternalFunctions.pcpoint_to_set(pt)); - public static IntPtr spatialset_transform_pipeline(IntPtr s, string pipelinestr, int srid, bool is_forward) - => SafeExecution(() => MEOSExternalFunctions.spatialset_transform_pipeline(s, pipelinestr, srid, is_forward)); + public static IntPtr pcpointset_start_value(IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.pcpointset_start_value(s)); - public static string stbox_as_hexwkb(IntPtr box, IntPtr variant, IntPtr size) - => SafeExecution(() => MEOSExternalFunctions.stbox_as_hexwkb(box, variant, size)); + public static IntPtr pcpointset_end_value(IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.pcpointset_end_value(s)); - public static IntPtr stbox_as_wkb(IntPtr box, IntPtr variant, IntPtr size_out) - => SafeExecution(() => MEOSExternalFunctions.stbox_as_wkb(box, variant, size_out)); + public static bool pcpointset_value_n(IntPtr s, int n, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.pcpointset_value_n(s, n, result)); - public static IntPtr stbox_from_hexwkb(string hexwkb) - => SafeExecution(() => MEOSExternalFunctions.stbox_from_hexwkb(hexwkb)); + public static IntPtr[] pcpointset_values(IntPtr s) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.pcpointset_values(s, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } - public static IntPtr stbox_from_wkb(IntPtr wkb, ulong size) - => SafeExecution(() => MEOSExternalFunctions.stbox_from_wkb(wkb, size)); + public static bool contains_set_pcpoint(IntPtr s, IntPtr pt) + => SafeExecution(() => MEOSExternalFunctions.contains_set_pcpoint(s, pt)); - public static IntPtr stbox_in(string str) - => SafeExecution(() => MEOSExternalFunctions.stbox_in(str)); + public static bool contained_pcpoint_set(IntPtr pt, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.contained_pcpoint_set(pt, s)); - public static string stbox_out(IntPtr box, int maxdd) - => SafeExecution(() => MEOSExternalFunctions.stbox_out(box, maxdd)); + public static IntPtr intersection_pcpoint_set(IntPtr pt, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.intersection_pcpoint_set(pt, s)); - public static IntPtr geo_timestamptz_to_stbox(IntPtr gs, long t) - => SafeExecution(() => MEOSExternalFunctions.geo_timestamptz_to_stbox(gs, t)); + public static IntPtr intersection_set_pcpoint(IntPtr s, IntPtr pt) + => SafeExecution(() => MEOSExternalFunctions.intersection_set_pcpoint(s, pt)); - public static IntPtr geo_tstzspan_to_stbox(IntPtr gs, IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.geo_tstzspan_to_stbox(gs, s)); + public static IntPtr minus_pcpoint_set(IntPtr pt, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.minus_pcpoint_set(pt, s)); - public static IntPtr stbox_copy(IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.stbox_copy(box)); + public static IntPtr minus_set_pcpoint(IntPtr s, IntPtr pt) + => SafeExecution(() => MEOSExternalFunctions.minus_set_pcpoint(s, pt)); - public static IntPtr stbox_make(bool hasx, bool hasz, bool geodetic, int srid, double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.stbox_make(hasx, hasz, geodetic, srid, xmin, xmax, ymin, ymax, zmin, zmax, s)); + public static IntPtr union_pcpoint_set(IntPtr pt, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.union_pcpoint_set(pt, s)); - public static IntPtr geo_to_stbox(IntPtr gs) - => SafeExecution(() => MEOSExternalFunctions.geo_to_stbox(gs)); + public static IntPtr union_set_pcpoint(IntPtr s, IntPtr pt) + => SafeExecution(() => MEOSExternalFunctions.union_set_pcpoint(s, pt)); - public static IntPtr spatialset_to_stbox(IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.spatialset_to_stbox(s)); + public static IntPtr pcpoint_union_transfn(IntPtr state, IntPtr pt) + => SafeExecution(() => MEOSExternalFunctions.pcpoint_union_transfn(state, pt)); - public static IntPtr stbox_to_box3d(IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.stbox_to_box3d(box)); + public static IntPtr pcpatchset_in(string str) + => SafeExecution(() => MEOSExternalFunctions.pcpatchset_in(str)); - public static IntPtr stbox_to_gbox(IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.stbox_to_gbox(box)); + public static string pcpatchset_out(IntPtr s, int maxdd) + => SafeExecution(() => MEOSExternalFunctions.pcpatchset_out(s, maxdd)); - public static IntPtr stbox_to_geo(IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.stbox_to_geo(box)); + public static IntPtr pcpatchset_make(IntPtr values, int count) + => SafeExecution(() => MEOSExternalFunctions.pcpatchset_make(values, count)); - public static IntPtr stbox_to_tstzspan(IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.stbox_to_tstzspan(box)); + public static IntPtr pcpatch_to_set(IntPtr pa) + => SafeExecution(() => MEOSExternalFunctions.pcpatch_to_set(pa)); - public static IntPtr timestamptz_to_stbox(long t) - => SafeExecution(() => MEOSExternalFunctions.timestamptz_to_stbox(t)); + public static IntPtr pcpatchset_start_value(IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.pcpatchset_start_value(s)); - public static IntPtr tstzset_to_stbox(IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.tstzset_to_stbox(s)); + public static IntPtr pcpatchset_end_value(IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.pcpatchset_end_value(s)); - public static IntPtr tstzspan_to_stbox(IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.tstzspan_to_stbox(s)); + public static bool pcpatchset_value_n(IntPtr s, int n, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.pcpatchset_value_n(s, n, result)); - public static IntPtr tstzspanset_to_stbox(IntPtr ss) - => SafeExecution(() => MEOSExternalFunctions.tstzspanset_to_stbox(ss)); + public static IntPtr[] pcpatchset_values(IntPtr s) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.pcpatchset_values(s, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } - public static double stbox_area(IntPtr box, bool spheroid) - => SafeExecution(() => MEOSExternalFunctions.stbox_area(box, spheroid)); + public static bool contains_set_pcpatch(IntPtr s, IntPtr pa) + => SafeExecution(() => MEOSExternalFunctions.contains_set_pcpatch(s, pa)); - public static uint stbox_hash(IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.stbox_hash(box)); + public static bool contained_pcpatch_set(IntPtr pa, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.contained_pcpatch_set(pa, s)); - public static ulong stbox_hash_extended(IntPtr box, ulong seed) - => SafeExecution(() => MEOSExternalFunctions.stbox_hash_extended(box, seed)); + public static IntPtr intersection_pcpatch_set(IntPtr pa, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.intersection_pcpatch_set(pa, s)); - public static bool stbox_hast(IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.stbox_hast(box)); + public static IntPtr intersection_set_pcpatch(IntPtr s, IntPtr pa) + => SafeExecution(() => MEOSExternalFunctions.intersection_set_pcpatch(s, pa)); - public static bool stbox_hasx(IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.stbox_hasx(box)); + public static IntPtr minus_pcpatch_set(IntPtr pa, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.minus_pcpatch_set(pa, s)); - public static bool stbox_hasz(IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.stbox_hasz(box)); + public static IntPtr minus_set_pcpatch(IntPtr s, IntPtr pa) + => SafeExecution(() => MEOSExternalFunctions.minus_set_pcpatch(s, pa)); - public static bool stbox_isgeodetic(IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.stbox_isgeodetic(box)); + public static IntPtr union_pcpatch_set(IntPtr pa, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.union_pcpatch_set(pa, s)); - public static double stbox_perimeter(IntPtr box, bool spheroid) - => SafeExecution(() => MEOSExternalFunctions.stbox_perimeter(box, spheroid)); + public static IntPtr union_set_pcpatch(IntPtr s, IntPtr pa) + => SafeExecution(() => MEOSExternalFunctions.union_set_pcpatch(s, pa)); - public static bool stbox_tmax(IntPtr box, IntPtr result) - => SafeExecution(() => MEOSExternalFunctions.stbox_tmax(box, result)); + public static IntPtr pcpatch_union_transfn(IntPtr state, IntPtr pa) + => SafeExecution(() => MEOSExternalFunctions.pcpatch_union_transfn(state, pa)); - public static bool stbox_tmax_inc(IntPtr box, IntPtr result) - => SafeExecution(() => MEOSExternalFunctions.stbox_tmax_inc(box, result)); + public static IntPtr tpcbox_in(string str) + => SafeExecution(() => MEOSExternalFunctions.tpcbox_in(str)); - public static bool stbox_tmin(IntPtr box, IntPtr result) - => SafeExecution(() => MEOSExternalFunctions.stbox_tmin(box, result)); + public static string tpcbox_out(IntPtr box, int maxdd) + => SafeExecution(() => MEOSExternalFunctions.tpcbox_out(box, maxdd)); - public static bool stbox_tmin_inc(IntPtr box, IntPtr result) - => SafeExecution(() => MEOSExternalFunctions.stbox_tmin_inc(box, result)); + public static IntPtr tpcbox_make(bool hasx, bool hasz, bool hast, bool geodetic, int srid, uint pcid, double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, IntPtr period) + => SafeExecution(() => MEOSExternalFunctions.tpcbox_make(hasx, hasz, hast, geodetic, srid, pcid, xmin, xmax, ymin, ymax, zmin, zmax, period)); - public static double stbox_volume(IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.stbox_volume(box)); + public static IntPtr tpcbox_copy(IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.tpcbox_copy(box)); - public static bool stbox_xmax(IntPtr box, IntPtr result) - => SafeExecution(() => MEOSExternalFunctions.stbox_xmax(box, result)); + public static IntPtr pcpatch_to_tpcbox(IntPtr pa, int srid) + => SafeExecution(() => MEOSExternalFunctions.pcpatch_to_tpcbox(pa, srid)); - public static bool stbox_xmin(IntPtr box, IntPtr result) - => SafeExecution(() => MEOSExternalFunctions.stbox_xmin(box, result)); + public static bool tpcbox_hasx(IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.tpcbox_hasx(box)); - public static bool stbox_ymax(IntPtr box, IntPtr result) - => SafeExecution(() => MEOSExternalFunctions.stbox_ymax(box, result)); + public static bool tpcbox_hasz(IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.tpcbox_hasz(box)); - public static bool stbox_ymin(IntPtr box, IntPtr result) - => SafeExecution(() => MEOSExternalFunctions.stbox_ymin(box, result)); + public static bool tpcbox_hast(IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.tpcbox_hast(box)); - public static bool stbox_zmax(IntPtr box, IntPtr result) - => SafeExecution(() => MEOSExternalFunctions.stbox_zmax(box, result)); + public static bool tpcbox_geodetic(IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.tpcbox_geodetic(box)); - public static bool stbox_zmin(IntPtr box, IntPtr result) - => SafeExecution(() => MEOSExternalFunctions.stbox_zmin(box, result)); + public static bool tpcbox_xmin(IntPtr box, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.tpcbox_xmin(box, result)); - public static IntPtr stbox_expand_space(IntPtr box, double d) - => SafeExecution(() => MEOSExternalFunctions.stbox_expand_space(box, d)); + public static bool tpcbox_xmax(IntPtr box, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.tpcbox_xmax(box, result)); - public static IntPtr stbox_expand_time(IntPtr box, IntPtr interv) - => SafeExecution(() => MEOSExternalFunctions.stbox_expand_time(box, interv)); + public static bool tpcbox_ymin(IntPtr box, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.tpcbox_ymin(box, result)); - public static IntPtr stbox_get_space(IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.stbox_get_space(box)); + public static bool tpcbox_ymax(IntPtr box, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.tpcbox_ymax(box, result)); - public static IntPtr stbox_quad_split(IntPtr box, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.stbox_quad_split(box, count)); + public static bool tpcbox_zmin(IntPtr box, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.tpcbox_zmin(box, result)); - public static IntPtr stbox_round(IntPtr box, int maxdd) - => SafeExecution(() => MEOSExternalFunctions.stbox_round(box, maxdd)); + public static bool tpcbox_zmax(IntPtr box, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.tpcbox_zmax(box, result)); - public static IntPtr stbox_shift_scale_time(IntPtr box, IntPtr shift, IntPtr duration) - => SafeExecution(() => MEOSExternalFunctions.stbox_shift_scale_time(box, shift, duration)); + public static bool tpcbox_tmin(IntPtr box, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.tpcbox_tmin(box, result)); - public static IntPtr stboxarr_round(IntPtr boxarr, int count, int maxdd) - => SafeExecution(() => MEOSExternalFunctions.stboxarr_round(boxarr, count, maxdd)); + public static bool tpcbox_tmin_inc(IntPtr box, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.tpcbox_tmin_inc(box, result)); - public static IntPtr stbox_set_srid(IntPtr box, int srid) - => SafeExecution(() => MEOSExternalFunctions.stbox_set_srid(box, srid)); + public static bool tpcbox_tmax(IntPtr box, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.tpcbox_tmax(box, result)); - public static int stbox_srid(IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.stbox_srid(box)); + public static bool tpcbox_tmax_inc(IntPtr box, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.tpcbox_tmax_inc(box, result)); - public static IntPtr stbox_transform(IntPtr box, int srid) - => SafeExecution(() => MEOSExternalFunctions.stbox_transform(box, srid)); + public static int tpcbox_srid(IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.tpcbox_srid(box)); - public static IntPtr stbox_transform_pipeline(IntPtr box, string pipelinestr, int srid, bool is_forward) - => SafeExecution(() => MEOSExternalFunctions.stbox_transform_pipeline(box, pipelinestr, srid, is_forward)); + public static uint tpcbox_pcid(IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.tpcbox_pcid(box)); - public static bool adjacent_stbox_stbox(IntPtr box1, IntPtr box2) - => SafeExecution(() => MEOSExternalFunctions.adjacent_stbox_stbox(box1, box2)); + public static IntPtr tpcbox_to_stbox(IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.tpcbox_to_stbox(box)); - public static bool contained_stbox_stbox(IntPtr box1, IntPtr box2) - => SafeExecution(() => MEOSExternalFunctions.contained_stbox_stbox(box1, box2)); + public static void tpcbox_expand(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.tpcbox_expand(box1, box2)); - public static bool contains_stbox_stbox(IntPtr box1, IntPtr box2) - => SafeExecution(() => MEOSExternalFunctions.contains_stbox_stbox(box1, box2)); + public static IntPtr tpcbox_round(IntPtr box, int maxdd) + => SafeExecution(() => MEOSExternalFunctions.tpcbox_round(box, maxdd)); - public static bool overlaps_stbox_stbox(IntPtr box1, IntPtr box2) - => SafeExecution(() => MEOSExternalFunctions.overlaps_stbox_stbox(box1, box2)); + public static IntPtr tpcbox_set_srid(IntPtr box, int srid) + => SafeExecution(() => MEOSExternalFunctions.tpcbox_set_srid(box, srid)); - public static bool same_stbox_stbox(IntPtr box1, IntPtr box2) - => SafeExecution(() => MEOSExternalFunctions.same_stbox_stbox(box1, box2)); + public static IntPtr union_tpcbox_tpcbox(IntPtr box1, IntPtr box2, bool strict) + => SafeExecution(() => MEOSExternalFunctions.union_tpcbox_tpcbox(box1, box2, strict)); - public static bool above_stbox_stbox(IntPtr box1, IntPtr box2) - => SafeExecution(() => MEOSExternalFunctions.above_stbox_stbox(box1, box2)); + public static bool inter_tpcbox_tpcbox(IntPtr box1, IntPtr box2, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.inter_tpcbox_tpcbox(box1, box2, result)); - public static bool after_stbox_stbox(IntPtr box1, IntPtr box2) - => SafeExecution(() => MEOSExternalFunctions.after_stbox_stbox(box1, box2)); + public static IntPtr intersection_tpcbox_tpcbox(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.intersection_tpcbox_tpcbox(box1, box2)); - public static bool back_stbox_stbox(IntPtr box1, IntPtr box2) - => SafeExecution(() => MEOSExternalFunctions.back_stbox_stbox(box1, box2)); + public static bool contains_tpcbox_tpcbox(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.contains_tpcbox_tpcbox(box1, box2)); - public static bool before_stbox_stbox(IntPtr box1, IntPtr box2) - => SafeExecution(() => MEOSExternalFunctions.before_stbox_stbox(box1, box2)); + public static bool contained_tpcbox_tpcbox(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.contained_tpcbox_tpcbox(box1, box2)); - public static bool below_stbox_stbox(IntPtr box1, IntPtr box2) - => SafeExecution(() => MEOSExternalFunctions.below_stbox_stbox(box1, box2)); + public static bool overlaps_tpcbox_tpcbox(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.overlaps_tpcbox_tpcbox(box1, box2)); - public static bool front_stbox_stbox(IntPtr box1, IntPtr box2) - => SafeExecution(() => MEOSExternalFunctions.front_stbox_stbox(box1, box2)); + public static bool same_tpcbox_tpcbox(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.same_tpcbox_tpcbox(box1, box2)); - public static bool left_stbox_stbox(IntPtr box1, IntPtr box2) - => SafeExecution(() => MEOSExternalFunctions.left_stbox_stbox(box1, box2)); + public static bool adjacent_tpcbox_tpcbox(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.adjacent_tpcbox_tpcbox(box1, box2)); - public static bool overabove_stbox_stbox(IntPtr box1, IntPtr box2) - => SafeExecution(() => MEOSExternalFunctions.overabove_stbox_stbox(box1, box2)); + public static int tpcbox_cmp(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.tpcbox_cmp(box1, box2)); - public static bool overafter_stbox_stbox(IntPtr box1, IntPtr box2) - => SafeExecution(() => MEOSExternalFunctions.overafter_stbox_stbox(box1, box2)); + public static bool tpcbox_eq(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.tpcbox_eq(box1, box2)); - public static bool overback_stbox_stbox(IntPtr box1, IntPtr box2) - => SafeExecution(() => MEOSExternalFunctions.overback_stbox_stbox(box1, box2)); + public static bool tpcbox_ne(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.tpcbox_ne(box1, box2)); - public static bool overbefore_stbox_stbox(IntPtr box1, IntPtr box2) - => SafeExecution(() => MEOSExternalFunctions.overbefore_stbox_stbox(box1, box2)); + public static bool tpcbox_lt(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.tpcbox_lt(box1, box2)); - public static bool overbelow_stbox_stbox(IntPtr box1, IntPtr box2) - => SafeExecution(() => MEOSExternalFunctions.overbelow_stbox_stbox(box1, box2)); + public static bool tpcbox_le(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.tpcbox_le(box1, box2)); - public static bool overfront_stbox_stbox(IntPtr box1, IntPtr box2) - => SafeExecution(() => MEOSExternalFunctions.overfront_stbox_stbox(box1, box2)); + public static bool tpcbox_gt(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.tpcbox_gt(box1, box2)); - public static bool overleft_stbox_stbox(IntPtr box1, IntPtr box2) - => SafeExecution(() => MEOSExternalFunctions.overleft_stbox_stbox(box1, box2)); + public static bool tpcbox_ge(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.tpcbox_ge(box1, box2)); - public static bool overright_stbox_stbox(IntPtr box1, IntPtr box2) - => SafeExecution(() => MEOSExternalFunctions.overright_stbox_stbox(box1, box2)); + public static bool left_tpcbox_tpcbox(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.left_tpcbox_tpcbox(box1, box2)); - public static bool right_stbox_stbox(IntPtr box1, IntPtr box2) - => SafeExecution(() => MEOSExternalFunctions.right_stbox_stbox(box1, box2)); + public static bool overleft_tpcbox_tpcbox(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.overleft_tpcbox_tpcbox(box1, box2)); - public static IntPtr union_stbox_stbox(IntPtr box1, IntPtr box2, bool strict) - => SafeExecution(() => MEOSExternalFunctions.union_stbox_stbox(box1, box2, strict)); + public static bool right_tpcbox_tpcbox(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.right_tpcbox_tpcbox(box1, box2)); - public static IntPtr intersection_stbox_stbox(IntPtr box1, IntPtr box2) - => SafeExecution(() => MEOSExternalFunctions.intersection_stbox_stbox(box1, box2)); + public static bool overright_tpcbox_tpcbox(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.overright_tpcbox_tpcbox(box1, box2)); - public static int stbox_cmp(IntPtr box1, IntPtr box2) - => SafeExecution(() => MEOSExternalFunctions.stbox_cmp(box1, box2)); + public static bool below_tpcbox_tpcbox(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.below_tpcbox_tpcbox(box1, box2)); - public static bool stbox_eq(IntPtr box1, IntPtr box2) - => SafeExecution(() => MEOSExternalFunctions.stbox_eq(box1, box2)); + public static bool overbelow_tpcbox_tpcbox(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.overbelow_tpcbox_tpcbox(box1, box2)); - public static bool stbox_ge(IntPtr box1, IntPtr box2) - => SafeExecution(() => MEOSExternalFunctions.stbox_ge(box1, box2)); + public static bool above_tpcbox_tpcbox(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.above_tpcbox_tpcbox(box1, box2)); - public static bool stbox_gt(IntPtr box1, IntPtr box2) - => SafeExecution(() => MEOSExternalFunctions.stbox_gt(box1, box2)); + public static bool overabove_tpcbox_tpcbox(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.overabove_tpcbox_tpcbox(box1, box2)); - public static bool stbox_le(IntPtr box1, IntPtr box2) - => SafeExecution(() => MEOSExternalFunctions.stbox_le(box1, box2)); + public static bool front_tpcbox_tpcbox(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.front_tpcbox_tpcbox(box1, box2)); - public static bool stbox_lt(IntPtr box1, IntPtr box2) - => SafeExecution(() => MEOSExternalFunctions.stbox_lt(box1, box2)); + public static bool overfront_tpcbox_tpcbox(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.overfront_tpcbox_tpcbox(box1, box2)); - public static bool stbox_ne(IntPtr box1, IntPtr box2) - => SafeExecution(() => MEOSExternalFunctions.stbox_ne(box1, box2)); + public static bool back_tpcbox_tpcbox(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.back_tpcbox_tpcbox(box1, box2)); - public static IntPtr tgeogpoint_from_mfjson(string str) - => SafeExecution(() => MEOSExternalFunctions.tgeogpoint_from_mfjson(str)); + public static bool overback_tpcbox_tpcbox(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.overback_tpcbox_tpcbox(box1, box2)); - public static IntPtr tgeogpoint_in(string str) - => SafeExecution(() => MEOSExternalFunctions.tgeogpoint_in(str)); + public static bool before_tpcbox_tpcbox(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.before_tpcbox_tpcbox(box1, box2)); - public static IntPtr tgeography_from_mfjson(string mfjson) - => SafeExecution(() => MEOSExternalFunctions.tgeography_from_mfjson(mfjson)); + public static bool overbefore_tpcbox_tpcbox(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.overbefore_tpcbox_tpcbox(box1, box2)); - public static IntPtr tgeography_in(string str) - => SafeExecution(() => MEOSExternalFunctions.tgeography_in(str)); + public static bool after_tpcbox_tpcbox(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.after_tpcbox_tpcbox(box1, box2)); - public static IntPtr tgeometry_from_mfjson(string str) - => SafeExecution(() => MEOSExternalFunctions.tgeometry_from_mfjson(str)); + public static bool overafter_tpcbox_tpcbox(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.overafter_tpcbox_tpcbox(box1, box2)); - public static IntPtr tgeometry_in(string str) - => SafeExecution(() => MEOSExternalFunctions.tgeometry_in(str)); + public static bool ensure_same_pcid_tpcbox(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.ensure_same_pcid_tpcbox(box1, box2)); - public static IntPtr tgeompoint_from_mfjson(string str) - => SafeExecution(() => MEOSExternalFunctions.tgeompoint_from_mfjson(str)); + public static IntPtr tpointcloudinst_make(IntPtr pt, long t) + => SafeExecution(() => MEOSExternalFunctions.tpointcloudinst_make(pt, t)); - public static IntPtr tgeompoint_in(string str) - => SafeExecution(() => MEOSExternalFunctions.tgeompoint_in(str)); + public static bool eintersects_tpcpoint_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.eintersects_tpcpoint_geo(temp, gs)); - public static string tspatial_as_ewkt(IntPtr temp, int maxdd) - => SafeExecution(() => MEOSExternalFunctions.tspatial_as_ewkt(temp, maxdd)); + public static double nad_tpcpoint_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.nad_tpcpoint_geo(temp, gs)); - public static string tspatial_as_text(IntPtr temp, int maxdd) - => SafeExecution(() => MEOSExternalFunctions.tspatial_as_text(temp, maxdd)); + public static string pose_as_ewkt(IntPtr pose, int maxdd) + => SafeExecution(() => MEOSExternalFunctions.pose_as_ewkt(pose, maxdd)); - public static string tspatial_out(IntPtr temp, int maxdd) - => SafeExecution(() => MEOSExternalFunctions.tspatial_out(temp, maxdd)); + public static string pose_as_hexwkb(IntPtr pose, IntPtr variant, IntPtr size_out) + => SafeExecution(() => MEOSExternalFunctions.pose_as_hexwkb(pose, variant, size_out)); - public static IntPtr tgeo_from_base_temp(IntPtr gs, IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.tgeo_from_base_temp(gs, temp)); + public static string pose_as_text(IntPtr pose, int maxdd) + => SafeExecution(() => MEOSExternalFunctions.pose_as_text(pose, maxdd)); - public static IntPtr tgeoinst_make(IntPtr gs, long t) - => SafeExecution(() => MEOSExternalFunctions.tgeoinst_make(gs, t)); + public static IntPtr pose_as_wkb(IntPtr pose, IntPtr variant, IntPtr size_out) + => SafeExecution(() => MEOSExternalFunctions.pose_as_wkb(pose, variant, size_out)); - public static IntPtr tgeoseq_from_base_tstzset(IntPtr gs, IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.tgeoseq_from_base_tstzset(gs, s)); + public static IntPtr pose_from_wkb(IntPtr wkb, IntPtr size) + => SafeExecution(() => MEOSExternalFunctions.pose_from_wkb(wkb, size)); - public static IntPtr tgeoseq_from_base_tstzspan(IntPtr gs, IntPtr s, int interp) - => SafeExecution(() => MEOSExternalFunctions.tgeoseq_from_base_tstzspan(gs, s, interp)); + public static IntPtr pose_from_hexwkb(string hexwkb) + => SafeExecution(() => MEOSExternalFunctions.pose_from_hexwkb(hexwkb)); - public static IntPtr tgeoseqset_from_base_tstzspanset(IntPtr gs, IntPtr ss, int interp) - => SafeExecution(() => MEOSExternalFunctions.tgeoseqset_from_base_tstzspanset(gs, ss, interp)); + public static IntPtr pose_in(string str) + => SafeExecution(() => MEOSExternalFunctions.pose_in(str)); - public static IntPtr tpoint_from_base_temp(IntPtr gs, IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.tpoint_from_base_temp(gs, temp)); + public static string pose_out(IntPtr pose, int maxdd) + => SafeExecution(() => MEOSExternalFunctions.pose_out(pose, maxdd)); - public static IntPtr tpointinst_make(IntPtr gs, long t) - => SafeExecution(() => MEOSExternalFunctions.tpointinst_make(gs, t)); + public static IntPtr pose_from_geopose(string json) + => SafeExecution(() => MEOSExternalFunctions.pose_from_geopose(json)); - public static IntPtr tpointseq_from_base_tstzset(IntPtr gs, IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.tpointseq_from_base_tstzset(gs, s)); + public static string pose_as_geopose(IntPtr pose, int conformance, int precision) + => SafeExecution(() => MEOSExternalFunctions.pose_as_geopose(pose, conformance, precision)); - public static IntPtr tpointseq_from_base_tstzspan(IntPtr gs, IntPtr s, int interp) - => SafeExecution(() => MEOSExternalFunctions.tpointseq_from_base_tstzspan(gs, s, interp)); + public static IntPtr tpose_from_geopose(string json) + => SafeExecution(() => MEOSExternalFunctions.tpose_from_geopose(json)); - public static IntPtr tpointseq_make_coords(IntPtr xcoords, IntPtr ycoords, IntPtr zcoords, IntPtr times, int count, int srid, bool geodetic, bool lower_inc, bool upper_inc, int interp, bool normalize) - => SafeExecution(() => MEOSExternalFunctions.tpointseq_make_coords(xcoords, ycoords, zcoords, times, count, srid, geodetic, lower_inc, upper_inc, interp, normalize)); + public static string tpose_as_geopose(IntPtr temp, int conformance, int precision) + => SafeExecution(() => MEOSExternalFunctions.tpose_as_geopose(temp, conformance, precision)); - public static IntPtr tpointseqset_from_base_tstzspanset(IntPtr gs, IntPtr ss, int interp) - => SafeExecution(() => MEOSExternalFunctions.tpointseqset_from_base_tstzspanset(gs, ss, interp)); + public static IntPtr pose_apply_geo(IntPtr pose, IntPtr body) + => SafeExecution(() => MEOSExternalFunctions.pose_apply_geo(pose, body)); - public static IntPtr box3d_to_stbox(IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.box3d_to_stbox(box)); + public static IntPtr tpose_apply_geo(IntPtr temp, IntPtr body) + => SafeExecution(() => MEOSExternalFunctions.tpose_apply_geo(temp, body)); - public static IntPtr gbox_to_stbox(IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.gbox_to_stbox(box)); + public static IntPtr pose_copy(IntPtr pose) + => SafeExecution(() => MEOSExternalFunctions.pose_copy(pose)); - public static IntPtr geomeas_to_tpoint(IntPtr gs) - => SafeExecution(() => MEOSExternalFunctions.geomeas_to_tpoint(gs)); + public static IntPtr pose_make_2d(double x, double y, double theta, bool geodetic, int srid) + => SafeExecution(() => MEOSExternalFunctions.pose_make_2d(x, y, theta, geodetic, srid)); - public static IntPtr tgeogpoint_to_tgeography(IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.tgeogpoint_to_tgeography(temp)); + public static IntPtr pose_make_3d(double x, double y, double z, double W, double X, double Y, double Z, bool geodetic, int srid) + => SafeExecution(() => MEOSExternalFunctions.pose_make_3d(x, y, z, W, X, Y, Z, geodetic, srid)); - public static IntPtr tgeography_to_tgeogpoint(IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.tgeography_to_tgeogpoint(temp)); + public static IntPtr pose_make_point2d(IntPtr gs, double theta) + => SafeExecution(() => MEOSExternalFunctions.pose_make_point2d(gs, theta)); - public static IntPtr tgeography_to_tgeometry(IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.tgeography_to_tgeometry(temp)); + public static IntPtr pose_make_point3d(IntPtr gs, double W, double X, double Y, double Z) + => SafeExecution(() => MEOSExternalFunctions.pose_make_point3d(gs, W, X, Y, Z)); - public static IntPtr tgeometry_to_tgeography(IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.tgeometry_to_tgeography(temp)); + public static IntPtr pose_to_point(IntPtr pose) + => SafeExecution(() => MEOSExternalFunctions.pose_to_point(pose)); - public static IntPtr tgeometry_to_tgeompoint(IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.tgeometry_to_tgeompoint(temp)); + public static IntPtr pose_to_stbox(IntPtr pose) + => SafeExecution(() => MEOSExternalFunctions.pose_to_stbox(pose)); - public static IntPtr tgeompoint_to_tgeometry(IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.tgeompoint_to_tgeometry(temp)); + public static int pose_hash(IntPtr pose) + => SafeExecution(() => MEOSExternalFunctions.pose_hash(pose)); - public static (IntPtr[], long[]) tpoint_as_mvtgeom(IntPtr temp, IntPtr bounds, int extent, int buffer, bool clip_geom) + public static IntPtr pose_hash_extended(IntPtr pose, IntPtr seed) + => SafeExecution(() => MEOSExternalFunctions.pose_hash_extended(pose, seed)); + + public static double[] pose_orientation(IntPtr pose) { - IntPtr _out_gsarr = Marshal.AllocHGlobal(IntPtr.Size); - IntPtr _out_timesarr = Marshal.AllocHGlobal(IntPtr.Size); - IntPtr _count_count = Marshal.AllocHGlobal(sizeof(int)); + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); try { - SafeExecution(() => MEOSExternalFunctions.tpoint_as_mvtgeom(temp, bounds, extent, buffer, clip_geom, _out_gsarr, _out_timesarr, _count_count)); - int _n = Marshal.ReadInt32(_count_count); - IntPtr __out_gsarr_arr = Marshal.ReadIntPtr(_out_gsarr); - IntPtr[] __out_gsarr_out = new IntPtr[_n]; - for (int _i = 0; _i < _n; _i++) - { __out_gsarr_out[_i] = Marshal.ReadIntPtr(__out_gsarr_arr, _i * IntPtr.Size); } - IntPtr __out_timesarr_arr = Marshal.ReadIntPtr(_out_timesarr); - long[] __out_timesarr_out = new long[_n]; - Marshal.Copy(__out_timesarr_arr, __out_timesarr_out, 0, _n); - return (__out_gsarr_out, __out_timesarr_out); - } - finally - { - Marshal.FreeHGlobal(_out_gsarr); - Marshal.FreeHGlobal(_out_timesarr); - Marshal.FreeHGlobal(_count_count); + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.pose_orientation(pose, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + double[] _out = new double[_n]; + Marshal.Copy(_p, _out, 0, _n); + return _out; } + finally { Marshal.FreeHGlobal(_cnt); } } - public static bool tpoint_tfloat_to_geomeas(IntPtr tpoint, IntPtr measure, bool segmentize, IntPtr result) - => SafeExecution(() => MEOSExternalFunctions.tpoint_tfloat_to_geomeas(tpoint, measure, segmentize, result)); + public static double pose_rotation(IntPtr pose) + => SafeExecution(() => MEOSExternalFunctions.pose_rotation(pose)); + + public static double pose_yaw(IntPtr pose) + => SafeExecution(() => MEOSExternalFunctions.pose_yaw(pose)); + + public static double pose_pitch(IntPtr pose) + => SafeExecution(() => MEOSExternalFunctions.pose_pitch(pose)); + + public static double pose_roll(IntPtr pose) + => SafeExecution(() => MEOSExternalFunctions.pose_roll(pose)); + + public static double pose_angular_distance(IntPtr pose1, IntPtr pose2) + => SafeExecution(() => MEOSExternalFunctions.pose_angular_distance(pose1, pose2)); - public static IntPtr tspatial_to_stbox(IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.tspatial_to_stbox(temp)); + public static IntPtr pose_normalize(IntPtr pose) + => SafeExecution(() => MEOSExternalFunctions.pose_normalize(pose)); - public static bool bearing_point_point(IntPtr gs1, IntPtr gs2, IntPtr result) - => SafeExecution(() => MEOSExternalFunctions.bearing_point_point(gs1, gs2, result)); + public static IntPtr pose_round(IntPtr pose, int maxdd) + => SafeExecution(() => MEOSExternalFunctions.pose_round(pose, maxdd)); - public static IntPtr bearing_tpoint_point(IntPtr temp, IntPtr gs, bool invert) - => SafeExecution(() => MEOSExternalFunctions.bearing_tpoint_point(temp, gs, invert)); + public static IntPtr posearr_round(IntPtr posearr, int count, int maxdd) + => SafeExecution(() => MEOSExternalFunctions.posearr_round(posearr, count, maxdd)); - public static IntPtr bearing_tpoint_tpoint(IntPtr temp1, IntPtr temp2) - => SafeExecution(() => MEOSExternalFunctions.bearing_tpoint_tpoint(temp1, temp2)); + public static void pose_set_srid(IntPtr pose, int srid) + => SafeExecution(() => MEOSExternalFunctions.pose_set_srid(pose, srid)); - public static IntPtr tgeo_centroid(IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.tgeo_centroid(temp)); + public static int pose_srid(IntPtr pose) + => SafeExecution(() => MEOSExternalFunctions.pose_srid(pose)); - public static IntPtr tgeo_convex_hull(IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.tgeo_convex_hull(temp)); + public static IntPtr pose_transform(IntPtr pose, int srid) + => SafeExecution(() => MEOSExternalFunctions.pose_transform(pose, srid)); - public static IntPtr tgeo_end_value(IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.tgeo_end_value(temp)); + public static IntPtr pose_transform_pipeline(IntPtr pose, string pipelinestr, int srid, bool is_forward) + => SafeExecution(() => MEOSExternalFunctions.pose_transform_pipeline(pose, pipelinestr, srid, is_forward)); - public static IntPtr tgeo_start_value(IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.tgeo_start_value(temp)); + public static IntPtr pose_tstzspan_to_stbox(IntPtr pose, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.pose_tstzspan_to_stbox(pose, s)); - public static IntPtr tgeo_traversed_area(IntPtr temp, bool unary_union) - => SafeExecution(() => MEOSExternalFunctions.tgeo_traversed_area(temp, unary_union)); + public static IntPtr pose_timestamptz_to_stbox(IntPtr pose, long t) + => SafeExecution(() => MEOSExternalFunctions.pose_timestamptz_to_stbox(pose, t)); - public static bool tgeo_value_at_timestamptz(IntPtr temp, long t, bool strict, IntPtr value) - => SafeExecution(() => MEOSExternalFunctions.tgeo_value_at_timestamptz(temp, t, strict, value)); + public static double distance_pose_geo(IntPtr pose, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.distance_pose_geo(pose, gs)); - public static bool tgeo_value_n(IntPtr temp, int n, IntPtr result) - => SafeExecution(() => MEOSExternalFunctions.tgeo_value_n(temp, n, result)); + public static double distance_pose_pose(IntPtr pose1, IntPtr pose2) + => SafeExecution(() => MEOSExternalFunctions.distance_pose_pose(pose1, pose2)); - public static IntPtr tgeo_values(IntPtr temp, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.tgeo_values(temp, count)); + public static double distance_pose_stbox(IntPtr pose, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.distance_pose_stbox(pose, box)); - public static IntPtr tpoint_angular_difference(IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.tpoint_angular_difference(temp)); + public static int pose_cmp(IntPtr pose1, IntPtr pose2) + => SafeExecution(() => MEOSExternalFunctions.pose_cmp(pose1, pose2)); - public static IntPtr tpoint_azimuth(IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.tpoint_azimuth(temp)); + public static bool pose_eq(IntPtr pose1, IntPtr pose2) + => SafeExecution(() => MEOSExternalFunctions.pose_eq(pose1, pose2)); - public static IntPtr tpoint_cumulative_length(IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.tpoint_cumulative_length(temp)); + public static bool pose_ge(IntPtr pose1, IntPtr pose2) + => SafeExecution(() => MEOSExternalFunctions.pose_ge(pose1, pose2)); - public static bool tpoint_direction(IntPtr temp, IntPtr result) - => SafeExecution(() => MEOSExternalFunctions.tpoint_direction(temp, result)); + public static bool pose_gt(IntPtr pose1, IntPtr pose2) + => SafeExecution(() => MEOSExternalFunctions.pose_gt(pose1, pose2)); - public static IntPtr tpoint_get_x(IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.tpoint_get_x(temp)); + public static bool pose_le(IntPtr pose1, IntPtr pose2) + => SafeExecution(() => MEOSExternalFunctions.pose_le(pose1, pose2)); - public static IntPtr tpoint_get_y(IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.tpoint_get_y(temp)); + public static bool pose_lt(IntPtr pose1, IntPtr pose2) + => SafeExecution(() => MEOSExternalFunctions.pose_lt(pose1, pose2)); - public static IntPtr tpoint_get_z(IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.tpoint_get_z(temp)); + public static bool pose_ne(IntPtr pose1, IntPtr pose2) + => SafeExecution(() => MEOSExternalFunctions.pose_ne(pose1, pose2)); - public static bool tpoint_is_simple(IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.tpoint_is_simple(temp)); + public static bool pose_nsame(IntPtr pose1, IntPtr pose2) + => SafeExecution(() => MEOSExternalFunctions.pose_nsame(pose1, pose2)); - public static double tpoint_length(IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.tpoint_length(temp)); + public static bool pose_same(IntPtr pose1, IntPtr pose2) + => SafeExecution(() => MEOSExternalFunctions.pose_same(pose1, pose2)); - public static IntPtr tpoint_speed(IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.tpoint_speed(temp)); + public static IntPtr poseset_in(string str) + => SafeExecution(() => MEOSExternalFunctions.poseset_in(str)); - public static IntPtr tpoint_trajectory(IntPtr temp, bool unary_union) - => SafeExecution(() => MEOSExternalFunctions.tpoint_trajectory(temp, unary_union)); + public static string poseset_out(IntPtr s, int maxdd) + => SafeExecution(() => MEOSExternalFunctions.poseset_out(s, maxdd)); - public static IntPtr tpoint_twcentroid(IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.tpoint_twcentroid(temp)); + public static IntPtr poseset_make(IntPtr values, int count) + => SafeExecution(() => MEOSExternalFunctions.poseset_make(values, count)); - public static IntPtr tgeo_affine(IntPtr temp, IntPtr a) - => SafeExecution(() => MEOSExternalFunctions.tgeo_affine(temp, a)); + public static IntPtr pose_to_set(IntPtr pose) + => SafeExecution(() => MEOSExternalFunctions.pose_to_set(pose)); - public static IntPtr tgeo_scale(IntPtr temp, IntPtr scale, IntPtr sorigin) - => SafeExecution(() => MEOSExternalFunctions.tgeo_scale(temp, scale, sorigin)); + public static IntPtr poseset_end_value(IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.poseset_end_value(s)); - public static IntPtr tpoint_make_simple(IntPtr temp, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.tpoint_make_simple(temp, count)); + public static IntPtr poseset_start_value(IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.poseset_start_value(s)); - public static int tspatial_srid(IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.tspatial_srid(temp)); + public static bool poseset_value_n(IntPtr s, int n, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.poseset_value_n(s, n, result)); - public static IntPtr tspatial_set_srid(IntPtr temp, int srid) - => SafeExecution(() => MEOSExternalFunctions.tspatial_set_srid(temp, srid)); + public static IntPtr[] poseset_values(IntPtr s) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.poseset_values(s, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } - public static IntPtr tspatial_transform(IntPtr temp, int srid) - => SafeExecution(() => MEOSExternalFunctions.tspatial_transform(temp, srid)); + public static bool contained_pose_set(IntPtr pose, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.contained_pose_set(pose, s)); - public static IntPtr tspatial_transform_pipeline(IntPtr temp, string pipelinestr, int srid, bool is_forward) - => SafeExecution(() => MEOSExternalFunctions.tspatial_transform_pipeline(temp, pipelinestr, srid, is_forward)); + public static bool contains_set_pose(IntPtr s, IntPtr pose) + => SafeExecution(() => MEOSExternalFunctions.contains_set_pose(s, pose)); - public static IntPtr tgeo_at_geom(IntPtr temp, IntPtr gs) - => SafeExecution(() => MEOSExternalFunctions.tgeo_at_geom(temp, gs)); + public static IntPtr intersection_pose_set(IntPtr pose, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.intersection_pose_set(pose, s)); - public static IntPtr tgeo_at_stbox(IntPtr temp, IntPtr box, bool border_inc) - => SafeExecution(() => MEOSExternalFunctions.tgeo_at_stbox(temp, box, border_inc)); + public static IntPtr intersection_set_pose(IntPtr s, IntPtr pose) + => SafeExecution(() => MEOSExternalFunctions.intersection_set_pose(s, pose)); - public static IntPtr tgeo_at_value(IntPtr temp, IntPtr gs) - => SafeExecution(() => MEOSExternalFunctions.tgeo_at_value(temp, gs)); + public static IntPtr minus_pose_set(IntPtr pose, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.minus_pose_set(pose, s)); - public static IntPtr tgeo_minus_geom(IntPtr temp, IntPtr gs) - => SafeExecution(() => MEOSExternalFunctions.tgeo_minus_geom(temp, gs)); + public static IntPtr minus_set_pose(IntPtr s, IntPtr pose) + => SafeExecution(() => MEOSExternalFunctions.minus_set_pose(s, pose)); - public static IntPtr tgeo_minus_stbox(IntPtr temp, IntPtr box, bool border_inc) - => SafeExecution(() => MEOSExternalFunctions.tgeo_minus_stbox(temp, box, border_inc)); + public static IntPtr pose_union_transfn(IntPtr state, IntPtr pose) + => SafeExecution(() => MEOSExternalFunctions.pose_union_transfn(state, pose)); - public static IntPtr tgeo_minus_value(IntPtr temp, IntPtr gs) - => SafeExecution(() => MEOSExternalFunctions.tgeo_minus_value(temp, gs)); + public static IntPtr union_pose_set(IntPtr pose, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.union_pose_set(pose, s)); - public static IntPtr tpoint_at_geom(IntPtr temp, IntPtr gs, IntPtr zspan) - => SafeExecution(() => MEOSExternalFunctions.tpoint_at_geom(temp, gs, zspan)); + public static IntPtr union_set_pose(IntPtr s, IntPtr pose) + => SafeExecution(() => MEOSExternalFunctions.union_set_pose(s, pose)); - public static IntPtr tpoint_at_value(IntPtr temp, IntPtr gs) - => SafeExecution(() => MEOSExternalFunctions.tpoint_at_value(temp, gs)); + public static IntPtr tpose_from_mfjson(string str) + => SafeExecution(() => MEOSExternalFunctions.tpose_from_mfjson(str)); - public static IntPtr tpoint_minus_geom(IntPtr temp, IntPtr gs, IntPtr zspan) - => SafeExecution(() => MEOSExternalFunctions.tpoint_minus_geom(temp, gs, zspan)); + public static IntPtr tpose_in(string str) + => SafeExecution(() => MEOSExternalFunctions.tpose_in(str)); - public static IntPtr tpoint_minus_value(IntPtr temp, IntPtr gs) - => SafeExecution(() => MEOSExternalFunctions.tpoint_minus_value(temp, gs)); + public static IntPtr tposeinst_make(IntPtr pose, long t) + => SafeExecution(() => MEOSExternalFunctions.tposeinst_make(pose, t)); - public static int always_eq_geo_tgeo(IntPtr gs, IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.always_eq_geo_tgeo(gs, temp)); + public static IntPtr tpose_from_base_temp(IntPtr pose, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tpose_from_base_temp(pose, temp)); - public static int always_eq_tgeo_geo(IntPtr temp, IntPtr gs) - => SafeExecution(() => MEOSExternalFunctions.always_eq_tgeo_geo(temp, gs)); + public static IntPtr tposeseq_from_base_tstzset(IntPtr pose, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.tposeseq_from_base_tstzset(pose, s)); - public static int always_eq_tgeo_tgeo(IntPtr temp1, IntPtr temp2) - => SafeExecution(() => MEOSExternalFunctions.always_eq_tgeo_tgeo(temp1, temp2)); + public static IntPtr tposeseq_from_base_tstzspan(IntPtr pose, IntPtr s, int interp) + => SafeExecution(() => MEOSExternalFunctions.tposeseq_from_base_tstzspan(pose, s, interp)); - public static int always_ne_geo_tgeo(IntPtr gs, IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.always_ne_geo_tgeo(gs, temp)); + public static IntPtr tposeseqset_from_base_tstzspanset(IntPtr pose, IntPtr ss, int interp) + => SafeExecution(() => MEOSExternalFunctions.tposeseqset_from_base_tstzspanset(pose, ss, interp)); - public static int always_ne_tgeo_geo(IntPtr temp, IntPtr gs) - => SafeExecution(() => MEOSExternalFunctions.always_ne_tgeo_geo(temp, gs)); + public static IntPtr tpose_make(IntPtr tpoint, IntPtr tradius) + => SafeExecution(() => MEOSExternalFunctions.tpose_make(tpoint, tradius)); - public static int always_ne_tgeo_tgeo(IntPtr temp1, IntPtr temp2) - => SafeExecution(() => MEOSExternalFunctions.always_ne_tgeo_tgeo(temp1, temp2)); + public static IntPtr tpose_to_tpoint(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tpose_to_tpoint(temp)); - public static int ever_eq_geo_tgeo(IntPtr gs, IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.ever_eq_geo_tgeo(gs, temp)); + public static IntPtr tpose_end_value(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tpose_end_value(temp)); - public static int ever_eq_tgeo_geo(IntPtr temp, IntPtr gs) - => SafeExecution(() => MEOSExternalFunctions.ever_eq_tgeo_geo(temp, gs)); + public static IntPtr tpose_points(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tpose_points(temp)); - public static int ever_eq_tgeo_tgeo(IntPtr temp1, IntPtr temp2) - => SafeExecution(() => MEOSExternalFunctions.ever_eq_tgeo_tgeo(temp1, temp2)); + public static IntPtr tpose_rotation(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tpose_rotation(temp)); - public static int ever_ne_geo_tgeo(IntPtr gs, IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.ever_ne_geo_tgeo(gs, temp)); + public static IntPtr tpose_yaw(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tpose_yaw(temp)); - public static int ever_ne_tgeo_geo(IntPtr temp, IntPtr gs) - => SafeExecution(() => MEOSExternalFunctions.ever_ne_tgeo_geo(temp, gs)); + public static IntPtr tpose_pitch(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tpose_pitch(temp)); - public static int ever_ne_tgeo_tgeo(IntPtr temp1, IntPtr temp2) - => SafeExecution(() => MEOSExternalFunctions.ever_ne_tgeo_tgeo(temp1, temp2)); + public static IntPtr tpose_roll(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tpose_roll(temp)); - public static IntPtr teq_geo_tgeo(IntPtr gs, IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.teq_geo_tgeo(gs, temp)); + public static IntPtr tpose_speed(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tpose_speed(temp)); - public static IntPtr teq_tgeo_geo(IntPtr temp, IntPtr gs) - => SafeExecution(() => MEOSExternalFunctions.teq_tgeo_geo(temp, gs)); + public static IntPtr tpose_angular_speed(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tpose_angular_speed(temp)); - public static IntPtr tne_geo_tgeo(IntPtr gs, IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.tne_geo_tgeo(gs, temp)); + public static IntPtr tpose_start_value(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tpose_start_value(temp)); - public static IntPtr tne_tgeo_geo(IntPtr temp, IntPtr gs) - => SafeExecution(() => MEOSExternalFunctions.tne_tgeo_geo(temp, gs)); + public static IntPtr tpose_trajectory(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tpose_trajectory(temp)); - public static IntPtr tgeo_stboxes(IntPtr temp, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.tgeo_stboxes(temp, count)); + public static bool tpose_value_at_timestamptz(IntPtr temp, long t, bool strict, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.tpose_value_at_timestamptz(temp, t, strict, result)); - public static IntPtr tgeo_space_boxes(IntPtr temp, double xsize, double ysize, double zsize, IntPtr sorigin, bool bitmatrix, bool border_inc, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.tgeo_space_boxes(temp, xsize, ysize, zsize, sorigin, bitmatrix, border_inc, count)); + public static bool tpose_value_n(IntPtr temp, int n, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.tpose_value_n(temp, n, result)); - public static IntPtr tgeo_space_time_boxes(IntPtr temp, double xsize, double ysize, double zsize, IntPtr duration, IntPtr sorigin, long torigin, bool bitmatrix, bool border_inc, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.tgeo_space_time_boxes(temp, xsize, ysize, zsize, duration, sorigin, torigin, bitmatrix, border_inc, count)); + public static IntPtr[] tpose_values(IntPtr temp) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tpose_values(temp, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } - public static IntPtr tgeo_split_each_n_stboxes(IntPtr temp, int elem_count, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.tgeo_split_each_n_stboxes(temp, elem_count, count)); + public static IntPtr tpose_at_geom(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.tpose_at_geom(temp, gs)); - public static IntPtr tgeo_split_n_stboxes(IntPtr temp, int box_count, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.tgeo_split_n_stboxes(temp, box_count, count)); + public static IntPtr tpose_at_stbox(IntPtr temp, IntPtr box, bool border_inc) + => SafeExecution(() => MEOSExternalFunctions.tpose_at_stbox(temp, box, border_inc)); - public static bool adjacent_stbox_tspatial(IntPtr box, IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.adjacent_stbox_tspatial(box, temp)); + public static IntPtr tpose_at_pose(IntPtr temp, IntPtr pose) + => SafeExecution(() => MEOSExternalFunctions.tpose_at_pose(temp, pose)); - public static bool adjacent_tspatial_stbox(IntPtr temp, IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.adjacent_tspatial_stbox(temp, box)); + public static IntPtr tpose_minus_geom(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.tpose_minus_geom(temp, gs)); - public static bool adjacent_tspatial_tspatial(IntPtr temp1, IntPtr temp2) - => SafeExecution(() => MEOSExternalFunctions.adjacent_tspatial_tspatial(temp1, temp2)); + public static IntPtr tpose_minus_pose(IntPtr temp, IntPtr pose) + => SafeExecution(() => MEOSExternalFunctions.tpose_minus_pose(temp, pose)); - public static bool contained_stbox_tspatial(IntPtr box, IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.contained_stbox_tspatial(box, temp)); + public static IntPtr tpose_minus_stbox(IntPtr temp, IntPtr box, bool border_inc) + => SafeExecution(() => MEOSExternalFunctions.tpose_minus_stbox(temp, box, border_inc)); - public static bool contained_tspatial_stbox(IntPtr temp, IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.contained_tspatial_stbox(temp, box)); + public static IntPtr tdistance_tpose_pose(IntPtr temp, IntPtr pose) + => SafeExecution(() => MEOSExternalFunctions.tdistance_tpose_pose(temp, pose)); - public static bool contained_tspatial_tspatial(IntPtr temp1, IntPtr temp2) - => SafeExecution(() => MEOSExternalFunctions.contained_tspatial_tspatial(temp1, temp2)); + public static IntPtr tdistance_tpose_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.tdistance_tpose_geo(temp, gs)); - public static bool contains_stbox_tspatial(IntPtr box, IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.contains_stbox_tspatial(box, temp)); + public static IntPtr tdistance_tpose_tpose(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.tdistance_tpose_tpose(temp1, temp2)); - public static bool contains_tspatial_stbox(IntPtr temp, IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.contains_tspatial_stbox(temp, box)); + public static double nad_tpose_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.nad_tpose_geo(temp, gs)); - public static bool contains_tspatial_tspatial(IntPtr temp1, IntPtr temp2) - => SafeExecution(() => MEOSExternalFunctions.contains_tspatial_tspatial(temp1, temp2)); + public static double nad_tpose_pose(IntPtr temp, IntPtr pose) + => SafeExecution(() => MEOSExternalFunctions.nad_tpose_pose(temp, pose)); - public static bool overlaps_stbox_tspatial(IntPtr box, IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.overlaps_stbox_tspatial(box, temp)); + public static double nad_tpose_stbox(IntPtr temp, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.nad_tpose_stbox(temp, box)); - public static bool overlaps_tspatial_stbox(IntPtr temp, IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.overlaps_tspatial_stbox(temp, box)); + public static double nad_tpose_tpose(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.nad_tpose_tpose(temp1, temp2)); - public static bool overlaps_tspatial_tspatial(IntPtr temp1, IntPtr temp2) - => SafeExecution(() => MEOSExternalFunctions.overlaps_tspatial_tspatial(temp1, temp2)); + public static IntPtr nai_tpose_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.nai_tpose_geo(temp, gs)); - public static bool same_stbox_tspatial(IntPtr box, IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.same_stbox_tspatial(box, temp)); + public static IntPtr nai_tpose_pose(IntPtr temp, IntPtr pose) + => SafeExecution(() => MEOSExternalFunctions.nai_tpose_pose(temp, pose)); - public static bool same_tspatial_stbox(IntPtr temp, IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.same_tspatial_stbox(temp, box)); + public static IntPtr nai_tpose_tpose(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.nai_tpose_tpose(temp1, temp2)); - public static bool same_tspatial_tspatial(IntPtr temp1, IntPtr temp2) - => SafeExecution(() => MEOSExternalFunctions.same_tspatial_tspatial(temp1, temp2)); + public static IntPtr shortestline_tpose_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.shortestline_tpose_geo(temp, gs)); - public static bool above_stbox_tspatial(IntPtr box, IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.above_stbox_tspatial(box, temp)); + public static IntPtr shortestline_tpose_pose(IntPtr temp, IntPtr pose) + => SafeExecution(() => MEOSExternalFunctions.shortestline_tpose_pose(temp, pose)); - public static bool above_tspatial_stbox(IntPtr temp, IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.above_tspatial_stbox(temp, box)); + public static IntPtr shortestline_tpose_tpose(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.shortestline_tpose_tpose(temp1, temp2)); - public static bool above_tspatial_tspatial(IntPtr temp1, IntPtr temp2) - => SafeExecution(() => MEOSExternalFunctions.above_tspatial_tspatial(temp1, temp2)); + public static int always_eq_pose_tpose(IntPtr pose, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.always_eq_pose_tpose(pose, temp)); - public static bool after_stbox_tspatial(IntPtr box, IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.after_stbox_tspatial(box, temp)); + public static int always_eq_tpose_pose(IntPtr temp, IntPtr pose) + => SafeExecution(() => MEOSExternalFunctions.always_eq_tpose_pose(temp, pose)); - public static bool after_tspatial_stbox(IntPtr temp, IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.after_tspatial_stbox(temp, box)); + public static int always_eq_tpose_tpose(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.always_eq_tpose_tpose(temp1, temp2)); - public static bool after_tspatial_tspatial(IntPtr temp1, IntPtr temp2) - => SafeExecution(() => MEOSExternalFunctions.after_tspatial_tspatial(temp1, temp2)); + public static int always_ne_pose_tpose(IntPtr pose, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.always_ne_pose_tpose(pose, temp)); - public static bool back_stbox_tspatial(IntPtr box, IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.back_stbox_tspatial(box, temp)); + public static int always_ne_tpose_pose(IntPtr temp, IntPtr pose) + => SafeExecution(() => MEOSExternalFunctions.always_ne_tpose_pose(temp, pose)); - public static bool back_tspatial_stbox(IntPtr temp, IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.back_tspatial_stbox(temp, box)); + public static int always_ne_tpose_tpose(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.always_ne_tpose_tpose(temp1, temp2)); - public static bool back_tspatial_tspatial(IntPtr temp1, IntPtr temp2) - => SafeExecution(() => MEOSExternalFunctions.back_tspatial_tspatial(temp1, temp2)); + public static int ever_eq_pose_tpose(IntPtr pose, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.ever_eq_pose_tpose(pose, temp)); - public static bool before_stbox_tspatial(IntPtr box, IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.before_stbox_tspatial(box, temp)); + public static int ever_eq_tpose_pose(IntPtr temp, IntPtr pose) + => SafeExecution(() => MEOSExternalFunctions.ever_eq_tpose_pose(temp, pose)); - public static bool before_tspatial_stbox(IntPtr temp, IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.before_tspatial_stbox(temp, box)); + public static int ever_eq_tpose_tpose(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.ever_eq_tpose_tpose(temp1, temp2)); - public static bool before_tspatial_tspatial(IntPtr temp1, IntPtr temp2) - => SafeExecution(() => MEOSExternalFunctions.before_tspatial_tspatial(temp1, temp2)); + public static int ever_ne_pose_tpose(IntPtr pose, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.ever_ne_pose_tpose(pose, temp)); - public static bool below_stbox_tspatial(IntPtr box, IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.below_stbox_tspatial(box, temp)); + public static int ever_ne_tpose_pose(IntPtr temp, IntPtr pose) + => SafeExecution(() => MEOSExternalFunctions.ever_ne_tpose_pose(temp, pose)); - public static bool below_tspatial_stbox(IntPtr temp, IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.below_tspatial_stbox(temp, box)); + public static int ever_ne_tpose_tpose(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.ever_ne_tpose_tpose(temp1, temp2)); - public static bool below_tspatial_tspatial(IntPtr temp1, IntPtr temp2) - => SafeExecution(() => MEOSExternalFunctions.below_tspatial_tspatial(temp1, temp2)); + public static IntPtr teq_pose_tpose(IntPtr pose, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.teq_pose_tpose(pose, temp)); - public static bool front_stbox_tspatial(IntPtr box, IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.front_stbox_tspatial(box, temp)); + public static IntPtr teq_tpose_pose(IntPtr temp, IntPtr pose) + => SafeExecution(() => MEOSExternalFunctions.teq_tpose_pose(temp, pose)); - public static bool front_tspatial_stbox(IntPtr temp, IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.front_tspatial_stbox(temp, box)); + public static IntPtr tne_pose_tpose(IntPtr pose, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tne_pose_tpose(pose, temp)); - public static bool front_tspatial_tspatial(IntPtr temp1, IntPtr temp2) - => SafeExecution(() => MEOSExternalFunctions.front_tspatial_tspatial(temp1, temp2)); + public static IntPtr tne_tpose_pose(IntPtr temp, IntPtr pose) + => SafeExecution(() => MEOSExternalFunctions.tne_tpose_pose(temp, pose)); - public static bool left_stbox_tspatial(IntPtr box, IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.left_stbox_tspatial(box, temp)); + public static bool quadbin_is_valid_index(IntPtr index) + => SafeExecution(() => MEOSExternalFunctions.quadbin_is_valid_index(index)); - public static bool left_tspatial_stbox(IntPtr temp, IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.left_tspatial_stbox(temp, box)); + public static bool quadbin_is_valid_cell(IntPtr cell) + => SafeExecution(() => MEOSExternalFunctions.quadbin_is_valid_cell(cell)); - public static bool left_tspatial_tspatial(IntPtr temp1, IntPtr temp2) - => SafeExecution(() => MEOSExternalFunctions.left_tspatial_tspatial(temp1, temp2)); + public static IntPtr quadbin_tile_to_cell(uint x, uint y, uint z) + => SafeExecution(() => MEOSExternalFunctions.quadbin_tile_to_cell(x, y, z)); - public static bool overabove_stbox_tspatial(IntPtr box, IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.overabove_stbox_tspatial(box, temp)); + public static void quadbin_cell_to_tile(IntPtr cell, IntPtr x, IntPtr y, IntPtr z) + => SafeExecution(() => MEOSExternalFunctions.quadbin_cell_to_tile(cell, x, y, z)); - public static bool overabove_tspatial_stbox(IntPtr temp, IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.overabove_tspatial_stbox(temp, box)); + public static uint quadbin_get_resolution(IntPtr cell) + => SafeExecution(() => MEOSExternalFunctions.quadbin_get_resolution(cell)); - public static bool overabove_tspatial_tspatial(IntPtr temp1, IntPtr temp2) - => SafeExecution(() => MEOSExternalFunctions.overabove_tspatial_tspatial(temp1, temp2)); + public static IntPtr quadbin_cell_to_parent(IntPtr cell, uint parent_resolution) + => SafeExecution(() => MEOSExternalFunctions.quadbin_cell_to_parent(cell, parent_resolution)); - public static bool overafter_stbox_tspatial(IntPtr box, IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.overafter_stbox_tspatial(box, temp)); + public static IntPtr[] quadbin_cell_to_children(IntPtr cell, uint children_resolution) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.quadbin_cell_to_children(cell, children_resolution, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } - public static bool overafter_tspatial_stbox(IntPtr temp, IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.overafter_tspatial_stbox(temp, box)); + public static IntPtr quadbin_cell_sibling(IntPtr cell, string direction) + => SafeExecution(() => MEOSExternalFunctions.quadbin_cell_sibling(cell, direction)); - public static bool overafter_tspatial_tspatial(IntPtr temp1, IntPtr temp2) - => SafeExecution(() => MEOSExternalFunctions.overafter_tspatial_tspatial(temp1, temp2)); + public static IntPtr[] quadbin_k_ring(IntPtr cell, int k) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.quadbin_k_ring(cell, k, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } - public static bool overback_stbox_tspatial(IntPtr box, IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.overback_stbox_tspatial(box, temp)); + public static IntPtr quadbin_point_to_cell(double longitude, double latitude, uint resolution) + => SafeExecution(() => MEOSExternalFunctions.quadbin_point_to_cell(longitude, latitude, resolution)); - public static bool overback_tspatial_stbox(IntPtr temp, IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.overback_tspatial_stbox(temp, box)); + public static void quadbin_cell_to_point(IntPtr cell, IntPtr longitude, IntPtr latitude) + => SafeExecution(() => MEOSExternalFunctions.quadbin_cell_to_point(cell, longitude, latitude)); - public static bool overback_tspatial_tspatial(IntPtr temp1, IntPtr temp2) - => SafeExecution(() => MEOSExternalFunctions.overback_tspatial_tspatial(temp1, temp2)); + public static void quadbin_cell_to_bounding_box(IntPtr cell, IntPtr xmin, IntPtr ymin, IntPtr xmax, IntPtr ymax) + => SafeExecution(() => MEOSExternalFunctions.quadbin_cell_to_bounding_box(cell, xmin, ymin, xmax, ymax)); - public static bool overbefore_stbox_tspatial(IntPtr box, IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.overbefore_stbox_tspatial(box, temp)); + public static double quadbin_cell_area(IntPtr cell) + => SafeExecution(() => MEOSExternalFunctions.quadbin_cell_area(cell)); - public static bool overbefore_tspatial_stbox(IntPtr temp, IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.overbefore_tspatial_stbox(temp, box)); + public static string quadbin_index_to_string(IntPtr index) + => SafeExecution(() => MEOSExternalFunctions.quadbin_index_to_string(index)); - public static bool overbefore_tspatial_tspatial(IntPtr temp1, IntPtr temp2) - => SafeExecution(() => MEOSExternalFunctions.overbefore_tspatial_tspatial(temp1, temp2)); + public static IntPtr quadbin_string_to_index(string str) + => SafeExecution(() => MEOSExternalFunctions.quadbin_string_to_index(str)); - public static bool overbelow_stbox_tspatial(IntPtr box, IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.overbelow_stbox_tspatial(box, temp)); + public static string quadbin_cell_to_quadkey(IntPtr cell) + => SafeExecution(() => MEOSExternalFunctions.quadbin_cell_to_quadkey(cell)); - public static bool overbelow_tspatial_stbox(IntPtr temp, IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.overbelow_tspatial_stbox(temp, box)); + public static IntPtr quadbin_parse(string str) + => SafeExecution(() => MEOSExternalFunctions.quadbin_parse(str)); - public static bool overbelow_tspatial_tspatial(IntPtr temp1, IntPtr temp2) - => SafeExecution(() => MEOSExternalFunctions.overbelow_tspatial_tspatial(temp1, temp2)); + public static bool quadbin_eq(IntPtr a, IntPtr b) + => SafeExecution(() => MEOSExternalFunctions.quadbin_eq(a, b)); - public static bool overfront_stbox_tspatial(IntPtr box, IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.overfront_stbox_tspatial(box, temp)); + public static bool quadbin_ne(IntPtr a, IntPtr b) + => SafeExecution(() => MEOSExternalFunctions.quadbin_ne(a, b)); - public static bool overfront_tspatial_stbox(IntPtr temp, IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.overfront_tspatial_stbox(temp, box)); + public static bool quadbin_lt(IntPtr a, IntPtr b) + => SafeExecution(() => MEOSExternalFunctions.quadbin_lt(a, b)); - public static bool overfront_tspatial_tspatial(IntPtr temp1, IntPtr temp2) - => SafeExecution(() => MEOSExternalFunctions.overfront_tspatial_tspatial(temp1, temp2)); + public static bool quadbin_le(IntPtr a, IntPtr b) + => SafeExecution(() => MEOSExternalFunctions.quadbin_le(a, b)); - public static bool overleft_stbox_tspatial(IntPtr box, IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.overleft_stbox_tspatial(box, temp)); + public static bool quadbin_gt(IntPtr a, IntPtr b) + => SafeExecution(() => MEOSExternalFunctions.quadbin_gt(a, b)); - public static bool overleft_tspatial_stbox(IntPtr temp, IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.overleft_tspatial_stbox(temp, box)); + public static bool quadbin_ge(IntPtr a, IntPtr b) + => SafeExecution(() => MEOSExternalFunctions.quadbin_ge(a, b)); - public static bool overleft_tspatial_tspatial(IntPtr temp1, IntPtr temp2) - => SafeExecution(() => MEOSExternalFunctions.overleft_tspatial_tspatial(temp1, temp2)); + public static int quadbin_cmp(IntPtr a, IntPtr b) + => SafeExecution(() => MEOSExternalFunctions.quadbin_cmp(a, b)); - public static bool overright_stbox_tspatial(IntPtr box, IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.overright_stbox_tspatial(box, temp)); + public static uint quadbin_hash(IntPtr cell) + => SafeExecution(() => MEOSExternalFunctions.quadbin_hash(cell)); + + public static IntPtr quadbin_grid_disk(IntPtr origin, int k) + => SafeExecution(() => MEOSExternalFunctions.quadbin_grid_disk(origin, k)); + + public static IntPtr quadbin_cell_to_children_set(IntPtr origin, int children_resolution) + => SafeExecution(() => MEOSExternalFunctions.quadbin_cell_to_children_set(origin, children_resolution)); + + public static IntPtr tquadbin_in(string str) + => SafeExecution(() => MEOSExternalFunctions.tquadbin_in(str)); + + public static IntPtr tquadbininst_in(string str) + => SafeExecution(() => MEOSExternalFunctions.tquadbininst_in(str)); + + public static IntPtr tquadbinseq_in(string str, int interp) + => SafeExecution(() => MEOSExternalFunctions.tquadbinseq_in(str, interp)); + + public static IntPtr tquadbinseqset_in(string str) + => SafeExecution(() => MEOSExternalFunctions.tquadbinseqset_in(str)); + + public static IntPtr tquadbin_make(IntPtr value, long t) + => SafeExecution(() => MEOSExternalFunctions.tquadbin_make(value, t)); + + public static IntPtr tquadbininst_make(IntPtr value, long t) + => SafeExecution(() => MEOSExternalFunctions.tquadbininst_make(value, t)); + + public static IntPtr tquadbinseq_make(IntPtr values, IntPtr times, int count, bool lower_inc, bool upper_inc) + => SafeExecution(() => MEOSExternalFunctions.tquadbinseq_make(values, times, count, lower_inc, upper_inc)); + + public static IntPtr tquadbinseqset_make(IntPtr sequences, int count) + => SafeExecution(() => MEOSExternalFunctions.tquadbinseqset_make(sequences, count)); - public static bool overright_tspatial_stbox(IntPtr temp, IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.overright_tspatial_stbox(temp, box)); + public static IntPtr tquadbin_start_value(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tquadbin_start_value(temp)); - public static bool overright_tspatial_tspatial(IntPtr temp1, IntPtr temp2) - => SafeExecution(() => MEOSExternalFunctions.overright_tspatial_tspatial(temp1, temp2)); + public static IntPtr tquadbin_end_value(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tquadbin_end_value(temp)); - public static bool right_stbox_tspatial(IntPtr box, IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.right_stbox_tspatial(box, temp)); + public static bool tquadbin_value_n(IntPtr temp, int n, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.tquadbin_value_n(temp, n, result)); - public static bool right_tspatial_stbox(IntPtr temp, IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.right_tspatial_stbox(temp, box)); + public static IntPtr[] tquadbin_values(IntPtr temp) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tquadbin_values(temp, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } - public static bool right_tspatial_tspatial(IntPtr temp1, IntPtr temp2) - => SafeExecution(() => MEOSExternalFunctions.right_tspatial_tspatial(temp1, temp2)); + public static bool tquadbin_value_at_timestamptz(IntPtr temp, long t, bool strict, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.tquadbin_value_at_timestamptz(temp, t, strict, result)); - public static int acontains_geo_tgeo(IntPtr gs, IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.acontains_geo_tgeo(gs, temp)); + public static IntPtr tbigint_to_tquadbin(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tbigint_to_tquadbin(temp)); - public static int acontains_tgeo_geo(IntPtr temp, IntPtr gs) - => SafeExecution(() => MEOSExternalFunctions.acontains_tgeo_geo(temp, gs)); + public static IntPtr tquadbin_to_tbigint(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tquadbin_to_tbigint(temp)); - public static int acontains_tgeo_tgeo(IntPtr temp1, IntPtr temp2) - => SafeExecution(() => MEOSExternalFunctions.acontains_tgeo_tgeo(temp1, temp2)); + public static int ever_eq_quadbin_tquadbin(IntPtr cell, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.ever_eq_quadbin_tquadbin(cell, temp)); - public static int adisjoint_tgeo_geo(IntPtr temp, IntPtr gs) - => SafeExecution(() => MEOSExternalFunctions.adisjoint_tgeo_geo(temp, gs)); + public static int ever_eq_tquadbin_quadbin(IntPtr temp, IntPtr cell) + => SafeExecution(() => MEOSExternalFunctions.ever_eq_tquadbin_quadbin(temp, cell)); - public static int adisjoint_tgeo_tgeo(IntPtr temp1, IntPtr temp2) - => SafeExecution(() => MEOSExternalFunctions.adisjoint_tgeo_tgeo(temp1, temp2)); + public static int ever_ne_quadbin_tquadbin(IntPtr cell, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.ever_ne_quadbin_tquadbin(cell, temp)); - public static int adwithin_tgeo_geo(IntPtr temp, IntPtr gs, double dist) - => SafeExecution(() => MEOSExternalFunctions.adwithin_tgeo_geo(temp, gs, dist)); + public static int ever_ne_tquadbin_quadbin(IntPtr temp, IntPtr cell) + => SafeExecution(() => MEOSExternalFunctions.ever_ne_tquadbin_quadbin(temp, cell)); - public static int adwithin_tgeo_tgeo(IntPtr temp1, IntPtr temp2, double dist) - => SafeExecution(() => MEOSExternalFunctions.adwithin_tgeo_tgeo(temp1, temp2, dist)); + public static int always_eq_quadbin_tquadbin(IntPtr cell, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.always_eq_quadbin_tquadbin(cell, temp)); - public static int aintersects_tgeo_geo(IntPtr temp, IntPtr gs) - => SafeExecution(() => MEOSExternalFunctions.aintersects_tgeo_geo(temp, gs)); + public static int always_eq_tquadbin_quadbin(IntPtr temp, IntPtr cell) + => SafeExecution(() => MEOSExternalFunctions.always_eq_tquadbin_quadbin(temp, cell)); - public static int aintersects_tgeo_tgeo(IntPtr temp1, IntPtr temp2) - => SafeExecution(() => MEOSExternalFunctions.aintersects_tgeo_tgeo(temp1, temp2)); + public static int always_ne_quadbin_tquadbin(IntPtr cell, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.always_ne_quadbin_tquadbin(cell, temp)); - public static int atouches_tgeo_geo(IntPtr temp, IntPtr gs) - => SafeExecution(() => MEOSExternalFunctions.atouches_tgeo_geo(temp, gs)); + public static int always_ne_tquadbin_quadbin(IntPtr temp, IntPtr cell) + => SafeExecution(() => MEOSExternalFunctions.always_ne_tquadbin_quadbin(temp, cell)); - public static int atouches_tgeo_tgeo(IntPtr temp1, IntPtr temp2) - => SafeExecution(() => MEOSExternalFunctions.atouches_tgeo_tgeo(temp1, temp2)); + public static int ever_eq_tquadbin_tquadbin(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.ever_eq_tquadbin_tquadbin(temp1, temp2)); - public static int atouches_tpoint_geo(IntPtr temp, IntPtr gs) - => SafeExecution(() => MEOSExternalFunctions.atouches_tpoint_geo(temp, gs)); + public static int ever_ne_tquadbin_tquadbin(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.ever_ne_tquadbin_tquadbin(temp1, temp2)); - public static int econtains_geo_tgeo(IntPtr gs, IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.econtains_geo_tgeo(gs, temp)); + public static int always_eq_tquadbin_tquadbin(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.always_eq_tquadbin_tquadbin(temp1, temp2)); - public static int econtains_tgeo_geo(IntPtr temp, IntPtr gs) - => SafeExecution(() => MEOSExternalFunctions.econtains_tgeo_geo(temp, gs)); + public static int always_ne_tquadbin_tquadbin(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.always_ne_tquadbin_tquadbin(temp1, temp2)); - public static int econtains_tgeo_tgeo(IntPtr temp1, IntPtr temp2) - => SafeExecution(() => MEOSExternalFunctions.econtains_tgeo_tgeo(temp1, temp2)); + public static IntPtr teq_quadbin_tquadbin(IntPtr cell, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.teq_quadbin_tquadbin(cell, temp)); - public static int ecovers_geo_tgeo(IntPtr gs, IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.ecovers_geo_tgeo(gs, temp)); + public static IntPtr teq_tquadbin_quadbin(IntPtr temp, IntPtr cell) + => SafeExecution(() => MEOSExternalFunctions.teq_tquadbin_quadbin(temp, cell)); - public static int ecovers_tgeo_geo(IntPtr temp, IntPtr gs) - => SafeExecution(() => MEOSExternalFunctions.ecovers_tgeo_geo(temp, gs)); + public static IntPtr teq_tquadbin_tquadbin(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.teq_tquadbin_tquadbin(temp1, temp2)); - public static int ecovers_tgeo_tgeo(IntPtr temp1, IntPtr temp2) - => SafeExecution(() => MEOSExternalFunctions.ecovers_tgeo_tgeo(temp1, temp2)); + public static IntPtr tne_quadbin_tquadbin(IntPtr cell, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tne_quadbin_tquadbin(cell, temp)); - public static int edisjoint_tgeo_geo(IntPtr temp, IntPtr gs) - => SafeExecution(() => MEOSExternalFunctions.edisjoint_tgeo_geo(temp, gs)); + public static IntPtr tne_tquadbin_quadbin(IntPtr temp, IntPtr cell) + => SafeExecution(() => MEOSExternalFunctions.tne_tquadbin_quadbin(temp, cell)); - public static int edisjoint_tgeo_tgeo(IntPtr temp1, IntPtr temp2) - => SafeExecution(() => MEOSExternalFunctions.edisjoint_tgeo_tgeo(temp1, temp2)); + public static IntPtr tne_tquadbin_tquadbin(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.tne_tquadbin_tquadbin(temp1, temp2)); - public static int edwithin_tgeo_geo(IntPtr temp, IntPtr gs, double dist) - => SafeExecution(() => MEOSExternalFunctions.edwithin_tgeo_geo(temp, gs, dist)); + public static IntPtr tquadbin_cell_to_quadkey(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tquadbin_cell_to_quadkey(temp)); - public static int edwithin_tgeo_tgeo(IntPtr temp1, IntPtr temp2, double dist) - => SafeExecution(() => MEOSExternalFunctions.edwithin_tgeo_tgeo(temp1, temp2, dist)); + public static IntPtr raquet_in(string str) + => SafeExecution(() => MEOSExternalFunctions.raquet_in(str)); - public static int eintersects_tgeo_geo(IntPtr temp, IntPtr gs) - => SafeExecution(() => MEOSExternalFunctions.eintersects_tgeo_geo(temp, gs)); + public static string raquet_out(IntPtr rq) + => SafeExecution(() => MEOSExternalFunctions.raquet_out(rq)); - public static int eintersects_tgeo_tgeo(IntPtr temp1, IntPtr temp2) - => SafeExecution(() => MEOSExternalFunctions.eintersects_tgeo_tgeo(temp1, temp2)); + public static IntPtr raquet_from_wkb(IntPtr wkb, IntPtr size) + => SafeExecution(() => MEOSExternalFunctions.raquet_from_wkb(wkb, size)); - public static int etouches_tgeo_geo(IntPtr temp, IntPtr gs) - => SafeExecution(() => MEOSExternalFunctions.etouches_tgeo_geo(temp, gs)); + public static IntPtr raquet_from_hexwkb(string hexwkb) + => SafeExecution(() => MEOSExternalFunctions.raquet_from_hexwkb(hexwkb)); - public static int etouches_tgeo_tgeo(IntPtr temp1, IntPtr temp2) - => SafeExecution(() => MEOSExternalFunctions.etouches_tgeo_tgeo(temp1, temp2)); + public static IntPtr raquet_as_wkb(IntPtr rq, IntPtr variant, IntPtr size_out) + => SafeExecution(() => MEOSExternalFunctions.raquet_as_wkb(rq, variant, size_out)); - public static int etouches_tpoint_geo(IntPtr temp, IntPtr gs) - => SafeExecution(() => MEOSExternalFunctions.etouches_tpoint_geo(temp, gs)); + public static string raquet_as_hexwkb(IntPtr rq, IntPtr variant, IntPtr size_out) + => SafeExecution(() => MEOSExternalFunctions.raquet_as_hexwkb(rq, variant, size_out)); - public static IntPtr tcontains_geo_tgeo(IntPtr gs, IntPtr temp, bool restr, bool atvalue) - => SafeExecution(() => MEOSExternalFunctions.tcontains_geo_tgeo(gs, temp, restr, atvalue)); + public static IntPtr raquet_make(IntPtr quadbin, IntPtr width, IntPtr height, IntPtr pixtype, double nodata, bool has_nodata, IntPtr pixels) + => SafeExecution(() => MEOSExternalFunctions.raquet_make(quadbin, width, height, pixtype, nodata, has_nodata, pixels)); - public static IntPtr tcontains_tgeo_geo(IntPtr temp, IntPtr gs, bool restr, bool atvalue) - => SafeExecution(() => MEOSExternalFunctions.tcontains_tgeo_geo(temp, gs, restr, atvalue)); + public static IntPtr raquet_copy(IntPtr rq) + => SafeExecution(() => MEOSExternalFunctions.raquet_copy(rq)); - public static IntPtr tcontains_tgeo_tgeo(IntPtr temp1, IntPtr temp2, bool restr, bool atvalue) - => SafeExecution(() => MEOSExternalFunctions.tcontains_tgeo_tgeo(temp1, temp2, restr, atvalue)); + public static IntPtr raquet_read(string path, IntPtr quadbin) + => SafeExecution(() => MEOSExternalFunctions.raquet_read(path, quadbin)); - public static IntPtr tcovers_geo_tgeo(IntPtr gs, IntPtr temp, bool restr, bool atvalue) - => SafeExecution(() => MEOSExternalFunctions.tcovers_geo_tgeo(gs, temp, restr, atvalue)); + public static IntPtr raquet_read_bytes(IntPtr data, IntPtr size, IntPtr quadbin) + => SafeExecution(() => MEOSExternalFunctions.raquet_read_bytes(data, size, quadbin)); - public static IntPtr tcovers_tgeo_geo(IntPtr temp, IntPtr gs, bool restr, bool atvalue) - => SafeExecution(() => MEOSExternalFunctions.tcovers_tgeo_geo(temp, gs, restr, atvalue)); + public static IntPtr raquet_quadbin(IntPtr rq) + => SafeExecution(() => MEOSExternalFunctions.raquet_quadbin(rq)); - public static IntPtr tcovers_tgeo_tgeo(IntPtr temp1, IntPtr temp2, bool restr, bool atvalue) - => SafeExecution(() => MEOSExternalFunctions.tcovers_tgeo_tgeo(temp1, temp2, restr, atvalue)); + public static int raquet_width(IntPtr rq) + => SafeExecution(() => MEOSExternalFunctions.raquet_width(rq)); - public static IntPtr tdisjoint_geo_tgeo(IntPtr gs, IntPtr temp, bool restr, bool atvalue) - => SafeExecution(() => MEOSExternalFunctions.tdisjoint_geo_tgeo(gs, temp, restr, atvalue)); + public static int raquet_height(IntPtr rq) + => SafeExecution(() => MEOSExternalFunctions.raquet_height(rq)); - public static IntPtr tdisjoint_tgeo_geo(IntPtr temp, IntPtr gs, bool restr, bool atvalue) - => SafeExecution(() => MEOSExternalFunctions.tdisjoint_tgeo_geo(temp, gs, restr, atvalue)); + public static double raquet_nodata(IntPtr rq) + => SafeExecution(() => MEOSExternalFunctions.raquet_nodata(rq)); - public static IntPtr tdisjoint_tgeo_tgeo(IntPtr temp1, IntPtr temp2, bool restr, bool atvalue) - => SafeExecution(() => MEOSExternalFunctions.tdisjoint_tgeo_tgeo(temp1, temp2, restr, atvalue)); + public static int raquet_cmp(IntPtr rq1, IntPtr rq2) + => SafeExecution(() => MEOSExternalFunctions.raquet_cmp(rq1, rq2)); - public static IntPtr tdwithin_geo_tgeo(IntPtr gs, IntPtr temp, double dist, bool restr, bool atvalue) - => SafeExecution(() => MEOSExternalFunctions.tdwithin_geo_tgeo(gs, temp, dist, restr, atvalue)); + public static bool raquet_eq(IntPtr rq1, IntPtr rq2) + => SafeExecution(() => MEOSExternalFunctions.raquet_eq(rq1, rq2)); - public static IntPtr tdwithin_tgeo_geo(IntPtr temp, IntPtr gs, double dist, bool restr, bool atvalue) - => SafeExecution(() => MEOSExternalFunctions.tdwithin_tgeo_geo(temp, gs, dist, restr, atvalue)); + public static IntPtr raster_tile_value_quadbin(IntPtr pixels, IntPtr width, IntPtr height, IntPtr quadbin, IntPtr pixtype, double nodata, bool has_nodata, IntPtr traj) + => SafeExecution(() => MEOSExternalFunctions.raster_tile_value_quadbin(pixels, width, height, quadbin, pixtype, nodata, has_nodata, traj)); - public static IntPtr tdwithin_tgeo_tgeo(IntPtr temp1, IntPtr temp2, double dist, bool restr, bool atvalue) - => SafeExecution(() => MEOSExternalFunctions.tdwithin_tgeo_tgeo(temp1, temp2, dist, restr, atvalue)); + public static IntPtr raster_tile_value(IntPtr rq, IntPtr traj) + => SafeExecution(() => MEOSExternalFunctions.raster_tile_value(rq, traj)); - public static IntPtr tintersects_geo_tgeo(IntPtr gs, IntPtr temp, bool restr, bool atvalue) - => SafeExecution(() => MEOSExternalFunctions.tintersects_geo_tgeo(gs, temp, restr, atvalue)); + public static IntPtr[] trajectory_quadbins(IntPtr traj, uint zoom) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.trajectory_quadbins(traj, zoom, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } - public static IntPtr tintersects_tgeo_geo(IntPtr temp, IntPtr gs, bool restr, bool atvalue) - => SafeExecution(() => MEOSExternalFunctions.tintersects_tgeo_geo(temp, gs, restr, atvalue)); + public static string trgeometry_out(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.trgeometry_out(temp)); - public static IntPtr tintersects_tgeo_tgeo(IntPtr temp1, IntPtr temp2, bool restr, bool atvalue) - => SafeExecution(() => MEOSExternalFunctions.tintersects_tgeo_tgeo(temp1, temp2, restr, atvalue)); + public static IntPtr trgeometryinst_make(IntPtr geom, IntPtr pose, long t) + => SafeExecution(() => MEOSExternalFunctions.trgeometryinst_make(geom, pose, t)); - public static IntPtr ttouches_geo_tgeo(IntPtr gs, IntPtr temp, bool restr, bool atvalue) - => SafeExecution(() => MEOSExternalFunctions.ttouches_geo_tgeo(gs, temp, restr, atvalue)); + public static IntPtr geo_tpose_to_trgeometry(IntPtr gs, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.geo_tpose_to_trgeometry(gs, temp)); - public static IntPtr ttouches_tgeo_geo(IntPtr temp, IntPtr gs, bool restr, bool atvalue) - => SafeExecution(() => MEOSExternalFunctions.ttouches_tgeo_geo(temp, gs, restr, atvalue)); + public static IntPtr trgeometry_to_tpose(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.trgeometry_to_tpose(temp)); - public static IntPtr ttouches_tgeo_tgeo(IntPtr temp1, IntPtr temp2, bool restr, bool atvalue) - => SafeExecution(() => MEOSExternalFunctions.ttouches_tgeo_tgeo(temp1, temp2, restr, atvalue)); + public static IntPtr trgeometry_to_tpoint(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.trgeometry_to_tpoint(temp)); - public static IntPtr tdistance_tgeo_geo(IntPtr temp, IntPtr gs) - => SafeExecution(() => MEOSExternalFunctions.tdistance_tgeo_geo(temp, gs)); + public static IntPtr trgeometry_to_tgeometry(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.trgeometry_to_tgeometry(temp)); - public static IntPtr tdistance_tgeo_tgeo(IntPtr temp1, IntPtr temp2) - => SafeExecution(() => MEOSExternalFunctions.tdistance_tgeo_tgeo(temp1, temp2)); + public static IntPtr trgeometry_end_instant(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.trgeometry_end_instant(temp)); - public static double nad_stbox_geo(IntPtr box, IntPtr gs) - => SafeExecution(() => MEOSExternalFunctions.nad_stbox_geo(box, gs)); + public static IntPtr trgeometry_end_sequence(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.trgeometry_end_sequence(temp)); - public static double nad_stbox_stbox(IntPtr box1, IntPtr box2) - => SafeExecution(() => MEOSExternalFunctions.nad_stbox_stbox(box1, box2)); + public static IntPtr trgeometry_end_value(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.trgeometry_end_value(temp)); - public static double nad_tgeo_geo(IntPtr temp, IntPtr gs) - => SafeExecution(() => MEOSExternalFunctions.nad_tgeo_geo(temp, gs)); + public static IntPtr trgeometry_geom(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.trgeometry_geom(temp)); - public static double nad_tgeo_stbox(IntPtr temp, IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.nad_tgeo_stbox(temp, box)); + public static IntPtr trgeometry_instant_n(IntPtr temp, int n) + => SafeExecution(() => MEOSExternalFunctions.trgeometry_instant_n(temp, n)); - public static double nad_tgeo_tgeo(IntPtr temp1, IntPtr temp2) - => SafeExecution(() => MEOSExternalFunctions.nad_tgeo_tgeo(temp1, temp2)); + public static IntPtr[] trgeometry_instants(IntPtr temp) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.trgeometry_instants(temp, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } - public static IntPtr nai_tgeo_geo(IntPtr temp, IntPtr gs) - => SafeExecution(() => MEOSExternalFunctions.nai_tgeo_geo(temp, gs)); + public static IntPtr trgeometry_points(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.trgeometry_points(temp)); - public static IntPtr nai_tgeo_tgeo(IntPtr temp1, IntPtr temp2) - => SafeExecution(() => MEOSExternalFunctions.nai_tgeo_tgeo(temp1, temp2)); + public static IntPtr trgeometry_rotation(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.trgeometry_rotation(temp)); - public static IntPtr shortestline_tgeo_geo(IntPtr temp, IntPtr gs) - => SafeExecution(() => MEOSExternalFunctions.shortestline_tgeo_geo(temp, gs)); + public static IntPtr[] trgeometry_segments(IntPtr temp) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.trgeometry_segments(temp, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } - public static IntPtr shortestline_tgeo_tgeo(IntPtr temp1, IntPtr temp2) - => SafeExecution(() => MEOSExternalFunctions.shortestline_tgeo_tgeo(temp1, temp2)); + public static IntPtr trgeometry_sequence_n(IntPtr temp, int i) + => SafeExecution(() => MEOSExternalFunctions.trgeometry_sequence_n(temp, i)); - public static IntPtr tpoint_tcentroid_finalfn(IntPtr state) - => SafeExecution(() => MEOSExternalFunctions.tpoint_tcentroid_finalfn(state)); + public static IntPtr[] trgeometry_sequences(IntPtr temp) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.trgeometry_sequences(temp, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } - public static IntPtr tpoint_tcentroid_transfn(IntPtr state, IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.tpoint_tcentroid_transfn(state, temp)); + public static IntPtr trgeometry_start_instant(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.trgeometry_start_instant(temp)); - public static IntPtr tspatial_extent_transfn(IntPtr box, IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.tspatial_extent_transfn(box, temp)); + public static IntPtr trgeometry_start_sequence(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.trgeometry_start_sequence(temp)); - public static IntPtr stbox_get_space_tile(IntPtr point, double xsize, double ysize, double zsize, IntPtr sorigin) - => SafeExecution(() => MEOSExternalFunctions.stbox_get_space_tile(point, xsize, ysize, zsize, sorigin)); + public static IntPtr trgeometry_start_value(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.trgeometry_start_value(temp)); - public static IntPtr stbox_get_space_time_tile(IntPtr point, long t, double xsize, double ysize, double zsize, IntPtr duration, IntPtr sorigin, long torigin) - => SafeExecution(() => MEOSExternalFunctions.stbox_get_space_time_tile(point, t, xsize, ysize, zsize, duration, sorigin, torigin)); + public static bool trgeometry_value_n(IntPtr temp, int n, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.trgeometry_value_n(temp, n, result)); - public static IntPtr stbox_get_time_tile(long t, IntPtr duration, long torigin) - => SafeExecution(() => MEOSExternalFunctions.stbox_get_time_tile(t, duration, torigin)); + public static IntPtr trgeometry_traversed_area(IntPtr temp, bool unary_union) + => SafeExecution(() => MEOSExternalFunctions.trgeometry_traversed_area(temp, unary_union)); - public static IntPtr stbox_space_tiles(IntPtr bounds, double xsize, double ysize, double zsize, IntPtr sorigin, bool border_inc, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.stbox_space_tiles(bounds, xsize, ysize, zsize, sorigin, border_inc, count)); + public static IntPtr trgeometry_centroid(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.trgeometry_centroid(temp)); - public static IntPtr stbox_space_time_tiles(IntPtr bounds, double xsize, double ysize, double zsize, IntPtr duration, IntPtr sorigin, long torigin, bool border_inc, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.stbox_space_time_tiles(bounds, xsize, ysize, zsize, duration, sorigin, torigin, border_inc, count)); + public static IntPtr trgeometry_convex_hull(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.trgeometry_convex_hull(temp)); - public static IntPtr stbox_time_tiles(IntPtr bounds, IntPtr duration, long torigin, bool border_inc, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.stbox_time_tiles(bounds, duration, torigin, border_inc, count)); + public static IntPtr trgeometry_body_point_trajectory(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.trgeometry_body_point_trajectory(temp, gs)); - public static (IntPtr[], IntPtr[]) tgeo_space_split(IntPtr temp, double xsize, double ysize, double zsize, IntPtr sorigin, bool bitmatrix, bool border_inc) + public static IntPtr[] trgeometry_space_boxes(IntPtr temp, double xsize, double ysize, double zsize, IntPtr sorigin, bool bitmatrix, bool border_inc) { - IntPtr _out_space_bins = Marshal.AllocHGlobal(IntPtr.Size); - IntPtr _count_count = Marshal.AllocHGlobal(sizeof(int)); + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); try { - IntPtr _resultPtr = SafeExecution(() => MEOSExternalFunctions.tgeo_space_split(temp, xsize, ysize, zsize, sorigin, bitmatrix, border_inc, _out_space_bins, _count_count)); - int _n = Marshal.ReadInt32(_count_count); - IntPtr[] _resultArr = new IntPtr[_n]; + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.trgeometry_space_boxes(temp, xsize, ysize, zsize, sorigin, bitmatrix, border_inc, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; for (int _i = 0; _i < _n; _i++) - { _resultArr[_i] = Marshal.ReadIntPtr(_resultPtr, _i * IntPtr.Size); } - IntPtr __out_space_bins_arr = Marshal.ReadIntPtr(_out_space_bins); - IntPtr[] __out_space_bins_out = new IntPtr[_n]; + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static IntPtr[] trgeometry_space_time_boxes(IntPtr temp, double xsize, double ysize, double zsize, IntPtr duration, IntPtr sorigin, long torigin, bool bitmatrix, bool border_inc) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.trgeometry_space_time_boxes(temp, xsize, ysize, zsize, duration, sorigin, torigin, bitmatrix, border_inc, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; for (int _i = 0; _i < _n; _i++) - { __out_space_bins_out[_i] = Marshal.ReadIntPtr(__out_space_bins_arr, _i * IntPtr.Size); } - return (_resultArr, __out_space_bins_out); + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; } - finally + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static IntPtr[] trgeometry_stboxes(IntPtr temp) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try { - Marshal.FreeHGlobal(_out_space_bins); - Marshal.FreeHGlobal(_count_count); + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.trgeometry_stboxes(temp, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; } + finally { Marshal.FreeHGlobal(_cnt); } } - public static (IntPtr[], IntPtr[], long[]) tgeo_space_time_split(IntPtr temp, double xsize, double ysize, double zsize, IntPtr duration, IntPtr sorigin, long torigin, bool bitmatrix, bool border_inc) + public static IntPtr[] trgeometry_split_n_stboxes(IntPtr temp, int box_count) { - IntPtr _out_space_bins = Marshal.AllocHGlobal(IntPtr.Size); - IntPtr _out_time_bins = Marshal.AllocHGlobal(IntPtr.Size); - IntPtr _count_count = Marshal.AllocHGlobal(sizeof(int)); + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); try { - IntPtr _resultPtr = SafeExecution(() => MEOSExternalFunctions.tgeo_space_time_split(temp, xsize, ysize, zsize, duration, sorigin, torigin, bitmatrix, border_inc, _out_space_bins, _out_time_bins, _count_count)); - int _n = Marshal.ReadInt32(_count_count); - IntPtr[] _resultArr = new IntPtr[_n]; + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.trgeometry_split_n_stboxes(temp, box_count, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; for (int _i = 0; _i < _n; _i++) - { _resultArr[_i] = Marshal.ReadIntPtr(_resultPtr, _i * IntPtr.Size); } - IntPtr __out_space_bins_arr = Marshal.ReadIntPtr(_out_space_bins); - IntPtr[] __out_space_bins_out = new IntPtr[_n]; + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static IntPtr[] trgeometry_split_each_n_stboxes(IntPtr temp, int elem_count) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.trgeometry_split_each_n_stboxes(temp, elem_count, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; for (int _i = 0; _i < _n; _i++) - { __out_space_bins_out[_i] = Marshal.ReadIntPtr(__out_space_bins_arr, _i * IntPtr.Size); } - IntPtr __out_time_bins_arr = Marshal.ReadIntPtr(_out_time_bins); - long[] __out_time_bins_out = new long[_n]; - Marshal.Copy(__out_time_bins_arr, __out_time_bins_out, 0, _n); - return (_resultArr, __out_space_bins_out, __out_time_bins_out); + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; } - finally + finally { Marshal.FreeHGlobal(_cnt); } + } + + public static double trgeometry_hausdorff_distance(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.trgeometry_hausdorff_distance(temp1, temp2)); + + public static double trgeometry_frechet_distance(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.trgeometry_frechet_distance(temp1, temp2)); + + public static double trgeometry_dyntimewarp_distance(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.trgeometry_dyntimewarp_distance(temp1, temp2)); + + public static IntPtr[] trgeometry_frechet_path(IntPtr temp1, IntPtr temp2) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try { - Marshal.FreeHGlobal(_out_space_bins); - Marshal.FreeHGlobal(_out_time_bins); - Marshal.FreeHGlobal(_count_count); + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.trgeometry_frechet_path(temp1, temp2, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; } + finally { Marshal.FreeHGlobal(_cnt); } } - public static IntPtr geo_cluster_kmeans(IntPtr geoms, uint ngeoms, uint k) - => SafeExecution(() => MEOSExternalFunctions.geo_cluster_kmeans(geoms, ngeoms, k)); + public static IntPtr[] trgeometry_dyntimewarp_path(IntPtr temp1, IntPtr temp2) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.trgeometry_dyntimewarp_path(temp1, temp2, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } - public static IntPtr geo_cluster_dbscan(IntPtr geoms, uint ngeoms, double tolerance, int minpoints, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.geo_cluster_dbscan(geoms, ngeoms, tolerance, minpoints, count)); + public static double trgeometry_length(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.trgeometry_length(temp)); - public static IntPtr geo_cluster_intersecting(IntPtr geoms, uint ngeoms, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.geo_cluster_intersecting(geoms, ngeoms, count)); + public static IntPtr trgeometry_cumulative_length(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.trgeometry_cumulative_length(temp)); - public static IntPtr geo_cluster_within(IntPtr geoms, uint ngeoms, double tolerance, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.geo_cluster_within(geoms, ngeoms, tolerance, count)); + public static IntPtr trgeometry_speed(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.trgeometry_speed(temp)); - public static IntPtr gsl_get_generation_rng() - => SafeExecution(() => MEOSExternalFunctions.gsl_get_generation_rng()); + public static IntPtr trgeometry_twcentroid(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.trgeometry_twcentroid(temp)); - public static IntPtr gsl_get_aggregation_rng() - => SafeExecution(() => MEOSExternalFunctions.gsl_get_aggregation_rng()); + public static IntPtr trgeometry_append_tinstant(IntPtr temp, IntPtr inst, int interp, double maxdist, IntPtr maxt, bool expand) + => SafeExecution(() => MEOSExternalFunctions.trgeometry_append_tinstant(temp, inst, interp, maxdist, maxt, expand)); - public static ulong datum_ceil(ulong d) - => SafeExecution(() => MEOSExternalFunctions.datum_ceil(d)); + public static IntPtr trgeometry_append_tsequence(IntPtr temp, IntPtr seq, bool expand) + => SafeExecution(() => MEOSExternalFunctions.trgeometry_append_tsequence(temp, seq, expand)); - public static ulong datum_degrees(ulong d, ulong normalize) - => SafeExecution(() => MEOSExternalFunctions.datum_degrees(d, normalize)); + public static IntPtr trgeometry_delete_timestamptz(IntPtr temp, long t, bool connect) + => SafeExecution(() => MEOSExternalFunctions.trgeometry_delete_timestamptz(temp, t, connect)); - public static ulong datum_float_round(ulong value, ulong size) - => SafeExecution(() => MEOSExternalFunctions.datum_float_round(value, size)); + public static IntPtr trgeometry_delete_tstzset(IntPtr temp, IntPtr s, bool connect) + => SafeExecution(() => MEOSExternalFunctions.trgeometry_delete_tstzset(temp, s, connect)); - public static ulong datum_floor(ulong d) - => SafeExecution(() => MEOSExternalFunctions.datum_floor(d)); + public static IntPtr trgeometry_delete_tstzspan(IntPtr temp, IntPtr s, bool connect) + => SafeExecution(() => MEOSExternalFunctions.trgeometry_delete_tstzspan(temp, s, connect)); - public static uint datum_hash(ulong d, int basetype) - => SafeExecution(() => MEOSExternalFunctions.datum_hash(d, basetype)); + public static IntPtr trgeometry_delete_tstzspanset(IntPtr temp, IntPtr ss, bool connect) + => SafeExecution(() => MEOSExternalFunctions.trgeometry_delete_tstzspanset(temp, ss, connect)); - public static ulong datum_hash_extended(ulong d, int basetype, ulong seed) - => SafeExecution(() => MEOSExternalFunctions.datum_hash_extended(d, basetype, seed)); + public static IntPtr trgeometry_round(IntPtr temp, int maxdd) + => SafeExecution(() => MEOSExternalFunctions.trgeometry_round(temp, maxdd)); - public static ulong datum_radians(ulong d) - => SafeExecution(() => MEOSExternalFunctions.datum_radians(d)); + public static IntPtr trgeometry_set_interp(IntPtr temp, int interp) + => SafeExecution(() => MEOSExternalFunctions.trgeometry_set_interp(temp, interp)); - public static void floatspan_round_set(IntPtr s, int maxdd, IntPtr result) - => SafeExecution(() => MEOSExternalFunctions.floatspan_round_set(s, maxdd, result)); + public static IntPtr trgeometry_to_tinstant(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.trgeometry_to_tinstant(temp)); - public static IntPtr set_in(string str, int basetype) - => SafeExecution(() => MEOSExternalFunctions.set_in(str, basetype)); + public static IntPtr trgeometry_after_timestamptz(IntPtr temp, long t, bool strict) + => SafeExecution(() => MEOSExternalFunctions.trgeometry_after_timestamptz(temp, t, strict)); - public static string set_out(IntPtr s, int maxdd) - => SafeExecution(() => MEOSExternalFunctions.set_out(s, maxdd)); + public static IntPtr trgeometry_before_timestamptz(IntPtr temp, long t, bool strict) + => SafeExecution(() => MEOSExternalFunctions.trgeometry_before_timestamptz(temp, t, strict)); - public static IntPtr span_in(string str, int spantype) - => SafeExecution(() => MEOSExternalFunctions.span_in(str, spantype)); + public static IntPtr trgeometry_restrict_values(IntPtr temp, IntPtr s, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.trgeometry_restrict_values(temp, s, atfunc)); - public static string span_out(IntPtr s, int maxdd) - => SafeExecution(() => MEOSExternalFunctions.span_out(s, maxdd)); + public static IntPtr trgeometry_restrict_timestamptz(IntPtr temp, long t, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.trgeometry_restrict_timestamptz(temp, t, atfunc)); - public static IntPtr spanset_in(string str, int spantype) - => SafeExecution(() => MEOSExternalFunctions.spanset_in(str, spantype)); + public static IntPtr trgeometry_restrict_tstzset(IntPtr temp, IntPtr s, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.trgeometry_restrict_tstzset(temp, s, atfunc)); - public static string spanset_out(IntPtr ss, int maxdd) - => SafeExecution(() => MEOSExternalFunctions.spanset_out(ss, maxdd)); + public static IntPtr trgeometry_restrict_tstzspan(IntPtr temp, IntPtr s, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.trgeometry_restrict_tstzspan(temp, s, atfunc)); - public static IntPtr set_make(IntPtr values, int count, int basetype, bool order) - => SafeExecution(() => MEOSExternalFunctions.set_make(values, count, basetype, order)); + public static IntPtr trgeometry_restrict_tstzspanset(IntPtr temp, IntPtr ss, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.trgeometry_restrict_tstzspanset(temp, ss, atfunc)); - public static IntPtr set_make_exp(IntPtr values, int count, int maxcount, int basetype, bool order) - => SafeExecution(() => MEOSExternalFunctions.set_make_exp(values, count, maxcount, basetype, order)); + public static IntPtr trgeometry_at_geom(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.trgeometry_at_geom(temp, gs)); - public static IntPtr set_make_free(IntPtr values, int count, int basetype, bool order) - => SafeExecution(() => MEOSExternalFunctions.set_make_free(values, count, basetype, order)); + public static IntPtr trgeometry_minus_geom(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.trgeometry_minus_geom(temp, gs)); - public static IntPtr span_make(ulong lower, ulong upper, bool lower_inc, bool upper_inc, int basetype) - => SafeExecution(() => MEOSExternalFunctions.span_make(lower, upper, lower_inc, upper_inc, basetype)); + public static IntPtr trgeometry_at_stbox(IntPtr temp, IntPtr box, bool border_inc) + => SafeExecution(() => MEOSExternalFunctions.trgeometry_at_stbox(temp, box, border_inc)); - public static void span_set(ulong lower, ulong upper, bool lower_inc, bool upper_inc, int basetype, int spantype, IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.span_set(lower, upper, lower_inc, upper_inc, basetype, spantype, s)); + public static IntPtr trgeometry_minus_stbox(IntPtr temp, IntPtr box, bool border_inc) + => SafeExecution(() => MEOSExternalFunctions.trgeometry_minus_stbox(temp, box, border_inc)); - public static IntPtr spanset_make_exp(IntPtr spans, int count, int maxcount, bool normalize, bool order) - => SafeExecution(() => MEOSExternalFunctions.spanset_make_exp(spans, count, maxcount, normalize, order)); + public static IntPtr tdistance_trgeometry_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.tdistance_trgeometry_geo(temp, gs)); - public static IntPtr spanset_make_free(IntPtr spans, int count, bool normalize, bool order) - => SafeExecution(() => MEOSExternalFunctions.spanset_make_free(spans, count, normalize, order)); + public static IntPtr tdistance_trgeometry_tpoint(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.tdistance_trgeometry_tpoint(temp1, temp2)); - public static IntPtr set_span(IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.set_span(s)); + public static IntPtr tdistance_trgeometry_trgeometry(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.tdistance_trgeometry_trgeometry(temp1, temp2)); - public static IntPtr set_spanset(IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.set_spanset(s)); + public static double nad_stbox_trgeometry(IntPtr box, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.nad_stbox_trgeometry(box, temp)); - public static void value_set_span(ulong value, int basetype, IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.value_set_span(value, basetype, s)); + public static double nad_trgeometry_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.nad_trgeometry_geo(temp, gs)); - public static IntPtr value_set(ulong d, int basetype) - => SafeExecution(() => MEOSExternalFunctions.value_set(d, basetype)); + public static double nad_trgeometry_stbox(IntPtr temp, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.nad_trgeometry_stbox(temp, box)); + + public static double nad_trgeometry_tpoint(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.nad_trgeometry_tpoint(temp1, temp2)); + + public static double nad_trgeometry_trgeometry(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.nad_trgeometry_trgeometry(temp1, temp2)); + + public static IntPtr nai_trgeometry_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.nai_trgeometry_geo(temp, gs)); + + public static IntPtr nai_trgeometry_tpoint(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.nai_trgeometry_tpoint(temp1, temp2)); + + public static IntPtr nai_trgeometry_trgeometry(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.nai_trgeometry_trgeometry(temp1, temp2)); + + public static IntPtr shortestline_trgeometry_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.shortestline_trgeometry_geo(temp, gs)); + + public static IntPtr shortestline_trgeometry_tpoint(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.shortestline_trgeometry_tpoint(temp1, temp2)); + + public static IntPtr shortestline_trgeometry_trgeometry(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.shortestline_trgeometry_trgeometry(temp1, temp2)); + + public static int always_eq_geo_trgeometry(IntPtr gs, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.always_eq_geo_trgeometry(gs, temp)); + + public static int always_eq_trgeometry_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.always_eq_trgeometry_geo(temp, gs)); + + public static int always_eq_trgeometry_trgeometry(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.always_eq_trgeometry_trgeometry(temp1, temp2)); + + public static int always_ne_geo_trgeometry(IntPtr gs, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.always_ne_geo_trgeometry(gs, temp)); + + public static int always_ne_trgeometry_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.always_ne_trgeometry_geo(temp, gs)); + + public static int always_ne_trgeometry_trgeometry(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.always_ne_trgeometry_trgeometry(temp1, temp2)); + + public static int ever_eq_geo_trgeometry(IntPtr gs, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.ever_eq_geo_trgeometry(gs, temp)); + + public static int ever_eq_trgeometry_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.ever_eq_trgeometry_geo(temp, gs)); + + public static int ever_eq_trgeometry_trgeometry(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.ever_eq_trgeometry_trgeometry(temp1, temp2)); + + public static int ever_ne_geo_trgeometry(IntPtr gs, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.ever_ne_geo_trgeometry(gs, temp)); + + public static int ever_ne_trgeometry_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.ever_ne_trgeometry_geo(temp, gs)); + + public static int ever_ne_trgeometry_trgeometry(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.ever_ne_trgeometry_trgeometry(temp1, temp2)); + + public static IntPtr teq_geo_trgeometry(IntPtr gs, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.teq_geo_trgeometry(gs, temp)); + + public static IntPtr teq_trgeometry_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.teq_trgeometry_geo(temp, gs)); + + public static IntPtr tne_geo_trgeometry(IntPtr gs, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tne_geo_trgeometry(gs, temp)); + + public static IntPtr tne_trgeometry_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.tne_trgeometry_geo(temp, gs)); + + public static int econtains_geo_trgeometry(IntPtr gs, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.econtains_geo_trgeometry(gs, temp)); + + public static int acontains_geo_trgeometry(IntPtr gs, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.acontains_geo_trgeometry(gs, temp)); + + public static int ecovers_geo_trgeometry(IntPtr gs, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.ecovers_geo_trgeometry(gs, temp)); + + public static int acovers_geo_trgeometry(IntPtr gs, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.acovers_geo_trgeometry(gs, temp)); + + public static int ecovers_trgeometry_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.ecovers_trgeometry_geo(temp, gs)); + + public static int acovers_trgeometry_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.acovers_trgeometry_geo(temp, gs)); + + public static int edisjoint_trgeometry_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.edisjoint_trgeometry_geo(temp, gs)); + + public static int adisjoint_trgeometry_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.adisjoint_trgeometry_geo(temp, gs)); + + public static int eintersects_trgeometry_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.eintersects_trgeometry_geo(temp, gs)); + + public static int aintersects_trgeometry_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.aintersects_trgeometry_geo(temp, gs)); + + public static int etouches_trgeometry_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.etouches_trgeometry_geo(temp, gs)); + + public static int atouches_trgeometry_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.atouches_trgeometry_geo(temp, gs)); + + public static int edwithin_trgeometry_geo(IntPtr temp, IntPtr gs, double dist) + => SafeExecution(() => MEOSExternalFunctions.edwithin_trgeometry_geo(temp, gs, dist)); + + public static int adwithin_trgeometry_geo(IntPtr temp, IntPtr gs, double dist) + => SafeExecution(() => MEOSExternalFunctions.adwithin_trgeometry_geo(temp, gs, dist)); + + public static int edisjoint_trgeometry_trgeometry(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.edisjoint_trgeometry_trgeometry(temp1, temp2)); + + public static int adisjoint_trgeometry_trgeometry(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.adisjoint_trgeometry_trgeometry(temp1, temp2)); + + public static int eintersects_trgeometry_trgeometry(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.eintersects_trgeometry_trgeometry(temp1, temp2)); + + public static int aintersects_trgeometry_trgeometry(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.aintersects_trgeometry_trgeometry(temp1, temp2)); + + public static int edwithin_trgeometry_trgeometry(IntPtr temp1, IntPtr temp2, double dist) + => SafeExecution(() => MEOSExternalFunctions.edwithin_trgeometry_trgeometry(temp1, temp2, dist)); + + public static int adwithin_trgeometry_trgeometry(IntPtr temp1, IntPtr temp2, double dist) + => SafeExecution(() => MEOSExternalFunctions.adwithin_trgeometry_trgeometry(temp1, temp2, dist)); - public static IntPtr value_span(ulong d, int basetype) - => SafeExecution(() => MEOSExternalFunctions.value_span(d, basetype)); + public static bool ensure_valid_tnpoint_npoint(IntPtr temp, IntPtr np) + => SafeExecution(() => MEOSExternalFunctions.ensure_valid_tnpoint_npoint(temp, np)); - public static IntPtr value_spanset(ulong d, int basetype) - => SafeExecution(() => MEOSExternalFunctions.value_spanset(d, basetype)); + public static bool ensure_valid_tnpoint_npointset(IntPtr temp, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.ensure_valid_tnpoint_npointset(temp, s)); - public static ulong numspan_width(IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.numspan_width(s)); + public static bool ensure_valid_tnpoint_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.ensure_valid_tnpoint_geo(temp, gs)); - public static ulong numspanset_width(IntPtr ss, bool boundspan) - => SafeExecution(() => MEOSExternalFunctions.numspanset_width(ss, boundspan)); + public static bool ensure_valid_tnpoint_stbox(IntPtr temp, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.ensure_valid_tnpoint_stbox(temp, box)); - public static ulong set_end_value(IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.set_end_value(s)); + public static bool ensure_valid_tnpoint_tnpoint(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.ensure_valid_tnpoint_tnpoint(temp1, temp2)); - public static int set_mem_size(IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.set_mem_size(s)); + public static int tnpointsegm_intersection(long start1, long end1, long start2, long end2, long lower, long upper, IntPtr t1, IntPtr t2) + => SafeExecution(() => MEOSExternalFunctions.tnpointsegm_intersection(start1, end1, start2, end2, lower, upper, t1, t2)); - public static void set_set_subspan(IntPtr s, int minidx, int maxidx, IntPtr result) - => SafeExecution(() => MEOSExternalFunctions.set_set_subspan(s, minidx, maxidx, result)); + public static bool common_rid_tnpoint_npoint(IntPtr temp, IntPtr np) + => SafeExecution(() => MEOSExternalFunctions.common_rid_tnpoint_npoint(temp, np)); - public static void set_set_span(IntPtr s, IntPtr result) - => SafeExecution(() => MEOSExternalFunctions.set_set_span(s, result)); + public static bool common_rid_tnpoint_npointset(IntPtr temp, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.common_rid_tnpoint_npointset(temp, s)); - public static ulong set_start_value(IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.set_start_value(s)); + public static bool common_rid_tnpoint_tnpoint(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.common_rid_tnpoint_tnpoint(temp1, temp2)); - public static bool set_value_n(IntPtr s, int n, IntPtr result) - => SafeExecution(() => MEOSExternalFunctions.set_value_n(s, n, result)); + public static bool npoint_collinear(IntPtr np1, IntPtr np2, IntPtr np3, double ratio) + => SafeExecution(() => MEOSExternalFunctions.npoint_collinear(np1, np2, np3, ratio)); - public static IntPtr set_vals(IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.set_vals(s)); + public static IntPtr npointsegm_interpolate(IntPtr start, IntPtr end, IntPtr ratio) + => SafeExecution(() => MEOSExternalFunctions.npointsegm_interpolate(start, end, ratio)); - public static IntPtr set_values(IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.set_values(s)); + public static IntPtr npointsegm_locate(IntPtr start, IntPtr end, IntPtr value) + => SafeExecution(() => MEOSExternalFunctions.npointsegm_locate(start, end, value)); - public static ulong spanset_lower(IntPtr ss) - => SafeExecution(() => MEOSExternalFunctions.spanset_lower(ss)); + public static IntPtr npointarr_geom(IntPtr points, int count) + => SafeExecution(() => MEOSExternalFunctions.npointarr_geom(points, count)); - public static int spanset_mem_size(IntPtr ss) - => SafeExecution(() => MEOSExternalFunctions.spanset_mem_size(ss)); + public static IntPtr nsegmentarr_geom(IntPtr segments, int count) + => SafeExecution(() => MEOSExternalFunctions.nsegmentarr_geom(segments, count)); - public static IntPtr[] spanset_sps(IntPtr ss) + public static (IntPtr[], IntPtr[]) nsegmentarr_normalize() { - int _n = (int)MEOSExposedFunctions.spanset_num_spans(ss); - IntPtr _p = SafeExecution(() => MEOSExternalFunctions.spanset_sps(ss)); - IntPtr[] _out = new IntPtr[_n]; - for (int _i = 0; _i < _n; _i++) - { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } - return _out; + IntPtr _out_segments = Marshal.AllocHGlobal(IntPtr.Size); + IntPtr _count_count = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _resultPtr = SafeExecution(() => MEOSExternalFunctions.nsegmentarr_normalize(_out_segments, _count_count)); + int _n = Marshal.ReadInt32(_count_count); + IntPtr[] _resultArr = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _resultArr[_i] = Marshal.ReadIntPtr(_resultPtr, _i * IntPtr.Size); } + IntPtr __out_segments_arr = Marshal.ReadIntPtr(_out_segments); + IntPtr[] __out_segments_out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { __out_segments_out[_i] = Marshal.ReadIntPtr(__out_segments_arr, _i * IntPtr.Size); } + return (_resultArr, __out_segments_out); + } + finally + { + Marshal.FreeHGlobal(_out_segments); + Marshal.FreeHGlobal(_count_count); + } } - public static ulong spanset_upper(IntPtr ss) - => SafeExecution(() => MEOSExternalFunctions.spanset_upper(ss)); + public static string npoint_wkt_out(long value, int maxdd) + => SafeExecution(() => MEOSExternalFunctions.npoint_wkt_out(value, maxdd)); - public static void datespan_set_tstzspan(IntPtr s1, IntPtr s2) - => SafeExecution(() => MEOSExternalFunctions.datespan_set_tstzspan(s1, s2)); + public static void npoint_set(IntPtr rid, double pos, IntPtr np) + => SafeExecution(() => MEOSExternalFunctions.npoint_set(rid, pos, np)); - public static void floatspan_set_intspan(IntPtr s1, IntPtr s2) - => SafeExecution(() => MEOSExternalFunctions.floatspan_set_intspan(s1, s2)); + public static void nsegment_set(IntPtr rid, double pos1, double pos2, IntPtr ns) + => SafeExecution(() => MEOSExternalFunctions.nsegment_set(rid, pos1, pos2, ns)); - public static void intspan_set_floatspan(IntPtr s1, IntPtr s2) - => SafeExecution(() => MEOSExternalFunctions.intspan_set_floatspan(s1, s2)); + public static long datum_npoint_round(long npoint, long size) + => SafeExecution(() => MEOSExternalFunctions.datum_npoint_round(npoint, size)); - public static IntPtr numset_shift_scale(IntPtr s, ulong shift, ulong width, bool hasshift, bool haswidth) - => SafeExecution(() => MEOSExternalFunctions.numset_shift_scale(s, shift, width, hasshift, haswidth)); + public static IntPtr tnpointinst_tgeompointinst(IntPtr inst) + => SafeExecution(() => MEOSExternalFunctions.tnpointinst_tgeompointinst(inst)); - public static IntPtr numspan_expand(IntPtr s, ulong value) - => SafeExecution(() => MEOSExternalFunctions.numspan_expand(s, value)); + public static IntPtr tnpointseq_tgeompointseq_disc(IntPtr @is) + => SafeExecution(() => MEOSExternalFunctions.tnpointseq_tgeompointseq_disc(@is)); - public static IntPtr numspan_shift_scale(IntPtr s, ulong shift, ulong width, bool hasshift, bool haswidth) - => SafeExecution(() => MEOSExternalFunctions.numspan_shift_scale(s, shift, width, hasshift, haswidth)); + public static IntPtr tnpointseq_tgeompointseq_cont(IntPtr seq) + => SafeExecution(() => MEOSExternalFunctions.tnpointseq_tgeompointseq_cont(seq)); - public static IntPtr numspanset_shift_scale(IntPtr ss, ulong shift, ulong width, bool hasshift, bool haswidth) - => SafeExecution(() => MEOSExternalFunctions.numspanset_shift_scale(ss, shift, width, hasshift, haswidth)); + public static IntPtr tnpointseqset_tgeompointseqset(IntPtr ss) + => SafeExecution(() => MEOSExternalFunctions.tnpointseqset_tgeompointseqset(ss)); - public static IntPtr set_compact(IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.set_compact(s)); + public static IntPtr tgeompointinst_tnpointinst(IntPtr inst) + => SafeExecution(() => MEOSExternalFunctions.tgeompointinst_tnpointinst(inst)); - public static void span_expand(IntPtr s1, IntPtr s2) - => SafeExecution(() => MEOSExternalFunctions.span_expand(s1, s2)); + public static IntPtr tgeompointseq_tnpointseq(IntPtr seq) + => SafeExecution(() => MEOSExternalFunctions.tgeompointseq_tnpointseq(seq)); - public static IntPtr spanset_compact(IntPtr ss) - => SafeExecution(() => MEOSExternalFunctions.spanset_compact(ss)); + public static IntPtr tgeompointseqset_tnpointseqset(IntPtr ss) + => SafeExecution(() => MEOSExternalFunctions.tgeompointseqset_tnpointseqset(ss)); - public static IntPtr tbox_expand_value(IntPtr box, ulong value, int basetyp) - => SafeExecution(() => MEOSExternalFunctions.tbox_expand_value(box, value, basetyp)); + public static IntPtr tnpointinst_positions(IntPtr inst) + => SafeExecution(() => MEOSExternalFunctions.tnpointinst_positions(inst)); - public static IntPtr textcat_textset_text_common(IntPtr s, IntPtr txt, bool invert) - => SafeExecution(() => MEOSExternalFunctions.textcat_textset_text_common(s, txt, invert)); + public static IntPtr[] tnpointseq_positions(IntPtr seq) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tnpointseq_positions(seq, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } - public static void tstzspan_set_datespan(IntPtr s1, IntPtr s2) - => SafeExecution(() => MEOSExternalFunctions.tstzspan_set_datespan(s1, s2)); + public static IntPtr[] tnpointseqset_positions(IntPtr ss) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tnpointseqset_positions(ss, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } - public static bool adjacent_span_value(IntPtr s, ulong value) - => SafeExecution(() => MEOSExternalFunctions.adjacent_span_value(s, value)); + public static IntPtr tnpointinst_route(IntPtr inst) + => SafeExecution(() => MEOSExternalFunctions.tnpointinst_route(inst)); - public static bool adjacent_spanset_value(IntPtr ss, ulong value) - => SafeExecution(() => MEOSExternalFunctions.adjacent_spanset_value(ss, value)); + public static IntPtr tnpointinst_routes(IntPtr inst) + => SafeExecution(() => MEOSExternalFunctions.tnpointinst_routes(inst)); - public static bool adjacent_value_spanset(ulong value, IntPtr ss) - => SafeExecution(() => MEOSExternalFunctions.adjacent_value_spanset(value, ss)); + public static IntPtr tnpointseq_disc_routes(IntPtr @is) + => SafeExecution(() => MEOSExternalFunctions.tnpointseq_disc_routes(@is)); - public static bool contained_value_set(ulong value, IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.contained_value_set(value, s)); + public static IntPtr tnpointseq_cont_routes(IntPtr seq) + => SafeExecution(() => MEOSExternalFunctions.tnpointseq_cont_routes(seq)); - public static bool contained_value_span(ulong value, IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.contained_value_span(value, s)); + public static IntPtr tnpointseqset_routes(IntPtr ss) + => SafeExecution(() => MEOSExternalFunctions.tnpointseqset_routes(ss)); - public static bool contained_value_spanset(ulong value, IntPtr ss) - => SafeExecution(() => MEOSExternalFunctions.contained_value_spanset(value, ss)); + public static IntPtr tnpointseq_linear_positions(IntPtr seq) + => SafeExecution(() => MEOSExternalFunctions.tnpointseq_linear_positions(seq)); - public static bool contains_set_value(IntPtr s, ulong value) - => SafeExecution(() => MEOSExternalFunctions.contains_set_value(s, value)); + public static IntPtr tnpoint_restrict_stbox(IntPtr temp, IntPtr box, bool border_inc, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.tnpoint_restrict_stbox(temp, box, border_inc, atfunc)); - public static bool contains_span_value(IntPtr s, ulong value) - => SafeExecution(() => MEOSExternalFunctions.contains_span_value(s, value)); + public static IntPtr tnpoint_restrict_npoint(IntPtr temp, IntPtr np, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.tnpoint_restrict_npoint(temp, np, atfunc)); - public static bool contains_spanset_value(IntPtr ss, ulong value) - => SafeExecution(() => MEOSExternalFunctions.contains_spanset_value(ss, value)); + public static IntPtr tnpoint_restrict_npointset(IntPtr temp, IntPtr s, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.tnpoint_restrict_npointset(temp, s, atfunc)); - public static bool ovadj_span_span(IntPtr s1, IntPtr s2) - => SafeExecution(() => MEOSExternalFunctions.ovadj_span_span(s1, s2)); + public static bool npoint_set_stbox(IntPtr np, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.npoint_set_stbox(np, box)); - public static bool left_set_value(IntPtr s, ulong value) - => SafeExecution(() => MEOSExternalFunctions.left_set_value(s, value)); + public static void npointarr_set_stbox(IntPtr values, int count, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.npointarr_set_stbox(values, count, box)); - public static bool left_span_value(IntPtr s, ulong value) - => SafeExecution(() => MEOSExternalFunctions.left_span_value(s, value)); + public static bool nsegment_set_stbox(IntPtr ns, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.nsegment_set_stbox(ns, box)); - public static bool left_spanset_value(IntPtr ss, ulong value) - => SafeExecution(() => MEOSExternalFunctions.left_spanset_value(ss, value)); + public static bool npoint_timestamptz_set_stbox(IntPtr np, long t, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.npoint_timestamptz_set_stbox(np, t, box)); - public static bool left_value_set(ulong value, IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.left_value_set(value, s)); + public static bool npoint_tstzspan_set_stbox(IntPtr np, IntPtr s, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.npoint_tstzspan_set_stbox(np, s, box)); - public static bool left_value_span(ulong value, IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.left_value_span(value, s)); + public static void tnpointinst_set_stbox(IntPtr inst, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.tnpointinst_set_stbox(inst, box)); - public static bool left_value_spanset(ulong value, IntPtr ss) - => SafeExecution(() => MEOSExternalFunctions.left_value_spanset(value, ss)); + public static void tnpointinstarr_set_stbox(IntPtr inst, int count, int interp, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.tnpointinstarr_set_stbox(inst, count, interp, box)); - public static bool lfnadj_span_span(IntPtr s1, IntPtr s2) - => SafeExecution(() => MEOSExternalFunctions.lfnadj_span_span(s1, s2)); + public static void tnpointseq_expand_stbox(IntPtr seq, IntPtr inst) + => SafeExecution(() => MEOSExternalFunctions.tnpointseq_expand_stbox(seq, inst)); - public static bool overleft_set_value(IntPtr s, ulong value) - => SafeExecution(() => MEOSExternalFunctions.overleft_set_value(s, value)); + public static long datum_npoint_distance(long np1, long np2) + => SafeExecution(() => MEOSExternalFunctions.datum_npoint_distance(np1, np2)); - public static bool overleft_span_value(IntPtr s, ulong value) - => SafeExecution(() => MEOSExternalFunctions.overleft_span_value(s, value)); + public static IntPtr npoint_parse(IntPtr str, bool end) + => SafeExecution(() => MEOSExternalFunctions.npoint_parse(str, end)); - public static bool overleft_spanset_value(IntPtr ss, ulong value) - => SafeExecution(() => MEOSExternalFunctions.overleft_spanset_value(ss, value)); + public static IntPtr nsegment_parse(IntPtr str) + => SafeExecution(() => MEOSExternalFunctions.nsegment_parse(str)); - public static bool overleft_value_set(ulong value, IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.overleft_value_set(value, s)); + public static bool contains_rid_tnpoint_bigint(IntPtr temp, IntPtr rid, int invert) + => SafeExecution(() => MEOSExternalFunctions.contains_rid_tnpoint_bigint(temp, rid, invert)); - public static bool overleft_value_span(ulong value, IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.overleft_value_span(value, s)); + public static bool contained_rid_tnpoint_bigint(IntPtr temp, IntPtr rid, bool invert) + => SafeExecution(() => MEOSExternalFunctions.contained_rid_tnpoint_bigint(temp, rid, invert)); - public static bool overleft_value_spanset(ulong value, IntPtr ss) - => SafeExecution(() => MEOSExternalFunctions.overleft_value_spanset(value, ss)); + public static bool same_rid_tnpoint_bigint(IntPtr temp, IntPtr rid, int invert) + => SafeExecution(() => MEOSExternalFunctions.same_rid_tnpoint_bigint(temp, rid, invert)); - public static bool overright_set_value(IntPtr s, ulong value) - => SafeExecution(() => MEOSExternalFunctions.overright_set_value(s, value)); + public static bool overlaps_rid_tnpoint_bigintset(IntPtr temp, IntPtr s, int invert) + => SafeExecution(() => MEOSExternalFunctions.overlaps_rid_tnpoint_bigintset(temp, s, invert)); - public static bool overright_span_value(IntPtr s, ulong value) - => SafeExecution(() => MEOSExternalFunctions.overright_span_value(s, value)); + public static bool contains_rid_tnpoint_bigintset(IntPtr temp, IntPtr s, bool invert) + => SafeExecution(() => MEOSExternalFunctions.contains_rid_tnpoint_bigintset(temp, s, invert)); - public static bool overright_spanset_value(IntPtr ss, ulong value) - => SafeExecution(() => MEOSExternalFunctions.overright_spanset_value(ss, value)); + public static bool contained_rid_tnpoint_bigintset(IntPtr temp, IntPtr s, bool invert) + => SafeExecution(() => MEOSExternalFunctions.contained_rid_tnpoint_bigintset(temp, s, invert)); - public static bool overright_value_set(ulong value, IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.overright_value_set(value, s)); + public static bool same_rid_tnpoint_bigintset(IntPtr temp, IntPtr s, int invert) + => SafeExecution(() => MEOSExternalFunctions.same_rid_tnpoint_bigintset(temp, s, invert)); - public static bool overright_value_span(ulong value, IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.overright_value_span(value, s)); + public static bool contains_rid_tnpoint_npoint(IntPtr temp, IntPtr np, int invert) + => SafeExecution(() => MEOSExternalFunctions.contains_rid_tnpoint_npoint(temp, np, invert)); - public static bool overright_value_spanset(ulong value, IntPtr ss) - => SafeExecution(() => MEOSExternalFunctions.overright_value_spanset(value, ss)); + public static bool contained_rid_npoint_tnpoint(IntPtr temp, IntPtr np, bool invert) + => SafeExecution(() => MEOSExternalFunctions.contained_rid_npoint_tnpoint(temp, np, invert)); - public static bool right_value_set(ulong value, IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.right_value_set(value, s)); + public static bool same_rid_tnpoint_npoint(IntPtr temp, IntPtr np, int invert) + => SafeExecution(() => MEOSExternalFunctions.same_rid_tnpoint_npoint(temp, np, invert)); - public static bool right_set_value(IntPtr s, ulong value) - => SafeExecution(() => MEOSExternalFunctions.right_set_value(s, value)); + public static bool overlaps_rid_tnpoint_tnpoint(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.overlaps_rid_tnpoint_tnpoint(temp1, temp2)); - public static bool right_value_span(ulong value, IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.right_value_span(value, s)); + public static bool contains_rid_tnpoint_tnpoint(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.contains_rid_tnpoint_tnpoint(temp1, temp2)); - public static bool right_value_spanset(ulong value, IntPtr ss) - => SafeExecution(() => MEOSExternalFunctions.right_value_spanset(value, ss)); + public static bool contained_rid_tnpoint_tnpoint(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.contained_rid_tnpoint_tnpoint(temp1, temp2)); - public static bool right_span_value(IntPtr s, ulong value) - => SafeExecution(() => MEOSExternalFunctions.right_span_value(s, value)); + public static bool same_rid_tnpoint_tnpoint(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.same_rid_tnpoint_tnpoint(temp1, temp2)); - public static bool right_spanset_value(IntPtr ss, ulong value) - => SafeExecution(() => MEOSExternalFunctions.right_spanset_value(ss, value)); + public static bool ensure_same_rid_tnpointinst(IntPtr inst1, IntPtr inst2) + => SafeExecution(() => MEOSExternalFunctions.ensure_same_rid_tnpointinst(inst1, inst2)); - public static bool bbox_type(int bboxtype) - => SafeExecution(() => MEOSExternalFunctions.bbox_type(bboxtype)); + public static IntPtr tnpoint_restrict_geom(IntPtr temp, IntPtr gs, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.tnpoint_restrict_geom(temp, gs, atfunc)); - public static ulong bbox_get_size(int bboxtype) - => SafeExecution(() => MEOSExternalFunctions.bbox_get_size(bboxtype)); + public static int meos_pc_schema_get_srid(uint pcid) + => SafeExecution(() => MEOSExternalFunctions.meos_pc_schema_get_srid(pcid)); - public static int bbox_max_dims(int bboxtype) - => SafeExecution(() => MEOSExternalFunctions.bbox_max_dims(bboxtype)); + public static bool ensure_same_pcid_pcpatch(IntPtr pa1, IntPtr pa2) + => SafeExecution(() => MEOSExternalFunctions.ensure_same_pcid_pcpatch(pa1, pa2)); - public static bool temporal_bbox_eq(IntPtr box1, IntPtr box2, int temptype) - => SafeExecution(() => MEOSExternalFunctions.temporal_bbox_eq(box1, box2, temptype)); + public static bool ensure_valid_pcpatchset_pcpatch(IntPtr s, IntPtr pa) + => SafeExecution(() => MEOSExternalFunctions.ensure_valid_pcpatchset_pcpatch(s, pa)); - public static int temporal_bbox_cmp(IntPtr box1, IntPtr box2, int temptype) - => SafeExecution(() => MEOSExternalFunctions.temporal_bbox_cmp(box1, box2, temptype)); + public static IntPtr pcpatch_parse(IntPtr str, bool end) + => SafeExecution(() => MEOSExternalFunctions.pcpatch_parse(str, end)); - public static void bbox_union_span_span(IntPtr s1, IntPtr s2, IntPtr result) - => SafeExecution(() => MEOSExternalFunctions.bbox_union_span_span(s1, s2, result)); + public static IntPtr pcpatch_filter_per_point(IntPtr pa, int pred, IntPtr extra, bool keep_when_true) + => SafeExecution(() => MEOSExternalFunctions.pcpatch_filter_per_point(pa, pred, extra, keep_when_true)); - public static bool inter_span_span(IntPtr s1, IntPtr s2, IntPtr result) - => SafeExecution(() => MEOSExternalFunctions.inter_span_span(s1, s2, result)); + public static bool pcpatch_any_point_matches(IntPtr pa, int pred, IntPtr extra) + => SafeExecution(() => MEOSExternalFunctions.pcpatch_any_point_matches(pa, pred, extra)); - public static IntPtr intersection_set_value(IntPtr s, ulong value) - => SafeExecution(() => MEOSExternalFunctions.intersection_set_value(s, value)); + public static bool pcpoint_in_tpcbox(IntPtr pt, IntPtr extra) + => SafeExecution(() => MEOSExternalFunctions.pcpoint_in_tpcbox(pt, extra)); - public static IntPtr intersection_span_value(IntPtr s, ulong value) - => SafeExecution(() => MEOSExternalFunctions.intersection_span_value(s, value)); + public static bool pcpoint_intersects_geometry(IntPtr pt, IntPtr extra) + => SafeExecution(() => MEOSExternalFunctions.pcpoint_intersects_geometry(pt, extra)); - public static IntPtr intersection_spanset_value(IntPtr ss, ulong value) - => SafeExecution(() => MEOSExternalFunctions.intersection_spanset_value(ss, value)); + public static bool ensure_same_pcid_pcpoint(IntPtr pt1, IntPtr pt2) + => SafeExecution(() => MEOSExternalFunctions.ensure_same_pcid_pcpoint(pt1, pt2)); - public static IntPtr intersection_value_set(ulong value, IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.intersection_value_set(value, s)); + public static bool ensure_valid_pcpointset_pcpoint(IntPtr s, IntPtr pt) + => SafeExecution(() => MEOSExternalFunctions.ensure_valid_pcpointset_pcpoint(s, pt)); - public static IntPtr intersection_value_span(ulong value, IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.intersection_value_span(value, s)); + public static IntPtr pcpoint_parse(IntPtr str, bool end) + => SafeExecution(() => MEOSExternalFunctions.pcpoint_parse(str, end)); - public static IntPtr intersection_value_spanset(ulong value, IntPtr ss) - => SafeExecution(() => MEOSExternalFunctions.intersection_value_spanset(value, ss)); + public static IntPtr meos_pc_point_serialize(IntPtr pcpt) + => SafeExecution(() => MEOSExternalFunctions.meos_pc_point_serialize(pcpt)); - public static int mi_span_span(IntPtr s1, IntPtr s2, IntPtr result) - => SafeExecution(() => MEOSExternalFunctions.mi_span_span(s1, s2, result)); + public static IntPtr meos_pc_point_deserialize(IntPtr serpt, IntPtr schema) + => SafeExecution(() => MEOSExternalFunctions.meos_pc_point_deserialize(serpt, schema)); - public static IntPtr minus_set_value(IntPtr s, ulong value) - => SafeExecution(() => MEOSExternalFunctions.minus_set_value(s, value)); + public static ulong meos_pc_patch_serialized_size(IntPtr patch) + => SafeExecution(() => MEOSExternalFunctions.meos_pc_patch_serialized_size(patch)); - public static IntPtr minus_span_value(IntPtr s, ulong value) - => SafeExecution(() => MEOSExternalFunctions.minus_span_value(s, value)); + public static IntPtr meos_pc_patch_serialize(IntPtr patch_in, IntPtr userdata) + => SafeExecution(() => MEOSExternalFunctions.meos_pc_patch_serialize(patch_in, userdata)); - public static IntPtr minus_spanset_value(IntPtr ss, ulong value) - => SafeExecution(() => MEOSExternalFunctions.minus_spanset_value(ss, value)); + public static IntPtr meos_pc_patch_serialize_to_uncompressed(IntPtr patch_in) + => SafeExecution(() => MEOSExternalFunctions.meos_pc_patch_serialize_to_uncompressed(patch_in)); - public static IntPtr minus_value_set(ulong value, IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.minus_value_set(value, s)); + public static IntPtr meos_pc_patch_deserialize(IntPtr serpatch, IntPtr schema) + => SafeExecution(() => MEOSExternalFunctions.meos_pc_patch_deserialize(serpatch, schema)); - public static IntPtr minus_value_span(ulong value, IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.minus_value_span(value, s)); + public static void tpointcloudinst_set_tpcbox(IntPtr inst, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.tpointcloudinst_set_tpcbox(inst, box)); - public static IntPtr minus_value_spanset(ulong value, IntPtr ss) - => SafeExecution(() => MEOSExternalFunctions.minus_value_spanset(value, ss)); + public static void tpointcloudinstarr_set_tpcbox(IntPtr instants, int count, bool lower_inc, bool upper_inc, int interp, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.tpointcloudinstarr_set_tpcbox(instants, count, lower_inc, upper_inc, interp, box)); - public static IntPtr super_union_span_span(IntPtr s1, IntPtr s2) - => SafeExecution(() => MEOSExternalFunctions.super_union_span_span(s1, s2)); + public static void tpointcloudseq_expand_tpcbox(IntPtr seq, IntPtr inst) + => SafeExecution(() => MEOSExternalFunctions.tpointcloudseq_expand_tpcbox(seq, inst)); - public static IntPtr union_set_value(IntPtr s, ulong value) - => SafeExecution(() => MEOSExternalFunctions.union_set_value(s, value)); + public static void tpointcloudseqarr_set_tpcbox(IntPtr sequences, int count, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.tpointcloudseqarr_set_tpcbox(sequences, count, box)); - public static IntPtr union_span_value(IntPtr s, ulong value) - => SafeExecution(() => MEOSExternalFunctions.union_span_value(s, value)); + public static IntPtr tpcbox_extent_transfn(IntPtr state, IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tpcbox_extent_transfn(state, temp)); - public static IntPtr union_spanset_value(IntPtr ss, ulong value) - => SafeExecution(() => MEOSExternalFunctions.union_spanset_value(ss, value)); + public static bool boxop_tpointcloud_tpcbox(IntPtr temp, IntPtr box, IntPtr func, bool inverted) + => SafeExecution(() => MEOSExternalFunctions.boxop_tpointcloud_tpcbox(temp, box, func, inverted)); - public static IntPtr union_value_set(ulong value, IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.union_value_set(value, s)); + public static bool boxop_tpointcloud_tpointcloud(IntPtr temp1, IntPtr temp2, IntPtr func) + => SafeExecution(() => MEOSExternalFunctions.boxop_tpointcloud_tpointcloud(temp1, temp2, func)); - public static IntPtr union_value_span(ulong value, IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.union_value_span(value, s)); + public static void tpcbox_set_stbox(IntPtr src, IntPtr dst) + => SafeExecution(() => MEOSExternalFunctions.tpcbox_set_stbox(src, dst)); - public static IntPtr union_value_spanset(ulong value, IntPtr ss) - => SafeExecution(() => MEOSExternalFunctions.union_value_spanset(value, ss)); + public static double nad_tpcbox_tpcbox(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.nad_tpcbox_tpcbox(box1, box2)); - public static ulong distance_set_set(IntPtr s1, IntPtr s2) - => SafeExecution(() => MEOSExternalFunctions.distance_set_set(s1, s2)); + public static double nad_tpointcloud_tpcbox(IntPtr temp, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.nad_tpointcloud_tpcbox(temp, box)); - public static ulong distance_set_value(IntPtr s, ulong value) - => SafeExecution(() => MEOSExternalFunctions.distance_set_value(s, value)); + public static double nad_tpointcloud_tpointcloud(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.nad_tpointcloud_tpointcloud(temp1, temp2)); - public static ulong distance_span_span(IntPtr s1, IntPtr s2) - => SafeExecution(() => MEOSExternalFunctions.distance_span_span(s1, s2)); + public static IntPtr tpcbox_parse(IntPtr str) + => SafeExecution(() => MEOSExternalFunctions.tpcbox_parse(str)); - public static ulong distance_span_value(IntPtr s, ulong value) - => SafeExecution(() => MEOSExternalFunctions.distance_span_value(s, value)); + public static bool tpcbox_index_leaf_consistent(IntPtr key, IntPtr query, int strategy) + => SafeExecution(() => MEOSExternalFunctions.tpcbox_index_leaf_consistent(key, query, strategy)); - public static ulong distance_spanset_span(IntPtr ss, IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.distance_spanset_span(ss, s)); + public static bool tpcbox_gist_inner_consistent(IntPtr key, IntPtr query, int strategy) + => SafeExecution(() => MEOSExternalFunctions.tpcbox_gist_inner_consistent(key, query, strategy)); - public static ulong distance_spanset_spanset(IntPtr ss1, IntPtr ss2) - => SafeExecution(() => MEOSExternalFunctions.distance_spanset_spanset(ss1, ss2)); + public static bool tpcbox_index_recheck(int strategy) + => SafeExecution(() => MEOSExternalFunctions.tpcbox_index_recheck(strategy)); - public static ulong distance_spanset_value(IntPtr ss, ulong value) - => SafeExecution(() => MEOSExternalFunctions.distance_spanset_value(ss, value)); + public static bool ensure_valid_pose_geo(IntPtr pose, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.ensure_valid_pose_geo(pose, gs)); - public static ulong distance_value_value(ulong l, ulong r, int basetype) - => SafeExecution(() => MEOSExternalFunctions.distance_value_value(l, r, basetype)); + public static bool ensure_valid_pose_stbox(IntPtr pose, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.ensure_valid_pose_stbox(pose, box)); - public static IntPtr spanbase_extent_transfn(IntPtr state, ulong value, int basetype) - => SafeExecution(() => MEOSExternalFunctions.spanbase_extent_transfn(state, value, basetype)); + public static bool ensure_valid_pose_pose(IntPtr pose1, IntPtr pose2) + => SafeExecution(() => MEOSExternalFunctions.ensure_valid_pose_pose(pose1, pose2)); - public static IntPtr value_union_transfn(IntPtr state, ulong value, int basetype) - => SafeExecution(() => MEOSExternalFunctions.value_union_transfn(state, value, basetype)); + public static bool ensure_valid_poseset_pose(IntPtr s, IntPtr pose) + => SafeExecution(() => MEOSExternalFunctions.ensure_valid_poseset_pose(s, pose)); - public static IntPtr number_tstzspan_to_tbox(ulong d, int basetype, IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.number_tstzspan_to_tbox(d, basetype, s)); + public static bool pose_collinear(IntPtr pose1, IntPtr pose2, IntPtr pose3, double ratio) + => SafeExecution(() => MEOSExternalFunctions.pose_collinear(pose1, pose2, pose3, ratio)); - public static IntPtr number_timestamptz_to_tbox(ulong d, int basetype, long t) - => SafeExecution(() => MEOSExternalFunctions.number_timestamptz_to_tbox(d, basetype, t)); + public static IntPtr posesegm_interpolate(IntPtr start, IntPtr end, double ratio) + => SafeExecution(() => MEOSExternalFunctions.posesegm_interpolate(start, end, ratio)); - public static void tbox_set(IntPtr s, IntPtr p, IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.tbox_set(s, p, box)); + public static IntPtr posesegm_locate(IntPtr start, IntPtr end, IntPtr value) + => SafeExecution(() => MEOSExternalFunctions.posesegm_locate(start, end, value)); - public static void float_set_tbox(double d, IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.float_set_tbox(d, box)); + public static string pose_wkt_out(IntPtr pose, bool extended, int maxdd) + => SafeExecution(() => MEOSExternalFunctions.pose_wkt_out(pose, extended, maxdd)); - public static void int_set_tbox(int i, IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.int_set_tbox(i, box)); + public static IntPtr pose_parse(IntPtr str, bool end) + => SafeExecution(() => MEOSExternalFunctions.pose_parse(str, end)); - public static void number_set_tbox(ulong d, int basetype, IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.number_set_tbox(d, basetype, box)); + public static long datum_pose_point(long pose) + => SafeExecution(() => MEOSExternalFunctions.datum_pose_point(pose)); - public static IntPtr number_tbox(ulong value, int basetype) - => SafeExecution(() => MEOSExternalFunctions.number_tbox(value, basetype)); + public static long datum_pose_geopoint(long pose) + => SafeExecution(() => MEOSExternalFunctions.datum_pose_geopoint(pose)); - public static void numset_set_tbox(IntPtr s, IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.numset_set_tbox(s, box)); + public static long datum_pose_rotation(long pose) + => SafeExecution(() => MEOSExternalFunctions.datum_pose_rotation(pose)); - public static void numspan_set_tbox(IntPtr span, IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.numspan_set_tbox(span, box)); + public static long datum_pose_yaw(long pose) + => SafeExecution(() => MEOSExternalFunctions.datum_pose_yaw(pose)); - public static void timestamptz_set_tbox(long t, IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.timestamptz_set_tbox(t, box)); + public static long datum_pose_pitch(long pose) + => SafeExecution(() => MEOSExternalFunctions.datum_pose_pitch(pose)); - public static void tstzset_set_tbox(IntPtr s, IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.tstzset_set_tbox(s, box)); + public static long datum_pose_roll(long pose) + => SafeExecution(() => MEOSExternalFunctions.datum_pose_roll(pose)); - public static void tstzspan_set_tbox(IntPtr s, IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.tstzspan_set_tbox(s, box)); + public static long datum_pose_apply_geo(long pose, long body) + => SafeExecution(() => MEOSExternalFunctions.datum_pose_apply_geo(pose, body)); - public static IntPtr tbox_shift_scale_value(IntPtr box, ulong shift, ulong width, bool hasshift, bool haswidth) - => SafeExecution(() => MEOSExternalFunctions.tbox_shift_scale_value(box, shift, width, hasshift, haswidth)); + public static long datum_pose_round(long pose, long size) + => SafeExecution(() => MEOSExternalFunctions.datum_pose_round(pose, size)); - public static void tbox_expand(IntPtr box1, IntPtr box2) - => SafeExecution(() => MEOSExternalFunctions.tbox_expand(box1, box2)); + public static long pose_distance(long pose1, long pose2) + => SafeExecution(() => MEOSExternalFunctions.pose_distance(pose1, pose2)); - public static bool inter_tbox_tbox(IntPtr box1, IntPtr box2, IntPtr result) - => SafeExecution(() => MEOSExternalFunctions.inter_tbox_tbox(box1, box2, result)); + public static bool pose_set_stbox(IntPtr pose, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.pose_set_stbox(pose, box)); - public static IntPtr tboolinst_from_mfjson(IntPtr mfjson) - => SafeExecution(() => MEOSExternalFunctions.tboolinst_from_mfjson(mfjson)); + public static void posearr_set_stbox(IntPtr values, int count, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.posearr_set_stbox(values, count, box)); - public static IntPtr tboolinst_in(string str) - => SafeExecution(() => MEOSExternalFunctions.tboolinst_in(str)); + public static bool pose_timestamptz_set_stbox(IntPtr pose, long t, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.pose_timestamptz_set_stbox(pose, t, box)); - public static IntPtr tboolseq_from_mfjson(IntPtr mfjson) - => SafeExecution(() => MEOSExternalFunctions.tboolseq_from_mfjson(mfjson)); + public static bool pose_tstzspan_set_stbox(IntPtr pose, IntPtr p, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.pose_tstzspan_set_stbox(pose, p, box)); - public static IntPtr tboolseq_in(string str, int interp) - => SafeExecution(() => MEOSExternalFunctions.tboolseq_in(str, interp)); + public static bool ensure_valid_tpose_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.ensure_valid_tpose_geo(temp, gs)); - public static IntPtr tboolseqset_from_mfjson(IntPtr mfjson) - => SafeExecution(() => MEOSExternalFunctions.tboolseqset_from_mfjson(mfjson)); + public static bool ensure_valid_tpose_pose(IntPtr temp, IntPtr pose) + => SafeExecution(() => MEOSExternalFunctions.ensure_valid_tpose_pose(temp, pose)); - public static IntPtr tboolseqset_in(string str) - => SafeExecution(() => MEOSExternalFunctions.tboolseqset_in(str)); + public static bool ensure_valid_tpose_stbox(IntPtr temp, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.ensure_valid_tpose_stbox(temp, box)); - public static IntPtr temporal_in(string str, int temptype) - => SafeExecution(() => MEOSExternalFunctions.temporal_in(str, temptype)); + public static bool ensure_valid_tpose_tpose(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.ensure_valid_tpose_tpose(temp1, temp2)); - public static string temporal_out(IntPtr temp, int maxdd) - => SafeExecution(() => MEOSExternalFunctions.temporal_out(temp, maxdd)); + public static int tposesegm_intersection_value(long start, long end, long value, long lower, long upper, IntPtr t1, IntPtr t2) + => SafeExecution(() => MEOSExternalFunctions.tposesegm_intersection_value(start, end, value, lower, upper, t1, t2)); - public static IntPtr temparr_out(IntPtr temparr, int count, int maxdd) - => SafeExecution(() => MEOSExternalFunctions.temparr_out(temparr, count, maxdd)); + public static int tposesegm_intersection(long start1, long end1, long start2, long end2, long lower, long upper, IntPtr t1, IntPtr t2) + => SafeExecution(() => MEOSExternalFunctions.tposesegm_intersection(start1, end1, start2, end2, lower, upper, t1, t2)); - public static IntPtr tfloatinst_from_mfjson(IntPtr mfjson) - => SafeExecution(() => MEOSExternalFunctions.tfloatinst_from_mfjson(mfjson)); + public static void tposeinst_set_stbox(IntPtr inst, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.tposeinst_set_stbox(inst, box)); - public static IntPtr tfloatinst_in(string str) - => SafeExecution(() => MEOSExternalFunctions.tfloatinst_in(str)); + public static void tposeinstarr_set_stbox(IntPtr instants, int count, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.tposeinstarr_set_stbox(instants, count, box)); - public static IntPtr tfloatseq_from_mfjson(IntPtr mfjson, int interp) - => SafeExecution(() => MEOSExternalFunctions.tfloatseq_from_mfjson(mfjson, interp)); + public static void tposeseq_expand_stbox(IntPtr seq, IntPtr inst) + => SafeExecution(() => MEOSExternalFunctions.tposeseq_expand_stbox(seq, inst)); - public static IntPtr tfloatseq_in(string str, int interp) - => SafeExecution(() => MEOSExternalFunctions.tfloatseq_in(str, interp)); + public static IntPtr tpose_restrict_geom(IntPtr temp, IntPtr gs, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.tpose_restrict_geom(temp, gs, atfunc)); - public static IntPtr tfloatseqset_from_mfjson(IntPtr mfjson, int interp) - => SafeExecution(() => MEOSExternalFunctions.tfloatseqset_from_mfjson(mfjson, interp)); + public static IntPtr tpose_restrict_stbox(IntPtr temp, IntPtr box, bool border_inc, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.tpose_restrict_stbox(temp, box, border_inc, atfunc)); - public static IntPtr tfloatseqset_in(string str) - => SafeExecution(() => MEOSExternalFunctions.tfloatseqset_in(str)); + public static IntPtr tpose_restrict_elevation(IntPtr temp, IntPtr s, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.tpose_restrict_elevation(temp, s, atfunc)); - public static IntPtr tinstant_from_mfjson(IntPtr mfjson, bool spatial, int srid, int temptype) - => SafeExecution(() => MEOSExternalFunctions.tinstant_from_mfjson(mfjson, spatial, srid, temptype)); + public static bool bool_in(string str) + => SafeExecution(() => MEOSExternalFunctions.bool_in(str)); - public static IntPtr tinstant_in(string str, int temptype) - => SafeExecution(() => MEOSExternalFunctions.tinstant_in(str, temptype)); + public static string bool_out(bool b) + => SafeExecution(() => MEOSExternalFunctions.bool_out(b)); - public static string tinstant_out(IntPtr inst, int maxdd) - => SafeExecution(() => MEOSExternalFunctions.tinstant_out(inst, maxdd)); + public static string float8_out(double num, int maxdd) + => SafeExecution(() => MEOSExternalFunctions.float8_out(num, maxdd)); - public static IntPtr tintinst_from_mfjson(IntPtr mfjson) - => SafeExecution(() => MEOSExternalFunctions.tintinst_from_mfjson(mfjson)); + public static int date_in(string str) + => SafeExecution(() => MEOSExternalFunctions.date_in(str)); - public static IntPtr tintinst_in(string str) - => SafeExecution(() => MEOSExternalFunctions.tintinst_in(str)); + public static string date_out(int date) + => SafeExecution(() => MEOSExternalFunctions.date_out(date)); - public static IntPtr tintseq_from_mfjson(IntPtr mfjson) - => SafeExecution(() => MEOSExternalFunctions.tintseq_from_mfjson(mfjson)); + public static int interval_cmp(IntPtr interv1, IntPtr interv2) + => SafeExecution(() => MEOSExternalFunctions.interval_cmp(interv1, interv2)); - public static IntPtr tintseq_in(string str, int interp) - => SafeExecution(() => MEOSExternalFunctions.tintseq_in(str, interp)); + public static IntPtr interval_in(string str, int typmod) + => SafeExecution(() => MEOSExternalFunctions.interval_in(str, typmod)); - public static IntPtr tintseqset_from_mfjson(IntPtr mfjson) - => SafeExecution(() => MEOSExternalFunctions.tintseqset_from_mfjson(mfjson)); + public static string interval_out(IntPtr interv) + => SafeExecution(() => MEOSExternalFunctions.interval_out(interv)); - public static IntPtr tintseqset_in(string str) - => SafeExecution(() => MEOSExternalFunctions.tintseqset_in(str)); + public static long time_in(string str, int typmod) + => SafeExecution(() => MEOSExternalFunctions.time_in(str, typmod)); - public static IntPtr tsequence_from_mfjson(IntPtr mfjson, bool spatial, int srid, int temptype, int interp) - => SafeExecution(() => MEOSExternalFunctions.tsequence_from_mfjson(mfjson, spatial, srid, temptype, interp)); + public static string time_out(long time) + => SafeExecution(() => MEOSExternalFunctions.time_out(time)); - public static IntPtr tsequence_in(string str, int temptype, int interp) - => SafeExecution(() => MEOSExternalFunctions.tsequence_in(str, temptype, interp)); + public static long timestamp_in(string str, int typmod) + => SafeExecution(() => MEOSExternalFunctions.timestamp_in(str, typmod)); - public static string tsequence_out(IntPtr seq, int maxdd) - => SafeExecution(() => MEOSExternalFunctions.tsequence_out(seq, maxdd)); + public static string timestamp_out(long ts) + => SafeExecution(() => MEOSExternalFunctions.timestamp_out(ts)); - public static IntPtr tsequenceset_from_mfjson(IntPtr mfjson, bool spatial, int srid, int temptype, int interp) - => SafeExecution(() => MEOSExternalFunctions.tsequenceset_from_mfjson(mfjson, spatial, srid, temptype, interp)); + public static long timestamptz_in(string str, int typmod) + => SafeExecution(() => MEOSExternalFunctions.timestamptz_in(str, typmod)); - public static IntPtr tsequenceset_in(string str, int temptype, int interp) - => SafeExecution(() => MEOSExternalFunctions.tsequenceset_in(str, temptype, interp)); + public static string timestamptz_out(long tstz) + => SafeExecution(() => MEOSExternalFunctions.timestamptz_out(tstz)); - public static string tsequenceset_out(IntPtr ss, int maxdd) - => SafeExecution(() => MEOSExternalFunctions.tsequenceset_out(ss, maxdd)); + public static IntPtr cstring_to_text(string str) + => SafeExecution(() => MEOSExternalFunctions.cstring_to_text(str)); - public static IntPtr ttextinst_from_mfjson(IntPtr mfjson) - => SafeExecution(() => MEOSExternalFunctions.ttextinst_from_mfjson(mfjson)); + public static string text_to_cstring(IntPtr txt) + => SafeExecution(() => MEOSExternalFunctions.text_to_cstring(txt)); - public static IntPtr ttextinst_in(string str) - => SafeExecution(() => MEOSExternalFunctions.ttextinst_in(str)); + public static IntPtr text_in(string str) + => SafeExecution(() => MEOSExternalFunctions.text_in(str)); + + public static string text_out(IntPtr txt) + => SafeExecution(() => MEOSExternalFunctions.text_out(txt)); + + public static int text_cmp(IntPtr txt1, IntPtr txt2, uint collid) + => SafeExecution(() => MEOSExternalFunctions.text_cmp(txt1, txt2, collid)); + + public static IntPtr text_copy(IntPtr txt) + => SafeExecution(() => MEOSExternalFunctions.text_copy(txt)); + + public static IntPtr text_initcap(IntPtr txt) + => SafeExecution(() => MEOSExternalFunctions.text_initcap(txt)); + + public static IntPtr text_lower(IntPtr txt) + => SafeExecution(() => MEOSExternalFunctions.text_lower(txt)); - public static IntPtr ttextseq_from_mfjson(IntPtr mfjson) - => SafeExecution(() => MEOSExternalFunctions.ttextseq_from_mfjson(mfjson)); + public static IntPtr text_upper(IntPtr txt) + => SafeExecution(() => MEOSExternalFunctions.text_upper(txt)); - public static IntPtr ttextseq_in(string str, int interp) - => SafeExecution(() => MEOSExternalFunctions.ttextseq_in(str, interp)); + public static IntPtr textcat_text_text(IntPtr txt1, IntPtr txt2) + => SafeExecution(() => MEOSExternalFunctions.textcat_text_text(txt1, txt2)); - public static IntPtr ttextseqset_from_mfjson(IntPtr mfjson) - => SafeExecution(() => MEOSExternalFunctions.ttextseqset_from_mfjson(mfjson)); + public static int ensure_valid_tquadbin_tquadbin(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.ensure_valid_tquadbin_tquadbin(temp1, temp2)); - public static IntPtr ttextseqset_in(string str) - => SafeExecution(() => MEOSExternalFunctions.ttextseqset_in(str)); + public static bool ensure_valid_tquadbin_quadbin(IntPtr temp, IntPtr cell) + => SafeExecution(() => MEOSExternalFunctions.ensure_valid_tquadbin_quadbin(temp, cell)); - public static IntPtr temporal_from_mfjson(string mfjson, int temptype) - => SafeExecution(() => MEOSExternalFunctions.temporal_from_mfjson(mfjson, temptype)); + public static bool ensure_valid_tquadbin_tgeompoint(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.ensure_valid_tquadbin_tgeompoint(temp1, temp2)); - public static IntPtr temporal_from_base_temp(ulong value, int temptype, IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.temporal_from_base_temp(value, temptype, temp)); + public static long datum2_quadbin_eq(long d1, long d2, int type) + => SafeExecution(() => MEOSExternalFunctions.datum2_quadbin_eq(d1, d2, type)); - public static IntPtr tinstant_copy(IntPtr inst) - => SafeExecution(() => MEOSExternalFunctions.tinstant_copy(inst)); + public static long datum2_quadbin_ne(long d1, long d2, int type) + => SafeExecution(() => MEOSExternalFunctions.datum2_quadbin_ne(d1, d2, type)); - public static IntPtr tinstant_make(ulong value, int temptype, long t) - => SafeExecution(() => MEOSExternalFunctions.tinstant_make(value, temptype, t)); + public static bool quadbin_set_stbox(IntPtr cell, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.quadbin_set_stbox(cell, box)); - public static IntPtr tinstant_make_free(ulong value, int temptype, long t) - => SafeExecution(() => MEOSExternalFunctions.tinstant_make_free(value, temptype, t)); + public static void quadbinarr_set_stbox(IntPtr values, int count, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.quadbinarr_set_stbox(values, count, box)); - public static IntPtr tsequence_copy(IntPtr seq) - => SafeExecution(() => MEOSExternalFunctions.tsequence_copy(seq)); + public static void tquadbininst_set_stbox(IntPtr inst, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.tquadbininst_set_stbox(inst, box)); - public static IntPtr tsequence_from_base_temp(ulong value, int temptype, IntPtr seq) - => SafeExecution(() => MEOSExternalFunctions.tsequence_from_base_temp(value, temptype, seq)); + public static void tquadbininstarr_set_stbox(IntPtr instants, int count, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.tquadbininstarr_set_stbox(instants, count, box)); - public static IntPtr tsequence_from_base_tstzset(ulong value, int temptype, IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.tsequence_from_base_tstzset(value, temptype, s)); + public static void tquadbinseq_expand_stbox(IntPtr seq, IntPtr inst) + => SafeExecution(() => MEOSExternalFunctions.tquadbinseq_expand_stbox(seq, inst)); - public static IntPtr tsequence_from_base_tstzspan(ulong value, int temptype, IntPtr s, int interp) - => SafeExecution(() => MEOSExternalFunctions.tsequence_from_base_tstzspan(value, temptype, s, interp)); + public static int raquet_pixtype_size(IntPtr pixtype) + => SafeExecution(() => MEOSExternalFunctions.raquet_pixtype_size(pixtype)); - public static IntPtr tsequence_make_exp(IntPtr instants, int count, int maxcount, bool lower_inc, bool upper_inc, int interp, bool normalize) - => SafeExecution(() => MEOSExternalFunctions.tsequence_make_exp(instants, count, maxcount, lower_inc, upper_inc, interp, normalize)); + public static int raquet_pixels_size(IntPtr rq) + => SafeExecution(() => MEOSExternalFunctions.raquet_pixels_size(rq)); - public static IntPtr tsequence_make_free(IntPtr instants, int count, bool lower_inc, bool upper_inc, int interp, bool normalize) - => SafeExecution(() => MEOSExternalFunctions.tsequence_make_free(instants, count, lower_inc, upper_inc, interp, normalize)); + public static bool raster_quadbin_from_bounds(double origin_x, double origin_y, double pixel_w, double pixel_h, int xsize, int ysize, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.raster_quadbin_from_bounds(origin_x, origin_y, pixel_w, pixel_h, xsize, ysize, result)); - public static IntPtr tsequenceset_copy(IntPtr ss) - => SafeExecution(() => MEOSExternalFunctions.tsequenceset_copy(ss)); + public static bool ensure_has_geom(short flags) + => SafeExecution(() => MEOSExternalFunctions.ensure_has_geom(flags)); - public static IntPtr tseqsetarr_to_tseqset(IntPtr seqsets, int count, int totalseqs) - => SafeExecution(() => MEOSExternalFunctions.tseqsetarr_to_tseqset(seqsets, count, totalseqs)); + public static bool ensure_valid_trgeo_geo(IntPtr temp, IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.ensure_valid_trgeo_geo(temp, gs)); - public static IntPtr tsequenceset_from_base_temp(ulong value, int temptype, IntPtr ss) - => SafeExecution(() => MEOSExternalFunctions.tsequenceset_from_base_temp(value, temptype, ss)); + public static bool ensure_valid_trgeo_stbox(IntPtr temp, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.ensure_valid_trgeo_stbox(temp, box)); - public static IntPtr tsequenceset_from_base_tstzspanset(ulong value, int temptype, IntPtr ss, int interp) - => SafeExecution(() => MEOSExternalFunctions.tsequenceset_from_base_tstzspanset(value, temptype, ss, interp)); + public static bool ensure_valid_trgeo_trgeo(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.ensure_valid_trgeo_trgeo(temp1, temp2)); - public static IntPtr tsequenceset_make_exp(IntPtr sequences, int count, int maxcount, bool normalize) - => SafeExecution(() => MEOSExternalFunctions.tsequenceset_make_exp(sequences, count, maxcount, normalize)); + public static bool ensure_valid_trgeo_tpoint(IntPtr temp1, IntPtr temp2) + => SafeExecution(() => MEOSExternalFunctions.ensure_valid_trgeo_tpoint(temp1, temp2)); - public static IntPtr tsequenceset_make_free(IntPtr sequences, int count, bool normalize) - => SafeExecution(() => MEOSExternalFunctions.tsequenceset_make_free(sequences, count, normalize)); + public static IntPtr trgeo_geom_p(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.trgeo_geom_p(temp)); - public static void temporal_set_tstzspan(IntPtr temp, IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.temporal_set_tstzspan(temp, s)); + public static string trgeo_wkt_out(IntPtr temp, int maxdd, bool extended) + => SafeExecution(() => MEOSExternalFunctions.trgeo_wkt_out(temp, maxdd, extended)); - public static void tinstant_set_tstzspan(IntPtr inst, IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.tinstant_set_tstzspan(inst, s)); + public static IntPtr geo_tposeinst_to_trgeo(IntPtr gs, IntPtr inst) + => SafeExecution(() => MEOSExternalFunctions.geo_tposeinst_to_trgeo(gs, inst)); - public static void tnumber_set_tbox(IntPtr temp, IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.tnumber_set_tbox(temp, box)); + public static IntPtr geo_tposeseq_to_trgeo(IntPtr gs, IntPtr seq) + => SafeExecution(() => MEOSExternalFunctions.geo_tposeseq_to_trgeo(gs, seq)); - public static void tnumberinst_set_tbox(IntPtr inst, IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.tnumberinst_set_tbox(inst, box)); + public static IntPtr geo_tposeseqset_to_trgeo(IntPtr gs, IntPtr ss) + => SafeExecution(() => MEOSExternalFunctions.geo_tposeseqset_to_trgeo(gs, ss)); - public static void tnumberseq_set_tbox(IntPtr seq, IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.tnumberseq_set_tbox(seq, box)); + public static bool trgeo_value_at_timestamptz(IntPtr temp, long t, bool strict, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.trgeo_value_at_timestamptz(temp, t, strict, result)); - public static void tnumberseqset_set_tbox(IntPtr ss, IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.tnumberseqset_set_tbox(ss, box)); + public static IntPtr trgeometry_restrict_value(IntPtr temp, long value, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.trgeometry_restrict_value(temp, value, atfunc)); - public static void tsequence_set_tstzspan(IntPtr seq, IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.tsequence_set_tstzspan(seq, s)); + public static IntPtr trgeoinst_geom_p(IntPtr inst) + => SafeExecution(() => MEOSExternalFunctions.trgeoinst_geom_p(inst)); - public static void tsequenceset_set_tstzspan(IntPtr ss, IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.tsequenceset_set_tstzspan(ss, s)); + public static ulong trgeoinst_pose_varsize(IntPtr inst) + => SafeExecution(() => MEOSExternalFunctions.trgeoinst_pose_varsize(inst)); - public static IntPtr temporal_end_inst(IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.temporal_end_inst(temp)); + public static void trgeoinst_set_pose(IntPtr inst) + => SafeExecution(() => MEOSExternalFunctions.trgeoinst_set_pose(inst)); - public static ulong temporal_end_value(IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.temporal_end_value(temp)); + public static IntPtr trgeoinst_tposeinst(IntPtr inst) + => SafeExecution(() => MEOSExternalFunctions.trgeoinst_tposeinst(inst)); - public static IntPtr temporal_inst_n(IntPtr temp, int n) - => SafeExecution(() => MEOSExternalFunctions.temporal_inst_n(temp, n)); + public static IntPtr trgeoinst_make1(IntPtr geom, IntPtr pose, long t) + => SafeExecution(() => MEOSExternalFunctions.trgeoinst_make1(geom, pose, t)); - public static IntPtr temporal_insts_p(IntPtr temp, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.temporal_insts_p(temp, count)); + public static IntPtr trgeoseq_to_tinstant(IntPtr seq) + => SafeExecution(() => MEOSExternalFunctions.trgeoseq_to_tinstant(seq)); - public static IntPtr temporal_max_inst_p(IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.temporal_max_inst_p(temp)); + public static IntPtr trgeoseqset_to_tinstant(IntPtr ts) + => SafeExecution(() => MEOSExternalFunctions.trgeoseqset_to_tinstant(ts)); - public static ulong temporal_max_value(IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.temporal_max_value(temp)); + public static IntPtr trgeo_restrict_geom(IntPtr temp, IntPtr gs, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.trgeo_restrict_geom(temp, gs, atfunc)); - public static ulong temporal_mem_size(IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.temporal_mem_size(temp)); + public static IntPtr trgeo_restrict_stbox(IntPtr temp, IntPtr box, bool border_inc, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.trgeo_restrict_stbox(temp, box, border_inc, atfunc)); - public static IntPtr temporal_min_inst_p(IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.temporal_min_inst_p(temp)); + public static int spatialrel_trgeo_trav_geo(IntPtr temp, IntPtr gs, long param, IntPtr func, int numparam, bool invert) + => SafeExecution(() => MEOSExternalFunctions.spatialrel_trgeo_trav_geo(temp, gs, param, func, numparam, invert)); - public static ulong temporal_min_value(IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.temporal_min_value(temp)); + public static int ea_contains_geo_trgeo(IntPtr gs, IntPtr temp, bool ever) + => SafeExecution(() => MEOSExternalFunctions.ea_contains_geo_trgeo(gs, temp, ever)); - public static IntPtr temporal_sequences_p(IntPtr temp, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.temporal_sequences_p(temp, count)); + public static int ea_contains_trgeo_geo(IntPtr temp, IntPtr gs, bool ever) + => SafeExecution(() => MEOSExternalFunctions.ea_contains_trgeo_geo(temp, gs, ever)); - public static void temporal_set_bbox(IntPtr temp, IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.temporal_set_bbox(temp, box)); + public static int ea_contains_trgeo_trgeo(IntPtr temp1, IntPtr temp2, bool ever) + => SafeExecution(() => MEOSExternalFunctions.ea_contains_trgeo_trgeo(temp1, temp2, ever)); - public static IntPtr temporal_start_inst(IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.temporal_start_inst(temp)); + public static int ea_covers_geo_trgeo(IntPtr gs, IntPtr temp, bool ever) + => SafeExecution(() => MEOSExternalFunctions.ea_covers_geo_trgeo(gs, temp, ever)); - public static ulong temporal_start_value(IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.temporal_start_value(temp)); + public static int ea_covers_trgeo_geo(IntPtr temp, IntPtr gs, bool ever) + => SafeExecution(() => MEOSExternalFunctions.ea_covers_trgeo_geo(temp, gs, ever)); - public static IntPtr temporal_values_p(IntPtr temp, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.temporal_values_p(temp, count)); + public static int ea_covers_trgeo_trgeo(IntPtr temp1, IntPtr temp2, bool ever) + => SafeExecution(() => MEOSExternalFunctions.ea_covers_trgeo_trgeo(temp1, temp2, ever)); - public static bool temporal_value_n(IntPtr temp, int n, IntPtr result) - => SafeExecution(() => MEOSExternalFunctions.temporal_value_n(temp, n, result)); + public static int ea_disjoint_geo_trgeo(IntPtr gs, IntPtr temp, bool ever) + => SafeExecution(() => MEOSExternalFunctions.ea_disjoint_geo_trgeo(gs, temp, ever)); - public static IntPtr temporal_values(IntPtr temp, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.temporal_values(temp, count)); + public static int ea_disjoint_trgeo_geo(IntPtr temp, IntPtr gs, bool ever) + => SafeExecution(() => MEOSExternalFunctions.ea_disjoint_trgeo_geo(temp, gs, ever)); - public static uint tinstant_hash(IntPtr inst) - => SafeExecution(() => MEOSExternalFunctions.tinstant_hash(inst)); + public static int ea_disjoint_trgeo_trgeo(IntPtr temp1, IntPtr temp2, bool ever) + => SafeExecution(() => MEOSExternalFunctions.ea_disjoint_trgeo_trgeo(temp1, temp2, ever)); - public static IntPtr tinstant_insts(IntPtr inst, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.tinstant_insts(inst, count)); + public static int ea_intersects_geo_trgeo(IntPtr gs, IntPtr temp, bool ever) + => SafeExecution(() => MEOSExternalFunctions.ea_intersects_geo_trgeo(gs, temp, ever)); - public static void tinstant_set_bbox(IntPtr inst, IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.tinstant_set_bbox(inst, box)); + public static int ea_intersects_trgeo_geo(IntPtr temp, IntPtr gs, bool ever) + => SafeExecution(() => MEOSExternalFunctions.ea_intersects_trgeo_geo(temp, gs, ever)); - public static IntPtr tinstant_time(IntPtr inst) - => SafeExecution(() => MEOSExternalFunctions.tinstant_time(inst)); + public static int ea_intersects_trgeo_trgeo(IntPtr temp1, IntPtr temp2, bool ever) + => SafeExecution(() => MEOSExternalFunctions.ea_intersects_trgeo_trgeo(temp1, temp2, ever)); - public static IntPtr tinstant_timestamps(IntPtr inst, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.tinstant_timestamps(inst, count)); + public static int ea_touches_geo_trgeo(IntPtr gs, IntPtr temp, bool ever) + => SafeExecution(() => MEOSExternalFunctions.ea_touches_geo_trgeo(gs, temp, ever)); - public static ulong tinstant_value_p(IntPtr inst) - => SafeExecution(() => MEOSExternalFunctions.tinstant_value_p(inst)); + public static int ea_touches_trgeo_geo(IntPtr temp, IntPtr gs, bool ever) + => SafeExecution(() => MEOSExternalFunctions.ea_touches_trgeo_geo(temp, gs, ever)); - public static ulong tinstant_value(IntPtr inst) - => SafeExecution(() => MEOSExternalFunctions.tinstant_value(inst)); + public static int ea_touches_trgeo_trgeo(IntPtr temp1, IntPtr temp2, bool ever) + => SafeExecution(() => MEOSExternalFunctions.ea_touches_trgeo_trgeo(temp1, temp2, ever)); - public static bool tinstant_value_at_timestamptz(IntPtr inst, long t, IntPtr result) - => SafeExecution(() => MEOSExternalFunctions.tinstant_value_at_timestamptz(inst, t, result)); + public static int ea_dwithin_trgeo_geo(IntPtr temp, IntPtr gs, double dist, bool ever) + => SafeExecution(() => MEOSExternalFunctions.ea_dwithin_trgeo_geo(temp, gs, dist, ever)); - public static IntPtr tinstant_values_p(IntPtr inst, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.tinstant_values_p(inst, count)); + public static int ea_dwithin_trgeo_trgeo(IntPtr temp1, IntPtr temp2, double dist, bool ever) + => SafeExecution(() => MEOSExternalFunctions.ea_dwithin_trgeo_trgeo(temp1, temp2, dist, ever)); - public static void tnumber_set_span(IntPtr temp, IntPtr span) - => SafeExecution(() => MEOSExternalFunctions.tnumber_set_span(temp, span)); + public static IntPtr trgeoseq_geom_p(IntPtr seq) + => SafeExecution(() => MEOSExternalFunctions.trgeoseq_geom_p(seq)); - public static IntPtr tnumberinst_valuespans(IntPtr inst) - => SafeExecution(() => MEOSExternalFunctions.tnumberinst_valuespans(inst)); + public static ulong trgeoseq_pose_varsize(IntPtr seq) + => SafeExecution(() => MEOSExternalFunctions.trgeoseq_pose_varsize(seq)); - public static double tnumberseq_avg_val(IntPtr seq) - => SafeExecution(() => MEOSExternalFunctions.tnumberseq_avg_val(seq)); + public static void trgeoseq_set_pose(IntPtr seq) + => SafeExecution(() => MEOSExternalFunctions.trgeoseq_set_pose(seq)); - public static IntPtr tnumberseq_valuespans(IntPtr seq) - => SafeExecution(() => MEOSExternalFunctions.tnumberseq_valuespans(seq)); + public static IntPtr trgeoseq_tposeseq(IntPtr seq) + => SafeExecution(() => MEOSExternalFunctions.trgeoseq_tposeseq(seq)); - public static double tnumberseqset_avg_val(IntPtr ss) - => SafeExecution(() => MEOSExternalFunctions.tnumberseqset_avg_val(ss)); + public static bool trgeoseq_make_valid(IntPtr geom, IntPtr instants, int count, bool lower_inc, bool upper_inc, bool linear) + => SafeExecution(() => MEOSExternalFunctions.trgeoseq_make_valid(geom, instants, count, lower_inc, upper_inc, linear)); - public static IntPtr tnumberseqset_valuespans(IntPtr ss) - => SafeExecution(() => MEOSExternalFunctions.tnumberseqset_valuespans(ss)); + public static IntPtr trgeoseq_make1_exp(IntPtr geom, IntPtr instants, int count, int maxcount, bool lower_inc, bool upper_inc, int interp, bool normalize) + => SafeExecution(() => MEOSExternalFunctions.trgeoseq_make1_exp(geom, instants, count, maxcount, lower_inc, upper_inc, interp, normalize)); - public static IntPtr tsequence_duration(IntPtr seq) - => SafeExecution(() => MEOSExternalFunctions.tsequence_duration(seq)); + public static IntPtr trgeoseq_make1(IntPtr geom, IntPtr instants, int count, bool lower_inc, bool upper_inc, int interp, bool normalize) + => SafeExecution(() => MEOSExternalFunctions.trgeoseq_make1(geom, instants, count, lower_inc, upper_inc, interp, normalize)); - public static long tsequence_end_timestamptz(IntPtr seq) - => SafeExecution(() => MEOSExternalFunctions.tsequence_end_timestamptz(seq)); + public static IntPtr trgeoseq_make_exp(IntPtr geom, IntPtr instants, int count, int maxcount, bool lower_inc, bool upper_inc, int interp, bool normalize) + => SafeExecution(() => MEOSExternalFunctions.trgeoseq_make_exp(geom, instants, count, maxcount, lower_inc, upper_inc, interp, normalize)); - public static uint tsequence_hash(IntPtr seq) - => SafeExecution(() => MEOSExternalFunctions.tsequence_hash(seq)); + public static IntPtr trgeoseq_make(IntPtr geom, IntPtr instants, int count, bool lower_inc, bool upper_inc, int interp, bool normalize) + => SafeExecution(() => MEOSExternalFunctions.trgeoseq_make(geom, instants, count, lower_inc, upper_inc, interp, normalize)); - public static IntPtr[] tsequence_insts_p(IntPtr seq) - { - int _n = (int)MEOSExposedFunctions.temporal_num_instants(seq); - IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tsequence_insts_p(seq)); - IntPtr[] _out = new IntPtr[_n]; - for (int _i = 0; _i < _n; _i++) - { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } - return _out; - } + public static IntPtr trgeoseq_make_free_exp(IntPtr geom, IntPtr instants, int count, int maxcount, bool lower_inc, bool upper_inc, int interp, bool normalize) + => SafeExecution(() => MEOSExternalFunctions.trgeoseq_make_free_exp(geom, instants, count, maxcount, lower_inc, upper_inc, interp, normalize)); - public static IntPtr tsequence_max_inst_p(IntPtr seq) - => SafeExecution(() => MEOSExternalFunctions.tsequence_max_inst_p(seq)); + public static IntPtr trgeoseq_make_free(IntPtr geom, IntPtr instants, int count, bool lower_inc, bool upper_inc, int interp, bool normalize) + => SafeExecution(() => MEOSExternalFunctions.trgeoseq_make_free(geom, instants, count, lower_inc, upper_inc, interp, normalize)); - public static ulong tsequence_max_val(IntPtr seq) - => SafeExecution(() => MEOSExternalFunctions.tsequence_max_val(seq)); + public static IntPtr trgeoinst_to_tsequence(IntPtr inst, int interp) + => SafeExecution(() => MEOSExternalFunctions.trgeoinst_to_tsequence(inst, interp)); - public static IntPtr tsequence_min_inst_p(IntPtr seq) - => SafeExecution(() => MEOSExternalFunctions.tsequence_min_inst_p(seq)); + public static IntPtr trgeoseqset_geom_p(IntPtr ts) + => SafeExecution(() => MEOSExternalFunctions.trgeoseqset_geom_p(ts)); - public static ulong tsequence_min_val(IntPtr seq) - => SafeExecution(() => MEOSExternalFunctions.tsequence_min_val(seq)); + public static IntPtr trgeoseqset_tposeseqset(IntPtr ss) + => SafeExecution(() => MEOSExternalFunctions.trgeoseqset_tposeseqset(ss)); - public static IntPtr tsequence_segments(IntPtr seq, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.tsequence_segments(seq, count)); + public static IntPtr trgeoseqset_make1_exp(IntPtr geom, IntPtr sequences, int count, int maxcount, bool normalize) + => SafeExecution(() => MEOSExternalFunctions.trgeoseqset_make1_exp(geom, sequences, count, maxcount, normalize)); - public static IntPtr tsequence_seqs(IntPtr seq, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.tsequence_seqs(seq, count)); + public static IntPtr trgeoseqset_make_exp(IntPtr geom, IntPtr sequences, int count, int maxcount, bool normalize) + => SafeExecution(() => MEOSExternalFunctions.trgeoseqset_make_exp(geom, sequences, count, maxcount, normalize)); - public static long tsequence_start_timestamptz(IntPtr seq) - => SafeExecution(() => MEOSExternalFunctions.tsequence_start_timestamptz(seq)); + public static IntPtr trgeoseqset_make(IntPtr geom, IntPtr sequences, int count, bool normalize) + => SafeExecution(() => MEOSExternalFunctions.trgeoseqset_make(geom, sequences, count, normalize)); - public static IntPtr tsequence_time(IntPtr seq) - => SafeExecution(() => MEOSExternalFunctions.tsequence_time(seq)); + public static IntPtr trgeoseqset_make_free(IntPtr geom, IntPtr sequences, int count, bool normalize) + => SafeExecution(() => MEOSExternalFunctions.trgeoseqset_make_free(geom, sequences, count, normalize)); - public static IntPtr tsequence_timestamps(IntPtr seq, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.tsequence_timestamps(seq, count)); + public static IntPtr trgeoseqset_make_gaps(IntPtr geom, IntPtr instants, int count, int interp, IntPtr maxt, double maxdist) + => SafeExecution(() => MEOSExternalFunctions.trgeoseqset_make_gaps(geom, instants, count, interp, maxt, maxdist)); - public static bool tsequence_value_at_timestamptz(IntPtr seq, long t, bool strict, IntPtr result) - => SafeExecution(() => MEOSExternalFunctions.tsequence_value_at_timestamptz(seq, t, strict, result)); + public static IntPtr trgeoseqset_to_tsequence(IntPtr ss) + => SafeExecution(() => MEOSExternalFunctions.trgeoseqset_to_tsequence(ss)); - public static IntPtr tsequence_values_p(IntPtr seq, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.tsequence_values_p(seq, count)); + public static IntPtr trgeo_to_tsequence(IntPtr temp, string interp_str) + => SafeExecution(() => MEOSExternalFunctions.trgeo_to_tsequence(temp, interp_str)); - public static IntPtr tsequenceset_duration(IntPtr ss, bool boundspan) - => SafeExecution(() => MEOSExternalFunctions.tsequenceset_duration(ss, boundspan)); + public static IntPtr trgeo_to_tsequenceset(IntPtr temp, string interp_str) + => SafeExecution(() => MEOSExternalFunctions.trgeo_to_tsequenceset(temp, interp_str)); - public static long tsequenceset_end_timestamptz(IntPtr ss) - => SafeExecution(() => MEOSExternalFunctions.tsequenceset_end_timestamptz(ss)); + public static void trgeoinst_set_stbox(IntPtr geom, IntPtr inst, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.trgeoinst_set_stbox(geom, inst, box)); - public static uint tsequenceset_hash(IntPtr ss) - => SafeExecution(() => MEOSExternalFunctions.tsequenceset_hash(ss)); + public static void trgeoinstarr_static_stbox(IntPtr geom, IntPtr instants, int count, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.trgeoinstarr_static_stbox(geom, instants, count, box)); - public static IntPtr tsequenceset_inst_n(IntPtr ss, int n) - => SafeExecution(() => MEOSExternalFunctions.tsequenceset_inst_n(ss, n)); + public static void trgeoinstarr_rotating_stbox(IntPtr geom, IntPtr instants, int count, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.trgeoinstarr_rotating_stbox(geom, instants, count, box)); - public static IntPtr[] tsequenceset_insts_p(IntPtr ss) - { - int _n = (int)MEOSExposedFunctions.tsequenceset_num_instants(ss); - IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tsequenceset_insts_p(ss)); - IntPtr[] _out = new IntPtr[_n]; - for (int _i = 0; _i < _n; _i++) - { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } - return _out; - } + public static void trgeoinstarr_compute_bbox(IntPtr geom, IntPtr instants, int count, int interp, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.trgeoinstarr_compute_bbox(geom, instants, count, interp, box)); - public static IntPtr tsequenceset_max_inst_p(IntPtr ss) - => SafeExecution(() => MEOSExternalFunctions.tsequenceset_max_inst_p(ss)); + public static bool ensure_span_isof_type(IntPtr s, int spantype) + => SafeExecution(() => MEOSExternalFunctions.ensure_span_isof_type(s, spantype)); - public static ulong tsequenceset_max_val(IntPtr ss) - => SafeExecution(() => MEOSExternalFunctions.tsequenceset_max_val(ss)); + public static bool ensure_span_isof_basetype(IntPtr s, int basetype) + => SafeExecution(() => MEOSExternalFunctions.ensure_span_isof_basetype(s, basetype)); - public static IntPtr tsequenceset_min_inst_p(IntPtr ss) - => SafeExecution(() => MEOSExternalFunctions.tsequenceset_min_inst_p(ss)); + public static bool ensure_same_span_type(IntPtr s1, IntPtr s2) + => SafeExecution(() => MEOSExternalFunctions.ensure_same_span_type(s1, s2)); - public static ulong tsequenceset_min_val(IntPtr ss) - => SafeExecution(() => MEOSExternalFunctions.tsequenceset_min_val(ss)); + public static bool ensure_valid_span_span(IntPtr s1, IntPtr s2) + => SafeExecution(() => MEOSExternalFunctions.ensure_valid_span_span(s1, s2)); - public static int tsequenceset_num_instants(IntPtr ss) - => SafeExecution(() => MEOSExternalFunctions.tsequenceset_num_instants(ss)); + public static void span_deserialize(IntPtr s, IntPtr lower, IntPtr upper) + => SafeExecution(() => MEOSExternalFunctions.span_deserialize(s, lower, upper)); - public static int tsequenceset_num_timestamps(IntPtr ss) - => SafeExecution(() => MEOSExternalFunctions.tsequenceset_num_timestamps(ss)); + public static int span_bound_cmp(IntPtr b1, IntPtr b2) + => SafeExecution(() => MEOSExternalFunctions.span_bound_cmp(b1, b2)); - public static IntPtr tsequenceset_segments(IntPtr ss, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.tsequenceset_segments(ss, count)); + public static int span_bound_qsort_cmp(IntPtr s1, IntPtr s2) + => SafeExecution(() => MEOSExternalFunctions.span_bound_qsort_cmp(s1, s2)); - public static IntPtr[] tsequenceset_sequences_p(IntPtr ss) - { - int _n = (int)MEOSExposedFunctions.temporal_num_sequences(ss); - IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tsequenceset_sequences_p(ss)); - IntPtr[] _out = new IntPtr[_n]; - for (int _i = 0; _i < _n; _i++) - { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } - return _out; - } + public static int span_lower_cmp(IntPtr s1, IntPtr s2) + => SafeExecution(() => MEOSExternalFunctions.span_lower_cmp(s1, s2)); - public static long tsequenceset_start_timestamptz(IntPtr ss) - => SafeExecution(() => MEOSExternalFunctions.tsequenceset_start_timestamptz(ss)); + public static int span_upper_cmp(IntPtr s1, IntPtr s2) + => SafeExecution(() => MEOSExternalFunctions.span_upper_cmp(s1, s2)); - public static IntPtr tsequenceset_time(IntPtr ss) - => SafeExecution(() => MEOSExternalFunctions.tsequenceset_time(ss)); + public static long span_decr_bound(long upper, int basetype) + => SafeExecution(() => MEOSExternalFunctions.span_decr_bound(upper, basetype)); - public static bool tsequenceset_timestamptz_n(IntPtr ss, int n, IntPtr result) - => SafeExecution(() => MEOSExternalFunctions.tsequenceset_timestamptz_n(ss, n, result)); + public static long span_incr_bound(long upper, int basetype) + => SafeExecution(() => MEOSExternalFunctions.span_incr_bound(upper, basetype)); - public static IntPtr tsequenceset_timestamps(IntPtr ss, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.tsequenceset_timestamps(ss, count)); + public static IntPtr spanarr_normalize(IntPtr spans, int count, bool sort, IntPtr newcount) + => SafeExecution(() => MEOSExternalFunctions.spanarr_normalize(spans, count, sort, newcount)); - public static bool tsequenceset_value_at_timestamptz(IntPtr ss, long t, bool strict, IntPtr result) - => SafeExecution(() => MEOSExternalFunctions.tsequenceset_value_at_timestamptz(ss, t, strict, result)); + public static void span_bounds_shift_scale_value(long shift, long width, int type, bool hasshift, bool haswidth, IntPtr lower, IntPtr upper) + => SafeExecution(() => MEOSExternalFunctions.span_bounds_shift_scale_value(shift, width, type, hasshift, haswidth, lower, upper)); - public static bool tsequenceset_value_n(IntPtr ss, int n, IntPtr result) - => SafeExecution(() => MEOSExternalFunctions.tsequenceset_value_n(ss, n, result)); + public static void span_bounds_shift_scale_time(IntPtr shift, IntPtr duration, IntPtr lower, IntPtr upper) + => SafeExecution(() => MEOSExternalFunctions.span_bounds_shift_scale_time(shift, duration, lower, upper)); - public static IntPtr tsequenceset_values_p(IntPtr ss, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.tsequenceset_values_p(ss, count)); + public static void floatspan_floor_ceil_iter(IntPtr s, int func) + => SafeExecution(() => MEOSExternalFunctions.floatspan_floor_ceil_iter(s, func)); - public static void temporal_restart(IntPtr temp, int count) - => SafeExecution(() => MEOSExternalFunctions.temporal_restart(temp, count)); + public static void numspan_delta_scale_iter(IntPtr s, long origin, long delta, bool hasdelta, double scale) + => SafeExecution(() => MEOSExternalFunctions.numspan_delta_scale_iter(s, origin, delta, hasdelta, scale)); - public static IntPtr temporal_tsequence(IntPtr temp, int interp) - => SafeExecution(() => MEOSExternalFunctions.temporal_tsequence(temp, interp)); + public static void tstzspan_delta_scale_iter(IntPtr s, long origin, long delta, double scale) + => SafeExecution(() => MEOSExternalFunctions.tstzspan_delta_scale_iter(s, origin, delta, scale)); - public static IntPtr temporal_tsequenceset(IntPtr temp, int interp) - => SafeExecution(() => MEOSExternalFunctions.temporal_tsequenceset(temp, interp)); + public static void numspan_shift_scale_iter(IntPtr s, long shift, long width, bool hasshift, bool haswidth, IntPtr delta, IntPtr scale) + => SafeExecution(() => MEOSExternalFunctions.numspan_shift_scale_iter(s, shift, width, hasshift, haswidth, delta, scale)); - public static IntPtr tinstant_shift_time(IntPtr inst, IntPtr interv) - => SafeExecution(() => MEOSExternalFunctions.tinstant_shift_time(inst, interv)); + public static void tstzspan_shift_scale1(IntPtr s, IntPtr shift, IntPtr duration, IntPtr delta, IntPtr scale) + => SafeExecution(() => MEOSExternalFunctions.tstzspan_shift_scale1(s, shift, duration, delta, scale)); - public static IntPtr tinstant_to_tsequence(IntPtr inst, int interp) - => SafeExecution(() => MEOSExternalFunctions.tinstant_to_tsequence(inst, interp)); + public static int mi_span_value(IntPtr s, long value, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.mi_span_value(s, value, result)); - public static IntPtr tinstant_to_tsequence_free(IntPtr inst, int interp) - => SafeExecution(() => MEOSExternalFunctions.tinstant_to_tsequence_free(inst, interp)); + public static double dist_double_value_value(long l, long r, int type) + => SafeExecution(() => MEOSExternalFunctions.dist_double_value_value(l, r, type)); - public static IntPtr tinstant_to_tsequenceset(IntPtr inst, int interp) - => SafeExecution(() => MEOSExternalFunctions.tinstant_to_tsequenceset(inst, interp)); + public static int trgeo_geom_clip_polygon(IntPtr a1, IntPtr b1, IntPtr a2, IntPtr b2, IntPtr pa, IntPtr intervals_out) + => SafeExecution(() => MEOSExternalFunctions.trgeo_geom_clip_polygon(a1, b1, a2, b2, pa, intervals_out)); - public static IntPtr tnumber_shift_scale_value(IntPtr temp, ulong shift, ulong width, bool hasshift, bool haswidth) - => SafeExecution(() => MEOSExternalFunctions.tnumber_shift_scale_value(temp, shift, width, hasshift, haswidth)); + public static int trgeo_geom_clip_lwpoly(IntPtr a1, IntPtr b1, IntPtr a2, IntPtr b2, IntPtr poly, IntPtr intervals_out) + => SafeExecution(() => MEOSExternalFunctions.trgeo_geom_clip_lwpoly(a1, b1, a2, b2, poly, intervals_out)); - public static IntPtr tnumberinst_shift_value(IntPtr inst, ulong shift) - => SafeExecution(() => MEOSExternalFunctions.tnumberinst_shift_value(inst, shift)); + public static int trgeo_geom_clip_box(IntPtr a1, IntPtr b1, IntPtr a2, IntPtr b2, double xmin, double ymin, double xmax, double ymax, IntPtr intervals_out) + => SafeExecution(() => MEOSExternalFunctions.trgeo_geom_clip_box(a1, b1, a2, b2, xmin, ymin, xmax, ymax, intervals_out)); - public static IntPtr tnumberseq_shift_scale_value(IntPtr seq, ulong shift, ulong width, bool hasshift, bool haswidth) - => SafeExecution(() => MEOSExternalFunctions.tnumberseq_shift_scale_value(seq, shift, width, hasshift, haswidth)); + public static int trgeo_geom_clip_polygon_posed(IntPtr p_a_local, IntPtr p_b_local, IntPtr pose1, IntPtr pose2, IntPtr pa, IntPtr intervals_out) + => SafeExecution(() => MEOSExternalFunctions.trgeo_geom_clip_polygon_posed(p_a_local, p_b_local, pose1, pose2, pa, intervals_out)); - public static IntPtr tnumberseqset_shift_scale_value(IntPtr ss, ulong start, ulong width, bool hasshift, bool haswidth) - => SafeExecution(() => MEOSExternalFunctions.tnumberseqset_shift_scale_value(ss, start, width, hasshift, haswidth)); + public static int trgeo_geom_clip_lwpoly_posed(IntPtr p_a_local, IntPtr p_b_local, IntPtr pose1, IntPtr pose2, IntPtr poly, IntPtr intervals_out) + => SafeExecution(() => MEOSExternalFunctions.trgeo_geom_clip_lwpoly_posed(p_a_local, p_b_local, pose1, pose2, poly, intervals_out)); - public static void tsequence_restart(IntPtr seq, int count) - => SafeExecution(() => MEOSExternalFunctions.tsequence_restart(seq, count)); + public static int trgeo_geom_clip_box_posed(IntPtr p_a_local, IntPtr p_b_local, IntPtr pose1, IntPtr pose2, double xmin, double ymin, double xmax, double ymax, IntPtr intervals_out) + => SafeExecution(() => MEOSExternalFunctions.trgeo_geom_clip_box_posed(p_a_local, p_b_local, pose1, pose2, xmin, ymin, xmax, ymax, intervals_out)); - public static IntPtr tsequence_set_interp(IntPtr seq, int interp) - => SafeExecution(() => MEOSExternalFunctions.tsequence_set_interp(seq, interp)); + public static int trgeo_geom_clip_lwgeom(IntPtr a1, IntPtr b1, IntPtr a2, IntPtr b2, IntPtr geom, IntPtr intervals_out) + => SafeExecution(() => MEOSExternalFunctions.trgeo_geom_clip_lwgeom(a1, b1, a2, b2, geom, intervals_out)); - public static IntPtr tsequence_shift_scale_time(IntPtr seq, IntPtr shift, IntPtr duration) - => SafeExecution(() => MEOSExternalFunctions.tsequence_shift_scale_time(seq, shift, duration)); + public static int trgeo_geom_clip_lwgeom_posed(IntPtr p_a_local, IntPtr p_b_local, IntPtr pose1, IntPtr pose2, IntPtr geom, IntPtr intervals_out) + => SafeExecution(() => MEOSExternalFunctions.trgeo_geom_clip_lwgeom_posed(p_a_local, p_b_local, pose1, pose2, geom, intervals_out)); - public static IntPtr tsequence_subseq(IntPtr seq, int from, int to, bool lower_inc, bool upper_inc) - => SafeExecution(() => MEOSExternalFunctions.tsequence_subseq(seq, from, to, lower_inc, upper_inc)); + public static IntPtr trgeo_parse(IntPtr str, int temptype) + => SafeExecution(() => MEOSExternalFunctions.trgeo_parse(str, temptype)); - public static IntPtr tsequence_to_tinstant(IntPtr seq) - => SafeExecution(() => MEOSExternalFunctions.tsequence_to_tinstant(seq)); + public static bool ensure_same_geom(IntPtr gs1, IntPtr gs2) + => SafeExecution(() => MEOSExternalFunctions.ensure_same_geom(gs1, gs2)); - public static IntPtr tsequence_to_tsequenceset(IntPtr seq) - => SafeExecution(() => MEOSExternalFunctions.tsequence_to_tsequenceset(seq)); + public static void lwgeom_apply_pose(IntPtr pose, IntPtr geom) + => SafeExecution(() => MEOSExternalFunctions.lwgeom_apply_pose(pose, geom)); - public static IntPtr tsequence_to_tsequenceset_free(IntPtr seq) - => SafeExecution(() => MEOSExternalFunctions.tsequence_to_tsequenceset_free(seq)); + public static IntPtr geom_apply_pose(IntPtr gs, IntPtr pose) + => SafeExecution(() => MEOSExternalFunctions.geom_apply_pose(gs, pose)); - public static IntPtr tsequence_to_tsequenceset_interp(IntPtr seq, int interp) - => SafeExecution(() => MEOSExternalFunctions.tsequence_to_tsequenceset_interp(seq, interp)); + public static double geom_radius(IntPtr gs) + => SafeExecution(() => MEOSExternalFunctions.geom_radius(gs)); - public static void tsequenceset_restart(IntPtr ss, int count) - => SafeExecution(() => MEOSExternalFunctions.tsequenceset_restart(ss, count)); + public static int v_clip_tpoly_point(IntPtr poly, IntPtr point, IntPtr pose, IntPtr poly_feature, IntPtr dist) + => SafeExecution(() => MEOSExternalFunctions.v_clip_tpoly_point(poly, point, pose, poly_feature, dist)); - public static IntPtr tsequenceset_set_interp(IntPtr ss, int interp) - => SafeExecution(() => MEOSExternalFunctions.tsequenceset_set_interp(ss, interp)); + public static int v_clip_tpoly_tpoly(IntPtr poly1, IntPtr poly2, IntPtr pose1, IntPtr pose2, IntPtr poly1_feature, IntPtr poly2_feature, IntPtr dist) + => SafeExecution(() => MEOSExternalFunctions.v_clip_tpoly_tpoly(poly1, poly2, pose1, pose2, poly1_feature, poly2_feature, dist)); - public static IntPtr tsequenceset_shift_scale_time(IntPtr ss, IntPtr start, IntPtr duration) - => SafeExecution(() => MEOSExternalFunctions.tsequenceset_shift_scale_time(ss, start, duration)); + public static void apply_pose_point4d(IntPtr p, IntPtr pose) + => SafeExecution(() => MEOSExternalFunctions.apply_pose_point4d(p, pose)); - public static IntPtr tsequenceset_to_discrete(IntPtr ss) - => SafeExecution(() => MEOSExternalFunctions.tsequenceset_to_discrete(ss)); + public static IntPtr tfunc_tinstant(IntPtr inst, IntPtr lfinfo) + => SafeExecution(() => MEOSExternalFunctions.tfunc_tinstant(inst, lfinfo)); - public static IntPtr tsequenceset_to_linear(IntPtr ss) - => SafeExecution(() => MEOSExternalFunctions.tsequenceset_to_linear(ss)); + public static IntPtr tfunc_tsequence(IntPtr seq, IntPtr lfinfo) + => SafeExecution(() => MEOSExternalFunctions.tfunc_tsequence(seq, lfinfo)); - public static IntPtr tsequenceset_to_step(IntPtr ss) - => SafeExecution(() => MEOSExternalFunctions.tsequenceset_to_step(ss)); + public static IntPtr tfunc_tsequenceset(IntPtr ss, IntPtr lfinfo) + => SafeExecution(() => MEOSExternalFunctions.tfunc_tsequenceset(ss, lfinfo)); - public static IntPtr tsequenceset_to_tinstant(IntPtr ss) - => SafeExecution(() => MEOSExternalFunctions.tsequenceset_to_tinstant(ss)); + public static IntPtr tfunc_temporal(IntPtr temp, IntPtr lfinfo) + => SafeExecution(() => MEOSExternalFunctions.tfunc_temporal(temp, lfinfo)); - public static IntPtr tsequenceset_to_tsequence(IntPtr ss) - => SafeExecution(() => MEOSExternalFunctions.tsequenceset_to_tsequence(ss)); + public static IntPtr tfunc_tinstant_base(IntPtr inst, long value, IntPtr lfinfo) + => SafeExecution(() => MEOSExternalFunctions.tfunc_tinstant_base(inst, value, lfinfo)); - public static IntPtr tinstant_merge(IntPtr inst1, IntPtr inst2) - => SafeExecution(() => MEOSExternalFunctions.tinstant_merge(inst1, inst2)); + public static IntPtr tfunc_tsequence_base(IntPtr seq, long value, IntPtr lfinfo) + => SafeExecution(() => MEOSExternalFunctions.tfunc_tsequence_base(seq, value, lfinfo)); - public static IntPtr tinstant_merge_array(IntPtr instants, int count) - => SafeExecution(() => MEOSExternalFunctions.tinstant_merge_array(instants, count)); + public static IntPtr tfunc_tsequenceset_base(IntPtr ss, long value, IntPtr lfinfo) + => SafeExecution(() => MEOSExternalFunctions.tfunc_tsequenceset_base(ss, value, lfinfo)); - public static IntPtr tsequence_append_tinstant(IntPtr seq, IntPtr inst, double maxdist, IntPtr maxt, bool expand) - => SafeExecution(() => MEOSExternalFunctions.tsequence_append_tinstant(seq, inst, maxdist, maxt, expand)); + public static IntPtr tfunc_temporal_base(IntPtr temp, long value, IntPtr lfinfo) + => SafeExecution(() => MEOSExternalFunctions.tfunc_temporal_base(temp, value, lfinfo)); - public static IntPtr tsequence_append_tsequence(IntPtr seq1, IntPtr seq2, bool expand) - => SafeExecution(() => MEOSExternalFunctions.tsequence_append_tsequence(seq1, seq2, expand)); + public static IntPtr tfunc_tinstant_tinstant(IntPtr inst1, IntPtr inst2, IntPtr lfinfo) + => SafeExecution(() => MEOSExternalFunctions.tfunc_tinstant_tinstant(inst1, inst2, lfinfo)); - public static IntPtr tsequence_delete_timestamptz(IntPtr seq, long t, bool connect) - => SafeExecution(() => MEOSExternalFunctions.tsequence_delete_timestamptz(seq, t, connect)); + public static IntPtr tfunc_tdiscseq_tdiscseq(IntPtr seq1, IntPtr seq2, IntPtr lfinfo) + => SafeExecution(() => MEOSExternalFunctions.tfunc_tdiscseq_tdiscseq(seq1, seq2, lfinfo)); - public static IntPtr tsequence_delete_tstzset(IntPtr seq, IntPtr s, bool connect) - => SafeExecution(() => MEOSExternalFunctions.tsequence_delete_tstzset(seq, s, connect)); + public static IntPtr tfunc_tcontseq_tcontseq(IntPtr seq1, IntPtr seq2, IntPtr lfinfo) + => SafeExecution(() => MEOSExternalFunctions.tfunc_tcontseq_tcontseq(seq1, seq2, lfinfo)); - public static IntPtr tsequence_delete_tstzspan(IntPtr seq, IntPtr s, bool connect) - => SafeExecution(() => MEOSExternalFunctions.tsequence_delete_tstzspan(seq, s, connect)); + public static IntPtr tfunc_tsequenceset_tsequenceset(IntPtr ss1, IntPtr ss2, IntPtr lfinfo) + => SafeExecution(() => MEOSExternalFunctions.tfunc_tsequenceset_tsequenceset(ss1, ss2, lfinfo)); - public static IntPtr tsequence_delete_tstzspanset(IntPtr seq, IntPtr ss, bool connect) - => SafeExecution(() => MEOSExternalFunctions.tsequence_delete_tstzspanset(seq, ss, connect)); + public static IntPtr tfunc_temporal_temporal(IntPtr temp1, IntPtr temp2, IntPtr lfinfo) + => SafeExecution(() => MEOSExternalFunctions.tfunc_temporal_temporal(temp1, temp2, lfinfo)); - public static IntPtr tsequence_insert(IntPtr seq1, IntPtr seq2, bool connect) - => SafeExecution(() => MEOSExternalFunctions.tsequence_insert(seq1, seq2, connect)); + public static int eafunc_temporal_base(IntPtr temp, long value, IntPtr lfinfo) + => SafeExecution(() => MEOSExternalFunctions.eafunc_temporal_base(temp, value, lfinfo)); - public static IntPtr tsequence_merge(IntPtr seq1, IntPtr seq2) - => SafeExecution(() => MEOSExternalFunctions.tsequence_merge(seq1, seq2)); + public static int eafunc_temporal_temporal(IntPtr temp1, IntPtr temp2, IntPtr lfinfo) + => SafeExecution(() => MEOSExternalFunctions.eafunc_temporal_temporal(temp1, temp2, lfinfo)); - public static IntPtr tsequence_merge_array(IntPtr sequences, int count) - => SafeExecution(() => MEOSExternalFunctions.tsequence_merge_array(sequences, count)); + public static IntPtr lfunc_set(IntPtr set, IntPtr lfinfo) + => SafeExecution(() => MEOSExternalFunctions.lfunc_set(set, lfinfo)); - public static IntPtr tsequenceset_append_tinstant(IntPtr ss, IntPtr inst, double maxdist, IntPtr maxt, bool expand) - => SafeExecution(() => MEOSExternalFunctions.tsequenceset_append_tinstant(ss, inst, maxdist, maxt, expand)); + public static string set_out_fn(IntPtr s, int maxdd, IntPtr value_out) + => SafeExecution(() => MEOSExternalFunctions.set_out_fn(s, maxdd, value_out)); - public static IntPtr tsequenceset_append_tsequence(IntPtr ss, IntPtr seq, bool expand) - => SafeExecution(() => MEOSExternalFunctions.tsequenceset_append_tsequence(ss, seq, expand)); + public static bool ensure_set_isof_type(IntPtr s, int settype) + => SafeExecution(() => MEOSExternalFunctions.ensure_set_isof_type(s, settype)); - public static IntPtr tsequenceset_delete_timestamptz(IntPtr ss, long t) - => SafeExecution(() => MEOSExternalFunctions.tsequenceset_delete_timestamptz(ss, t)); + public static bool ensure_valid_set_set(IntPtr s1, IntPtr s2) + => SafeExecution(() => MEOSExternalFunctions.ensure_valid_set_set(s1, s2)); - public static IntPtr tsequenceset_delete_tstzset(IntPtr ss, IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.tsequenceset_delete_tstzset(ss, s)); + public static bool set_find_value(IntPtr s, long arg1, IntPtr loc) + => SafeExecution(() => MEOSExternalFunctions.set_find_value(s, arg1, loc)); - public static IntPtr tsequenceset_delete_tstzspan(IntPtr ss, IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.tsequenceset_delete_tstzspan(ss, s)); + public static IntPtr set_unnest_state_make(IntPtr set) + => SafeExecution(() => MEOSExternalFunctions.set_unnest_state_make(set)); - public static IntPtr tsequenceset_delete_tstzspanset(IntPtr ss, IntPtr ps) - => SafeExecution(() => MEOSExternalFunctions.tsequenceset_delete_tstzspanset(ss, ps)); + public static void set_unnest_state_next(IntPtr state) + => SafeExecution(() => MEOSExternalFunctions.set_unnest_state_next(state)); - public static IntPtr tsequenceset_insert(IntPtr ss1, IntPtr ss2) - => SafeExecution(() => MEOSExternalFunctions.tsequenceset_insert(ss1, ss2)); + public static bool ensure_same_skiplist_subtype(IntPtr state, IntPtr subtype) + => SafeExecution(() => MEOSExternalFunctions.ensure_same_skiplist_subtype(state, subtype)); - public static IntPtr tsequenceset_merge(IntPtr ss1, IntPtr ss2) - => SafeExecution(() => MEOSExternalFunctions.tsequenceset_merge(ss1, ss2)); + public static void skiplist_set_extra(IntPtr state, IntPtr data, IntPtr size) + => SafeExecution(() => MEOSExternalFunctions.skiplist_set_extra(state, data, size)); - public static IntPtr tsequenceset_merge_array(IntPtr seqsets, int count) - => SafeExecution(() => MEOSExternalFunctions.tsequenceset_merge_array(seqsets, count)); + public static IntPtr skiplist_headval(IntPtr list) + => SafeExecution(() => MEOSExternalFunctions.skiplist_headval(list)); - public static void tsequence_expand_bbox(IntPtr seq, IntPtr inst) - => SafeExecution(() => MEOSExternalFunctions.tsequence_expand_bbox(seq, inst)); + public static int common_entry_cmp(IntPtr i1, IntPtr i2) + => SafeExecution(() => MEOSExternalFunctions.common_entry_cmp(i1, i2)); - public static void tsequence_set_bbox(IntPtr seq, IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.tsequence_set_bbox(seq, box)); + public static bool span_index_leaf_consistent(IntPtr key, IntPtr query, int strategy) + => SafeExecution(() => MEOSExternalFunctions.span_index_leaf_consistent(key, query, strategy)); - public static void tsequenceset_expand_bbox(IntPtr ss, IntPtr seq) - => SafeExecution(() => MEOSExternalFunctions.tsequenceset_expand_bbox(ss, seq)); + public static bool span_gist_inner_consistent(IntPtr key, IntPtr query, int strategy) + => SafeExecution(() => MEOSExternalFunctions.span_gist_inner_consistent(key, query, strategy)); - public static void tsequenceset_set_bbox(IntPtr ss, IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.tsequenceset_set_bbox(ss, box)); + public static bool span_index_recheck(int strategy) + => SafeExecution(() => MEOSExternalFunctions.span_index_recheck(strategy)); - public static IntPtr tcontseq_after_timestamptz(IntPtr seq, long t, bool strict) - => SafeExecution(() => MEOSExternalFunctions.tcontseq_after_timestamptz(seq, t, strict)); + public static int span_lower_qsort_cmp(IntPtr a, IntPtr b) + => SafeExecution(() => MEOSExternalFunctions.span_lower_qsort_cmp(a, b)); - public static IntPtr tcontseq_before_timestamptz(IntPtr seq, long t, bool strict) - => SafeExecution(() => MEOSExternalFunctions.tcontseq_before_timestamptz(seq, t, strict)); + public static int span_upper_qsort_cmp(IntPtr a, IntPtr b) + => SafeExecution(() => MEOSExternalFunctions.span_upper_qsort_cmp(a, b)); - public static IntPtr tcontseq_restrict_minmax(IntPtr seq, bool min, bool atfunc) - => SafeExecution(() => MEOSExternalFunctions.tcontseq_restrict_minmax(seq, min, atfunc)); + public static IntPtr getQuadrant2D(IntPtr centroid, IntPtr query) + => SafeExecution(() => MEOSExternalFunctions.getQuadrant2D(centroid, query)); - public static IntPtr tdiscseq_after_timestamptz(IntPtr seq, long t, bool strict) - => SafeExecution(() => MEOSExternalFunctions.tdiscseq_after_timestamptz(seq, t, strict)); + public static bool overlap2D(IntPtr nodebox, IntPtr query) + => SafeExecution(() => MEOSExternalFunctions.overlap2D(nodebox, query)); - public static IntPtr tdiscseq_before_timestamptz(IntPtr seq, long t, bool strict) - => SafeExecution(() => MEOSExternalFunctions.tdiscseq_before_timestamptz(seq, t, strict)); + public static bool contain2D(IntPtr nodebox, IntPtr query) + => SafeExecution(() => MEOSExternalFunctions.contain2D(nodebox, query)); - public static IntPtr tdiscseq_restrict_minmax(IntPtr seq, bool min, bool atfunc) - => SafeExecution(() => MEOSExternalFunctions.tdiscseq_restrict_minmax(seq, min, atfunc)); + public static bool left2D(IntPtr nodebox, IntPtr query) + => SafeExecution(() => MEOSExternalFunctions.left2D(nodebox, query)); - public static bool temporal_bbox_restrict_set(IntPtr temp, IntPtr set) - => SafeExecution(() => MEOSExternalFunctions.temporal_bbox_restrict_set(temp, set)); + public static bool overLeft2D(IntPtr nodebox, IntPtr query) + => SafeExecution(() => MEOSExternalFunctions.overLeft2D(nodebox, query)); - public static IntPtr temporal_restrict_minmax(IntPtr temp, bool min, bool atfunc) - => SafeExecution(() => MEOSExternalFunctions.temporal_restrict_minmax(temp, min, atfunc)); + public static bool right2D(IntPtr nodebox, IntPtr query) + => SafeExecution(() => MEOSExternalFunctions.right2D(nodebox, query)); - public static IntPtr temporal_restrict_timestamptz(IntPtr temp, long t, bool atfunc) - => SafeExecution(() => MEOSExternalFunctions.temporal_restrict_timestamptz(temp, t, atfunc)); + public static bool overRight2D(IntPtr nodebox, IntPtr query) + => SafeExecution(() => MEOSExternalFunctions.overRight2D(nodebox, query)); - public static IntPtr temporal_restrict_tstzset(IntPtr temp, IntPtr s, bool atfunc) - => SafeExecution(() => MEOSExternalFunctions.temporal_restrict_tstzset(temp, s, atfunc)); + public static bool adjacent2D(IntPtr nodebox, IntPtr query) + => SafeExecution(() => MEOSExternalFunctions.adjacent2D(nodebox, query)); - public static IntPtr temporal_restrict_tstzspan(IntPtr temp, IntPtr s, bool atfunc) - => SafeExecution(() => MEOSExternalFunctions.temporal_restrict_tstzspan(temp, s, atfunc)); + public static double distance_span_nodespan(IntPtr query, IntPtr nodebox) + => SafeExecution(() => MEOSExternalFunctions.distance_span_nodespan(query, nodebox)); - public static IntPtr temporal_restrict_tstzspanset(IntPtr temp, IntPtr ss, bool atfunc) - => SafeExecution(() => MEOSExternalFunctions.temporal_restrict_tstzspanset(temp, ss, atfunc)); + public static bool span_spgist_get_span(long value, int type, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.span_spgist_get_span(value, type, result)); - public static IntPtr temporal_restrict_value(IntPtr temp, ulong value, bool atfunc) - => SafeExecution(() => MEOSExternalFunctions.temporal_restrict_value(temp, value, atfunc)); + public static void spannode_init(IntPtr nodebox, int spantype, int basetype) + => SafeExecution(() => MEOSExternalFunctions.spannode_init(nodebox, spantype, basetype)); - public static IntPtr temporal_restrict_values(IntPtr temp, IntPtr set, bool atfunc) - => SafeExecution(() => MEOSExternalFunctions.temporal_restrict_values(temp, set, atfunc)); + public static IntPtr spannode_copy(IntPtr orig) + => SafeExecution(() => MEOSExternalFunctions.spannode_copy(orig)); - public static bool temporal_value_at_timestamptz(IntPtr temp, long t, bool strict, IntPtr result) - => SafeExecution(() => MEOSExternalFunctions.temporal_value_at_timestamptz(temp, t, strict, result)); + public static void spannode_quadtree_next(IntPtr nodebox, IntPtr centroid, IntPtr quadrant, IntPtr next_nodespan) + => SafeExecution(() => MEOSExternalFunctions.spannode_quadtree_next(nodebox, centroid, quadrant, next_nodespan)); - public static IntPtr tinstant_after_timestamptz(IntPtr inst, long t, bool strict) - => SafeExecution(() => MEOSExternalFunctions.tinstant_after_timestamptz(inst, t, strict)); + public static void spannode_kdtree_next(IntPtr nodebox, IntPtr centroid, IntPtr node, int level, IntPtr next_nodespan) + => SafeExecution(() => MEOSExternalFunctions.spannode_kdtree_next(nodebox, centroid, node, level, next_nodespan)); - public static IntPtr tinstant_before_timestamptz(IntPtr inst, long t, bool strict) - => SafeExecution(() => MEOSExternalFunctions.tinstant_before_timestamptz(inst, t, strict)); + public static bool ensure_spanset_isof_type(IntPtr ss, int spansettype) + => SafeExecution(() => MEOSExternalFunctions.ensure_spanset_isof_type(ss, spansettype)); - public static IntPtr tinstant_restrict_tstzspan(IntPtr inst, IntPtr period, bool atfunc) - => SafeExecution(() => MEOSExternalFunctions.tinstant_restrict_tstzspan(inst, period, atfunc)); + public static bool ensure_same_spanset_type(IntPtr ss1, IntPtr ss2) + => SafeExecution(() => MEOSExternalFunctions.ensure_same_spanset_type(ss1, ss2)); - public static IntPtr tinstant_restrict_tstzspanset(IntPtr inst, IntPtr ss, bool atfunc) - => SafeExecution(() => MEOSExternalFunctions.tinstant_restrict_tstzspanset(inst, ss, atfunc)); + public static bool ensure_same_spanset_span_type(IntPtr ss, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.ensure_same_spanset_span_type(ss, s)); - public static IntPtr tinstant_restrict_timestamptz(IntPtr inst, long t, bool atfunc) - => SafeExecution(() => MEOSExternalFunctions.tinstant_restrict_timestamptz(inst, t, atfunc)); + public static bool ensure_valid_spanset_span(IntPtr ss, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.ensure_valid_spanset_span(ss, s)); - public static IntPtr tinstant_restrict_tstzset(IntPtr inst, IntPtr s, bool atfunc) - => SafeExecution(() => MEOSExternalFunctions.tinstant_restrict_tstzset(inst, s, atfunc)); + public static bool ensure_valid_spanset_spanset(IntPtr ss1, IntPtr ss2) + => SafeExecution(() => MEOSExternalFunctions.ensure_valid_spanset_spanset(ss1, ss2)); - public static IntPtr tinstant_restrict_value(IntPtr inst, ulong value, bool atfunc) - => SafeExecution(() => MEOSExternalFunctions.tinstant_restrict_value(inst, value, atfunc)); + public static bool spanset_find_value(IntPtr ss, long v, IntPtr loc) + => SafeExecution(() => MEOSExternalFunctions.spanset_find_value(ss, v, loc)); - public static IntPtr tinstant_restrict_values(IntPtr inst, IntPtr set, bool atfunc) - => SafeExecution(() => MEOSExternalFunctions.tinstant_restrict_values(inst, set, atfunc)); + public static long datum_and(long l, long r) + => SafeExecution(() => MEOSExternalFunctions.datum_and(l, r)); - public static IntPtr tnumber_restrict_span(IntPtr temp, IntPtr span, bool atfunc) - => SafeExecution(() => MEOSExternalFunctions.tnumber_restrict_span(temp, span, atfunc)); + public static long datum_or(long l, long r) + => SafeExecution(() => MEOSExternalFunctions.datum_or(l, r)); - public static IntPtr tnumber_restrict_spanset(IntPtr temp, IntPtr ss, bool atfunc) - => SafeExecution(() => MEOSExternalFunctions.tnumber_restrict_spanset(temp, ss, atfunc)); + public static IntPtr boolop_tbool_bool(IntPtr temp, long b, IntPtr func, bool invert) + => SafeExecution(() => MEOSExternalFunctions.boolop_tbool_bool(temp, b, func, invert)); - public static IntPtr tnumberinst_restrict_span(IntPtr inst, IntPtr span, bool atfunc) - => SafeExecution(() => MEOSExternalFunctions.tnumberinst_restrict_span(inst, span, atfunc)); + public static IntPtr boolop_tbool_tbool(IntPtr temp1, IntPtr temp2, IntPtr func) + => SafeExecution(() => MEOSExternalFunctions.boolop_tbool_tbool(temp1, temp2, func)); - public static IntPtr tnumberinst_restrict_spanset(IntPtr inst, IntPtr ss, bool atfunc) - => SafeExecution(() => MEOSExternalFunctions.tnumberinst_restrict_spanset(inst, ss, atfunc)); + public static bool ensure_same_dimensionality_tbox(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.ensure_same_dimensionality_tbox(box1, box2)); - public static IntPtr tnumberseqset_restrict_span(IntPtr ss, IntPtr span, bool atfunc) - => SafeExecution(() => MEOSExternalFunctions.tnumberseqset_restrict_span(ss, span, atfunc)); + public static IntPtr set_tbox(IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.set_tbox(s)); - public static IntPtr tnumberseqset_restrict_spanset(IntPtr ss, IntPtr spanset, bool atfunc) - => SafeExecution(() => MEOSExternalFunctions.tnumberseqset_restrict_spanset(ss, spanset, atfunc)); + public static IntPtr span_tbox(IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.span_tbox(s)); - public static IntPtr tsequence_at_timestamptz(IntPtr seq, long t) - => SafeExecution(() => MEOSExternalFunctions.tsequence_at_timestamptz(seq, t)); + public static IntPtr tbox_tstzspan(IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.tbox_tstzspan(box)); - public static IntPtr tsequence_restrict_tstzspan(IntPtr seq, IntPtr s, bool atfunc) - => SafeExecution(() => MEOSExternalFunctions.tsequence_restrict_tstzspan(seq, s, atfunc)); + public static IntPtr tbox_intspan(IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.tbox_intspan(box)); - public static IntPtr tsequence_restrict_tstzspanset(IntPtr seq, IntPtr ss, bool atfunc) - => SafeExecution(() => MEOSExternalFunctions.tsequence_restrict_tstzspanset(seq, ss, atfunc)); + public static IntPtr tbox_floatspan(IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.tbox_floatspan(box)); - public static IntPtr tsequenceset_after_timestamptz(IntPtr ss, long t, bool strict) - => SafeExecution(() => MEOSExternalFunctions.tsequenceset_after_timestamptz(ss, t, strict)); + public static bool tbox_index_leaf_consistent(IntPtr key, IntPtr query, int strategy) + => SafeExecution(() => MEOSExternalFunctions.tbox_index_leaf_consistent(key, query, strategy)); - public static IntPtr tsequenceset_before_timestamptz(IntPtr ss, long t, bool strict) - => SafeExecution(() => MEOSExternalFunctions.tsequenceset_before_timestamptz(ss, t, strict)); + public static bool tbox_gist_inner_consistent(IntPtr key, IntPtr query, int strategy) + => SafeExecution(() => MEOSExternalFunctions.tbox_gist_inner_consistent(key, query, strategy)); - public static IntPtr tsequenceset_restrict_minmax(IntPtr ss, bool min, bool atfunc) - => SafeExecution(() => MEOSExternalFunctions.tsequenceset_restrict_minmax(ss, min, atfunc)); + public static bool tbox_index_recheck(int strategy) + => SafeExecution(() => MEOSExternalFunctions.tbox_index_recheck(strategy)); - public static IntPtr tsequenceset_restrict_tstzspan(IntPtr ss, IntPtr s, bool atfunc) - => SafeExecution(() => MEOSExternalFunctions.tsequenceset_restrict_tstzspan(ss, s, atfunc)); + public static void tboxnode_init(IntPtr centroid, IntPtr nodebox) + => SafeExecution(() => MEOSExternalFunctions.tboxnode_init(centroid, nodebox)); - public static IntPtr tsequenceset_restrict_tstzspanset(IntPtr ss, IntPtr ps, bool atfunc) - => SafeExecution(() => MEOSExternalFunctions.tsequenceset_restrict_tstzspanset(ss, ps, atfunc)); + public static IntPtr tboxnode_copy(IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.tboxnode_copy(box)); - public static IntPtr tsequenceset_restrict_timestamptz(IntPtr ss, long t, bool atfunc) - => SafeExecution(() => MEOSExternalFunctions.tsequenceset_restrict_timestamptz(ss, t, atfunc)); + public static IntPtr getQuadrant4D(IntPtr centroid, IntPtr inBox) + => SafeExecution(() => MEOSExternalFunctions.getQuadrant4D(centroid, inBox)); - public static IntPtr tsequenceset_restrict_tstzset(IntPtr ss, IntPtr s, bool atfunc) - => SafeExecution(() => MEOSExternalFunctions.tsequenceset_restrict_tstzset(ss, s, atfunc)); + public static void tboxnode_quadtree_next(IntPtr nodebox, IntPtr centroid, IntPtr quadrant, IntPtr next_nodebox) + => SafeExecution(() => MEOSExternalFunctions.tboxnode_quadtree_next(nodebox, centroid, quadrant, next_nodebox)); - public static IntPtr tsequenceset_restrict_value(IntPtr ss, ulong value, bool atfunc) - => SafeExecution(() => MEOSExternalFunctions.tsequenceset_restrict_value(ss, value, atfunc)); + public static void tboxnode_kdtree_next(IntPtr nodebox, IntPtr centroid, IntPtr node, int level, IntPtr next_nodebox) + => SafeExecution(() => MEOSExternalFunctions.tboxnode_kdtree_next(nodebox, centroid, node, level, next_nodebox)); - public static IntPtr tsequenceset_restrict_values(IntPtr ss, IntPtr s, bool atfunc) - => SafeExecution(() => MEOSExternalFunctions.tsequenceset_restrict_values(ss, s, atfunc)); + public static bool overlap4D(IntPtr nodebox, IntPtr query) + => SafeExecution(() => MEOSExternalFunctions.overlap4D(nodebox, query)); - public static int tinstant_cmp(IntPtr inst1, IntPtr inst2) - => SafeExecution(() => MEOSExternalFunctions.tinstant_cmp(inst1, inst2)); + public static bool contain4D(IntPtr nodebox, IntPtr query) + => SafeExecution(() => MEOSExternalFunctions.contain4D(nodebox, query)); - public static bool tinstant_eq(IntPtr inst1, IntPtr inst2) - => SafeExecution(() => MEOSExternalFunctions.tinstant_eq(inst1, inst2)); + public static bool left4D(IntPtr nodebox, IntPtr query) + => SafeExecution(() => MEOSExternalFunctions.left4D(nodebox, query)); - public static int tsequence_cmp(IntPtr seq1, IntPtr seq2) - => SafeExecution(() => MEOSExternalFunctions.tsequence_cmp(seq1, seq2)); + public static bool overLeft4D(IntPtr nodebox, IntPtr query) + => SafeExecution(() => MEOSExternalFunctions.overLeft4D(nodebox, query)); - public static bool tsequence_eq(IntPtr seq1, IntPtr seq2) - => SafeExecution(() => MEOSExternalFunctions.tsequence_eq(seq1, seq2)); + public static bool right4D(IntPtr nodebox, IntPtr query) + => SafeExecution(() => MEOSExternalFunctions.right4D(nodebox, query)); - public static int tsequenceset_cmp(IntPtr ss1, IntPtr ss2) - => SafeExecution(() => MEOSExternalFunctions.tsequenceset_cmp(ss1, ss2)); + public static bool overRight4D(IntPtr nodebox, IntPtr query) + => SafeExecution(() => MEOSExternalFunctions.overRight4D(nodebox, query)); - public static bool tsequenceset_eq(IntPtr ss1, IntPtr ss2) - => SafeExecution(() => MEOSExternalFunctions.tsequenceset_eq(ss1, ss2)); + public static bool before4D(IntPtr nodebox, IntPtr query) + => SafeExecution(() => MEOSExternalFunctions.before4D(nodebox, query)); - public static int always_eq_base_temporal(ulong value, IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.always_eq_base_temporal(value, temp)); + public static bool overBefore4D(IntPtr nodebox, IntPtr query) + => SafeExecution(() => MEOSExternalFunctions.overBefore4D(nodebox, query)); - public static int always_eq_temporal_base(IntPtr temp, ulong value) - => SafeExecution(() => MEOSExternalFunctions.always_eq_temporal_base(temp, value)); + public static bool after4D(IntPtr nodebox, IntPtr query) + => SafeExecution(() => MEOSExternalFunctions.after4D(nodebox, query)); - public static int always_ne_base_temporal(ulong value, IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.always_ne_base_temporal(value, temp)); + public static bool overAfter4D(IntPtr nodebox, IntPtr query) + => SafeExecution(() => MEOSExternalFunctions.overAfter4D(nodebox, query)); - public static int always_ne_temporal_base(IntPtr temp, ulong value) - => SafeExecution(() => MEOSExternalFunctions.always_ne_temporal_base(temp, value)); + public static double distance_tbox_nodebox(IntPtr query, IntPtr nodebox) + => SafeExecution(() => MEOSExternalFunctions.distance_tbox_nodebox(query, nodebox)); - public static int always_ge_base_temporal(ulong value, IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.always_ge_base_temporal(value, temp)); + public static void tnumber_spgist_get_tbox(long value, int type, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.tnumber_spgist_get_tbox(value, type, result)); - public static int always_ge_temporal_base(IntPtr temp, ulong value) - => SafeExecution(() => MEOSExternalFunctions.always_ge_temporal_base(temp, value)); + public static int tbox_xmin_cmp(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.tbox_xmin_cmp(box1, box2)); - public static int always_gt_base_temporal(ulong value, IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.always_gt_base_temporal(value, temp)); + public static int tbox_xmax_cmp(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.tbox_xmax_cmp(box1, box2)); - public static int always_gt_temporal_base(IntPtr temp, ulong value) - => SafeExecution(() => MEOSExternalFunctions.always_gt_temporal_base(temp, value)); + public static int tbox_tmin_cmp(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.tbox_tmin_cmp(box1, box2)); - public static int always_le_base_temporal(ulong value, IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.always_le_base_temporal(value, temp)); + public static int tbox_tmax_cmp(IntPtr box1, IntPtr box2) + => SafeExecution(() => MEOSExternalFunctions.tbox_tmax_cmp(box1, box2)); - public static int always_le_temporal_base(IntPtr temp, ulong value) - => SafeExecution(() => MEOSExternalFunctions.always_le_temporal_base(temp, value)); + public static int tbox_level_cmp(IntPtr centroid, IntPtr query, int level) + => SafeExecution(() => MEOSExternalFunctions.tbox_level_cmp(centroid, query, level)); - public static int always_lt_base_temporal(ulong value, IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.always_lt_base_temporal(value, temp)); + public static bool tcellindex_type(int type) + => SafeExecution(() => MEOSExternalFunctions.tcellindex_type(type)); - public static int always_lt_temporal_base(IntPtr temp, ulong value) - => SafeExecution(() => MEOSExternalFunctions.always_lt_temporal_base(temp, value)); + public static IntPtr dggs_cellops(int temptype) + => SafeExecution(() => MEOSExternalFunctions.dggs_cellops(temptype)); - public static int ever_eq_base_temporal(ulong value, IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.ever_eq_base_temporal(value, temp)); + public static IntPtr tcellindex_get_resolution(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tcellindex_get_resolution(temp)); - public static int ever_eq_temporal_base(IntPtr temp, ulong value) - => SafeExecution(() => MEOSExternalFunctions.ever_eq_temporal_base(temp, value)); + public static IntPtr tcellindex_is_valid_cell(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tcellindex_is_valid_cell(temp)); - public static int ever_ne_base_temporal(ulong value, IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.ever_ne_base_temporal(value, temp)); + public static IntPtr tcellindex_cell_to_parent(IntPtr temp, int resolution) + => SafeExecution(() => MEOSExternalFunctions.tcellindex_cell_to_parent(temp, resolution)); - public static int ever_ne_temporal_base(IntPtr temp, ulong value) - => SafeExecution(() => MEOSExternalFunctions.ever_ne_temporal_base(temp, value)); + public static IntPtr tcellindex_cell_to_point(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tcellindex_cell_to_point(temp)); - public static int ever_ge_base_temporal(ulong value, IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.ever_ge_base_temporal(value, temp)); + public static IntPtr tcellindex_cell_to_boundary(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tcellindex_cell_to_boundary(temp)); - public static int ever_ge_temporal_base(IntPtr temp, ulong value) - => SafeExecution(() => MEOSExternalFunctions.ever_ge_temporal_base(temp, value)); + public static IntPtr tcellindex_cell_area(IntPtr temp) + => SafeExecution(() => MEOSExternalFunctions.tcellindex_cell_area(temp)); - public static int ever_gt_base_temporal(ulong value, IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.ever_gt_base_temporal(value, temp)); + public static long datum_min_int32(long l, long r) + => SafeExecution(() => MEOSExternalFunctions.datum_min_int32(l, r)); - public static int ever_gt_temporal_base(IntPtr temp, ulong value) - => SafeExecution(() => MEOSExternalFunctions.ever_gt_temporal_base(temp, value)); + public static long datum_max_int32(long l, long r) + => SafeExecution(() => MEOSExternalFunctions.datum_max_int32(l, r)); - public static int ever_le_base_temporal(ulong value, IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.ever_le_base_temporal(value, temp)); + public static long datum_min_int64(long l, long r) + => SafeExecution(() => MEOSExternalFunctions.datum_min_int64(l, r)); - public static int ever_le_temporal_base(IntPtr temp, ulong value) - => SafeExecution(() => MEOSExternalFunctions.ever_le_temporal_base(temp, value)); + public static long datum_max_int64(long l, long r) + => SafeExecution(() => MEOSExternalFunctions.datum_max_int64(l, r)); - public static int ever_lt_base_temporal(ulong value, IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.ever_lt_base_temporal(value, temp)); + public static long datum_min_float8(long l, long r) + => SafeExecution(() => MEOSExternalFunctions.datum_min_float8(l, r)); - public static int ever_lt_temporal_base(IntPtr temp, ulong value) - => SafeExecution(() => MEOSExternalFunctions.ever_lt_temporal_base(temp, value)); + public static long datum_max_float8(long l, long r) + => SafeExecution(() => MEOSExternalFunctions.datum_max_float8(l, r)); - public static IntPtr tnumberinst_abs(IntPtr inst) - => SafeExecution(() => MEOSExternalFunctions.tnumberinst_abs(inst)); + public static long datum_sum_int32(long l, long r) + => SafeExecution(() => MEOSExternalFunctions.datum_sum_int32(l, r)); - public static IntPtr tnumberseq_abs(IntPtr seq) - => SafeExecution(() => MEOSExternalFunctions.tnumberseq_abs(seq)); + public static long datum_sum_int64(long l, long r) + => SafeExecution(() => MEOSExternalFunctions.datum_sum_int64(l, r)); - public static IntPtr tnumberseq_angular_difference(IntPtr seq) - => SafeExecution(() => MEOSExternalFunctions.tnumberseq_angular_difference(seq)); + public static long datum_sum_float8(long l, long r) + => SafeExecution(() => MEOSExternalFunctions.datum_sum_float8(l, r)); - public static IntPtr tnumberseq_delta_value(IntPtr seq) - => SafeExecution(() => MEOSExternalFunctions.tnumberseq_delta_value(seq)); + public static long datum_min_text(long l, long r) + => SafeExecution(() => MEOSExternalFunctions.datum_min_text(l, r)); - public static IntPtr tnumberseqset_abs(IntPtr ss) - => SafeExecution(() => MEOSExternalFunctions.tnumberseqset_abs(ss)); + public static long datum_max_text(long l, long r) + => SafeExecution(() => MEOSExternalFunctions.datum_max_text(l, r)); - public static IntPtr tnumberseqset_angular_difference(IntPtr ss) - => SafeExecution(() => MEOSExternalFunctions.tnumberseqset_angular_difference(ss)); + public static long datum_sum_double2(long l, long r) + => SafeExecution(() => MEOSExternalFunctions.datum_sum_double2(l, r)); - public static IntPtr tnumberseqset_delta_value(IntPtr ss) - => SafeExecution(() => MEOSExternalFunctions.tnumberseqset_delta_value(ss)); + public static long datum_sum_double3(long l, long r) + => SafeExecution(() => MEOSExternalFunctions.datum_sum_double3(l, r)); - public static IntPtr tdistance_tnumber_number(IntPtr temp, ulong value) - => SafeExecution(() => MEOSExternalFunctions.tdistance_tnumber_number(temp, value)); + public static long datum_sum_double4(long l, long r) + => SafeExecution(() => MEOSExternalFunctions.datum_sum_double4(l, r)); - public static double nad_tbox_tbox(IntPtr box1, IntPtr box2) - => SafeExecution(() => MEOSExternalFunctions.nad_tbox_tbox(box1, box2)); + public static int temporal_skiplist_common(IntPtr list, IntPtr values, int count, IntPtr lower, IntPtr upper, IntPtr update) + => SafeExecution(() => MEOSExternalFunctions.temporal_skiplist_common(list, values, count, lower, upper, update)); - public static double nad_tnumber_number(IntPtr temp, ulong value) - => SafeExecution(() => MEOSExternalFunctions.nad_tnumber_number(temp, value)); + public static IntPtr temporal_skiplist_merge(IntPtr spliced, int spliced_count, IntPtr values, int count, IntPtr func, bool crossings, IntPtr newcount, IntPtr tofree, IntPtr nfree) + => SafeExecution(() => MEOSExternalFunctions.temporal_skiplist_merge(spliced, spliced_count, values, count, func, crossings, newcount, tofree, nfree)); - public static double nad_tnumber_tbox(IntPtr temp, IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.nad_tnumber_tbox(temp, box)); + public static IntPtr tinstant_tagg(IntPtr instants1, int count1, IntPtr instants2, int count2, IntPtr func, IntPtr newcount, IntPtr tofree, IntPtr nfree) + => SafeExecution(() => MEOSExternalFunctions.tinstant_tagg(instants1, count1, instants2, count2, func, newcount, tofree, nfree)); - public static double nad_tnumber_tnumber(IntPtr temp1, IntPtr temp2) - => SafeExecution(() => MEOSExternalFunctions.nad_tnumber_tnumber(temp1, temp2)); + public static IntPtr tsequence_tagg(IntPtr sequences1, int count1, IntPtr sequences2, int count2, IntPtr func, bool crossings, IntPtr newcount) + => SafeExecution(() => MEOSExternalFunctions.tsequence_tagg(sequences1, count1, sequences2, count2, func, crossings, newcount)); - public static double tnumberseq_integral(IntPtr seq) - => SafeExecution(() => MEOSExternalFunctions.tnumberseq_integral(seq)); + public static IntPtr tcontseq_tagg_transfn(IntPtr state, IntPtr seq, IntPtr func, bool interpoint) + => SafeExecution(() => MEOSExternalFunctions.tcontseq_tagg_transfn(state, seq, func, interpoint)); - public static double tnumberseq_twavg(IntPtr seq) - => SafeExecution(() => MEOSExternalFunctions.tnumberseq_twavg(seq)); + public static IntPtr temporal_tagg_combinefn(IntPtr state1, IntPtr state2, IntPtr func, bool crossings) + => SafeExecution(() => MEOSExternalFunctions.temporal_tagg_combinefn(state1, state2, func, crossings)); - public static double tnumberseqset_integral(IntPtr ss) - => SafeExecution(() => MEOSExternalFunctions.tnumberseqset_integral(ss)); + public static IntPtr tinstant_tagg_transfn(IntPtr state, IntPtr inst, IntPtr func) + => SafeExecution(() => MEOSExternalFunctions.tinstant_tagg_transfn(state, inst, func)); - public static double tnumberseqset_twavg(IntPtr ss) - => SafeExecution(() => MEOSExternalFunctions.tnumberseqset_twavg(ss)); + public static IntPtr tinstant_tavg_finalfn(IntPtr instants, int count) + => SafeExecution(() => MEOSExternalFunctions.tinstant_tavg_finalfn(instants, count)); - public static IntPtr temporal_compact(IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.temporal_compact(temp)); + public static IntPtr tsequence_tavg_finalfn(IntPtr sequences, int count) + => SafeExecution(() => MEOSExternalFunctions.tsequence_tavg_finalfn(sequences, count)); - public static IntPtr tsequence_compact(IntPtr seq) - => SafeExecution(() => MEOSExternalFunctions.tsequence_compact(seq)); + public static IntPtr tnumberinst_transform_tavg(IntPtr inst) + => SafeExecution(() => MEOSExternalFunctions.tnumberinst_transform_tavg(inst)); - public static IntPtr tsequenceset_compact(IntPtr ss) - => SafeExecution(() => MEOSExternalFunctions.tsequenceset_compact(ss)); + public static IntPtr[] temporal_transform_tcount(IntPtr temp) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.temporal_transform_tcount(temp, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } - public static IntPtr temporal_skiplist_make() - => SafeExecution(() => MEOSExternalFunctions.temporal_skiplist_make()); + public static IntPtr[] temporal_transform_tagg(IntPtr temp, IntPtr func) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.temporal_transform_tagg(temp, _cnt, func)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } - public static IntPtr skiplist_make(ulong key_size, ulong value_size, IntPtr comp_fn, IntPtr merge_fn) - => SafeExecution(() => MEOSExternalFunctions.skiplist_make(key_size, value_size, comp_fn, merge_fn)); + public static IntPtr tsequenceset_tagg_transfn(IntPtr state, IntPtr ss, IntPtr func, bool crossings) + => SafeExecution(() => MEOSExternalFunctions.tsequenceset_tagg_transfn(state, ss, func, crossings)); - public static int skiplist_search(IntPtr list, IntPtr key, IntPtr value) - => SafeExecution(() => MEOSExternalFunctions.skiplist_search(list, key, value)); + public static IntPtr tdiscseq_tagg_transfn(IntPtr state, IntPtr seq, IntPtr func) + => SafeExecution(() => MEOSExternalFunctions.tdiscseq_tagg_transfn(state, seq, func)); - public static void skiplist_free(IntPtr list) - => SafeExecution(() => MEOSExternalFunctions.skiplist_free(list)); + public static IntPtr temporal_tagg_transfn(IntPtr state, IntPtr temp, IntPtr arg2, bool crossings) + => SafeExecution(() => MEOSExternalFunctions.temporal_tagg_transfn(state, temp, arg2, crossings)); - public static void skiplist_splice(IntPtr list, IntPtr keys, IntPtr values, int count, IntPtr func, bool crossings, IntPtr sktype) - => SafeExecution(() => MEOSExternalFunctions.skiplist_splice(list, keys, values, count, func, crossings, sktype)); + public static IntPtr temporal_tagg_transform_transfn(IntPtr state, IntPtr temp, IntPtr func, bool crossings, IntPtr transform) + => SafeExecution(() => MEOSExternalFunctions.temporal_tagg_transform_transfn(state, temp, func, crossings, transform)); - public static void temporal_skiplist_splice(IntPtr list, IntPtr values, int count, IntPtr func, bool crossings) - => SafeExecution(() => MEOSExternalFunctions.temporal_skiplist_splice(list, values, count, func, crossings)); + public static double temporal_similarity(IntPtr temp1, IntPtr temp2, IntPtr simfunc) + => SafeExecution(() => MEOSExternalFunctions.temporal_similarity(temp1, temp2, simfunc)); - public static IntPtr skiplist_values(IntPtr list) - => SafeExecution(() => MEOSExternalFunctions.skiplist_values(list)); + public static IntPtr[] temporal_similarity_path(IntPtr temp1, IntPtr temp2, IntPtr simfunc) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.temporal_similarity_path(temp1, temp2, _cnt, simfunc)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } - public static IntPtr skiplist_keys_values(IntPtr list, IntPtr values) - => SafeExecution(() => MEOSExternalFunctions.skiplist_keys_values(list, values)); + public static ulong temporal_bbox_size(int tempype) + => SafeExecution(() => MEOSExternalFunctions.temporal_bbox_size(tempype)); - public static IntPtr temporal_app_tinst_transfn(IntPtr state, IntPtr inst, int interp, double maxdist, IntPtr maxt) - => SafeExecution(() => MEOSExternalFunctions.temporal_app_tinst_transfn(state, inst, interp, maxdist, maxt)); + public static void tinstarr_set_bbox(IntPtr instants, int count, bool lower_inc, bool upper_inc, int interp, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.tinstarr_set_bbox(instants, count, lower_inc, upper_inc, interp, box)); - public static IntPtr temporal_app_tseq_transfn(IntPtr state, IntPtr seq) - => SafeExecution(() => MEOSExternalFunctions.temporal_app_tseq_transfn(state, seq)); + public static void tsequence_compute_bbox(IntPtr seq) + => SafeExecution(() => MEOSExternalFunctions.tsequence_compute_bbox(seq)); - public static IntPtr span_bins(IntPtr s, ulong size, ulong origin, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.span_bins(s, size, origin, count)); + public static void tseqarr_compute_bbox(IntPtr sequences, int count, IntPtr bbox) + => SafeExecution(() => MEOSExternalFunctions.tseqarr_compute_bbox(sequences, count, bbox)); - public static IntPtr spanset_bins(IntPtr ss, ulong size, ulong origin, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.spanset_bins(ss, size, origin, count)); + public static void tsequenceset_compute_bbox(IntPtr ss) + => SafeExecution(() => MEOSExternalFunctions.tsequenceset_compute_bbox(ss)); - public static IntPtr tnumber_value_bins(IntPtr temp, ulong size, ulong origin, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.tnumber_value_bins(temp, size, origin, count)); + public static bool boxop_temporal_tstzspan(IntPtr temp, IntPtr s, IntPtr func, bool invert) + => SafeExecution(() => MEOSExternalFunctions.boxop_temporal_tstzspan(temp, s, func, invert)); - public static IntPtr tnumber_value_time_boxes(IntPtr temp, ulong vsize, IntPtr duration, ulong vorigin, long torigin, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.tnumber_value_time_boxes(temp, vsize, duration, vorigin, torigin, count)); + public static bool boxop_temporal_temporal(IntPtr temp1, IntPtr temp2, IntPtr func) + => SafeExecution(() => MEOSExternalFunctions.boxop_temporal_temporal(temp1, temp2, func)); - public static IntPtr tnumber_value_split(IntPtr temp, ulong vsize, ulong vorigin, IntPtr bins, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.tnumber_value_split(temp, vsize, vorigin, bins, count)); + public static bool boxop_tnumber_numspan(IntPtr temp, IntPtr span, IntPtr func, bool invert) + => SafeExecution(() => MEOSExternalFunctions.boxop_tnumber_numspan(temp, span, func, invert)); - public static IntPtr tbox_get_value_time_tile(ulong value, long t, ulong vsize, IntPtr duration, ulong vorigin, long torigin, int basetype, int spantype) - => SafeExecution(() => MEOSExternalFunctions.tbox_get_value_time_tile(value, t, vsize, duration, vorigin, torigin, basetype, spantype)); + public static bool boxop_tnumber_tbox(IntPtr temp, IntPtr box, IntPtr func, bool invert) + => SafeExecution(() => MEOSExternalFunctions.boxop_tnumber_tbox(temp, box, func, invert)); - public static IntPtr tnumber_value_time_split(IntPtr temp, ulong size, IntPtr duration, ulong vorigin, long torigin, IntPtr value_bins, IntPtr time_bins, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.tnumber_value_time_split(temp, size, duration, vorigin, torigin, value_bins, time_bins, count)); + public static bool boxop_tnumber_tnumber(IntPtr temp1, IntPtr temp2, IntPtr func) + => SafeExecution(() => MEOSExternalFunctions.boxop_tnumber_tnumber(temp1, temp2, func)); - public static IntPtr proj_get_context() - => SafeExecution(() => MEOSExternalFunctions.proj_get_context()); + public static int eacomp_base_temporal(long value, IntPtr temp, IntPtr func, bool ever) + => SafeExecution(() => MEOSExternalFunctions.eacomp_base_temporal(value, temp, func, ever)); - public static ulong datum_geo_round(ulong value, ulong size) - => SafeExecution(() => MEOSExternalFunctions.datum_geo_round(value, size)); + public static int eacomp_temporal_base(IntPtr temp, long value, IntPtr func, bool ever) + => SafeExecution(() => MEOSExternalFunctions.eacomp_temporal_base(temp, value, func, ever)); - public static IntPtr point_round(IntPtr gs, int maxdd) - => SafeExecution(() => MEOSExternalFunctions.point_round(gs, maxdd)); + public static int eacomp_temporal_temporal(IntPtr temp1, IntPtr temp2, IntPtr func, bool ever) + => SafeExecution(() => MEOSExternalFunctions.eacomp_temporal_temporal(temp1, temp2, func, ever)); - public static void stbox_set(bool hasx, bool hasz, bool geodetic, int srid, double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, IntPtr s, IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.stbox_set(hasx, hasz, geodetic, srid, xmin, xmax, ymin, ymax, zmin, zmax, s, box)); + public static IntPtr tcomp_base_temporal(long value, IntPtr temp, IntPtr func) + => SafeExecution(() => MEOSExternalFunctions.tcomp_base_temporal(value, temp, func)); - public static void gbox_set_stbox(IntPtr box, int srid, IntPtr result) - => SafeExecution(() => MEOSExternalFunctions.gbox_set_stbox(box, srid, result)); + public static IntPtr tcomp_temporal_base(IntPtr temp, long value, IntPtr func) + => SafeExecution(() => MEOSExternalFunctions.tcomp_temporal_base(temp, value, func)); - public static bool geo_set_stbox(IntPtr gs, IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.geo_set_stbox(gs, box)); + public static IntPtr tcomp_temporal_temporal(IntPtr temp1, IntPtr temp2, IntPtr func) + => SafeExecution(() => MEOSExternalFunctions.tcomp_temporal_temporal(temp1, temp2, func)); - public static void geoarr_set_stbox(IntPtr values, int count, IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.geoarr_set_stbox(values, count, box)); + public static IntPtr tdiscseq_at_timestamptz(IntPtr seq, long t) + => SafeExecution(() => MEOSExternalFunctions.tdiscseq_at_timestamptz(seq, t)); - public static bool spatial_set_stbox(ulong d, int basetype, IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.spatial_set_stbox(d, basetype, box)); + public static IntPtr tdiscseq_restrict_value(IntPtr seq, long value, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.tdiscseq_restrict_value(seq, value, atfunc)); - public static void spatialset_set_stbox(IntPtr set, IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.spatialset_set_stbox(set, box)); + public static IntPtr tdiscseq_restrict_values(IntPtr seq, IntPtr s, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.tdiscseq_restrict_values(seq, s, atfunc)); - public static void stbox_set_box3d(IntPtr box, IntPtr box3d) - => SafeExecution(() => MEOSExternalFunctions.stbox_set_box3d(box, box3d)); + public static IntPtr tdiscseq_minus_timestamptz(IntPtr seq, long t) + => SafeExecution(() => MEOSExternalFunctions.tdiscseq_minus_timestamptz(seq, t)); - public static void stbox_set_gbox(IntPtr box, IntPtr gbox) - => SafeExecution(() => MEOSExternalFunctions.stbox_set_gbox(box, gbox)); + public static IntPtr tdiscseq_restrict_tstzset(IntPtr seq, IntPtr s, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.tdiscseq_restrict_tstzset(seq, s, atfunc)); - public static void tstzset_set_stbox(IntPtr s, IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.tstzset_set_stbox(s, box)); + public static IntPtr tdiscseq_restrict_tstzspanset(IntPtr seq, IntPtr ss, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.tdiscseq_restrict_tstzspanset(seq, ss, atfunc)); - public static void tstzspan_set_stbox(IntPtr s, IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.tstzspan_set_stbox(s, box)); + public static int tcontseq_restrict_value_iter(IntPtr seq, long value, bool atfunc, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.tcontseq_restrict_value_iter(seq, value, atfunc, result)); - public static void tstzspanset_set_stbox(IntPtr s, IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.tstzspanset_set_stbox(s, box)); + public static IntPtr tcontseq_delete_timestamptz(IntPtr seq, long t) + => SafeExecution(() => MEOSExternalFunctions.tcontseq_delete_timestamptz(seq, t)); - public static void stbox_expand(IntPtr box1, IntPtr box2) - => SafeExecution(() => MEOSExternalFunctions.stbox_expand(box1, box2)); + public static IntPtr tcontseq_delete_tstzset(IntPtr seq, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.tcontseq_delete_tstzset(seq, s)); - public static bool inter_stbox_stbox(IntPtr box1, IntPtr box2, IntPtr result) - => SafeExecution(() => MEOSExternalFunctions.inter_stbox_stbox(box1, box2, result)); + public static IntPtr tcontseq_delete_tstzspanset(IntPtr seq, IntPtr ss) + => SafeExecution(() => MEOSExternalFunctions.tcontseq_delete_tstzspanset(seq, ss)); - public static IntPtr stbox_geo(IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.stbox_geo(box)); + public static IntPtr tcontseq_at_tstzset(IntPtr seq, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.tcontseq_at_tstzset(seq, s)); - public static IntPtr tgeogpointinst_from_mfjson(IntPtr mfjson, int srid) - => SafeExecution(() => MEOSExternalFunctions.tgeogpointinst_from_mfjson(mfjson, srid)); + public static IntPtr tcontseq_minus_timestamptz(IntPtr seq, long t) + => SafeExecution(() => MEOSExternalFunctions.tcontseq_minus_timestamptz(seq, t)); - public static IntPtr tgeogpointinst_in(string str) - => SafeExecution(() => MEOSExternalFunctions.tgeogpointinst_in(str)); + public static IntPtr tcontseq_minus_tstzset(IntPtr seq, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.tcontseq_minus_tstzset(seq, s)); - public static IntPtr tgeogpointseq_from_mfjson(IntPtr mfjson, int srid, int interp) - => SafeExecution(() => MEOSExternalFunctions.tgeogpointseq_from_mfjson(mfjson, srid, interp)); + public static IntPtr tcontseq_minus_tstzspan(IntPtr seq, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.tcontseq_minus_tstzspan(seq, s)); - public static IntPtr tgeogpointseq_in(string str, int interp) - => SafeExecution(() => MEOSExternalFunctions.tgeogpointseq_in(str, interp)); + public static IntPtr tcontseq_restrict_value(IntPtr seq, long value, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.tcontseq_restrict_value(seq, value, atfunc)); - public static IntPtr tgeogpointseqset_from_mfjson(IntPtr mfjson, int srid, int interp) - => SafeExecution(() => MEOSExternalFunctions.tgeogpointseqset_from_mfjson(mfjson, srid, interp)); + public static IntPtr tcontseq_restrict_values(IntPtr seq, IntPtr s, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.tcontseq_restrict_values(seq, s, atfunc)); - public static IntPtr tgeogpointseqset_in(string str) - => SafeExecution(() => MEOSExternalFunctions.tgeogpointseqset_in(str)); + public static int tsequence_at_values_iter(IntPtr seq, IntPtr set, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.tsequence_at_values_iter(seq, set, result)); - public static IntPtr tgeompointinst_from_mfjson(IntPtr mfjson, int srid) - => SafeExecution(() => MEOSExternalFunctions.tgeompointinst_from_mfjson(mfjson, srid)); + public static int tnumberseq_cont_restrict_span_iter(IntPtr seq, IntPtr span, bool atfunc, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.tnumberseq_cont_restrict_span_iter(seq, span, atfunc, result)); - public static IntPtr tgeompointinst_in(string str) - => SafeExecution(() => MEOSExternalFunctions.tgeompointinst_in(str)); + public static int tnumberseq_cont_restrict_spanset_iter(IntPtr seq, IntPtr ss, bool atfunc, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.tnumberseq_cont_restrict_spanset_iter(seq, ss, atfunc, result)); - public static IntPtr tgeompointseq_from_mfjson(IntPtr mfjson, int srid, int interp) - => SafeExecution(() => MEOSExternalFunctions.tgeompointseq_from_mfjson(mfjson, srid, interp)); + public static IntPtr tsegment_at_timestamptz(IntPtr inst1, IntPtr inst2, int interp, long t) + => SafeExecution(() => MEOSExternalFunctions.tsegment_at_timestamptz(inst1, inst2, interp, t)); - public static IntPtr tgeompointseq_in(string str, int interp) - => SafeExecution(() => MEOSExternalFunctions.tgeompointseq_in(str, interp)); + public static int tcontseq_minus_timestamp_iter(IntPtr seq, long t, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.tcontseq_minus_timestamp_iter(seq, t, result)); - public static IntPtr tgeompointseqset_from_mfjson(IntPtr mfjson, int srid, int interp) - => SafeExecution(() => MEOSExternalFunctions.tgeompointseqset_from_mfjson(mfjson, srid, interp)); + public static int tcontseq_minus_tstzset_iter(IntPtr seq, IntPtr s, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.tcontseq_minus_tstzset_iter(seq, s, result)); - public static IntPtr tgeompointseqset_in(string str) - => SafeExecution(() => MEOSExternalFunctions.tgeompointseqset_in(str)); + public static int tcontseq_at_tstzspanset1(IntPtr seq, IntPtr ss, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.tcontseq_at_tstzspanset1(seq, ss, result)); - public static IntPtr tgeographyinst_from_mfjson(IntPtr mfjson, int srid) - => SafeExecution(() => MEOSExternalFunctions.tgeographyinst_from_mfjson(mfjson, srid)); + public static int tcontseq_minus_tstzspanset_iter(IntPtr seq, IntPtr ss, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.tcontseq_minus_tstzspanset_iter(seq, ss, result)); - public static IntPtr tgeographyinst_in(string str) - => SafeExecution(() => MEOSExternalFunctions.tgeographyinst_in(str)); + public static IntPtr tcontseq_at_tstzspan(IntPtr seq, IntPtr s) + => SafeExecution(() => MEOSExternalFunctions.tcontseq_at_tstzspan(seq, s)); - public static IntPtr tgeographyseq_from_mfjson(IntPtr mfjson, int srid, int interp) - => SafeExecution(() => MEOSExternalFunctions.tgeographyseq_from_mfjson(mfjson, srid, interp)); + public static IntPtr tcontseq_at_timestamptz(IntPtr seq, long t) + => SafeExecution(() => MEOSExternalFunctions.tcontseq_at_timestamptz(seq, t)); - public static IntPtr tgeographyseq_in(string str, int interp) - => SafeExecution(() => MEOSExternalFunctions.tgeographyseq_in(str, interp)); + public static IntPtr tcontseq_restrict_tstzspanset(IntPtr seq, IntPtr ss, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.tcontseq_restrict_tstzspanset(seq, ss, atfunc)); - public static IntPtr tgeographyseqset_from_mfjson(IntPtr mfjson, int srid, int interp) - => SafeExecution(() => MEOSExternalFunctions.tgeographyseqset_from_mfjson(mfjson, srid, interp)); + public static bool tdiscseq_value_at_timestamptz(IntPtr seq, long t, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.tdiscseq_value_at_timestamptz(seq, t, result)); - public static IntPtr tgeographyseqset_in(string str) - => SafeExecution(() => MEOSExternalFunctions.tgeographyseqset_in(str)); + public static IntPtr tnumberseq_disc_restrict_span(IntPtr seq, IntPtr span, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.tnumberseq_disc_restrict_span(seq, span, atfunc)); - public static IntPtr tgeometryinst_from_mfjson(IntPtr mfjson, int srid) - => SafeExecution(() => MEOSExternalFunctions.tgeometryinst_from_mfjson(mfjson, srid)); + public static IntPtr tnumberseq_disc_restrict_spanset(IntPtr seq, IntPtr ss, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.tnumberseq_disc_restrict_spanset(seq, ss, atfunc)); - public static IntPtr tgeometryinst_in(string str) - => SafeExecution(() => MEOSExternalFunctions.tgeometryinst_in(str)); + public static IntPtr tnumberseq_cont_restrict_span(IntPtr seq, IntPtr span, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.tnumberseq_cont_restrict_span(seq, span, atfunc)); - public static IntPtr tgeometryseq_from_mfjson(IntPtr mfjson, int srid, int interp) - => SafeExecution(() => MEOSExternalFunctions.tgeometryseq_from_mfjson(mfjson, srid, interp)); + public static IntPtr tnumberseq_cont_restrict_spanset(IntPtr seq, IntPtr ss, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.tnumberseq_cont_restrict_spanset(seq, ss, atfunc)); - public static IntPtr tgeometryseq_in(string str, int interp) - => SafeExecution(() => MEOSExternalFunctions.tgeometryseq_in(str, interp)); + public static double tnumberseq_cont_twavg(IntPtr seq) + => SafeExecution(() => MEOSExternalFunctions.tnumberseq_cont_twavg(seq)); - public static IntPtr tgeometryseqset_from_mfjson(IntPtr mfjson, int srid, int interp) - => SafeExecution(() => MEOSExternalFunctions.tgeometryseqset_from_mfjson(mfjson, srid, interp)); + public static int span_num_bins(IntPtr s, long size, long origin, IntPtr start_bin, IntPtr end_bin) + => SafeExecution(() => MEOSExternalFunctions.span_num_bins(s, size, origin, start_bin, end_bin)); - public static IntPtr tgeometryseqset_in(string str) - => SafeExecution(() => MEOSExternalFunctions.tgeometryseqset_in(str)); + public static IntPtr temporal_time_bin_init(IntPtr temp, IntPtr duration, long torigin, IntPtr nbins) + => SafeExecution(() => MEOSExternalFunctions.temporal_time_bin_init(temp, duration, torigin, nbins)); - public static void tspatial_set_stbox(IntPtr temp, IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.tspatial_set_stbox(temp, box)); + public static IntPtr tbox_tile_state_make(IntPtr temp, IntPtr box, long vsize, IntPtr duration, long xorigin, long torigin) + => SafeExecution(() => MEOSExternalFunctions.tbox_tile_state_make(temp, box, vsize, duration, xorigin, torigin)); - public static void tgeoinst_set_stbox(IntPtr inst, IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.tgeoinst_set_stbox(inst, box)); + public static void tbox_tile_state_next(IntPtr state) + => SafeExecution(() => MEOSExternalFunctions.tbox_tile_state_next(state)); - public static void tspatialseq_set_stbox(IntPtr seq, IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.tspatialseq_set_stbox(seq, box)); + public static void tbox_tile_state_set(long value, long t, long vsize, long tunits, int basetype, int spantype, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.tbox_tile_state_set(value, t, vsize, tunits, basetype, spantype, box)); - public static void tspatialseqset_set_stbox(IntPtr ss, IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.tspatialseqset_set_stbox(ss, box)); + public static long interval_units(IntPtr interval) + => SafeExecution(() => MEOSExternalFunctions.interval_units(interval)); - public static IntPtr tgeo_restrict_geom(IntPtr temp, IntPtr gs, IntPtr zspan, bool atfunc) - => SafeExecution(() => MEOSExternalFunctions.tgeo_restrict_geom(temp, gs, zspan, atfunc)); + public static long timestamptz_bin_start(long timestamp, long tunits, long torigin) + => SafeExecution(() => MEOSExternalFunctions.timestamptz_bin_start(timestamp, tunits, torigin)); - public static IntPtr tgeo_restrict_stbox(IntPtr temp, IntPtr box, bool border_inc, bool atfunc) - => SafeExecution(() => MEOSExternalFunctions.tgeo_restrict_stbox(temp, box, border_inc, atfunc)); + public static long datum_bin(long value, long size, long offset, int basetype) + => SafeExecution(() => MEOSExternalFunctions.datum_bin(value, size, offset, basetype)); - public static IntPtr tgeoinst_restrict_geom(IntPtr inst, IntPtr gs, IntPtr zspan, bool atfunc) - => SafeExecution(() => MEOSExternalFunctions.tgeoinst_restrict_geom(inst, gs, zspan, atfunc)); + public static IntPtr tnumber_value_time_tile_init(IntPtr temp, long vsize, IntPtr duration, long vorigin, long torigin, IntPtr ntiles) + => SafeExecution(() => MEOSExternalFunctions.tnumber_value_time_tile_init(temp, vsize, duration, vorigin, torigin, ntiles)); - public static IntPtr tgeoinst_restrict_stbox(IntPtr inst, IntPtr box, bool border_inc, bool atfunc) - => SafeExecution(() => MEOSExternalFunctions.tgeoinst_restrict_stbox(inst, box, border_inc, atfunc)); + public static bool tbox_tile_state_get(IntPtr state, IntPtr box) + => SafeExecution(() => MEOSExternalFunctions.tbox_tile_state_get(state, box)); + + public static IntPtr[] temporal_transform_wcount(IntPtr temp, IntPtr interval) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.temporal_transform_wcount(temp, interval, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } - public static IntPtr tgeoseq_restrict_geom(IntPtr seq, IntPtr gs, IntPtr zspan, bool atfunc) - => SafeExecution(() => MEOSExternalFunctions.tgeoseq_restrict_geom(seq, gs, zspan, atfunc)); + public static IntPtr[] tnumber_transform_wavg(IntPtr temp, IntPtr interval) + { + IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int)); + try + { + IntPtr _p = SafeExecution(() => MEOSExternalFunctions.tnumber_transform_wavg(temp, interval, _cnt)); + int _n = Marshal.ReadInt32(_cnt); + IntPtr[] _out = new IntPtr[_n]; + for (int _i = 0; _i < _n; _i++) + { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } + return _out; + } + finally { Marshal.FreeHGlobal(_cnt); } + } - public static IntPtr tgeoseq_restrict_stbox(IntPtr seq, IntPtr box, bool border_inc, bool atfunc) - => SafeExecution(() => MEOSExternalFunctions.tgeoseq_restrict_stbox(seq, box, border_inc, atfunc)); + public static IntPtr temporal_wagg_transfn(IntPtr state, IntPtr temp, IntPtr interval, IntPtr func, bool min, bool crossings) + => SafeExecution(() => MEOSExternalFunctions.temporal_wagg_transfn(state, temp, interval, func, min, crossings)); - public static IntPtr tgeoseqset_restrict_geom(IntPtr ss, IntPtr gs, IntPtr zspan, bool atfunc) - => SafeExecution(() => MEOSExternalFunctions.tgeoseqset_restrict_geom(ss, gs, zspan, atfunc)); + public static IntPtr temporal_wagg_transform_transfn(IntPtr state, IntPtr temp, IntPtr interval, IntPtr func, IntPtr transform) + => SafeExecution(() => MEOSExternalFunctions.temporal_wagg_transform_transfn(state, temp, interval, func, transform)); - public static IntPtr tgeoseqset_restrict_stbox(IntPtr ss, IntPtr box, bool border_inc, bool atfunc) - => SafeExecution(() => MEOSExternalFunctions.tgeoseqset_restrict_stbox(ss, box, border_inc, atfunc)); + public static void tinstant_set(IntPtr inst, long value, long t) + => SafeExecution(() => MEOSExternalFunctions.tinstant_set(inst, value, t)); - public static int spatial_srid(ulong d, int basetype) - => SafeExecution(() => MEOSExternalFunctions.spatial_srid(d, basetype)); + public static double tnumberinst_double(IntPtr inst) + => SafeExecution(() => MEOSExternalFunctions.tnumberinst_double(inst)); - public static bool spatial_set_srid(ulong d, int basetype, int srid) - => SafeExecution(() => MEOSExternalFunctions.spatial_set_srid(d, basetype, srid)); + public static string tinstant_to_string(IntPtr inst, int maxdd, IntPtr value_out) + => SafeExecution(() => MEOSExternalFunctions.tinstant_to_string(inst, maxdd, value_out)); - public static int tspatialinst_srid(IntPtr inst) - => SafeExecution(() => MEOSExternalFunctions.tspatialinst_srid(inst)); + public static bool tinstant_restrict_values_test(IntPtr inst, IntPtr s, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.tinstant_restrict_values_test(inst, s, atfunc)); - public static IntPtr tpointseq_azimuth(IntPtr seq) - => SafeExecution(() => MEOSExternalFunctions.tpointseq_azimuth(seq)); + public static bool tnumberinst_restrict_span_test(IntPtr inst, IntPtr s, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.tnumberinst_restrict_span_test(inst, s, atfunc)); - public static IntPtr tpointseq_cumulative_length(IntPtr seq, double prevlength) - => SafeExecution(() => MEOSExternalFunctions.tpointseq_cumulative_length(seq, prevlength)); + public static bool tnumberinst_restrict_spanset_test(IntPtr inst, IntPtr ss, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.tnumberinst_restrict_spanset_test(inst, ss, atfunc)); - public static bool tpointseq_is_simple(IntPtr seq) - => SafeExecution(() => MEOSExternalFunctions.tpointseq_is_simple(seq)); + public static bool tinstant_restrict_tstzset_test(IntPtr inst, IntPtr s, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.tinstant_restrict_tstzset_test(inst, s, atfunc)); - public static double tpointseq_length(IntPtr seq) - => SafeExecution(() => MEOSExternalFunctions.tpointseq_length(seq)); + public static bool tinstant_restrict_tstzspanset_test(IntPtr inst, IntPtr ss, bool atfunc) + => SafeExecution(() => MEOSExternalFunctions.tinstant_restrict_tstzspanset_test(inst, ss, atfunc)); - public static IntPtr tpointseq_linear_trajectory(IntPtr seq, bool unary_union) - => SafeExecution(() => MEOSExternalFunctions.tpointseq_linear_trajectory(seq, unary_union)); + public static bool intersection_tinstant_tinstant(IntPtr inst1, IntPtr inst2, IntPtr inter1, IntPtr inter2) + => SafeExecution(() => MEOSExternalFunctions.intersection_tinstant_tinstant(inst1, inst2, inter1, inter2)); - public static IntPtr tgeoseq_stboxes(IntPtr seq, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.tgeoseq_stboxes(seq, count)); + public static void _mulmat(IntPtr a, IntPtr b, IntPtr c, int arows, int acols, int bcols) + => SafeExecution(() => MEOSExternalFunctions._mulmat(a, b, c, arows, acols, bcols)); - public static IntPtr tgeoseq_split_n_stboxes(IntPtr seq, int max_count, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.tgeoseq_split_n_stboxes(seq, max_count, count)); + public static void _mulvec(IntPtr a, IntPtr x, IntPtr y, int m, int n) + => SafeExecution(() => MEOSExternalFunctions._mulvec(a, x, y, m, n)); - public static IntPtr tpointseqset_azimuth(IntPtr ss) - => SafeExecution(() => MEOSExternalFunctions.tpointseqset_azimuth(ss)); + public static void _transpose(IntPtr a, IntPtr at, int m, int n) + => SafeExecution(() => MEOSExternalFunctions._transpose(a, at, m, n)); - public static IntPtr tpointseqset_cumulative_length(IntPtr ss) - => SafeExecution(() => MEOSExternalFunctions.tpointseqset_cumulative_length(ss)); + public static void _addmat(IntPtr a, IntPtr b, IntPtr c, int m, int n) + => SafeExecution(() => MEOSExternalFunctions._addmat(a, b, c, m, n)); - public static bool tpointseqset_is_simple(IntPtr ss) - => SafeExecution(() => MEOSExternalFunctions.tpointseqset_is_simple(ss)); + public static void _negate(IntPtr a, int m, int n) + => SafeExecution(() => MEOSExternalFunctions._negate(a, m, n)); - public static double tpointseqset_length(IntPtr ss) - => SafeExecution(() => MEOSExternalFunctions.tpointseqset_length(ss)); + public static void _addeye(IntPtr a, int n) + => SafeExecution(() => MEOSExternalFunctions._addeye(a, n)); - public static IntPtr tgeoseqset_stboxes(IntPtr ss, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.tgeoseqset_stboxes(ss, count)); + public static int _choldc1(IntPtr a, IntPtr p, int n) + => SafeExecution(() => MEOSExternalFunctions._choldc1(a, p, n)); - public static IntPtr tgeoseqset_split_n_stboxes(IntPtr ss, int max_count, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.tgeoseqset_split_n_stboxes(ss, max_count, count)); + public static int _choldcsl(IntPtr A, IntPtr a, IntPtr p, int n) + => SafeExecution(() => MEOSExternalFunctions._choldcsl(A, a, p, n)); - public static IntPtr tpoint_get_coord(IntPtr temp, int coord) - => SafeExecution(() => MEOSExternalFunctions.tpoint_get_coord(temp, coord)); + public static int _cholsl(IntPtr A, IntPtr a, IntPtr p, int n) + => SafeExecution(() => MEOSExternalFunctions._cholsl(A, a, p, n)); - public static IntPtr tgeominst_tgeoginst(IntPtr inst, bool oper) - => SafeExecution(() => MEOSExternalFunctions.tgeominst_tgeoginst(inst, oper)); + public static void _addvec(IntPtr a, IntPtr b, IntPtr c, int n) + => SafeExecution(() => MEOSExternalFunctions._addvec(a, b, c, n)); - public static IntPtr tgeomseq_tgeogseq(IntPtr seq, bool oper) - => SafeExecution(() => MEOSExternalFunctions.tgeomseq_tgeogseq(seq, oper)); + public static void _sub(IntPtr a, IntPtr b, IntPtr c, int n) + => SafeExecution(() => MEOSExternalFunctions._sub(a, b, c, n)); - public static IntPtr tgeomseqset_tgeogseqset(IntPtr ss, bool oper) - => SafeExecution(() => MEOSExternalFunctions.tgeomseqset_tgeogseqset(ss, oper)); + public static int invert(IntPtr a, IntPtr ainv) + => SafeExecution(() => MEOSExternalFunctions.invert(a, ainv)); - public static IntPtr tgeom_tgeog(IntPtr temp, bool oper) - => SafeExecution(() => MEOSExternalFunctions.tgeom_tgeog(temp, oper)); + public static void ekf_initialize(IntPtr ekf, float pdiag) + => SafeExecution(() => MEOSExternalFunctions.ekf_initialize(ekf, pdiag)); - public static IntPtr tgeo_tpoint(IntPtr temp, bool oper) - => SafeExecution(() => MEOSExternalFunctions.tgeo_tpoint(temp, oper)); + public static void ekf_predict(IntPtr ekf, float fx, float F, float Q) + => SafeExecution(() => MEOSExternalFunctions.ekf_predict(ekf, fx, F, Q)); - public static void tspatialinst_set_srid(IntPtr inst, int srid) - => SafeExecution(() => MEOSExternalFunctions.tspatialinst_set_srid(inst, srid)); + public static void ekf_update_step3(IntPtr ekf, float GH) + => SafeExecution(() => MEOSExternalFunctions.ekf_update_step3(ekf, GH)); - public static IntPtr tpointseq_make_simple(IntPtr seq, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.tpointseq_make_simple(seq, count)); + public static int ekf_update(IntPtr ekf, float z, float hx, float H, float R) + => SafeExecution(() => MEOSExternalFunctions.ekf_update(ekf, z, hx, H, R)); - public static void tspatialseq_set_srid(IntPtr seq, int srid) - => SafeExecution(() => MEOSExternalFunctions.tspatialseq_set_srid(seq, srid)); + public static int tfloat_arithop_turnpt(long start1, long end1, long start2, long end2, long param, long lower, long upper, IntPtr t1, IntPtr t2) + => SafeExecution(() => MEOSExternalFunctions.tfloat_arithop_turnpt(start1, end1, start2, end2, param, lower, upper, t1, t2)); - public static IntPtr tpointseqset_make_simple(IntPtr ss, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.tpointseqset_make_simple(ss, count)); + public static IntPtr arithop_tnumber_number(IntPtr temp, long value, IntPtr oper, IntPtr func, bool invert) + => SafeExecution(() => MEOSExternalFunctions.arithop_tnumber_number(temp, value, oper, func, invert)); - public static void tspatialseqset_set_srid(IntPtr ss, int srid) - => SafeExecution(() => MEOSExternalFunctions.tspatialseqset_set_srid(ss, srid)); + public static IntPtr arithop_tnumber_tnumber(IntPtr temp1, IntPtr temp2, IntPtr oper, IntPtr func, IntPtr tpfunc) + => SafeExecution(() => MEOSExternalFunctions.arithop_tnumber_tnumber(temp1, temp2, oper, func, tpfunc)); - public static IntPtr tpointseq_twcentroid(IntPtr seq) - => SafeExecution(() => MEOSExternalFunctions.tpointseq_twcentroid(seq)); + public static bool float_collinear(double x1, double x2, double x3, double ratio) + => SafeExecution(() => MEOSExternalFunctions.float_collinear(x1, x2, x3, ratio)); - public static IntPtr tpointseqset_twcentroid(IntPtr ss) - => SafeExecution(() => MEOSExternalFunctions.tpointseqset_twcentroid(ss)); + public static double floatsegm_interpolate(double value1, double value2, IntPtr value) + => SafeExecution(() => MEOSExternalFunctions.floatsegm_interpolate(value1, value2, value)); - public static string npoint_as_ewkt(IntPtr np, int maxdd) - => SafeExecution(() => MEOSExternalFunctions.npoint_as_ewkt(np, maxdd)); + public static IntPtr floatsegm_locate(double value1, double value2, double value) + => SafeExecution(() => MEOSExternalFunctions.floatsegm_locate(value1, value2, value)); - public static string npoint_as_hexwkb(IntPtr np, IntPtr variant, IntPtr size_out) - => SafeExecution(() => MEOSExternalFunctions.npoint_as_hexwkb(np, variant, size_out)); + public static int tnumbersegm_intersection(long start1, long end1, long start2, long end2, int basetype, long lower, long upper, IntPtr t1, IntPtr t2) + => SafeExecution(() => MEOSExternalFunctions.tnumbersegm_intersection(start1, end1, start2, end2, basetype, lower, upper, t1, t2)); - public static string npoint_as_text(IntPtr np, int maxdd) - => SafeExecution(() => MEOSExternalFunctions.npoint_as_text(np, maxdd)); + public static bool tsequence_norm_test(long value1, long value2, long value3, int basetype, int interp, long t1, long t2, long t3) + => SafeExecution(() => MEOSExternalFunctions.tsequence_norm_test(value1, value2, value3, basetype, interp, t1, t2, t3)); - public static IntPtr npoint_as_wkb(IntPtr np, IntPtr variant, IntPtr size_out) - => SafeExecution(() => MEOSExternalFunctions.npoint_as_wkb(np, variant, size_out)); + public static bool tsequence_join_test(IntPtr seq1, IntPtr seq2, IntPtr removelast, IntPtr removefirst) + => SafeExecution(() => MEOSExternalFunctions.tsequence_join_test(seq1, seq2, removelast, removefirst)); - public static IntPtr npoint_from_hexwkb(string hexwkb) - => SafeExecution(() => MEOSExternalFunctions.npoint_from_hexwkb(hexwkb)); + public static IntPtr tsequence_join(IntPtr seq1, IntPtr seq2, bool removelast, bool removefirst) + => SafeExecution(() => MEOSExternalFunctions.tsequence_join(seq1, seq2, removelast, removefirst)); - public static IntPtr npoint_from_wkb(IntPtr wkb, ulong size) - => SafeExecution(() => MEOSExternalFunctions.npoint_from_wkb(wkb, size)); + public static IntPtr tinstarr_normalize(IntPtr instants, int interp, int count, IntPtr newcount) + => SafeExecution(() => MEOSExternalFunctions.tinstarr_normalize(instants, interp, count, newcount)); - public static IntPtr npoint_in(string str) - => SafeExecution(() => MEOSExternalFunctions.npoint_in(str)); + public static int tcontseq_find_timestamptz(IntPtr seq, long t) + => SafeExecution(() => MEOSExternalFunctions.tcontseq_find_timestamptz(seq, t)); - public static string npoint_out(IntPtr np, int maxdd) - => SafeExecution(() => MEOSExternalFunctions.npoint_out(np, maxdd)); + public static int tdiscseq_find_timestamptz(IntPtr seq, long t) + => SafeExecution(() => MEOSExternalFunctions.tdiscseq_find_timestamptz(seq, t)); - public static IntPtr nsegment_in(string str) - => SafeExecution(() => MEOSExternalFunctions.nsegment_in(str)); + public static IntPtr tseqarr2_to_tseqarr(IntPtr sequences, IntPtr countseqs, int count, int totalseqs) + => SafeExecution(() => MEOSExternalFunctions.tseqarr2_to_tseqarr(sequences, countseqs, count, totalseqs)); - public static string nsegment_out(IntPtr ns, int maxdd) - => SafeExecution(() => MEOSExternalFunctions.nsegment_out(ns, maxdd)); + public static bool ensure_valid_tinstarr_common(IntPtr instants, int count, bool lower_inc, bool upper_inc, int interp) + => SafeExecution(() => MEOSExternalFunctions.ensure_valid_tinstarr_common(instants, count, lower_inc, upper_inc, interp)); - public static IntPtr npoint_make(long rid, double pos) - => SafeExecution(() => MEOSExternalFunctions.npoint_make(rid, pos)); + public static IntPtr tsequence_make_exp1(IntPtr instants, int count, int maxcount, bool lower_inc, bool upper_inc, int interp, bool normalize, IntPtr bbox) + => SafeExecution(() => MEOSExternalFunctions.tsequence_make_exp1(instants, count, maxcount, lower_inc, upper_inc, interp, normalize, bbox)); - public static IntPtr nsegment_make(long rid, double pos1, double pos2) - => SafeExecution(() => MEOSExternalFunctions.nsegment_make(rid, pos1, pos2)); + public static bool synchronize_tsequence_tsequence(IntPtr seq1, IntPtr seq2, IntPtr sync1, IntPtr sync2, bool interpoint) + => SafeExecution(() => MEOSExternalFunctions.synchronize_tsequence_tsequence(seq1, seq2, sync1, sync2, interpoint)); - public static IntPtr geompoint_to_npoint(IntPtr gs) - => SafeExecution(() => MEOSExternalFunctions.geompoint_to_npoint(gs)); + public static int tfloatsegm_intersection_value(long start, long end, long value, long lower, long upper, IntPtr t) + => SafeExecution(() => MEOSExternalFunctions.tfloatsegm_intersection_value(start, end, value, lower, upper, t)); - public static IntPtr geom_to_nsegment(IntPtr gs) - => SafeExecution(() => MEOSExternalFunctions.geom_to_nsegment(gs)); + public static int tsegment_intersection_value(long start, long end, long value, int temptype, long lower, long upper, IntPtr t1, IntPtr t2) + => SafeExecution(() => MEOSExternalFunctions.tsegment_intersection_value(start, end, value, temptype, lower, upper, t1, t2)); - public static IntPtr npoint_to_geompoint(IntPtr np) - => SafeExecution(() => MEOSExternalFunctions.npoint_to_geompoint(np)); + public static int tsegment_intersection(long start1, long end1, long start2, long end2, int temptype, long lower, long upper, IntPtr t1, IntPtr t2) + => SafeExecution(() => MEOSExternalFunctions.tsegment_intersection(start1, end1, start2, end2, temptype, lower, upper, t1, t2)); - public static IntPtr npoint_to_nsegment(IntPtr np) - => SafeExecution(() => MEOSExternalFunctions.npoint_to_nsegment(np)); + public static long tsegment_value_at_timestamptz(long start, long end, int temptype, long lower, long upper, long t) + => SafeExecution(() => MEOSExternalFunctions.tsegment_value_at_timestamptz(start, end, temptype, lower, upper, t)); - public static IntPtr npoint_to_stbox(IntPtr np) - => SafeExecution(() => MEOSExternalFunctions.npoint_to_stbox(np)); + public static bool intersection_tdiscseq_tdiscseq(IntPtr seq1, IntPtr seq2, IntPtr inter1, IntPtr inter2) + => SafeExecution(() => MEOSExternalFunctions.intersection_tdiscseq_tdiscseq(seq1, seq2, inter1, inter2)); - public static IntPtr nsegment_to_geom(IntPtr ns) - => SafeExecution(() => MEOSExternalFunctions.nsegment_to_geom(ns)); + public static bool intersection_tcontseq_tdiscseq(IntPtr seq1, IntPtr seq2, IntPtr inter1, IntPtr inter2) + => SafeExecution(() => MEOSExternalFunctions.intersection_tcontseq_tdiscseq(seq1, seq2, inter1, inter2)); - public static IntPtr nsegment_to_stbox(IntPtr np) - => SafeExecution(() => MEOSExternalFunctions.nsegment_to_stbox(np)); + public static bool intersection_tdiscseq_tcontseq(IntPtr @is, IntPtr seq2, IntPtr inter1, IntPtr inter2) + => SafeExecution(() => MEOSExternalFunctions.intersection_tdiscseq_tcontseq(@is, seq2, inter1, inter2)); - public static uint npoint_hash(IntPtr np) - => SafeExecution(() => MEOSExternalFunctions.npoint_hash(np)); + public static bool intersection_tsequence_tinstant(IntPtr seq, IntPtr inst, IntPtr inter1, IntPtr inter2) + => SafeExecution(() => MEOSExternalFunctions.intersection_tsequence_tinstant(seq, inst, inter1, inter2)); - public static ulong npoint_hash_extended(IntPtr np, ulong seed) - => SafeExecution(() => MEOSExternalFunctions.npoint_hash_extended(np, seed)); + public static bool intersection_tinstant_tsequence(IntPtr inst, IntPtr seq, IntPtr inter1, IntPtr inter2) + => SafeExecution(() => MEOSExternalFunctions.intersection_tinstant_tsequence(inst, seq, inter1, inter2)); - public static double npoint_position(IntPtr np) - => SafeExecution(() => MEOSExternalFunctions.npoint_position(np)); + public static string tsequence_to_string(IntPtr seq, int maxdd, bool component, IntPtr value_out) + => SafeExecution(() => MEOSExternalFunctions.tsequence_to_string(seq, maxdd, component, value_out)); - public static long npoint_route(IntPtr np) - => SafeExecution(() => MEOSExternalFunctions.npoint_route(np)); + public static bool ensure_increasing_timestamps(IntPtr inst1, IntPtr inst2, bool strict) + => SafeExecution(() => MEOSExternalFunctions.ensure_increasing_timestamps(inst1, inst2, strict)); - public static double nsegment_end_position(IntPtr ns) - => SafeExecution(() => MEOSExternalFunctions.nsegment_end_position(ns)); + public static void bbox_expand(IntPtr box1, IntPtr box2, int temptype) + => SafeExecution(() => MEOSExternalFunctions.bbox_expand(box1, box2, temptype)); - public static long nsegment_route(IntPtr ns) - => SafeExecution(() => MEOSExternalFunctions.nsegment_route(ns)); + public static bool ensure_valid_tinstarr(IntPtr instants, int count, bool merge, int interp) + => SafeExecution(() => MEOSExternalFunctions.ensure_valid_tinstarr(instants, count, merge, interp)); - public static double nsegment_start_position(IntPtr ns) - => SafeExecution(() => MEOSExternalFunctions.nsegment_start_position(ns)); + public static bool tsequence_make_valid(IntPtr instants, int count, bool lower_inc, bool upper_inc, int interp) + => SafeExecution(() => MEOSExternalFunctions.tsequence_make_valid(instants, count, lower_inc, upper_inc, interp)); - public static bool route_exists(long rid) - => SafeExecution(() => MEOSExternalFunctions.route_exists(rid)); + public static void tnumberseq_shift_scale_value_iter(IntPtr seq, long origin, long delta, bool hasdelta, double scale) + => SafeExecution(() => MEOSExternalFunctions.tnumberseq_shift_scale_value_iter(seq, origin, delta, hasdelta, scale)); - public static IntPtr route_geom(long rid) - => SafeExecution(() => MEOSExternalFunctions.route_geom(rid)); + public static void tsequence_shift_scale_time_iter(IntPtr seq, long delta, double scale) + => SafeExecution(() => MEOSExternalFunctions.tsequence_shift_scale_time_iter(seq, delta, scale)); - public static double route_length(long rid) - => SafeExecution(() => MEOSExternalFunctions.route_length(rid)); + public static int tstepseq_to_linear_iter(IntPtr seq, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.tstepseq_to_linear_iter(seq, result)); - public static IntPtr npoint_round(IntPtr np, int maxdd) - => SafeExecution(() => MEOSExternalFunctions.npoint_round(np, maxdd)); + public static IntPtr tstepseq_to_linear(IntPtr seq) + => SafeExecution(() => MEOSExternalFunctions.tstepseq_to_linear(seq)); - public static IntPtr nsegment_round(IntPtr ns, int maxdd) - => SafeExecution(() => MEOSExternalFunctions.nsegment_round(ns, maxdd)); + public static int tsequence_segments_iter(IntPtr seq, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.tsequence_segments_iter(seq, result)); - public static int get_srid_ways() - => SafeExecution(() => MEOSExternalFunctions.get_srid_ways()); + public static int tsequence_timestamps_iter(IntPtr seq, IntPtr times) + => SafeExecution(() => MEOSExternalFunctions.tsequence_timestamps_iter(seq, times)); - public static int npoint_srid(IntPtr np) - => SafeExecution(() => MEOSExternalFunctions.npoint_srid(np)); + public static bool tsequenceset_find_timestamptz(IntPtr ss, long t, IntPtr loc) + => SafeExecution(() => MEOSExternalFunctions.tsequenceset_find_timestamptz(ss, t, loc)); - public static int nsegment_srid(IntPtr ns) - => SafeExecution(() => MEOSExternalFunctions.nsegment_srid(ns)); + public static IntPtr tseqarr_normalize(IntPtr sequences, int count, IntPtr newcount) + => SafeExecution(() => MEOSExternalFunctions.tseqarr_normalize(sequences, count, newcount)); - public static IntPtr npoint_timestamptz_to_stbox(IntPtr np, long t) - => SafeExecution(() => MEOSExternalFunctions.npoint_timestamptz_to_stbox(np, t)); + public static double datum_distance(long value1, long value2, int basetype, short flags) + => SafeExecution(() => MEOSExternalFunctions.datum_distance(value1, value2, basetype, flags)); - public static IntPtr npoint_tstzspan_to_stbox(IntPtr np, IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.npoint_tstzspan_to_stbox(np, s)); + public static IntPtr ensure_valid_tinstarr_gaps(IntPtr instants, int count, bool merge, double maxdist, IntPtr maxt, IntPtr nsplits) + => SafeExecution(() => MEOSExternalFunctions.ensure_valid_tinstarr_gaps(instants, count, merge, maxdist, maxt, nsplits)); - public static int npoint_cmp(IntPtr np1, IntPtr np2) - => SafeExecution(() => MEOSExternalFunctions.npoint_cmp(np1, np2)); + public static bool ensure_valid_tseqarr(IntPtr sequences, int count) + => SafeExecution(() => MEOSExternalFunctions.ensure_valid_tseqarr(sequences, count)); - public static bool npoint_eq(IntPtr np1, IntPtr np2) - => SafeExecution(() => MEOSExternalFunctions.npoint_eq(np1, np2)); + public static bool synchronize_tsequenceset_tsequence(IntPtr ss, IntPtr seq, IntPtr mode, IntPtr inter1, IntPtr inter2) + => SafeExecution(() => MEOSExternalFunctions.synchronize_tsequenceset_tsequence(ss, seq, mode, inter1, inter2)); - public static bool npoint_ge(IntPtr np1, IntPtr np2) - => SafeExecution(() => MEOSExternalFunctions.npoint_ge(np1, np2)); + public static bool synchronize_tsequenceset_tsequenceset(IntPtr ss1, IntPtr ss2, IntPtr mode, IntPtr inter1, IntPtr inter2) + => SafeExecution(() => MEOSExternalFunctions.synchronize_tsequenceset_tsequenceset(ss1, ss2, mode, inter1, inter2)); - public static bool npoint_gt(IntPtr np1, IntPtr np2) - => SafeExecution(() => MEOSExternalFunctions.npoint_gt(np1, np2)); + public static bool intersection_tsequenceset_tinstant(IntPtr ss, IntPtr inst, IntPtr inter1, IntPtr inter2) + => SafeExecution(() => MEOSExternalFunctions.intersection_tsequenceset_tinstant(ss, inst, inter1, inter2)); - public static bool npoint_le(IntPtr np1, IntPtr np2) - => SafeExecution(() => MEOSExternalFunctions.npoint_le(np1, np2)); + public static bool intersection_tinstant_tsequenceset(IntPtr inst, IntPtr ss, IntPtr inter1, IntPtr inter2) + => SafeExecution(() => MEOSExternalFunctions.intersection_tinstant_tsequenceset(inst, ss, inter1, inter2)); - public static bool npoint_lt(IntPtr np1, IntPtr np2) - => SafeExecution(() => MEOSExternalFunctions.npoint_lt(np1, np2)); + public static bool intersection_tsequenceset_tdiscseq(IntPtr ss, IntPtr @is, IntPtr inter1, IntPtr inter2) + => SafeExecution(() => MEOSExternalFunctions.intersection_tsequenceset_tdiscseq(ss, @is, inter1, inter2)); - public static bool npoint_ne(IntPtr np1, IntPtr np2) - => SafeExecution(() => MEOSExternalFunctions.npoint_ne(np1, np2)); + public static bool intersection_tdiscseq_tsequenceset(IntPtr @is, IntPtr ss, IntPtr inter1, IntPtr inter2) + => SafeExecution(() => MEOSExternalFunctions.intersection_tdiscseq_tsequenceset(@is, ss, inter1, inter2)); - public static bool npoint_same(IntPtr np1, IntPtr np2) - => SafeExecution(() => MEOSExternalFunctions.npoint_same(np1, np2)); + public static bool intersection_tsequence_tsequenceset(IntPtr seq, IntPtr ss, IntPtr mode, IntPtr inter1, IntPtr inter2) + => SafeExecution(() => MEOSExternalFunctions.intersection_tsequence_tsequenceset(seq, ss, mode, inter1, inter2)); - public static int nsegment_cmp(IntPtr ns1, IntPtr ns2) - => SafeExecution(() => MEOSExternalFunctions.nsegment_cmp(ns1, ns2)); + public static string tsequenceset_to_string(IntPtr ss, int maxdd, IntPtr value_out) + => SafeExecution(() => MEOSExternalFunctions.tsequenceset_to_string(ss, maxdd, value_out)); - public static bool nsegment_eq(IntPtr ns1, IntPtr ns2) - => SafeExecution(() => MEOSExternalFunctions.nsegment_eq(ns1, ns2)); + public static long datum_textcat(long l, long r) + => SafeExecution(() => MEOSExternalFunctions.datum_textcat(l, r)); - public static bool nsegment_ge(IntPtr ns1, IntPtr ns2) - => SafeExecution(() => MEOSExternalFunctions.nsegment_ge(ns1, ns2)); + public static long datum_lower(long value) + => SafeExecution(() => MEOSExternalFunctions.datum_lower(value)); - public static bool nsegment_gt(IntPtr ns1, IntPtr ns2) - => SafeExecution(() => MEOSExternalFunctions.nsegment_gt(ns1, ns2)); + public static long datum_upper(long value) + => SafeExecution(() => MEOSExternalFunctions.datum_upper(value)); - public static bool nsegment_le(IntPtr ns1, IntPtr ns2) - => SafeExecution(() => MEOSExternalFunctions.nsegment_le(ns1, ns2)); + public static long datum_initcap(long value) + => SafeExecution(() => MEOSExternalFunctions.datum_initcap(value)); - public static bool nsegment_lt(IntPtr ns1, IntPtr ns2) - => SafeExecution(() => MEOSExternalFunctions.nsegment_lt(ns1, ns2)); + public static IntPtr textfunc_ttext(IntPtr temp, int func) + => SafeExecution(() => MEOSExternalFunctions.textfunc_ttext(temp, func)); - public static bool nsegment_ne(IntPtr ns1, IntPtr ns2) - => SafeExecution(() => MEOSExternalFunctions.nsegment_ne(ns1, ns2)); + public static IntPtr textfunc_ttext_text(IntPtr temp, long value, IntPtr func, bool invert) + => SafeExecution(() => MEOSExternalFunctions.textfunc_ttext_text(temp, value, func, invert)); - public static IntPtr npointset_in(string str) - => SafeExecution(() => MEOSExternalFunctions.npointset_in(str)); + public static IntPtr textfunc_ttext_ttext(IntPtr temp1, IntPtr temp2, IntPtr func) + => SafeExecution(() => MEOSExternalFunctions.textfunc_ttext_ttext(temp1, temp2, func)); - public static string npointset_out(IntPtr s, int maxdd) - => SafeExecution(() => MEOSExternalFunctions.npointset_out(s, maxdd)); + public static IntPtr datum_as_wkb(long value, int type, IntPtr variant, IntPtr size_out) + => SafeExecution(() => MEOSExternalFunctions.datum_as_wkb(value, type, variant, size_out)); - public static IntPtr npointset_make(IntPtr values, int count) - => SafeExecution(() => MEOSExternalFunctions.npointset_make(values, count)); + public static string datum_as_hexwkb(long value, int type, IntPtr variant, IntPtr size) + => SafeExecution(() => MEOSExternalFunctions.datum_as_hexwkb(value, type, variant, size)); - public static IntPtr npoint_to_set(IntPtr np) - => SafeExecution(() => MEOSExternalFunctions.npoint_to_set(np)); + public static long type_from_wkb(IntPtr wkb, IntPtr size, int type) + => SafeExecution(() => MEOSExternalFunctions.type_from_wkb(wkb, size, type)); - public static IntPtr npointset_end_value(IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.npointset_end_value(s)); + public static long type_from_hexwkb(string hexwkb, IntPtr size, int type) + => SafeExecution(() => MEOSExternalFunctions.type_from_hexwkb(hexwkb, size, type)); - public static IntPtr npointset_routes(IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.npointset_routes(s)); + public static bool ensure_end_input(IntPtr str, string type) + => SafeExecution(() => MEOSExternalFunctions.ensure_end_input(str, type)); - public static IntPtr npointset_start_value(IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.npointset_start_value(s)); + public static void p_whitespace(IntPtr str) + => SafeExecution(() => MEOSExternalFunctions.p_whitespace(str)); - public static bool npointset_value_n(IntPtr s, int n, IntPtr result) - => SafeExecution(() => MEOSExternalFunctions.npointset_value_n(s, n, result)); + public static bool p_delimchar(IntPtr str, byte delim) + => SafeExecution(() => MEOSExternalFunctions.p_delimchar(str, delim)); - public static IntPtr[] npointset_values(IntPtr s) - { - int _n = (int)MEOSExposedFunctions.set_num_values(s); - IntPtr _p = SafeExecution(() => MEOSExternalFunctions.npointset_values(s)); - IntPtr[] _out = new IntPtr[_n]; - for (int _i = 0; _i < _n; _i++) - { _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); } - return _out; - } + public static bool p_obrace(IntPtr str) + => SafeExecution(() => MEOSExternalFunctions.p_obrace(str)); - public static bool contained_npoint_set(IntPtr np, IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.contained_npoint_set(np, s)); + public static bool ensure_obrace(IntPtr str, string type) + => SafeExecution(() => MEOSExternalFunctions.ensure_obrace(str, type)); - public static bool contains_set_npoint(IntPtr s, IntPtr np) - => SafeExecution(() => MEOSExternalFunctions.contains_set_npoint(s, np)); + public static bool p_cbrace(IntPtr str) + => SafeExecution(() => MEOSExternalFunctions.p_cbrace(str)); - public static IntPtr intersection_npoint_set(IntPtr np, IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.intersection_npoint_set(np, s)); + public static bool ensure_cbrace(IntPtr str, string type) + => SafeExecution(() => MEOSExternalFunctions.ensure_cbrace(str, type)); - public static IntPtr intersection_set_npoint(IntPtr s, IntPtr np) - => SafeExecution(() => MEOSExternalFunctions.intersection_set_npoint(s, np)); + public static bool p_obracket(IntPtr str) + => SafeExecution(() => MEOSExternalFunctions.p_obracket(str)); - public static IntPtr minus_npoint_set(IntPtr np, IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.minus_npoint_set(np, s)); + public static bool p_cbracket(IntPtr str) + => SafeExecution(() => MEOSExternalFunctions.p_cbracket(str)); - public static IntPtr minus_set_npoint(IntPtr s, IntPtr np) - => SafeExecution(() => MEOSExternalFunctions.minus_set_npoint(s, np)); + public static bool p_oparen(IntPtr str) + => SafeExecution(() => MEOSExternalFunctions.p_oparen(str)); - public static IntPtr npoint_union_transfn(IntPtr state, IntPtr np) - => SafeExecution(() => MEOSExternalFunctions.npoint_union_transfn(state, np)); + public static bool ensure_oparen(IntPtr str, string type) + => SafeExecution(() => MEOSExternalFunctions.ensure_oparen(str, type)); - public static IntPtr union_npoint_set(IntPtr np, IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.union_npoint_set(np, s)); + public static bool p_cparen(IntPtr str) + => SafeExecution(() => MEOSExternalFunctions.p_cparen(str)); - public static IntPtr union_set_npoint(IntPtr s, IntPtr np) - => SafeExecution(() => MEOSExternalFunctions.union_set_npoint(s, np)); + public static bool ensure_cparen(IntPtr str, string type) + => SafeExecution(() => MEOSExternalFunctions.ensure_cparen(str, type)); - public static IntPtr tnpoint_in(string str) - => SafeExecution(() => MEOSExternalFunctions.tnpoint_in(str)); + public static bool p_comma(IntPtr str) + => SafeExecution(() => MEOSExternalFunctions.p_comma(str)); - public static string tnpoint_out(IntPtr temp, int maxdd) - => SafeExecution(() => MEOSExternalFunctions.tnpoint_out(temp, maxdd)); + public static bool basetype_parse(IntPtr str, int basetypid, byte delim, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.basetype_parse(str, basetypid, delim, result)); - public static IntPtr tnpointinst_make(IntPtr np, long t) - => SafeExecution(() => MEOSExternalFunctions.tnpointinst_make(np, t)); + public static bool double_parse(IntPtr str, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.double_parse(str, result)); - public static IntPtr tgeompoint_to_tnpoint(IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.tgeompoint_to_tnpoint(temp)); + public static bool elem_parse(IntPtr str, int basetype, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.elem_parse(str, basetype, result)); - public static IntPtr tnpoint_to_tgeompoint(IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.tnpoint_to_tgeompoint(temp)); + public static IntPtr set_parse(IntPtr str, int basetype) + => SafeExecution(() => MEOSExternalFunctions.set_parse(str, basetype)); - public static IntPtr tnpoint_cumulative_length(IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.tnpoint_cumulative_length(temp)); + public static bool span_parse(IntPtr str, int spantype, bool end, IntPtr span) + => SafeExecution(() => MEOSExternalFunctions.span_parse(str, spantype, end, span)); - public static double tnpoint_length(IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.tnpoint_length(temp)); + public static IntPtr spanset_parse(IntPtr str, int spantype) + => SafeExecution(() => MEOSExternalFunctions.spanset_parse(str, spantype)); - public static IntPtr tnpoint_positions(IntPtr temp, IntPtr count) - => SafeExecution(() => MEOSExternalFunctions.tnpoint_positions(temp, count)); + public static IntPtr tbox_parse(IntPtr str) + => SafeExecution(() => MEOSExternalFunctions.tbox_parse(str)); - public static long tnpoint_route(IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.tnpoint_route(temp)); + public static long timestamp_parse(IntPtr str) + => SafeExecution(() => MEOSExternalFunctions.timestamp_parse(str)); - public static IntPtr tnpoint_routes(IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.tnpoint_routes(temp)); + public static IntPtr tinstant_parse(IntPtr str, int temptype, bool end) + => SafeExecution(() => MEOSExternalFunctions.tinstant_parse(str, temptype, end)); - public static IntPtr tnpoint_speed(IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.tnpoint_speed(temp)); + public static IntPtr tdiscseq_parse(IntPtr str, int temptype) + => SafeExecution(() => MEOSExternalFunctions.tdiscseq_parse(str, temptype)); - public static IntPtr tnpoint_trajectory(IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.tnpoint_trajectory(temp)); + public static IntPtr tcontseq_parse(IntPtr str, int temptype, int interp, bool end) + => SafeExecution(() => MEOSExternalFunctions.tcontseq_parse(str, temptype, interp, end)); - public static IntPtr tnpoint_twcentroid(IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.tnpoint_twcentroid(temp)); + public static IntPtr tsequenceset_parse(IntPtr str, int temptype, int interp) + => SafeExecution(() => MEOSExternalFunctions.tsequenceset_parse(str, temptype, interp)); - public static IntPtr tnpoint_at_geom(IntPtr temp, IntPtr gs) - => SafeExecution(() => MEOSExternalFunctions.tnpoint_at_geom(temp, gs)); + public static IntPtr temporal_parse(IntPtr str, int temptype) + => SafeExecution(() => MEOSExternalFunctions.temporal_parse(str, temptype)); - public static IntPtr tnpoint_at_npoint(IntPtr temp, IntPtr np) - => SafeExecution(() => MEOSExternalFunctions.tnpoint_at_npoint(temp, np)); + public static long datum_copy(long value, int typid) + => SafeExecution(() => MEOSExternalFunctions.datum_copy(value, typid)); - public static IntPtr tnpoint_at_npointset(IntPtr temp, IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.tnpoint_at_npointset(temp, s)); + public static double datum_double(long d, int type) + => SafeExecution(() => MEOSExternalFunctions.datum_double(d, type)); - public static IntPtr tnpoint_at_stbox(IntPtr temp, IntPtr box, bool border_inc) - => SafeExecution(() => MEOSExternalFunctions.tnpoint_at_stbox(temp, box, border_inc)); + public static long double_datum(double d, int type) + => SafeExecution(() => MEOSExternalFunctions.double_datum(d, type)); - public static IntPtr tnpoint_minus_geom(IntPtr temp, IntPtr gs) - => SafeExecution(() => MEOSExternalFunctions.tnpoint_minus_geom(temp, gs)); + public static IntPtr bstring2bytea(IntPtr wkb, IntPtr size) + => SafeExecution(() => MEOSExternalFunctions.bstring2bytea(wkb, size)); - public static IntPtr tnpoint_minus_npoint(IntPtr temp, IntPtr np) - => SafeExecution(() => MEOSExternalFunctions.tnpoint_minus_npoint(temp, np)); + public static bool basetype_in(string str, int type, bool end, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.basetype_in(str, type, end, result)); - public static IntPtr tnpoint_minus_npointset(IntPtr temp, IntPtr s) - => SafeExecution(() => MEOSExternalFunctions.tnpoint_minus_npointset(temp, s)); + public static string basetype_out(long value, int type, int maxdd) + => SafeExecution(() => MEOSExternalFunctions.basetype_out(value, type, maxdd)); - public static IntPtr tnpoint_minus_stbox(IntPtr temp, IntPtr box, bool border_inc) - => SafeExecution(() => MEOSExternalFunctions.tnpoint_minus_stbox(temp, box, border_inc)); + public static void pfree_array(IntPtr array, int count) + => SafeExecution(() => MEOSExternalFunctions.pfree_array(array, count)); - public static IntPtr tdistance_tnpoint_npoint(IntPtr temp, IntPtr np) - => SafeExecution(() => MEOSExternalFunctions.tdistance_tnpoint_npoint(temp, np)); + public static bool string_escape(string str, int quotes, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.string_escape(str, quotes, result)); - public static IntPtr tdistance_tnpoint_point(IntPtr temp, IntPtr gs) - => SafeExecution(() => MEOSExternalFunctions.tdistance_tnpoint_point(temp, gs)); + public static ulong string_unescape(string str, IntPtr result) + => SafeExecution(() => MEOSExternalFunctions.string_unescape(str, result)); - public static IntPtr tdistance_tnpoint_tnpoint(IntPtr temp1, IntPtr temp2) - => SafeExecution(() => MEOSExternalFunctions.tdistance_tnpoint_tnpoint(temp1, temp2)); + public static string stringarr_to_string(IntPtr strings, int count, string prefix, byte open, byte close, int quotes, bool spaces) + => SafeExecution(() => MEOSExternalFunctions.stringarr_to_string(strings, count, prefix, open, close, quotes, spaces)); - public static double nad_tnpoint_geo(IntPtr temp, IntPtr gs) - => SafeExecution(() => MEOSExternalFunctions.nad_tnpoint_geo(temp, gs)); + public static void datumarr_sort(IntPtr values, int count, int basetype) + => SafeExecution(() => MEOSExternalFunctions.datumarr_sort(values, count, basetype)); - public static double nad_tnpoint_npoint(IntPtr temp, IntPtr np) - => SafeExecution(() => MEOSExternalFunctions.nad_tnpoint_npoint(temp, np)); + public static void tstzarr_sort(IntPtr times, int count) + => SafeExecution(() => MEOSExternalFunctions.tstzarr_sort(times, count)); - public static double nad_tnpoint_stbox(IntPtr temp, IntPtr box) - => SafeExecution(() => MEOSExternalFunctions.nad_tnpoint_stbox(temp, box)); + public static void spanarr_sort(IntPtr spans, int count) + => SafeExecution(() => MEOSExternalFunctions.spanarr_sort(spans, count)); - public static double nad_tnpoint_tnpoint(IntPtr temp1, IntPtr temp2) - => SafeExecution(() => MEOSExternalFunctions.nad_tnpoint_tnpoint(temp1, temp2)); + public static void tinstarr_sort(IntPtr instants, int count) + => SafeExecution(() => MEOSExternalFunctions.tinstarr_sort(instants, count)); - public static IntPtr nai_tnpoint_geo(IntPtr temp, IntPtr gs) - => SafeExecution(() => MEOSExternalFunctions.nai_tnpoint_geo(temp, gs)); + public static void tseqarr_sort(IntPtr sequences, int count) + => SafeExecution(() => MEOSExternalFunctions.tseqarr_sort(sequences, count)); - public static IntPtr nai_tnpoint_npoint(IntPtr temp, IntPtr np) - => SafeExecution(() => MEOSExternalFunctions.nai_tnpoint_npoint(temp, np)); + public static int datumarr_remove_duplicates(IntPtr values, int count, int basetype) + => SafeExecution(() => MEOSExternalFunctions.datumarr_remove_duplicates(values, count, basetype)); - public static IntPtr nai_tnpoint_tnpoint(IntPtr temp1, IntPtr temp2) - => SafeExecution(() => MEOSExternalFunctions.nai_tnpoint_tnpoint(temp1, temp2)); + public static int tstzarr_remove_duplicates(IntPtr values, int count) + => SafeExecution(() => MEOSExternalFunctions.tstzarr_remove_duplicates(values, count)); - public static IntPtr shortestline_tnpoint_geo(IntPtr temp, IntPtr gs) - => SafeExecution(() => MEOSExternalFunctions.shortestline_tnpoint_geo(temp, gs)); + public static int tinstarr_remove_duplicates(IntPtr instants, int count) + => SafeExecution(() => MEOSExternalFunctions.tinstarr_remove_duplicates(instants, count)); - public static IntPtr shortestline_tnpoint_npoint(IntPtr temp, IntPtr np) - => SafeExecution(() => MEOSExternalFunctions.shortestline_tnpoint_npoint(temp, np)); + public static long datum_add(long l, long r, int type) + => SafeExecution(() => MEOSExternalFunctions.datum_add(l, r, type)); - public static IntPtr shortestline_tnpoint_tnpoint(IntPtr temp1, IntPtr temp2) - => SafeExecution(() => MEOSExternalFunctions.shortestline_tnpoint_tnpoint(temp1, temp2)); + public static long datum_sub(long l, long r, int type) + => SafeExecution(() => MEOSExternalFunctions.datum_sub(l, r, type)); - public static IntPtr tnpoint_tcentroid_transfn(IntPtr state, IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.tnpoint_tcentroid_transfn(state, temp)); + public static long datum_mul(long l, long r, int type) + => SafeExecution(() => MEOSExternalFunctions.datum_mul(l, r, type)); - public static int always_eq_npoint_tnpoint(IntPtr np, IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.always_eq_npoint_tnpoint(np, temp)); + public static long datum_div(long l, long r, int type) + => SafeExecution(() => MEOSExternalFunctions.datum_div(l, r, type)); - public static int always_eq_tnpoint_npoint(IntPtr temp, IntPtr np) - => SafeExecution(() => MEOSExternalFunctions.always_eq_tnpoint_npoint(temp, np)); + public static int datum_cmp(long l, long r, int type) + => SafeExecution(() => MEOSExternalFunctions.datum_cmp(l, r, type)); - public static int always_eq_tnpoint_tnpoint(IntPtr temp1, IntPtr temp2) - => SafeExecution(() => MEOSExternalFunctions.always_eq_tnpoint_tnpoint(temp1, temp2)); + public static bool datum_eq(long l, long r, int type) + => SafeExecution(() => MEOSExternalFunctions.datum_eq(l, r, type)); - public static int always_ne_npoint_tnpoint(IntPtr np, IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.always_ne_npoint_tnpoint(np, temp)); + public static bool datum_ne(long l, long r, int type) + => SafeExecution(() => MEOSExternalFunctions.datum_ne(l, r, type)); - public static int always_ne_tnpoint_npoint(IntPtr temp, IntPtr np) - => SafeExecution(() => MEOSExternalFunctions.always_ne_tnpoint_npoint(temp, np)); + public static bool datum_lt(long l, long r, int type) + => SafeExecution(() => MEOSExternalFunctions.datum_lt(l, r, type)); - public static int always_ne_tnpoint_tnpoint(IntPtr temp1, IntPtr temp2) - => SafeExecution(() => MEOSExternalFunctions.always_ne_tnpoint_tnpoint(temp1, temp2)); + public static bool datum_le(long l, long r, int type) + => SafeExecution(() => MEOSExternalFunctions.datum_le(l, r, type)); - public static int ever_eq_npoint_tnpoint(IntPtr np, IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.ever_eq_npoint_tnpoint(np, temp)); + public static bool datum_gt(long l, long r, int type) + => SafeExecution(() => MEOSExternalFunctions.datum_gt(l, r, type)); - public static int ever_eq_tnpoint_npoint(IntPtr temp, IntPtr np) - => SafeExecution(() => MEOSExternalFunctions.ever_eq_tnpoint_npoint(temp, np)); + public static bool datum_ge(long l, long r, int type) + => SafeExecution(() => MEOSExternalFunctions.datum_ge(l, r, type)); - public static int ever_eq_tnpoint_tnpoint(IntPtr temp1, IntPtr temp2) - => SafeExecution(() => MEOSExternalFunctions.ever_eq_tnpoint_tnpoint(temp1, temp2)); + public static long datum2_eq(long l, long r, int type) + => SafeExecution(() => MEOSExternalFunctions.datum2_eq(l, r, type)); - public static int ever_ne_npoint_tnpoint(IntPtr np, IntPtr temp) - => SafeExecution(() => MEOSExternalFunctions.ever_ne_npoint_tnpoint(np, temp)); + public static long datum2_ne(long l, long r, int type) + => SafeExecution(() => MEOSExternalFunctions.datum2_ne(l, r, type)); - public static int ever_ne_tnpoint_npoint(IntPtr temp, IntPtr np) - => SafeExecution(() => MEOSExternalFunctions.ever_ne_tnpoint_npoint(temp, np)); + public static long datum2_lt(long l, long r, int type) + => SafeExecution(() => MEOSExternalFunctions.datum2_lt(l, r, type)); - public static int ever_ne_tnpoint_tnpoint(IntPtr temp1, IntPtr temp2) - => SafeExecution(() => MEOSExternalFunctions.ever_ne_tnpoint_tnpoint(temp1, temp2)); + public static long datum2_le(long l, long r, int type) + => SafeExecution(() => MEOSExternalFunctions.datum2_le(l, r, type)); - public static IntPtr teq_tnpoint_npoint(IntPtr temp, IntPtr np) - => SafeExecution(() => MEOSExternalFunctions.teq_tnpoint_npoint(temp, np)); + public static long datum2_gt(long l, long r, int type) + => SafeExecution(() => MEOSExternalFunctions.datum2_gt(l, r, type)); - public static IntPtr tne_tnpoint_npoint(IntPtr temp, IntPtr np) - => SafeExecution(() => MEOSExternalFunctions.tne_tnpoint_npoint(temp, np)); + public static long datum2_ge(long l, long r, int type) + => SafeExecution(() => MEOSExternalFunctions.datum2_ge(l, r, type)); + + public static double hypot3d(double x, double y, double z) + => SafeExecution(() => MEOSExternalFunctions.hypot3d(x, y, z)); } } diff --git a/MEOS.NET/Internal/MEOSExternalFunctions.cs b/MEOS.NET/Internal/MEOSExternalFunctions.cs index 72c2880..fe52940 100644 --- a/MEOS.NET/Internal/MEOSExternalFunctions.cs +++ b/MEOS.NET/Internal/MEOSExternalFunctions.cs @@ -13,37 +13,43 @@ private partial class MEOSExternalFunctions private const string DllPath = "meos"; [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int date_in(string str); + public static partial void meos_error(int errlevel, int errcode, string format); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial string date_out(int d); + public static partial int meos_errno(); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int interval_cmp(IntPtr interv1, IntPtr interv2); + public static partial int meos_errno_set(int err); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr interval_in(string str, int typmod); + public static partial int meos_errno_restore(int err); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial string interval_out(IntPtr interv); + public static partial int meos_errno_reset(); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial long time_in(string str, int typmod); + public static partial IntPtr meos_array_create(int elem_size); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial string time_out(long t); + public static partial void meos_array_add(IntPtr array, IntPtr value); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial long timestamp_in(string str, int typmod); + public static partial IntPtr meos_array_get(IntPtr array, int n); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial string timestamp_out(long t); + public static partial int meos_array_count(IntPtr array); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial long timestamptz_in(string str, int typmod); + public static partial void meos_array_reset(IntPtr array); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void meos_array_reset_free(IntPtr array); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void meos_array_destroy(IntPtr array); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial string timestamptz_out(long t); + public static partial void meos_array_destroy_free(IntPtr array); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr rtree_create_intspan(); @@ -70,35 +76,44 @@ private partial class MEOSExternalFunctions public static partial void rtree_free(IntPtr rtree); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void rtree_insert(IntPtr rtree, IntPtr box, long id); + public static partial void rtree_insert(IntPtr rtree, IntPtr box, int id); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr rtree_search(IntPtr rtree, IntPtr query, IntPtr count); + public static partial void rtree_insert_temporal(IntPtr rtree, IntPtr temp, int id); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void meos_error(int errlevel, int errcode, string format); + public static partial void rtree_insert_temporal_split(IntPtr rtree, IntPtr temp, int id, int maxboxes); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int meos_errno(); + public static partial int rtree_search(IntPtr rtree, IntPtr op, IntPtr query, IntPtr result); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int meos_errno_set(int err); + public static partial int rtree_search_temporal(IntPtr rtree, IntPtr op, IntPtr temp, IntPtr result); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int meos_errno_restore(int err); + public static partial int rtree_search_temporal_dedup(IntPtr rtree, IntPtr op, IntPtr temp, int maxboxes, IntPtr result); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int meos_errno_reset(); + public static partial void meos_initialize_error_handler(IntPtr err_handler); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void meos_initialize_allocator(IntPtr malloc_fn, IntPtr realloc_fn, IntPtr free_fn); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void meos_initialize_noexit_error_handler(); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial void meos_initialize_timezone(string name); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void meos_initialize_error_handler(IntPtr err_handler); + public static partial void meos_initialize_collation(); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial void meos_finalize_timezone(); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void meos_finalize_collation(); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial void meos_finalize_projsrs(); @@ -123,137 +138,13 @@ private partial class MEOSExternalFunctions public static partial void meos_set_spatial_ref_sys_csv(string path); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void meos_initialize(); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void meos_finalize(); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int add_date_int(int d, int days); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr add_interval_interval(IntPtr interv1, IntPtr interv2); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial long add_timestamptz_interval(long t, IntPtr interv); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool bool_in(string str); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial string bool_out([MarshalAs(UnmanagedType.U1)] bool b); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr cstring2text(string str); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial long date_to_timestamp(int dateVal); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial long date_to_timestamptz(int d); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial double float_exp(double d); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial double float_ln(double d); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial double float_log10(double d); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial string float8_out(double d, int maxdd); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial double float_round(double d, int maxdd); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int int32_cmp(int l, int r); + public static partial void meos_set_ways_csv(string path); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int int64_cmp(long l, long r); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr interval_make(int years, int months, int weeks, int days, int hours, int mins, double secs); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int minus_date_date(int d1, int d2); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int minus_date_int(int d, int days); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial long minus_timestamptz_interval(long t, IntPtr interv); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr minus_timestamptz_timestamptz(long t1, long t2); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr mul_interval_double(IntPtr interv, double factor); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int pg_date_in(string str); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial string pg_date_out(int d); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int pg_interval_cmp(IntPtr interv1, IntPtr interv2); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr pg_interval_in(string str, int typmod); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial string pg_interval_out(IntPtr interv); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial long pg_timestamp_in(string str, int typmod); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial string pg_timestamp_out(long t); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial long pg_timestamptz_in(string str, int typmod); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial string pg_timestamptz_out(long t); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial string text2cstring(IntPtr txt); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int text_cmp(IntPtr txt1, IntPtr txt2); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr text_copy(IntPtr txt); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr text_in(string str); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr text_initcap(IntPtr txt); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr text_lower(IntPtr txt); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial string text_out(IntPtr txt); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr text_upper(IntPtr txt); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr textcat_text_text(IntPtr txt1, IntPtr txt2); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial long timestamptz_shift(long t, IntPtr interv); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int timestamp_to_date(long t); + public static partial void meos_initialize(); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int timestamptz_to_date(long t); + public static partial void meos_finalize(); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr bigintset_in(string str); @@ -262,7 +153,7 @@ private partial class MEOSExternalFunctions public static partial string bigintset_out(IntPtr set); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr bigintspan_expand(IntPtr s, long value); + public static partial IntPtr bigintspan_expand(IntPtr s, IntPtr value); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr bigintspan_in(string str); @@ -400,7 +291,7 @@ private partial class MEOSExternalFunctions public static partial IntPtr bigintset_make(IntPtr values, int count); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr bigintspan_make(long lower, long upper, [MarshalAs(UnmanagedType.U1)] bool lower_inc, [MarshalAs(UnmanagedType.U1)] bool upper_inc); + public static partial IntPtr bigintspan_make(IntPtr lower, IntPtr upper, [MarshalAs(UnmanagedType.U1)] bool lower_inc, [MarshalAs(UnmanagedType.U1)] bool upper_inc); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr dateset_make(IntPtr values, int count); @@ -442,7 +333,7 @@ private partial class MEOSExternalFunctions public static partial IntPtr tstzspan_make(long lower, long upper, [MarshalAs(UnmanagedType.U1)] bool lower_inc, [MarshalAs(UnmanagedType.U1)] bool upper_inc); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr bigint_to_set(long i); + public static partial IntPtr bigint_to_set(IntPtr i); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr bigint_to_span(int i); @@ -483,6 +374,9 @@ private partial class MEOSExternalFunctions [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr floatspan_to_intspan(IntPtr s); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr floatspan_to_bigintspan(IntPtr s); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr floatspanset_to_intspanset(IntPtr ss); @@ -501,6 +395,15 @@ private partial class MEOSExternalFunctions [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr intspan_to_floatspan(IntPtr s); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr intspan_to_bigintspan(IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr bigintspan_to_intspan(IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr bigintspan_to_floatspan(IntPtr s); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr intspanset_to_floatspanset(IntPtr ss); @@ -535,35 +438,35 @@ private partial class MEOSExternalFunctions public static partial IntPtr tstzspanset_to_datespanset(IntPtr ss); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial long bigintset_end_value(IntPtr s); + public static partial IntPtr bigintset_end_value(IntPtr s); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial long bigintset_start_value(IntPtr s); + public static partial IntPtr bigintset_start_value(IntPtr s); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] public static partial bool bigintset_value_n(IntPtr s, int n, IntPtr result); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr bigintset_values(IntPtr s); + public static partial IntPtr bigintset_values(IntPtr s, IntPtr count); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial long bigintspan_lower(IntPtr s); + public static partial IntPtr bigintspan_lower(IntPtr s); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial long bigintspan_upper(IntPtr s); + public static partial IntPtr bigintspan_upper(IntPtr s); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial long bigintspan_width(IntPtr s); + public static partial IntPtr bigintspan_width(IntPtr s); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial long bigintspanset_lower(IntPtr ss); + public static partial IntPtr bigintspanset_lower(IntPtr ss); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial long bigintspanset_upper(IntPtr ss); + public static partial IntPtr bigintspanset_upper(IntPtr ss); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial long bigintspanset_width(IntPtr ss, [MarshalAs(UnmanagedType.U1)] bool boundspan); + public static partial IntPtr bigintspanset_width(IntPtr ss, [MarshalAs(UnmanagedType.U1)] bool boundspan); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial int dateset_end_value(IntPtr s); @@ -576,7 +479,7 @@ private partial class MEOSExternalFunctions public static partial bool dateset_value_n(IntPtr s, int n, IntPtr result); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr dateset_values(IntPtr s); + public static partial IntPtr dateset_values(IntPtr s, IntPtr count); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr datespan_duration(IntPtr s); @@ -617,7 +520,7 @@ private partial class MEOSExternalFunctions public static partial bool floatset_value_n(IntPtr s, int n, IntPtr result); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr floatset_values(IntPtr s); + public static partial IntPtr floatset_values(IntPtr s, IntPtr count); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial double floatspan_lower(IntPtr s); @@ -648,7 +551,7 @@ private partial class MEOSExternalFunctions public static partial bool intset_value_n(IntPtr s, int n, IntPtr result); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr intset_values(IntPtr s); + public static partial IntPtr intset_values(IntPtr s, IntPtr count); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial int intspan_lower(IntPtr s); @@ -669,19 +572,19 @@ private partial class MEOSExternalFunctions public static partial int intspanset_width(IntPtr ss, [MarshalAs(UnmanagedType.U1)] bool boundspan); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial uint set_hash(IntPtr s); + public static partial int set_hash(IntPtr s); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial ulong set_hash_extended(IntPtr s, ulong seed); + public static partial IntPtr set_hash_extended(IntPtr s, IntPtr seed); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial int set_num_values(IntPtr s); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial uint span_hash(IntPtr s); + public static partial int span_hash(IntPtr s); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial ulong span_hash_extended(IntPtr s, ulong seed); + public static partial IntPtr span_hash_extended(IntPtr s, IntPtr seed); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] @@ -695,10 +598,10 @@ private partial class MEOSExternalFunctions public static partial IntPtr spanset_end_span(IntPtr ss); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial uint spanset_hash(IntPtr ss); + public static partial int spanset_hash(IntPtr ss); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial ulong spanset_hash_extended(IntPtr ss, ulong seed); + public static partial IntPtr spanset_hash_extended(IntPtr ss, IntPtr seed); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] @@ -714,7 +617,7 @@ private partial class MEOSExternalFunctions public static partial IntPtr spanset_span_n(IntPtr ss, int i); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr spanset_spanarr(IntPtr ss); + public static partial IntPtr spanset_spanarr(IntPtr ss, IntPtr count); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr spanset_start_span(IntPtr ss); @@ -734,7 +637,7 @@ private partial class MEOSExternalFunctions public static partial bool textset_value_n(IntPtr s, int n, IntPtr result); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr textset_values(IntPtr s); + public static partial IntPtr textset_values(IntPtr s, IntPtr count); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial long tstzset_end_value(IntPtr s); @@ -747,7 +650,7 @@ private partial class MEOSExternalFunctions public static partial bool tstzset_value_n(IntPtr s, int n, IntPtr result); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tstzset_values(IntPtr s); + public static partial IntPtr tstzset_values(IntPtr s, IntPtr count); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr tstzspan_duration(IntPtr s); @@ -784,13 +687,13 @@ private partial class MEOSExternalFunctions public static partial long tstzspanset_upper(IntPtr ss); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr bigintset_shift_scale(IntPtr s, long shift, long width, [MarshalAs(UnmanagedType.U1)] bool hasshift, [MarshalAs(UnmanagedType.U1)] bool haswidth); + public static partial IntPtr bigintset_shift_scale(IntPtr s, IntPtr shift, IntPtr width, [MarshalAs(UnmanagedType.U1)] bool hasshift, [MarshalAs(UnmanagedType.U1)] bool haswidth); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr bigintspan_shift_scale(IntPtr s, long shift, long width, [MarshalAs(UnmanagedType.U1)] bool hasshift, [MarshalAs(UnmanagedType.U1)] bool haswidth); + public static partial IntPtr bigintspan_shift_scale(IntPtr s, IntPtr shift, IntPtr width, [MarshalAs(UnmanagedType.U1)] bool hasshift, [MarshalAs(UnmanagedType.U1)] bool haswidth); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr bigintspanset_shift_scale(IntPtr ss, long shift, long width, [MarshalAs(UnmanagedType.U1)] bool hasshift, [MarshalAs(UnmanagedType.U1)] bool haswidth); + public static partial IntPtr bigintspanset_shift_scale(IntPtr ss, IntPtr shift, IntPtr width, [MarshalAs(UnmanagedType.U1)] bool hasshift, [MarshalAs(UnmanagedType.U1)] bool haswidth); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr dateset_shift_scale(IntPtr s, int shift, int width, [MarshalAs(UnmanagedType.U1)] bool hasshift, [MarshalAs(UnmanagedType.U1)] bool haswidth); @@ -985,7 +888,7 @@ private partial class MEOSExternalFunctions public static partial bool spanset_ne(IntPtr ss1, IntPtr ss2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr set_spans(IntPtr s); + public static partial IntPtr set_spans(IntPtr s, IntPtr count); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr set_split_each_n_spans(IntPtr s, int elems_per_span, IntPtr count); @@ -994,7 +897,7 @@ private partial class MEOSExternalFunctions public static partial IntPtr set_split_n_spans(IntPtr s, int span_count, IntPtr count); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr spanset_spans(IntPtr ss); + public static partial IntPtr spanset_spans(IntPtr ss, IntPtr count); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr spanset_split_each_n_spans(IntPtr ss, int elems_per_span, IntPtr count); @@ -1004,7 +907,7 @@ private partial class MEOSExternalFunctions [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool adjacent_span_bigint(IntPtr s, long i); + public static partial bool adjacent_span_bigint(IntPtr s, IntPtr i); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] @@ -1032,7 +935,7 @@ private partial class MEOSExternalFunctions [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool adjacent_spanset_bigint(IntPtr ss, long i); + public static partial bool adjacent_spanset_bigint(IntPtr ss, IntPtr i); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] @@ -1060,15 +963,15 @@ private partial class MEOSExternalFunctions [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool contained_bigint_set(long i, IntPtr s); + public static partial bool contained_bigint_set(IntPtr i, IntPtr s); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool contained_bigint_span(long i, IntPtr s); + public static partial bool contained_bigint_span(IntPtr i, IntPtr s); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool contained_bigint_spanset(long i, IntPtr ss); + public static partial bool contained_bigint_spanset(IntPtr i, IntPtr ss); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] @@ -1144,7 +1047,7 @@ private partial class MEOSExternalFunctions [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool contains_set_bigint(IntPtr s, long i); + public static partial bool contains_set_bigint(IntPtr s, IntPtr i); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] @@ -1172,7 +1075,7 @@ private partial class MEOSExternalFunctions [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool contains_span_bigint(IntPtr s, long i); + public static partial bool contains_span_bigint(IntPtr s, IntPtr i); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] @@ -1200,7 +1103,7 @@ private partial class MEOSExternalFunctions [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool contains_spanset_bigint(IntPtr ss, long i); + public static partial bool contains_spanset_bigint(IntPtr ss, IntPtr i); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] @@ -1246,6 +1149,10 @@ private partial class MEOSExternalFunctions [return: MarshalAs(UnmanagedType.U1)] public static partial bool overlaps_spanset_spanset(IntPtr ss1, IntPtr ss2); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool same_span_span(IntPtr s1, IntPtr s2); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] public static partial bool after_date_set(int d, IntPtr s); @@ -1344,15 +1251,15 @@ private partial class MEOSExternalFunctions [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool left_bigint_set(long i, IntPtr s); + public static partial bool left_bigint_set(IntPtr i, IntPtr s); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool left_bigint_span(long i, IntPtr s); + public static partial bool left_bigint_span(IntPtr i, IntPtr s); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool left_bigint_spanset(long i, IntPtr ss); + public static partial bool left_bigint_spanset(IntPtr i, IntPtr ss); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] @@ -1380,7 +1287,7 @@ private partial class MEOSExternalFunctions [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool left_set_bigint(IntPtr s, long i); + public static partial bool left_set_bigint(IntPtr s, IntPtr i); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] @@ -1400,7 +1307,7 @@ private partial class MEOSExternalFunctions [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool left_span_bigint(IntPtr s, long i); + public static partial bool left_span_bigint(IntPtr s, IntPtr i); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] @@ -1420,7 +1327,7 @@ private partial class MEOSExternalFunctions [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool left_spanset_bigint(IntPtr ss, long i); + public static partial bool left_spanset_bigint(IntPtr ss, IntPtr i); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] @@ -1540,15 +1447,15 @@ private partial class MEOSExternalFunctions [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool overleft_bigint_set(long i, IntPtr s); + public static partial bool overleft_bigint_set(IntPtr i, IntPtr s); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool overleft_bigint_span(long i, IntPtr s); + public static partial bool overleft_bigint_span(IntPtr i, IntPtr s); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool overleft_bigint_spanset(long i, IntPtr ss); + public static partial bool overleft_bigint_spanset(IntPtr i, IntPtr ss); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] @@ -1576,7 +1483,7 @@ private partial class MEOSExternalFunctions [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool overleft_set_bigint(IntPtr s, long i); + public static partial bool overleft_set_bigint(IntPtr s, IntPtr i); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] @@ -1596,7 +1503,7 @@ private partial class MEOSExternalFunctions [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool overleft_span_bigint(IntPtr s, long i); + public static partial bool overleft_span_bigint(IntPtr s, IntPtr i); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] @@ -1616,7 +1523,7 @@ private partial class MEOSExternalFunctions [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool overleft_spanset_bigint(IntPtr ss, long i); + public static partial bool overleft_spanset_bigint(IntPtr ss, IntPtr i); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] @@ -1640,15 +1547,15 @@ private partial class MEOSExternalFunctions [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool overright_bigint_set(long i, IntPtr s); + public static partial bool overright_bigint_set(IntPtr i, IntPtr s); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool overright_bigint_span(long i, IntPtr s); + public static partial bool overright_bigint_span(IntPtr i, IntPtr s); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool overright_bigint_spanset(long i, IntPtr ss); + public static partial bool overright_bigint_spanset(IntPtr i, IntPtr ss); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] @@ -1676,7 +1583,7 @@ private partial class MEOSExternalFunctions [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool overright_set_bigint(IntPtr s, long i); + public static partial bool overright_set_bigint(IntPtr s, IntPtr i); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] @@ -1696,7 +1603,7 @@ private partial class MEOSExternalFunctions [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool overright_span_bigint(IntPtr s, long i); + public static partial bool overright_span_bigint(IntPtr s, IntPtr i); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] @@ -1716,7 +1623,7 @@ private partial class MEOSExternalFunctions [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool overright_spanset_bigint(IntPtr ss, long i); + public static partial bool overright_spanset_bigint(IntPtr ss, IntPtr i); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] @@ -1740,15 +1647,15 @@ private partial class MEOSExternalFunctions [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool right_bigint_set(long i, IntPtr s); + public static partial bool right_bigint_set(IntPtr i, IntPtr s); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool right_bigint_span(long i, IntPtr s); + public static partial bool right_bigint_span(IntPtr i, IntPtr s); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool right_bigint_spanset(long i, IntPtr ss); + public static partial bool right_bigint_spanset(IntPtr i, IntPtr ss); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] @@ -1776,7 +1683,7 @@ private partial class MEOSExternalFunctions [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool right_set_bigint(IntPtr s, long i); + public static partial bool right_set_bigint(IntPtr s, IntPtr i); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] @@ -1796,7 +1703,7 @@ private partial class MEOSExternalFunctions [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool right_span_bigint(IntPtr s, long i); + public static partial bool right_span_bigint(IntPtr s, IntPtr i); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] @@ -1816,7 +1723,7 @@ private partial class MEOSExternalFunctions [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool right_spanset_bigint(IntPtr ss, long i); + public static partial bool right_spanset_bigint(IntPtr ss, IntPtr i); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] @@ -1839,7 +1746,7 @@ private partial class MEOSExternalFunctions public static partial bool right_text_set(IntPtr txt, IntPtr s); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr intersection_bigint_set(long i, IntPtr s); + public static partial IntPtr intersection_bigint_set(IntPtr i, IntPtr s); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr intersection_date_set(int d, IntPtr s); @@ -1851,7 +1758,7 @@ private partial class MEOSExternalFunctions public static partial IntPtr intersection_int_set(int i, IntPtr s); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr intersection_set_bigint(IntPtr s, long i); + public static partial IntPtr intersection_set_bigint(IntPtr s, IntPtr i); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr intersection_set_date(IntPtr s, int d); @@ -1872,7 +1779,7 @@ private partial class MEOSExternalFunctions public static partial IntPtr intersection_set_timestamptz(IntPtr s, long t); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr intersection_span_bigint(IntPtr s, long i); + public static partial IntPtr intersection_span_bigint(IntPtr s, IntPtr i); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr intersection_span_date(IntPtr s, int d); @@ -1893,7 +1800,7 @@ private partial class MEOSExternalFunctions public static partial IntPtr intersection_span_timestamptz(IntPtr s, long t); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr intersection_spanset_bigint(IntPtr ss, long i); + public static partial IntPtr intersection_spanset_bigint(IntPtr ss, IntPtr i); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr intersection_spanset_date(IntPtr ss, int d); @@ -1920,13 +1827,13 @@ private partial class MEOSExternalFunctions public static partial IntPtr intersection_timestamptz_set(long t, IntPtr s); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr minus_bigint_set(long i, IntPtr s); + public static partial IntPtr minus_bigint_set(IntPtr i, IntPtr s); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr minus_bigint_span(long i, IntPtr s); + public static partial IntPtr minus_bigint_span(IntPtr i, IntPtr s); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr minus_bigint_spanset(long i, IntPtr ss); + public static partial IntPtr minus_bigint_spanset(IntPtr i, IntPtr ss); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr minus_date_set(int d, IntPtr s); @@ -1956,7 +1863,7 @@ private partial class MEOSExternalFunctions public static partial IntPtr minus_int_spanset(int i, IntPtr ss); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr minus_set_bigint(IntPtr s, long i); + public static partial IntPtr minus_set_bigint(IntPtr s, IntPtr i); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr minus_set_date(IntPtr s, int d); @@ -1977,7 +1884,7 @@ private partial class MEOSExternalFunctions public static partial IntPtr minus_set_timestamptz(IntPtr s, long t); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr minus_span_bigint(IntPtr s, long i); + public static partial IntPtr minus_span_bigint(IntPtr s, IntPtr i); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr minus_span_date(IntPtr s, int d); @@ -1998,7 +1905,7 @@ private partial class MEOSExternalFunctions public static partial IntPtr minus_span_timestamptz(IntPtr s, long t); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr minus_spanset_bigint(IntPtr ss, long i); + public static partial IntPtr minus_spanset_bigint(IntPtr ss, IntPtr i); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr minus_spanset_date(IntPtr ss, int d); @@ -2031,13 +1938,13 @@ private partial class MEOSExternalFunctions public static partial IntPtr minus_timestamptz_spanset(long t, IntPtr ss); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr union_bigint_set(long i, IntPtr s); + public static partial IntPtr union_bigint_set(IntPtr i, IntPtr s); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr union_bigint_span(IntPtr s, long i); + public static partial IntPtr union_bigint_span(IntPtr s, IntPtr i); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr union_bigint_spanset(long i, IntPtr ss); + public static partial IntPtr union_bigint_spanset(IntPtr i, IntPtr ss); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr union_date_set(int d, IntPtr s); @@ -2067,7 +1974,7 @@ private partial class MEOSExternalFunctions public static partial IntPtr union_int_spanset(int i, IntPtr ss); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr union_set_bigint(IntPtr s, long i); + public static partial IntPtr union_set_bigint(IntPtr s, IntPtr i); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr union_set_date(IntPtr s, int d); @@ -2088,7 +1995,7 @@ private partial class MEOSExternalFunctions public static partial IntPtr union_set_timestamptz(IntPtr s, long t); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr union_span_bigint(IntPtr s, long i); + public static partial IntPtr union_span_bigint(IntPtr s, IntPtr i); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr union_span_date(IntPtr s, int d); @@ -2102,6 +2009,9 @@ private partial class MEOSExternalFunctions [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr union_span_span(IntPtr s1, IntPtr s2); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr super_union_span_span(IntPtr s1, IntPtr s2); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr union_span_spanset(IntPtr s, IntPtr ss); @@ -2109,7 +2019,7 @@ private partial class MEOSExternalFunctions public static partial IntPtr union_span_timestamptz(IntPtr s, long t); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr union_spanset_bigint(IntPtr ss, long i); + public static partial IntPtr union_spanset_bigint(IntPtr ss, IntPtr i); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr union_spanset_date(IntPtr ss, int d); @@ -2142,16 +2052,16 @@ private partial class MEOSExternalFunctions public static partial IntPtr union_timestamptz_spanset(long t, IntPtr ss); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial long distance_bigintset_bigintset(IntPtr s1, IntPtr s2); + public static partial IntPtr distance_bigintset_bigintset(IntPtr s1, IntPtr s2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial long distance_bigintspan_bigintspan(IntPtr s1, IntPtr s2); + public static partial IntPtr distance_bigintspan_bigintspan(IntPtr s1, IntPtr s2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial long distance_bigintspanset_bigintspan(IntPtr ss, IntPtr s); + public static partial IntPtr distance_bigintspanset_bigintspan(IntPtr ss, IntPtr s); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial long distance_bigintspanset_bigintspanset(IntPtr ss1, IntPtr ss2); + public static partial IntPtr distance_bigintspanset_bigintspanset(IntPtr ss1, IntPtr ss2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial int distance_dateset_dateset(IntPtr s1, IntPtr s2); @@ -2190,7 +2100,7 @@ private partial class MEOSExternalFunctions public static partial int distance_intspanset_intspanset(IntPtr ss1, IntPtr ss2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial long distance_set_bigint(IntPtr s, long i); + public static partial IntPtr distance_set_bigint(IntPtr s, IntPtr i); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial int distance_set_date(IntPtr s, int d); @@ -2205,7 +2115,7 @@ private partial class MEOSExternalFunctions public static partial double distance_set_timestamptz(IntPtr s, long t); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial long distance_span_bigint(IntPtr s, long i); + public static partial IntPtr distance_span_bigint(IntPtr s, IntPtr i); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial int distance_span_date(IntPtr s, int d); @@ -2220,7 +2130,7 @@ private partial class MEOSExternalFunctions public static partial double distance_span_timestamptz(IntPtr s, long t); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial long distance_spanset_bigint(IntPtr ss, long i); + public static partial IntPtr distance_spanset_bigint(IntPtr ss, IntPtr i); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial int distance_spanset_date(IntPtr ss, int d); @@ -2247,10 +2157,10 @@ private partial class MEOSExternalFunctions public static partial double distance_tstzspanset_tstzspanset(IntPtr ss1, IntPtr ss2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr bigint_extent_transfn(IntPtr state, long i); + public static partial IntPtr bigint_extent_transfn(IntPtr state, IntPtr i); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr bigint_union_transfn(IntPtr state, long i); + public static partial IntPtr bigint_union_transfn(IntPtr state, IntPtr i); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr date_extent_transfn(IntPtr state, int d); @@ -2304,13 +2214,13 @@ private partial class MEOSExternalFunctions public static partial IntPtr timestamptz_union_transfn(IntPtr state, long t); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial long bigint_get_bin(long value, long vsize, long vorigin); + public static partial IntPtr bigint_get_bin(IntPtr value, IntPtr vsize, IntPtr vorigin); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr bigintspan_bins(IntPtr s, long vsize, long vorigin, IntPtr count); + public static partial IntPtr bigintspan_bins(IntPtr s, IntPtr vsize, IntPtr vorigin, IntPtr count); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr bigintspanset_bins(IntPtr ss, long vsize, long vorigin, IntPtr count); + public static partial IntPtr bigintspanset_bins(IntPtr ss, IntPtr vsize, IntPtr vorigin, IntPtr count); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial int date_get_bin(int d, IntPtr duration, int torigin); @@ -2349,7 +2259,7 @@ private partial class MEOSExternalFunctions public static partial IntPtr tstzspanset_bins(IntPtr ss, IntPtr duration, long torigin, IntPtr count); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial string tbox_as_hexwkb(IntPtr box, IntPtr variant, IntPtr size); + public static partial string tbox_as_hexwkb(IntPtr box, IntPtr variant, IntPtr size_out); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr tbox_as_wkb(IntPtr box, IntPtr variant, IntPtr size_out); @@ -2375,9 +2285,15 @@ private partial class MEOSExternalFunctions [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr int_timestamptz_to_tbox(int i, long t); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr bigint_timestamptz_to_tbox(IntPtr i, long t); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr int_tstzspan_to_tbox(int i, IntPtr s); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr bigint_tstzspan_to_tbox(IntPtr i, IntPtr s); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr numspan_tstzspan_to_tbox(IntPtr span, IntPtr s); @@ -2396,6 +2312,9 @@ private partial class MEOSExternalFunctions [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr int_to_tbox(int i); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr bigint_to_tbox(IntPtr i); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr set_to_tbox(IntPtr s); @@ -2408,6 +2327,9 @@ private partial class MEOSExternalFunctions [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr tbox_to_intspan(IntPtr box); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tbox_to_bigintspan(IntPtr box); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr tbox_to_floatspan(IntPtr box); @@ -2418,10 +2340,10 @@ private partial class MEOSExternalFunctions public static partial IntPtr timestamptz_to_tbox(long t); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial uint tbox_hash(IntPtr box); + public static partial int tbox_hash(IntPtr box); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial ulong tbox_hash_extended(IntPtr box, ulong seed); + public static partial IntPtr tbox_hash_extended(IntPtr box, IntPtr seed); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] @@ -2475,10 +2397,24 @@ private partial class MEOSExternalFunctions [return: MarshalAs(UnmanagedType.U1)] public static partial bool tboxint_xmax(IntPtr box, IntPtr result); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tboxbigint_xmax(IntPtr box, IntPtr result); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] public static partial bool tboxint_xmin(IntPtr box, IntPtr result); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tboxbigint_xmin(IntPtr box, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tfloatbox_expand(IntPtr box, double d); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tintbox_expand(IntPtr box, int i); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr tbox_expand_time(IntPtr box, IntPtr interv); @@ -2486,19 +2422,19 @@ private partial class MEOSExternalFunctions public static partial IntPtr tbox_round(IntPtr box, int maxdd); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tbox_shift_scale_time(IntPtr box, IntPtr shift, IntPtr duration); + public static partial IntPtr tfloatbox_shift_scale(IntPtr box, double shift, double width, [MarshalAs(UnmanagedType.U1)] bool hasshift, [MarshalAs(UnmanagedType.U1)] bool haswidth); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tfloatbox_expand(IntPtr box, double d); + public static partial IntPtr tintbox_shift_scale(IntPtr box, int shift, int width, [MarshalAs(UnmanagedType.U1)] bool hasshift, [MarshalAs(UnmanagedType.U1)] bool haswidth); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tfloatbox_shift_scale(IntPtr box, double shift, double width, [MarshalAs(UnmanagedType.U1)] bool hasshift, [MarshalAs(UnmanagedType.U1)] bool haswidth); + public static partial IntPtr tbox_shift_scale_time(IntPtr box, IntPtr shift, IntPtr duration); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tintbox_expand(IntPtr box, int i); + public static partial IntPtr tbigintbox_expand(IntPtr box, IntPtr i); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tintbox_shift_scale(IntPtr box, int shift, int width, [MarshalAs(UnmanagedType.U1)] bool hasshift, [MarshalAs(UnmanagedType.U1)] bool haswidth); + public static partial IntPtr tbigintbox_shift_scale(IntPtr box, IntPtr shift, IntPtr width, [MarshalAs(UnmanagedType.U1)] bool hasshift, [MarshalAs(UnmanagedType.U1)] bool haswidth); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr union_tbox_tbox(IntPtr box1, IntPtr box2, [MarshalAs(UnmanagedType.U1)] bool strict); @@ -2621,12 +2557,21 @@ private partial class MEOSExternalFunctions [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr tint_from_mfjson(string str); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tbigint_from_mfjson(string str); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr tint_in(string str); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tbigint_in(string str); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial string tint_out(IntPtr temp); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string tbigint_out(IntPtr temp); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr ttext_from_mfjson(string str); @@ -2672,18 +2617,33 @@ private partial class MEOSExternalFunctions [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr tint_from_base_temp(int i, IntPtr temp); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tbigint_from_base_temp(IntPtr i, IntPtr temp); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr tintinst_make(int i, long t); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tbigintinst_make(IntPtr i, long t); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr tintseq_from_base_tstzset(int i, IntPtr s); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tbigintseq_from_base_tstzset(IntPtr i, IntPtr s); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr tintseq_from_base_tstzspan(int i, IntPtr s); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tbigintseq_from_base_tstzspan(IntPtr i, IntPtr s); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr tintseqset_from_base_tstzspanset(int i, IntPtr ss); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tbigintseqset_from_base_tstzspanset(IntPtr i, IntPtr ss); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr tsequence_make(IntPtr instants, int count, [MarshalAs(UnmanagedType.U1)] bool lower_inc, [MarshalAs(UnmanagedType.U1)] bool upper_inc, int interp, [MarshalAs(UnmanagedType.U1)] bool normalize); @@ -2717,9 +2677,21 @@ private partial class MEOSExternalFunctions [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr tfloat_to_tint(IntPtr temp); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tfloat_to_tbigint(IntPtr temp); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr tint_to_tfloat(IntPtr temp); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tint_to_tbigint(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tbigint_to_tint(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tbigint_to_tfloat(IntPtr temp); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr tnumber_to_span(IntPtr temp); @@ -2758,7 +2730,7 @@ private partial class MEOSExternalFunctions public static partial long temporal_end_timestamptz(IntPtr temp); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial uint temporal_hash(IntPtr temp); + public static partial int temporal_hash(IntPtr temp); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr temporal_instant_n(IntPtr temp, int n); @@ -2815,6 +2787,9 @@ private partial class MEOSExternalFunctions [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial string temporal_subtype(IntPtr temp); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string temporal_basetype_name(IntPtr temp); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr temporal_time(IntPtr temp); @@ -2829,9 +2804,6 @@ private partial class MEOSExternalFunctions [return: MarshalAs(UnmanagedType.U1)] public static partial bool temporal_upper_inc(IntPtr temp); - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial double tfloat_avg_value(IntPtr temp); - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial double tfloat_end_value(IntPtr temp); @@ -2858,15 +2830,31 @@ private partial class MEOSExternalFunctions [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial int tint_end_value(IntPtr temp); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tbigint_end_value(IntPtr temp); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial int tint_max_value(IntPtr temp); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tbigint_max_value(IntPtr temp); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial int tint_min_value(IntPtr temp); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tbigint_min_value(IntPtr temp); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial int tint_start_value(IntPtr temp); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tbigint_start_value(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tbigint_value_at_timestamptz(IntPtr temp, long t, [MarshalAs(UnmanagedType.U1)] bool strict, IntPtr value); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] public static partial bool tint_value_at_timestamptz(IntPtr temp, long t, [MarshalAs(UnmanagedType.U1)] bool strict, IntPtr value); @@ -2875,9 +2863,16 @@ private partial class MEOSExternalFunctions [return: MarshalAs(UnmanagedType.U1)] public static partial bool tint_value_n(IntPtr temp, int n, IntPtr result); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tbigint_value_n(IntPtr temp, IntPtr n, IntPtr result); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr tint_values(IntPtr temp, IntPtr count); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tbigint_values(IntPtr temp, IntPtr count); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial double tnumber_avg_value(IntPtr temp); @@ -2967,12 +2962,21 @@ private partial class MEOSExternalFunctions [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr tint_scale_value(IntPtr temp, int width); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tbigint_scale_value(IntPtr temp, IntPtr width); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr tint_shift_scale_value(IntPtr temp, int shift, int width); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tbigint_shift_scale_value(IntPtr temp, IntPtr shift, IntPtr width); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr tint_shift_value(IntPtr temp, int shift); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tbigint_shift_value(IntPtr temp, IntPtr shift); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr temporal_append_tinstant(IntPtr temp, IntPtr inst, int interp, double maxdist, IntPtr maxt, [MarshalAs(UnmanagedType.U1)] bool expand); @@ -3144,6 +3148,12 @@ private partial class MEOSExternalFunctions [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial int always_eq_tint_int(IntPtr temp, int i); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int always_eq_bigint_tbigint(IntPtr i, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int always_eq_tbigint_bigint(IntPtr temp, IntPtr i); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial int always_eq_ttext_text(IntPtr temp, IntPtr txt); @@ -3165,6 +3175,12 @@ private partial class MEOSExternalFunctions [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial int always_ge_tint_int(IntPtr temp, int i); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int always_ge_bigint_tbigint(IntPtr i, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int always_ge_tbigint_bigint(IntPtr temp, IntPtr i); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial int always_ge_ttext_text(IntPtr temp, IntPtr txt); @@ -3186,6 +3202,12 @@ private partial class MEOSExternalFunctions [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial int always_gt_tint_int(IntPtr temp, int i); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int always_gt_bigint_tbigint(IntPtr i, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int always_gt_tbigint_bigint(IntPtr temp, IntPtr i); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial int always_gt_ttext_text(IntPtr temp, IntPtr txt); @@ -3207,6 +3229,12 @@ private partial class MEOSExternalFunctions [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial int always_le_tint_int(IntPtr temp, int i); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int always_le_bigint_tbigint(IntPtr i, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int always_le_tbigint_bigint(IntPtr temp, IntPtr i); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial int always_le_ttext_text(IntPtr temp, IntPtr txt); @@ -3228,6 +3256,12 @@ private partial class MEOSExternalFunctions [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial int always_lt_tint_int(IntPtr temp, int i); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int always_lt_bigint_tbigint(IntPtr i, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int always_lt_tbigint_bigint(IntPtr temp, IntPtr i); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial int always_lt_ttext_text(IntPtr temp, IntPtr txt); @@ -3255,6 +3289,12 @@ private partial class MEOSExternalFunctions [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial int always_ne_tint_int(IntPtr temp, int i); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int always_ne_bigint_tbigint(IntPtr i, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int always_ne_tbigint_bigint(IntPtr temp, IntPtr i); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial int always_ne_ttext_text(IntPtr temp, IntPtr txt); @@ -3282,6 +3322,12 @@ private partial class MEOSExternalFunctions [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial int ever_eq_tint_int(IntPtr temp, int i); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ever_eq_bigint_tbigint(IntPtr i, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ever_eq_tbigint_bigint(IntPtr temp, IntPtr i); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial int ever_eq_ttext_text(IntPtr temp, IntPtr txt); @@ -3303,6 +3349,12 @@ private partial class MEOSExternalFunctions [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial int ever_ge_tint_int(IntPtr temp, int i); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ever_ge_bigint_tbigint(IntPtr i, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ever_ge_tbigint_bigint(IntPtr temp, IntPtr i); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial int ever_ge_ttext_text(IntPtr temp, IntPtr txt); @@ -3324,6 +3376,12 @@ private partial class MEOSExternalFunctions [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial int ever_gt_tint_int(IntPtr temp, int i); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ever_gt_bigint_tbigint(IntPtr i, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ever_gt_tbigint_bigint(IntPtr temp, IntPtr i); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial int ever_gt_ttext_text(IntPtr temp, IntPtr txt); @@ -3346,13 +3404,19 @@ private partial class MEOSExternalFunctions public static partial int ever_le_tint_int(IntPtr temp, int i); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int ever_le_ttext_text(IntPtr temp, IntPtr txt); + public static partial int ever_le_bigint_tbigint(IntPtr i, IntPtr temp); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int ever_lt_float_tfloat(double d, IntPtr temp); + public static partial int ever_le_tbigint_bigint(IntPtr temp, IntPtr i); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int ever_lt_int_tint(int i, IntPtr temp); + public static partial int ever_le_ttext_text(IntPtr temp, IntPtr txt); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ever_lt_float_tfloat(double d, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ever_lt_int_tint(int i, IntPtr temp); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial int ever_lt_temporal_temporal(IntPtr temp1, IntPtr temp2); @@ -3366,6 +3430,12 @@ private partial class MEOSExternalFunctions [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial int ever_lt_tint_int(IntPtr temp, int i); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ever_lt_bigint_tbigint(IntPtr i, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ever_lt_tbigint_bigint(IntPtr temp, IntPtr i); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial int ever_lt_ttext_text(IntPtr temp, IntPtr txt); @@ -3393,6 +3463,12 @@ private partial class MEOSExternalFunctions [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial int ever_ne_tint_int(IntPtr temp, int i); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ever_ne_bigint_tbigint(IntPtr i, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ever_ne_tbigint_bigint(IntPtr temp, IntPtr i); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial int ever_ne_ttext_text(IntPtr temp, IntPtr txt); @@ -3924,6 +4000,12 @@ private partial class MEOSExternalFunctions [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr add_tint_int(IntPtr tnumber, int i); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr add_bigint_tbigint(IntPtr i, IntPtr tnumber); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr add_tbigint_bigint(IntPtr tnumber, IntPtr i); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr add_tnumber_tnumber(IntPtr tnumber1, IntPtr tnumber2); @@ -3939,23 +4021,35 @@ private partial class MEOSExternalFunctions [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr div_tint_int(IntPtr tnumber, int i); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr div_bigint_tbigint(IntPtr i, IntPtr tnumber); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr div_tbigint_bigint(IntPtr tnumber, IntPtr i); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr div_tnumber_tnumber(IntPtr tnumber1, IntPtr tnumber2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr mult_float_tfloat(double d, IntPtr tnumber); + public static partial IntPtr mul_float_tfloat(double d, IntPtr tnumber); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr mul_int_tint(int i, IntPtr tnumber); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr mul_tfloat_float(IntPtr tnumber, double d); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr mult_int_tint(int i, IntPtr tnumber); + public static partial IntPtr mul_tint_int(IntPtr tnumber, int i); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr mult_tfloat_float(IntPtr tnumber, double d); + public static partial IntPtr mul_bigint_tbigint(IntPtr i, IntPtr tnumber); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr mult_tint_int(IntPtr tnumber, int i); + public static partial IntPtr mul_tbigint_bigint(IntPtr tnumber, IntPtr i); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr mult_tnumber_tnumber(IntPtr tnumber1, IntPtr tnumber2); + public static partial IntPtr mul_tnumber_tnumber(IntPtr tnumber1, IntPtr tnumber2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr sub_float_tfloat(double d, IntPtr tnumber); @@ -3969,6 +4063,12 @@ private partial class MEOSExternalFunctions [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr sub_tint_int(IntPtr tnumber, int i); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr sub_bigint_tbigint(IntPtr i, IntPtr tnumber); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr sub_tbigint_bigint(IntPtr tnumber, IntPtr i); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr sub_tnumber_tnumber(IntPtr tnumber1, IntPtr tnumber2); @@ -3984,6 +4084,15 @@ private partial class MEOSExternalFunctions [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr tfloat_log10(IntPtr temp); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tfloat_sin(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tfloat_cos(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tfloat_tan(IntPtr temp); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr tnumber_abs(IntPtr temp); @@ -4053,9 +4162,15 @@ private partial class MEOSExternalFunctions [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr tbool_tand_transfn(IntPtr state, IntPtr temp); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tbool_tand_combinefn(IntPtr state1, IntPtr state2); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr tbool_tor_transfn(IntPtr state, IntPtr temp); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tbool_tor_combinefn(IntPtr state1, IntPtr state2); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr temporal_extent_transfn(IntPtr s, IntPtr temp); @@ -4065,15 +4180,27 @@ private partial class MEOSExternalFunctions [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr temporal_tcount_transfn(IntPtr state, IntPtr temp); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr temporal_tcount_combinefn(IntPtr state1, IntPtr state2); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr tfloat_tmax_transfn(IntPtr state, IntPtr temp); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tfloat_tmax_combinefn(IntPtr state1, IntPtr state2); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr tfloat_tmin_transfn(IntPtr state, IntPtr temp); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tfloat_tmin_combinefn(IntPtr state1, IntPtr state2); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr tfloat_tsum_transfn(IntPtr state, IntPtr temp); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tfloat_tsum_combinefn(IntPtr state1, IntPtr state2); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr tfloat_wmax_transfn(IntPtr state, IntPtr temp, IntPtr interv); @@ -4089,12 +4216,21 @@ private partial class MEOSExternalFunctions [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr tint_tmax_transfn(IntPtr state, IntPtr temp); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tint_tmax_combinefn(IntPtr state1, IntPtr state2); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr tint_tmin_transfn(IntPtr state, IntPtr temp); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tint_tmin_combinefn(IntPtr state1, IntPtr state2); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr tint_tsum_transfn(IntPtr state, IntPtr temp); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tint_tsum_combinefn(IntPtr state1, IntPtr state2); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr tint_wmax_transfn(IntPtr state, IntPtr temp, IntPtr interv); @@ -4113,6 +4249,9 @@ private partial class MEOSExternalFunctions [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr tnumber_tavg_transfn(IntPtr state, IntPtr temp); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnumber_tavg_combinefn(IntPtr state1, IntPtr state2); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr tnumber_wavg_transfn(IntPtr state, IntPtr temp, IntPtr interv); @@ -4125,17 +4264,29 @@ private partial class MEOSExternalFunctions [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr tstzspanset_tcount_transfn(IntPtr state, IntPtr ss); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr temporal_merge_transfn(IntPtr state, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr temporal_merge_combinefn(IntPtr state1, IntPtr state2); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr ttext_tmax_transfn(IntPtr state, IntPtr temp); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr ttext_tmax_combinefn(IntPtr state1, IntPtr state2); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr ttext_tmin_transfn(IntPtr state, IntPtr temp); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr temporal_simplify_dp(IntPtr temp, double eps_dist, [MarshalAs(UnmanagedType.U1)] bool synchronized); + public static partial IntPtr ttext_tmin_combinefn(IntPtr state1, IntPtr state2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr temporal_simplify_dp(IntPtr temp, double dist, [MarshalAs(UnmanagedType.U1)] bool synchronized); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr temporal_simplify_max_dist(IntPtr temp, double eps_dist, [MarshalAs(UnmanagedType.U1)] bool synchronized); + public static partial IntPtr temporal_simplify_max_dist(IntPtr temp, double dist, [MarshalAs(UnmanagedType.U1)] bool synchronized); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr temporal_simplify_min_dist(IntPtr temp, double dist); @@ -4164,11 +4315,20 @@ private partial class MEOSExternalFunctions [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial double temporal_hausdorff_distance(IntPtr temp1, IntPtr temp2); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial double temporal_average_hausdorff_distance(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial double temporal_lcss_distance(IntPtr temp1, IntPtr temp2, double epsilon); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr temporal_ext_kalman_filter(IntPtr temp, double gate, double q, double variance, [MarshalAs(UnmanagedType.U1)] bool to_drop); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr temporal_time_bins(IntPtr temp, IntPtr duration, long origin, IntPtr count); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr temporal_time_split(IntPtr temp, IntPtr duration, long torigin, IntPtr time_bins, IntPtr count); + public static partial IntPtr temporal_time_split(IntPtr temp, IntPtr duration, long torigin, IntPtr bins, IntPtr count); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr tfloat_time_boxes(IntPtr temp, IntPtr duration, long torigin, IntPtr count); @@ -4225,515 +4385,244 @@ private partial class MEOSExternalFunctions public static partial IntPtr tintbox_value_time_tiles(IntPtr box, int xsize, IntPtr duration, int xorigin, long torigin, IntPtr count); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool temptype_subtype(int subtype); + public static partial IntPtr box3d_from_gbox(IntPtr box); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool temptype_subtype_all(int subtype); + public static partial IntPtr box3d_make(double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, int srid); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial string tempsubtype_name(int subtype); + public static partial IntPtr box3d_in(string str); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool tempsubtype_from_string(string str, IntPtr subtype); + public static partial string box3d_out(IntPtr box, int maxdd); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial string meosoper_name(IntPtr oper); + public static partial IntPtr gbox_make([MarshalAs(UnmanagedType.U1)] bool hasz, [MarshalAs(UnmanagedType.U1)] bool hasm, [MarshalAs(UnmanagedType.U1)] bool geodetic, double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, double mmin, double mmax); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr meosoper_from_string(string name); + public static partial IntPtr gbox_in(string str); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial string interptype_name(int interp); + public static partial string gbox_out(IntPtr box, int maxdd); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int interptype_from_string(string interp_str); + public static partial IntPtr geo_as_ewkb(IntPtr gs, string endian, IntPtr size); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial string meostype_name(int type); + public static partial string geo_as_ewkt(IntPtr gs, int precision); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int temptype_basetype(int type); + public static partial string geo_as_geojson(IntPtr gs, int option, int precision, string srs); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int settype_basetype(int type); + public static partial string geo_as_hexewkb(IntPtr gs, string endian); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int spantype_basetype(int type); + public static partial string geo_as_text(IntPtr gs, int precision); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int spantype_spansettype(int type); + public static partial IntPtr geo_from_ewkb(IntPtr wkb, ulong wkb_size, int srid); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int spansettype_spantype(int type); + public static partial IntPtr geo_from_geojson(string geojson); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int basetype_spantype(int type); + public static partial IntPtr geo_from_text(string wkt, int srid); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int basetype_settype(int type); + public static partial string geo_out(IntPtr gs); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool tnumber_basetype(int type); + public static partial IntPtr geog_from_hexewkb(string wkt); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool geo_basetype(int type); + public static partial IntPtr geog_in(string str, int typmod); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool meos_basetype(int type); + public static partial IntPtr geom_from_hexewkb(string wkt); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool alphanum_basetype(int type); + public static partial IntPtr geom_in(string str, int typmod); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool alphanum_temptype(int type); + public static partial IntPtr geo_copy(IntPtr gs); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool time_type(int type); + public static partial IntPtr geogpoint_make2d(int srid, double x, double y); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool set_basetype(int type); + public static partial IntPtr geogpoint_make3dz(int srid, double x, double y, double z); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool set_type(int type); + public static partial IntPtr geompoint_make2d(int srid, double x, double y); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool numset_type(int type); + public static partial IntPtr geompoint_make3dz(int srid, double x, double y, double z); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool ensure_numset_type(int type); + public static partial IntPtr geom_to_geog(IntPtr geom); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool timeset_type(int type); + public static partial IntPtr geog_to_geom(IntPtr geog); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool set_spantype(int type); + public static partial bool geo_is_empty(IntPtr gs); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool ensure_set_spantype(int type); + public static partial bool geo_is_unitary(IntPtr gs); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool alphanumset_type(int settype); + public static partial string geo_typename(int type); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool geoset_type(int type); + public static partial double geog_area(IntPtr gs, [MarshalAs(UnmanagedType.U1)] bool use_spheroid); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool ensure_geoset_type(int type); + public static partial IntPtr geog_centroid(IntPtr gs, [MarshalAs(UnmanagedType.U1)] bool use_spheroid); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool spatialset_type(int type); + public static partial double geog_length(IntPtr gs, [MarshalAs(UnmanagedType.U1)] bool use_spheroid); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool ensure_spatialset_type(int type); + public static partial double geog_perimeter(IntPtr gs, [MarshalAs(UnmanagedType.U1)] bool use_spheroid); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool span_basetype(int type); + public static partial bool geom_azimuth(IntPtr gs1, IntPtr gs2, IntPtr result); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool span_canon_basetype(int type); + public static partial double geom_length(IntPtr gs); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool span_type(int type); + public static partial double geom_perimeter(IntPtr gs); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool type_span_bbox(int type); + public static partial int line_numpoints(IntPtr gs); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool span_tbox_type(int type); + public static partial IntPtr line_point_n(IntPtr geom, int n); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool ensure_span_tbox_type(int type); + public static partial IntPtr geo_reverse(IntPtr gs); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool numspan_basetype(int type); + public static partial IntPtr geo_round(IntPtr gs, int maxdd); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool numspan_type(int type); + public static partial IntPtr geo_set_srid(IntPtr gs, int srid); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool ensure_numspan_type(int type); + public static partial int geo_srid(IntPtr gs); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool timespan_basetype(int type); + public static partial IntPtr geo_transform(IntPtr geom, int srid_to); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool timespan_type(int type); + public static partial IntPtr geo_transform_pipeline(IntPtr gs, string pipeline, int srid_to, [MarshalAs(UnmanagedType.U1)] bool is_forward); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool spanset_type(int type); + public static partial IntPtr geo_collect_garray(IntPtr gsarr, int count); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool timespanset_type(int type); + public static partial IntPtr geo_makeline_garray(IntPtr gsarr, int count); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool ensure_timespanset_type(int type); + public static partial int geo_num_points(IntPtr gs); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool temporal_type(int type); + public static partial int geo_num_geos(IntPtr gs); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool temporal_basetype(int type); + public static partial IntPtr geo_geo_n(IntPtr geom, int n); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool temptype_continuous(int type); + public static partial IntPtr geo_pointarr(IntPtr gs, IntPtr count); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool basetype_byvalue(int type); + public static partial IntPtr geo_points(IntPtr gs); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool basetype_varlength(int type); + public static partial IntPtr geom_array_union(IntPtr gsarr, int count); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial short basetype_length(int type); + public static partial IntPtr geom_boundary(IntPtr gs); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool talphanum_type(int type); + public static partial IntPtr geom_buffer(IntPtr gs, double size, string @params); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool talpha_type(int type); + public static partial IntPtr geom_centroid(IntPtr gs); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool tnumber_type(int type); + public static partial IntPtr geom_convex_hull(IntPtr gs); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool ensure_tnumber_type(int type); + public static partial IntPtr geom_difference2d(IntPtr gs1, IntPtr gs2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool ensure_tnumber_basetype(int type); + public static partial IntPtr geom_intersection2d(IntPtr gs1, IntPtr gs2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool tnumber_spantype(int type); + public static partial IntPtr geom_intersection2d_coll(IntPtr gs1, IntPtr gs2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool spatial_basetype(int type); + public static partial IntPtr geom_min_bounding_radius(IntPtr geom, IntPtr radius); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool tspatial_type(int type); + public static partial IntPtr geom_shortestline2d(IntPtr gs1, IntPtr gs2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool ensure_tspatial_type(int type); + public static partial IntPtr geom_shortestline3d(IntPtr gs1, IntPtr gs2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool tpoint_type(int type); + public static partial IntPtr geom_unary_union(IntPtr gs, double prec); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool ensure_tpoint_type(int type); + public static partial IntPtr line_interpolate_point(IntPtr gs, double distance_fraction, [MarshalAs(UnmanagedType.U1)] bool repeat); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool tgeo_type(int type); + public static partial double line_locate_point(IntPtr gs1, IntPtr gs2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool ensure_tgeo_type(int type); + public static partial IntPtr line_substring(IntPtr gs, double from, double to); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool tgeo_type_all(int type); + public static partial bool geog_dwithin(IntPtr g1, IntPtr g2, double tolerance, [MarshalAs(UnmanagedType.U1)] bool use_spheroid); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool ensure_tgeo_type_all(int type); + public static partial bool geog_intersects(IntPtr gs1, IntPtr gs2, [MarshalAs(UnmanagedType.U1)] bool use_spheroid); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool tgeometry_type(int type); + public static partial bool geom_contains(IntPtr gs1, IntPtr gs2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool ensure_tgeometry_type(int type); + public static partial bool geom_covers(IntPtr gs1, IntPtr gs2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool tgeodetic_type(int type); + public static partial bool geom_disjoint2d(IntPtr gs1, IntPtr gs2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool ensure_tgeodetic_type(int type); + public static partial bool geom_dwithin(IntPtr gs1, IntPtr gs2, double tolerance); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool ensure_tnumber_tpoint_type(int type); + public static partial bool geom_dwithin2d(IntPtr gs1, IntPtr gs2, double tolerance); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int geo_get_srid(IntPtr g); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr geo_as_ewkb(IntPtr gs, string endian, IntPtr size); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial string geo_as_ewkt(IntPtr gs, int precision); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial string geo_as_geojson(IntPtr gs, int option, int precision, string srs); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial string geo_as_hexewkb(IntPtr gs, string endian); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial string geo_as_text(IntPtr gs, int precision); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr geo_from_ewkb(IntPtr wkb, ulong wkb_size, int srid); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr geo_from_geojson(string geojson); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr geo_from_text(string wkt, int srid); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial string geo_out(IntPtr gs); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr geog_from_binary(string wkb_bytea); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr geog_from_hexewkb(string wkt); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr geog_in(string str, int typmod); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr geom_from_hexewkb(string wkt); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr geom_in(string str, int typmod); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr box3d_make(double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, int srid); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial string box3d_out(IntPtr box, int maxdd); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr gbox_make([MarshalAs(UnmanagedType.U1)] bool hasz, double xmin, double xmax, double ymin, double ymax, double zmin, double zmax); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial string gbox_out(IntPtr box, int maxdd); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr geo_copy(IntPtr g); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr geogpoint_make2d(int srid, double x, double y); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr geogpoint_make3dz(int srid, double x, double y, double z); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr geompoint_make2d(int srid, double x, double y); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr geompoint_make3dz(int srid, double x, double y, double z); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr geom_to_geog(IntPtr geom); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr geog_to_geom(IntPtr geog); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool geo_is_empty(IntPtr g); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool geo_is_unitary(IntPtr gs); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial string geo_typename(int type); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial double geog_area(IntPtr g, [MarshalAs(UnmanagedType.U1)] bool use_spheroid); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr geog_centroid(IntPtr g, [MarshalAs(UnmanagedType.U1)] bool use_spheroid); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial double geog_length(IntPtr g, [MarshalAs(UnmanagedType.U1)] bool use_spheroid); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial double geog_perimeter(IntPtr g, [MarshalAs(UnmanagedType.U1)] bool use_spheroid); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool geom_azimuth(IntPtr gs1, IntPtr gs2, IntPtr result); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial double geom_length(IntPtr gs); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial double geom_perimeter(IntPtr gs); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int line_numpoints(IntPtr gs); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr line_point_n(IntPtr geom, int n); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr geo_reverse(IntPtr gs); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr geo_round(IntPtr gs, int maxdd); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr geo_set_srid(IntPtr gs, int srid); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int geo_srid(IntPtr gs); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr geo_transform(IntPtr geom, int srid_to); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr geo_transform_pipeline(IntPtr gs, string pipeline, int srid_to, [MarshalAs(UnmanagedType.U1)] bool is_forward); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr geo_collect_garray(IntPtr gsarr, int count); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr geo_makeline_garray(IntPtr gsarr, int count); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int geo_num_points(IntPtr gs); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int geo_num_geos(IntPtr gs); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr geo_geo_n(IntPtr geom, int n); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr geo_pointarr(IntPtr gs, IntPtr count); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr geo_points(IntPtr gs); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr geom_array_union(IntPtr gsarr, int count); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr geom_boundary(IntPtr gs); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr geom_buffer(IntPtr gs, double size, string @params); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr geom_centroid(IntPtr gs); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr geom_convex_hull(IntPtr gs); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr geom_difference2d(IntPtr gs1, IntPtr gs2); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr geom_intersection2d(IntPtr gs1, IntPtr gs2); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr geom_intersection2d_coll(IntPtr gs1, IntPtr gs2); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr geom_min_bounding_radius(IntPtr geom, IntPtr radius); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr geom_shortestline2d(IntPtr gs1, IntPtr s2); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr geom_shortestline3d(IntPtr gs1, IntPtr s2); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr geom_unary_union(IntPtr gs, double prec); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr line_interpolate_point(IntPtr gs, double distance_fraction, [MarshalAs(UnmanagedType.U1)] bool repeat); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial double line_locate_point(IntPtr gs1, IntPtr gs2); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr line_substring(IntPtr gs, double from, double to); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool geog_dwithin(IntPtr g1, IntPtr g2, double tolerance, [MarshalAs(UnmanagedType.U1)] bool use_spheroid); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool geom_dwithin3d(IntPtr gs1, IntPtr gs2, double tolerance); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool geog_intersects(IntPtr gs1, IntPtr gs2, [MarshalAs(UnmanagedType.U1)] bool use_spheroid); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool geom_contains(IntPtr gs1, IntPtr gs2); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool geom_covers(IntPtr gs1, IntPtr gs2); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool geom_disjoint2d(IntPtr gs1, IntPtr gs2); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool geom_dwithin2d(IntPtr gs1, IntPtr gs2, double tolerance); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool geom_dwithin3d(IntPtr gs1, IntPtr gs2, double tolerance); + public static partial bool geom_intersects(IntPtr gs1, IntPtr gs2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] @@ -4782,6 +4671,9 @@ private partial class MEOSExternalFunctions [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr geomset_in(string str); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string spatialset_out(IntPtr s, int maxdd); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial string spatialset_as_text(IntPtr set, int maxdd); @@ -4805,7 +4697,7 @@ private partial class MEOSExternalFunctions public static partial bool geoset_value_n(IntPtr s, int n, IntPtr result); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr geoset_values(IntPtr s); + public static partial IntPtr geoset_values(IntPtr s, IntPtr count); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] @@ -4849,7 +4741,7 @@ private partial class MEOSExternalFunctions public static partial IntPtr spatialset_transform_pipeline(IntPtr s, string pipelinestr, int srid, [MarshalAs(UnmanagedType.U1)] bool is_forward); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial string stbox_as_hexwkb(IntPtr box, IntPtr variant, IntPtr size); + public static partial string stbox_as_hexwkb(IntPtr box, IntPtr variant, IntPtr size_out); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr stbox_as_wkb(IntPtr box, IntPtr variant, IntPtr size_out); @@ -4912,10 +4804,10 @@ private partial class MEOSExternalFunctions public static partial double stbox_area(IntPtr box, [MarshalAs(UnmanagedType.U1)] bool spheroid); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial uint stbox_hash(IntPtr box); + public static partial int stbox_hash(IntPtr box); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial ulong stbox_hash_extended(IntPtr box, ulong seed); + public static partial IntPtr stbox_hash_extended(IntPtr box, IntPtr seed); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] @@ -5129,6 +5021,9 @@ private partial class MEOSExternalFunctions [return: MarshalAs(UnmanagedType.U1)] public static partial bool stbox_ne(IntPtr box1, IntPtr box2); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string tspatial_out(IntPtr temp, int maxdd); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr tgeogpoint_from_mfjson(string str); @@ -5159,9 +5054,6 @@ private partial class MEOSExternalFunctions [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial string tspatial_as_text(IntPtr temp, int maxdd); - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial string tspatial_out(IntPtr temp, int maxdd); - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr tgeo_from_base_temp(IntPtr gs, IntPtr temp); @@ -5223,8 +5115,7 @@ private partial class MEOSExternalFunctions public static partial IntPtr tgeompoint_to_tgeometry(IntPtr temp); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool tpoint_as_mvtgeom(IntPtr temp, IntPtr bounds, int extent, int buffer, [MarshalAs(UnmanagedType.U1)] bool clip_geom, IntPtr gsarr, IntPtr timesarr, IntPtr count); + public static partial IntPtr tpoint_as_mvtgeom(IntPtr temp, IntPtr bounds, int extent, int buffer, [MarshalAs(UnmanagedType.U1)] bool clip_geom); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] @@ -5260,7 +5151,7 @@ private partial class MEOSExternalFunctions [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool tgeo_value_at_timestamptz(IntPtr temp, long t, [MarshalAs(UnmanagedType.U1)] bool strict, IntPtr value); + public static partial bool tgeo_value_at_timestamptz(IntPtr temp, long t, [MarshalAs(UnmanagedType.U1)] bool strict, IntPtr result); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] @@ -5347,13 +5238,19 @@ private partial class MEOSExternalFunctions public static partial IntPtr tgeo_minus_value(IntPtr temp, IntPtr gs); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tpoint_at_geom(IntPtr temp, IntPtr gs, IntPtr zspan); + public static partial IntPtr tpoint_at_elevation(IntPtr temp, IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tpoint_at_geom(IntPtr temp, IntPtr gs); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr tpoint_at_value(IntPtr temp, IntPtr gs); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tpoint_minus_geom(IntPtr temp, IntPtr gs, IntPtr zspan); + public static partial IntPtr tpoint_minus_elevation(IntPtr temp, IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tpoint_minus_geom(IntPtr temp, IntPtr gs); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial IntPtr tpoint_minus_value(IntPtr temp, IntPtr gs); @@ -5682,24 +5579,45 @@ private partial class MEOSExternalFunctions [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial int acontains_tgeo_tgeo(IntPtr temp1, IntPtr temp2); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int acovers_geo_tgeo(IntPtr gs, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int acovers_tgeo_geo(IntPtr temp, IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int acovers_tgeo_tgeo(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int adisjoint_geo_tgeo(IntPtr gs, IntPtr temp); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial int adisjoint_tgeo_geo(IntPtr temp, IntPtr gs); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial int adisjoint_tgeo_tgeo(IntPtr temp1, IntPtr temp2); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int adwithin_geo_tgeo(IntPtr gs, IntPtr temp, double dist); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial int adwithin_tgeo_geo(IntPtr temp, IntPtr gs, double dist); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial int adwithin_tgeo_tgeo(IntPtr temp1, IntPtr temp2, double dist); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int aintersects_geo_tgeo(IntPtr gs, IntPtr temp); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial int aintersects_tgeo_geo(IntPtr temp, IntPtr gs); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial int aintersects_tgeo_tgeo(IntPtr temp1, IntPtr temp2); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int atouches_geo_tgeo(IntPtr gs, IntPtr temp); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial int atouches_tgeo_geo(IntPtr temp, IntPtr gs); @@ -5727,24 +5645,36 @@ private partial class MEOSExternalFunctions [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial int ecovers_tgeo_tgeo(IntPtr temp1, IntPtr temp2); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int edisjoint_geo_tgeo(IntPtr gs, IntPtr temp); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial int edisjoint_tgeo_geo(IntPtr temp, IntPtr gs); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial int edisjoint_tgeo_tgeo(IntPtr temp1, IntPtr temp2); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int edwithin_geo_tgeo(IntPtr gs, IntPtr temp, double dist); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial int edwithin_tgeo_geo(IntPtr temp, IntPtr gs, double dist); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial int edwithin_tgeo_tgeo(IntPtr temp1, IntPtr temp2, double dist); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int eintersects_geo_tgeo(IntPtr gs, IntPtr temp); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial int eintersects_tgeo_geo(IntPtr temp, IntPtr gs); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial int eintersects_tgeo_tgeo(IntPtr temp1, IntPtr temp2); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int etouches_geo_tgeo(IntPtr gs, IntPtr temp); + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] public static partial int etouches_tgeo_geo(IntPtr temp, IntPtr gs); @@ -5755,2094 +5685,9028 @@ private partial class MEOSExternalFunctions public static partial int etouches_tpoint_geo(IntPtr temp, IntPtr gs); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tcontains_geo_tgeo(IntPtr gs, IntPtr temp, [MarshalAs(UnmanagedType.U1)] bool restr, [MarshalAs(UnmanagedType.U1)] bool atvalue); + public static partial IntPtr tcontains_geo_tgeo(IntPtr gs, IntPtr temp); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tcontains_tgeo_geo(IntPtr temp, IntPtr gs, [MarshalAs(UnmanagedType.U1)] bool restr, [MarshalAs(UnmanagedType.U1)] bool atvalue); + public static partial IntPtr tcontains_tgeo_geo(IntPtr temp, IntPtr gs); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tcontains_tgeo_tgeo(IntPtr temp1, IntPtr temp2, [MarshalAs(UnmanagedType.U1)] bool restr, [MarshalAs(UnmanagedType.U1)] bool atvalue); + public static partial IntPtr tcontains_tgeo_tgeo(IntPtr temp1, IntPtr temp2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tcovers_geo_tgeo(IntPtr gs, IntPtr temp, [MarshalAs(UnmanagedType.U1)] bool restr, [MarshalAs(UnmanagedType.U1)] bool atvalue); + public static partial IntPtr tcovers_geo_tgeo(IntPtr gs, IntPtr temp); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tcovers_tgeo_geo(IntPtr temp, IntPtr gs, [MarshalAs(UnmanagedType.U1)] bool restr, [MarshalAs(UnmanagedType.U1)] bool atvalue); + public static partial IntPtr tcovers_tgeo_geo(IntPtr temp, IntPtr gs); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tcovers_tgeo_tgeo(IntPtr temp1, IntPtr temp2, [MarshalAs(UnmanagedType.U1)] bool restr, [MarshalAs(UnmanagedType.U1)] bool atvalue); + public static partial IntPtr tcovers_tgeo_tgeo(IntPtr temp1, IntPtr temp2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tdisjoint_geo_tgeo(IntPtr gs, IntPtr temp, [MarshalAs(UnmanagedType.U1)] bool restr, [MarshalAs(UnmanagedType.U1)] bool atvalue); + public static partial IntPtr tdisjoint_geo_tgeo(IntPtr gs, IntPtr temp); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tdisjoint_tgeo_geo(IntPtr temp, IntPtr gs, [MarshalAs(UnmanagedType.U1)] bool restr, [MarshalAs(UnmanagedType.U1)] bool atvalue); + public static partial IntPtr tdisjoint_tgeo_geo(IntPtr temp, IntPtr gs); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tdisjoint_tgeo_tgeo(IntPtr temp1, IntPtr temp2, [MarshalAs(UnmanagedType.U1)] bool restr, [MarshalAs(UnmanagedType.U1)] bool atvalue); + public static partial IntPtr tdisjoint_tgeo_tgeo(IntPtr temp1, IntPtr temp2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tdwithin_geo_tgeo(IntPtr gs, IntPtr temp, double dist, [MarshalAs(UnmanagedType.U1)] bool restr, [MarshalAs(UnmanagedType.U1)] bool atvalue); + public static partial IntPtr tdwithin_geo_tgeo(IntPtr gs, IntPtr temp, double dist); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tdwithin_tgeo_geo(IntPtr temp, IntPtr gs, double dist, [MarshalAs(UnmanagedType.U1)] bool restr, [MarshalAs(UnmanagedType.U1)] bool atvalue); + public static partial IntPtr tdwithin_tgeo_geo(IntPtr temp, IntPtr gs, double dist); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tdwithin_tgeo_tgeo(IntPtr temp1, IntPtr temp2, double dist, [MarshalAs(UnmanagedType.U1)] bool restr, [MarshalAs(UnmanagedType.U1)] bool atvalue); + public static partial IntPtr tdwithin_tgeo_tgeo(IntPtr temp1, IntPtr temp2, double dist); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tintersects_geo_tgeo(IntPtr gs, IntPtr temp, [MarshalAs(UnmanagedType.U1)] bool restr, [MarshalAs(UnmanagedType.U1)] bool atvalue); + public static partial IntPtr tintersects_geo_tgeo(IntPtr gs, IntPtr temp); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tintersects_tgeo_geo(IntPtr temp, IntPtr gs, [MarshalAs(UnmanagedType.U1)] bool restr, [MarshalAs(UnmanagedType.U1)] bool atvalue); + public static partial IntPtr tintersects_tgeo_geo(IntPtr temp, IntPtr gs); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tintersects_tgeo_tgeo(IntPtr temp1, IntPtr temp2, [MarshalAs(UnmanagedType.U1)] bool restr, [MarshalAs(UnmanagedType.U1)] bool atvalue); + public static partial IntPtr tintersects_tgeo_tgeo(IntPtr temp1, IntPtr temp2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr ttouches_geo_tgeo(IntPtr gs, IntPtr temp, [MarshalAs(UnmanagedType.U1)] bool restr, [MarshalAs(UnmanagedType.U1)] bool atvalue); + public static partial IntPtr ttouches_geo_tgeo(IntPtr gs, IntPtr temp); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr ttouches_tgeo_geo(IntPtr temp, IntPtr gs, [MarshalAs(UnmanagedType.U1)] bool restr, [MarshalAs(UnmanagedType.U1)] bool atvalue); + public static partial IntPtr ttouches_tgeo_geo(IntPtr temp, IntPtr gs); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr ttouches_tgeo_tgeo(IntPtr temp1, IntPtr temp2, [MarshalAs(UnmanagedType.U1)] bool restr, [MarshalAs(UnmanagedType.U1)] bool atvalue); + public static partial IntPtr ttouches_tgeo_tgeo(IntPtr temp1, IntPtr temp2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tdistance_tgeo_geo(IntPtr temp, IntPtr gs); + public static partial IntPtr edwithin_tgeoarr_tgeoarr(IntPtr arr1, int count1, IntPtr arr2, int count2, double dist, IntPtr count); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tdistance_tgeo_tgeo(IntPtr temp1, IntPtr temp2); + public static partial IntPtr adwithin_tgeoarr_tgeoarr(IntPtr arr1, int count1, IntPtr arr2, int count2, double dist, IntPtr count); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial double nad_stbox_geo(IntPtr box, IntPtr gs); + public static partial IntPtr eintersects_tgeoarr_tgeoarr(IntPtr arr1, int count1, IntPtr arr2, int count2, IntPtr count); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial double nad_stbox_stbox(IntPtr box1, IntPtr box2); + public static partial IntPtr aintersects_tgeoarr_tgeoarr(IntPtr arr1, int count1, IntPtr arr2, int count2, IntPtr count); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial double nad_tgeo_geo(IntPtr temp, IntPtr gs); + public static partial IntPtr etouches_tgeoarr_tgeoarr(IntPtr arr1, int count1, IntPtr arr2, int count2, IntPtr count); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial double nad_tgeo_stbox(IntPtr temp, IntPtr box); + public static partial IntPtr atouches_tgeoarr_tgeoarr(IntPtr arr1, int count1, IntPtr arr2, int count2, IntPtr count); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial double nad_tgeo_tgeo(IntPtr temp1, IntPtr temp2); + public static partial IntPtr edisjoint_tgeoarr_tgeoarr(IntPtr arr1, int count1, IntPtr arr2, int count2, IntPtr count); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr nai_tgeo_geo(IntPtr temp, IntPtr gs); + public static partial IntPtr adisjoint_tgeoarr_tgeoarr(IntPtr arr1, int count1, IntPtr arr2, int count2, IntPtr count); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr nai_tgeo_tgeo(IntPtr temp1, IntPtr temp2); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr shortestline_tgeo_geo(IntPtr temp, IntPtr gs); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr shortestline_tgeo_tgeo(IntPtr temp1, IntPtr temp2); - - [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tpoint_tcentroid_finalfn(IntPtr state); + public static partial IntPtr tdwithin_tgeoarr_tgeoarr(IntPtr arr1, int count1, IntPtr arr2, int count2, double dist, IntPtr count, IntPtr periods); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tpoint_tcentroid_transfn(IntPtr state, IntPtr temp); + public static partial IntPtr tintersects_tgeoarr_tgeoarr(IntPtr arr1, int count1, IntPtr arr2, int count2, IntPtr count, IntPtr periods); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tspatial_extent_transfn(IntPtr box, IntPtr temp); + public static partial IntPtr ttouches_tgeoarr_tgeoarr(IntPtr arr1, int count1, IntPtr arr2, int count2, IntPtr count, IntPtr periods); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr stbox_get_space_tile(IntPtr point, double xsize, double ysize, double zsize, IntPtr sorigin); + public static partial IntPtr tdisjoint_tgeoarr_tgeoarr(IntPtr arr1, int count1, IntPtr arr2, int count2, IntPtr count, IntPtr periods); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr stbox_get_space_time_tile(IntPtr point, long t, double xsize, double ysize, double zsize, IntPtr duration, IntPtr sorigin, long torigin); + public static partial IntPtr tdistance_tgeo_geo(IntPtr temp, IntPtr gs); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr stbox_get_time_tile(long t, IntPtr duration, long torigin); + public static partial IntPtr tdistance_tgeo_tgeo(IntPtr temp1, IntPtr temp2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr stbox_space_tiles(IntPtr bounds, double xsize, double ysize, double zsize, IntPtr sorigin, [MarshalAs(UnmanagedType.U1)] bool border_inc, IntPtr count); + public static partial double nad_stbox_geo(IntPtr box, IntPtr gs); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr stbox_space_time_tiles(IntPtr bounds, double xsize, double ysize, double zsize, IntPtr duration, IntPtr sorigin, long torigin, [MarshalAs(UnmanagedType.U1)] bool border_inc, IntPtr count); + public static partial double nad_stbox_stbox(IntPtr box1, IntPtr box2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr stbox_time_tiles(IntPtr bounds, IntPtr duration, long torigin, [MarshalAs(UnmanagedType.U1)] bool border_inc, IntPtr count); + public static partial double stbox_spatial_distance(IntPtr box1, IntPtr box2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tgeo_space_split(IntPtr temp, double xsize, double ysize, double zsize, IntPtr sorigin, [MarshalAs(UnmanagedType.U1)] bool bitmatrix, [MarshalAs(UnmanagedType.U1)] bool border_inc, IntPtr space_bins, IntPtr count); + public static partial double nad_tgeo_geo(IntPtr temp, IntPtr gs); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tgeo_space_time_split(IntPtr temp, double xsize, double ysize, double zsize, IntPtr duration, IntPtr sorigin, long torigin, [MarshalAs(UnmanagedType.U1)] bool bitmatrix, [MarshalAs(UnmanagedType.U1)] bool border_inc, IntPtr space_bins, IntPtr time_bins, IntPtr count); + public static partial double nad_tgeo_stbox(IntPtr temp, IntPtr box); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr geo_cluster_kmeans(IntPtr geoms, uint ngeoms, uint k); + public static partial double nad_tgeo_tgeo(IntPtr temp1, IntPtr temp2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr geo_cluster_dbscan(IntPtr geoms, uint ngeoms, double tolerance, int minpoints, IntPtr count); + public static partial IntPtr nai_tgeo_geo(IntPtr temp, IntPtr gs); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr geo_cluster_intersecting(IntPtr geoms, uint ngeoms, IntPtr count); + public static partial IntPtr nai_tgeo_tgeo(IntPtr temp1, IntPtr temp2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr geo_cluster_within(IntPtr geoms, uint ngeoms, double tolerance, IntPtr count); + public static partial IntPtr shortestline_tgeo_geo(IntPtr temp, IntPtr gs); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr gsl_get_generation_rng(); + public static partial IntPtr shortestline_tgeo_tgeo(IntPtr temp1, IntPtr temp2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr gsl_get_aggregation_rng(); + public static partial double mindistance_tgeo_tgeo(IntPtr temp1, IntPtr temp2, double threshold); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial ulong datum_ceil(ulong d); + public static partial double mindistance_tgeoarr_tgeoarr(IntPtr arr1, int count1, IntPtr arr2, int count2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial ulong datum_degrees(ulong d, ulong normalize); + public static partial IntPtr tpoint_tcentroid_finalfn(IntPtr state); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial ulong datum_float_round(ulong value, ulong size); + public static partial IntPtr tpoint_tcentroid_transfn(IntPtr state, IntPtr temp); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial ulong datum_floor(ulong d); + public static partial IntPtr tspatial_extent_transfn(IntPtr box, IntPtr temp); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial uint datum_hash(ulong d, int basetype); + public static partial IntPtr stbox_get_space_tile(IntPtr point, double xsize, double ysize, double zsize, IntPtr sorigin); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial ulong datum_hash_extended(ulong d, int basetype, ulong seed); + public static partial IntPtr stbox_get_space_time_tile(IntPtr point, long t, double xsize, double ysize, double zsize, IntPtr duration, IntPtr sorigin, long torigin); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial ulong datum_radians(ulong d); + public static partial IntPtr stbox_get_time_tile(long t, IntPtr duration, long torigin); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void floatspan_round_set(IntPtr s, int maxdd, IntPtr result); + public static partial IntPtr stbox_space_tiles(IntPtr bounds, double xsize, double ysize, double zsize, IntPtr sorigin, [MarshalAs(UnmanagedType.U1)] bool border_inc, IntPtr count); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr set_in(string str, int basetype); + public static partial IntPtr stbox_space_time_tiles(IntPtr bounds, double xsize, double ysize, double zsize, IntPtr duration, IntPtr sorigin, long torigin, [MarshalAs(UnmanagedType.U1)] bool border_inc, IntPtr count); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial string set_out(IntPtr s, int maxdd); + public static partial IntPtr stbox_time_tiles(IntPtr bounds, IntPtr duration, long torigin, [MarshalAs(UnmanagedType.U1)] bool border_inc, IntPtr count); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr span_in(string str, int spantype); + public static partial IntPtr tgeo_space_split(IntPtr temp, double xsize, double ysize, double zsize, IntPtr sorigin, [MarshalAs(UnmanagedType.U1)] bool bitmatrix, [MarshalAs(UnmanagedType.U1)] bool border_inc); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial string span_out(IntPtr s, int maxdd); + public static partial IntPtr tgeo_space_time_split(IntPtr temp, double xsize, double ysize, double zsize, IntPtr duration, IntPtr sorigin, long torigin, [MarshalAs(UnmanagedType.U1)] bool bitmatrix, [MarshalAs(UnmanagedType.U1)] bool border_inc); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr spanset_in(string str, int spantype); + public static partial IntPtr geo_cluster_kmeans(IntPtr geoms, uint ngeoms, uint k, IntPtr count); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial string spanset_out(IntPtr ss, int maxdd); + public static partial IntPtr geo_cluster_dbscan(IntPtr geoms, uint ngeoms, double tolerance, int minpoints, IntPtr count); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr set_make(IntPtr values, int count, int basetype, [MarshalAs(UnmanagedType.U1)] bool order); + public static partial IntPtr geo_cluster_intersecting(IntPtr geoms, uint ngeoms, IntPtr count); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr set_make_exp(IntPtr values, int count, int maxcount, int basetype, [MarshalAs(UnmanagedType.U1)] bool order); + public static partial IntPtr geo_cluster_within(IntPtr geoms, uint ngeoms, double tolerance, IntPtr count); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr set_make_free(IntPtr values, int count, int basetype, [MarshalAs(UnmanagedType.U1)] bool order); + public static partial string cbuffer_as_ewkt(IntPtr cb, int maxdd); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr span_make(ulong lower, ulong upper, [MarshalAs(UnmanagedType.U1)] bool lower_inc, [MarshalAs(UnmanagedType.U1)] bool upper_inc, int basetype); + public static partial string cbuffer_as_hexwkb(IntPtr cb, IntPtr variant, IntPtr size_out); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void span_set(ulong lower, ulong upper, [MarshalAs(UnmanagedType.U1)] bool lower_inc, [MarshalAs(UnmanagedType.U1)] bool upper_inc, int basetype, int spantype, IntPtr s); + public static partial string cbuffer_as_text(IntPtr cb, int maxdd); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr spanset_make_exp(IntPtr spans, int count, int maxcount, [MarshalAs(UnmanagedType.U1)] bool normalize, [MarshalAs(UnmanagedType.U1)] bool order); + public static partial IntPtr cbuffer_as_wkb(IntPtr cb, IntPtr variant, IntPtr size_out); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr spanset_make_free(IntPtr spans, int count, [MarshalAs(UnmanagedType.U1)] bool normalize, [MarshalAs(UnmanagedType.U1)] bool order); + public static partial IntPtr cbuffer_from_hexwkb(string hexwkb); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr set_span(IntPtr s); + public static partial IntPtr cbuffer_from_wkb(IntPtr wkb, ulong size); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr set_spanset(IntPtr s); + public static partial IntPtr cbuffer_in(string str); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void value_set_span(ulong value, int basetype, IntPtr s); + public static partial string cbuffer_out(IntPtr cb, int maxdd); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr value_set(ulong d, int basetype); + public static partial IntPtr cbuffer_copy(IntPtr cb); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr value_span(ulong d, int basetype); + public static partial IntPtr cbuffer_make(IntPtr point, double radius); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr value_spanset(ulong d, int basetype); + public static partial IntPtr cbuffer_to_geom(IntPtr cb); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial ulong numspan_width(IntPtr s); + public static partial IntPtr cbuffer_to_stbox(IntPtr cb); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial ulong numspanset_width(IntPtr ss, [MarshalAs(UnmanagedType.U1)] bool boundspan); + public static partial IntPtr cbufferarr_to_geom(IntPtr cbarr, int count); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial ulong set_end_value(IntPtr s); + public static partial IntPtr geom_to_cbuffer(IntPtr gs); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int set_mem_size(IntPtr s); + public static partial int cbuffer_hash(IntPtr cb); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void set_set_subspan(IntPtr s, int minidx, int maxidx, IntPtr result); + public static partial IntPtr cbuffer_hash_extended(IntPtr cb, IntPtr seed); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void set_set_span(IntPtr s, IntPtr result); + public static partial IntPtr cbuffer_point(IntPtr cb); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial ulong set_start_value(IntPtr s); + public static partial double cbuffer_radius(IntPtr cb); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool set_value_n(IntPtr s, int n, IntPtr result); + public static partial IntPtr cbuffer_round(IntPtr cb, int maxdd); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr set_vals(IntPtr s); + public static partial IntPtr cbufferarr_round(IntPtr cbarr, int count, int maxdd); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr set_values(IntPtr s); + public static partial void cbuffer_set_srid(IntPtr cb, int srid); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial ulong spanset_lower(IntPtr ss); + public static partial int cbuffer_srid(IntPtr cb); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int spanset_mem_size(IntPtr ss); + public static partial IntPtr cbuffer_transform(IntPtr cb, int srid); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr spanset_sps(IntPtr ss); + public static partial IntPtr cbuffer_transform_pipeline(IntPtr cb, string pipelinestr, int srid, [MarshalAs(UnmanagedType.U1)] bool is_forward); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial ulong spanset_upper(IntPtr ss); + public static partial int contains_cbuffer_cbuffer(IntPtr cb1, IntPtr cb2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void datespan_set_tstzspan(IntPtr s1, IntPtr s2); + public static partial int covers_cbuffer_cbuffer(IntPtr cb1, IntPtr cb2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void floatspan_set_intspan(IntPtr s1, IntPtr s2); + public static partial int disjoint_cbuffer_cbuffer(IntPtr cb1, IntPtr cb2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void intspan_set_floatspan(IntPtr s1, IntPtr s2); + public static partial int dwithin_cbuffer_cbuffer(IntPtr cb1, IntPtr cb2, double dist); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr numset_shift_scale(IntPtr s, ulong shift, ulong width, [MarshalAs(UnmanagedType.U1)] bool hasshift, [MarshalAs(UnmanagedType.U1)] bool haswidth); + public static partial int intersects_cbuffer_cbuffer(IntPtr cb1, IntPtr cb2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr numspan_expand(IntPtr s, ulong value); + public static partial int touches_cbuffer_cbuffer(IntPtr cb1, IntPtr cb2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr numspan_shift_scale(IntPtr s, ulong shift, ulong width, [MarshalAs(UnmanagedType.U1)] bool hasshift, [MarshalAs(UnmanagedType.U1)] bool haswidth); + public static partial IntPtr cbuffer_tstzspan_to_stbox(IntPtr cb, IntPtr s); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr numspanset_shift_scale(IntPtr ss, ulong shift, ulong width, [MarshalAs(UnmanagedType.U1)] bool hasshift, [MarshalAs(UnmanagedType.U1)] bool haswidth); + public static partial IntPtr cbuffer_timestamptz_to_stbox(IntPtr cb, long t); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr set_compact(IntPtr s); + public static partial double distance_cbuffer_cbuffer(IntPtr cb1, IntPtr cb2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void span_expand(IntPtr s1, IntPtr s2); + public static partial double distance_cbuffer_geo(IntPtr cb, IntPtr gs); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr spanset_compact(IntPtr ss); + public static partial double distance_cbuffer_stbox(IntPtr cb, IntPtr box); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tbox_expand_value(IntPtr box, ulong value, int basetyp); + public static partial double nad_cbuffer_stbox(IntPtr cb, IntPtr box); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr textcat_textset_text_common(IntPtr s, IntPtr txt, [MarshalAs(UnmanagedType.U1)] bool invert); + public static partial int cbuffer_cmp(IntPtr cb1, IntPtr cb2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void tstzspan_set_datespan(IntPtr s1, IntPtr s2); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool cbuffer_eq(IntPtr cb1, IntPtr cb2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool adjacent_span_value(IntPtr s, ulong value); + public static partial bool cbuffer_ge(IntPtr cb1, IntPtr cb2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool adjacent_spanset_value(IntPtr ss, ulong value); + public static partial bool cbuffer_gt(IntPtr cb1, IntPtr cb2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool adjacent_value_spanset(ulong value, IntPtr ss); + public static partial bool cbuffer_le(IntPtr cb1, IntPtr cb2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool contained_value_set(ulong value, IntPtr s); + public static partial bool cbuffer_lt(IntPtr cb1, IntPtr cb2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool contained_value_span(ulong value, IntPtr s); + public static partial bool cbuffer_ne(IntPtr cb1, IntPtr cb2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool contained_value_spanset(ulong value, IntPtr ss); + public static partial bool cbuffer_nsame(IntPtr cb1, IntPtr cb2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool contains_set_value(IntPtr s, ulong value); + public static partial bool cbuffer_same(IntPtr cb1, IntPtr cb2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool contains_span_value(IntPtr s, ulong value); + public static partial IntPtr cbufferset_in(string str); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool contains_spanset_value(IntPtr ss, ulong value); + public static partial string cbufferset_out(IntPtr s, int maxdd); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool ovadj_span_span(IntPtr s1, IntPtr s2); + public static partial IntPtr cbufferset_make(IntPtr values, int count); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool left_set_value(IntPtr s, ulong value); + public static partial IntPtr cbuffer_to_set(IntPtr cb); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool left_span_value(IntPtr s, ulong value); + public static partial IntPtr cbufferset_end_value(IntPtr s); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool left_spanset_value(IntPtr ss, ulong value); + public static partial IntPtr cbufferset_start_value(IntPtr s); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool left_value_set(ulong value, IntPtr s); + public static partial bool cbufferset_value_n(IntPtr s, int n, IntPtr result); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool left_value_span(ulong value, IntPtr s); + public static partial IntPtr cbufferset_values(IntPtr s, IntPtr count); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool left_value_spanset(ulong value, IntPtr ss); + public static partial IntPtr cbuffer_union_transfn(IntPtr state, IntPtr cb); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool lfnadj_span_span(IntPtr s1, IntPtr s2); + public static partial bool contained_cbuffer_set(IntPtr cb, IntPtr s); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool overleft_set_value(IntPtr s, ulong value); + public static partial bool contains_set_cbuffer(IntPtr s, IntPtr cb); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool overleft_span_value(IntPtr s, ulong value); + public static partial IntPtr intersection_cbuffer_set(IntPtr cb, IntPtr s); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool overleft_spanset_value(IntPtr ss, ulong value); + public static partial IntPtr intersection_set_cbuffer(IntPtr s, IntPtr cb); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool overleft_value_set(ulong value, IntPtr s); + public static partial IntPtr minus_cbuffer_set(IntPtr cb, IntPtr s); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool overleft_value_span(ulong value, IntPtr s); + public static partial IntPtr minus_set_cbuffer(IntPtr s, IntPtr cb); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool overleft_value_spanset(ulong value, IntPtr ss); + public static partial IntPtr union_cbuffer_set(IntPtr cb, IntPtr s); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool overright_set_value(IntPtr s, ulong value); + public static partial IntPtr union_set_cbuffer(IntPtr s, IntPtr cb); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool overright_span_value(IntPtr s, ulong value); + public static partial IntPtr tcbuffer_in(string str); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool overright_spanset_value(IntPtr ss, ulong value); + public static partial IntPtr tcbuffer_from_mfjson(string mfjson); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool overright_value_set(ulong value, IntPtr s); + public static partial IntPtr tcbufferinst_make(IntPtr cb, long t); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool overright_value_span(ulong value, IntPtr s); + public static partial IntPtr tcbuffer_make(IntPtr tpoint, IntPtr tfloat); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool overright_value_spanset(ulong value, IntPtr ss); + public static partial IntPtr tcbuffer_from_base_temp(IntPtr cb, IntPtr temp); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool right_value_set(ulong value, IntPtr s); + public static partial IntPtr tcbufferseq_from_base_tstzset(IntPtr cb, IntPtr s); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool right_set_value(IntPtr s, ulong value); + public static partial IntPtr tcbufferseq_from_base_tstzspan(IntPtr cb, IntPtr s, int interp); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool right_value_span(ulong value, IntPtr s); + public static partial IntPtr tcbufferseqset_from_base_tstzspanset(IntPtr cb, IntPtr ss, int interp); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool right_value_spanset(ulong value, IntPtr ss); + public static partial IntPtr tcbuffer_end_value(IntPtr temp); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool right_span_value(IntPtr s, ulong value); + public static partial IntPtr tcbuffer_points(IntPtr temp); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool right_spanset_value(IntPtr ss, ulong value); + public static partial IntPtr tcbuffer_radius(IntPtr temp); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool bbox_type(int bboxtype); + public static partial IntPtr tcbuffer_traversed_area(IntPtr temp, [MarshalAs(UnmanagedType.U1)] bool unary_union); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial ulong bbox_get_size(int bboxtype); + public static partial IntPtr tcbuffer_convex_hull(IntPtr temp); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int bbox_max_dims(int bboxtype); + public static partial IntPtr tcbuffer_start_value(IntPtr temp); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool temporal_bbox_eq(IntPtr box1, IntPtr box2, int temptype); + public static partial bool tcbuffer_value_at_timestamptz(IntPtr temp, long t, [MarshalAs(UnmanagedType.U1)] bool strict, IntPtr value); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int temporal_bbox_cmp(IntPtr box1, IntPtr box2, int temptype); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tcbuffer_value_n(IntPtr temp, int n, IntPtr result); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void bbox_union_span_span(IntPtr s1, IntPtr s2, IntPtr result); + public static partial IntPtr tcbuffer_values(IntPtr temp, IntPtr count); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool inter_span_span(IntPtr s1, IntPtr s2, IntPtr result); + public static partial IntPtr tcbuffer_to_tfloat(IntPtr temp); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr intersection_set_value(IntPtr s, ulong value); + public static partial IntPtr tcbuffer_to_tgeompoint(IntPtr temp); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr intersection_span_value(IntPtr s, ulong value); + public static partial IntPtr tgeometry_to_tcbuffer(IntPtr temp); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr intersection_spanset_value(IntPtr ss, ulong value); + public static partial IntPtr tcbuffer_expand(IntPtr temp, double dist); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr intersection_value_set(ulong value, IntPtr s); + public static partial IntPtr tcbuffer_at_cbuffer(IntPtr temp, IntPtr cb); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr intersection_value_span(ulong value, IntPtr s); + public static partial IntPtr tcbuffer_at_geom(IntPtr temp, IntPtr gs); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr intersection_value_spanset(ulong value, IntPtr ss); + public static partial IntPtr tcbuffer_at_stbox(IntPtr temp, IntPtr box, [MarshalAs(UnmanagedType.U1)] bool border_inc); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int mi_span_span(IntPtr s1, IntPtr s2, IntPtr result); + public static partial IntPtr tcbuffer_minus_cbuffer(IntPtr temp, IntPtr cb); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr minus_set_value(IntPtr s, ulong value); + public static partial IntPtr tcbuffer_minus_geom(IntPtr temp, IntPtr gs); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr minus_span_value(IntPtr s, ulong value); + public static partial IntPtr tcbuffer_minus_stbox(IntPtr temp, IntPtr box, [MarshalAs(UnmanagedType.U1)] bool border_inc); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr minus_spanset_value(IntPtr ss, ulong value); + public static partial IntPtr tdistance_tcbuffer_cbuffer(IntPtr temp, IntPtr cb); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr minus_value_set(ulong value, IntPtr s); + public static partial IntPtr tdistance_tcbuffer_geo(IntPtr temp, IntPtr gs); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr minus_value_span(ulong value, IntPtr s); + public static partial IntPtr tdistance_tcbuffer_tcbuffer(IntPtr temp1, IntPtr temp2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr minus_value_spanset(ulong value, IntPtr ss); + public static partial double nad_tcbuffer_cbuffer(IntPtr temp, IntPtr cb); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr super_union_span_span(IntPtr s1, IntPtr s2); + public static partial double nad_tcbuffer_geo(IntPtr temp, IntPtr gs); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr union_set_value(IntPtr s, ulong value); + public static partial double nad_tcbuffer_stbox(IntPtr temp, IntPtr box); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr union_span_value(IntPtr s, ulong value); + public static partial double nad_tcbuffer_tcbuffer(IntPtr temp1, IntPtr temp2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr union_spanset_value(IntPtr ss, ulong value); + public static partial double mindistance_tcbuffer_tcbuffer(IntPtr temp1, IntPtr temp2, double threshold); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr union_value_set(ulong value, IntPtr s); + public static partial IntPtr nai_tcbuffer_cbuffer(IntPtr temp, IntPtr cb); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr union_value_span(ulong value, IntPtr s); + public static partial IntPtr nai_tcbuffer_geo(IntPtr temp, IntPtr gs); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr union_value_spanset(ulong value, IntPtr ss); + public static partial IntPtr nai_tcbuffer_tcbuffer(IntPtr temp1, IntPtr temp2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial ulong distance_set_set(IntPtr s1, IntPtr s2); + public static partial IntPtr shortestline_tcbuffer_cbuffer(IntPtr temp, IntPtr cb); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial ulong distance_set_value(IntPtr s, ulong value); + public static partial IntPtr shortestline_tcbuffer_geo(IntPtr temp, IntPtr gs); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial ulong distance_span_span(IntPtr s1, IntPtr s2); + public static partial IntPtr shortestline_tcbuffer_tcbuffer(IntPtr temp1, IntPtr temp2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial ulong distance_span_value(IntPtr s, ulong value); + public static partial int always_eq_cbuffer_tcbuffer(IntPtr cb, IntPtr temp); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial ulong distance_spanset_span(IntPtr ss, IntPtr s); + public static partial int always_eq_tcbuffer_cbuffer(IntPtr temp, IntPtr cb); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial ulong distance_spanset_spanset(IntPtr ss1, IntPtr ss2); + public static partial int always_eq_tcbuffer_tcbuffer(IntPtr temp1, IntPtr temp2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial ulong distance_spanset_value(IntPtr ss, ulong value); + public static partial int always_ne_cbuffer_tcbuffer(IntPtr cb, IntPtr temp); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial ulong distance_value_value(ulong l, ulong r, int basetype); + public static partial int always_ne_tcbuffer_cbuffer(IntPtr temp, IntPtr cb); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr spanbase_extent_transfn(IntPtr state, ulong value, int basetype); + public static partial int always_ne_tcbuffer_tcbuffer(IntPtr temp1, IntPtr temp2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr value_union_transfn(IntPtr state, ulong value, int basetype); + public static partial int ever_eq_cbuffer_tcbuffer(IntPtr cb, IntPtr temp); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr number_tstzspan_to_tbox(ulong d, int basetype, IntPtr s); + public static partial int ever_eq_tcbuffer_cbuffer(IntPtr temp, IntPtr cb); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr number_timestamptz_to_tbox(ulong d, int basetype, long t); + public static partial int ever_eq_tcbuffer_tcbuffer(IntPtr temp1, IntPtr temp2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void tbox_set(IntPtr s, IntPtr p, IntPtr box); + public static partial int ever_ne_cbuffer_tcbuffer(IntPtr cb, IntPtr temp); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void float_set_tbox(double d, IntPtr box); + public static partial int ever_ne_tcbuffer_cbuffer(IntPtr temp, IntPtr cb); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void int_set_tbox(int i, IntPtr box); + public static partial int ever_ne_tcbuffer_tcbuffer(IntPtr temp1, IntPtr temp2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void number_set_tbox(ulong d, int basetype, IntPtr box); + public static partial IntPtr teq_cbuffer_tcbuffer(IntPtr cb, IntPtr temp); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr number_tbox(ulong value, int basetype); + public static partial IntPtr teq_tcbuffer_cbuffer(IntPtr temp, IntPtr cb); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void numset_set_tbox(IntPtr s, IntPtr box); + public static partial IntPtr tne_cbuffer_tcbuffer(IntPtr cb, IntPtr temp); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void numspan_set_tbox(IntPtr span, IntPtr box); + public static partial IntPtr tne_tcbuffer_cbuffer(IntPtr temp, IntPtr cb); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void timestamptz_set_tbox(long t, IntPtr box); + public static partial int acontains_cbuffer_tcbuffer(IntPtr cb, IntPtr temp); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void tstzset_set_tbox(IntPtr s, IntPtr box); + public static partial int acontains_geo_tcbuffer(IntPtr gs, IntPtr temp); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void tstzspan_set_tbox(IntPtr s, IntPtr box); + public static partial int acontains_tcbuffer_cbuffer(IntPtr temp, IntPtr cb); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tbox_shift_scale_value(IntPtr box, ulong shift, ulong width, [MarshalAs(UnmanagedType.U1)] bool hasshift, [MarshalAs(UnmanagedType.U1)] bool haswidth); + public static partial int acontains_tcbuffer_geo(IntPtr temp, IntPtr gs); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void tbox_expand(IntPtr box1, IntPtr box2); + public static partial int acovers_cbuffer_tcbuffer(IntPtr cb, IntPtr temp); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool inter_tbox_tbox(IntPtr box1, IntPtr box2, IntPtr result); + public static partial int acovers_geo_tcbuffer(IntPtr gs, IntPtr temp); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tboolinst_from_mfjson(IntPtr mfjson); + public static partial int acovers_tcbuffer_cbuffer(IntPtr temp, IntPtr cb); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tboolinst_in(string str); + public static partial int acovers_tcbuffer_geo(IntPtr temp, IntPtr gs); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tboolseq_from_mfjson(IntPtr mfjson); + public static partial int acovers_tcbuffer_tcbuffer(IntPtr temp1, IntPtr temp2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tboolseq_in(string str, int interp); + public static partial int adisjoint_tcbuffer_geo(IntPtr temp, IntPtr gs); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tboolseqset_from_mfjson(IntPtr mfjson); + public static partial int adisjoint_tcbuffer_cbuffer(IntPtr temp, IntPtr cb); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tboolseqset_in(string str); + public static partial int adisjoint_tcbuffer_tcbuffer(IntPtr temp1, IntPtr temp2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr temporal_in(string str, int temptype); + public static partial int adwithin_tcbuffer_geo(IntPtr temp, IntPtr gs, double dist); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial string temporal_out(IntPtr temp, int maxdd); + public static partial int adwithin_tcbuffer_cbuffer(IntPtr temp, IntPtr cb, double dist); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr temparr_out(IntPtr temparr, int count, int maxdd); + public static partial int adwithin_tcbuffer_tcbuffer(IntPtr temp1, IntPtr temp2, double dist); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tfloatinst_from_mfjson(IntPtr mfjson); + public static partial int aintersects_tcbuffer_geo(IntPtr temp, IntPtr gs); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tfloatinst_in(string str); + public static partial int aintersects_tcbuffer_cbuffer(IntPtr temp, IntPtr cb); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tfloatseq_from_mfjson(IntPtr mfjson, int interp); + public static partial int aintersects_tcbuffer_tcbuffer(IntPtr temp1, IntPtr temp2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tfloatseq_in(string str, int interp); + public static partial int atouches_tcbuffer_geo(IntPtr temp, IntPtr gs); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tfloatseqset_from_mfjson(IntPtr mfjson, int interp); + public static partial int atouches_tcbuffer_cbuffer(IntPtr temp, IntPtr cb); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tfloatseqset_in(string str); + public static partial int atouches_tcbuffer_tcbuffer(IntPtr temp1, IntPtr temp2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tinstant_from_mfjson(IntPtr mfjson, [MarshalAs(UnmanagedType.U1)] bool spatial, int srid, int temptype); + public static partial int econtains_cbuffer_tcbuffer(IntPtr cb, IntPtr temp); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tinstant_in(string str, int temptype); + public static partial int econtains_tcbuffer_cbuffer(IntPtr temp, IntPtr cb); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial string tinstant_out(IntPtr inst, int maxdd); + public static partial int econtains_tcbuffer_geo(IntPtr temp, IntPtr gs); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tintinst_from_mfjson(IntPtr mfjson); + public static partial int ecovers_cbuffer_tcbuffer(IntPtr cb, IntPtr temp); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tintinst_in(string str); + public static partial int ecovers_geo_tcbuffer(IntPtr gs, IntPtr temp); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tintseq_from_mfjson(IntPtr mfjson); + public static partial int ecovers_tcbuffer_cbuffer(IntPtr temp, IntPtr cb); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tintseq_in(string str, int interp); + public static partial int ecovers_tcbuffer_geo(IntPtr temp, IntPtr gs); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tintseqset_from_mfjson(IntPtr mfjson); + public static partial int ecovers_tcbuffer_tcbuffer(IntPtr temp1, IntPtr temp2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tintseqset_in(string str); + public static partial int edisjoint_tcbuffer_geo(IntPtr temp, IntPtr gs); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequence_from_mfjson(IntPtr mfjson, [MarshalAs(UnmanagedType.U1)] bool spatial, int srid, int temptype, int interp); + public static partial int edisjoint_tcbuffer_cbuffer(IntPtr temp, IntPtr cb); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequence_in(string str, int temptype, int interp); + public static partial int edwithin_tcbuffer_geo(IntPtr temp, IntPtr gs, double dist); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial string tsequence_out(IntPtr seq, int maxdd); + public static partial int edwithin_tcbuffer_cbuffer(IntPtr temp, IntPtr cb, double dist); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequenceset_from_mfjson(IntPtr mfjson, [MarshalAs(UnmanagedType.U1)] bool spatial, int srid, int temptype, int interp); + public static partial int edwithin_tcbuffer_tcbuffer(IntPtr temp1, IntPtr temp2, double dist); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequenceset_in(string str, int temptype, int interp); + public static partial int eintersects_tcbuffer_geo(IntPtr temp, IntPtr gs); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial string tsequenceset_out(IntPtr ss, int maxdd); + public static partial int eintersects_tcbuffer_cbuffer(IntPtr temp, IntPtr cb); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr ttextinst_from_mfjson(IntPtr mfjson); + public static partial int eintersects_tcbuffer_tcbuffer(IntPtr temp1, IntPtr temp2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr ttextinst_in(string str); + public static partial int etouches_tcbuffer_geo(IntPtr temp, IntPtr gs); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr ttextseq_from_mfjson(IntPtr mfjson); + public static partial int etouches_tcbuffer_cbuffer(IntPtr temp, IntPtr cb); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr ttextseq_in(string str, int interp); + public static partial int etouches_tcbuffer_tcbuffer(IntPtr temp1, IntPtr temp2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr ttextseqset_from_mfjson(IntPtr mfjson); + public static partial IntPtr tcontains_cbuffer_tcbuffer(IntPtr cb, IntPtr temp); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr ttextseqset_in(string str); + public static partial IntPtr tcontains_geo_tcbuffer(IntPtr gs, IntPtr temp); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr temporal_from_mfjson(string mfjson, int temptype); + public static partial IntPtr tcontains_tcbuffer_geo(IntPtr temp, IntPtr gs); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr temporal_from_base_temp(ulong value, int temptype, IntPtr temp); + public static partial IntPtr tcontains_tcbuffer_cbuffer(IntPtr temp, IntPtr cb); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tinstant_copy(IntPtr inst); + public static partial IntPtr tcontains_tcbuffer_tcbuffer(IntPtr temp1, IntPtr temp2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tinstant_make(ulong value, int temptype, long t); + public static partial IntPtr tcovers_cbuffer_tcbuffer(IntPtr cb, IntPtr temp); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tinstant_make_free(ulong value, int temptype, long t); + public static partial IntPtr tcovers_geo_tcbuffer(IntPtr gs, IntPtr temp); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequence_copy(IntPtr seq); + public static partial IntPtr tcovers_tcbuffer_geo(IntPtr temp, IntPtr gs); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequence_from_base_temp(ulong value, int temptype, IntPtr seq); + public static partial IntPtr tcovers_tcbuffer_cbuffer(IntPtr temp, IntPtr cb); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequence_from_base_tstzset(ulong value, int temptype, IntPtr s); + public static partial IntPtr tcovers_tcbuffer_tcbuffer(IntPtr temp1, IntPtr temp2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequence_from_base_tstzspan(ulong value, int temptype, IntPtr s, int interp); + public static partial IntPtr tdwithin_geo_tcbuffer(IntPtr gs, IntPtr temp, double dist); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequence_make_exp(IntPtr instants, int count, int maxcount, [MarshalAs(UnmanagedType.U1)] bool lower_inc, [MarshalAs(UnmanagedType.U1)] bool upper_inc, int interp, [MarshalAs(UnmanagedType.U1)] bool normalize); + public static partial IntPtr tdwithin_tcbuffer_geo(IntPtr temp, IntPtr gs, double dist); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequence_make_free(IntPtr instants, int count, [MarshalAs(UnmanagedType.U1)] bool lower_inc, [MarshalAs(UnmanagedType.U1)] bool upper_inc, int interp, [MarshalAs(UnmanagedType.U1)] bool normalize); + public static partial IntPtr tdwithin_tcbuffer_cbuffer(IntPtr temp, IntPtr cb, double dist); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequenceset_copy(IntPtr ss); + public static partial IntPtr tdwithin_tcbuffer_tcbuffer(IntPtr temp1, IntPtr temp2, double dist); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tseqsetarr_to_tseqset(IntPtr seqsets, int count, int totalseqs); + public static partial IntPtr tdisjoint_cbuffer_tcbuffer(IntPtr cb, IntPtr temp); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequenceset_from_base_temp(ulong value, int temptype, IntPtr ss); + public static partial IntPtr tdisjoint_geo_tcbuffer(IntPtr gs, IntPtr temp); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequenceset_from_base_tstzspanset(ulong value, int temptype, IntPtr ss, int interp); + public static partial IntPtr tdisjoint_tcbuffer_geo(IntPtr temp, IntPtr gs); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequenceset_make_exp(IntPtr sequences, int count, int maxcount, [MarshalAs(UnmanagedType.U1)] bool normalize); + public static partial IntPtr tdisjoint_tcbuffer_cbuffer(IntPtr temp, IntPtr cb); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequenceset_make_free(IntPtr sequences, int count, [MarshalAs(UnmanagedType.U1)] bool normalize); + public static partial IntPtr tdisjoint_tcbuffer_tcbuffer(IntPtr temp1, IntPtr temp2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void temporal_set_tstzspan(IntPtr temp, IntPtr s); + public static partial IntPtr tintersects_cbuffer_tcbuffer(IntPtr cb, IntPtr temp); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void tinstant_set_tstzspan(IntPtr inst, IntPtr s); + public static partial IntPtr tintersects_geo_tcbuffer(IntPtr gs, IntPtr temp); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void tnumber_set_tbox(IntPtr temp, IntPtr box); + public static partial IntPtr tintersects_tcbuffer_geo(IntPtr temp, IntPtr gs); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void tnumberinst_set_tbox(IntPtr inst, IntPtr box); + public static partial IntPtr tintersects_tcbuffer_cbuffer(IntPtr temp, IntPtr cb); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void tnumberseq_set_tbox(IntPtr seq, IntPtr box); + public static partial IntPtr tintersects_tcbuffer_tcbuffer(IntPtr temp1, IntPtr temp2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void tnumberseqset_set_tbox(IntPtr ss, IntPtr box); + public static partial IntPtr ttouches_geo_tcbuffer(IntPtr gs, IntPtr temp); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void tsequence_set_tstzspan(IntPtr seq, IntPtr s); + public static partial IntPtr ttouches_tcbuffer_geo(IntPtr temp, IntPtr gs); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void tsequenceset_set_tstzspan(IntPtr ss, IntPtr s); + public static partial IntPtr ttouches_cbuffer_tcbuffer(IntPtr cb, IntPtr temp); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr temporal_end_inst(IntPtr temp); + public static partial IntPtr ttouches_tcbuffer_cbuffer(IntPtr temp, IntPtr cb); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial ulong temporal_end_value(IntPtr temp); + public static partial IntPtr ttouches_tcbuffer_tcbuffer(IntPtr temp1, IntPtr temp2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr temporal_inst_n(IntPtr temp, int n); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_valid_cbuffer_cbuffer(IntPtr cb1, IntPtr cb2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr temporal_insts_p(IntPtr temp, IntPtr count); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_valid_cbuffer_geo(IntPtr cb, IntPtr gs); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr temporal_max_inst_p(IntPtr temp); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_valid_cbuffer_stbox(IntPtr cb, IntPtr box); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial ulong temporal_max_value(IntPtr temp); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_valid_cbufferset_cbuffer(IntPtr s, IntPtr cb); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial ulong temporal_mem_size(IntPtr temp); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool cbuffer_collinear(IntPtr cb1, IntPtr cb2, IntPtr cbuf3, double ratio); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr temporal_min_inst_p(IntPtr temp); + public static partial IntPtr cbuffersegm_interpolate(IntPtr start, IntPtr end, IntPtr ratio); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial ulong temporal_min_value(IntPtr temp); + public static partial IntPtr cbuffersegm_locate(IntPtr start, IntPtr end, IntPtr value); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr temporal_sequences_p(IntPtr temp, IntPtr count); + public static partial IntPtr cbuffer_parse(IntPtr str, [MarshalAs(UnmanagedType.U1)] bool end); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void temporal_set_bbox(IntPtr temp, IntPtr box); + public static partial string cbuffer_wkt_out(long value, int maxdd, [MarshalAs(UnmanagedType.U1)] bool extended); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr temporal_start_inst(IntPtr temp); + public static partial IntPtr cbuffer_point_p(IntPtr cb); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial ulong temporal_start_value(IntPtr temp); + public static partial long datum_cbuffer_round(long buffer, long size); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr temporal_values_p(IntPtr temp, IntPtr count); + public static partial IntPtr cbuffer_transf_pj(IntPtr cb, int srid_to, IntPtr pj); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool temporal_value_n(IntPtr temp, int n, IntPtr result); + public static partial double cbuffer_distance(IntPtr cb1, IntPtr cb2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr temporal_values(IntPtr temp, IntPtr count); + public static partial long datum_cbuffer_distance(long cb1, long cb2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial uint tinstant_hash(IntPtr inst); + public static partial int cbuffersegm_distance_turnpt(IntPtr start1, IntPtr end1, IntPtr start2, IntPtr end2, long lower, long upper, IntPtr t1, IntPtr t2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tinstant_insts(IntPtr inst, IntPtr count); + public static partial int cbuffer_contains(IntPtr cb1, IntPtr cb2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void tinstant_set_bbox(IntPtr inst, IntPtr box); + public static partial int cbuffer_covers(IntPtr cb1, IntPtr cb2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tinstant_time(IntPtr inst); + public static partial int cbuffer_disjoint(IntPtr cb1, IntPtr cb2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tinstant_timestamps(IntPtr inst, IntPtr count); + public static partial int cbuffer_intersects(IntPtr cb1, IntPtr cb2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial ulong tinstant_value_p(IntPtr inst); + public static partial int cbuffer_dwithin(IntPtr cb1, IntPtr cb2, double dist); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial ulong tinstant_value(IntPtr inst); + public static partial int cbuffer_touches(IntPtr cb1, IntPtr cb2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool tinstant_value_at_timestamptz(IntPtr inst, long t, IntPtr result); + public static partial long datum_cbuffer_contains(long cb1, long cb2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tinstant_values_p(IntPtr inst, IntPtr count); + public static partial long datum_cbuffer_covers(long cb1, long cb2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void tnumber_set_span(IntPtr temp, IntPtr span); + public static partial long datum_cbuffer_disjoint(long cb1, long cb2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tnumberinst_valuespans(IntPtr inst); + public static partial long datum_cbuffer_intersects(long cb1, long cb2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial double tnumberseq_avg_val(IntPtr seq); + public static partial long datum_cbuffer_dwithin(long cb1, long cb2, long dist); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tnumberseq_valuespans(IntPtr seq); + public static partial long datum_cbuffer_touches(long cb1, long cb2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial double tnumberseqset_avg_val(IntPtr ss); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool temptype_subtype(int subtype); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tnumberseqset_valuespans(IntPtr ss); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool temptype_subtype_all(int subtype); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequence_duration(IntPtr seq); + public static partial string tempsubtype_name(int subtype); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial long tsequence_end_timestamptz(IntPtr seq); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tempsubtype_from_string(string str, IntPtr subtype); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial uint tsequence_hash(IntPtr seq); + public static partial string meosoper_name(IntPtr oper); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequence_insts_p(IntPtr seq); + public static partial IntPtr meosoper_from_string(string name); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequence_max_inst_p(IntPtr seq); + public static partial string interptype_name(int interp); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial ulong tsequence_max_val(IntPtr seq); + public static partial int interptype_from_string(string interp_str); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequence_min_inst_p(IntPtr seq); + public static partial int meos_typeof_hexwkb(string hexwkb); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial ulong tsequence_min_val(IntPtr seq); + public static partial string meostype_name(int type); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequence_segments(IntPtr seq, IntPtr count); + public static partial int temptype_basetype(int type); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequence_seqs(IntPtr seq, IntPtr count); + public static partial int settype_basetype(int type); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial long tsequence_start_timestamptz(IntPtr seq); + public static partial int spantype_basetype(int type); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequence_time(IntPtr seq); + public static partial int spantype_spansettype(int type); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequence_timestamps(IntPtr seq, IntPtr count); + public static partial int spansettype_spantype(int type); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool tsequence_value_at_timestamptz(IntPtr seq, long t, [MarshalAs(UnmanagedType.U1)] bool strict, IntPtr result); + public static partial int basetype_spantype(int type); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequence_values_p(IntPtr seq, IntPtr count); + public static partial int basetype_settype(int type); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequenceset_duration(IntPtr ss, [MarshalAs(UnmanagedType.U1)] bool boundspan); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tnumber_basetype(int type); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial long tsequenceset_end_timestamptz(IntPtr ss); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool geo_basetype(int type); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial uint tsequenceset_hash(IntPtr ss); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool meos_basetype(int type); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequenceset_inst_n(IntPtr ss, int n); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool alphanum_basetype(int type); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequenceset_insts_p(IntPtr ss); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool alphanum_temptype(int type); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequenceset_max_inst_p(IntPtr ss); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool time_type(int type); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial ulong tsequenceset_max_val(IntPtr ss); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool set_basetype(int type); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool set_type(int type); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool numset_type(int type); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_numset_type(int type); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool timeset_type(int type); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool set_spantype(int type); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_set_spantype(int type); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool alphanumset_type(int settype); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool geoset_type(int type); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_geoset_type(int type); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool spatialset_type(int type); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_spatialset_type(int type); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool span_basetype(int type); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool span_canon_basetype(int type); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool span_type(int type); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool type_span_bbox(int type); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool span_tbox_type(int type); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_span_tbox_type(int type); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool numspan_basetype(int type); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool numspan_type(int type); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_numspan_type(int type); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool timespan_basetype(int type); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool timespan_type(int type); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool spanset_type(int type); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool timespanset_type(int type); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_timespanset_type(int type); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool temporal_type(int type); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool temporal_basetype(int type); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool temptype_supports_linear(int type); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool basetype_byvalue(int type); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool basetype_varlength(int type); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial short meostype_length(int type); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool talphanum_type(int type); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool talpha_type(int type); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tnumber_type(int type); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_tnumber_type(int type); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_tnumber_basetype(int type); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tnumber_spantype(int type); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool spatial_basetype(int type); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tspatial_type(int type); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_tspatial_type(int type); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tpoint_type(int type); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_tpoint_type(int type); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tgeo_type(int type); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_tgeo_type(int type); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tgeo_type_all(int type); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_tgeo_type_all(int type); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tgeometry_type(int type); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_tgeometry_type(int type); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tgeodetic_type(int type); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_tgeodetic_type(int type); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_tnumber_tpoint_type(int type); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr gsl_get_generation_rng(); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr gsl_get_aggregation_rng(); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_ceil(long d); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_degrees(long d, long normalize); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_float_round(long value, long size); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_floor(long d); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int datum_hash(long d, int basetype); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr datum_hash_extended(long d, int basetype, IntPtr seed); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_radians(long d); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void floatspan_round_set(IntPtr s, int maxdd, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr set_in(string str, int basetype); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string set_out(IntPtr s, int maxdd); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr span_in(string str, int spantype); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string span_out(IntPtr s, int maxdd); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr spanset_in(string str, int spantype); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string spanset_out(IntPtr ss, int maxdd); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr set_make(IntPtr values, int count, int basetype, [MarshalAs(UnmanagedType.U1)] bool order); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr set_make_exp(IntPtr values, int count, int maxcount, int basetype, [MarshalAs(UnmanagedType.U1)] bool order); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr set_make_free(IntPtr values, int count, int basetype, [MarshalAs(UnmanagedType.U1)] bool order); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr span_make(long lower, long upper, [MarshalAs(UnmanagedType.U1)] bool lower_inc, [MarshalAs(UnmanagedType.U1)] bool upper_inc, int basetype); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void span_set(long lower, long upper, [MarshalAs(UnmanagedType.U1)] bool lower_inc, [MarshalAs(UnmanagedType.U1)] bool upper_inc, int basetype, int spantype, IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr spanset_make_exp(IntPtr spans, int count, int maxcount, [MarshalAs(UnmanagedType.U1)] bool normalize, [MarshalAs(UnmanagedType.U1)] bool order); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr spanset_make_free(IntPtr spans, int count, [MarshalAs(UnmanagedType.U1)] bool normalize, [MarshalAs(UnmanagedType.U1)] bool order); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr set_span(IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr set_spanset(IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void value_set_span(long value, int basetype, IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr value_set(long d, int basetype); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr value_span(long d, int basetype); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr value_spanset(long d, int basetype); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long numspan_width(IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long numspanset_width(IntPtr ss, [MarshalAs(UnmanagedType.U1)] bool boundspan); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long set_end_value(IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int set_mem_size(IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void set_set_subspan(IntPtr s, int minidx, int maxidx, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void set_set_span(IntPtr s, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long set_start_value(IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool set_value_n(IntPtr s, int n, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr set_vals(IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr set_values(IntPtr s, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long spanset_lower(IntPtr ss); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int spanset_mem_size(IntPtr ss); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr spanset_sps(IntPtr ss, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long spanset_upper(IntPtr ss); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void datespan_set_tstzspan(IntPtr s1, IntPtr s2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void bigintspan_set_floatspan(IntPtr s1, IntPtr s2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void bigintspan_set_intspan(IntPtr s1, IntPtr s2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void floatspan_set_bigintspan(IntPtr s1, IntPtr s2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void floatspan_set_intspan(IntPtr s1, IntPtr s2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void intspan_set_bigintspan(IntPtr s1, IntPtr s2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void intspan_set_floatspan(IntPtr s1, IntPtr s2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr numset_shift_scale(IntPtr s, long shift, long width, [MarshalAs(UnmanagedType.U1)] bool hasshift, [MarshalAs(UnmanagedType.U1)] bool haswidth); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr numspan_expand(IntPtr s, long value); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr numspan_shift_scale(IntPtr s, long shift, long width, [MarshalAs(UnmanagedType.U1)] bool hasshift, [MarshalAs(UnmanagedType.U1)] bool haswidth); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr numspanset_shift_scale(IntPtr ss, long shift, long width, [MarshalAs(UnmanagedType.U1)] bool hasshift, [MarshalAs(UnmanagedType.U1)] bool haswidth); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr set_compact(IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void span_expand(IntPtr s1, IntPtr s2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr spanset_compact(IntPtr ss); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tbox_expand_value(IntPtr box, long value, int basetyp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr textcat_textset_text_common(IntPtr s, IntPtr txt, [MarshalAs(UnmanagedType.U1)] bool invert); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void tstzspan_set_datespan(IntPtr s1, IntPtr s2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool adjacent_span_value(IntPtr s, long value); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool adjacent_spanset_value(IntPtr ss, long value); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool adjacent_value_spanset(long value, IntPtr ss); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool contained_value_set(long value, IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool contained_value_span(long value, IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool contained_value_spanset(long value, IntPtr ss); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool contains_set_value(IntPtr s, long value); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool contains_span_value(IntPtr s, long value); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool contains_spanset_value(IntPtr ss, long value); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ovadj_span_span(IntPtr s1, IntPtr s2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool left_set_value(IntPtr s, long value); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool left_span_value(IntPtr s, long value); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool left_spanset_value(IntPtr ss, long value); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool left_value_set(long value, IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool left_value_span(long value, IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool left_value_spanset(long value, IntPtr ss); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool lfnadj_span_span(IntPtr s1, IntPtr s2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool overleft_set_value(IntPtr s, long value); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool overleft_span_value(IntPtr s, long value); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool overleft_spanset_value(IntPtr ss, long value); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool overleft_value_set(long value, IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool overleft_value_span(long value, IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool overleft_value_spanset(long value, IntPtr ss); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool overright_set_value(IntPtr s, long value); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool overright_span_value(IntPtr s, long value); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool overright_spanset_value(IntPtr ss, long value); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool overright_value_set(long value, IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool overright_value_span(long value, IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool overright_value_spanset(long value, IntPtr ss); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool right_value_set(long value, IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool right_set_value(IntPtr s, long value); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool right_value_span(long value, IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool right_value_spanset(long value, IntPtr ss); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool right_span_value(IntPtr s, long value); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool right_spanset_value(IntPtr ss, long value); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool bbox_type(int bboxtype); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial ulong bbox_get_size(int bboxtype); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int bbox_max_dims(int bboxtype); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool temporal_bbox_eq(IntPtr box1, IntPtr box2, int temptype); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int temporal_bbox_cmp(IntPtr box1, IntPtr box2, int temptype); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void bbox_union_span_span(IntPtr s1, IntPtr s2, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool inter_span_span(IntPtr s1, IntPtr s2, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr intersection_set_value(IntPtr s, long value); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr intersection_span_value(IntPtr s, long value); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr intersection_spanset_value(IntPtr ss, long value); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr intersection_value_set(long value, IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr intersection_value_span(long value, IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr intersection_value_spanset(long value, IntPtr ss); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int mi_span_span(IntPtr s1, IntPtr s2, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr minus_set_value(IntPtr s, long value); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr minus_span_value(IntPtr s, long value); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr minus_spanset_value(IntPtr ss, long value); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr minus_value_set(long value, IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr minus_value_span(long value, IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr minus_value_spanset(long value, IntPtr ss); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr union_set_value(IntPtr s, long value); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr union_span_value(IntPtr s, long value); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr union_spanset_value(IntPtr ss, long value); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr union_value_set(long value, IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr union_value_span(long value, IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr union_value_spanset(long value, IntPtr ss); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long distance_set_set(IntPtr s1, IntPtr s2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long distance_set_value(IntPtr s, long value); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long distance_span_span(IntPtr s1, IntPtr s2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long distance_span_value(IntPtr s, long value); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long distance_spanset_span(IntPtr ss, IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long distance_spanset_spanset(IntPtr ss1, IntPtr ss2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long distance_spanset_value(IntPtr ss, long value); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long distance_value_value(long l, long r, int basetype); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr spanbase_extent_transfn(IntPtr state, long value, int basetype); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr value_union_transfn(IntPtr state, long value, int basetype); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr number_tstzspan_to_tbox(long d, int basetype, IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr number_timestamptz_to_tbox(long d, int basetype, long t); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void tbox_set(IntPtr s, IntPtr p, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void float_set_tbox(double d, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void int_set_tbox(int i, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void number_set_tbox(long d, int basetype, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr number_tbox(long value, int basetype); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void numset_set_tbox(IntPtr s, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void numspan_set_tbox(IntPtr span, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void timestamptz_set_tbox(long t, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void tstzset_set_tbox(IntPtr s, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void tstzspan_set_tbox(IntPtr s, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tbox_shift_scale_value(IntPtr box, long shift, long width, [MarshalAs(UnmanagedType.U1)] bool hasshift, [MarshalAs(UnmanagedType.U1)] bool haswidth); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void tbox_expand(IntPtr box1, IntPtr box2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool inter_tbox_tbox(IntPtr box1, IntPtr box2, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tboolinst_from_mfjson(IntPtr mfjson); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tboolinst_in(string str); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tboolseq_from_mfjson(IntPtr mfjson); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tboolseq_in(string str, int interp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tboolseqset_from_mfjson(IntPtr mfjson); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tboolseqset_in(string str); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr temporal_in(string str, int temptype); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string temporal_out(IntPtr temp, int maxdd); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr temparr_out(IntPtr temparr, int count, int maxdd); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tfloatinst_from_mfjson(IntPtr mfjson); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tfloatinst_in(string str); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tfloatseq_from_mfjson(IntPtr mfjson, int interp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tfloatseq_in(string str, int interp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tfloatseqset_from_mfjson(IntPtr mfjson, int interp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tfloatseqset_in(string str); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tinstant_from_mfjson(IntPtr mfjson, [MarshalAs(UnmanagedType.U1)] bool spatial, int srid, int temptype); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tinstant_in(string str, int temptype); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string tinstant_out(IntPtr inst, int maxdd); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tbigintinst_from_mfjson(IntPtr mfjson); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tbigintinst_in(string str); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tbigintseq_from_mfjson(IntPtr mfjson); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tbigintseqset_from_mfjson(IntPtr mfjson); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tbigintseqset_in(string str); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tintinst_from_mfjson(IntPtr mfjson); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tintinst_in(string str); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tintseq_from_mfjson(IntPtr mfjson); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tintseq_in(string str, int interp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tintseqset_from_mfjson(IntPtr mfjson); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tintseqset_in(string str); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequence_from_mfjson(IntPtr mfjson, [MarshalAs(UnmanagedType.U1)] bool spatial, int srid, int temptype, int interp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequence_in(string str, int temptype, int interp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string tsequence_out(IntPtr seq, int maxdd); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequenceset_from_mfjson(IntPtr mfjson, [MarshalAs(UnmanagedType.U1)] bool spatial, int srid, int temptype, int interp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequenceset_in(string str, int temptype, int interp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string tsequenceset_out(IntPtr ss, int maxdd); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr ttextinst_from_mfjson(IntPtr mfjson); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr ttextinst_in(string str); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr ttextseq_from_mfjson(IntPtr mfjson); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr ttextseq_in(string str, int interp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr ttextseqset_from_mfjson(IntPtr mfjson); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr ttextseqset_in(string str); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr temporal_from_mfjson(string mfjson, int temptype); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr temporal_from_base_temp(long value, int temptype, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tinstant_copy(IntPtr inst); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tinstant_make(long value, int temptype, long t); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tinstant_make_free(long value, int temptype, long t); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequence_copy(IntPtr seq); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequence_from_base_temp(long value, int temptype, IntPtr seq); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequence_from_base_tstzset(long value, int temptype, IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequence_from_base_tstzspan(long value, int temptype, IntPtr s, int interp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequence_make_exp(IntPtr instants, int count, int maxcount, [MarshalAs(UnmanagedType.U1)] bool lower_inc, [MarshalAs(UnmanagedType.U1)] bool upper_inc, int interp, [MarshalAs(UnmanagedType.U1)] bool normalize); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequence_make_free(IntPtr instants, int count, [MarshalAs(UnmanagedType.U1)] bool lower_inc, [MarshalAs(UnmanagedType.U1)] bool upper_inc, int interp, [MarshalAs(UnmanagedType.U1)] bool normalize); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequenceset_copy(IntPtr ss); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tseqsetarr_to_tseqset(IntPtr seqsets, int count, int totalseqs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequenceset_from_base_temp(long value, int temptype, IntPtr ss); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequenceset_from_base_tstzspanset(long value, int temptype, IntPtr ss, int interp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequenceset_make_exp(IntPtr sequences, int count, int maxcount, [MarshalAs(UnmanagedType.U1)] bool normalize); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequenceset_make_free(IntPtr sequences, int count, [MarshalAs(UnmanagedType.U1)] bool normalize); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void temporal_set_tstzspan(IntPtr temp, IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void tinstant_set_tstzspan(IntPtr inst, IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void tnumber_set_tbox(IntPtr temp, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void tnumberinst_set_tbox(IntPtr inst, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void tnumberseq_set_tbox(IntPtr seq, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void tnumberseqset_set_tbox(IntPtr ss, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void tsequence_set_tstzspan(IntPtr seq, IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void tsequenceset_set_tstzspan(IntPtr ss, IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr temporal_end_inst(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long temporal_end_value(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr temporal_inst_n(IntPtr temp, int n); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr temporal_insts_p(IntPtr temp, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr temporal_max_inst_p(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long temporal_max_value(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial ulong temporal_mem_size(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr temporal_min_inst_p(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long temporal_min_value(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr temporal_sequences_p(IntPtr temp, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void temporal_set_bbox(IntPtr temp, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr temporal_start_inst(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long temporal_start_value(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr temporal_values_p(IntPtr temp, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool temporal_value_n(IntPtr temp, int n, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr temporal_values(IntPtr temp, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int tinstant_hash(IntPtr inst); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tinstant_insts(IntPtr inst, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void tinstant_set_bbox(IntPtr inst, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tinstant_time(IntPtr inst); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tinstant_timestamps(IntPtr inst, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long tinstant_value_p(IntPtr inst); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long tinstant_value(IntPtr inst); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tinstant_value_at_timestamptz(IntPtr inst, long t, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tinstant_values_p(IntPtr inst, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void tnumber_set_span(IntPtr temp, IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnumberinst_valuespans(IntPtr inst); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial double tnumberseq_avg_val(IntPtr seq); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnumberseq_valuespans(IntPtr seq); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial double tnumberseqset_avg_val(IntPtr ss); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnumberseqset_valuespans(IntPtr ss); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequence_duration(IntPtr seq); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long tsequence_end_timestamptz(IntPtr seq); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int tsequence_hash(IntPtr seq); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequence_insts_p(IntPtr seq, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequence_max_inst_p(IntPtr seq); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long tsequence_max_val(IntPtr seq); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequence_min_inst_p(IntPtr seq); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long tsequence_min_val(IntPtr seq); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequence_segments(IntPtr seq, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequence_seqs(IntPtr seq, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long tsequence_start_timestamptz(IntPtr seq); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequence_time(IntPtr seq); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequence_timestamps(IntPtr seq, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tsequence_value_at_timestamptz(IntPtr seq, long t, [MarshalAs(UnmanagedType.U1)] bool strict, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequence_values_p(IntPtr seq, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequenceset_duration(IntPtr ss, [MarshalAs(UnmanagedType.U1)] bool boundspan); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long tsequenceset_end_timestamptz(IntPtr ss); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int tsequenceset_hash(IntPtr ss); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequenceset_inst_n(IntPtr ss, int n); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequenceset_insts_p(IntPtr ss, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequenceset_max_inst_p(IntPtr ss); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long tsequenceset_max_val(IntPtr ss); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequenceset_min_inst_p(IntPtr ss); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long tsequenceset_min_val(IntPtr ss); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int tsequenceset_num_instants(IntPtr ss); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int tsequenceset_num_timestamps(IntPtr ss); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequenceset_segments(IntPtr ss, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequenceset_sequences_p(IntPtr ss); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long tsequenceset_start_timestamptz(IntPtr ss); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequenceset_time(IntPtr ss); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tsequenceset_timestamptz_n(IntPtr ss, int n, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequenceset_timestamps(IntPtr ss, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tsequenceset_value_at_timestamptz(IntPtr ss, long t, [MarshalAs(UnmanagedType.U1)] bool strict, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tsequenceset_value_n(IntPtr ss, int n, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tsequenceset_value_n_p(IntPtr ss, int n, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequenceset_values_p(IntPtr ss, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void temporal_restart(IntPtr temp, int count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr temporal_tsequence(IntPtr temp, int interp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr temporal_tsequenceset(IntPtr temp, int interp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tinstant_shift_time(IntPtr inst, IntPtr interv); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tinstant_to_tsequence(IntPtr inst, int interp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tinstant_to_tsequence_free(IntPtr inst, int interp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tinstant_to_tsequenceset(IntPtr inst, int interp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnumber_shift_scale_value(IntPtr temp, long shift, long width, [MarshalAs(UnmanagedType.U1)] bool hasshift, [MarshalAs(UnmanagedType.U1)] bool haswidth); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnumberinst_shift_value(IntPtr inst, long shift); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnumberseq_shift_scale_value(IntPtr seq, long shift, long width, [MarshalAs(UnmanagedType.U1)] bool hasshift, [MarshalAs(UnmanagedType.U1)] bool haswidth); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnumberseqset_shift_scale_value(IntPtr ss, long start, long width, [MarshalAs(UnmanagedType.U1)] bool hasshift, [MarshalAs(UnmanagedType.U1)] bool haswidth); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void tsequence_restart(IntPtr seq, int count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequence_set_interp(IntPtr seq, int interp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequence_shift_scale_time(IntPtr seq, IntPtr shift, IntPtr duration); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequence_subseq(IntPtr seq, int from, int to, [MarshalAs(UnmanagedType.U1)] bool lower_inc, [MarshalAs(UnmanagedType.U1)] bool upper_inc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequence_to_tinstant(IntPtr seq); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequence_to_tsequenceset(IntPtr seq); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequence_to_tsequenceset_free(IntPtr seq); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequence_to_tsequenceset_interp(IntPtr seq, int interp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void tsequenceset_restart(IntPtr ss, int count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequenceset_set_interp(IntPtr ss, int interp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequenceset_shift_scale_time(IntPtr ss, IntPtr start, IntPtr duration); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequenceset_to_discrete(IntPtr ss); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequenceset_to_linear(IntPtr ss); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequenceset_to_step(IntPtr ss); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequenceset_to_tinstant(IntPtr ss); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequenceset_to_tsequence(IntPtr ss); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tinstant_merge(IntPtr inst1, IntPtr inst2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tinstant_merge_array(IntPtr instants, int count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequence_append_tinstant(IntPtr seq, IntPtr inst, double maxdist, IntPtr maxt, [MarshalAs(UnmanagedType.U1)] bool expand); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequence_append_tsequence(IntPtr seq1, IntPtr seq2, [MarshalAs(UnmanagedType.U1)] bool expand); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequence_delete_timestamptz(IntPtr seq, long t, [MarshalAs(UnmanagedType.U1)] bool connect); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequence_delete_tstzset(IntPtr seq, IntPtr s, [MarshalAs(UnmanagedType.U1)] bool connect); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequence_delete_tstzspan(IntPtr seq, IntPtr s, [MarshalAs(UnmanagedType.U1)] bool connect); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequence_delete_tstzspanset(IntPtr seq, IntPtr ss, [MarshalAs(UnmanagedType.U1)] bool connect); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequence_insert(IntPtr seq1, IntPtr seq2, [MarshalAs(UnmanagedType.U1)] bool connect); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequence_merge(IntPtr seq1, IntPtr seq2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequence_merge_array(IntPtr sequences, int count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequenceset_append_tinstant(IntPtr ss, IntPtr inst, double maxdist, IntPtr maxt, [MarshalAs(UnmanagedType.U1)] bool expand); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequenceset_append_tsequence(IntPtr ss, IntPtr seq, [MarshalAs(UnmanagedType.U1)] bool expand); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequenceset_delete_timestamptz(IntPtr ss, long t); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequenceset_delete_tstzset(IntPtr ss, IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequenceset_delete_tstzspan(IntPtr ss, IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequenceset_delete_tstzspanset(IntPtr ss, IntPtr ps); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequenceset_insert(IntPtr ss1, IntPtr ss2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequenceset_merge(IntPtr ss1, IntPtr ss2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequenceset_merge_array(IntPtr seqsets, int count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void tsequence_expand_bbox(IntPtr seq, IntPtr inst); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void tsequence_set_bbox(IntPtr seq, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void tsequenceset_expand_bbox(IntPtr ss, IntPtr seq); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void tsequenceset_set_bbox(IntPtr ss, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tcontseq_after_timestamptz(IntPtr seq, long t, [MarshalAs(UnmanagedType.U1)] bool strict); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tcontseq_before_timestamptz(IntPtr seq, long t, [MarshalAs(UnmanagedType.U1)] bool strict); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tcontseq_restrict_minmax(IntPtr seq, [MarshalAs(UnmanagedType.U1)] bool min, [MarshalAs(UnmanagedType.U1)] bool atfunc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tdiscseq_after_timestamptz(IntPtr seq, long t, [MarshalAs(UnmanagedType.U1)] bool strict); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tdiscseq_before_timestamptz(IntPtr seq, long t, [MarshalAs(UnmanagedType.U1)] bool strict); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tdiscseq_restrict_minmax(IntPtr seq, [MarshalAs(UnmanagedType.U1)] bool min, [MarshalAs(UnmanagedType.U1)] bool atfunc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool temporal_bbox_restrict_set(IntPtr temp, IntPtr set); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr temporal_restrict_minmax(IntPtr temp, [MarshalAs(UnmanagedType.U1)] bool min, [MarshalAs(UnmanagedType.U1)] bool atfunc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr temporal_restrict_timestamptz(IntPtr temp, long t, [MarshalAs(UnmanagedType.U1)] bool atfunc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr temporal_restrict_tstzset(IntPtr temp, IntPtr s, [MarshalAs(UnmanagedType.U1)] bool atfunc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr temporal_restrict_tstzspan(IntPtr temp, IntPtr s, [MarshalAs(UnmanagedType.U1)] bool atfunc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr temporal_restrict_tstzspanset(IntPtr temp, IntPtr ss, [MarshalAs(UnmanagedType.U1)] bool atfunc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr temporal_restrict_value(IntPtr temp, long value, [MarshalAs(UnmanagedType.U1)] bool atfunc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr temporal_restrict_values(IntPtr temp, IntPtr set, [MarshalAs(UnmanagedType.U1)] bool atfunc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool temporal_value_at_timestamptz(IntPtr temp, long t, [MarshalAs(UnmanagedType.U1)] bool strict, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tinstant_after_timestamptz(IntPtr inst, long t, [MarshalAs(UnmanagedType.U1)] bool strict); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tinstant_before_timestamptz(IntPtr inst, long t, [MarshalAs(UnmanagedType.U1)] bool strict); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tinstant_restrict_tstzspan(IntPtr inst, IntPtr period, [MarshalAs(UnmanagedType.U1)] bool atfunc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tinstant_restrict_tstzspanset(IntPtr inst, IntPtr ss, [MarshalAs(UnmanagedType.U1)] bool atfunc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tinstant_restrict_timestamptz(IntPtr inst, long t, [MarshalAs(UnmanagedType.U1)] bool atfunc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tinstant_restrict_tstzset(IntPtr inst, IntPtr s, [MarshalAs(UnmanagedType.U1)] bool atfunc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tinstant_restrict_value(IntPtr inst, long value, [MarshalAs(UnmanagedType.U1)] bool atfunc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tinstant_restrict_values(IntPtr inst, IntPtr set, [MarshalAs(UnmanagedType.U1)] bool atfunc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnumber_restrict_span(IntPtr temp, IntPtr span, [MarshalAs(UnmanagedType.U1)] bool atfunc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnumber_restrict_spanset(IntPtr temp, IntPtr ss, [MarshalAs(UnmanagedType.U1)] bool atfunc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnumberinst_restrict_span(IntPtr inst, IntPtr span, [MarshalAs(UnmanagedType.U1)] bool atfunc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnumberinst_restrict_spanset(IntPtr inst, IntPtr ss, [MarshalAs(UnmanagedType.U1)] bool atfunc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnumberseqset_restrict_span(IntPtr ss, IntPtr span, [MarshalAs(UnmanagedType.U1)] bool atfunc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnumberseqset_restrict_spanset(IntPtr ss, IntPtr spanset, [MarshalAs(UnmanagedType.U1)] bool atfunc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequence_at_timestamptz(IntPtr seq, long t); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequence_restrict_tstzspan(IntPtr seq, IntPtr s, [MarshalAs(UnmanagedType.U1)] bool atfunc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequence_restrict_tstzspanset(IntPtr seq, IntPtr ss, [MarshalAs(UnmanagedType.U1)] bool atfunc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequenceset_after_timestamptz(IntPtr ss, long t, [MarshalAs(UnmanagedType.U1)] bool strict); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequenceset_before_timestamptz(IntPtr ss, long t, [MarshalAs(UnmanagedType.U1)] bool strict); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequenceset_restrict_minmax(IntPtr ss, [MarshalAs(UnmanagedType.U1)] bool min, [MarshalAs(UnmanagedType.U1)] bool atfunc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequenceset_restrict_tstzspan(IntPtr ss, IntPtr s, [MarshalAs(UnmanagedType.U1)] bool atfunc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequenceset_restrict_tstzspanset(IntPtr ss, IntPtr ps, [MarshalAs(UnmanagedType.U1)] bool atfunc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequenceset_restrict_timestamptz(IntPtr ss, long t, [MarshalAs(UnmanagedType.U1)] bool atfunc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequenceset_restrict_tstzset(IntPtr ss, IntPtr s, [MarshalAs(UnmanagedType.U1)] bool atfunc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequenceset_restrict_value(IntPtr ss, long value, [MarshalAs(UnmanagedType.U1)] bool atfunc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequenceset_restrict_values(IntPtr ss, IntPtr s, [MarshalAs(UnmanagedType.U1)] bool atfunc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int tinstant_cmp(IntPtr inst1, IntPtr inst2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tinstant_eq(IntPtr inst1, IntPtr inst2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int tsequence_cmp(IntPtr seq1, IntPtr seq2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tsequence_eq(IntPtr seq1, IntPtr seq2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int tsequenceset_cmp(IntPtr ss1, IntPtr ss2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tsequenceset_eq(IntPtr ss1, IntPtr ss2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int always_eq_base_temporal(long value, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int always_eq_temporal_base(IntPtr temp, long value); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int always_ne_base_temporal(long value, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int always_ne_temporal_base(IntPtr temp, long value); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int always_ge_base_temporal(long value, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int always_ge_temporal_base(IntPtr temp, long value); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int always_gt_base_temporal(long value, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int always_gt_temporal_base(IntPtr temp, long value); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int always_le_base_temporal(long value, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int always_le_temporal_base(IntPtr temp, long value); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int always_lt_base_temporal(long value, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int always_lt_temporal_base(IntPtr temp, long value); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ever_eq_base_temporal(long value, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ever_eq_temporal_base(IntPtr temp, long value); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ever_ne_base_temporal(long value, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ever_ne_temporal_base(IntPtr temp, long value); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ever_ge_base_temporal(long value, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ever_ge_temporal_base(IntPtr temp, long value); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ever_gt_base_temporal(long value, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ever_gt_temporal_base(IntPtr temp, long value); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ever_le_base_temporal(long value, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ever_le_temporal_base(IntPtr temp, long value); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ever_lt_base_temporal(long value, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ever_lt_temporal_base(IntPtr temp, long value); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnumberinst_abs(IntPtr inst); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial double tnumberinst_distance(IntPtr inst1, IntPtr inst2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnumberseq_abs(IntPtr seq); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnumberseq_angular_difference(IntPtr seq); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnumberseq_delta_value(IntPtr seq); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnumberseqset_abs(IntPtr ss); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnumberseqset_angular_difference(IntPtr ss); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnumberseqset_delta_value(IntPtr ss); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tdistance_tnumber_number(IntPtr temp, long value); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial double nad_tbox_tbox(IntPtr box1, IntPtr box2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial double nad_tnumber_number(IntPtr temp, long value); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial double nad_tnumber_tbox(IntPtr temp, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial double nad_tnumber_tnumber(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial double tnumberseq_integral(IntPtr seq); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial double tnumberseq_twavg(IntPtr seq); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial double tnumberseqset_integral(IntPtr ss); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial double tnumberseqset_twavg(IntPtr ss); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr temporal_compact(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequence_compact(IntPtr seq); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tsequenceset_compact(IntPtr ss); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr temporal_skiplist_make(); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr skiplist_make(IntPtr key_size, IntPtr value_size, IntPtr comp_fn, IntPtr merge_fn); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int skiplist_search(IntPtr list, IntPtr key, IntPtr value); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void skiplist_free(IntPtr list); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void skiplist_splice(IntPtr list, IntPtr keys, IntPtr values, int count, IntPtr func, [MarshalAs(UnmanagedType.U1)] bool crossings, IntPtr sktype); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void temporal_skiplist_splice(IntPtr list, IntPtr values, int count, IntPtr func, [MarshalAs(UnmanagedType.U1)] bool crossings); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr skiplist_values(IntPtr list); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr skiplist_keys_values(IntPtr list, IntPtr values); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr temporal_app_tinst_transfn(IntPtr state, IntPtr inst, int interp, double maxdist, IntPtr maxt); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr temporal_app_tseq_transfn(IntPtr state, IntPtr seq); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr span_bins(IntPtr s, long size, long origin, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr spanset_bins(IntPtr ss, long size, long origin, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnumber_value_bins(IntPtr temp, long size, long origin, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnumber_value_time_boxes(IntPtr temp, long vsize, IntPtr duration, long vorigin, long torigin, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnumber_value_split(IntPtr temp, long vsize, long vorigin, IntPtr bins, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tbox_get_value_time_tile(long value, long t, long vsize, IntPtr duration, long vorigin, long torigin, int basetype, int spantype); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnumber_value_time_split(IntPtr temp, long size, IntPtr duration, long vorigin, long torigin, IntPtr value_bins, IntPtr time_bins, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string double2_out(IntPtr d, int maxdd); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void double2_set(double a, double b, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr double2_add(IntPtr d1, IntPtr d2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool double2_eq(IntPtr d1, IntPtr d2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string double3_out(IntPtr d, int maxdd); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void double3_set(double a, double b, double c, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr double3_add(IntPtr d1, IntPtr d2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool double3_eq(IntPtr d1, IntPtr d2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string double4_out(IntPtr d, int maxdd); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void double4_set(double a, double b, double c, double d, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr double4_add(IntPtr d1, IntPtr d2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool double4_eq(IntPtr d1, IntPtr d2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool double2_collinear(IntPtr x1, IntPtr x2, IntPtr x3, double ratio); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool double3_collinear(IntPtr x1, IntPtr x2, IntPtr x3, double ratio); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool double4_collinear(IntPtr x1, IntPtr x2, IntPtr x3, double ratio); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr double2segm_interpolate(IntPtr start, IntPtr end, IntPtr ratio); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr double3segm_interpolate(IntPtr start, IntPtr end, IntPtr ratio); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr double4segm_interpolate(IntPtr start, IntPtr end, IntPtr ratio); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int pg_atoi(string s, int size, int c); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_has_X(int type, short flags); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_has_Z(int type, short flags); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_has_T(int type, short flags); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_has_not_Z(int type, short flags); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_not_null(IntPtr ptr); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_one_not_null(IntPtr ptr1, IntPtr ptr2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_one_true([MarshalAs(UnmanagedType.U1)] bool hasshift, [MarshalAs(UnmanagedType.U1)] bool haswidth); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_valid_interp(int temptype, int interp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_continuous(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_same_interp(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_same_continuous_interp(short flags1, short flags2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_linear_interp(short flags); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_nonlinear_interp(short flags); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_common_dimension(short flags1, short flags2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_temporal_isof_type(IntPtr temp, int type); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_temporal_isof_basetype(IntPtr temp, int basetype); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_temporal_isof_subtype(IntPtr temp, int type); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_same_temporal_type(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_valid_tnumber_numspan(IntPtr temp, IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_valid_tnumber_numspanset(IntPtr temp, IntPtr ss); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_valid_tnumber_tbox(IntPtr temp, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_valid_temporal_set(IntPtr temp, IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_valid_temporal_temporal(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_valid_tnumber_tnumber(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_not_negative(int i); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_positive(int i); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool not_negative_datum(long size, int basetype); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_not_negative_datum(long size, int basetype); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool positive_datum(long size, int basetype); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_positive_datum(long size, int basetype); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_valid_day_duration(IntPtr duration); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool positive_duration(IntPtr duration); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_positive_duration(IntPtr duration); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr temporal_bbox_ptr(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool intersection_temporal_temporal(IntPtr temp1, IntPtr temp2, IntPtr mode, IntPtr inter1, IntPtr inter2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string mobilitydb_version(); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string mobilitydb_full_version(); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr round_fn(int basetype); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool temporal_bbox_restrict_value(IntPtr temp, long value); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_valid_tcbuffer_cbuffer(IntPtr temp, IntPtr cb); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_valid_tcbuffer_geo(IntPtr temp, IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_valid_tcbuffer_stbox(IntPtr temp, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_valid_tcbuffer_tcbuffer(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int tcbuffersegm_intersection_value(long start, long end, long value, long lower, long upper, IntPtr t1, IntPtr t2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int tcbuffersegm_intersection(long start1, long end1, long start2, long end2, long lower, long upper, IntPtr t1, IntPtr t2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int tcbuffersegm_dwithin_turnpt(long start1, long end1, long start2, long end2, long dist, long lower, long upper, IntPtr t1, IntPtr t2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int tcbuffersegm_tdwithin_turnpt(long start1, long end1, long start2, long end2, long dist, long lower, long upper, IntPtr t1, IntPtr t2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int tcbuffersegm_distance_turnpt(long start1, long end1, long start2, long end2, long dist, long lower, long upper, IntPtr t1, IntPtr t2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tcbuffer_geo_ctx_make(IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void tcbuffer_geo_ctx_free(IntPtr ctx); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int tcbuffer_geo_ctx_nsegs(IntPtr ctx); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tcbuffer_disc_within_ctx(IntPtr cb, double dist, IntPtr ctx); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int tcbufferseg_within_ctx(IntPtr cb1, IntPtr cb2, double dist, IntPtr ctx, IntPtr outlo, IntPtr outhi, int maxout); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tcbuffer_disc_touch_ctx(IntPtr cb, IntPtr ctx); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int tcbufferseg_touch_roots(IntPtr cb1, IntPtr cb2, IntPtr ctx, IntPtr outt, int maxout); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool cbuffer_set_stbox(IntPtr cb, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void cbufferarr_set_stbox(IntPtr values, int count, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void cbuffer_timestamptz_set_stbox(IntPtr cb, long t, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void cbuffer_tstzspan_set_stbox(IntPtr cb, IntPtr s, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void tcbufferinst_set_stbox(IntPtr inst, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void tcbufferinstarr_set_stbox(IntPtr instants, int count, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void tcbufferseq_expand_stbox(IntPtr seq, IntPtr inst); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tcbufferinst_traversed_area(IntPtr inst); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tcbufferseq_traversed_area(IntPtr seq, [MarshalAs(UnmanagedType.U1)] bool unary_union); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tcbufferseqset_traversed_area(IntPtr ss, [MarshalAs(UnmanagedType.U1)] bool unary_union); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tcbuffersegm_traversed_area(IntPtr inst1, IntPtr inst2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tcbuffer_restrict_cbuffer(IntPtr temp, IntPtr cb, [MarshalAs(UnmanagedType.U1)] bool atfunc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tcbuffer_restrict_stbox(IntPtr temp, IntPtr box, [MarshalAs(UnmanagedType.U1)] bool border_inc, [MarshalAs(UnmanagedType.U1)] bool atfunc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tcbuffer_restrict_geom(IntPtr temp, IntPtr gs, [MarshalAs(UnmanagedType.U1)] bool atfunc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ea_contains_geo_tcbuffer(IntPtr gs, IntPtr temp, [MarshalAs(UnmanagedType.U1)] bool ever); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ea_contains_tcbuffer_geo(IntPtr temp, IntPtr gs, [MarshalAs(UnmanagedType.U1)] bool ever); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ea_contains_tcbuffer_cbuffer(IntPtr temp, IntPtr cb, [MarshalAs(UnmanagedType.U1)] bool ever); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ea_contains_cbuffer_tcbuffer(IntPtr cb, IntPtr temp, [MarshalAs(UnmanagedType.U1)] bool ever); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ea_covers_geo_tcbuffer(IntPtr gs, IntPtr temp, [MarshalAs(UnmanagedType.U1)] bool ever); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ea_covers_tcbuffer_geo(IntPtr temp, IntPtr gs, [MarshalAs(UnmanagedType.U1)] bool ever); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ea_covers_tcbuffer_cbuffer(IntPtr temp, IntPtr cb, [MarshalAs(UnmanagedType.U1)] bool ever); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ea_covers_cbuffer_tcbuffer(IntPtr cb, IntPtr temp, [MarshalAs(UnmanagedType.U1)] bool ever); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ea_covers_tcbuffer_tcbuffer(IntPtr temp1, IntPtr temp2, [MarshalAs(UnmanagedType.U1)] bool ever); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ea_disjoint_tcbuffer_geo(IntPtr temp, IntPtr gs, [MarshalAs(UnmanagedType.U1)] bool ever); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ea_disjoint_geo_tcbuffer(IntPtr gs, IntPtr temp, [MarshalAs(UnmanagedType.U1)] bool ever); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ea_disjoint_tcbuffer_cbuffer(IntPtr temp, IntPtr cb, [MarshalAs(UnmanagedType.U1)] bool ever); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ea_disjoint_cbuffer_tcbuffer(IntPtr cb, IntPtr temp, [MarshalAs(UnmanagedType.U1)] bool ever); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ea_disjoint_tcbuffer_tcbuffer(IntPtr temp1, IntPtr temp2, [MarshalAs(UnmanagedType.U1)] bool ever); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ea_intersects_tcbuffer_geo(IntPtr temp, IntPtr gs, [MarshalAs(UnmanagedType.U1)] bool ever); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ea_intersects_geo_tcbuffer(IntPtr gs, IntPtr temp, [MarshalAs(UnmanagedType.U1)] bool ever); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ea_intersects_tcbuffer_cbuffer(IntPtr temp, IntPtr cb, [MarshalAs(UnmanagedType.U1)] bool ever); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ea_intersects_cbuffer_tcbuffer(IntPtr cb, IntPtr temp, [MarshalAs(UnmanagedType.U1)] bool ever); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ea_intersects_tcbuffer_tcbuffer(IntPtr temp1, IntPtr temp2, [MarshalAs(UnmanagedType.U1)] bool ever); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ea_touches_tcbuffer_geo(IntPtr temp, IntPtr gs, [MarshalAs(UnmanagedType.U1)] bool ever); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ea_touches_geo_tcbuffer(IntPtr gs, IntPtr temp, [MarshalAs(UnmanagedType.U1)] bool ever); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ea_touches_tcbuffer_cbuffer(IntPtr temp, IntPtr cb, [MarshalAs(UnmanagedType.U1)] bool ever); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ea_touches_cbuffer_tcbuffer(IntPtr cb, IntPtr temp, [MarshalAs(UnmanagedType.U1)] bool ever); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ea_touches_tcbuffer_tcbuffer(IntPtr temp1, IntPtr temp2, [MarshalAs(UnmanagedType.U1)] bool ever); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ea_dwithin_tcbuffer_tcbuffer(IntPtr temp1, IntPtr temp2, double dist, [MarshalAs(UnmanagedType.U1)] bool ever); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tinterrel_tcbuffer_cbuffer(IntPtr temp, IntPtr cb, [MarshalAs(UnmanagedType.U1)] bool tinter); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tinterrel_tcbuffer_geo(IntPtr temp, IntPtr gs, [MarshalAs(UnmanagedType.U1)] bool tinter); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int edisjoint_tcbuffer_geo_native(IntPtr temp, IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int eatouches_tcbuffer_geo_native(IntPtr temp, IntPtr gs, [MarshalAs(UnmanagedType.U1)] bool ever); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr clipper2_clip_poly_poly(IntPtr subj, IntPtr clip, int op); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr clipper2_traj_poly_periods(IntPtr seq, IntPtr gs, IntPtr out_count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr clip_poly_poly(IntPtr subj, IntPtr clip, IntPtr operation); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int lwproj_lookup(int srid_from, int srid_to, IntPtr pj); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int spheroid_init_from_srid(int srid, IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void srid_check_latlong(int srid); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int srid_is_latlong(int srid); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr geom_serialize(IntPtr lwgeom); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr geog_serialize(IntPtr lwgeom); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr meos_postgis_valid_typmod(IntPtr gs, int typmod); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string geo_as_wkt(IntPtr gs, int precision, [MarshalAs(UnmanagedType.U1)] bool extended); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr box2d_to_lwgeom(IntPtr box, int srid); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr box3d_to_lwgeom(IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr MEOS_POSTGIS2GEOS(IntPtr pglwgeom); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr MEOS_GEOS2POSTGIS(IntPtr geom, byte want3d); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool geom_spatialrel(IntPtr gs1, IntPtr gs2, IntPtr rel); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr lwgeom_line_interpolate_point(IntPtr geom, double fraction, int srid, byte repeat); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void point_get_coords(IntPtr point, [MarshalAs(UnmanagedType.U1)] bool hasz, IntPtr x, IntPtr y, IntPtr z); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void tstzset_stbox_slice(long tsdatum, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void tstzspanset_stbox_slice(long psdatum, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool stbox_index_leaf_consistent(IntPtr key, IntPtr query, int strategy); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool stbox_gist_inner_consistent(IntPtr key, IntPtr query, int strategy); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool stbox_index_recheck(int strategy); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr stboxnode_copy(IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int getQuadrant8D(IntPtr centroid, IntPtr inBox); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void stboxnode_init(IntPtr centroid, IntPtr nodebox); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void stboxnode_quadtree_next(IntPtr nodebox, IntPtr centroid, int quadrant, IntPtr next_nodebox); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void stboxnode_kdtree_next(IntPtr nodebox, IntPtr centroid, int node, int level, IntPtr next_nodebox); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool overlap8D(IntPtr nodebox, IntPtr query); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool overlapKD(IntPtr nodebox, IntPtr query, int level); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool contain8D(IntPtr nodebox, IntPtr query); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool containKD(IntPtr nodebox, IntPtr query, int level); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool left8D(IntPtr nodebox, IntPtr query); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool overLeft8D(IntPtr nodebox, IntPtr query); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool right8D(IntPtr nodebox, IntPtr query); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool overRight8D(IntPtr nodebox, IntPtr query); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool below8D(IntPtr nodebox, IntPtr query); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool overBelow8D(IntPtr nodebox, IntPtr query); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool above8D(IntPtr nodebox, IntPtr query); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool overAbove8D(IntPtr nodebox, IntPtr query); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool front8D(IntPtr nodebox, IntPtr query); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool overFront8D(IntPtr nodebox, IntPtr query); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool back8D(IntPtr nodebox, IntPtr query); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool overBack8D(IntPtr nodebox, IntPtr query); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool before8D(IntPtr nodebox, IntPtr query); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool overBefore8D(IntPtr nodebox, IntPtr query); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool after8D(IntPtr nodebox, IntPtr query); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool overAfter8D(IntPtr nodebox, IntPtr query); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial double distance_stbox_nodebox(IntPtr query, IntPtr nodebox); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void tspatial_spgist_get_stbox(long value, int type, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void mobilitydb_init(); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr geo_stbox(IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr stbox_geo(IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tcomp_geo_tgeo(IntPtr gs, IntPtr temp, IntPtr func); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tcomp_tgeo_geo(IntPtr temp, IntPtr gs, IntPtr func); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_geoaggstate(IntPtr state, int srid, [MarshalAs(UnmanagedType.U1)] bool hasz); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_geoaggstate_state(IntPtr state1, IntPtr state2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tpoint_transform_tcentroid(IntPtr temp, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tpointinst_tcentroid_finalfn(IntPtr instants, int count, int srid); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tpointseq_tcentroid_finalfn(IntPtr sequences, int count, int srid); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool point3d_min_dist(IntPtr p1, IntPtr p2, IntPtr p3, IntPtr p4, IntPtr fraction); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int tgeompointsegm_distance_turnpt(long start1, long end1, long start2, long end2, long param, long lower, long upper, IntPtr t1, IntPtr t2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int tgeogpointsegm_distance_turnpt(long start1, long end1, long start2, long end2, long param, long lower, long upper, IntPtr t1, IntPtr t2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial double tinstant_distance(IntPtr inst1, IntPtr inst2, IntPtr func); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tpointseq_at_geom(IntPtr seq, IntPtr gs, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tpointseq_interperiods(IntPtr seq, IntPtr gs, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void datum_point4d(long value, IntPtr p); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int geopoint_cmp(IntPtr gs1, IntPtr gs2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool geopoint_eq(IntPtr gs1, IntPtr gs2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool geopoint_same(IntPtr gs1, IntPtr gs2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool datum_point_eq(long point1, long point2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool datum_point_same(long point1, long point2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum2_point_eq(long point1, long point2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum2_point_ne(long point1, long point2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum2_point_same(long point1, long point2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum2_point_nsame(long point1, long point2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum2_geom_centroid(long geo); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum2_geog_centroid(long geo); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr geo_extract_elements(IntPtr gs, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr geo_serialize(IntPtr geom); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr geo_distance_fn(short flags); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr pt_distance_fn(short flags); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_geom_distance2d(long geom1, long geom2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_geom_distance3d(long geom1, long geom2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_geog_distance(long geog1, long geog2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_pt_distance2d(long geom1, long geom2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_pt_distance3d(long geom1, long geom2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial short spatial_flags(long d, int basetype); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_srid_is_latlong(int srid); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_spatial_validity(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_not_geodetic(short flags); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_same_geodetic(short flags1, short flags2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_same_geodetic_geo(IntPtr gs1, IntPtr gs2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_same_geodetic_tspatial_geo(IntPtr temp, IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_same_geodetic_tspatial_base(IntPtr temp, long @base); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_srid_known(int srid); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_same_srid(int srid1, int srid2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_srid_reconcile(int srid1, int srid2, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_same_dimensionality(short flags1, short flags2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool same_spatial_dimensionality(short flags1, short flags2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_same_spatial_dimensionality(short flags1, short flags2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_same_dimensionality_geo(IntPtr gs1, IntPtr gs2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool same_dimensionality_tspatial_geo(IntPtr temp, IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_same_dimensionality_tspatial_geo(IntPtr temp, IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_same_spatial_dimensionality_stbox_geo(IntPtr box, IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_same_geodetic_stbox_geo(IntPtr box, IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_has_Z_geo(IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_has_not_Z_geo(IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_has_M_geo(IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_has_not_M_geo(IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_not_geodetic_geo(IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_point_type(IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_mline_type(IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool circle_type(IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_circle_type(IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_not_empty(IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_valid_stbox_geo(IntPtr box, IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_valid_tspatial_geo(IntPtr temp, IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_valid_tspatial_base(IntPtr temp, long @base); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_valid_tspatial_tspatial(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_valid_spatial_stbox_stbox(IntPtr box1, IntPtr box2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_valid_tgeo_stbox(IntPtr temp, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_valid_geo_geo(IntPtr gs1, IntPtr gs2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_valid_tgeo_geo(IntPtr temp, IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_valid_tgeo_tgeo(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_valid_tpoint_geo(IntPtr temp, IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_valid_tpoint_tpoint(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool mline_type(IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tpoint_get_coord(IntPtr temp, int coord); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int eacomp_tgeo_geo(IntPtr temp, IntPtr gs, IntPtr func, [MarshalAs(UnmanagedType.U1)] bool ever); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr closest_point2d_on_segment_ratio(IntPtr p, IntPtr A, IntPtr B, IntPtr closest); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr closest_point3dz_on_segment_ratio(IntPtr p, IntPtr A, IntPtr B, IntPtr closest); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr closest_point_on_segment_sphere(IntPtr p, IntPtr A, IntPtr B, IntPtr closest, IntPtr dist); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void interpolate_point4d_spheroid(IntPtr p1, IntPtr p2, IntPtr p, IntPtr s, double f); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr geopoint_make(double x, double y, double z, [MarshalAs(UnmanagedType.U1)] bool hasz, [MarshalAs(UnmanagedType.U1)] bool geodetic, int srid); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr lwcircle_make(double x, double y, double radius, int srid); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr geocircle_make(double x, double y, double radius, int srid); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long pointsegm_interpolate(long start, long end, IntPtr ratio); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr pointsegm_locate(long start, long end, long point, IntPtr dist); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int tgeompointsegm_intersection(long start1, long end1, long start2, long end2, long lower, long upper, IntPtr t1, IntPtr t2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int tgeogpointsegm_intersection(long start1, long end1, long start2, long end2, long lower, long upper, IntPtr t1, IntPtr t2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool geopoint_collinear(long value1, long value2, long value3, double ratio, [MarshalAs(UnmanagedType.U1)] bool hasz, [MarshalAs(UnmanagedType.U1)] bool geodetic); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr lwpointarr_remove_duplicates(IntPtr points, int count, IntPtr newcount); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr lwpointarr_make_trajectory(IntPtr points, int count, int interp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr lwline_make(long value1, long value2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr lwcoll_from_points_lines(IntPtr points, IntPtr lines, int npoints, int nlines); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int tpointseq_stops_iter(IntPtr seq, double maxdist, int mintunits, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_geom_contains(long geom1, long geom2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_geom_covers(long geom1, long geom2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_geom_disjoint2d(long geom1, long geom2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_geom_disjoint3d(long geom1, long geom2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_geog_disjoint(long geog1, long geog2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_geom_intersects2d(long geom1, long geom2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_geom_intersects3d(long geom1, long geom2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_geog_intersects(long geog1, long geog2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_geom_touches(long geom1, long geom2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_geom_dwithin2d(long geom1, long geom2, long dist); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_geom_dwithin3d(long geom1, long geom2, long dist); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_geog_dwithin(long geog1, long geog2, long dist); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_geom_relate_pattern(long geog1, long geog2, long p); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr geo_disjoint_fn(short flags1, short flags2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr geo_disjoint_fn_geo(short flags1, IntPtr flags2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr geo_intersects_fn(short flags1, short flags2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr geo_intersects_fn_geo(short flags1, IntPtr flags2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr geo_dwithin_fn(short flags1, short flags2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr geo_dwithin_fn_geo(short flags1, IntPtr flags2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int tpointsegm_tdwithin_turnpt(long start1, long end1, long start2, long end2, long value, long lower, long upper, IntPtr t1, IntPtr t2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int spatialrel_geo_geo(IntPtr gs1, IntPtr gs2, long param, IntPtr func, int numparam, [MarshalAs(UnmanagedType.U1)] bool invert); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int spatialrel_tgeo_tgeo(IntPtr temp1, IntPtr temp2, long param, IntPtr func, int numparam); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ea_contains_geo_tgeo(IntPtr gs, IntPtr temp, [MarshalAs(UnmanagedType.U1)] bool ever); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ea_contains_tgeo_geo(IntPtr temp, IntPtr gs, [MarshalAs(UnmanagedType.U1)] bool ever); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ea_contains_tgeo_tgeo(IntPtr temp, IntPtr temp2, [MarshalAs(UnmanagedType.U1)] bool ever); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ea_covers_geo_tgeo(IntPtr gs, IntPtr temp, [MarshalAs(UnmanagedType.U1)] bool ever); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ea_covers_tgeo_geo(IntPtr temp, IntPtr gs, [MarshalAs(UnmanagedType.U1)] bool ever); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ea_covers_tgeo_tgeo(IntPtr temp, IntPtr temp2, [MarshalAs(UnmanagedType.U1)] bool ever); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ea_disjoint_geo_tgeo(IntPtr gs, IntPtr temp, [MarshalAs(UnmanagedType.U1)] bool ever); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ea_disjoint_tgeo_geo(IntPtr temp, IntPtr gs, [MarshalAs(UnmanagedType.U1)] bool ever); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ea_disjoint_tgeo_tgeo(IntPtr temp, IntPtr temp2, [MarshalAs(UnmanagedType.U1)] bool ever); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ea_intersects_geo_tgeo(IntPtr gs, IntPtr temp, [MarshalAs(UnmanagedType.U1)] bool ever); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ea_intersects_tgeo_geo(IntPtr temp, IntPtr gs, [MarshalAs(UnmanagedType.U1)] bool ever); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ea_intersects_tgeo_tgeo(IntPtr temp, IntPtr temp2, [MarshalAs(UnmanagedType.U1)] bool ever); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ea_touches_tpoint_geo(IntPtr temp, IntPtr gs, [MarshalAs(UnmanagedType.U1)] bool ever); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ea_touches_tgeo_geo(IntPtr temp, IntPtr gs, [MarshalAs(UnmanagedType.U1)] bool ever); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ea_touches_tgeo_tgeo(IntPtr temp, IntPtr temp2, [MarshalAs(UnmanagedType.U1)] bool ever); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ea_dwithin_tgeo_geo(IntPtr temp, IntPtr gs, double dist, [MarshalAs(UnmanagedType.U1)] bool ever); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ea_dwithin_tgeo_tgeo(IntPtr temp1, IntPtr temp2, double dist, [MarshalAs(UnmanagedType.U1)] bool ever); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ea_spatialrel_tspatial_geo(IntPtr temp, IntPtr gs, IntPtr func, [MarshalAs(UnmanagedType.U1)] bool ever, [MarshalAs(UnmanagedType.U1)] bool invert); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ea_spatialrel_tspatial_tspatial(IntPtr temp1, IntPtr temp2, IntPtr func, [MarshalAs(UnmanagedType.U1)] bool ever); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tspatialrel_tspatial_base(IntPtr temp, long @base, long param, IntPtr func, int numparam, [MarshalAs(UnmanagedType.U1)] bool invert); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tspatialrel_tspatial_tspatial(IntPtr temp1, IntPtr temp2, long param, IntPtr func, int numparam, [MarshalAs(UnmanagedType.U1)] bool invert); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tinterrel_tgeo_geo(IntPtr temp, IntPtr gs, [MarshalAs(UnmanagedType.U1)] bool tinter); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tinterrel_tspatial_base(IntPtr temp, long @base, [MarshalAs(UnmanagedType.U1)] bool tinter, IntPtr func); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tinterrel_tspatial_tspatial(IntPtr temp1, IntPtr temp2, [MarshalAs(UnmanagedType.U1)] bool tinter); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tdwithin_tspatial_tspatial(IntPtr sync1, IntPtr sync2, long dist, IntPtr func, IntPtr tpfn); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int tdwithin_add_solutions(int solutions, long lower, long upper, [MarshalAs(UnmanagedType.U1)] bool lower_inc, [MarshalAs(UnmanagedType.U1)] bool upper_inc, [MarshalAs(UnmanagedType.U1)] bool upper_inc1, long t1, long t2, IntPtr instants, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tdwithin_tspatial_spatial(IntPtr temp, long @base, long dist, IntPtr func, IntPtr tpfn); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr bitmatrix_make(IntPtr count, int ndims); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int tpoint_set_tiles(IntPtr temp, IntPtr state, IntPtr bm); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tpoint_at_tile(IntPtr temp, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void stbox_tile_state_set(double x, double y, double z, long t, double xsize, double ysize, double zsize, IntPtr tunits, [MarshalAs(UnmanagedType.U1)] bool hasx, [MarshalAs(UnmanagedType.U1)] bool hasz, [MarshalAs(UnmanagedType.U1)] bool hast, int srid, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr stbox_tile_state_make(IntPtr temp, IntPtr box, double xsize, double ysize, double zsize, IntPtr duration, int sorigin, long torigin, [MarshalAs(UnmanagedType.U1)] bool border_inc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void stbox_tile_state_next(IntPtr state); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool stbox_tile_state_get(IntPtr state, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tgeo_space_time_tile_init(IntPtr temp, double xsize, double ysize, double zsize, IntPtr duration, IntPtr sorigin, long torigin, [MarshalAs(UnmanagedType.U1)] bool bitmatrix, [MarshalAs(UnmanagedType.U1)] bool border_inc, IntPtr ntiles); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr stbox_space_time_tile(IntPtr point, long t, double xsize, double ysize, double zsize, IntPtr duration, IntPtr sorigin, long torigin, [MarshalAs(UnmanagedType.U1)] bool hasx, [MarshalAs(UnmanagedType.U1)] bool hast); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr create_trip(IntPtr lines, IntPtr maxSpeeds, IntPtr categories, uint noEdges, long startTime, [MarshalAs(UnmanagedType.U1)] bool disturbData, int verbosity); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr spatialarr_wkt_out(IntPtr spatialarr, int basetype, int count, int maxdd, [MarshalAs(UnmanagedType.U1)] bool extended); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string spatialbase_as_text(long value, int type, int maxdd); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string spatialbase_as_ewkt(long value, int type, int maxdd); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool point_transf_pj(IntPtr gs, int srid_to, IntPtr pj); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void tgeoinst_set_stbox(IntPtr inst, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void tgeoinstarr_set_stbox(IntPtr instants, int count, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void tgeoseq_expand_stbox(IntPtr seq, IntPtr inst); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void tspatialinst_set_stbox(IntPtr inst, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void tspatialinstarr_set_stbox(IntPtr instants, int count, [MarshalAs(UnmanagedType.U1)] bool lower_inc, [MarshalAs(UnmanagedType.U1)] bool upper_inc, int interp, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void tspatialseqarr_set_stbox(IntPtr sequences, int count, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void tspatialseq_expand_stbox(IntPtr seq, IntPtr inst); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void spatialarr_set_bbox(IntPtr values, int basetype, int count, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool boxop_tspatial_stbox(IntPtr temp, IntPtr box, IntPtr @bool, [MarshalAs(UnmanagedType.U1)] bool invert); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool boxop_tspatial_tspatial(IntPtr temp1, IntPtr temp2, IntPtr @bool); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool srid_parse(IntPtr str, IntPtr srid); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool spatial_parse_elem(IntPtr str, int temptype, byte delim, IntPtr temp_srid, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool geo_parse(IntPtr str, int basetype, byte delim, IntPtr srid, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr stbox_parse_dims(IntPtr str, [MarshalAs(UnmanagedType.U1)] bool geodetic, int srid, string type_str); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr stbox_parse(IntPtr str); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tpoint_parse(IntPtr str, int temptype); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tspatialinst_parse(IntPtr str, int temptype, [MarshalAs(UnmanagedType.U1)] bool end, IntPtr temp_srid); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tspatialseq_disc_parse(IntPtr str, int temptype, IntPtr temp_srid); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tspatialseq_cont_parse(IntPtr str, int temptype, int interp, [MarshalAs(UnmanagedType.U1)] bool end, IntPtr temp_srid); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tspatialseqset_parse(IntPtr str, int temptype, int interp, IntPtr temp_srid); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tspatial_parse(IntPtr str, int temptype); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool h3_are_neighbor_cells_meos(IntPtr origin, IntPtr destination); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr h3_cells_to_directed_edge_meos(IntPtr origin, IntPtr destination); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool h3_is_valid_directed_edge_meos(IntPtr edge); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr h3_get_directed_edge_origin_meos(IntPtr edge); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr h3_get_directed_edge_destination_meos(IntPtr edge); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr h3_cell_to_parent_meos(IntPtr origin, int resolution); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr h3_cell_to_center_child_meos(IntPtr origin, int resolution); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr h3_cell_to_child_pos_meos(IntPtr child, int parentRes); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr h3_child_pos_to_cell_meos(IntPtr childPos, IntPtr parent, int childRes); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int h3_get_resolution_meos(IntPtr hex); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int h3_get_base_cell_number_meos(IntPtr hex); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool h3_is_valid_cell_meos(IntPtr hex); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool h3_is_res_class_iii_meos(IntPtr hex); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool h3_is_pentagon_meos(IntPtr hex); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr h3_get_num_cells_meos(int resolution); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr h3_grid_distance_meos(IntPtr originIndex, IntPtr h3Index); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr h3_cell_to_vertex_meos(IntPtr cell, int vertexNum); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool h3_is_valid_vertex_meos(IntPtr vertex); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr h3index_in(string str); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string h3index_out(IntPtr cell); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool h3index_eq(IntPtr a, IntPtr b); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool h3index_ne(IntPtr a, IntPtr b); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool h3index_lt(IntPtr a, IntPtr b); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool h3index_le(IntPtr a, IntPtr b); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool h3index_gt(IntPtr a, IntPtr b); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool h3index_ge(IntPtr a, IntPtr b); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int h3index_cmp(IntPtr a, IntPtr b); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int h3index_hash(IntPtr cell); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr h3_grid_disk(IntPtr origin, int k); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr h3_grid_ring(IntPtr origin, int k); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr h3_grid_path_cells(IntPtr start, IntPtr end); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr h3_cell_to_children(IntPtr origin, int childRes); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr h3_compact_cells(IntPtr cells); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr h3_uncompact_cells(IntPtr cells, int res); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr h3_origin_to_directed_edges(IntPtr origin); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr h3_cell_to_vertexes(IntPtr cell); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr h3_get_icosahedron_faces(IntPtr cell); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ensure_valid_th3index_th3index(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_valid_th3index_h3index(IntPtr temp, IntPtr cell); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_valid_th3index_tgeogpoint(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum2_h3index_eq(long d1, long d2, int type); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum2_h3index_ne(long d1, long d2, int type); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool h3index_set_stbox(IntPtr cell, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void h3indexarr_set_stbox(IntPtr values, int count, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void th3indexinst_set_stbox(IntPtr inst, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void th3indexinstarr_set_stbox(IntPtr instants, int count, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void th3indexseq_expand_stbox(IntPtr seq, IntPtr inst); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr h3_gs_point_to_cell(IntPtr point, int resolution); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr h3_cell_to_gs_point(IntPtr cell); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr h3_cell_to_gs_boundary(IntPtr cell); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr cell_boundary_to_gs(IntPtr bnd); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial double h3_sample_step_deg(int resolution); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr h3_latlng_deg_to_cell(double lat_deg, double lng_deg, int resolution); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr h3_cell_to_parent_next_meos(IntPtr cell); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr h3_cell_to_center_child_next_meos(IntPtr cell); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr h3_directed_edge_to_gs_boundary(IntPtr edge); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr h3_vertex_to_gs_point(IntPtr vertex); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr h3_cell_to_local_ij_meos(IntPtr origin, IntPtr cell); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr h3_local_ij_to_cell_meos(IntPtr origin, IntPtr coord); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr h3_unit_from_cstring(string unit); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial double h3_cell_area_meos(IntPtr cell, IntPtr unit); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial double h3_edge_length_meos(IntPtr edge, IntPtr unit); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial double h3_gs_great_circle_distance_meos(IntPtr a, IntPtr b, IntPtr unit); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_h3_get_resolution(long d); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_h3_get_base_cell_number(long d); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_h3_is_valid_cell(long d); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_h3_is_res_class_iii(long d); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_h3_is_pentagon(long d); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_h3_cell_to_parent(long cell_d, long res_d); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_h3_cell_to_parent_next(long cell_d); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_h3_cell_to_center_child(long cell_d, long res_d); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_h3_cell_to_center_child_next(long cell_d); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_h3_cell_to_child_pos(long cell_d, long parent_res_d); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_h3_child_pos_to_cell(long pos_d, long parent_d, long child_res_d); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_h3_are_neighbor_cells(long origin_d, long dest_d); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_h3_cells_to_directed_edge(long origin_d, long dest_d); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_h3_is_valid_directed_edge(long d); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_h3_get_directed_edge_origin(long d); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_h3_get_directed_edge_destination(long d); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_h3_directed_edge_to_boundary(long d); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_h3_cell_to_vertex(long cell_d, long vnum_d); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_h3_vertex_to_latlng(long d); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_h3_is_valid_vertex(long d); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_h3_grid_distance(long origin_d, long dest_d); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_h3_cell_to_local_ij(long origin_d, long cell_d); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_h3_local_ij_to_cell(long origin_d, long coord_d); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_h3_latlng_to_cell(long point_d, long res_d); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_h3_cell_to_latlng(long d); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_h3_cell_to_boundary(long d); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_h3_cell_area(long cell_d, long unit_d); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_h3_edge_length(long edge_d, long unit_d); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_h3_great_circle_distance(long a_d, long b_d, long unit_d); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr json_in(string str); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string json_out(IntPtr js); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonb_from_text(IntPtr txt, [MarshalAs(UnmanagedType.U1)] bool unique_keys); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonb_in(string str); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string jsonb_out(IntPtr jb); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr json_make(IntPtr keys_vals, int count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr json_make_two_arg(IntPtr keys, IntPtr values, int count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonb_copy(IntPtr jb); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonb_make(IntPtr keys_vals, int count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonb_make_two_arg(IntPtr keys, IntPtr values, int count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool jsonb_to_bool(IntPtr jb); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string jsonb_to_cstring(IntPtr jb); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int jsonb_to_float4(IntPtr jb); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int jsonb_to_float8(IntPtr jb); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial short jsonb_to_int16(IntPtr jb); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int jsonb_to_int32(IntPtr jb); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonb_to_int64(IntPtr jb); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int jsonb_to_numeric(IntPtr jb); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonb_to_text(IntPtr jb); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr json_array_element(IntPtr js, int element); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr json_array_element_text(IntPtr js, int element); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr json_array_elements(IntPtr js, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr json_array_elements_text(IntPtr js, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int json_array_length(IntPtr js); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr json_each(IntPtr js, IntPtr values, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr json_each_text(IntPtr js, IntPtr values, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr json_extract_path(IntPtr js, IntPtr path_elems, int path_len); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr json_extract_path_text(IntPtr js, IntPtr path_elems, int path_len); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr json_object_field(IntPtr js, IntPtr key); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr json_object_field_text(IntPtr js, IntPtr key); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr json_object_keys(IntPtr js, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr json_typeof(IntPtr js); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonb_array_element(IntPtr jb, int element); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonb_array_element_text(IntPtr jb, int element); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonb_array_elements(IntPtr jb, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonb_array_elements_text(IntPtr jb, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int jsonb_array_length(IntPtr jb); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool jsonb_contained(IntPtr jb1, IntPtr jb2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool jsonb_contains(IntPtr jb1, IntPtr jb2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonb_each(IntPtr jb, IntPtr values, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonb_each_text(IntPtr jb, IntPtr values, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool jsonb_exists(IntPtr jb, IntPtr key); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool jsonb_exists_array(IntPtr jb, IntPtr keys_elems, int keys_len, [MarshalAs(UnmanagedType.U1)] bool any); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonb_extract_path(IntPtr jb, IntPtr path_elems, int path_len); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonb_extract_path_text(IntPtr jb, IntPtr path_elems, int path_len); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int jsonb_hash(IntPtr jb); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonb_hash_extended(IntPtr jb, IntPtr seed); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonb_object_field(IntPtr jb, IntPtr key); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonb_object_field_text(IntPtr jb, IntPtr key); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonb_object_keys(IntPtr jb, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr json_strip_nulls(IntPtr js, [MarshalAs(UnmanagedType.U1)] bool strip_in_arrays); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonb_concat(IntPtr jb1, IntPtr jb2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonb_delete(IntPtr jb, IntPtr key); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonb_delete_array(IntPtr jb, IntPtr keys_elems, int keys_len); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonb_delete_index(IntPtr jb, int idx); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonb_delete_path(IntPtr jb, IntPtr path_elems, int path_len); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonb_insert(IntPtr jb, IntPtr path_elems, int path_len, IntPtr newjb, [MarshalAs(UnmanagedType.U1)] bool after); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonb_pretty(IntPtr jb); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonb_set(IntPtr jb, IntPtr path_elems, int path_len, IntPtr newjb, [MarshalAs(UnmanagedType.U1)] bool create); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonb_set_lax(IntPtr jb, IntPtr path_elems, int path_len, IntPtr newjb, [MarshalAs(UnmanagedType.U1)] bool create, IntPtr handle_null); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonb_strip_nulls(IntPtr jb, [MarshalAs(UnmanagedType.U1)] bool strip_in_arrays); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int jsonb_cmp(IntPtr jb1, IntPtr jb2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool jsonb_eq(IntPtr jb1, IntPtr jb2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool jsonb_ge(IntPtr jb1, IntPtr jb2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool jsonb_gt(IntPtr jb1, IntPtr jb2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool jsonb_le(IntPtr jb1, IntPtr jb2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool jsonb_lt(IntPtr jb1, IntPtr jb2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool jsonb_ne(IntPtr jb1, IntPtr jb2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int jsonb_path_exists(IntPtr jb, IntPtr jp, IntPtr vars, [MarshalAs(UnmanagedType.U1)] bool silent, [MarshalAs(UnmanagedType.U1)] bool tz); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool jsonb_path_match(IntPtr jb, IntPtr jp, IntPtr vars, [MarshalAs(UnmanagedType.U1)] bool silent, [MarshalAs(UnmanagedType.U1)] bool tz); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonb_path_query_all(IntPtr jb, IntPtr jp, IntPtr vars, [MarshalAs(UnmanagedType.U1)] bool silent, [MarshalAs(UnmanagedType.U1)] bool tz, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonb_path_query_array(IntPtr jb, IntPtr jp, IntPtr vars, [MarshalAs(UnmanagedType.U1)] bool silent, [MarshalAs(UnmanagedType.U1)] bool tz); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonb_path_query_first(IntPtr jb, IntPtr jp, IntPtr vars, [MarshalAs(UnmanagedType.U1)] bool silent, [MarshalAs(UnmanagedType.U1)] bool tz); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonpath_in(string str); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonpath_copy(IntPtr jp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string jsonpath_out(IntPtr jp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonbset_in(string str); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string jsonbset_out(IntPtr s, int maxdd); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonbset_make(IntPtr values, int count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonb_to_set(IntPtr jb); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonbset_end_value(IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonbset_start_value(IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool jsonbset_value_n(IntPtr s, int n, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonbset_values(IntPtr s, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr concat_jsonbset_jsonb(IntPtr s, IntPtr jb, [MarshalAs(UnmanagedType.U1)] bool invert); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonbset_array_length(IntPtr set); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonbset_object_field(IntPtr set, IntPtr key, [MarshalAs(UnmanagedType.U1)] bool astext, IntPtr null_handle); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonbset_array_element(IntPtr set, int idx, [MarshalAs(UnmanagedType.U1)] bool astext, IntPtr null_handle); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonbset_delete_index(IntPtr set, int idx); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonbset_delete(IntPtr set, IntPtr key); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonbset_delete_array(IntPtr set, IntPtr keys, int count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonbset_exists(IntPtr set, IntPtr key); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonbset_exists_array(IntPtr set, IntPtr keys, int count, [MarshalAs(UnmanagedType.U1)] bool any); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonbset_set(IntPtr set, IntPtr keys, int count, IntPtr newjb, [MarshalAs(UnmanagedType.U1)] bool create, IntPtr null_handle, [MarshalAs(UnmanagedType.U1)] bool lax); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonbset_to_alphanumset(IntPtr set, string key, int settype, IntPtr null_handle); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonbset_to_intset(IntPtr set, string key, IntPtr null_handle); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonbset_to_floatset(IntPtr set, string key, IntPtr null_handle); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonbset_to_textset_key(IntPtr set, string key, IntPtr null_handle); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonbset_strip_nulls(IntPtr set, [MarshalAs(UnmanagedType.U1)] bool strip_in_arrays); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonbset_pretty(IntPtr set); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonbset_delete_path(IntPtr set, IntPtr path_elems, int path_len); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonbset_extract_path(IntPtr set, IntPtr path_elems, int path_len, [MarshalAs(UnmanagedType.U1)] bool astext, IntPtr null_handle); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonbset_insert(IntPtr set, IntPtr path_elems, int path_len, IntPtr newjb, [MarshalAs(UnmanagedType.U1)] bool after); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonbset_path_exists(IntPtr set, IntPtr jp, IntPtr vars, [MarshalAs(UnmanagedType.U1)] bool silent, [MarshalAs(UnmanagedType.U1)] bool tz); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonbset_path_match(IntPtr set, IntPtr jp, IntPtr vars, [MarshalAs(UnmanagedType.U1)] bool silent, [MarshalAs(UnmanagedType.U1)] bool tz); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonbset_path_query_array(IntPtr set, IntPtr jp, IntPtr vars, [MarshalAs(UnmanagedType.U1)] bool silent, [MarshalAs(UnmanagedType.U1)] bool tz); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonbset_path_query_first(IntPtr set, IntPtr jp, IntPtr vars, [MarshalAs(UnmanagedType.U1)] bool silent, [MarshalAs(UnmanagedType.U1)] bool tz); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool contained_jsonb_set(IntPtr jb, IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool contains_set_jsonb(IntPtr s, IntPtr jb); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr intersection_jsonb_set(IntPtr jb, IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr intersection_set_jsonb(IntPtr s, IntPtr jb); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonb_union_transfn(IntPtr state, IntPtr jb); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr minus_jsonb_set(IntPtr jb, IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr minus_set_jsonb(IntPtr s, IntPtr jb); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr union_jsonb_set(IntPtr jb, IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr union_set_jsonb(IntPtr s, IntPtr jb); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tjsonb_from_mfjson(string str); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tjsonb_in(string str); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string tjsonb_out(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tjsonbinst_from_mfjson(IntPtr mfjson); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tjsonbinst_in(string str); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tjsonbseq_from_mfjson(IntPtr mfjson); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tjsonbseq_in(string str, int interp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tjsonbseqset_from_mfjson(IntPtr mfjson); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tjsonbseqset_in(string str); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tjsonb_from_base_temp(IntPtr jsonb, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tjsonbinst_make(IntPtr jsonb, long t); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tjsonbseq_from_base_tstzset(IntPtr jsonb, IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tjsonbseq_from_base_tstzspan(IntPtr jsonb, IntPtr sp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tjsonbseqset_from_base_tstzspanset(IntPtr jsonb, IntPtr ss); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tjsonb_to_ttext(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr ttext_to_tjsonb(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tjsonb_end_value(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tjsonb_start_value(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tjsonb_value_at_timestamptz(IntPtr temp, long t, [MarshalAs(UnmanagedType.U1)] bool strict, IntPtr value); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tjsonb_value_n(IntPtr temp, int n, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tjsonb_values(IntPtr temp, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr concat_tjsonb_jsonb(IntPtr temp, IntPtr jb, [MarshalAs(UnmanagedType.U1)] bool invert); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr concat_tjsonb_tjsonb(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr contains_tjsonb_jsonb(IntPtr temp, IntPtr jb, [MarshalAs(UnmanagedType.U1)] bool invert); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr contains_tjsonb_tjsonb(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr null_handle_type_from_string(string str); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tjson_array_element(IntPtr temp, int idx, IntPtr null_handle); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tjson_array_length(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tjson_extract_path(IntPtr temp, IntPtr path_elems, int path_len, IntPtr null_handle); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tjson_object_field(IntPtr temp, IntPtr key, [MarshalAs(UnmanagedType.U1)] bool astext, IntPtr null_handle); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tjson_strip_nulls(IntPtr temp, [MarshalAs(UnmanagedType.U1)] bool strip_in_arrays); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tjsonb_array_element(IntPtr temp, int idx, [MarshalAs(UnmanagedType.U1)] bool astext, IntPtr null_handle); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tjsonb_array_length(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tjsonb_delete(IntPtr temp, IntPtr key); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tjsonb_delete_array(IntPtr temp, IntPtr keys, int count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tjsonb_delete_index(IntPtr temp, int idx); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tjsonb_delete_path(IntPtr temp, IntPtr path_elems, int path_len); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tjsonb_exists(IntPtr temp, IntPtr key); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tjsonb_exists_array(IntPtr temp, IntPtr keys, int count, [MarshalAs(UnmanagedType.U1)] bool any); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tjsonb_extract_path(IntPtr temp, IntPtr path_elems, int path_len, [MarshalAs(UnmanagedType.U1)] bool astext, IntPtr null_handle); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tjsonb_insert(IntPtr temp, IntPtr keys, int count, IntPtr newjb, [MarshalAs(UnmanagedType.U1)] bool after); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tjsonb_object_field(IntPtr temp, IntPtr key, [MarshalAs(UnmanagedType.U1)] bool astext, IntPtr null_handle); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tjsonb_path_exists(IntPtr temp, IntPtr jp, IntPtr vars, [MarshalAs(UnmanagedType.U1)] bool silent, [MarshalAs(UnmanagedType.U1)] bool tz); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tjsonb_path_match(IntPtr temp, IntPtr jp, IntPtr vars, [MarshalAs(UnmanagedType.U1)] bool silent, [MarshalAs(UnmanagedType.U1)] bool tz); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tjsonb_path_query_array(IntPtr temp, IntPtr jp, IntPtr vars, [MarshalAs(UnmanagedType.U1)] bool silent, [MarshalAs(UnmanagedType.U1)] bool tz); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tjsonb_path_query_first(IntPtr temp, IntPtr jp, IntPtr vars, [MarshalAs(UnmanagedType.U1)] bool silent, [MarshalAs(UnmanagedType.U1)] bool tz); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tjsonb_pretty(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tjsonb_set(IntPtr temp, IntPtr keys, int count, IntPtr newjb, [MarshalAs(UnmanagedType.U1)] bool create, IntPtr handle_null, [MarshalAs(UnmanagedType.U1)] bool lax); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tjsonb_strip_nulls(IntPtr temp, [MarshalAs(UnmanagedType.U1)] bool strip_in_arrays); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tjsonb_to_tbool(IntPtr temp, string key, IntPtr null_handle); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tjsonb_to_tfloat(IntPtr temp, string key, int interp, IntPtr null_handle); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tjsonb_to_tint(IntPtr temp, string key, IntPtr null_handle); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tjsonb_to_ttext_key(IntPtr temp, string key, IntPtr null_handle); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tjsonb_at_value(IntPtr temp, IntPtr jsb); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tjsonb_minus_value(IntPtr temp, IntPtr jsb); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int always_eq_jsonb_tjsonb(IntPtr jb, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int always_eq_tjsonb_jsonb(IntPtr temp, IntPtr jb); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int always_eq_tjsonb_tjsonb(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int always_ne_jsonb_tjsonb(IntPtr jb, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int always_ne_tjsonb_jsonb(IntPtr temp, IntPtr jb); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int always_ne_tjsonb_tjsonb(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ever_eq_jsonb_tjsonb(IntPtr jb, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ever_eq_tjsonb_jsonb(IntPtr temp, IntPtr jb); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ever_eq_tjsonb_tjsonb(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ever_ne_jsonb_tjsonb(IntPtr jb, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ever_ne_tjsonb_jsonb(IntPtr temp, IntPtr jb); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ever_ne_tjsonb_tjsonb(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr teq_jsonb_tjsonb(IntPtr jb, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr teq_tjsonb_jsonb(IntPtr temp, IntPtr jb); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tne_jsonb_tjsonb(IntPtr jb, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tne_tjsonb_jsonb(IntPtr temp, IntPtr jb); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr setPath(IntPtr it, IntPtr path_elems, IntPtr path_nulls, int path_len, IntPtr st, int level, IntPtr newval, int op_type); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void setPathObject(IntPtr it, IntPtr path_elems, IntPtr path_nulls, int path_len, IntPtr st, int level, IntPtr newval, uint npairs, int op_type); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void setPathArray(IntPtr it, IntPtr path_elems, IntPtr path_nulls, int path_len, IntPtr st, int level, IntPtr newval, uint nelems, int op_type); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_jsonb_concat(long l, long r); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_jsonb_contained(long l, long r); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_jsonb_contains(long l, long r); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_jsonb_delete(long jb, long key); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_jsonb_delete_array(long jb, long array, long count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_jsonb_delete_index(long jb, long idx); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_json_array_element(long txt, long element); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_jsonb_array_element(long jb, long element); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_json_array_element_text(long txt, long element); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_jsonb_array_element_text(long jb, long element); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_jsonb_exists(long l, long r); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_jsonb_exists_array(long value, long array, long count, long any); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_json_array_length(long txt); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_jsonb_array_length(long txt); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_json_object_field(long txt, long key); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_jsonb_object_field(long jb, long key); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_json_object_field_text(long txt, long key); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_jsonb_object_field_text(long jb, long key); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_json_strip_nulls(long txt, long strip_in_arrays); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_jsonb_strip_nulls(long jb, long strip_in_arrays); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_jsonb_pretty(long jb); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_json_extract_path(long txt, long path_elems, long path_len); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_jsonb_extract_path(long jb, long path_elems, long path_len); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_json_extract_path_text(long txt, long path_elems, long path_len); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_jsonb_extract_path_text(long jb, long path_elems, long path_len); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_jsonb_set(long jb, long keys, long count, long newjb, long create); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_jsonb_set_lax(long jb, long keys, long count, long newjb, long create, long null_handle); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_jsonb_delete_path(long jb, long keys, long count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_jsonb_insert(long jb, long keys, long count, long newjb, long after); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_jsonb_path_exists(long jb, long jp, long vars, long silent, long tz); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_jsonb_path_match(long jb, long jp, long vars, long silent, long tz); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_jsonb_path_query_array(long jb, long jp, long vars, long silent, long tz); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_jsonb_path_query_first(long jb, long jp, long vars, long silent, long tz); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_jsonb_to_text(long jb); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_text_to_jsonb(long txt); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_jsonb_to_alphanum(long jb, long key, long temptype, long null_handle); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tjsonb_to_talphanum(IntPtr temp, string key, int resbasetype, int interp, IntPtr null_handle); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonbfunc_jsonbset(IntPtr s, int func, int intype, int restype); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonbfunc_jsonbset_jsonb(IntPtr s, IntPtr jb, IntPtr func, [MarshalAs(UnmanagedType.U1)] bool invert); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr jsonbfunc_jsonbset_text(IntPtr s, IntPtr txt, IntPtr func); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool meos_temporal_to_arrow(IntPtr temp, IntPtr out_schema, IntPtr out_array); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr meos_temporal_from_arrow(IntPtr schema, IntPtr array); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr meos_temporal_arrow_roundtrip(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool meos_set_to_arrow(IntPtr s, IntPtr out_schema, IntPtr out_array); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr meos_set_from_arrow(IntPtr schema, IntPtr array); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr meos_set_arrow_roundtrip(IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool meos_span_to_arrow(IntPtr s, IntPtr out_schema, IntPtr out_array); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr meos_span_from_arrow(IntPtr schema, IntPtr array); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr meos_span_arrow_roundtrip(IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool meos_spanset_to_arrow(IntPtr ss, IntPtr out_schema, IntPtr out_array); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr meos_spanset_from_arrow(IntPtr schema, IntPtr array); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr meos_spanset_arrow_roundtrip(IntPtr ss); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool meos_tbox_to_arrow(IntPtr box, IntPtr out_schema, IntPtr out_array); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr meos_tbox_from_arrow(IntPtr schema, IntPtr array); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr meos_tbox_arrow_roundtrip(IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool meos_stbox_to_arrow(IntPtr box, IntPtr out_schema, IntPtr out_array); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr meos_stbox_from_arrow(IntPtr schema, IntPtr array); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr meos_stbox_arrow_roundtrip(IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr h3index_from_wkb(IntPtr wkb, IntPtr size); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr h3index_from_hexwkb(string hexwkb); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr h3index_as_wkb(IntPtr cell, IntPtr variant, IntPtr size_out); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string h3index_as_hexwkb(IntPtr cell, IntPtr variant, IntPtr size_out); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr th3index_in(string str); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr th3indexinst_in(string str); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr th3indexseq_in(string str, int interp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr th3indexseqset_in(string str); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr th3index_make(IntPtr value, long t); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr th3indexinst_make(IntPtr value, long t); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr th3indexseq_make(IntPtr values, IntPtr times, int count, [MarshalAs(UnmanagedType.U1)] bool lower_inc, [MarshalAs(UnmanagedType.U1)] bool upper_inc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr th3indexseqset_make(IntPtr sequences, int count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr th3index_start_value(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr th3index_end_value(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool th3index_value_n(IntPtr temp, int n, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr th3index_values(IntPtr temp, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool th3index_value_at_timestamptz(IntPtr temp, long t, [MarshalAs(UnmanagedType.U1)] bool strict, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tbigint_to_th3index(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr th3index_to_tbigint(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ever_eq_h3index_th3index(IntPtr cell, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ever_eq_th3index_h3index(IntPtr temp, IntPtr cell); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ever_ne_h3index_th3index(IntPtr cell, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ever_ne_th3index_h3index(IntPtr temp, IntPtr cell); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int always_eq_h3index_th3index(IntPtr cell, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int always_eq_th3index_h3index(IntPtr temp, IntPtr cell); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int always_ne_h3index_th3index(IntPtr cell, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int always_ne_th3index_h3index(IntPtr temp, IntPtr cell); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ever_eq_th3index_th3index(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ever_ne_th3index_th3index(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int always_eq_th3index_th3index(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int always_ne_th3index_th3index(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr teq_h3index_th3index(IntPtr cell, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr teq_th3index_h3index(IntPtr temp, IntPtr cell); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr teq_th3index_th3index(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tne_h3index_th3index(IntPtr cell, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tne_th3index_h3index(IntPtr temp, IntPtr cell); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tne_th3index_th3index(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr th3index_get_resolution(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr th3index_get_base_cell_number(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr th3index_is_valid_cell(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr th3index_is_res_class_iii(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr th3index_is_pentagon(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr th3index_cell_to_parent(IntPtr temp, int resolution); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr th3index_cell_to_parent_next(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr th3index_cell_to_center_child(IntPtr temp, int resolution); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr th3index_cell_to_center_child_next(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr th3index_cell_to_child_pos(IntPtr temp, int parent_res); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr th3index_child_pos_to_cell(IntPtr child_pos, IntPtr parent, int child_res); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tgeogpoint_to_th3index(IntPtr temp, int resolution); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tgeompoint_to_th3index(IntPtr temp, int resolution); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr th3index_to_tgeogpoint(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr th3index_to_tgeompoint(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr th3index_cell_to_boundary(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr geo_to_h3index_set(IntPtr gs, int resolution); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ever_eq_h3indexset_th3index(IntPtr cells, IntPtr th3idx); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr th3index_are_neighbor_cells(IntPtr origin, IntPtr dest); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr th3index_cells_to_directed_edge(IntPtr origin, IntPtr dest); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr th3index_is_valid_directed_edge(IntPtr edge); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr th3index_get_directed_edge_origin(IntPtr edge); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr th3index_get_directed_edge_destination(IntPtr edge); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr th3index_directed_edge_to_boundary(IntPtr edge); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr th3index_cell_to_vertex(IntPtr temp, int vertex_num); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr th3index_vertex_to_latlng(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr th3index_is_valid_vertex(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr th3index_grid_distance(IntPtr origin, IntPtr dest); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr th3index_cell_to_local_ij(IntPtr origin, IntPtr cell); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr th3index_local_ij_to_cell(IntPtr origin, IntPtr coord); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr th3index_cell_area(IntPtr temp, string unit); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr th3index_edge_length(IntPtr temp, string unit); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tgeogpoint_great_circle_distance(IntPtr a, IntPtr b, string unit); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr proj_get_context(); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr geos_get_context(); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_geo_round(long value, long size); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr point_round(IntPtr gs, int maxdd); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void stbox_set([MarshalAs(UnmanagedType.U1)] bool hasx, [MarshalAs(UnmanagedType.U1)] bool hasz, [MarshalAs(UnmanagedType.U1)] bool geodetic, int srid, double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, IntPtr s, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void gbox_set_stbox(IntPtr box, int srid, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool geo_set_stbox(IntPtr gs, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void geoarr_set_stbox(IntPtr values, int count, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool spatial_set_stbox(long d, int basetype, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void spatialset_set_stbox(IntPtr set, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void stbox_set_box3d(IntPtr box, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void stbox_set_gbox(IntPtr box, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void tstzset_set_stbox(IntPtr s, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void tstzspan_set_stbox(IntPtr s, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void tstzspanset_set_stbox(IntPtr s, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void stbox_expand(IntPtr box1, IntPtr box2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool inter_stbox_stbox(IntPtr box1, IntPtr box2, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tgeogpointinst_from_mfjson(IntPtr mfjson, int srid); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tgeogpointinst_in(string str); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tgeogpointseq_from_mfjson(IntPtr mfjson, int srid, int interp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tgeogpointseq_in(string str, int interp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tgeogpointseqset_from_mfjson(IntPtr mfjson, int srid, int interp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tgeogpointseqset_in(string str); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tgeompointinst_from_mfjson(IntPtr mfjson, int srid); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tgeompointinst_in(string str); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tgeompointseq_from_mfjson(IntPtr mfjson, int srid, int interp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tgeompointseq_in(string str, int interp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tgeompointseqset_from_mfjson(IntPtr mfjson, int srid, int interp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tgeompointseqset_in(string str); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tgeographyinst_from_mfjson(IntPtr mfjson, int srid); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tgeographyinst_in(string str); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tgeographyseq_from_mfjson(IntPtr mfjson, int srid, int interp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tgeographyseq_in(string str, int interp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tgeographyseqset_from_mfjson(IntPtr mfjson, int srid, int interp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tgeographyseqset_in(string str); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tgeometryinst_from_mfjson(IntPtr mfjson, int srid); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tgeometryinst_in(string str); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tgeometryseq_from_mfjson(IntPtr mfjson, int srid, int interp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tgeometryseq_in(string str, int interp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tgeometryseqset_from_mfjson(IntPtr mfjson, int srid, int interp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tgeometryseqset_in(string str); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void tspatial_set_stbox(IntPtr temp, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void tspatialseq_set_stbox(IntPtr seq, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void tspatialseqset_set_stbox(IntPtr ss, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tgeo_restrict_elevation(IntPtr temp, IntPtr s, [MarshalAs(UnmanagedType.U1)] bool atfunc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tgeo_restrict_geom(IntPtr temp, IntPtr gs, [MarshalAs(UnmanagedType.U1)] bool atfunc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tgeo_restrict_stbox(IntPtr temp, IntPtr box, [MarshalAs(UnmanagedType.U1)] bool border_inc, [MarshalAs(UnmanagedType.U1)] bool atfunc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tgeoinst_restrict_geom(IntPtr inst, IntPtr gs, [MarshalAs(UnmanagedType.U1)] bool atfunc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tgeoinst_restrict_stbox(IntPtr inst, IntPtr box, [MarshalAs(UnmanagedType.U1)] bool border_inc, [MarshalAs(UnmanagedType.U1)] bool atfunc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tgeoseq_restrict_geom(IntPtr seq, IntPtr gs, [MarshalAs(UnmanagedType.U1)] bool atfunc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tgeoseq_restrict_stbox(IntPtr seq, IntPtr box, [MarshalAs(UnmanagedType.U1)] bool border_inc, [MarshalAs(UnmanagedType.U1)] bool atfunc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tgeoseqset_restrict_geom(IntPtr ss, IntPtr gs, [MarshalAs(UnmanagedType.U1)] bool atfunc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tgeoseqset_restrict_stbox(IntPtr ss, IntPtr box, [MarshalAs(UnmanagedType.U1)] bool border_inc, [MarshalAs(UnmanagedType.U1)] bool atfunc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tpoint_linear_inter_geom(IntPtr temp, IntPtr gs, [MarshalAs(UnmanagedType.U1)] bool clip); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tpoint_linear_dwithin_geom(IntPtr temp, IntPtr gs, double dist); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tpoint_linear_distance_geom(IntPtr temp, IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tpoint_linear_restrict_geom(IntPtr temp, IntPtr gs, [MarshalAs(UnmanagedType.U1)] bool atfunc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool geom_clip_supported(IntPtr geom); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int spatial_srid(long d, int basetype); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool spatial_set_srid(long d, int basetype, int srid); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int tspatialinst_srid(IntPtr inst); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tpointseq_azimuth(IntPtr seq); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tpointseq_cumulative_length(IntPtr seq, double prevlength); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tpointseq_is_simple(IntPtr seq); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial double tpointseq_length(IntPtr seq); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tpointseq_linear_trajectory(IntPtr seq, [MarshalAs(UnmanagedType.U1)] bool unary_union); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tgeoseq_stboxes(IntPtr seq, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tgeoseq_split_n_stboxes(IntPtr seq, int max_count, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tpointseqset_azimuth(IntPtr ss); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tpointseqset_cumulative_length(IntPtr ss); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tpointseqset_is_simple(IntPtr ss); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial double tpointseqset_length(IntPtr ss); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tgeoseqset_stboxes(IntPtr ss, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tgeoseqset_split_n_stboxes(IntPtr ss, int max_count, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tgeominst_tgeoginst(IntPtr inst, [MarshalAs(UnmanagedType.U1)] bool oper); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tgeomseq_tgeogseq(IntPtr seq, [MarshalAs(UnmanagedType.U1)] bool oper); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tgeomseqset_tgeogseqset(IntPtr ss, [MarshalAs(UnmanagedType.U1)] bool oper); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tgeom_tgeog(IntPtr temp, [MarshalAs(UnmanagedType.U1)] bool oper); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tgeo_tpoint(IntPtr temp, [MarshalAs(UnmanagedType.U1)] bool oper); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void tspatialinst_set_srid(IntPtr inst, int srid); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tpointseq_make_simple(IntPtr seq, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void tspatialseq_set_srid(IntPtr seq, int srid); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tpointseqset_make_simple(IntPtr ss, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void tspatialseqset_set_srid(IntPtr ss, int srid); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tpointseq_twcentroid(IntPtr seq); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tpointseqset_twcentroid(IntPtr ss); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string npoint_as_ewkt(IntPtr np, int maxdd); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string npoint_as_hexwkb(IntPtr np, IntPtr variant, IntPtr size_out); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string npoint_as_text(IntPtr np, int maxdd); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr npoint_as_wkb(IntPtr np, IntPtr variant, IntPtr size_out); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr npoint_from_hexwkb(string hexwkb); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr npoint_from_wkb(IntPtr wkb, IntPtr size); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr npoint_in(string str); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string npoint_out(IntPtr np, int maxdd); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr nsegment_in(string str); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string nsegment_out(IntPtr ns, int maxdd); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr npoint_make(IntPtr rid, double pos); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr nsegment_make(IntPtr rid, double pos1, double pos2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr geompoint_to_npoint(IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr geom_to_nsegment(IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr npoint_to_geompoint(IntPtr np); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr npoint_to_nsegment(IntPtr np); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr npoint_to_stbox(IntPtr np); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr nsegment_to_geom(IntPtr ns); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr nsegment_to_stbox(IntPtr ns); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int npoint_hash(IntPtr np); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr npoint_hash_extended(IntPtr np, IntPtr seed); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial double npoint_position(IntPtr np); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr npoint_route(IntPtr np); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial double nsegment_end_position(IntPtr ns); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr nsegment_route(IntPtr ns); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial double nsegment_start_position(IntPtr ns); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool route_exists(IntPtr rid); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr route_geom(IntPtr rid); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial double route_length(IntPtr rid); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr npoint_round(IntPtr np, int maxdd); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr nsegment_round(IntPtr ns, int maxdd); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int get_srid_ways(); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int npoint_srid(IntPtr np); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int nsegment_srid(IntPtr ns); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr npoint_timestamptz_to_stbox(IntPtr np, long t); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr npoint_tstzspan_to_stbox(IntPtr np, IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int npoint_cmp(IntPtr np1, IntPtr np2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool npoint_eq(IntPtr np1, IntPtr np2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool npoint_ge(IntPtr np1, IntPtr np2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool npoint_gt(IntPtr np1, IntPtr np2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool npoint_le(IntPtr np1, IntPtr np2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool npoint_lt(IntPtr np1, IntPtr np2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool npoint_ne(IntPtr np1, IntPtr np2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool npoint_same(IntPtr np1, IntPtr np2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int nsegment_cmp(IntPtr ns1, IntPtr ns2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool nsegment_eq(IntPtr ns1, IntPtr ns2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool nsegment_ge(IntPtr ns1, IntPtr ns2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool nsegment_gt(IntPtr ns1, IntPtr ns2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool nsegment_le(IntPtr ns1, IntPtr ns2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool nsegment_lt(IntPtr ns1, IntPtr ns2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool nsegment_ne(IntPtr ns1, IntPtr ns2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr npointset_in(string str); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string npointset_out(IntPtr s, int maxdd); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr npointset_make(IntPtr values, int count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr npoint_to_set(IntPtr np); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr npointset_end_value(IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr npointset_routes(IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr npointset_start_value(IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool npointset_value_n(IntPtr s, int n, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr npointset_values(IntPtr s, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool contained_npoint_set(IntPtr np, IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool contains_set_npoint(IntPtr s, IntPtr np); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr intersection_npoint_set(IntPtr np, IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr intersection_set_npoint(IntPtr s, IntPtr np); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr minus_npoint_set(IntPtr np, IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr minus_set_npoint(IntPtr s, IntPtr np); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr npoint_union_transfn(IntPtr state, IntPtr np); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr union_npoint_set(IntPtr np, IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr union_set_npoint(IntPtr s, IntPtr np); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnpoint_in(string str); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnpoint_from_mfjson(string mfjson); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string tnpoint_out(IntPtr temp, int maxdd); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnpointinst_make(IntPtr np, long t); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnpoint_from_base_temp(IntPtr np, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnpointseq_from_base_tstzset(IntPtr np, IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnpointseq_from_base_tstzspan(IntPtr np, IntPtr s, int interp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnpointseqset_from_base_tstzspanset(IntPtr np, IntPtr ss, int interp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tgeompoint_to_tnpoint(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnpoint_to_tgeompoint(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnpoint_cumulative_length(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnpoint_end_value(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial double tnpoint_length(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnpoint_positions(IntPtr temp, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnpoint_route(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnpoint_routes(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnpoint_speed(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnpoint_start_value(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnpoint_trajectory(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tnpoint_value_at_timestamptz(IntPtr temp, long t, [MarshalAs(UnmanagedType.U1)] bool strict, IntPtr value); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tnpoint_value_n(IntPtr temp, int n, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnpoint_values(IntPtr temp, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnpoint_twcentroid(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnpoint_at_geom(IntPtr temp, IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnpoint_at_npoint(IntPtr temp, IntPtr np); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnpoint_at_npointset(IntPtr temp, IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnpoint_at_stbox(IntPtr temp, IntPtr box, [MarshalAs(UnmanagedType.U1)] bool border_inc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnpoint_minus_geom(IntPtr temp, IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnpoint_minus_npoint(IntPtr temp, IntPtr np); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnpoint_minus_npointset(IntPtr temp, IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnpoint_minus_stbox(IntPtr temp, IntPtr box, [MarshalAs(UnmanagedType.U1)] bool border_inc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tdistance_tnpoint_npoint(IntPtr temp, IntPtr np); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tdistance_tnpoint_geo(IntPtr temp, IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tdistance_tnpoint_tnpoint(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial double nad_tnpoint_geo(IntPtr temp, IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial double nad_tnpoint_npoint(IntPtr temp, IntPtr np); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial double nad_tnpoint_stbox(IntPtr temp, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial double nad_tnpoint_tnpoint(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr nai_tnpoint_geo(IntPtr temp, IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr nai_tnpoint_npoint(IntPtr temp, IntPtr np); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr nai_tnpoint_tnpoint(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr shortestline_tnpoint_geo(IntPtr temp, IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr shortestline_tnpoint_npoint(IntPtr temp, IntPtr np); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr shortestline_tnpoint_tnpoint(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnpoint_tcentroid_transfn(IntPtr state, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int always_eq_npoint_tnpoint(IntPtr np, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int always_eq_tnpoint_npoint(IntPtr temp, IntPtr np); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int always_eq_tnpoint_tnpoint(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int always_ne_npoint_tnpoint(IntPtr np, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int always_ne_tnpoint_npoint(IntPtr temp, IntPtr np); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int always_ne_tnpoint_tnpoint(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ever_eq_npoint_tnpoint(IntPtr np, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ever_eq_tnpoint_npoint(IntPtr temp, IntPtr np); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ever_eq_tnpoint_tnpoint(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ever_ne_npoint_tnpoint(IntPtr np, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ever_ne_tnpoint_npoint(IntPtr temp, IntPtr np); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ever_ne_tnpoint_tnpoint(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr teq_tnpoint_npoint(IntPtr temp, IntPtr np); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tne_tnpoint_npoint(IntPtr temp, IntPtr np); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr pcpoint_hex_in(string str); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string pcpoint_hex_out(IntPtr pt, int maxdd); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr pcpoint_from_hexwkb(string hexwkb); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string pcpoint_as_hexwkb(IntPtr pt); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr pcpoint_copy(IntPtr pt); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial uint pcpoint_get_pcid(IntPtr pt); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int pcpoint_hash(IntPtr pt); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr pcpoint_hash_extended(IntPtr pt, IntPtr seed); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool pcpoint_get_x(IntPtr pt, IntPtr schema, IntPtr @out); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool pcpoint_get_y(IntPtr pt, IntPtr schema, IntPtr @out); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool pcpoint_get_z(IntPtr pt, IntPtr schema, IntPtr @out); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool pcpoint_get_dim(IntPtr pt, IntPtr schema, string name, IntPtr @out); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr pcpoint_to_tpcbox(IntPtr pt, IntPtr schema); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr meos_pc_schema(uint pcid); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void meos_pc_schema_register(uint pcid, IntPtr schema); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void meos_pc_schema_register_xml(uint pcid, IntPtr schema, string xml_text); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string meos_pc_schema_xml(uint pcid); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void meos_pc_schema_clear(); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int pcpoint_cmp(IntPtr pt1, IntPtr pt2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool pcpoint_eq(IntPtr pt1, IntPtr pt2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool pcpoint_ne(IntPtr pt1, IntPtr pt2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool pcpoint_lt(IntPtr pt1, IntPtr pt2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool pcpoint_le(IntPtr pt1, IntPtr pt2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool pcpoint_gt(IntPtr pt1, IntPtr pt2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool pcpoint_ge(IntPtr pt1, IntPtr pt2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr pcpatch_hex_in(string str); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string pcpatch_hex_out(IntPtr pa, int maxdd); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr pcpatch_from_hexwkb(string hexwkb); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string pcpatch_as_hexwkb(IntPtr pa); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr pcpatch_copy(IntPtr pa); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial uint pcpatch_get_pcid(IntPtr pa); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial uint pcpatch_npoints(IntPtr pa); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int pcpatch_hash(IntPtr pa); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr pcpatch_hash_extended(IntPtr pa, IntPtr seed); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int pcpatch_cmp(IntPtr pa1, IntPtr pa2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool pcpatch_eq(IntPtr pa1, IntPtr pa2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool pcpatch_ne(IntPtr pa1, IntPtr pa2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool pcpatch_lt(IntPtr pa1, IntPtr pa2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool pcpatch_le(IntPtr pa1, IntPtr pa2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool pcpatch_gt(IntPtr pa1, IntPtr pa2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool pcpatch_ge(IntPtr pa1, IntPtr pa2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr pcpointset_in(string str); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string pcpointset_out(IntPtr s, int maxdd); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr pcpointset_make(IntPtr values, int count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr pcpoint_to_set(IntPtr pt); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr pcpointset_start_value(IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr pcpointset_end_value(IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool pcpointset_value_n(IntPtr s, int n, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr pcpointset_values(IntPtr s, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool contains_set_pcpoint(IntPtr s, IntPtr pt); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool contained_pcpoint_set(IntPtr pt, IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr intersection_pcpoint_set(IntPtr pt, IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr intersection_set_pcpoint(IntPtr s, IntPtr pt); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr minus_pcpoint_set(IntPtr pt, IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr minus_set_pcpoint(IntPtr s, IntPtr pt); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr union_pcpoint_set(IntPtr pt, IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr union_set_pcpoint(IntPtr s, IntPtr pt); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr pcpoint_union_transfn(IntPtr state, IntPtr pt); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr pcpatchset_in(string str); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string pcpatchset_out(IntPtr s, int maxdd); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr pcpatchset_make(IntPtr values, int count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr pcpatch_to_set(IntPtr pa); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr pcpatchset_start_value(IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr pcpatchset_end_value(IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool pcpatchset_value_n(IntPtr s, int n, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr pcpatchset_values(IntPtr s, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool contains_set_pcpatch(IntPtr s, IntPtr pa); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool contained_pcpatch_set(IntPtr pa, IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr intersection_pcpatch_set(IntPtr pa, IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr intersection_set_pcpatch(IntPtr s, IntPtr pa); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr minus_pcpatch_set(IntPtr pa, IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr minus_set_pcpatch(IntPtr s, IntPtr pa); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr union_pcpatch_set(IntPtr pa, IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr union_set_pcpatch(IntPtr s, IntPtr pa); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr pcpatch_union_transfn(IntPtr state, IntPtr pa); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tpcbox_in(string str); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string tpcbox_out(IntPtr box, int maxdd); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tpcbox_make([MarshalAs(UnmanagedType.U1)] bool hasx, [MarshalAs(UnmanagedType.U1)] bool hasz, [MarshalAs(UnmanagedType.U1)] bool hast, [MarshalAs(UnmanagedType.U1)] bool geodetic, int srid, uint pcid, double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, IntPtr period); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tpcbox_copy(IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr pcpatch_to_tpcbox(IntPtr pa, int srid); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tpcbox_hasx(IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tpcbox_hasz(IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tpcbox_hast(IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tpcbox_geodetic(IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tpcbox_xmin(IntPtr box, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tpcbox_xmax(IntPtr box, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tpcbox_ymin(IntPtr box, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tpcbox_ymax(IntPtr box, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tpcbox_zmin(IntPtr box, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tpcbox_zmax(IntPtr box, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tpcbox_tmin(IntPtr box, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tpcbox_tmin_inc(IntPtr box, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tpcbox_tmax(IntPtr box, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tpcbox_tmax_inc(IntPtr box, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int tpcbox_srid(IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial uint tpcbox_pcid(IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tpcbox_to_stbox(IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void tpcbox_expand(IntPtr box1, IntPtr box2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tpcbox_round(IntPtr box, int maxdd); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tpcbox_set_srid(IntPtr box, int srid); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr union_tpcbox_tpcbox(IntPtr box1, IntPtr box2, [MarshalAs(UnmanagedType.U1)] bool strict); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool inter_tpcbox_tpcbox(IntPtr box1, IntPtr box2, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr intersection_tpcbox_tpcbox(IntPtr box1, IntPtr box2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool contains_tpcbox_tpcbox(IntPtr box1, IntPtr box2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool contained_tpcbox_tpcbox(IntPtr box1, IntPtr box2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool overlaps_tpcbox_tpcbox(IntPtr box1, IntPtr box2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool same_tpcbox_tpcbox(IntPtr box1, IntPtr box2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool adjacent_tpcbox_tpcbox(IntPtr box1, IntPtr box2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int tpcbox_cmp(IntPtr box1, IntPtr box2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tpcbox_eq(IntPtr box1, IntPtr box2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tpcbox_ne(IntPtr box1, IntPtr box2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tpcbox_lt(IntPtr box1, IntPtr box2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tpcbox_le(IntPtr box1, IntPtr box2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tpcbox_gt(IntPtr box1, IntPtr box2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tpcbox_ge(IntPtr box1, IntPtr box2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool left_tpcbox_tpcbox(IntPtr box1, IntPtr box2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool overleft_tpcbox_tpcbox(IntPtr box1, IntPtr box2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool right_tpcbox_tpcbox(IntPtr box1, IntPtr box2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool overright_tpcbox_tpcbox(IntPtr box1, IntPtr box2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool below_tpcbox_tpcbox(IntPtr box1, IntPtr box2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool overbelow_tpcbox_tpcbox(IntPtr box1, IntPtr box2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool above_tpcbox_tpcbox(IntPtr box1, IntPtr box2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool overabove_tpcbox_tpcbox(IntPtr box1, IntPtr box2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool front_tpcbox_tpcbox(IntPtr box1, IntPtr box2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool overfront_tpcbox_tpcbox(IntPtr box1, IntPtr box2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool back_tpcbox_tpcbox(IntPtr box1, IntPtr box2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool overback_tpcbox_tpcbox(IntPtr box1, IntPtr box2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool before_tpcbox_tpcbox(IntPtr box1, IntPtr box2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool overbefore_tpcbox_tpcbox(IntPtr box1, IntPtr box2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool after_tpcbox_tpcbox(IntPtr box1, IntPtr box2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool overafter_tpcbox_tpcbox(IntPtr box1, IntPtr box2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_same_pcid_tpcbox(IntPtr box1, IntPtr box2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tpointcloudinst_make(IntPtr pt, long t); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool eintersects_tpcpoint_geo(IntPtr temp, IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial double nad_tpcpoint_geo(IntPtr temp, IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string pose_as_ewkt(IntPtr pose, int maxdd); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string pose_as_hexwkb(IntPtr pose, IntPtr variant, IntPtr size_out); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string pose_as_text(IntPtr pose, int maxdd); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr pose_as_wkb(IntPtr pose, IntPtr variant, IntPtr size_out); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr pose_from_wkb(IntPtr wkb, IntPtr size); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr pose_from_hexwkb(string hexwkb); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr pose_in(string str); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string pose_out(IntPtr pose, int maxdd); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr pose_from_geopose(string json); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string pose_as_geopose(IntPtr pose, int conformance, int precision); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tpose_from_geopose(string json); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string tpose_as_geopose(IntPtr temp, int conformance, int precision); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr pose_apply_geo(IntPtr pose, IntPtr body); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tpose_apply_geo(IntPtr temp, IntPtr body); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr pose_copy(IntPtr pose); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr pose_make_2d(double x, double y, double theta, [MarshalAs(UnmanagedType.U1)] bool geodetic, int srid); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr pose_make_3d(double x, double y, double z, double W, double X, double Y, double Z, [MarshalAs(UnmanagedType.U1)] bool geodetic, int srid); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr pose_make_point2d(IntPtr gs, double theta); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr pose_make_point3d(IntPtr gs, double W, double X, double Y, double Z); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr pose_to_point(IntPtr pose); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr pose_to_stbox(IntPtr pose); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int pose_hash(IntPtr pose); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr pose_hash_extended(IntPtr pose, IntPtr seed); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr pose_orientation(IntPtr pose, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial double pose_rotation(IntPtr pose); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial double pose_yaw(IntPtr pose); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial double pose_pitch(IntPtr pose); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial double pose_roll(IntPtr pose); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial double pose_angular_distance(IntPtr pose1, IntPtr pose2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr pose_normalize(IntPtr pose); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr pose_round(IntPtr pose, int maxdd); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr posearr_round(IntPtr posearr, int count, int maxdd); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void pose_set_srid(IntPtr pose, int srid); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int pose_srid(IntPtr pose); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr pose_transform(IntPtr pose, int srid); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr pose_transform_pipeline(IntPtr pose, string pipelinestr, int srid, [MarshalAs(UnmanagedType.U1)] bool is_forward); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr pose_tstzspan_to_stbox(IntPtr pose, IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr pose_timestamptz_to_stbox(IntPtr pose, long t); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial double distance_pose_geo(IntPtr pose, IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial double distance_pose_pose(IntPtr pose1, IntPtr pose2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial double distance_pose_stbox(IntPtr pose, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int pose_cmp(IntPtr pose1, IntPtr pose2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool pose_eq(IntPtr pose1, IntPtr pose2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool pose_ge(IntPtr pose1, IntPtr pose2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool pose_gt(IntPtr pose1, IntPtr pose2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool pose_le(IntPtr pose1, IntPtr pose2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool pose_lt(IntPtr pose1, IntPtr pose2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool pose_ne(IntPtr pose1, IntPtr pose2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool pose_nsame(IntPtr pose1, IntPtr pose2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool pose_same(IntPtr pose1, IntPtr pose2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr poseset_in(string str); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string poseset_out(IntPtr s, int maxdd); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr poseset_make(IntPtr values, int count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr pose_to_set(IntPtr pose); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr poseset_end_value(IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr poseset_start_value(IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool poseset_value_n(IntPtr s, int n, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr poseset_values(IntPtr s, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool contained_pose_set(IntPtr pose, IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool contains_set_pose(IntPtr s, IntPtr pose); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr intersection_pose_set(IntPtr pose, IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr intersection_set_pose(IntPtr s, IntPtr pose); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr minus_pose_set(IntPtr pose, IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr minus_set_pose(IntPtr s, IntPtr pose); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr pose_union_transfn(IntPtr state, IntPtr pose); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr union_pose_set(IntPtr pose, IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr union_set_pose(IntPtr s, IntPtr pose); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tpose_from_mfjson(string str); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tpose_in(string str); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tposeinst_make(IntPtr pose, long t); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tpose_from_base_temp(IntPtr pose, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tposeseq_from_base_tstzset(IntPtr pose, IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tposeseq_from_base_tstzspan(IntPtr pose, IntPtr s, int interp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tposeseqset_from_base_tstzspanset(IntPtr pose, IntPtr ss, int interp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tpose_make(IntPtr tpoint, IntPtr tradius); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tpose_to_tpoint(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tpose_end_value(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tpose_points(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tpose_rotation(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tpose_yaw(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tpose_pitch(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tpose_roll(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tpose_speed(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tpose_angular_speed(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tpose_start_value(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tpose_trajectory(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tpose_value_at_timestamptz(IntPtr temp, long t, [MarshalAs(UnmanagedType.U1)] bool strict, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tpose_value_n(IntPtr temp, int n, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tpose_values(IntPtr temp, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tpose_at_geom(IntPtr temp, IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tpose_at_stbox(IntPtr temp, IntPtr box, [MarshalAs(UnmanagedType.U1)] bool border_inc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tpose_at_pose(IntPtr temp, IntPtr pose); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tpose_minus_geom(IntPtr temp, IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tpose_minus_pose(IntPtr temp, IntPtr pose); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tpose_minus_stbox(IntPtr temp, IntPtr box, [MarshalAs(UnmanagedType.U1)] bool border_inc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tdistance_tpose_pose(IntPtr temp, IntPtr pose); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tdistance_tpose_geo(IntPtr temp, IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tdistance_tpose_tpose(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial double nad_tpose_geo(IntPtr temp, IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial double nad_tpose_pose(IntPtr temp, IntPtr pose); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial double nad_tpose_stbox(IntPtr temp, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial double nad_tpose_tpose(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr nai_tpose_geo(IntPtr temp, IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr nai_tpose_pose(IntPtr temp, IntPtr pose); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr nai_tpose_tpose(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr shortestline_tpose_geo(IntPtr temp, IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr shortestline_tpose_pose(IntPtr temp, IntPtr pose); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr shortestline_tpose_tpose(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int always_eq_pose_tpose(IntPtr pose, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int always_eq_tpose_pose(IntPtr temp, IntPtr pose); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int always_eq_tpose_tpose(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int always_ne_pose_tpose(IntPtr pose, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int always_ne_tpose_pose(IntPtr temp, IntPtr pose); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int always_ne_tpose_tpose(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ever_eq_pose_tpose(IntPtr pose, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ever_eq_tpose_pose(IntPtr temp, IntPtr pose); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ever_eq_tpose_tpose(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ever_ne_pose_tpose(IntPtr pose, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ever_ne_tpose_pose(IntPtr temp, IntPtr pose); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ever_ne_tpose_tpose(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr teq_pose_tpose(IntPtr pose, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr teq_tpose_pose(IntPtr temp, IntPtr pose); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tne_pose_tpose(IntPtr pose, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tne_tpose_pose(IntPtr temp, IntPtr pose); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool quadbin_is_valid_index(IntPtr index); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool quadbin_is_valid_cell(IntPtr cell); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr quadbin_tile_to_cell(uint x, uint y, uint z); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void quadbin_cell_to_tile(IntPtr cell, IntPtr x, IntPtr y, IntPtr z); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial uint quadbin_get_resolution(IntPtr cell); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr quadbin_cell_to_parent(IntPtr cell, uint parent_resolution); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr quadbin_cell_to_children(IntPtr cell, uint children_resolution, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr quadbin_cell_sibling(IntPtr cell, string direction); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr quadbin_k_ring(IntPtr cell, int k, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr quadbin_point_to_cell(double longitude, double latitude, uint resolution); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void quadbin_cell_to_point(IntPtr cell, IntPtr longitude, IntPtr latitude); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void quadbin_cell_to_bounding_box(IntPtr cell, IntPtr xmin, IntPtr ymin, IntPtr xmax, IntPtr ymax); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial double quadbin_cell_area(IntPtr cell); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string quadbin_index_to_string(IntPtr index); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr quadbin_string_to_index(string str); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string quadbin_cell_to_quadkey(IntPtr cell); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr quadbin_parse(string str); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool quadbin_eq(IntPtr a, IntPtr b); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool quadbin_ne(IntPtr a, IntPtr b); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool quadbin_lt(IntPtr a, IntPtr b); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool quadbin_le(IntPtr a, IntPtr b); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool quadbin_gt(IntPtr a, IntPtr b); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool quadbin_ge(IntPtr a, IntPtr b); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int quadbin_cmp(IntPtr a, IntPtr b); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial uint quadbin_hash(IntPtr cell); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr quadbin_grid_disk(IntPtr origin, int k); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr quadbin_cell_to_children_set(IntPtr origin, int children_resolution); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tquadbin_in(string str); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tquadbininst_in(string str); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tquadbinseq_in(string str, int interp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tquadbinseqset_in(string str); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tquadbin_make(IntPtr value, long t); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tquadbininst_make(IntPtr value, long t); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tquadbinseq_make(IntPtr values, IntPtr times, int count, [MarshalAs(UnmanagedType.U1)] bool lower_inc, [MarshalAs(UnmanagedType.U1)] bool upper_inc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tquadbinseqset_make(IntPtr sequences, int count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tquadbin_start_value(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tquadbin_end_value(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tquadbin_value_n(IntPtr temp, int n, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tquadbin_values(IntPtr temp, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tquadbin_value_at_timestamptz(IntPtr temp, long t, [MarshalAs(UnmanagedType.U1)] bool strict, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tbigint_to_tquadbin(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tquadbin_to_tbigint(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ever_eq_quadbin_tquadbin(IntPtr cell, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ever_eq_tquadbin_quadbin(IntPtr temp, IntPtr cell); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ever_ne_quadbin_tquadbin(IntPtr cell, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ever_ne_tquadbin_quadbin(IntPtr temp, IntPtr cell); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int always_eq_quadbin_tquadbin(IntPtr cell, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int always_eq_tquadbin_quadbin(IntPtr temp, IntPtr cell); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int always_ne_quadbin_tquadbin(IntPtr cell, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int always_ne_tquadbin_quadbin(IntPtr temp, IntPtr cell); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ever_eq_tquadbin_tquadbin(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ever_ne_tquadbin_tquadbin(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int always_eq_tquadbin_tquadbin(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int always_ne_tquadbin_tquadbin(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr teq_quadbin_tquadbin(IntPtr cell, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr teq_tquadbin_quadbin(IntPtr temp, IntPtr cell); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr teq_tquadbin_tquadbin(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tne_quadbin_tquadbin(IntPtr cell, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tne_tquadbin_quadbin(IntPtr temp, IntPtr cell); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tne_tquadbin_tquadbin(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tquadbin_cell_to_quadkey(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr raquet_in(string str); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string raquet_out(IntPtr rq); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr raquet_from_wkb(IntPtr wkb, IntPtr size); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr raquet_from_hexwkb(string hexwkb); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr raquet_as_wkb(IntPtr rq, IntPtr variant, IntPtr size_out); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string raquet_as_hexwkb(IntPtr rq, IntPtr variant, IntPtr size_out); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr raquet_make(IntPtr quadbin, IntPtr width, IntPtr height, IntPtr pixtype, double nodata, [MarshalAs(UnmanagedType.U1)] bool has_nodata, IntPtr pixels); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr raquet_copy(IntPtr rq); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr raquet_read(string path, IntPtr quadbin); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr raquet_read_bytes(IntPtr data, IntPtr size, IntPtr quadbin); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr raquet_quadbin(IntPtr rq); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int raquet_width(IntPtr rq); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int raquet_height(IntPtr rq); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial double raquet_nodata(IntPtr rq); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int raquet_cmp(IntPtr rq1, IntPtr rq2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool raquet_eq(IntPtr rq1, IntPtr rq2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr raster_tile_value_quadbin(IntPtr pixels, IntPtr width, IntPtr height, IntPtr quadbin, IntPtr pixtype, double nodata, [MarshalAs(UnmanagedType.U1)] bool has_nodata, IntPtr traj); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr raster_tile_value(IntPtr rq, IntPtr traj); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trajectory_quadbins(IntPtr traj, uint zoom, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string trgeometry_out(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeometryinst_make(IntPtr geom, IntPtr pose, long t); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr geo_tpose_to_trgeometry(IntPtr gs, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeometry_to_tpose(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeometry_to_tpoint(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeometry_to_tgeometry(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeometry_end_instant(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeometry_end_sequence(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeometry_end_value(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeometry_geom(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeometry_instant_n(IntPtr temp, int n); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeometry_instants(IntPtr temp, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeometry_points(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeometry_rotation(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeometry_segments(IntPtr temp, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeometry_sequence_n(IntPtr temp, int i); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeometry_sequences(IntPtr temp, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeometry_start_instant(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeometry_start_sequence(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeometry_start_value(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool trgeometry_value_n(IntPtr temp, int n, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeometry_traversed_area(IntPtr temp, [MarshalAs(UnmanagedType.U1)] bool unary_union); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeometry_centroid(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeometry_convex_hull(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeometry_body_point_trajectory(IntPtr temp, IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeometry_space_boxes(IntPtr temp, double xsize, double ysize, double zsize, IntPtr sorigin, [MarshalAs(UnmanagedType.U1)] bool bitmatrix, [MarshalAs(UnmanagedType.U1)] bool border_inc, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeometry_space_time_boxes(IntPtr temp, double xsize, double ysize, double zsize, IntPtr duration, IntPtr sorigin, long torigin, [MarshalAs(UnmanagedType.U1)] bool bitmatrix, [MarshalAs(UnmanagedType.U1)] bool border_inc, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeometry_stboxes(IntPtr temp, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeometry_split_n_stboxes(IntPtr temp, int box_count, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeometry_split_each_n_stboxes(IntPtr temp, int elem_count, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial double trgeometry_hausdorff_distance(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial double trgeometry_frechet_distance(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial double trgeometry_dyntimewarp_distance(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeometry_frechet_path(IntPtr temp1, IntPtr temp2, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeometry_dyntimewarp_path(IntPtr temp1, IntPtr temp2, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial double trgeometry_length(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeometry_cumulative_length(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeometry_speed(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeometry_twcentroid(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeometry_append_tinstant(IntPtr temp, IntPtr inst, int interp, double maxdist, IntPtr maxt, [MarshalAs(UnmanagedType.U1)] bool expand); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeometry_append_tsequence(IntPtr temp, IntPtr seq, [MarshalAs(UnmanagedType.U1)] bool expand); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeometry_delete_timestamptz(IntPtr temp, long t, [MarshalAs(UnmanagedType.U1)] bool connect); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeometry_delete_tstzset(IntPtr temp, IntPtr s, [MarshalAs(UnmanagedType.U1)] bool connect); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeometry_delete_tstzspan(IntPtr temp, IntPtr s, [MarshalAs(UnmanagedType.U1)] bool connect); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeometry_delete_tstzspanset(IntPtr temp, IntPtr ss, [MarshalAs(UnmanagedType.U1)] bool connect); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeometry_round(IntPtr temp, int maxdd); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeometry_set_interp(IntPtr temp, int interp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeometry_to_tinstant(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeometry_after_timestamptz(IntPtr temp, long t, [MarshalAs(UnmanagedType.U1)] bool strict); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeometry_before_timestamptz(IntPtr temp, long t, [MarshalAs(UnmanagedType.U1)] bool strict); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeometry_restrict_values(IntPtr temp, IntPtr s, [MarshalAs(UnmanagedType.U1)] bool atfunc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeometry_restrict_timestamptz(IntPtr temp, long t, [MarshalAs(UnmanagedType.U1)] bool atfunc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeometry_restrict_tstzset(IntPtr temp, IntPtr s, [MarshalAs(UnmanagedType.U1)] bool atfunc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeometry_restrict_tstzspan(IntPtr temp, IntPtr s, [MarshalAs(UnmanagedType.U1)] bool atfunc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeometry_restrict_tstzspanset(IntPtr temp, IntPtr ss, [MarshalAs(UnmanagedType.U1)] bool atfunc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeometry_at_geom(IntPtr temp, IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeometry_minus_geom(IntPtr temp, IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeometry_at_stbox(IntPtr temp, IntPtr box, [MarshalAs(UnmanagedType.U1)] bool border_inc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeometry_minus_stbox(IntPtr temp, IntPtr box, [MarshalAs(UnmanagedType.U1)] bool border_inc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tdistance_trgeometry_geo(IntPtr temp, IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tdistance_trgeometry_tpoint(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tdistance_trgeometry_trgeometry(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial double nad_stbox_trgeometry(IntPtr box, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial double nad_trgeometry_geo(IntPtr temp, IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial double nad_trgeometry_stbox(IntPtr temp, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial double nad_trgeometry_tpoint(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial double nad_trgeometry_trgeometry(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr nai_trgeometry_geo(IntPtr temp, IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr nai_trgeometry_tpoint(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr nai_trgeometry_trgeometry(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr shortestline_trgeometry_geo(IntPtr temp, IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr shortestline_trgeometry_tpoint(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr shortestline_trgeometry_trgeometry(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int always_eq_geo_trgeometry(IntPtr gs, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int always_eq_trgeometry_geo(IntPtr temp, IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int always_eq_trgeometry_trgeometry(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int always_ne_geo_trgeometry(IntPtr gs, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int always_ne_trgeometry_geo(IntPtr temp, IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int always_ne_trgeometry_trgeometry(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ever_eq_geo_trgeometry(IntPtr gs, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ever_eq_trgeometry_geo(IntPtr temp, IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ever_eq_trgeometry_trgeometry(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ever_ne_geo_trgeometry(IntPtr gs, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ever_ne_trgeometry_geo(IntPtr temp, IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ever_ne_trgeometry_trgeometry(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr teq_geo_trgeometry(IntPtr gs, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr teq_trgeometry_geo(IntPtr temp, IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tne_geo_trgeometry(IntPtr gs, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tne_trgeometry_geo(IntPtr temp, IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int econtains_geo_trgeometry(IntPtr gs, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int acontains_geo_trgeometry(IntPtr gs, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ecovers_geo_trgeometry(IntPtr gs, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int acovers_geo_trgeometry(IntPtr gs, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ecovers_trgeometry_geo(IntPtr temp, IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int acovers_trgeometry_geo(IntPtr temp, IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int edisjoint_trgeometry_geo(IntPtr temp, IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int adisjoint_trgeometry_geo(IntPtr temp, IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int eintersects_trgeometry_geo(IntPtr temp, IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int aintersects_trgeometry_geo(IntPtr temp, IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int etouches_trgeometry_geo(IntPtr temp, IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int atouches_trgeometry_geo(IntPtr temp, IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int edwithin_trgeometry_geo(IntPtr temp, IntPtr gs, double dist); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int adwithin_trgeometry_geo(IntPtr temp, IntPtr gs, double dist); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int edisjoint_trgeometry_trgeometry(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int adisjoint_trgeometry_trgeometry(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int eintersects_trgeometry_trgeometry(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int aintersects_trgeometry_trgeometry(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int edwithin_trgeometry_trgeometry(IntPtr temp1, IntPtr temp2, double dist); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int adwithin_trgeometry_trgeometry(IntPtr temp1, IntPtr temp2, double dist); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_valid_tnpoint_npoint(IntPtr temp, IntPtr np); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_valid_tnpoint_npointset(IntPtr temp, IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_valid_tnpoint_geo(IntPtr temp, IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_valid_tnpoint_stbox(IntPtr temp, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_valid_tnpoint_tnpoint(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int tnpointsegm_intersection(long start1, long end1, long start2, long end2, long lower, long upper, IntPtr t1, IntPtr t2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool common_rid_tnpoint_npoint(IntPtr temp, IntPtr np); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool common_rid_tnpoint_npointset(IntPtr temp, IntPtr s); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool common_rid_tnpoint_tnpoint(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool npoint_collinear(IntPtr np1, IntPtr np2, IntPtr np3, double ratio); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr npointsegm_interpolate(IntPtr start, IntPtr end, IntPtr ratio); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr npointsegm_locate(IntPtr start, IntPtr end, IntPtr value); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr npointarr_geom(IntPtr points, int count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr nsegmentarr_geom(IntPtr segments, int count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr nsegmentarr_normalize(IntPtr segments, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string npoint_wkt_out(long value, int maxdd); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void npoint_set(IntPtr rid, double pos, IntPtr np); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void nsegment_set(IntPtr rid, double pos1, double pos2, IntPtr ns); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_npoint_round(long npoint, long size); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnpointinst_tgeompointinst(IntPtr inst); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnpointseq_tgeompointseq_disc(IntPtr @is); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnpointseq_tgeompointseq_cont(IntPtr seq); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnpointseqset_tgeompointseqset(IntPtr ss); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tgeompointinst_tnpointinst(IntPtr inst); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tgeompointseq_tnpointseq(IntPtr seq); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tgeompointseqset_tnpointseqset(IntPtr ss); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnpointinst_positions(IntPtr inst); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnpointseq_positions(IntPtr seq, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnpointseqset_positions(IntPtr ss, IntPtr count); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnpointinst_route(IntPtr inst); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnpointinst_routes(IntPtr inst); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnpointseq_disc_routes(IntPtr @is); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnpointseq_cont_routes(IntPtr seq); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnpointseqset_routes(IntPtr ss); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnpointseq_linear_positions(IntPtr seq); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnpoint_restrict_stbox(IntPtr temp, IntPtr box, [MarshalAs(UnmanagedType.U1)] bool border_inc, [MarshalAs(UnmanagedType.U1)] bool atfunc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnpoint_restrict_npoint(IntPtr temp, IntPtr np, [MarshalAs(UnmanagedType.U1)] bool atfunc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnpoint_restrict_npointset(IntPtr temp, IntPtr s, [MarshalAs(UnmanagedType.U1)] bool atfunc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool npoint_set_stbox(IntPtr np, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void npointarr_set_stbox(IntPtr values, int count, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool nsegment_set_stbox(IntPtr ns, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool npoint_timestamptz_set_stbox(IntPtr np, long t, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool npoint_tstzspan_set_stbox(IntPtr np, IntPtr s, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void tnpointinst_set_stbox(IntPtr inst, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void tnpointinstarr_set_stbox(IntPtr inst, int count, int interp, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void tnpointseq_expand_stbox(IntPtr seq, IntPtr inst); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_npoint_distance(long np1, long np2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr npoint_parse(IntPtr str, [MarshalAs(UnmanagedType.U1)] bool end); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr nsegment_parse(IntPtr str); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool contains_rid_tnpoint_bigint(IntPtr temp, IntPtr rid, int invert); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool contained_rid_tnpoint_bigint(IntPtr temp, IntPtr rid, [MarshalAs(UnmanagedType.U1)] bool invert); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool same_rid_tnpoint_bigint(IntPtr temp, IntPtr rid, int invert); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool overlaps_rid_tnpoint_bigintset(IntPtr temp, IntPtr s, int invert); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool contains_rid_tnpoint_bigintset(IntPtr temp, IntPtr s, [MarshalAs(UnmanagedType.U1)] bool invert); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool contained_rid_tnpoint_bigintset(IntPtr temp, IntPtr s, [MarshalAs(UnmanagedType.U1)] bool invert); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool same_rid_tnpoint_bigintset(IntPtr temp, IntPtr s, int invert); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool contains_rid_tnpoint_npoint(IntPtr temp, IntPtr np, int invert); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool contained_rid_npoint_tnpoint(IntPtr temp, IntPtr np, [MarshalAs(UnmanagedType.U1)] bool invert); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool same_rid_tnpoint_npoint(IntPtr temp, IntPtr np, int invert); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool overlaps_rid_tnpoint_tnpoint(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool contains_rid_tnpoint_tnpoint(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool contained_rid_tnpoint_tnpoint(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool same_rid_tnpoint_tnpoint(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_same_rid_tnpointinst(IntPtr inst1, IntPtr inst2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tnpoint_restrict_geom(IntPtr temp, IntPtr gs, [MarshalAs(UnmanagedType.U1)] bool atfunc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int meos_pc_schema_get_srid(uint pcid); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_same_pcid_pcpatch(IntPtr pa1, IntPtr pa2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_valid_pcpatchset_pcpatch(IntPtr s, IntPtr pa); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr pcpatch_parse(IntPtr str, [MarshalAs(UnmanagedType.U1)] bool end); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr pcpatch_filter_per_point(IntPtr pa, int pred, IntPtr extra, [MarshalAs(UnmanagedType.U1)] bool keep_when_true); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool pcpatch_any_point_matches(IntPtr pa, int pred, IntPtr extra); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool pcpoint_in_tpcbox(IntPtr pt, IntPtr extra); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool pcpoint_intersects_geometry(IntPtr pt, IntPtr extra); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_same_pcid_pcpoint(IntPtr pt1, IntPtr pt2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_valid_pcpointset_pcpoint(IntPtr s, IntPtr pt); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr pcpoint_parse(IntPtr str, [MarshalAs(UnmanagedType.U1)] bool end); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr meos_pc_point_serialize(IntPtr pcpt); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr meos_pc_point_deserialize(IntPtr serpt, IntPtr schema); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial ulong meos_pc_patch_serialized_size(IntPtr patch); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr meos_pc_patch_serialize(IntPtr patch_in, IntPtr userdata); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr meos_pc_patch_serialize_to_uncompressed(IntPtr patch_in); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr meos_pc_patch_deserialize(IntPtr serpatch, IntPtr schema); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void tpointcloudinst_set_tpcbox(IntPtr inst, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void tpointcloudinstarr_set_tpcbox(IntPtr instants, int count, [MarshalAs(UnmanagedType.U1)] bool lower_inc, [MarshalAs(UnmanagedType.U1)] bool upper_inc, int interp, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void tpointcloudseq_expand_tpcbox(IntPtr seq, IntPtr inst); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void tpointcloudseqarr_set_tpcbox(IntPtr sequences, int count, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tpcbox_extent_transfn(IntPtr state, IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool boxop_tpointcloud_tpcbox(IntPtr temp, IntPtr box, IntPtr func, [MarshalAs(UnmanagedType.U1)] bool inverted); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool boxop_tpointcloud_tpointcloud(IntPtr temp1, IntPtr temp2, IntPtr func); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void tpcbox_set_stbox(IntPtr src, IntPtr dst); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial double nad_tpcbox_tpcbox(IntPtr box1, IntPtr box2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial double nad_tpointcloud_tpcbox(IntPtr temp, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial double nad_tpointcloud_tpointcloud(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tpcbox_parse(IntPtr str); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tpcbox_index_leaf_consistent(IntPtr key, IntPtr query, int strategy); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tpcbox_gist_inner_consistent(IntPtr key, IntPtr query, int strategy); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tpcbox_index_recheck(int strategy); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_valid_pose_geo(IntPtr pose, IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_valid_pose_stbox(IntPtr pose, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_valid_pose_pose(IntPtr pose1, IntPtr pose2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_valid_poseset_pose(IntPtr s, IntPtr pose); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool pose_collinear(IntPtr pose1, IntPtr pose2, IntPtr pose3, double ratio); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr posesegm_interpolate(IntPtr start, IntPtr end, double ratio); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr posesegm_locate(IntPtr start, IntPtr end, IntPtr value); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string pose_wkt_out(IntPtr pose, [MarshalAs(UnmanagedType.U1)] bool extended, int maxdd); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr pose_parse(IntPtr str, [MarshalAs(UnmanagedType.U1)] bool end); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_pose_point(long pose); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_pose_geopoint(long pose); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_pose_rotation(long pose); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_pose_yaw(long pose); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_pose_pitch(long pose); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_pose_roll(long pose); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_pose_apply_geo(long pose, long body); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum_pose_round(long pose, long size); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long pose_distance(long pose1, long pose2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool pose_set_stbox(IntPtr pose, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void posearr_set_stbox(IntPtr values, int count, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool pose_timestamptz_set_stbox(IntPtr pose, long t, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool pose_tstzspan_set_stbox(IntPtr pose, IntPtr p, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_valid_tpose_geo(IntPtr temp, IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_valid_tpose_pose(IntPtr temp, IntPtr pose); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_valid_tpose_stbox(IntPtr temp, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_valid_tpose_tpose(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int tposesegm_intersection_value(long start, long end, long value, long lower, long upper, IntPtr t1, IntPtr t2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int tposesegm_intersection(long start1, long end1, long start2, long end2, long lower, long upper, IntPtr t1, IntPtr t2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void tposeinst_set_stbox(IntPtr inst, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void tposeinstarr_set_stbox(IntPtr instants, int count, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void tposeseq_expand_stbox(IntPtr seq, IntPtr inst); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tpose_restrict_geom(IntPtr temp, IntPtr gs, [MarshalAs(UnmanagedType.U1)] bool atfunc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tpose_restrict_stbox(IntPtr temp, IntPtr box, [MarshalAs(UnmanagedType.U1)] bool border_inc, [MarshalAs(UnmanagedType.U1)] bool atfunc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tpose_restrict_elevation(IntPtr temp, IntPtr s, [MarshalAs(UnmanagedType.U1)] bool atfunc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool bool_in(string str); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string bool_out([MarshalAs(UnmanagedType.U1)] bool b); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string float8_out(double num, int maxdd); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int date_in(string str); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string date_out(int date); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int interval_cmp(IntPtr interv1, IntPtr interv2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr interval_in(string str, int typmod); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string interval_out(IntPtr interv); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long time_in(string str, int typmod); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string time_out(long time); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long timestamp_in(string str, int typmod); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string timestamp_out(long ts); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long timestamptz_in(string str, int typmod); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string timestamptz_out(long tstz); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr cstring_to_text(string str); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string text_to_cstring(IntPtr txt); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr text_in(string str); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string text_out(IntPtr txt); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int text_cmp(IntPtr txt1, IntPtr txt2, uint collid); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr text_copy(IntPtr txt); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr text_initcap(IntPtr txt); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr text_lower(IntPtr txt); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr text_upper(IntPtr txt); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr textcat_text_text(IntPtr txt1, IntPtr txt2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ensure_valid_tquadbin_tquadbin(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_valid_tquadbin_quadbin(IntPtr temp, IntPtr cell); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_valid_tquadbin_tgeompoint(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum2_quadbin_eq(long d1, long d2, int type); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial long datum2_quadbin_ne(long d1, long d2, int type); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool quadbin_set_stbox(IntPtr cell, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void quadbinarr_set_stbox(IntPtr values, int count, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void tquadbininst_set_stbox(IntPtr inst, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void tquadbininstarr_set_stbox(IntPtr instants, int count, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void tquadbinseq_expand_stbox(IntPtr seq, IntPtr inst); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int raquet_pixtype_size(IntPtr pixtype); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int raquet_pixels_size(IntPtr rq); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool raster_quadbin_from_bounds(double origin_x, double origin_y, double pixel_w, double pixel_h, int xsize, int ysize, IntPtr result); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_has_geom(short flags); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_valid_trgeo_geo(IntPtr temp, IntPtr gs); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_valid_trgeo_stbox(IntPtr temp, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_valid_trgeo_trgeo(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_valid_trgeo_tpoint(IntPtr temp1, IntPtr temp2); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeo_geom_p(IntPtr temp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial string trgeo_wkt_out(IntPtr temp, int maxdd, [MarshalAs(UnmanagedType.U1)] bool extended); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr geo_tposeinst_to_trgeo(IntPtr gs, IntPtr inst); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr geo_tposeseq_to_trgeo(IntPtr gs, IntPtr seq); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr geo_tposeseqset_to_trgeo(IntPtr gs, IntPtr ss); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequenceset_min_inst_p(IntPtr ss); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool trgeo_value_at_timestamptz(IntPtr temp, long t, [MarshalAs(UnmanagedType.U1)] bool strict, IntPtr result); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial ulong tsequenceset_min_val(IntPtr ss); + public static partial IntPtr trgeometry_restrict_value(IntPtr temp, long value, [MarshalAs(UnmanagedType.U1)] bool atfunc); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int tsequenceset_num_instants(IntPtr ss); + public static partial IntPtr trgeoinst_geom_p(IntPtr inst); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int tsequenceset_num_timestamps(IntPtr ss); + public static partial ulong trgeoinst_pose_varsize(IntPtr inst); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequenceset_segments(IntPtr ss, IntPtr count); + public static partial void trgeoinst_set_pose(IntPtr inst); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequenceset_sequences_p(IntPtr ss); + public static partial IntPtr trgeoinst_tposeinst(IntPtr inst); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial long tsequenceset_start_timestamptz(IntPtr ss); + public static partial IntPtr trgeoinst_make1(IntPtr geom, IntPtr pose, long t); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequenceset_time(IntPtr ss); + public static partial IntPtr trgeoseq_to_tinstant(IntPtr seq); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeoseqset_to_tinstant(IntPtr ts); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeo_restrict_geom(IntPtr temp, IntPtr gs, [MarshalAs(UnmanagedType.U1)] bool atfunc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeo_restrict_stbox(IntPtr temp, IntPtr box, [MarshalAs(UnmanagedType.U1)] bool border_inc, [MarshalAs(UnmanagedType.U1)] bool atfunc); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int spatialrel_trgeo_trav_geo(IntPtr temp, IntPtr gs, long param, IntPtr func, int numparam, [MarshalAs(UnmanagedType.U1)] bool invert); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ea_contains_geo_trgeo(IntPtr gs, IntPtr temp, [MarshalAs(UnmanagedType.U1)] bool ever); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ea_contains_trgeo_geo(IntPtr temp, IntPtr gs, [MarshalAs(UnmanagedType.U1)] bool ever); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ea_contains_trgeo_trgeo(IntPtr temp1, IntPtr temp2, [MarshalAs(UnmanagedType.U1)] bool ever); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ea_covers_geo_trgeo(IntPtr gs, IntPtr temp, [MarshalAs(UnmanagedType.U1)] bool ever); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ea_covers_trgeo_geo(IntPtr temp, IntPtr gs, [MarshalAs(UnmanagedType.U1)] bool ever); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ea_covers_trgeo_trgeo(IntPtr temp1, IntPtr temp2, [MarshalAs(UnmanagedType.U1)] bool ever); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ea_disjoint_geo_trgeo(IntPtr gs, IntPtr temp, [MarshalAs(UnmanagedType.U1)] bool ever); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ea_disjoint_trgeo_geo(IntPtr temp, IntPtr gs, [MarshalAs(UnmanagedType.U1)] bool ever); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ea_disjoint_trgeo_trgeo(IntPtr temp1, IntPtr temp2, [MarshalAs(UnmanagedType.U1)] bool ever); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ea_intersects_geo_trgeo(IntPtr gs, IntPtr temp, [MarshalAs(UnmanagedType.U1)] bool ever); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ea_intersects_trgeo_geo(IntPtr temp, IntPtr gs, [MarshalAs(UnmanagedType.U1)] bool ever); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ea_intersects_trgeo_trgeo(IntPtr temp1, IntPtr temp2, [MarshalAs(UnmanagedType.U1)] bool ever); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ea_touches_geo_trgeo(IntPtr gs, IntPtr temp, [MarshalAs(UnmanagedType.U1)] bool ever); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ea_touches_trgeo_geo(IntPtr temp, IntPtr gs, [MarshalAs(UnmanagedType.U1)] bool ever); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ea_touches_trgeo_trgeo(IntPtr temp1, IntPtr temp2, [MarshalAs(UnmanagedType.U1)] bool ever); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ea_dwithin_trgeo_geo(IntPtr temp, IntPtr gs, double dist, [MarshalAs(UnmanagedType.U1)] bool ever); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int ea_dwithin_trgeo_trgeo(IntPtr temp1, IntPtr temp2, double dist, [MarshalAs(UnmanagedType.U1)] bool ever); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeoseq_geom_p(IntPtr seq); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial ulong trgeoseq_pose_varsize(IntPtr seq); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void trgeoseq_set_pose(IntPtr seq); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeoseq_tposeseq(IntPtr seq); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool tsequenceset_timestamptz_n(IntPtr ss, int n, IntPtr result); + public static partial bool trgeoseq_make_valid(IntPtr geom, IntPtr instants, int count, [MarshalAs(UnmanagedType.U1)] bool lower_inc, [MarshalAs(UnmanagedType.U1)] bool upper_inc, [MarshalAs(UnmanagedType.U1)] bool linear); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequenceset_timestamps(IntPtr ss, IntPtr count); + public static partial IntPtr trgeoseq_make1_exp(IntPtr geom, IntPtr instants, int count, int maxcount, [MarshalAs(UnmanagedType.U1)] bool lower_inc, [MarshalAs(UnmanagedType.U1)] bool upper_inc, int interp, [MarshalAs(UnmanagedType.U1)] bool normalize); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeoseq_make1(IntPtr geom, IntPtr instants, int count, [MarshalAs(UnmanagedType.U1)] bool lower_inc, [MarshalAs(UnmanagedType.U1)] bool upper_inc, int interp, [MarshalAs(UnmanagedType.U1)] bool normalize); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeoseq_make_exp(IntPtr geom, IntPtr instants, int count, int maxcount, [MarshalAs(UnmanagedType.U1)] bool lower_inc, [MarshalAs(UnmanagedType.U1)] bool upper_inc, int interp, [MarshalAs(UnmanagedType.U1)] bool normalize); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeoseq_make(IntPtr geom, IntPtr instants, int count, [MarshalAs(UnmanagedType.U1)] bool lower_inc, [MarshalAs(UnmanagedType.U1)] bool upper_inc, int interp, [MarshalAs(UnmanagedType.U1)] bool normalize); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeoseq_make_free_exp(IntPtr geom, IntPtr instants, int count, int maxcount, [MarshalAs(UnmanagedType.U1)] bool lower_inc, [MarshalAs(UnmanagedType.U1)] bool upper_inc, int interp, [MarshalAs(UnmanagedType.U1)] bool normalize); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeoseq_make_free(IntPtr geom, IntPtr instants, int count, [MarshalAs(UnmanagedType.U1)] bool lower_inc, [MarshalAs(UnmanagedType.U1)] bool upper_inc, int interp, [MarshalAs(UnmanagedType.U1)] bool normalize); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeoinst_to_tsequence(IntPtr inst, int interp); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeoseqset_geom_p(IntPtr ts); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeoseqset_tposeseqset(IntPtr ss); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeoseqset_make1_exp(IntPtr geom, IntPtr sequences, int count, int maxcount, [MarshalAs(UnmanagedType.U1)] bool normalize); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeoseqset_make_exp(IntPtr geom, IntPtr sequences, int count, int maxcount, [MarshalAs(UnmanagedType.U1)] bool normalize); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeoseqset_make(IntPtr geom, IntPtr sequences, int count, [MarshalAs(UnmanagedType.U1)] bool normalize); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeoseqset_make_free(IntPtr geom, IntPtr sequences, int count, [MarshalAs(UnmanagedType.U1)] bool normalize); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeoseqset_make_gaps(IntPtr geom, IntPtr instants, int count, int interp, IntPtr maxt, double maxdist); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeoseqset_to_tsequence(IntPtr ss); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeo_to_tsequence(IntPtr temp, string interp_str); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr trgeo_to_tsequenceset(IntPtr temp, string interp_str); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void trgeoinst_set_stbox(IntPtr geom, IntPtr inst, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void trgeoinstarr_static_stbox(IntPtr geom, IntPtr instants, int count, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void trgeoinstarr_rotating_stbox(IntPtr geom, IntPtr instants, int count, IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void trgeoinstarr_compute_bbox(IntPtr geom, IntPtr instants, int count, int interp, IntPtr box); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool tsequenceset_value_at_timestamptz(IntPtr ss, long t, [MarshalAs(UnmanagedType.U1)] bool strict, IntPtr result); + public static partial bool ensure_span_isof_type(IntPtr s, int spantype); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool tsequenceset_value_n(IntPtr ss, int n, IntPtr result); + public static partial bool ensure_span_isof_basetype(IntPtr s, int basetype); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequenceset_values_p(IntPtr ss, IntPtr count); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_same_span_type(IntPtr s1, IntPtr s2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void temporal_restart(IntPtr temp, int count); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_valid_span_span(IntPtr s1, IntPtr s2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr temporal_tsequence(IntPtr temp, int interp); + public static partial void span_deserialize(IntPtr s, IntPtr lower, IntPtr upper); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr temporal_tsequenceset(IntPtr temp, int interp); + public static partial int span_bound_cmp(IntPtr b1, IntPtr b2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tinstant_shift_time(IntPtr inst, IntPtr interv); + public static partial int span_bound_qsort_cmp(IntPtr s1, IntPtr s2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tinstant_to_tsequence(IntPtr inst, int interp); + public static partial int span_lower_cmp(IntPtr s1, IntPtr s2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tinstant_to_tsequence_free(IntPtr inst, int interp); + public static partial int span_upper_cmp(IntPtr s1, IntPtr s2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tinstant_to_tsequenceset(IntPtr inst, int interp); + public static partial long span_decr_bound(long upper, int basetype); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tnumber_shift_scale_value(IntPtr temp, ulong shift, ulong width, [MarshalAs(UnmanagedType.U1)] bool hasshift, [MarshalAs(UnmanagedType.U1)] bool haswidth); + public static partial long span_incr_bound(long upper, int basetype); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tnumberinst_shift_value(IntPtr inst, ulong shift); + public static partial IntPtr spanarr_normalize(IntPtr spans, int count, [MarshalAs(UnmanagedType.U1)] bool sort, IntPtr newcount); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tnumberseq_shift_scale_value(IntPtr seq, ulong shift, ulong width, [MarshalAs(UnmanagedType.U1)] bool hasshift, [MarshalAs(UnmanagedType.U1)] bool haswidth); + public static partial void span_bounds_shift_scale_value(long shift, long width, int type, [MarshalAs(UnmanagedType.U1)] bool hasshift, [MarshalAs(UnmanagedType.U1)] bool haswidth, IntPtr lower, IntPtr upper); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tnumberseqset_shift_scale_value(IntPtr ss, ulong start, ulong width, [MarshalAs(UnmanagedType.U1)] bool hasshift, [MarshalAs(UnmanagedType.U1)] bool haswidth); + public static partial void span_bounds_shift_scale_time(IntPtr shift, IntPtr duration, IntPtr lower, IntPtr upper); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void tsequence_restart(IntPtr seq, int count); + public static partial void floatspan_floor_ceil_iter(IntPtr s, int func); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequence_set_interp(IntPtr seq, int interp); + public static partial void numspan_delta_scale_iter(IntPtr s, long origin, long delta, [MarshalAs(UnmanagedType.U1)] bool hasdelta, double scale); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequence_shift_scale_time(IntPtr seq, IntPtr shift, IntPtr duration); + public static partial void tstzspan_delta_scale_iter(IntPtr s, long origin, long delta, double scale); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequence_subseq(IntPtr seq, int from, int to, [MarshalAs(UnmanagedType.U1)] bool lower_inc, [MarshalAs(UnmanagedType.U1)] bool upper_inc); + public static partial void numspan_shift_scale_iter(IntPtr s, long shift, long width, [MarshalAs(UnmanagedType.U1)] bool hasshift, [MarshalAs(UnmanagedType.U1)] bool haswidth, IntPtr delta, IntPtr scale); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequence_to_tinstant(IntPtr seq); + public static partial void tstzspan_shift_scale1(IntPtr s, IntPtr shift, IntPtr duration, IntPtr delta, IntPtr scale); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequence_to_tsequenceset(IntPtr seq); + public static partial int mi_span_value(IntPtr s, long value, IntPtr result); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequence_to_tsequenceset_free(IntPtr seq); + public static partial double dist_double_value_value(long l, long r, int type); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequence_to_tsequenceset_interp(IntPtr seq, int interp); + public static partial int trgeo_geom_clip_polygon(IntPtr a1, IntPtr b1, IntPtr a2, IntPtr b2, IntPtr pa, IntPtr intervals_out); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void tsequenceset_restart(IntPtr ss, int count); + public static partial int trgeo_geom_clip_lwpoly(IntPtr a1, IntPtr b1, IntPtr a2, IntPtr b2, IntPtr poly, IntPtr intervals_out); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequenceset_set_interp(IntPtr ss, int interp); + public static partial int trgeo_geom_clip_box(IntPtr a1, IntPtr b1, IntPtr a2, IntPtr b2, double xmin, double ymin, double xmax, double ymax, IntPtr intervals_out); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequenceset_shift_scale_time(IntPtr ss, IntPtr start, IntPtr duration); + public static partial int trgeo_geom_clip_polygon_posed(IntPtr p_a_local, IntPtr p_b_local, IntPtr pose1, IntPtr pose2, IntPtr pa, IntPtr intervals_out); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequenceset_to_discrete(IntPtr ss); + public static partial int trgeo_geom_clip_lwpoly_posed(IntPtr p_a_local, IntPtr p_b_local, IntPtr pose1, IntPtr pose2, IntPtr poly, IntPtr intervals_out); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequenceset_to_linear(IntPtr ss); + public static partial int trgeo_geom_clip_box_posed(IntPtr p_a_local, IntPtr p_b_local, IntPtr pose1, IntPtr pose2, double xmin, double ymin, double xmax, double ymax, IntPtr intervals_out); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequenceset_to_step(IntPtr ss); + public static partial int trgeo_geom_clip_lwgeom(IntPtr a1, IntPtr b1, IntPtr a2, IntPtr b2, IntPtr geom, IntPtr intervals_out); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequenceset_to_tinstant(IntPtr ss); + public static partial int trgeo_geom_clip_lwgeom_posed(IntPtr p_a_local, IntPtr p_b_local, IntPtr pose1, IntPtr pose2, IntPtr geom, IntPtr intervals_out); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequenceset_to_tsequence(IntPtr ss); + public static partial IntPtr trgeo_parse(IntPtr str, int temptype); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tinstant_merge(IntPtr inst1, IntPtr inst2); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_same_geom(IntPtr gs1, IntPtr gs2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tinstant_merge_array(IntPtr instants, int count); + public static partial void lwgeom_apply_pose(IntPtr pose, IntPtr geom); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequence_append_tinstant(IntPtr seq, IntPtr inst, double maxdist, IntPtr maxt, [MarshalAs(UnmanagedType.U1)] bool expand); + public static partial IntPtr geom_apply_pose(IntPtr gs, IntPtr pose); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequence_append_tsequence(IntPtr seq1, IntPtr seq2, [MarshalAs(UnmanagedType.U1)] bool expand); + public static partial double geom_radius(IntPtr gs); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequence_delete_timestamptz(IntPtr seq, long t, [MarshalAs(UnmanagedType.U1)] bool connect); + public static partial int v_clip_tpoly_point(IntPtr poly, IntPtr point, IntPtr pose, IntPtr poly_feature, IntPtr dist); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequence_delete_tstzset(IntPtr seq, IntPtr s, [MarshalAs(UnmanagedType.U1)] bool connect); + public static partial int v_clip_tpoly_tpoly(IntPtr poly1, IntPtr poly2, IntPtr pose1, IntPtr pose2, IntPtr poly1_feature, IntPtr poly2_feature, IntPtr dist); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequence_delete_tstzspan(IntPtr seq, IntPtr s, [MarshalAs(UnmanagedType.U1)] bool connect); + public static partial void apply_pose_point4d(IntPtr p, IntPtr pose); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequence_delete_tstzspanset(IntPtr seq, IntPtr ss, [MarshalAs(UnmanagedType.U1)] bool connect); + public static partial IntPtr tfunc_tinstant(IntPtr inst, IntPtr lfinfo); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequence_insert(IntPtr seq1, IntPtr seq2, [MarshalAs(UnmanagedType.U1)] bool connect); + public static partial IntPtr tfunc_tsequence(IntPtr seq, IntPtr lfinfo); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequence_merge(IntPtr seq1, IntPtr seq2); + public static partial IntPtr tfunc_tsequenceset(IntPtr ss, IntPtr lfinfo); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequence_merge_array(IntPtr sequences, int count); + public static partial IntPtr tfunc_temporal(IntPtr temp, IntPtr lfinfo); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequenceset_append_tinstant(IntPtr ss, IntPtr inst, double maxdist, IntPtr maxt, [MarshalAs(UnmanagedType.U1)] bool expand); + public static partial IntPtr tfunc_tinstant_base(IntPtr inst, long value, IntPtr lfinfo); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequenceset_append_tsequence(IntPtr ss, IntPtr seq, [MarshalAs(UnmanagedType.U1)] bool expand); + public static partial IntPtr tfunc_tsequence_base(IntPtr seq, long value, IntPtr lfinfo); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequenceset_delete_timestamptz(IntPtr ss, long t); + public static partial IntPtr tfunc_tsequenceset_base(IntPtr ss, long value, IntPtr lfinfo); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequenceset_delete_tstzset(IntPtr ss, IntPtr s); + public static partial IntPtr tfunc_temporal_base(IntPtr temp, long value, IntPtr lfinfo); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequenceset_delete_tstzspan(IntPtr ss, IntPtr s); + public static partial IntPtr tfunc_tinstant_tinstant(IntPtr inst1, IntPtr inst2, IntPtr lfinfo); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequenceset_delete_tstzspanset(IntPtr ss, IntPtr ps); + public static partial IntPtr tfunc_tdiscseq_tdiscseq(IntPtr seq1, IntPtr seq2, IntPtr lfinfo); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequenceset_insert(IntPtr ss1, IntPtr ss2); + public static partial IntPtr tfunc_tcontseq_tcontseq(IntPtr seq1, IntPtr seq2, IntPtr lfinfo); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequenceset_merge(IntPtr ss1, IntPtr ss2); + public static partial IntPtr tfunc_tsequenceset_tsequenceset(IntPtr ss1, IntPtr ss2, IntPtr lfinfo); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequenceset_merge_array(IntPtr seqsets, int count); + public static partial IntPtr tfunc_temporal_temporal(IntPtr temp1, IntPtr temp2, IntPtr lfinfo); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void tsequence_expand_bbox(IntPtr seq, IntPtr inst); + public static partial int eafunc_temporal_base(IntPtr temp, long value, IntPtr lfinfo); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void tsequence_set_bbox(IntPtr seq, IntPtr box); + public static partial int eafunc_temporal_temporal(IntPtr temp1, IntPtr temp2, IntPtr lfinfo); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void tsequenceset_expand_bbox(IntPtr ss, IntPtr seq); + public static partial IntPtr lfunc_set(IntPtr set, IntPtr lfinfo); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void tsequenceset_set_bbox(IntPtr ss, IntPtr box); + public static partial string set_out_fn(IntPtr s, int maxdd, IntPtr value_out); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tcontseq_after_timestamptz(IntPtr seq, long t, [MarshalAs(UnmanagedType.U1)] bool strict); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_set_isof_type(IntPtr s, int settype); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tcontseq_before_timestamptz(IntPtr seq, long t, [MarshalAs(UnmanagedType.U1)] bool strict); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_valid_set_set(IntPtr s1, IntPtr s2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tcontseq_restrict_minmax(IntPtr seq, [MarshalAs(UnmanagedType.U1)] bool min, [MarshalAs(UnmanagedType.U1)] bool atfunc); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool set_find_value(IntPtr s, long arg1, IntPtr loc); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tdiscseq_after_timestamptz(IntPtr seq, long t, [MarshalAs(UnmanagedType.U1)] bool strict); + public static partial IntPtr set_unnest_state_make(IntPtr set); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tdiscseq_before_timestamptz(IntPtr seq, long t, [MarshalAs(UnmanagedType.U1)] bool strict); + public static partial void set_unnest_state_next(IntPtr state); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tdiscseq_restrict_minmax(IntPtr seq, [MarshalAs(UnmanagedType.U1)] bool min, [MarshalAs(UnmanagedType.U1)] bool atfunc); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_same_skiplist_subtype(IntPtr state, IntPtr subtype); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void skiplist_set_extra(IntPtr state, IntPtr data, IntPtr size); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr skiplist_headval(IntPtr list); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial int common_entry_cmp(IntPtr i1, IntPtr i2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool temporal_bbox_restrict_set(IntPtr temp, IntPtr set); + public static partial bool span_index_leaf_consistent(IntPtr key, IntPtr query, int strategy); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr temporal_restrict_minmax(IntPtr temp, [MarshalAs(UnmanagedType.U1)] bool min, [MarshalAs(UnmanagedType.U1)] bool atfunc); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool span_gist_inner_consistent(IntPtr key, IntPtr query, int strategy); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr temporal_restrict_timestamptz(IntPtr temp, long t, [MarshalAs(UnmanagedType.U1)] bool atfunc); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool span_index_recheck(int strategy); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr temporal_restrict_tstzset(IntPtr temp, IntPtr s, [MarshalAs(UnmanagedType.U1)] bool atfunc); + public static partial int span_lower_qsort_cmp(IntPtr a, IntPtr b); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr temporal_restrict_tstzspan(IntPtr temp, IntPtr s, [MarshalAs(UnmanagedType.U1)] bool atfunc); + public static partial int span_upper_qsort_cmp(IntPtr a, IntPtr b); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr temporal_restrict_tstzspanset(IntPtr temp, IntPtr ss, [MarshalAs(UnmanagedType.U1)] bool atfunc); + public static partial IntPtr getQuadrant2D(IntPtr centroid, IntPtr query); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr temporal_restrict_value(IntPtr temp, ulong value, [MarshalAs(UnmanagedType.U1)] bool atfunc); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool overlap2D(IntPtr nodebox, IntPtr query); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr temporal_restrict_values(IntPtr temp, IntPtr set, [MarshalAs(UnmanagedType.U1)] bool atfunc); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool contain2D(IntPtr nodebox, IntPtr query); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool temporal_value_at_timestamptz(IntPtr temp, long t, [MarshalAs(UnmanagedType.U1)] bool strict, IntPtr result); + public static partial bool left2D(IntPtr nodebox, IntPtr query); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tinstant_after_timestamptz(IntPtr inst, long t, [MarshalAs(UnmanagedType.U1)] bool strict); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool overLeft2D(IntPtr nodebox, IntPtr query); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tinstant_before_timestamptz(IntPtr inst, long t, [MarshalAs(UnmanagedType.U1)] bool strict); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool right2D(IntPtr nodebox, IntPtr query); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tinstant_restrict_tstzspan(IntPtr inst, IntPtr period, [MarshalAs(UnmanagedType.U1)] bool atfunc); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool overRight2D(IntPtr nodebox, IntPtr query); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tinstant_restrict_tstzspanset(IntPtr inst, IntPtr ss, [MarshalAs(UnmanagedType.U1)] bool atfunc); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool adjacent2D(IntPtr nodebox, IntPtr query); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tinstant_restrict_timestamptz(IntPtr inst, long t, [MarshalAs(UnmanagedType.U1)] bool atfunc); + public static partial double distance_span_nodespan(IntPtr query, IntPtr nodebox); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tinstant_restrict_tstzset(IntPtr inst, IntPtr s, [MarshalAs(UnmanagedType.U1)] bool atfunc); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool span_spgist_get_span(long value, int type, IntPtr result); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tinstant_restrict_value(IntPtr inst, ulong value, [MarshalAs(UnmanagedType.U1)] bool atfunc); + public static partial void spannode_init(IntPtr nodebox, int spantype, int basetype); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tinstant_restrict_values(IntPtr inst, IntPtr set, [MarshalAs(UnmanagedType.U1)] bool atfunc); + public static partial IntPtr spannode_copy(IntPtr orig); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tnumber_restrict_span(IntPtr temp, IntPtr span, [MarshalAs(UnmanagedType.U1)] bool atfunc); + public static partial void spannode_quadtree_next(IntPtr nodebox, IntPtr centroid, IntPtr quadrant, IntPtr next_nodespan); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tnumber_restrict_spanset(IntPtr temp, IntPtr ss, [MarshalAs(UnmanagedType.U1)] bool atfunc); + public static partial void spannode_kdtree_next(IntPtr nodebox, IntPtr centroid, IntPtr node, int level, IntPtr next_nodespan); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tnumberinst_restrict_span(IntPtr inst, IntPtr span, [MarshalAs(UnmanagedType.U1)] bool atfunc); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_spanset_isof_type(IntPtr ss, int spansettype); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tnumberinst_restrict_spanset(IntPtr inst, IntPtr ss, [MarshalAs(UnmanagedType.U1)] bool atfunc); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_same_spanset_type(IntPtr ss1, IntPtr ss2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tnumberseqset_restrict_span(IntPtr ss, IntPtr span, [MarshalAs(UnmanagedType.U1)] bool atfunc); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_same_spanset_span_type(IntPtr ss, IntPtr s); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tnumberseqset_restrict_spanset(IntPtr ss, IntPtr spanset, [MarshalAs(UnmanagedType.U1)] bool atfunc); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_valid_spanset_span(IntPtr ss, IntPtr s); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequence_at_timestamptz(IntPtr seq, long t); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_valid_spanset_spanset(IntPtr ss1, IntPtr ss2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequence_restrict_tstzspan(IntPtr seq, IntPtr s, [MarshalAs(UnmanagedType.U1)] bool atfunc); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool spanset_find_value(IntPtr ss, long v, IntPtr loc); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequence_restrict_tstzspanset(IntPtr seq, IntPtr ss, [MarshalAs(UnmanagedType.U1)] bool atfunc); + public static partial long datum_and(long l, long r); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequenceset_after_timestamptz(IntPtr ss, long t, [MarshalAs(UnmanagedType.U1)] bool strict); + public static partial long datum_or(long l, long r); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequenceset_before_timestamptz(IntPtr ss, long t, [MarshalAs(UnmanagedType.U1)] bool strict); + public static partial IntPtr boolop_tbool_bool(IntPtr temp, long b, IntPtr func, [MarshalAs(UnmanagedType.U1)] bool invert); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequenceset_restrict_minmax(IntPtr ss, [MarshalAs(UnmanagedType.U1)] bool min, [MarshalAs(UnmanagedType.U1)] bool atfunc); + public static partial IntPtr boolop_tbool_tbool(IntPtr temp1, IntPtr temp2, IntPtr func); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequenceset_restrict_tstzspan(IntPtr ss, IntPtr s, [MarshalAs(UnmanagedType.U1)] bool atfunc); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_same_dimensionality_tbox(IntPtr box1, IntPtr box2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequenceset_restrict_tstzspanset(IntPtr ss, IntPtr ps, [MarshalAs(UnmanagedType.U1)] bool atfunc); + public static partial IntPtr set_tbox(IntPtr s); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequenceset_restrict_timestamptz(IntPtr ss, long t, [MarshalAs(UnmanagedType.U1)] bool atfunc); + public static partial IntPtr span_tbox(IntPtr s); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequenceset_restrict_tstzset(IntPtr ss, IntPtr s, [MarshalAs(UnmanagedType.U1)] bool atfunc); + public static partial IntPtr tbox_tstzspan(IntPtr box); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequenceset_restrict_value(IntPtr ss, ulong value, [MarshalAs(UnmanagedType.U1)] bool atfunc); + public static partial IntPtr tbox_intspan(IntPtr box); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequenceset_restrict_values(IntPtr ss, IntPtr s, [MarshalAs(UnmanagedType.U1)] bool atfunc); + public static partial IntPtr tbox_floatspan(IntPtr box); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int tinstant_cmp(IntPtr inst1, IntPtr inst2); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tbox_index_leaf_consistent(IntPtr key, IntPtr query, int strategy); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool tinstant_eq(IntPtr inst1, IntPtr inst2); + public static partial bool tbox_gist_inner_consistent(IntPtr key, IntPtr query, int strategy); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int tsequence_cmp(IntPtr seq1, IntPtr seq2); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tbox_index_recheck(int strategy); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void tboxnode_init(IntPtr centroid, IntPtr nodebox); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr tboxnode_copy(IntPtr box); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial IntPtr getQuadrant4D(IntPtr centroid, IntPtr inBox); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void tboxnode_quadtree_next(IntPtr nodebox, IntPtr centroid, IntPtr quadrant, IntPtr next_nodebox); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + public static partial void tboxnode_kdtree_next(IntPtr nodebox, IntPtr centroid, IntPtr node, int level, IntPtr next_nodebox); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool tsequence_eq(IntPtr seq1, IntPtr seq2); + public static partial bool overlap4D(IntPtr nodebox, IntPtr query); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int tsequenceset_cmp(IntPtr ss1, IntPtr ss2); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool contain4D(IntPtr nodebox, IntPtr query); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool tsequenceset_eq(IntPtr ss1, IntPtr ss2); + public static partial bool left4D(IntPtr nodebox, IntPtr query); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool overLeft4D(IntPtr nodebox, IntPtr query); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int always_eq_base_temporal(ulong value, IntPtr temp); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool right4D(IntPtr nodebox, IntPtr query); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool overRight4D(IntPtr nodebox, IntPtr query); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool before4D(IntPtr nodebox, IntPtr query); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool overBefore4D(IntPtr nodebox, IntPtr query); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool after4D(IntPtr nodebox, IntPtr query); + + [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool overAfter4D(IntPtr nodebox, IntPtr query); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int always_eq_temporal_base(IntPtr temp, ulong value); + public static partial double distance_tbox_nodebox(IntPtr query, IntPtr nodebox); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int always_ne_base_temporal(ulong value, IntPtr temp); + public static partial void tnumber_spgist_get_tbox(long value, int type, IntPtr result); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int always_ne_temporal_base(IntPtr temp, ulong value); + public static partial int tbox_xmin_cmp(IntPtr box1, IntPtr box2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int always_ge_base_temporal(ulong value, IntPtr temp); + public static partial int tbox_xmax_cmp(IntPtr box1, IntPtr box2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int always_ge_temporal_base(IntPtr temp, ulong value); + public static partial int tbox_tmin_cmp(IntPtr box1, IntPtr box2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int always_gt_base_temporal(ulong value, IntPtr temp); + public static partial int tbox_tmax_cmp(IntPtr box1, IntPtr box2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int always_gt_temporal_base(IntPtr temp, ulong value); + public static partial int tbox_level_cmp(IntPtr centroid, IntPtr query, int level); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int always_le_base_temporal(ulong value, IntPtr temp); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tcellindex_type(int type); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int always_le_temporal_base(IntPtr temp, ulong value); + public static partial IntPtr dggs_cellops(int temptype); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int always_lt_base_temporal(ulong value, IntPtr temp); + public static partial IntPtr tcellindex_get_resolution(IntPtr temp); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int always_lt_temporal_base(IntPtr temp, ulong value); + public static partial IntPtr tcellindex_is_valid_cell(IntPtr temp); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int ever_eq_base_temporal(ulong value, IntPtr temp); + public static partial IntPtr tcellindex_cell_to_parent(IntPtr temp, int resolution); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int ever_eq_temporal_base(IntPtr temp, ulong value); + public static partial IntPtr tcellindex_cell_to_point(IntPtr temp); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int ever_ne_base_temporal(ulong value, IntPtr temp); + public static partial IntPtr tcellindex_cell_to_boundary(IntPtr temp); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int ever_ne_temporal_base(IntPtr temp, ulong value); + public static partial IntPtr tcellindex_cell_area(IntPtr temp); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int ever_ge_base_temporal(ulong value, IntPtr temp); + public static partial long datum_min_int32(long l, long r); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int ever_ge_temporal_base(IntPtr temp, ulong value); + public static partial long datum_max_int32(long l, long r); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int ever_gt_base_temporal(ulong value, IntPtr temp); + public static partial long datum_min_int64(long l, long r); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int ever_gt_temporal_base(IntPtr temp, ulong value); + public static partial long datum_max_int64(long l, long r); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int ever_le_base_temporal(ulong value, IntPtr temp); + public static partial long datum_min_float8(long l, long r); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int ever_le_temporal_base(IntPtr temp, ulong value); + public static partial long datum_max_float8(long l, long r); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int ever_lt_base_temporal(ulong value, IntPtr temp); + public static partial long datum_sum_int32(long l, long r); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int ever_lt_temporal_base(IntPtr temp, ulong value); + public static partial long datum_sum_int64(long l, long r); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tnumberinst_abs(IntPtr inst); + public static partial long datum_sum_float8(long l, long r); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tnumberseq_abs(IntPtr seq); + public static partial long datum_min_text(long l, long r); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tnumberseq_angular_difference(IntPtr seq); + public static partial long datum_max_text(long l, long r); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tnumberseq_delta_value(IntPtr seq); + public static partial long datum_sum_double2(long l, long r); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tnumberseqset_abs(IntPtr ss); + public static partial long datum_sum_double3(long l, long r); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tnumberseqset_angular_difference(IntPtr ss); + public static partial long datum_sum_double4(long l, long r); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tnumberseqset_delta_value(IntPtr ss); + public static partial int temporal_skiplist_common(IntPtr list, IntPtr values, int count, IntPtr lower, IntPtr upper, IntPtr update); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tdistance_tnumber_number(IntPtr temp, ulong value); + public static partial IntPtr temporal_skiplist_merge(IntPtr spliced, int spliced_count, IntPtr values, int count, IntPtr func, [MarshalAs(UnmanagedType.U1)] bool crossings, IntPtr newcount, IntPtr tofree, IntPtr nfree); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial double nad_tbox_tbox(IntPtr box1, IntPtr box2); + public static partial IntPtr tinstant_tagg(IntPtr instants1, int count1, IntPtr instants2, int count2, IntPtr func, IntPtr newcount, IntPtr tofree, IntPtr nfree); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial double nad_tnumber_number(IntPtr temp, ulong value); + public static partial IntPtr tsequence_tagg(IntPtr sequences1, int count1, IntPtr sequences2, int count2, IntPtr func, [MarshalAs(UnmanagedType.U1)] bool crossings, IntPtr newcount); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial double nad_tnumber_tbox(IntPtr temp, IntPtr box); + public static partial IntPtr tcontseq_tagg_transfn(IntPtr state, IntPtr seq, IntPtr func, [MarshalAs(UnmanagedType.U1)] bool interpoint); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial double nad_tnumber_tnumber(IntPtr temp1, IntPtr temp2); + public static partial IntPtr temporal_tagg_combinefn(IntPtr state1, IntPtr state2, IntPtr func, [MarshalAs(UnmanagedType.U1)] bool crossings); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial double tnumberseq_integral(IntPtr seq); + public static partial IntPtr tinstant_tagg_transfn(IntPtr state, IntPtr inst, IntPtr func); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial double tnumberseq_twavg(IntPtr seq); + public static partial IntPtr tinstant_tavg_finalfn(IntPtr instants, int count); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial double tnumberseqset_integral(IntPtr ss); + public static partial IntPtr tsequence_tavg_finalfn(IntPtr sequences, int count); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial double tnumberseqset_twavg(IntPtr ss); + public static partial IntPtr tnumberinst_transform_tavg(IntPtr inst); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr temporal_compact(IntPtr temp); + public static partial IntPtr temporal_transform_tcount(IntPtr temp, IntPtr count); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequence_compact(IntPtr seq); + public static partial IntPtr temporal_transform_tagg(IntPtr temp, IntPtr count, IntPtr func); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tsequenceset_compact(IntPtr ss); + public static partial IntPtr tsequenceset_tagg_transfn(IntPtr state, IntPtr ss, IntPtr func, [MarshalAs(UnmanagedType.U1)] bool crossings); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr temporal_skiplist_make(); + public static partial IntPtr tdiscseq_tagg_transfn(IntPtr state, IntPtr seq, IntPtr func); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr skiplist_make(ulong key_size, ulong value_size, IntPtr comp_fn, IntPtr merge_fn); + public static partial IntPtr temporal_tagg_transfn(IntPtr state, IntPtr temp, IntPtr arg2, [MarshalAs(UnmanagedType.U1)] bool crossings); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int skiplist_search(IntPtr list, IntPtr key, IntPtr value); + public static partial IntPtr temporal_tagg_transform_transfn(IntPtr state, IntPtr temp, IntPtr func, [MarshalAs(UnmanagedType.U1)] bool crossings, IntPtr transform); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void skiplist_free(IntPtr list); + public static partial double temporal_similarity(IntPtr temp1, IntPtr temp2, IntPtr simfunc); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void skiplist_splice(IntPtr list, IntPtr keys, IntPtr values, int count, IntPtr func, [MarshalAs(UnmanagedType.U1)] bool crossings, IntPtr sktype); + public static partial IntPtr temporal_similarity_path(IntPtr temp1, IntPtr temp2, IntPtr count, IntPtr simfunc); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void temporal_skiplist_splice(IntPtr list, IntPtr values, int count, IntPtr func, [MarshalAs(UnmanagedType.U1)] bool crossings); + public static partial ulong temporal_bbox_size(int tempype); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr skiplist_values(IntPtr list); + public static partial void tinstarr_set_bbox(IntPtr instants, int count, [MarshalAs(UnmanagedType.U1)] bool lower_inc, [MarshalAs(UnmanagedType.U1)] bool upper_inc, int interp, IntPtr box); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr skiplist_keys_values(IntPtr list, IntPtr values); + public static partial void tsequence_compute_bbox(IntPtr seq); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr temporal_app_tinst_transfn(IntPtr state, IntPtr inst, int interp, double maxdist, IntPtr maxt); + public static partial void tseqarr_compute_bbox(IntPtr sequences, int count, IntPtr bbox); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr temporal_app_tseq_transfn(IntPtr state, IntPtr seq); + public static partial void tsequenceset_compute_bbox(IntPtr ss); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr span_bins(IntPtr s, ulong size, ulong origin, IntPtr count); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool boxop_temporal_tstzspan(IntPtr temp, IntPtr s, IntPtr func, [MarshalAs(UnmanagedType.U1)] bool invert); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr spanset_bins(IntPtr ss, ulong size, ulong origin, IntPtr count); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool boxop_temporal_temporal(IntPtr temp1, IntPtr temp2, IntPtr func); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tnumber_value_bins(IntPtr temp, ulong size, ulong origin, IntPtr count); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool boxop_tnumber_numspan(IntPtr temp, IntPtr span, IntPtr func, [MarshalAs(UnmanagedType.U1)] bool invert); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tnumber_value_time_boxes(IntPtr temp, ulong vsize, IntPtr duration, ulong vorigin, long torigin, IntPtr count); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool boxop_tnumber_tbox(IntPtr temp, IntPtr box, IntPtr func, [MarshalAs(UnmanagedType.U1)] bool invert); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tnumber_value_split(IntPtr temp, ulong vsize, ulong vorigin, IntPtr bins, IntPtr count); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool boxop_tnumber_tnumber(IntPtr temp1, IntPtr temp2, IntPtr func); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tbox_get_value_time_tile(ulong value, long t, ulong vsize, IntPtr duration, ulong vorigin, long torigin, int basetype, int spantype); + public static partial int eacomp_base_temporal(long value, IntPtr temp, IntPtr func, [MarshalAs(UnmanagedType.U1)] bool ever); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tnumber_value_time_split(IntPtr temp, ulong size, IntPtr duration, ulong vorigin, long torigin, IntPtr value_bins, IntPtr time_bins, IntPtr count); + public static partial int eacomp_temporal_base(IntPtr temp, long value, IntPtr func, [MarshalAs(UnmanagedType.U1)] bool ever); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr proj_get_context(); + public static partial int eacomp_temporal_temporal(IntPtr temp1, IntPtr temp2, IntPtr func, [MarshalAs(UnmanagedType.U1)] bool ever); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial ulong datum_geo_round(ulong value, ulong size); + public static partial IntPtr tcomp_base_temporal(long value, IntPtr temp, IntPtr func); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr point_round(IntPtr gs, int maxdd); + public static partial IntPtr tcomp_temporal_base(IntPtr temp, long value, IntPtr func); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void stbox_set([MarshalAs(UnmanagedType.U1)] bool hasx, [MarshalAs(UnmanagedType.U1)] bool hasz, [MarshalAs(UnmanagedType.U1)] bool geodetic, int srid, double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, IntPtr s, IntPtr box); + public static partial IntPtr tcomp_temporal_temporal(IntPtr temp1, IntPtr temp2, IntPtr func); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void gbox_set_stbox(IntPtr box, int srid, IntPtr result); + public static partial IntPtr tdiscseq_at_timestamptz(IntPtr seq, long t); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool geo_set_stbox(IntPtr gs, IntPtr box); + public static partial IntPtr tdiscseq_restrict_value(IntPtr seq, long value, [MarshalAs(UnmanagedType.U1)] bool atfunc); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void geoarr_set_stbox(IntPtr values, int count, IntPtr box); + public static partial IntPtr tdiscseq_restrict_values(IntPtr seq, IntPtr s, [MarshalAs(UnmanagedType.U1)] bool atfunc); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool spatial_set_stbox(ulong d, int basetype, IntPtr box); + public static partial IntPtr tdiscseq_minus_timestamptz(IntPtr seq, long t); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void spatialset_set_stbox(IntPtr set, IntPtr box); + public static partial IntPtr tdiscseq_restrict_tstzset(IntPtr seq, IntPtr s, [MarshalAs(UnmanagedType.U1)] bool atfunc); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void stbox_set_box3d(IntPtr box, IntPtr box3d); + public static partial IntPtr tdiscseq_restrict_tstzspanset(IntPtr seq, IntPtr ss, [MarshalAs(UnmanagedType.U1)] bool atfunc); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void stbox_set_gbox(IntPtr box, IntPtr gbox); + public static partial int tcontseq_restrict_value_iter(IntPtr seq, long value, [MarshalAs(UnmanagedType.U1)] bool atfunc, IntPtr result); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void tstzset_set_stbox(IntPtr s, IntPtr box); + public static partial IntPtr tcontseq_delete_timestamptz(IntPtr seq, long t); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void tstzspan_set_stbox(IntPtr s, IntPtr box); + public static partial IntPtr tcontseq_delete_tstzset(IntPtr seq, IntPtr s); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void tstzspanset_set_stbox(IntPtr s, IntPtr box); + public static partial IntPtr tcontseq_delete_tstzspanset(IntPtr seq, IntPtr ss); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void stbox_expand(IntPtr box1, IntPtr box2); + public static partial IntPtr tcontseq_at_tstzset(IntPtr seq, IntPtr s); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool inter_stbox_stbox(IntPtr box1, IntPtr box2, IntPtr result); + public static partial IntPtr tcontseq_minus_timestamptz(IntPtr seq, long t); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr stbox_geo(IntPtr box); + public static partial IntPtr tcontseq_minus_tstzset(IntPtr seq, IntPtr s); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tgeogpointinst_from_mfjson(IntPtr mfjson, int srid); + public static partial IntPtr tcontseq_minus_tstzspan(IntPtr seq, IntPtr s); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tgeogpointinst_in(string str); + public static partial IntPtr tcontseq_restrict_value(IntPtr seq, long value, [MarshalAs(UnmanagedType.U1)] bool atfunc); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tgeogpointseq_from_mfjson(IntPtr mfjson, int srid, int interp); + public static partial IntPtr tcontseq_restrict_values(IntPtr seq, IntPtr s, [MarshalAs(UnmanagedType.U1)] bool atfunc); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tgeogpointseq_in(string str, int interp); + public static partial int tsequence_at_values_iter(IntPtr seq, IntPtr set, IntPtr result); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tgeogpointseqset_from_mfjson(IntPtr mfjson, int srid, int interp); + public static partial int tnumberseq_cont_restrict_span_iter(IntPtr seq, IntPtr span, [MarshalAs(UnmanagedType.U1)] bool atfunc, IntPtr result); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tgeogpointseqset_in(string str); + public static partial int tnumberseq_cont_restrict_spanset_iter(IntPtr seq, IntPtr ss, [MarshalAs(UnmanagedType.U1)] bool atfunc, IntPtr result); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tgeompointinst_from_mfjson(IntPtr mfjson, int srid); + public static partial IntPtr tsegment_at_timestamptz(IntPtr inst1, IntPtr inst2, int interp, long t); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tgeompointinst_in(string str); + public static partial int tcontseq_minus_timestamp_iter(IntPtr seq, long t, IntPtr result); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tgeompointseq_from_mfjson(IntPtr mfjson, int srid, int interp); + public static partial int tcontseq_minus_tstzset_iter(IntPtr seq, IntPtr s, IntPtr result); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tgeompointseq_in(string str, int interp); + public static partial int tcontseq_at_tstzspanset1(IntPtr seq, IntPtr ss, IntPtr result); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tgeompointseqset_from_mfjson(IntPtr mfjson, int srid, int interp); + public static partial int tcontseq_minus_tstzspanset_iter(IntPtr seq, IntPtr ss, IntPtr result); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tgeompointseqset_in(string str); + public static partial IntPtr tcontseq_at_tstzspan(IntPtr seq, IntPtr s); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tgeographyinst_from_mfjson(IntPtr mfjson, int srid); + public static partial IntPtr tcontseq_at_timestamptz(IntPtr seq, long t); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tgeographyinst_in(string str); + public static partial IntPtr tcontseq_restrict_tstzspanset(IntPtr seq, IntPtr ss, [MarshalAs(UnmanagedType.U1)] bool atfunc); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tgeographyseq_from_mfjson(IntPtr mfjson, int srid, int interp); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tdiscseq_value_at_timestamptz(IntPtr seq, long t, IntPtr result); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tgeographyseq_in(string str, int interp); + public static partial IntPtr tnumberseq_disc_restrict_span(IntPtr seq, IntPtr span, [MarshalAs(UnmanagedType.U1)] bool atfunc); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tgeographyseqset_from_mfjson(IntPtr mfjson, int srid, int interp); + public static partial IntPtr tnumberseq_disc_restrict_spanset(IntPtr seq, IntPtr ss, [MarshalAs(UnmanagedType.U1)] bool atfunc); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tgeographyseqset_in(string str); + public static partial IntPtr tnumberseq_cont_restrict_span(IntPtr seq, IntPtr span, [MarshalAs(UnmanagedType.U1)] bool atfunc); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tgeometryinst_from_mfjson(IntPtr mfjson, int srid); + public static partial IntPtr tnumberseq_cont_restrict_spanset(IntPtr seq, IntPtr ss, [MarshalAs(UnmanagedType.U1)] bool atfunc); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tgeometryinst_in(string str); + public static partial double tnumberseq_cont_twavg(IntPtr seq); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tgeometryseq_from_mfjson(IntPtr mfjson, int srid, int interp); + public static partial int span_num_bins(IntPtr s, long size, long origin, IntPtr start_bin, IntPtr end_bin); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tgeometryseq_in(string str, int interp); + public static partial IntPtr temporal_time_bin_init(IntPtr temp, IntPtr duration, long torigin, IntPtr nbins); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tgeometryseqset_from_mfjson(IntPtr mfjson, int srid, int interp); + public static partial IntPtr tbox_tile_state_make(IntPtr temp, IntPtr box, long vsize, IntPtr duration, long xorigin, long torigin); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tgeometryseqset_in(string str); + public static partial void tbox_tile_state_next(IntPtr state); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void tspatial_set_stbox(IntPtr temp, IntPtr box); + public static partial void tbox_tile_state_set(long value, long t, long vsize, long tunits, int basetype, int spantype, IntPtr box); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void tgeoinst_set_stbox(IntPtr inst, IntPtr box); + public static partial long interval_units(IntPtr interval); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void tspatialseq_set_stbox(IntPtr seq, IntPtr box); + public static partial long timestamptz_bin_start(long timestamp, long tunits, long torigin); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void tspatialseqset_set_stbox(IntPtr ss, IntPtr box); + public static partial long datum_bin(long value, long size, long offset, int basetype); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tgeo_restrict_geom(IntPtr temp, IntPtr gs, IntPtr zspan, [MarshalAs(UnmanagedType.U1)] bool atfunc); + public static partial IntPtr tnumber_value_time_tile_init(IntPtr temp, long vsize, IntPtr duration, long vorigin, long torigin, IntPtr ntiles); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tgeo_restrict_stbox(IntPtr temp, IntPtr box, [MarshalAs(UnmanagedType.U1)] bool border_inc, [MarshalAs(UnmanagedType.U1)] bool atfunc); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tbox_tile_state_get(IntPtr state, IntPtr box); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tgeoinst_restrict_geom(IntPtr inst, IntPtr gs, IntPtr zspan, [MarshalAs(UnmanagedType.U1)] bool atfunc); + public static partial IntPtr temporal_transform_wcount(IntPtr temp, IntPtr interval, IntPtr count); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tgeoinst_restrict_stbox(IntPtr inst, IntPtr box, [MarshalAs(UnmanagedType.U1)] bool border_inc, [MarshalAs(UnmanagedType.U1)] bool atfunc); + public static partial IntPtr tnumber_transform_wavg(IntPtr temp, IntPtr interval, IntPtr count); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tgeoseq_restrict_geom(IntPtr seq, IntPtr gs, IntPtr zspan, [MarshalAs(UnmanagedType.U1)] bool atfunc); + public static partial IntPtr temporal_wagg_transfn(IntPtr state, IntPtr temp, IntPtr interval, IntPtr func, [MarshalAs(UnmanagedType.U1)] bool min, [MarshalAs(UnmanagedType.U1)] bool crossings); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tgeoseq_restrict_stbox(IntPtr seq, IntPtr box, [MarshalAs(UnmanagedType.U1)] bool border_inc, [MarshalAs(UnmanagedType.U1)] bool atfunc); + public static partial IntPtr temporal_wagg_transform_transfn(IntPtr state, IntPtr temp, IntPtr interval, IntPtr func, IntPtr transform); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tgeoseqset_restrict_geom(IntPtr ss, IntPtr gs, IntPtr zspan, [MarshalAs(UnmanagedType.U1)] bool atfunc); + public static partial void tinstant_set(IntPtr inst, long value, long t); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tgeoseqset_restrict_stbox(IntPtr ss, IntPtr box, [MarshalAs(UnmanagedType.U1)] bool border_inc, [MarshalAs(UnmanagedType.U1)] bool atfunc); + public static partial double tnumberinst_double(IntPtr inst); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int spatial_srid(ulong d, int basetype); + public static partial string tinstant_to_string(IntPtr inst, int maxdd, IntPtr value_out); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool spatial_set_srid(ulong d, int basetype, int srid); + public static partial bool tinstant_restrict_values_test(IntPtr inst, IntPtr s, [MarshalAs(UnmanagedType.U1)] bool atfunc); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int tspatialinst_srid(IntPtr inst); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tnumberinst_restrict_span_test(IntPtr inst, IntPtr s, [MarshalAs(UnmanagedType.U1)] bool atfunc); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tpointseq_azimuth(IntPtr seq); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tnumberinst_restrict_spanset_test(IntPtr inst, IntPtr ss, [MarshalAs(UnmanagedType.U1)] bool atfunc); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tpointseq_cumulative_length(IntPtr seq, double prevlength); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tinstant_restrict_tstzset_test(IntPtr inst, IntPtr s, [MarshalAs(UnmanagedType.U1)] bool atfunc); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool tpointseq_is_simple(IntPtr seq); + public static partial bool tinstant_restrict_tstzspanset_test(IntPtr inst, IntPtr ss, [MarshalAs(UnmanagedType.U1)] bool atfunc); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial double tpointseq_length(IntPtr seq); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool intersection_tinstant_tinstant(IntPtr inst1, IntPtr inst2, IntPtr inter1, IntPtr inter2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tpointseq_linear_trajectory(IntPtr seq, [MarshalAs(UnmanagedType.U1)] bool unary_union); + public static partial void _mulmat(IntPtr a, IntPtr b, IntPtr c, int arows, int acols, int bcols); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tgeoseq_stboxes(IntPtr seq, IntPtr count); + public static partial void _mulvec(IntPtr a, IntPtr x, IntPtr y, int m, int n); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tgeoseq_split_n_stboxes(IntPtr seq, int max_count, IntPtr count); + public static partial void _transpose(IntPtr a, IntPtr at, int m, int n); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tpointseqset_azimuth(IntPtr ss); + public static partial void _addmat(IntPtr a, IntPtr b, IntPtr c, int m, int n); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tpointseqset_cumulative_length(IntPtr ss); + public static partial void _negate(IntPtr a, int m, int n); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool tpointseqset_is_simple(IntPtr ss); + public static partial void _addeye(IntPtr a, int n); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial double tpointseqset_length(IntPtr ss); + public static partial int _choldc1(IntPtr a, IntPtr p, int n); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tgeoseqset_stboxes(IntPtr ss, IntPtr count); + public static partial int _choldcsl(IntPtr A, IntPtr a, IntPtr p, int n); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tgeoseqset_split_n_stboxes(IntPtr ss, int max_count, IntPtr count); + public static partial int _cholsl(IntPtr A, IntPtr a, IntPtr p, int n); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tpoint_get_coord(IntPtr temp, int coord); + public static partial void _addvec(IntPtr a, IntPtr b, IntPtr c, int n); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tgeominst_tgeoginst(IntPtr inst, [MarshalAs(UnmanagedType.U1)] bool oper); + public static partial void _sub(IntPtr a, IntPtr b, IntPtr c, int n); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tgeomseq_tgeogseq(IntPtr seq, [MarshalAs(UnmanagedType.U1)] bool oper); + public static partial int invert(IntPtr a, IntPtr ainv); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tgeomseqset_tgeogseqset(IntPtr ss, [MarshalAs(UnmanagedType.U1)] bool oper); + public static partial void ekf_initialize(IntPtr ekf, float pdiag); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tgeom_tgeog(IntPtr temp, [MarshalAs(UnmanagedType.U1)] bool oper); + public static partial void ekf_predict(IntPtr ekf, float fx, float F, float Q); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tgeo_tpoint(IntPtr temp, [MarshalAs(UnmanagedType.U1)] bool oper); + public static partial void ekf_update_step3(IntPtr ekf, float GH); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void tspatialinst_set_srid(IntPtr inst, int srid); + public static partial int ekf_update(IntPtr ekf, float z, float hx, float H, float R); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tpointseq_make_simple(IntPtr seq, IntPtr count); + public static partial int tfloat_arithop_turnpt(long start1, long end1, long start2, long end2, long param, long lower, long upper, IntPtr t1, IntPtr t2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void tspatialseq_set_srid(IntPtr seq, int srid); + public static partial IntPtr arithop_tnumber_number(IntPtr temp, long value, IntPtr oper, IntPtr func, [MarshalAs(UnmanagedType.U1)] bool invert); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tpointseqset_make_simple(IntPtr ss, IntPtr count); + public static partial IntPtr arithop_tnumber_tnumber(IntPtr temp1, IntPtr temp2, IntPtr oper, IntPtr func, IntPtr tpfunc); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial void tspatialseqset_set_srid(IntPtr ss, int srid); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool float_collinear(double x1, double x2, double x3, double ratio); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tpointseq_twcentroid(IntPtr seq); + public static partial double floatsegm_interpolate(double value1, double value2, IntPtr value); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tpointseqset_twcentroid(IntPtr ss); + public static partial IntPtr floatsegm_locate(double value1, double value2, double value); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial string npoint_as_ewkt(IntPtr np, int maxdd); + public static partial int tnumbersegm_intersection(long start1, long end1, long start2, long end2, int basetype, long lower, long upper, IntPtr t1, IntPtr t2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial string npoint_as_hexwkb(IntPtr np, IntPtr variant, IntPtr size_out); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tsequence_norm_test(long value1, long value2, long value3, int basetype, int interp, long t1, long t2, long t3); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial string npoint_as_text(IntPtr np, int maxdd); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tsequence_join_test(IntPtr seq1, IntPtr seq2, IntPtr removelast, IntPtr removefirst); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr npoint_as_wkb(IntPtr np, IntPtr variant, IntPtr size_out); + public static partial IntPtr tsequence_join(IntPtr seq1, IntPtr seq2, [MarshalAs(UnmanagedType.U1)] bool removelast, [MarshalAs(UnmanagedType.U1)] bool removefirst); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr npoint_from_hexwkb(string hexwkb); + public static partial IntPtr tinstarr_normalize(IntPtr instants, int interp, int count, IntPtr newcount); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr npoint_from_wkb(IntPtr wkb, ulong size); + public static partial int tcontseq_find_timestamptz(IntPtr seq, long t); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr npoint_in(string str); + public static partial int tdiscseq_find_timestamptz(IntPtr seq, long t); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial string npoint_out(IntPtr np, int maxdd); + public static partial IntPtr tseqarr2_to_tseqarr(IntPtr sequences, IntPtr countseqs, int count, int totalseqs); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr nsegment_in(string str); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_valid_tinstarr_common(IntPtr instants, int count, [MarshalAs(UnmanagedType.U1)] bool lower_inc, [MarshalAs(UnmanagedType.U1)] bool upper_inc, int interp); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial string nsegment_out(IntPtr ns, int maxdd); + public static partial IntPtr tsequence_make_exp1(IntPtr instants, int count, int maxcount, [MarshalAs(UnmanagedType.U1)] bool lower_inc, [MarshalAs(UnmanagedType.U1)] bool upper_inc, int interp, [MarshalAs(UnmanagedType.U1)] bool normalize, IntPtr bbox); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr npoint_make(long rid, double pos); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool synchronize_tsequence_tsequence(IntPtr seq1, IntPtr seq2, IntPtr sync1, IntPtr sync2, [MarshalAs(UnmanagedType.U1)] bool interpoint); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr nsegment_make(long rid, double pos1, double pos2); + public static partial int tfloatsegm_intersection_value(long start, long end, long value, long lower, long upper, IntPtr t); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr geompoint_to_npoint(IntPtr gs); + public static partial int tsegment_intersection_value(long start, long end, long value, int temptype, long lower, long upper, IntPtr t1, IntPtr t2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr geom_to_nsegment(IntPtr gs); + public static partial int tsegment_intersection(long start1, long end1, long start2, long end2, int temptype, long lower, long upper, IntPtr t1, IntPtr t2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr npoint_to_geompoint(IntPtr np); + public static partial long tsegment_value_at_timestamptz(long start, long end, int temptype, long lower, long upper, long t); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr npoint_to_nsegment(IntPtr np); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool intersection_tdiscseq_tdiscseq(IntPtr seq1, IntPtr seq2, IntPtr inter1, IntPtr inter2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr npoint_to_stbox(IntPtr np); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool intersection_tcontseq_tdiscseq(IntPtr seq1, IntPtr seq2, IntPtr inter1, IntPtr inter2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr nsegment_to_geom(IntPtr ns); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool intersection_tdiscseq_tcontseq(IntPtr @is, IntPtr seq2, IntPtr inter1, IntPtr inter2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr nsegment_to_stbox(IntPtr np); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool intersection_tsequence_tinstant(IntPtr seq, IntPtr inst, IntPtr inter1, IntPtr inter2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial uint npoint_hash(IntPtr np); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool intersection_tinstant_tsequence(IntPtr inst, IntPtr seq, IntPtr inter1, IntPtr inter2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial ulong npoint_hash_extended(IntPtr np, ulong seed); + public static partial string tsequence_to_string(IntPtr seq, int maxdd, [MarshalAs(UnmanagedType.U1)] bool component, IntPtr value_out); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial double npoint_position(IntPtr np); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_increasing_timestamps(IntPtr inst1, IntPtr inst2, [MarshalAs(UnmanagedType.U1)] bool strict); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial long npoint_route(IntPtr np); + public static partial void bbox_expand(IntPtr box1, IntPtr box2, int temptype); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial double nsegment_end_position(IntPtr ns); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_valid_tinstarr(IntPtr instants, int count, [MarshalAs(UnmanagedType.U1)] bool merge, int interp); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial long nsegment_route(IntPtr ns); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tsequence_make_valid(IntPtr instants, int count, [MarshalAs(UnmanagedType.U1)] bool lower_inc, [MarshalAs(UnmanagedType.U1)] bool upper_inc, int interp); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial double nsegment_start_position(IntPtr ns); + public static partial void tnumberseq_shift_scale_value_iter(IntPtr seq, long origin, long delta, [MarshalAs(UnmanagedType.U1)] bool hasdelta, double scale); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool route_exists(long rid); + public static partial void tsequence_shift_scale_time_iter(IntPtr seq, long delta, double scale); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr route_geom(long rid); + public static partial int tstepseq_to_linear_iter(IntPtr seq, IntPtr result); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial double route_length(long rid); + public static partial IntPtr tstepseq_to_linear(IntPtr seq); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr npoint_round(IntPtr np, int maxdd); + public static partial int tsequence_segments_iter(IntPtr seq, IntPtr result); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr nsegment_round(IntPtr ns, int maxdd); + public static partial int tsequence_timestamps_iter(IntPtr seq, IntPtr times); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int get_srid_ways(); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool tsequenceset_find_timestamptz(IntPtr ss, long t, IntPtr loc); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int npoint_srid(IntPtr np); + public static partial IntPtr tseqarr_normalize(IntPtr sequences, int count, IntPtr newcount); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int nsegment_srid(IntPtr ns); + public static partial double datum_distance(long value1, long value2, int basetype, short flags); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr npoint_timestamptz_to_stbox(IntPtr np, long t); + public static partial IntPtr ensure_valid_tinstarr_gaps(IntPtr instants, int count, [MarshalAs(UnmanagedType.U1)] bool merge, double maxdist, IntPtr maxt, IntPtr nsplits); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr npoint_tstzspan_to_stbox(IntPtr np, IntPtr s); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_valid_tseqarr(IntPtr sequences, int count); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int npoint_cmp(IntPtr np1, IntPtr np2); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool synchronize_tsequenceset_tsequence(IntPtr ss, IntPtr seq, IntPtr mode, IntPtr inter1, IntPtr inter2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool npoint_eq(IntPtr np1, IntPtr np2); + public static partial bool synchronize_tsequenceset_tsequenceset(IntPtr ss1, IntPtr ss2, IntPtr mode, IntPtr inter1, IntPtr inter2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool npoint_ge(IntPtr np1, IntPtr np2); + public static partial bool intersection_tsequenceset_tinstant(IntPtr ss, IntPtr inst, IntPtr inter1, IntPtr inter2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool npoint_gt(IntPtr np1, IntPtr np2); + public static partial bool intersection_tinstant_tsequenceset(IntPtr inst, IntPtr ss, IntPtr inter1, IntPtr inter2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool npoint_le(IntPtr np1, IntPtr np2); + public static partial bool intersection_tsequenceset_tdiscseq(IntPtr ss, IntPtr @is, IntPtr inter1, IntPtr inter2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool npoint_lt(IntPtr np1, IntPtr np2); + public static partial bool intersection_tdiscseq_tsequenceset(IntPtr @is, IntPtr ss, IntPtr inter1, IntPtr inter2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool npoint_ne(IntPtr np1, IntPtr np2); + public static partial bool intersection_tsequence_tsequenceset(IntPtr seq, IntPtr ss, IntPtr mode, IntPtr inter1, IntPtr inter2); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool npoint_same(IntPtr np1, IntPtr np2); + public static partial string tsequenceset_to_string(IntPtr ss, int maxdd, IntPtr value_out); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int nsegment_cmp(IntPtr ns1, IntPtr ns2); + public static partial long datum_textcat(long l, long r); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool nsegment_eq(IntPtr ns1, IntPtr ns2); + public static partial long datum_lower(long value); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool nsegment_ge(IntPtr ns1, IntPtr ns2); + public static partial long datum_upper(long value); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool nsegment_gt(IntPtr ns1, IntPtr ns2); + public static partial long datum_initcap(long value); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool nsegment_le(IntPtr ns1, IntPtr ns2); + public static partial IntPtr textfunc_ttext(IntPtr temp, int func); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool nsegment_lt(IntPtr ns1, IntPtr ns2); + public static partial IntPtr textfunc_ttext_text(IntPtr temp, long value, IntPtr func, [MarshalAs(UnmanagedType.U1)] bool invert); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - [return: MarshalAs(UnmanagedType.U1)] - public static partial bool nsegment_ne(IntPtr ns1, IntPtr ns2); + public static partial IntPtr textfunc_ttext_ttext(IntPtr temp1, IntPtr temp2, IntPtr func); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr npointset_in(string str); + public static partial IntPtr datum_as_wkb(long value, int type, IntPtr variant, IntPtr size_out); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial string npointset_out(IntPtr s, int maxdd); + public static partial string datum_as_hexwkb(long value, int type, IntPtr variant, IntPtr size); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr npointset_make(IntPtr values, int count); + public static partial long type_from_wkb(IntPtr wkb, IntPtr size, int type); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr npoint_to_set(IntPtr np); + public static partial long type_from_hexwkb(string hexwkb, IntPtr size, int type); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr npointset_end_value(IntPtr s); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_end_input(IntPtr str, string type); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr npointset_routes(IntPtr s); + public static partial void p_whitespace(IntPtr str); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr npointset_start_value(IntPtr s); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool p_delimchar(IntPtr str, byte delim); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool npointset_value_n(IntPtr s, int n, IntPtr result); + public static partial bool p_obrace(IntPtr str); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr npointset_values(IntPtr s); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_obrace(IntPtr str, string type); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool contained_npoint_set(IntPtr np, IntPtr s); + public static partial bool p_cbrace(IntPtr str); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] [return: MarshalAs(UnmanagedType.U1)] - public static partial bool contains_set_npoint(IntPtr s, IntPtr np); + public static partial bool ensure_cbrace(IntPtr str, string type); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr intersection_npoint_set(IntPtr np, IntPtr s); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool p_obracket(IntPtr str); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr intersection_set_npoint(IntPtr s, IntPtr np); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool p_cbracket(IntPtr str); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr minus_npoint_set(IntPtr np, IntPtr s); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool p_oparen(IntPtr str); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr minus_set_npoint(IntPtr s, IntPtr np); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_oparen(IntPtr str, string type); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr npoint_union_transfn(IntPtr state, IntPtr np); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool p_cparen(IntPtr str); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr union_npoint_set(IntPtr np, IntPtr s); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool ensure_cparen(IntPtr str, string type); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr union_set_npoint(IntPtr s, IntPtr np); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool p_comma(IntPtr str); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tnpoint_in(string str); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool basetype_parse(IntPtr str, int basetypid, byte delim, IntPtr result); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial string tnpoint_out(IntPtr temp, int maxdd); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool double_parse(IntPtr str, IntPtr result); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tnpointinst_make(IntPtr np, long t); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool elem_parse(IntPtr str, int basetype, IntPtr result); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tgeompoint_to_tnpoint(IntPtr temp); + public static partial IntPtr set_parse(IntPtr str, int basetype); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tnpoint_to_tgeompoint(IntPtr temp); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool span_parse(IntPtr str, int spantype, [MarshalAs(UnmanagedType.U1)] bool end, IntPtr span); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tnpoint_cumulative_length(IntPtr temp); + public static partial IntPtr spanset_parse(IntPtr str, int spantype); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial double tnpoint_length(IntPtr temp); + public static partial IntPtr tbox_parse(IntPtr str); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tnpoint_positions(IntPtr temp, IntPtr count); + public static partial long timestamp_parse(IntPtr str); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial long tnpoint_route(IntPtr temp); + public static partial IntPtr tinstant_parse(IntPtr str, int temptype, [MarshalAs(UnmanagedType.U1)] bool end); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tnpoint_routes(IntPtr temp); + public static partial IntPtr tdiscseq_parse(IntPtr str, int temptype); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tnpoint_speed(IntPtr temp); + public static partial IntPtr tcontseq_parse(IntPtr str, int temptype, int interp, [MarshalAs(UnmanagedType.U1)] bool end); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tnpoint_trajectory(IntPtr temp); + public static partial IntPtr tsequenceset_parse(IntPtr str, int temptype, int interp); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tnpoint_twcentroid(IntPtr temp); + public static partial IntPtr temporal_parse(IntPtr str, int temptype); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tnpoint_at_geom(IntPtr temp, IntPtr gs); + public static partial long datum_copy(long value, int typid); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tnpoint_at_npoint(IntPtr temp, IntPtr np); + public static partial double datum_double(long d, int type); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tnpoint_at_npointset(IntPtr temp, IntPtr s); + public static partial long double_datum(double d, int type); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tnpoint_at_stbox(IntPtr temp, IntPtr box, [MarshalAs(UnmanagedType.U1)] bool border_inc); + public static partial IntPtr bstring2bytea(IntPtr wkb, IntPtr size); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tnpoint_minus_geom(IntPtr temp, IntPtr gs); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool basetype_in(string str, int type, [MarshalAs(UnmanagedType.U1)] bool end, IntPtr result); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tnpoint_minus_npoint(IntPtr temp, IntPtr np); + public static partial string basetype_out(long value, int type, int maxdd); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tnpoint_minus_npointset(IntPtr temp, IntPtr s); + public static partial void pfree_array(IntPtr array, int count); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tnpoint_minus_stbox(IntPtr temp, IntPtr box, [MarshalAs(UnmanagedType.U1)] bool border_inc); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool string_escape(string str, int quotes, IntPtr result); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tdistance_tnpoint_npoint(IntPtr temp, IntPtr np); + public static partial ulong string_unescape(string str, IntPtr result); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tdistance_tnpoint_point(IntPtr temp, IntPtr gs); + public static partial string stringarr_to_string(IntPtr strings, int count, string prefix, byte open, byte close, int quotes, [MarshalAs(UnmanagedType.U1)] bool spaces); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tdistance_tnpoint_tnpoint(IntPtr temp1, IntPtr temp2); + public static partial void datumarr_sort(IntPtr values, int count, int basetype); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial double nad_tnpoint_geo(IntPtr temp, IntPtr gs); + public static partial void tstzarr_sort(IntPtr times, int count); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial double nad_tnpoint_npoint(IntPtr temp, IntPtr np); + public static partial void spanarr_sort(IntPtr spans, int count); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial double nad_tnpoint_stbox(IntPtr temp, IntPtr box); + public static partial void tinstarr_sort(IntPtr instants, int count); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial double nad_tnpoint_tnpoint(IntPtr temp1, IntPtr temp2); + public static partial void tseqarr_sort(IntPtr sequences, int count); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr nai_tnpoint_geo(IntPtr temp, IntPtr gs); + public static partial int datumarr_remove_duplicates(IntPtr values, int count, int basetype); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr nai_tnpoint_npoint(IntPtr temp, IntPtr np); + public static partial int tstzarr_remove_duplicates(IntPtr values, int count); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr nai_tnpoint_tnpoint(IntPtr temp1, IntPtr temp2); + public static partial int tinstarr_remove_duplicates(IntPtr instants, int count); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr shortestline_tnpoint_geo(IntPtr temp, IntPtr gs); + public static partial long datum_add(long l, long r, int type); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr shortestline_tnpoint_npoint(IntPtr temp, IntPtr np); + public static partial long datum_sub(long l, long r, int type); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr shortestline_tnpoint_tnpoint(IntPtr temp1, IntPtr temp2); + public static partial long datum_mul(long l, long r, int type); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tnpoint_tcentroid_transfn(IntPtr state, IntPtr temp); + public static partial long datum_div(long l, long r, int type); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int always_eq_npoint_tnpoint(IntPtr np, IntPtr temp); + public static partial int datum_cmp(long l, long r, int type); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int always_eq_tnpoint_npoint(IntPtr temp, IntPtr np); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool datum_eq(long l, long r, int type); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int always_eq_tnpoint_tnpoint(IntPtr temp1, IntPtr temp2); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool datum_ne(long l, long r, int type); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int always_ne_npoint_tnpoint(IntPtr np, IntPtr temp); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool datum_lt(long l, long r, int type); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int always_ne_tnpoint_npoint(IntPtr temp, IntPtr np); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool datum_le(long l, long r, int type); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int always_ne_tnpoint_tnpoint(IntPtr temp1, IntPtr temp2); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool datum_gt(long l, long r, int type); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int ever_eq_npoint_tnpoint(IntPtr np, IntPtr temp); + [return: MarshalAs(UnmanagedType.U1)] + public static partial bool datum_ge(long l, long r, int type); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int ever_eq_tnpoint_npoint(IntPtr temp, IntPtr np); + public static partial long datum2_eq(long l, long r, int type); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int ever_eq_tnpoint_tnpoint(IntPtr temp1, IntPtr temp2); + public static partial long datum2_ne(long l, long r, int type); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int ever_ne_npoint_tnpoint(IntPtr np, IntPtr temp); + public static partial long datum2_lt(long l, long r, int type); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int ever_ne_tnpoint_npoint(IntPtr temp, IntPtr np); + public static partial long datum2_le(long l, long r, int type); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial int ever_ne_tnpoint_tnpoint(IntPtr temp1, IntPtr temp2); + public static partial long datum2_gt(long l, long r, int type); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr teq_tnpoint_npoint(IntPtr temp, IntPtr np); + public static partial long datum2_ge(long l, long r, int type); [LibraryImport(DllPath, StringMarshalling = StringMarshalling.Utf8)] - public static partial IntPtr tne_tnpoint_npoint(IntPtr temp, IntPtr np); + public static partial double hypot3d(double x, double y, double z); } } diff --git a/MEOS.NET/Types/Collections/Float/FloatSet.cs b/MEOS.NET/Types/Collections/Float/FloatSet.cs index a4d31da..871e4a0 100644 --- a/MEOS.NET/Types/Collections/Float/FloatSet.cs +++ b/MEOS.NET/Types/Collections/Float/FloatSet.cs @@ -9,9 +9,10 @@ public sealed class FloatSet : Set internal FloatSet(IntPtr ptr) : base(ptr) { } - internal static FloatSet FromValuesPointer(IntPtr valuesArray, int arrayLength) + internal static FloatSet FromValues(double[] values) { - var res = MEOSExposedFunctions.floatset_make(valuesArray, arrayLength); + var res = AllocHelper.AllocateArrayPointer(values, + (valuesPtr) => MEOSExposedFunctions.floatset_make(valuesPtr, values.Length)); return new FloatSet(res); } diff --git a/MEOS.NET/Types/Collections/SpanSet.cs b/MEOS.NET/Types/Collections/SpanSet.cs index 0912dd1..e28d8db 100644 --- a/MEOS.NET/Types/Collections/SpanSet.cs +++ b/MEOS.NET/Types/Collections/SpanSet.cs @@ -89,11 +89,8 @@ public virtual Span SpanAt(int position) public virtual IEnumerable GetSpans() { - var nbSpans = this.SpanCount(); - var arr = MEOSExposedFunctions.spanset_spans(this._ptr); - - var spans = arr.ToArrayOfType(nbSpans); - List spanList = new List(nbSpans); + var spans = MEOSExposedFunctions.spanset_spans(this._ptr); + List spanList = new List(spans.Length); foreach(var span in spans) { diff --git a/MEOS.NET/Types/Temporal/Number/Float/TemporalFloat.cs b/MEOS.NET/Types/Temporal/Number/Float/TemporalFloat.cs index 345c17b..4c3596c 100644 --- a/MEOS.NET/Types/Temporal/Number/Float/TemporalFloat.cs +++ b/MEOS.NET/Types/Temporal/Number/Float/TemporalFloat.cs @@ -73,16 +73,8 @@ public double MaxValue() public FloatSet ToFloatSet() { - int count = 0; - var arrayPtr = AllocHelper.AllocatePointer(sizeof(int), (countPtr) => - { - var arr = MEOSExposedFunctions.tfloat_values(this._ptr, countPtr); - count = countPtr.ToStructure(); - - return arr; - }); - - return FloatSet.FromValuesPointer(arrayPtr, count); + var values = MEOSExposedFunctions.tfloat_values(this._ptr); + return FloatSet.FromValues(values); } public bool IsAlwaysLessThan(double value) @@ -247,7 +239,7 @@ public TemporalFloat Multiply(int value) public TemporalFloat Multiply(double value) { - var res = MEOSExposedFunctions.mult_tfloat_float(this._ptr, value); + var res = MEOSExposedFunctions.mul_tfloat_float(this._ptr, value); return new TemporalFloat(res); } diff --git a/MEOS.NET/Types/Temporal/Number/TemporalNumber.cs b/MEOS.NET/Types/Temporal/Number/TemporalNumber.cs index 96a2258..b80e7f4 100644 --- a/MEOS.NET/Types/Temporal/Number/TemporalNumber.cs +++ b/MEOS.NET/Types/Temporal/Number/TemporalNumber.cs @@ -146,7 +146,7 @@ public TemporalNumber Minus(TemporalNumber other) public TemporalNumber Multiply(TemporalNumber other) { - var res = MEOSExposedFunctions.mult_tnumber_tnumber(this._ptr, other._ptr); + var res = MEOSExposedFunctions.mul_tnumber_tnumber(this._ptr, other._ptr); return new TemporalNumber(res); } diff --git a/MEOS.NET/Types/Temporal/Temporal.cs b/MEOS.NET/Types/Temporal/Temporal.cs index f58805b..99ca69c 100644 --- a/MEOS.NET/Types/Temporal/Temporal.cs +++ b/MEOS.NET/Types/Temporal/Temporal.cs @@ -136,7 +136,7 @@ public TimestampTzSpanSet Time() public string Duration(bool ignoreGaps = false) { var res = MEOSExposedFunctions.temporal_duration(this._ptr, ignoreGaps); - return MEOSExposedFunctions.pg_interval_out(res); + return MEOSExposedFunctions.interval_out(res); } public TimestampTzSpan TimeSpan() diff --git a/MEOS.NET/Types/Temporal/TemporalInstant.cs b/MEOS.NET/Types/Temporal/TemporalInstant.cs index 7f89eb6..605dafd 100644 --- a/MEOS.NET/Types/Temporal/TemporalInstant.cs +++ b/MEOS.NET/Types/Temporal/TemporalInstant.cs @@ -11,22 +11,14 @@ public TemporalInstant(IntPtr ptr) : base(ptr) public DateTime Timestamp() { - int count = 0; - var timestampArrPtr = AllocHelper.AllocatePointer(sizeof(int), (countPtr) => - { - var res = MEOSExposedFunctions.temporal_timestamps(this._ptr, countPtr); - count = countPtr.ToStructure(); + var timestamps = MEOSExposedFunctions.temporal_timestamps(this._ptr); - return res; - }); - - if (count != 1) + if (timestamps.Length != 1) { throw new InvalidOperationException("The number of elements in the array of instants should be 1 for a single instant."); } - var array = timestampArrPtr.ToArrayOfType(count); - return array[0].ToDateTime(); + return new TimestampTz { Time = timestamps[0] }.ToDateTime(); } public IEnumerable TimestampAsEnumerable() diff --git a/tools/codegen.py b/tools/codegen.py index 5daf111..86d54e1 100755 --- a/tools/codegen.py +++ b/tools/codegen.py @@ -106,6 +106,9 @@ def csharp_param_name(name: str) -> str: "for", "foreach", "while", "do", "if", "else", "switch", "case", "break", "continue", "return", "throw", "try", "catch", "finally", "goto", "yield", "using", "void", + "bool", "byte", "sbyte", "char", "short", "ushort", "int", "uint", + "long", "ulong", "float", "double", "decimal", "nint", "nuint", + "const", } return f"@{name}" if name in reserved else name @@ -320,40 +323,64 @@ def _emit_outputs_wrapper(f: dict) -> list[str]: def _emit_array_return_wrapper(f: dict, ext_params: str, ext_args: str) -> list[str]: """Emit a wrapper that materialises an array return via Marshal.Copy. - Used when shape.arrayReturn is present. Slice length comes from either - a sibling accessor call (kind=accessor) or an output parameter - (kind=param) of the same function.""" + The slice length comes from either a sibling accessor call (kind=accessor) + or a by-pointer ``int *count`` output of the same function (kind=param). In + the param case the count is allocated internally and hidden from the public + signature, mirroring the MEOS ``TYPE *f(..., int *count)`` convention.""" name = f["name"] shape = f["shape"] length_meta = shape["arrayReturn"]["lengthFrom"] elem, strategy = _csharp_array_element(f["returnType"]["c"], f["returnType"]["canonical"]) ret_type = f"{elem}[]" - lines: list[str] = [] - lines.append(f" public static {ret_type} {name}({ext_params})") - lines.append(" {") + def _copy(indent: str) -> list[str]: + out = [f"{indent}{elem}[] _out = new {elem}[_n];"] + if strategy == "Marshal.Copy": + out.append(f"{indent}Marshal.Copy(_p, _out, 0, _n);") + else: + out.append(f"{indent}for (int _i = 0; _i < _n; _i++)") + out.append(f"{indent}{{ _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); }}") + out.append(f"{indent}return _out;") + return out + if length_meta["kind"] == "accessor": accessor = length_meta["func"] arg = csharp_param_name(length_meta["arg"]) - lines.append(f" int _n = (int)MEOSExposedFunctions.{accessor}({arg});") - else: - # kind == "param": the length is one of the function's own outputs. - # Emit a stub for now; full param-output unpacking lives in the - # outputArrays wrapper. Falls back to IntPtr return. - return _emit_simple_passthrough(f, ext_params, ext_args, default_rt="IntPtr") - - lines.append(f" IntPtr _p = SafeExecution(() => MEOSExternalFunctions.{name}({ext_args}));") - if strategy == "Marshal.Copy": - lines.append(f" {elem}[] _out = new {elem}[_n];") - lines.append(f" Marshal.Copy(_p, _out, 0, _n);") - lines.append(" return _out;") - else: - # Read N IntPtrs out of the array. - lines.append(f" {elem}[] _out = new {elem}[_n];") - lines.append(f" for (int _i = 0; _i < _n; _i++)") - lines.append(f" {{ _out[_i] = Marshal.ReadIntPtr(_p, _i * IntPtr.Size); }}") - lines.append(" return _out;") - lines.append(" }") + lines = [ + f" public static {ret_type} {name}({ext_params})", + " {", + f" int _n = (int)MEOSExposedFunctions.{accessor}({arg});", + f" IntPtr _p = SafeExecution(() => MEOSExternalFunctions.{name}({ext_args}));", + ] + lines += _copy(" ") + lines.append(" }") + return lines + + # kind == "param": the length is written back through the function's own + # ``int *count`` output. Allocate it, hide it from the public signature, + # and read the count back after the call. + count_name = csharp_param_name(length_meta["name"]) + pub = ", ".join( + f"{csharp_param_type(p['cType'], p['canonical'])} {csharp_param_name(p['name'])}" + for p in f["params"] if csharp_param_name(p["name"]) != count_name) + call_args = ", ".join( + "_cnt" if csharp_param_name(p["name"]) == count_name else csharp_param_name(p["name"]) + for p in f["params"]) + lines = [ + f" public static {ret_type} {name}({pub})", + " {", + " IntPtr _cnt = Marshal.AllocHGlobal(sizeof(int));", + " try", + " {", + f" IntPtr _p = SafeExecution(() => MEOSExternalFunctions.{name}({call_args}));", + " int _n = Marshal.ReadInt32(_cnt);", + ] + lines += _copy(" ") + lines += [ + " }", + " finally { Marshal.FreeHGlobal(_cnt); }", + " }", + ] return lines @@ -398,7 +425,7 @@ def gen_exposed_functions(funcs: list[dict]) -> str: emitted: list[str] = [] if "outputArrays" in shape: emitted = _emit_outputs_wrapper(f) - if not emitted and "arrayReturn" in shape and shape["arrayReturn"]["lengthFrom"]["kind"] == "accessor": + if not emitted and "arrayReturn" in shape and shape["arrayReturn"]["lengthFrom"]["kind"] in ("accessor", "param"): emitted = _emit_array_return_wrapper(f, ext_params, ext_args) if not emitted: emitted = _emit_simple_passthrough(f, ext_params, ext_args)