From e52bb9d984ce95807f25988986034881c353b8bf Mon Sep 17 00:00:00 2001 From: Esteban Zimanyi Date: Wed, 13 May 2026 11:37:53 +0200 Subject: [PATCH 1/6] Bump vendored MEOS headers to 1.3 and adapt CGO call sites Adopts the unified spatial nomenclature (tpoint_* renamed to tspatial_* / tgeo_* depending on signature), the meos_initialize() split that moves the timezone to a separate call, and the temporal_append_tinstant interpType parameter. cast.h gains stddef.h so size_t resolves on hosts that do not transitively include it via meos.h. --- cast.h | 2 + geo.go | 14 +- main_temporal.go | 2 +- main_tfloat.go | 6 +- main_tgeogpoint.go | 6 +- main_tgeompoint.go | 8 +- main_tnumber.go | 2 +- main_tpoint.go | 146 ++--- meos.h | 1208 +++++++++------------------------------- meos_catalog.h | 56 +- meos_geo.h | 1321 ++++++++++++++++++++++++++++++++++++++++++++ meos_init.go | 5 +- 12 files changed, 1723 insertions(+), 1053 deletions(-) create mode 100644 meos_geo.h diff --git a/cast.h b/cast.h index 802e6e8..c9f3552 100644 --- a/cast.h +++ b/cast.h @@ -17,7 +17,9 @@ #define gunion_spanset_spanset union_spanset_spanset +#include #include "meos.h" +#include "meos_geo.h" #include #include diff --git a/geo.go b/geo.go index 28323d1..b83fee2 100644 --- a/geo.go +++ b/geo.go @@ -17,7 +17,7 @@ type Geom struct { func NewGeom(geom_str string, typemod int) Geom { c_geom_str := C.CString(geom_str) defer C.free(unsafe.Pointer(c_geom_str)) - c_geom := C.pgis_geometry_in(c_geom_str, C.int(typemod)) + c_geom := C.geom_in(c_geom_str, C.int(typemod)) g := Geom{_inner: c_geom} return g } @@ -25,7 +25,7 @@ func NewGeom(geom_str string, typemod int) Geom { func PgisGeometryIn(input string, typemod int) *Geom { c_geom_str := C.CString(input) defer C.free(unsafe.Pointer(c_geom_str)) - c_geom := C.pgis_geometry_in(c_geom_str, C.int(typemod)) + c_geom := C.geom_in(c_geom_str, C.int(typemod)) g := &Geom{_inner: c_geom} return g } @@ -33,7 +33,7 @@ func PgisGeometryIn(input string, typemod int) *Geom { func PgisGeographyIn(input string, typemod int) *Geom { c_geom_str := C.CString(input) defer C.free(unsafe.Pointer(c_geom_str)) - c_geom := C.pgis_geography_in(c_geom_str, C.int(typemod)) + c_geom := C.geog_in(c_geom_str, C.int(typemod)) g := &Geom{_inner: c_geom} return g } @@ -41,7 +41,7 @@ func PgisGeographyIn(input string, typemod int) *Geom { func GeographyFromHexEwkb(input string) *Geom { c_geom_str := C.CString(input) defer C.free(unsafe.Pointer(c_geom_str)) - c_geom := C.geography_from_hexewkb(c_geom_str) + c_geom := C.geog_from_hexewkb(c_geom_str) g := &Geom{_inner: c_geom} return g } @@ -49,7 +49,7 @@ func GeographyFromHexEwkb(input string) *Geom { func GeometryFromHexEwkb(input string) *Geom { c_geom_str := C.CString(input) defer C.free(unsafe.Pointer(c_geom_str)) - c_geom := C.geometry_from_hexewkb(c_geom_str) + c_geom := C.geom_from_hexewkb(c_geom_str) g := &Geom{_inner: c_geom} return g } @@ -57,7 +57,7 @@ func GeometryFromHexEwkb(input string) *Geom { func GeographyFromText(input string, srid int) *Geom { c_geom_str := C.CString(input) defer C.free(unsafe.Pointer(c_geom_str)) - c_geom := C.geography_from_text(c_geom_str, C.int(srid)) + c_geom := C.geo_from_text(c_geom_str, C.int(srid)) g := &Geom{_inner: c_geom} return g } @@ -65,7 +65,7 @@ func GeographyFromText(input string, srid int) *Geom { func GeometryFromText(input string, srid int) *Geom { c_geom_str := C.CString(input) defer C.free(unsafe.Pointer(c_geom_str)) - c_geom := C.geometry_from_text(c_geom_str, C.int(srid)) + c_geom := C.geo_from_text(c_geom_str, C.int(srid)) g := &Geom{_inner: c_geom} return g } diff --git a/main_temporal.go b/main_temporal.go index 6f6f45d..4878330 100644 --- a/main_temporal.go +++ b/main_temporal.go @@ -242,7 +242,7 @@ func TemporalTPrecision[T Temporal](temp T, duration timeutil.Timedelta, start t // TemporalAppendTInstant Append an instant to a temporal value func TemporalAppendTInstant[T Temporal, TI TInstant](temp T, inst TI, max_dist float64, max_time timeutil.Timedelta, expand bool) Temporal { m := TimeDeltaToInterval(max_time) - res := C.temporal_append_tinstant(temp.Inner(), C.cast_temporal_to_tinstant(inst.Inner()), C.double(max_dist), &m, C.bool(expand)) + res := C.temporal_append_tinstant(temp.Inner(), C.cast_temporal_to_tinstant(inst.Inner()), C.interpType(C.INTERP_NONE), C.double(max_dist), &m, C.bool(expand)) return CreateTemporal(res) } diff --git a/main_tfloat.go b/main_tfloat.go index 536b36f..9ad63a1 100644 --- a/main_tfloat.go +++ b/main_tfloat.go @@ -376,7 +376,7 @@ func TFloatValueAtTimestamp[TF TFloat](tf TF, ts time.Time) float64 { // TFloatDerivative Return the derivative of a temporal number func TFloatDerivative[TF TFloat](tf TF) Temporal { - return CreateTemporal(C.tfloat_derivative(tf.Inner())) + return CreateTemporal(C.temporal_derivative(tf.Inner())) } // TFloatToDegrees Return a temporal number transformed from radians to degrees @@ -391,7 +391,7 @@ func TFloatToRadians[TF TFloat](tf TF) Temporal { // TFloatRound Return a temporal float with the precision of the values set to a number of decimal places func TFloatRound[TF TFloat](tf TF, max_decimals int) Temporal { - return CreateTemporal(C.tfloat_round(tf.Inner(), C.int(max_decimals))) + return CreateTemporal(C.temporal_round(tf.Inner(), C.int(max_decimals))) } // TFloatShiftValue Return a temporal integer whose value dimension is shifted by a value @@ -465,7 +465,7 @@ func DivFloatTFloat[TF TFloat](value float64, tf TF) Temporal { // DistanceTFloatFloat returns the temporal distance between a temporal float and a constant float. func DistanceTFloatFloat[TF TFloat](tf TF, value float64) Temporal { - c_temp := C.distance_tfloat_float(tf.Inner(), C.double(value)) + c_temp := C.tdistance_tfloat_float(tf.Inner(), C.double(value)) return CreateTemporal(c_temp) } diff --git a/main_tgeogpoint.go b/main_tgeogpoint.go index f7e2d16..bff3906 100644 --- a/main_tgeogpoint.go +++ b/main_tgeogpoint.go @@ -25,7 +25,7 @@ func NewTGeogPointInst(tgmpi_in string) *TGeogPointInst { } func (tgmpi *TGeogPointInst) TPointOut(maxdd int) string { - c_tgmpi_out := C.tpoint_as_text(tgmpi._inner, C.int(maxdd)) + c_tgmpi_out := C.tspatial_as_text(tgmpi._inner, C.int(maxdd)) defer C.free(unsafe.Pointer(c_tgmpi_out)) tgmpi_out := C.GoString(c_tgmpi_out) return tgmpi_out @@ -82,7 +82,7 @@ func NewTGeogPointSeq(tgmpi_in string) TGeogPointSeq { } func (tgmpi *TGeogPointSeq) TPointOut(maxdd int) string { - c_tgmpi_out := C.tpoint_as_text(tgmpi._inner, C.int(maxdd)) + c_tgmpi_out := C.tspatial_as_text(tgmpi._inner, C.int(maxdd)) defer C.free(unsafe.Pointer(c_tgmpi_out)) tgmpi_out := C.GoString(c_tgmpi_out) return tgmpi_out @@ -129,7 +129,7 @@ func NewTGeogPointSeqSet(tgmpi_in string) *TGeogPointSeqSet { } func (tgmpi *TGeogPointSeqSet) TPointOut(maxdd int) string { - c_tgmpi_out := C.tpoint_as_text(tgmpi._inner, C.int(maxdd)) + c_tgmpi_out := C.tspatial_as_text(tgmpi._inner, C.int(maxdd)) defer C.free(unsafe.Pointer(c_tgmpi_out)) tgmpi_out := C.GoString(c_tgmpi_out) return tgmpi_out diff --git a/main_tgeompoint.go b/main_tgeompoint.go index 0e77f56..e2ef7a9 100644 --- a/main_tgeompoint.go +++ b/main_tgeompoint.go @@ -31,14 +31,14 @@ func NewEmptyTGeomPointInst() TGeomPointInst { } func (tgmpi *TGeomPointInst) TPointOut(maxdd int) string { - c_tgmpi_out := C.tpoint_as_text(tgmpi._inner, C.int(maxdd)) + c_tgmpi_out := C.tspatial_as_text(tgmpi._inner, C.int(maxdd)) defer C.free(unsafe.Pointer(c_tgmpi_out)) tgmpi_out := C.GoString(c_tgmpi_out) return tgmpi_out } func (tgmpi *TGeomPointInst) TInstantOut(maxdd int) string { - c_tgmpi_out := C.tpoint_as_text(tgmpi._inner, C.int(maxdd)) + c_tgmpi_out := C.tspatial_as_text(tgmpi._inner, C.int(maxdd)) defer C.free(unsafe.Pointer(c_tgmpi_out)) tgmpi_out := C.GoString(c_tgmpi_out) return tgmpi_out @@ -93,7 +93,7 @@ func NewTGeomPointSeqFromWKB(tgmpi_in string) *TGeomPointSeq { } func (tgmpi *TGeomPointSeq) TPointOut(maxdd int) string { - c_tgmpi_out := C.tpoint_as_text(tgmpi._inner, C.int(maxdd)) + c_tgmpi_out := C.tspatial_as_text(tgmpi._inner, C.int(maxdd)) defer C.free(unsafe.Pointer(c_tgmpi_out)) tgmpi_out := C.GoString(c_tgmpi_out) return tgmpi_out @@ -144,7 +144,7 @@ func NewTGeomPointSeqSet(tgmpi_in string) *TGeomPointSeqSet { } func (tgmpi *TGeomPointSeqSet) TPointOut(maxdd int) string { - c_tgmpi_out := C.tpoint_as_text(tgmpi._inner, C.int(maxdd)) + c_tgmpi_out := C.tspatial_as_text(tgmpi._inner, C.int(maxdd)) defer C.free(unsafe.Pointer(c_tgmpi_out)) tgmpi_out := C.GoString(c_tgmpi_out) return tgmpi_out diff --git a/main_tnumber.go b/main_tnumber.go index ae6fc4c..27cf37e 100644 --- a/main_tnumber.go +++ b/main_tnumber.go @@ -159,7 +159,7 @@ func TNumberDeltaValue[TN TNumber](tn TN) Temporal { // DistanceTNumberTNumber returns the temporal distance between two temporal numbers. func DistanceTNumberTNumber[TN1 TNumber, TN2 TNumber](tn1 TN1, tn2 TN2) Temporal { - c_temp := C.distance_tnumber_tnumber(tn1.Inner(), tn2.Inner()) + c_temp := C.tdistance_tnumber_tnumber(tn1.Inner(), tn2.Inner()) return CreateTemporal(c_temp) } diff --git a/main_tpoint.go b/main_tpoint.go index 1fc45c6..7846442 100644 --- a/main_tpoint.go +++ b/main_tpoint.go @@ -15,7 +15,7 @@ import ( // TPointOut Return a temporal geometry/geography point from its Well-Known Text (WKT) representation func TPointOut[TP TPoint](tp TP, maxdd int) string { - c_point := C.tpoint_out(tp.Inner(), C.int(maxdd)) + c_point := C.tspatial_out(tp.Inner(), C.int(maxdd)) defer C.free(unsafe.Pointer(c_point)) point_out := C.GoString(c_point) return point_out @@ -23,7 +23,7 @@ func TPointOut[TP TPoint](tp TP, maxdd int) string { // TPointAsText Return the Well-Known Text (WKT) representation of a temporal point func TPointAsText[TP TPoint](tp TP, maxdd int) string { - c_text := C.tpoint_as_text(tp.Inner(), C.int(maxdd)) + c_text := C.tspatial_as_text(tp.Inner(), C.int(maxdd)) defer C.free(unsafe.Pointer(c_text)) text_out := C.GoString(c_text) return text_out @@ -31,7 +31,7 @@ func TPointAsText[TP TPoint](tp TP, maxdd int) string { // TPointAsEWKT Return the Extended Well-Known Text (EWKT) representation of a temporal point func TPointAsEWKT[T TPoint](temp T, maxdd int) string { - return C.GoString(C.tpoint_as_ewkt(temp.Inner(), C.int(maxdd))) + return C.GoString(C.tspatial_as_ewkt(temp.Inner(), C.int(maxdd))) } // TPointGeoAsEWKT Return the Extended Well-Known Text (EWKT) representation of the geometry of a temporal point @@ -50,19 +50,19 @@ func TPointAsGeoJson[TP TPoint](temp TP, option int, precision int, srs string) // TPointToSTBox Return a temporal point converted to a spatiotemporal box func TPointToSTBox[TP TPoint](tp TP) *STBox { - st_box := C.tpoint_to_stbox(tp.Inner()) + st_box := C.tspatial_to_stbox(tp.Inner()) return &STBox{_inner: st_box} } // TPointStartValue Return the start value of a temporal point func TPointStartValue[TP TPoint](tp TP) *Geom { - cValue := C.tpoint_start_value(tp.Inner()) + cValue := C.tgeo_start_value(tp.Inner()) return &Geom{_inner: cValue} } // TPointEndValue Return the end value of a temporal point func TPointEndValue[TP TPoint](tp TP) *Geom { - cValue := C.tpoint_end_value(tp.Inner()) + cValue := C.tgeo_end_value(tp.Inner()) return &Geom{_inner: cValue} } @@ -77,7 +77,7 @@ func TPointValueSet[TP TPoint](tp TP) ([]*Geom, error) { var count C.int // Call the C function - cValues := C.tpoint_values(tp.Inner(), &count) + cValues := C.tgeo_values(tp.Inner(), &count) if cValues == nil { return nil, fmt.Errorf("failed to retrieve tpoint values") } @@ -131,9 +131,10 @@ func TPointGetZ[TP TPoint](tp TP) Temporal { // TPointSTBoxes Return an array of spatiotemporal boxes from the segments of a temporal point func TPointSTBoxes[TP TPoint](tp TP, max_count int) ([]*STBox, error) { var count C.int + _ = max_count // Call the C function - cValues := C.tpoint_stboxes(tp.Inner(), C.int(max_count), &count) + cValues := C.tgeo_stboxes(tp.Inner(), &count) if cValues == nil { return nil, fmt.Errorf("failed to retrieve bool values") } @@ -186,26 +187,27 @@ func TPointTwcentroid[TP TPoint](tp TP) *Geom { // TPointSrid Return the SRID of a temporal point func TPointSrid[TP TPoint](tp TP) int { - return int(C.tpoint_srid(tp.Inner())) + return int(C.tspatial_srid(tp.Inner())) } // TPointSetSrid Return a temporal point with the coordinates set to an SRID func TPointSetSrid[TP TPoint](tp TP, srid int, output TP) TP { - c_temp := C.tpoint_set_srid(tp.Inner(), C.int(srid)) + c_temp := C.tspatial_set_srid(tp.Inner(), C.int(srid)) output.Init(c_temp) return output } // TPointRound Return a temporal point with the precision of the coordinates set to a number of decimal func TPointRound[TP TPoint](tp TP, max_decimals int) Temporal { - res := C.tpoint_round(tp.Inner(), C.int(max_decimals)) + res := C.temporal_round(tp.Inner(), C.int(max_decimals)) return CreateTemporal(res) } // TPointExpandSpace Return the bounding box of a temporal point expanded on the spatial dimension func TPointExpandSpace[TP TPoint](tp TP, other float64) *STBox { + box := C.tspatial_to_stbox(tp.Inner()) return &STBox{ - _inner: C.tpoint_expand_space(tp.Inner(), C.double(other)), + _inner: C.stbox_expand_space(box, C.double(other)), } } @@ -217,14 +219,14 @@ func TPointAtValue[TP TPoint](tp TP, value *Geom) Temporal { // TPointAtGeomTime Return a temporal point restricted to a geometry func TpointAtGeomTime[T Temporal](temp T, new_temp T, geom *Geom) T { - c_temp := C.tpoint_at_geom_time(temp.Inner(), geom._inner, nil, nil) + c_temp := C.tpoint_at_geom(temp.Inner(), geom._inner, nil) new_temp.Init(c_temp) return new_temp } // TPointAtStbox Return a temporal point restricted to a spatiotemporal box func TPointAtStbox[TP TPoint](tp TP, stbox *STBox, border_inc bool) Temporal { - res := C.tpoint_at_stbox(tp.Inner(), stbox._inner, C.bool(border_inc)) + res := C.tgeo_at_stbox(tp.Inner(), stbox._inner, C.bool(border_inc)) return CreateTemporal(res) } @@ -236,170 +238,170 @@ func TPointMinusValue[TP TPoint](tp TP, value *Geom) Temporal { // TPointMinusGeomTime Return a temporal point minus a geometry func TpointMinusGeomTime[T Temporal](temp T, new_temp T, geom *Geom) T { - c_temp := C.tpoint_minus_geom_time(temp.Inner(), geom._inner, nil, nil) + c_temp := C.tpoint_minus_geom(temp.Inner(), geom._inner, nil) new_temp.Init(c_temp) return new_temp } // TPointMinusStbox Return a temporal point minus a spatiotemporal box func TPointMinusStbox[TP TPoint](tp TP, stbox *STBox, border_inc bool) Temporal { - res := C.tpoint_minus_stbox(tp.Inner(), stbox._inner, C.bool(border_inc)) + res := C.tgeo_minus_stbox(tp.Inner(), stbox._inner, C.bool(border_inc)) return CreateTemporal(res) } // LeftTPointTPoint Return true if a temporal point is to the left of a spatiotemporal box func LeftTPointTPoint[TP1 TPoint, TP2 TPoint](tp1 TP1, tp2 TP2) bool { - return bool(C.left_tpoint_tpoint(tp1.Inner(), tp2.Inner())) + return bool(C.left_tspatial_tspatial(tp1.Inner(), tp2.Inner())) } // LeftTPointSTBox Return true if the first temporal point is to the left of the second one func LeftTPointSTBox[TP TPoint](tp TP, stbox *STBox) bool { - return bool(C.left_tpoint_stbox(tp.Inner(), stbox._inner)) + return bool(C.left_tspatial_stbox(tp.Inner(), stbox._inner)) } // OverleftTPointSTBox returns true if a temporal point is overleft of a spatiotemporal box. func OverleftTPointSTBox[TP TPoint](tp TP, stbox *STBox) bool { - return bool(C.overleft_tpoint_stbox(tp.Inner(), stbox._inner)) + return bool(C.overleft_tspatial_stbox(tp.Inner(), stbox._inner)) } // OverleftTPointTPoint returns true if the first temporal point is overleft of the second temporal point. func OverleftTPointTPoint[TP1 TPoint, TP2 TPoint](tp1 TP1, tp2 TP2) bool { - return bool(C.overleft_tpoint_tpoint(tp1.Inner(), tp2.Inner())) + return bool(C.overleft_tspatial_tspatial(tp1.Inner(), tp2.Inner())) } // RightTPointSTBox returns true if a temporal point is to the right of a spatiotemporal box. func RightTPointSTBox[TP TPoint](tp TP, stbox *STBox) bool { - return bool(C.right_tpoint_stbox(tp.Inner(), stbox._inner)) + return bool(C.right_tspatial_stbox(tp.Inner(), stbox._inner)) } // RightTPointTPoint returns true if the first temporal point is to the right of the second temporal point. func RightTPointTPoint[TP1 TPoint, TP2 TPoint](tp1 TP1, tp2 TP2) bool { - return bool(C.right_tpoint_tpoint(tp1.Inner(), tp2.Inner())) + return bool(C.right_tspatial_tspatial(tp1.Inner(), tp2.Inner())) } // OverrightTPointSTBox returns true if a temporal point is overright of a spatiotemporal box. func OverrightTPointSTBox[TP TPoint](tp TP, stbox *STBox) bool { - return bool(C.overright_tpoint_stbox(tp.Inner(), stbox._inner)) + return bool(C.overright_tspatial_stbox(tp.Inner(), stbox._inner)) } // OverrightTPointTPoint returns true if the first temporal point is overright of the second temporal point. func OverrightTPointTPoint[TP1 TPoint, TP2 TPoint](tp1 TP1, tp2 TP2) bool { - return bool(C.overright_tpoint_tpoint(tp1.Inner(), tp2.Inner())) + return bool(C.overright_tspatial_tspatial(tp1.Inner(), tp2.Inner())) } // BelowTPointSTBox returns true if a temporal point is below a spatiotemporal box. func BelowTPointSTBox[TP TPoint](tp TP, stbox *STBox) bool { - return bool(C.below_tpoint_stbox(tp.Inner(), stbox._inner)) + return bool(C.below_tspatial_stbox(tp.Inner(), stbox._inner)) } // BelowTPointTPoint returns true if the first temporal point is below the second temporal point. func BelowTPointTPoint[TP1 TPoint, TP2 TPoint](tp1 TP1, tp2 TP2) bool { - return bool(C.below_tpoint_tpoint(tp1.Inner(), tp2.Inner())) + return bool(C.below_tspatial_tspatial(tp1.Inner(), tp2.Inner())) } // OverbelowTPointSTBox returns true if a temporal point is overbelow a spatiotemporal box. func OverbelowTPointSTBox[TP TPoint](tp TP, stbox *STBox) bool { - return bool(C.overbelow_tpoint_stbox(tp.Inner(), stbox._inner)) + return bool(C.overbelow_tspatial_stbox(tp.Inner(), stbox._inner)) } // OverbelowTPointTPoint returns true if the first temporal point is overbelow the second temporal point. func OverbelowTPointTPoint[TP1 TPoint, TP2 TPoint](tp1 TP1, tp2 TP2) bool { - return bool(C.overbelow_tpoint_tpoint(tp1.Inner(), tp2.Inner())) + return bool(C.overbelow_tspatial_tspatial(tp1.Inner(), tp2.Inner())) } // AboveTPointSTBox returns true if a temporal point is above a spatiotemporal box. func AboveTPointSTBox[TP TPoint](tp TP, stbox *STBox) bool { - return bool(C.above_tpoint_stbox(tp.Inner(), stbox._inner)) + return bool(C.above_tspatial_stbox(tp.Inner(), stbox._inner)) } // AboveTPointTPoint returns true if the first temporal point is above the second temporal point. func AboveTPointTPoint[TP1 TPoint, TP2 TPoint](tp1 TP1, tp2 TP2) bool { - return bool(C.above_tpoint_tpoint(tp1.Inner(), tp2.Inner())) + return bool(C.above_tspatial_tspatial(tp1.Inner(), tp2.Inner())) } // OveraboveTPointSTBox returns true if a temporal point is overabove a spatiotemporal box. func OveraboveTPointSTBox[TP TPoint](tp TP, stbox *STBox) bool { - return bool(C.overabove_tpoint_stbox(tp.Inner(), stbox._inner)) + return bool(C.overabove_tspatial_stbox(tp.Inner(), stbox._inner)) } // OveraboveTPointTPoint returns true if the first temporal point is overabove the second temporal point. func OveraboveTPointTPoint[TP1 TPoint, TP2 TPoint](tp1 TP1, tp2 TP2) bool { - return bool(C.overabove_tpoint_tpoint(tp1.Inner(), tp2.Inner())) + return bool(C.overabove_tspatial_tspatial(tp1.Inner(), tp2.Inner())) } // FrontTPointSTBox returns true if a temporal point is in front of a spatiotemporal box. func FrontTPointSTBox[TP TPoint](tp TP, stbox *STBox) bool { - return bool(C.front_tpoint_stbox(tp.Inner(), stbox._inner)) + return bool(C.front_tspatial_stbox(tp.Inner(), stbox._inner)) } // FrontTPointTPoint returns true if the first temporal point is in front of the second temporal point. func FrontTPointTPoint[TP1 TPoint, TP2 TPoint](tp1 TP1, tp2 TP2) bool { - return bool(C.front_tpoint_tpoint(tp1.Inner(), tp2.Inner())) + return bool(C.front_tspatial_tspatial(tp1.Inner(), tp2.Inner())) } // OverfrontTPointSTBox returns true if a temporal point is overfront of a spatiotemporal box. func OverfrontTPointSTBox[TP TPoint](tp TP, stbox *STBox) bool { - return bool(C.overfront_tpoint_stbox(tp.Inner(), stbox._inner)) + return bool(C.overfront_tspatial_stbox(tp.Inner(), stbox._inner)) } // OverfrontTPointTPoint returns true if the first temporal point is overfront of the second temporal point. func OverfrontTPointTPoint[TP1 TPoint, TP2 TPoint](tp1 TP1, tp2 TP2) bool { - return bool(C.overfront_tpoint_tpoint(tp1.Inner(), tp2.Inner())) + return bool(C.overfront_tspatial_tspatial(tp1.Inner(), tp2.Inner())) } // BackTPointSTBox returns true if a temporal point is behind a spatiotemporal box. func BackTPointSTBox[TP TPoint](tp TP, stbox *STBox) bool { - return bool(C.back_tpoint_stbox(tp.Inner(), stbox._inner)) + return bool(C.back_tspatial_stbox(tp.Inner(), stbox._inner)) } // BackTPointTPoint returns true if the first temporal point is behind the second temporal point. func BackTPointTPoint[TP1 TPoint, TP2 TPoint](tp1 TP1, tp2 TP2) bool { - return bool(C.back_tpoint_tpoint(tp1.Inner(), tp2.Inner())) + return bool(C.back_tspatial_tspatial(tp1.Inner(), tp2.Inner())) } // OverbackTPointSTBox returns true if a temporal point is overback of a spatiotemporal box. func OverbackTPointSTBox[TP TPoint](tp TP, stbox *STBox) bool { - return bool(C.overback_tpoint_stbox(tp.Inner(), stbox._inner)) + return bool(C.overback_tspatial_stbox(tp.Inner(), stbox._inner)) } // OverbackTPointTPoint returns true if the first temporal point is overback of the second temporal point. func OverbackTPointTPoint[TP1 TPoint, TP2 TPoint](tp1 TP1, tp2 TP2) bool { - return bool(C.overback_tpoint_tpoint(tp1.Inner(), tp2.Inner())) + return bool(C.overback_tspatial_tspatial(tp1.Inner(), tp2.Inner())) } // AlwaysContainsGeoTPoint returns true if the geometry contains the temporal point. func AlwaysContainsGeoTPoint(gs *Geom, temp Temporal) bool { - return int(C.acontains_geo_tpoint(gs._inner, temp.Inner())) > 0 + return int(C.acontains_geo_tgeo(gs._inner, temp.Inner())) > 0 } // AlwaysDisjointTPointGeo returns true if the temporal point is disjoint from the geometry. func AlwaysDisjointTPointGeo(temp Temporal, gs *Geom) bool { - return int(C.adisjoint_tpoint_geo(temp.Inner(), gs._inner)) > 0 + return int(C.adisjoint_tgeo_geo(temp.Inner(), gs._inner)) > 0 } // AlwaysDisjointTPointTPoint returns true if the two temporal points are disjoint. func AlwaysDisjointTPointTPoint(temp1, temp2 Temporal) bool { - return int(C.adisjoint_tpoint_tpoint(temp1.Inner(), temp2.Inner())) > 0 + return int(C.adisjoint_tgeo_tgeo(temp1.Inner(), temp2.Inner())) > 0 } // AlwaysDWithinTPointGeo returns true if the temporal point is within the specified distance of the geometry. func AlwaysDWithinTPointGeo(temp Temporal, gs *Geom, dist float64) bool { - return int(C.adwithin_tpoint_geo(temp.Inner(), gs._inner, C.double(dist))) > 0 + return int(C.adwithin_tgeo_geo(temp.Inner(), gs._inner, C.double(dist))) > 0 } // AlwaysDWithinTPointTPoint returns true if the two temporal points are within the specified distance. func AlwaysDWithinTPointTPoint(temp1, temp2 Temporal, dist float64) bool { - return int(C.adwithin_tpoint_tpoint(temp1.Inner(), temp2.Inner(), C.double(dist))) > 0 + return int(C.adwithin_tgeo_tgeo(temp1.Inner(), temp2.Inner(), C.double(dist))) > 0 } // AlwaysIntersectsTPointGeo returns true if the temporal point intersects the geometry. func AlwaysIntersectsTPointGeo(temp Temporal, gs *Geom) bool { - return int(C.aintersects_tpoint_geo(temp.Inner(), gs._inner)) > 0 + return int(C.aintersects_tgeo_geo(temp.Inner(), gs._inner)) > 0 } // AlwaysIntersectsTPointTPoint returns true if the two temporal points intersect. func AlwaysIntersectsTPointTPoint(temp1, temp2 Temporal) bool { - return int(C.aintersects_tpoint_tpoint(temp1.Inner(), temp2.Inner())) > 0 + return int(C.aintersects_tgeo_tgeo(temp1.Inner(), temp2.Inner())) > 0 } // AlwaysTouchesTPointGeo returns true if the two temporal points touch. @@ -408,31 +410,31 @@ func AlwaysTouchesTPointGeo(temp Temporal, gs *Geom) bool { } func EverContainsGeoTPoint(gs *Geom, temp Temporal) bool { - return int(C.econtains_geo_tpoint(gs._inner, temp.Inner())) > 0 + return int(C.econtains_geo_tgeo(gs._inner, temp.Inner())) > 0 } func EverDisjointTPointGeo(temp Temporal, gs *Geom) bool { - return int(C.edisjoint_tpoint_geo(temp.Inner(), gs._inner)) > 0 + return int(C.edisjoint_tgeo_geo(temp.Inner(), gs._inner)) > 0 } func EverDisjointTPointTPoint(temp1, temp2 Temporal) bool { - return int(C.edisjoint_tpoint_tpoint(temp1.Inner(), temp2.Inner())) > 0 + return int(C.edisjoint_tgeo_tgeo(temp1.Inner(), temp2.Inner())) > 0 } func EverDWithinTPointGeo(temp Temporal, gs *Geom, dist float64) bool { - return int(C.edwithin_tpoint_geo(temp.Inner(), gs._inner, C.double(dist))) > 0 + return int(C.edwithin_tgeo_geo(temp.Inner(), gs._inner, C.double(dist))) > 0 } func EverDWithinTPointTPoint(temp1, temp2 Temporal, dist float64) bool { - return int(C.edwithin_tpoint_tpoint(temp1.Inner(), temp2.Inner(), C.double(dist))) > 0 + return int(C.edwithin_tgeo_tgeo(temp1.Inner(), temp2.Inner(), C.double(dist))) > 0 } func EverIntersectsTPointGeo(temp Temporal, gs *Geom) bool { - return int(C.eintersects_tpoint_geo(temp.Inner(), gs._inner)) > 0 + return int(C.eintersects_tgeo_geo(temp.Inner(), gs._inner)) > 0 } func EverIntersectsTPointTPoint(temp1, temp2 Temporal) bool { - return int(C.eintersects_tpoint_tpoint(temp1.Inner(), temp2.Inner())) > 0 + return int(C.eintersects_tgeo_tgeo(temp1.Inner(), temp2.Inner())) > 0 } func EverTouchesTPointGeo(temp Temporal, gs *Geom) bool { @@ -440,90 +442,90 @@ func EverTouchesTPointGeo(temp Temporal, gs *Geom) bool { } func AlwaysEqTPointPoint(temp Temporal, gs *Geom) bool { - return int(C.always_eq_tpoint_point(temp.Inner(), gs._inner)) > 0 + return int(C.always_eq_tgeo_geo(temp.Inner(), gs._inner)) > 0 } func AlwaysNeTPointPoint(temp Temporal, gs *Geom) bool { - return int(C.always_ne_tpoint_point(temp.Inner(), gs._inner)) > 0 + return int(C.always_ne_tgeo_geo(temp.Inner(), gs._inner)) > 0 } func EverEqTPointPoint(temp Temporal, gs *Geom) bool { - return int(C.ever_eq_tpoint_point(temp.Inner(), gs._inner)) > 0 + return int(C.ever_eq_tgeo_geo(temp.Inner(), gs._inner)) > 0 } func EverNeTPointPoint(temp Temporal, gs *Geom) bool { - return int(C.ever_ne_tpoint_point(temp.Inner(), gs._inner)) > 0 + return int(C.ever_ne_tgeo_geo(temp.Inner(), gs._inner)) > 0 } func TContainsGeoTPoint[TP TPoint](gs *Geom, temp TP, restr, atvalue bool) Temporal { - res := C.tcontains_geo_tpoint(gs._inner, temp.Inner(), C.bool(restr), C.bool(atvalue)) + res := C.tcontains_geo_tgeo(gs._inner, temp.Inner(), C.bool(restr), C.bool(atvalue)) return CreateTemporal(res) } func TDisjointTPointGeo[TP TPoint](temp TP, gs *Geom, restr, atvalue bool) Temporal { - res := C.tdisjoint_tpoint_geo(temp.Inner(), gs._inner, C.bool(restr), C.bool(atvalue)) + res := C.tdisjoint_tgeo_geo(temp.Inner(), gs._inner, C.bool(restr), C.bool(atvalue)) return CreateTemporal(res) } func TDisjointTPointTPoint[TP1 TPoint, TP2 TPoint](temp1 TP1, temp2 TP2, restr, atvalue bool) Temporal { - res := C.tdisjoint_tpoint_tpoint(temp1.Inner(), temp2.Inner(), C.bool(restr), C.bool(atvalue)) + res := C.tdisjoint_tgeo_tgeo(temp1.Inner(), temp2.Inner(), C.bool(restr), C.bool(atvalue)) return CreateTemporal(res) } func TDWithinTPointGeo[TP TPoint](temp TP, gs *Geom, dist float64, restr, atvalue bool) Temporal { - res := C.tdwithin_tpoint_geo(temp.Inner(), gs._inner, C.double(dist), C.bool(restr), C.bool(atvalue)) + res := C.tdwithin_tgeo_geo(temp.Inner(), gs._inner, C.double(dist), C.bool(restr), C.bool(atvalue)) return CreateTemporal(res) } func TDWithinTPointTPoint[TP1 TPoint, TP2 TPoint](temp1 TP1, temp2 TP2, dist float64, restr, atvalue bool) Temporal { - res := C.tdwithin_tpoint_tpoint(temp1.Inner(), temp2.Inner(), C.double(dist), C.bool(restr), C.bool(atvalue)) + res := C.tdwithin_tgeo_tgeo(temp1.Inner(), temp2.Inner(), C.double(dist), C.bool(restr), C.bool(atvalue)) return CreateTemporal(res) } func TIntersectsTPointGeo[TP TPoint](temp TP, gs *Geom, restr, atvalue bool) Temporal { - res := C.tintersects_tpoint_geo(temp.Inner(), gs._inner, C.bool(restr), C.bool(atvalue)) + res := C.tintersects_tgeo_geo(temp.Inner(), gs._inner, C.bool(restr), C.bool(atvalue)) return CreateTemporal(res) } func TIntersectsTPointTPoint[TP1 TPoint, TP2 TPoint](temp1 TP1, temp2 TP2, restr, atvalue bool) Temporal { - res := C.tintersects_tpoint_tpoint(temp1.Inner(), temp2.Inner(), C.bool(restr), C.bool(atvalue)) + res := C.tintersects_tgeo_tgeo(temp1.Inner(), temp2.Inner(), C.bool(restr), C.bool(atvalue)) return CreateTemporal(res) } func TTouchesTPointGeo[TP TPoint](temp TP, gs *Geom, restr, atvalue bool) Temporal { - res := C.ttouches_tpoint_geo(temp.Inner(), gs._inner, C.bool(restr), C.bool(atvalue)) + res := C.ttouches_tgeo_geo(temp.Inner(), gs._inner, C.bool(restr), C.bool(atvalue)) return CreateTemporal(res) } func DistanceTPointPoint[TP TPoint](temp TP, gs *Geom) Temporal { - res := C.distance_tpoint_point(temp.Inner(), gs._inner) + res := C.tdistance_tgeo_geo(temp.Inner(), gs._inner) return CreateTemporal(res) } func DistanceTPointTPoint[TP1 TPoint, TP2 TPoint](temp1 TP1, temp2 TP2) Temporal { - res := C.distance_tpoint_tpoint(temp1.Inner(), temp2.Inner()) + res := C.tdistance_tgeo_tgeo(temp1.Inner(), temp2.Inner()) return CreateTemporal(res) } func TEqTPointPoint[TP TPoint](temp TP, gs *Geom) Temporal { - res := C.teq_tpoint_point(temp.Inner(), gs._inner) + res := C.teq_tgeo_geo(temp.Inner(), gs._inner) return CreateTemporal(res) } func TNeTPointPoint[TP TPoint](temp TP, gs *Geom) Temporal { - res := C.tne_tpoint_point(temp.Inner(), gs._inner) + res := C.tne_tgeo_geo(temp.Inner(), gs._inner) return CreateTemporal(res) } // TPointTransform Return a temporal point transformed to another SRID func TPointTransform[T TPoint](temp T, output T, srid_to int) T { - c_temp := C.tpoint_transform(temp.Inner(), C.int(srid_to)) + c_temp := C.tspatial_transform(temp.Inner(), C.int(srid_to)) output.Init(c_temp) return output } // TPointTrajectory Return the trajectory of a temporal point func TPointTrajectory[TP TPoint](tp TP) *Geom { - trajectory := C.tpoint_trajectory(tp.Inner()) + trajectory := C.tpoint_trajectory(tp.Inner(), C.bool(false)) return &Geom{_inner: trajectory} } diff --git a/meos.h b/meos.h index b200a19..9eff516 100644 --- a/meos.h +++ b/meos.h @@ -1,12 +1,12 @@ /***************************************************************************** * * This MobilityDB code is provided under The PostgreSQL License. - * Copyright (c) 2016-2024, Université libre de Bruxelles and MobilityDB + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB * contributors * * MobilityDB includes portions of PostGIS version 3 source code released * under the GNU General Public License (GPLv2 or later). - * Copyright (c) 2001-2024, PostGIS contributors + * Copyright (c) 2001-2025, PostGIS contributors * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose, without fee, and without a written @@ -28,7 +28,8 @@ *****************************************************************************/ /** - * @brief API of the Mobility Engine Open Source (MEOS) library. + * @file + * @brief External API of the Mobility Engine Open Source (MEOS) library */ #ifndef __MEOS_H__ @@ -37,7 +38,6 @@ /* C */ #include #include -#include /* PostgreSQL */ #ifndef POSTGRES_H #define POSTGRES_H @@ -80,429 +80,21 @@ typedef struct varlena typedef varlena text; typedef struct varlena bytea; -#endif /* POSTGRES_H */ +/* The following functions have the same name as external PostgreSQL functions */ -/* PostGIS */ -#ifndef _LIBLWGEOM_H -#define _LIBLWGEOM_H +extern DateADT date_in(const char *str); +extern char *date_out(DateADT d); +extern int interval_cmp(const Interval *interv1, const Interval *interv2); +extern Interval *interval_in(const char *str, int32 typmod); +extern char *interval_out(const Interval *interv); +extern TimeADT time_in(const char *str, int32 typmod); +extern char *time_out(TimeADT t); +extern Timestamp timestamp_in(const char *str, int32 typmod); +extern char *timestamp_out(Timestamp t); +extern TimestampTz timestamptz_in(const char *str, int32 typmod); +extern char *timestamptz_out(TimestampTz t); -/******************************************************************/ - -/** -* Macros for manipulating the 'flags' byte. A uint8_t used as follows: -* VVSRGBMZ -* Version bit, followed by -* Validty, Solid, ReadOnly, Geodetic, HasBBox, HasM and HasZ flags. -*/ -#define LWFLAG_Z 0x01 -#define LWFLAG_M 0x02 -#define LWFLAG_BBOX 0x04 -#define LWFLAG_GEODETIC 0x08 -#define LWFLAG_READONLY 0x10 -#define LWFLAG_SOLID 0x20 - -#define FLAGS_GET_Z(flags) ((flags) & LWFLAG_Z) -#define FLAGS_GET_M(flags) (((flags) & LWFLAG_M)>>1) -#define FLAGS_GET_BBOX(flags) (((flags) & LWFLAG_BBOX)>>2) -#define FLAGS_GET_GEODETIC(flags) (((flags) & LWFLAG_GEODETIC)>>3) -#define FLAGS_GET_READONLY(flags) (((flags) & LWFLAG_READONLY)>>4) -#define FLAGS_GET_SOLID(flags) (((flags) & LWFLAG_SOLID)>>5) - -#define FLAGS_SET_Z(flags, value) ((flags) = (value) ? ((flags) | LWFLAG_Z) : ((flags) & ~LWFLAG_Z)) -#define FLAGS_SET_M(flags, value) ((flags) = (value) ? ((flags) | LWFLAG_M) : ((flags) & ~LWFLAG_M)) -#define FLAGS_SET_BBOX(flags, value) ((flags) = (value) ? ((flags) | LWFLAG_BBOX) : ((flags) & ~LWFLAG_BBOX)) -#define FLAGS_SET_GEODETIC(flags, value) ((flags) = (value) ? ((flags) | LWFLAG_GEODETIC) : ((flags) & ~LWFLAG_GEODETIC)) -#define FLAGS_SET_READONLY(flags, value) ((flags) = (value) ? ((flags) | LWFLAG_READONLY) : ((flags) & ~LWFLAG_READONLY)) -#define FLAGS_SET_SOLID(flags, value) ((flags) = (value) ? ((flags) | LWFLAG_SOLID) : ((flags) & ~LWFLAG_SOLID)) - -#define FLAGS_NDIMS(flags) (2 + FLAGS_GET_Z(flags) + FLAGS_GET_M(flags)) -#define FLAGS_GET_ZM(flags) (FLAGS_GET_M(flags) + FLAGS_GET_Z(flags) * 2) -#define FLAGS_NDIMS_BOX(flags) (FLAGS_GET_GEODETIC(flags) ? 3 : FLAGS_NDIMS(flags)) - -/* -** Variants available for WKB and WKT output types -*/ - -#define WKB_ISO 0x01 -#define WKB_SFSQL 0x02 -#define WKB_EXTENDED 0x04 -#define WKB_NDR 0x08 -#define WKB_XDR 0x10 -#define WKB_HEX 0x20 -#define WKB_NO_NPOINTS 0x40 /* Internal use only */ -#define WKB_NO_SRID 0x80 /* Internal use only */ - -#define WKT_ISO 0x01 -#define WKT_SFSQL 0x02 -#define WKT_EXTENDED 0x04 - -typedef uint16_t lwflags_t; - -/******************************************************************/ - -typedef struct { - double afac, bfac, cfac, dfac, efac, ffac, gfac, hfac, ifac, xoff, yoff, zoff; -} AFFINE; - -/******************************************************************/ - -typedef struct -{ - double xmin, ymin, zmin; - double xmax, ymax, zmax; - int32_t srid; -} -BOX3D; - -/****************************************************************** -* GBOX structure. -* We include the flags (information about dimensionality), -* so we don't have to constantly pass them -* into functions that use the GBOX. -*/ -typedef struct -{ - lwflags_t flags; - double xmin; - double xmax; - double ymin; - double ymax; - double zmin; - double zmax; - double mmin; - double mmax; -} GBOX; - - -/****************************************************************** -* SPHEROID -* -* Standard definition of an ellipsoid (what wkt calls a spheroid) -* f = (a-b)/a -* e_sq = (a*a - b*b)/(a*a) -* b = a - fa -*/ -typedef struct -{ - double a; /* semimajor axis */ - double b; /* semiminor axis b = (a - fa) */ - double f; /* flattening f = (a-b)/a */ - double e; /* eccentricity (first) */ - double e_sq; /* eccentricity squared (first) e_sq = (a*a-b*b)/(a*a) */ - double radius; /* spherical average radius = (2*a+b)/3 */ - char name[20]; /* name of ellipse */ -} -SPHEROID; - -/****************************************************************** -* POINT2D, POINT3D, POINT3DM, POINT4D -*/ -typedef struct -{ - double x, y; -} -POINT2D; - -typedef struct -{ - double x, y, z; -} -POINT3DZ; - -typedef struct -{ - double x, y, z; -} -POINT3D; - -typedef struct -{ - double x, y, m; -} -POINT3DM; - -typedef struct -{ - double x, y, z, m; -} -POINT4D; - -/****************************************************************** -* POINTARRAY -* Point array abstracts a lot of the complexity of points and point lists. -* It handles 2d/3d translation -* (2d points converted to 3d will have z=0 or NaN) -* DO NOT MIX 2D and 3D POINTS! EVERYTHING* is either one or the other -*/ -typedef struct -{ - uint32_t npoints; /* how many points we are currently storing */ - uint32_t maxpoints; /* how many points we have space for in serialized_pointlist */ - - /* Use FLAGS_* macros to handle */ - lwflags_t flags; - - /* Array of POINT 2D, 3D or 4D, possibly misaligned. */ - uint8_t *serialized_pointlist; -} -POINTARRAY; - -/****************************************************************** -* GSERIALIZED -*/ - -typedef struct -{ - uint32_t size; /* For PgSQL use only, use VAR* macros to manipulate. */ - uint8_t srid[3]; /* 24 bits of SRID */ - uint8_t gflags; /* HasZ, HasM, HasBBox, IsGeodetic */ - uint8_t data[1]; /* See gserialized.txt */ -} GSERIALIZED; - -/****************************************************************** -* LWGEOM (any geometry type) -* -* Abstract type, note that 'type', 'bbox' and 'srid' are available in -* all geometry variants. -*/ -typedef struct -{ - GBOX *bbox; - void *data; - int32_t srid; - lwflags_t flags; - uint8_t type; - char pad[1]; /* Padding to 24 bytes (unused) */ -} -LWGEOM; - -/* POINTYPE */ -typedef struct -{ - GBOX *bbox; - POINTARRAY *point; /* hide 2d/3d (this will be an array of 1 point) */ - int32_t srid; - lwflags_t flags; - uint8_t type; /* POINTTYPE */ - char pad[1]; /* Padding to 24 bytes (unused) */ -} -LWPOINT; /* "light-weight point" */ - -/* LINETYPE */ -typedef struct -{ - GBOX *bbox; - POINTARRAY *points; /* array of POINT3D */ - int32_t srid; - lwflags_t flags; - uint8_t type; /* LINETYPE */ - char pad[1]; /* Padding to 24 bytes (unused) */ -} -LWLINE; /* "light-weight line" */ - -/* TRIANGLE */ -typedef struct -{ - GBOX *bbox; - POINTARRAY *points; - int32_t srid; - lwflags_t flags; - uint8_t type; - char pad[1]; /* Padding to 24 bytes (unused) */ -} -LWTRIANGLE; - -/* CIRCSTRINGTYPE */ -typedef struct -{ - GBOX *bbox; - POINTARRAY *points; /* array of POINT(3D/3DM) */ - int32_t srid; - lwflags_t flags; - uint8_t type; /* CIRCSTRINGTYPE */ - char pad[1]; /* Padding to 24 bytes (unused) */ -} -LWCIRCSTRING; /* "light-weight circularstring" */ - -/* POLYGONTYPE */ -typedef struct -{ - GBOX *bbox; - POINTARRAY **rings; /* list of rings (list of points) */ - int32_t srid; - lwflags_t flags; - uint8_t type; /* POLYGONTYPE */ - char pad[1]; /* Padding to 24 bytes (unused) */ - uint32_t nrings; /* how many rings we are currently storing */ - uint32_t maxrings; /* how many rings we have space for in **rings */ -} -LWPOLY; /* "light-weight polygon" */ - -/* MULTIPOINTTYPE */ -typedef struct -{ - GBOX *bbox; - LWPOINT **geoms; - int32_t srid; - lwflags_t flags; - uint8_t type; /* MULTYPOINTTYPE */ - char pad[1]; /* Padding to 24 bytes (unused) */ - uint32_t ngeoms; /* how many geometries we are currently storing */ - uint32_t maxgeoms; /* how many geometries we have space for in **geoms */ -} -LWMPOINT; - -/* MULTILINETYPE */ -typedef struct -{ - GBOX *bbox; - LWLINE **geoms; - int32_t srid; - lwflags_t flags; - uint8_t type; /* MULTILINETYPE */ - char pad[1]; /* Padding to 24 bytes (unused) */ - uint32_t ngeoms; /* how many geometries we are currently storing */ - uint32_t maxgeoms; /* how many geometries we have space for in **geoms */ -} -LWMLINE; - -/* MULTIPOLYGONTYPE */ -typedef struct -{ - GBOX *bbox; - LWPOLY **geoms; - int32_t srid; - lwflags_t flags; - uint8_t type; /* MULTIPOLYGONTYPE */ - char pad[1]; /* Padding to 24 bytes (unused) */ - uint32_t ngeoms; /* how many geometries we are currently storing */ - uint32_t maxgeoms; /* how many geometries we have space for in **geoms */ -} -LWMPOLY; - -/* COLLECTIONTYPE */ -typedef struct -{ - GBOX *bbox; - LWGEOM **geoms; - int32_t srid; - lwflags_t flags; - uint8_t type; /* COLLECTIONTYPE */ - char pad[1]; /* Padding to 24 bytes (unused) */ - uint32_t ngeoms; /* how many geometries we are currently storing */ - uint32_t maxgeoms; /* how many geometries we have space for in **geoms */ -} -LWCOLLECTION; - -/* COMPOUNDTYPE */ -typedef struct -{ - GBOX *bbox; - LWGEOM **geoms; - int32_t srid; - lwflags_t flags; - uint8_t type; /* COLLECTIONTYPE */ - char pad[1]; /* Padding to 24 bytes (unused) */ - uint32_t ngeoms; /* how many geometries we are currently storing */ - uint32_t maxgeoms; /* how many geometries we have space for in **geoms */ -} -LWCOMPOUND; /* "light-weight compound line" */ - -/* CURVEPOLYTYPE */ -typedef struct -{ - GBOX *bbox; - LWGEOM **rings; - int32_t srid; - lwflags_t flags; - uint8_t type; /* CURVEPOLYTYPE */ - char pad[1]; /* Padding to 24 bytes (unused) */ - uint32_t nrings; /* how many rings we are currently storing */ - uint32_t maxrings; /* how many rings we have space for in **rings */ -} -LWCURVEPOLY; /* "light-weight polygon" */ - -/* MULTICURVE */ -typedef struct -{ - GBOX *bbox; - LWGEOM **geoms; - int32_t srid; - lwflags_t flags; - uint8_t type; /* MULTICURVE */ - char pad[1]; /* Padding to 24 bytes (unused) */ - uint32_t ngeoms; /* how many geometries we are currently storing */ - uint32_t maxgeoms; /* how many geometries we have space for in **geoms */ -} -LWMCURVE; - -/* MULTISURFACETYPE */ -typedef struct -{ - GBOX *bbox; - LWGEOM **geoms; - int32_t srid; - lwflags_t flags; - uint8_t type; /* MULTISURFACETYPE */ - char pad[1]; /* Padding to 24 bytes (unused) */ - uint32_t ngeoms; /* how many geometries we are currently storing */ - uint32_t maxgeoms; /* how many geometries we have space for in **geoms */ -} -LWMSURFACE; - -/* POLYHEDRALSURFACETYPE */ -typedef struct -{ - GBOX *bbox; - LWPOLY **geoms; - int32_t srid; - lwflags_t flags; - uint8_t type; /* POLYHEDRALSURFACETYPE */ - char pad[1]; /* Padding to 24 bytes (unused) */ - uint32_t ngeoms; /* how many geometries we are currently storing */ - uint32_t maxgeoms; /* how many geometries we have space for in **geoms */ -} -LWPSURFACE; - -/* TINTYPE */ -typedef struct -{ - GBOX *bbox; - LWTRIANGLE **geoms; - int32_t srid; - lwflags_t flags; - uint8_t type; /* TINTYPE */ - char pad[1]; /* Padding to 24 bytes (unused) */ - uint32_t ngeoms; /* how many geometries we are currently storing */ - uint32_t maxgeoms; /* how many geometries we have space for in **geoms */ -} -LWTIN; - -/* Functions */ - -extern int32 geo_get_srid(const GSERIALIZED *g); - -/* PROJ */ - -struct PJconsts; -typedef struct PJconsts PJ; - -typedef struct LWPROJ -{ - PJ* pj; - - /* for pipeline transforms, whether to do a forward or inverse */ - bool pipeline_is_forward; - - /* Source crs is geographic: Used in geography calls (source srid == dst srid) */ - uint8_t source_is_latlong; - /* Source ellipsoid parameters */ - double source_semi_major_metre; - double source_semi_minor_metre; -} LWPROJ; - - -#endif /* _LIBLWGEOM_H */ +#endif /* POSTGRES_H */ /***************************************************************************** @@ -597,8 +189,8 @@ typedef struct double xmax; /**< maximum x value */ double ymax; /**< maximum y value */ double zmax; /**< maximum z value */ - int32 srid; /**< SRID */ - int16 flags; /**< flags */ + int32_t srid; /**< SRID */ + int16 flags; /**< flags */ } STBox; /** @@ -623,18 +215,6 @@ typedef enum LINEAR = 3, } interpType; -/** - * @brief Enumeration that defines the spatial relationships for which a call - * to GEOS is made. - */ -typedef enum -{ - INTERSECTS = 0, - CONTAINS = 1, - TOUCHES = 2, - COVERS = 3, -} spatialRel; - /** * Structure to represent the common structure of temporal values of * any temporal subtype @@ -666,7 +246,7 @@ typedef struct } TInstant; /** - * Structure to represent temporal values of instant set or sequence subtype + * Structure to represent temporal values of sequence subtype */ typedef struct { @@ -723,34 +303,29 @@ typedef struct /*****************************************************************************/ /** - * Structure to represent skiplist elements + * Structure for skiplists */ +typedef struct SkipList SkipList; -#define SKIPLIST_MAXLEVEL 32 /**< maximum possible is 47 with current RNG */ - -typedef struct -{ - void *value; - int height; - int next[SKIPLIST_MAXLEVEL]; -} SkipListElem; +/*****************************************************************************/ /** - * Structure to represent skiplists that keep the current state of an aggregation + * Structure for the in-memory Rtree index */ -typedef struct -{ - int capacity; - int next; - int length; - int *freed; - int freecount; - int freecap; - int tail; - void *extra; - size_t extrasize; - SkipListElem *elems; -} SkipList; +typedef struct RTree RTree; + +/* RTree functions */ + +extern RTree *rtree_create_intspan(); +extern RTree *rtree_create_bigintspan(); +extern RTree *rtree_create_floatspan(); +extern RTree *rtree_create_datespan(); +extern RTree *rtree_create_tstzspan(); +extern RTree *rtree_create_tbox(); +extern RTree *rtree_create_stbox(); +extern void rtree_free(RTree *rtree); +extern void rtree_insert(RTree *rtree, void *box, int64 id); +extern int *rtree_search(const RTree *rtree,const void *query, int *count); /***************************************************************************** * Error codes @@ -758,33 +333,34 @@ typedef struct typedef enum { - MEOS_SUCCESS = 0, // Successful operation - - MEOS_ERR_INTERNAL_ERROR = 1, // Unspecified internal error - MEOS_ERR_INTERNAL_TYPE_ERROR = 2, // Internal type error - MEOS_ERR_VALUE_OUT_OF_RANGE = 3, // Internal out of range error - MEOS_ERR_DIVISION_BY_ZERO = 4, // Internal division by zero error - MEOS_ERR_MEMORY_ALLOC_ERROR = 5, // Internal malloc error - MEOS_ERR_AGGREGATION_ERROR = 6, // Internal aggregation error - MEOS_ERR_DIRECTORY_ERROR = 7, // Internal directory error - MEOS_ERR_FILE_ERROR = 8, // Internal file error - - MEOS_ERR_INVALID_ARG = 10, // Invalid argument - MEOS_ERR_INVALID_ARG_TYPE = 11, // Invalid argument type - MEOS_ERR_INVALID_ARG_VALUE = 12, // Invalid argument value - - MEOS_ERR_MFJSON_INPUT = 20, // MFJSON input error - MEOS_ERR_MFJSON_OUTPUT = 21, // MFJSON output error - MEOS_ERR_TEXT_INPUT = 22, // Text input error - MEOS_ERR_TEXT_OUTPUT = 23, // Text output error - MEOS_ERR_WKB_INPUT = 24, // WKB input error - MEOS_ERR_WKB_OUTPUT = 25, // WKB output error - MEOS_ERR_GEOJSON_INPUT = 26, // GEOJSON input error - MEOS_ERR_GEOJSON_OUTPUT = 27, // GEOJSON output error + MEOS_SUCCESS = 0, // Successful operation + + MEOS_ERR_INTERNAL_ERROR = 1, // Unspecified internal error + MEOS_ERR_INTERNAL_TYPE_ERROR = 2, // Internal type error + MEOS_ERR_VALUE_OUT_OF_RANGE = 3, // Internal out of range error + MEOS_ERR_DIVISION_BY_ZERO = 4, // Internal division by zero error + MEOS_ERR_MEMORY_ALLOC_ERROR = 5, // Internal malloc error + MEOS_ERR_AGGREGATION_ERROR = 6, // Internal aggregation error + MEOS_ERR_DIRECTORY_ERROR = 7, // Internal directory error + MEOS_ERR_FILE_ERROR = 8, // Internal file error + + MEOS_ERR_INVALID_ARG = 10, // Invalid argument + MEOS_ERR_INVALID_ARG_TYPE = 11, // Invalid argument type + MEOS_ERR_INVALID_ARG_VALUE = 12, // Invalid argument value + MEOS_ERR_FEATURE_NOT_SUPPORTED = 13, // Feature not currently supported + + MEOS_ERR_MFJSON_INPUT = 20, // MFJSON input error + MEOS_ERR_MFJSON_OUTPUT = 21, // MFJSON output error + MEOS_ERR_TEXT_INPUT = 22, // Text input error + MEOS_ERR_TEXT_OUTPUT = 23, // Text output error + MEOS_ERR_WKB_INPUT = 24, // WKB input error + MEOS_ERR_WKB_OUTPUT = 25, // WKB output error + MEOS_ERR_GEOJSON_INPUT = 26, // GEOJSON input error + MEOS_ERR_GEOJSON_OUTPUT = 27, // GEOJSON output error } errorCode; -extern void meos_error(int errlevel, int errcode, char *format, ...); +extern void meos_error(int errlevel, int errcode, const char *format, ...); /* Set or read error level */ @@ -798,23 +374,27 @@ extern int meos_errno_reset(void); *****************************************************************************/ /* Definition of error handler function */ -typedef void (*error_handler_fn)(int, int, char *); +typedef void (*error_handler_fn)(int, int, const char *); extern void meos_initialize_timezone(const char *name); extern void meos_initialize_error_handler(error_handler_fn err_handler); extern void meos_finalize_timezone(void); +extern void meos_finalize_projsrs(void); +extern void meos_finalize_ways(void); -extern bool meos_set_datestyle(char *newval, void *extra); -extern bool meos_set_intervalstyle(char *newval, int extra); +extern bool meos_set_datestyle(const char *newval, void *extra); +extern bool meos_set_intervalstyle(const char *newval, int extra); extern char *meos_get_datestyle(void); extern char *meos_get_intervalstyle(void); -extern void meos_initialize(const char *tz_str, error_handler_fn err_handler); +extern void meos_set_spatial_ref_sys_csv(const char* path); + +extern void meos_initialize(void); extern void meos_finalize(void); -/*===========================================================================* - * Functions for PostgreSQL types - *===========================================================================*/ +/****************************************************************************** + * Functions for base and time types + ******************************************************************************/ extern DateADT add_date_int(DateADT d, int32 days); extern Interval *add_interval_interval(const Interval *interv1, const Interval *interv2); @@ -822,20 +402,26 @@ extern TimestampTz add_timestamptz_interval(TimestampTz t, const Interval *inter extern bool bool_in(const char *str); extern char *bool_out(bool b); extern text *cstring2text(const char *str); +extern Timestamp date_to_timestamp(DateADT dateVal); extern TimestampTz date_to_timestamptz(DateADT d); -extern Interval *minus_date_date(DateADT d1, DateADT d2); +extern double float_exp(double d); +extern double float_ln(double d); +extern double float_log10(double d); +extern char *float8_out(double d, int maxdd); +extern double float_round(double d, int maxdd); +extern int int32_cmp(int32 l, int32 r); +extern int int64_cmp(int64 l, int64 r); +extern Interval *interval_make(int32 years, int32 months, int32 weeks, int32 days, int32 hours, int32 mins, double secs); +extern int minus_date_date(DateADT d1, DateADT d2); extern DateADT minus_date_int(DateADT d, int32 days); extern TimestampTz minus_timestamptz_interval(TimestampTz t, const Interval *interv); extern Interval *minus_timestamptz_timestamptz(TimestampTz t1, TimestampTz t2); -extern Interval *mult_interval_double(const Interval *interv, double factor); +extern Interval *mul_interval_double(const Interval *interv, double factor); extern DateADT pg_date_in(const char *str); extern char *pg_date_out(DateADT d); extern int pg_interval_cmp(const Interval *interv1, const Interval *interv2); extern Interval *pg_interval_in(const char *str, int32 typmod); -extern Interval *pg_interval_make(int32 years, int32 months, int32 weeks, int32 days, int32 hours, int32 mins, double secs); extern char *pg_interval_out(const Interval *interv); -extern TimeADT pg_time_in(const char *str, int32 typmod); -extern char *pg_time_out(TimeADT t); extern Timestamp pg_timestamp_in(const char *str, int32 typmod); extern char *pg_timestamp_out(Timestamp t); extern TimestampTz pg_timestamptz_in(const char *str, int32 typmod); @@ -843,36 +429,19 @@ extern char *pg_timestamptz_out(TimestampTz t); extern char *text2cstring(const text *txt); extern int text_cmp(const text *txt1, const text *txt2); extern text *text_copy(const text *txt); +extern text *text_in(const char *str); extern text *text_initcap(const text *txt); extern text *text_lower(const text *txt); extern char *text_out(const text *txt); extern text *text_upper(const text *txt); extern text *textcat_text_text(const text *txt1, const text *txt2); +extern TimestampTz timestamptz_shift(TimestampTz t, const Interval *interv); +extern DateADT timestamp_to_date(Timestamp t); extern DateADT timestamptz_to_date(TimestampTz t); -/*===========================================================================* - * Functions for PostGIS types - *===========================================================================*/ - -extern bytea *geo_as_ewkb(const GSERIALIZED *gs, char *endian); -extern char *geo_as_ewkt(const GSERIALIZED *gs, int precision); -extern char *geo_as_geojson(const GSERIALIZED *gs, int option, int precision, char *srs); -extern char *geo_as_hexewkb(const GSERIALIZED *gs, const char *endian); -extern char *geo_as_text(const GSERIALIZED *gs, int precision); -extern GSERIALIZED *geo_from_ewkb(const bytea *bytea_wkb, int32 srid); -extern GSERIALIZED *geo_from_geojson(const char *geojson); -extern char *geo_out(const GSERIALIZED *gs); -extern bool geo_same(const GSERIALIZED *gs1, const GSERIALIZED *gs2); -extern GSERIALIZED *geography_from_hexewkb(const char *wkt); -extern GSERIALIZED *geography_from_text(char *wkt, int srid); -extern GSERIALIZED *geometry_from_hexewkb(const char *wkt); -extern GSERIALIZED *geometry_from_text(char *wkt, int srid); -extern GSERIALIZED *pgis_geography_in(char *str, int32 typmod); -extern GSERIALIZED *pgis_geometry_in(char *str, int32 typmod); - -/*===========================================================================* +/*============================================================================ * Functions for set and span types - *===========================================================================*/ + ===========================================================================*/ /***************************************************************************** * Input/output functions for set and span types @@ -880,6 +449,7 @@ extern GSERIALIZED *pgis_geometry_in(char *str, int32 typmod); extern Set *bigintset_in(const char *str); extern char *bigintset_out(const Set *set); +extern Span *bigintspan_expand(const Span *s, int64 value); extern Span *bigintspan_in(const char *str); extern char *bigintspan_out(const Span *s); extern SpanSet *bigintspanset_in(const char *str); @@ -892,17 +462,14 @@ extern SpanSet *datespanset_in(const char *str); extern char *datespanset_out(const SpanSet *ss); extern Set *floatset_in(const char *str); extern char *floatset_out(const Set *set, int maxdd); +extern Span *floatspan_expand(const Span *s, double value); extern Span *floatspan_in(const char *str); extern char *floatspan_out(const Span *s, int maxdd); extern SpanSet *floatspanset_in(const char *str); extern char *floatspanset_out(const SpanSet *ss, int maxdd); -extern Set *geogset_in(const char *str); -extern Set *geomset_in(const char *str); -extern char *geoset_as_ewkt(const Set *set, int maxdd); -extern char *geoset_as_text(const Set *set, int maxdd); -extern char *geoset_out(const Set *set, int maxdd); extern Set *intset_in(const char *str); extern char *intset_out(const Set *set); +extern Span *intspan_expand(const Span *s, int32 value); extern Span *intspan_in(const char *str); extern char *intspan_out(const Span *s); extern SpanSet *intspanset_in(const char *str); @@ -938,14 +505,13 @@ extern Set *dateset_make(const DateADT *values, int count); extern Span *datespan_make(DateADT lower, DateADT upper, bool lower_inc, bool upper_inc); extern Set *floatset_make(const double *values, int count); extern Span *floatspan_make(double lower, double upper, bool lower_inc, bool upper_inc); -extern Set *geoset_make(const GSERIALIZED **values, int count); extern Set *intset_make(const int *values, int count); extern Span *intspan_make(int lower, int upper, bool lower_inc, bool upper_inc); extern Set *set_copy(const Set *s); extern Span *span_copy(const Span *s); extern SpanSet *spanset_copy(const SpanSet *ss); -extern SpanSet *spanset_make(Span *spans, int count, bool normalize, bool order); -extern Set *textset_make(const text **values, int count); +extern SpanSet *spanset_make(Span *spans, int count); +extern Set *textset_make(text **values, int count); extern Set *tstzset_make(const TimestampTz *values, int count); extern Span *tstzspan_make(TimestampTz lower, TimestampTz upper, bool lower_inc, bool upper_inc); @@ -968,16 +534,16 @@ extern SpanSet *float_to_spanset(double d); extern Set *floatset_to_intset(const Set *s); extern Span *floatspan_to_intspan(const Span *s); extern SpanSet *floatspanset_to_intspanset(const SpanSet *ss); -extern Set *geo_to_set(GSERIALIZED *gs); extern Set *int_to_set(int i); extern Span *int_to_span(int i); extern SpanSet *int_to_spanset(int i); extern Set *intset_to_floatset(const Set *s); extern Span *intspan_to_floatspan(const Span *s); extern SpanSet *intspanset_to_floatspanset(const SpanSet *ss); +extern Span *set_to_span(const Set *s); extern SpanSet *set_to_spanset(const Set *s); extern SpanSet *span_to_spanset(const Span *s); -extern Set *text_to_set(text *txt); +extern Set *text_to_set(const text *txt); extern Set *timestamptz_to_set(TimestampTz t); extern Span *timestamptz_to_span(TimestampTz t); extern SpanSet *timestamptz_to_spanset(TimestampTz t); @@ -1022,11 +588,6 @@ extern double floatspan_width(const Span *s); extern double floatspanset_lower(const SpanSet *ss); extern double floatspanset_upper(const SpanSet *ss); extern double floatspanset_width(const SpanSet *ss, bool boundspan); -extern GSERIALIZED *geoset_end_value(const Set *s); -extern int geoset_srid(const Set *s); -extern GSERIALIZED *geoset_start_value(const Set *s); -extern bool geoset_value_n(const Set *s, int n, GSERIALIZED **result); -extern GSERIALIZED **geoset_values(const Set *s); extern int intset_end_value(const Set *s); extern int intset_start_value(const Set *s); extern bool intset_value_n(const Set *s, int n, int *result); @@ -1040,7 +601,6 @@ extern int intspanset_width(const SpanSet *ss, bool boundspan); extern uint32 set_hash(const Set *s); extern uint64 set_hash_extended(const Set *s, uint64 seed); extern int set_num_values(const Set *s); -extern Span *set_to_span(const Set *s); extern uint32 span_hash(const Span *s); extern uint64 span_hash_extended(const Span *s, uint64 seed); extern bool span_lower_inc(const Span *s); @@ -1071,8 +631,8 @@ extern TimestampTz tstzspanset_end_timestamptz(const SpanSet *ss); extern TimestampTz tstzspanset_lower(const SpanSet *ss); extern int tstzspanset_num_timestamps(const SpanSet *ss); extern TimestampTz tstzspanset_start_timestamptz(const SpanSet *ss); -extern bool tstzspanset_timestamptz_n(const SpanSet *ss, int n, TimestampTz *result); extern Set *tstzspanset_timestamps(const SpanSet *ss); +extern bool tstzspanset_timestamptz_n(const SpanSet *ss, int n, TimestampTz *result); extern TimestampTz tstzspanset_upper(const SpanSet *ss); /***************************************************************************** @@ -1086,35 +646,32 @@ extern Set *dateset_shift_scale(const Set *s, int shift, int width, bool hasshif extern Span *datespan_shift_scale(const Span *s, int shift, int width, bool hasshift, bool haswidth); extern SpanSet *datespanset_shift_scale(const SpanSet *ss, int shift, int width, bool hasshift, bool haswidth); extern Set *floatset_ceil(const Set *s); -extern Set *floatset_floor(const Set *s); extern Set *floatset_degrees(const Set *s, bool normalize); +extern Set *floatset_floor(const Set *s); extern Set *floatset_radians(const Set *s); -extern Set *floatset_round(const Set *s, int maxdd); extern Set *floatset_shift_scale(const Set *s, double shift, double width, bool hasshift, bool haswidth); extern Span *floatspan_ceil(const Span *s); +extern Span *floatspan_degrees(const Span *s, bool normalize); extern Span *floatspan_floor(const Span *s); +extern Span *floatspan_radians(const Span *s); extern Span *floatspan_round(const Span *s, int maxdd); extern Span *floatspan_shift_scale(const Span *s, double shift, double width, bool hasshift, bool haswidth); extern SpanSet *floatspanset_ceil(const SpanSet *ss); extern SpanSet *floatspanset_floor(const SpanSet *ss); +extern SpanSet *floatspanset_degrees(const SpanSet *ss, bool normalize); +extern SpanSet *floatspanset_radians(const SpanSet *ss); extern SpanSet *floatspanset_round(const SpanSet *ss, int maxdd); extern SpanSet *floatspanset_shift_scale(const SpanSet *ss, double shift, double width, bool hasshift, bool haswidth); -extern Set *geoset_round(const Set *s, int maxdd); -extern Set *geoset_set_srid(const Set *s, int32 srid); -extern Set *geoset_transform(const Set *s, int32 srid); -extern Set *geoset_transform_pipeline(const Set *s, char *pipelinestr, int32 srid, bool is_forward); extern Set *intset_shift_scale(const Set *s, int shift, int width, bool hasshift, bool haswidth); extern Span *intspan_shift_scale(const Span *s, int shift, int width, bool hasshift, bool haswidth); extern SpanSet *intspanset_shift_scale(const SpanSet *ss, int shift, int width, bool hasshift, bool haswidth); -extern GSERIALIZED *point_transform(const GSERIALIZED *gs, int32 srid); -extern GSERIALIZED *point_transform_pipeline(const GSERIALIZED *gs, char *pipelinestr, int32 srid, bool is_forward); -extern Span *set_spans(const Set *s, int max_count, int *count); -extern Span *spanset_spans(const SpanSet *ss, int max_count, int *count); +extern Span *tstzspan_expand(const Span *s, const Interval *interv); +extern Set *set_round(const Set *s, int maxdd); +extern Set *textcat_text_textset(const text *txt, const Set *s); +extern Set *textcat_textset_text(const Set *s, const text *txt); extern Set *textset_initcap(const Set *s); extern Set *textset_lower(const Set *s); extern Set *textset_upper(const Set *s); -extern Set *textcat_textset_text(const Set *s, const text *txt); -extern Set *textcat_text_textset(const text *txt, const Set *s); extern TimestampTz timestamptz_tprecision(TimestampTz t, const Interval *duration, TimestampTz torigin); extern Set *tstzset_shift_scale(const Set *s, const Interval *shift, const Interval *duration); extern Set *tstzset_tprecision(const Set *s, const Interval *duration, TimestampTz torigin); @@ -1153,7 +710,16 @@ extern bool spanset_ne(const SpanSet *ss1, const SpanSet *ss2); * Bounding box functions for set and span types *****************************************************************************/ -/* Topological functions for set and span types */ +/* Split functions */ + +extern Span *set_spans(const Set *s); +extern Span *set_split_each_n_spans(const Set *s, int elems_per_span, int *count); +extern Span *set_split_n_spans(const Set *s, int span_count, int *count); +extern Span *spanset_spans(const SpanSet *ss); +extern Span *spanset_split_each_n_spans(const SpanSet *ss, int elems_per_span, int *count); +extern Span *spanset_split_n_spans(const SpanSet *ss, int span_count, int *count); + +/* Topological functions */ extern bool adjacent_span_bigint(const Span *s, int64 i); extern bool adjacent_span_date(const Span *s, DateADT d); @@ -1178,7 +744,6 @@ extern bool contained_date_spanset(DateADT d, const SpanSet *ss); extern bool contained_float_set(double d, const Set *s); extern bool contained_float_span(double d, const Span *s); extern bool contained_float_spanset(double d, const SpanSet *ss); -extern bool contained_geo_set(GSERIALIZED *gs, const Set *s); extern bool contained_int_set(int i, const Set *s); extern bool contained_int_span(int i, const Span *s); extern bool contained_int_spanset(int i, const SpanSet *ss); @@ -1187,14 +752,13 @@ extern bool contained_span_span(const Span *s1, const Span *s2); extern bool contained_span_spanset(const Span *s, const SpanSet *ss); extern bool contained_spanset_span(const SpanSet *ss, const Span *s); extern bool contained_spanset_spanset(const SpanSet *ss1, const SpanSet *ss2); -extern bool contained_text_set(text *txt, const Set *s); +extern bool contained_text_set(const text *txt, const Set *s); extern bool contained_timestamptz_set(TimestampTz t, const Set *s); extern bool contained_timestamptz_span(TimestampTz t, const Span *s); extern bool contained_timestamptz_spanset(TimestampTz t, const SpanSet *ss); extern bool contains_set_bigint(const Set *s, int64 i); extern bool contains_set_date(const Set *s, DateADT d); extern bool contains_set_float(const Set *s, double d); -extern bool contains_set_geo(const Set *s, GSERIALIZED *gs); extern bool contains_set_int(const Set *s, int i); extern bool contains_set_set(const Set *s1, const Set *s2); extern bool contains_set_text(const Set *s, text *t); @@ -1271,7 +835,7 @@ extern bool left_spanset_float(const SpanSet *ss, double d); extern bool left_spanset_int(const SpanSet *ss, int i); extern bool left_spanset_span(const SpanSet *ss, const Span *s); extern bool left_spanset_spanset(const SpanSet *ss1, const SpanSet *ss2); -extern bool left_text_set(text *txt, const Set *s); +extern bool left_text_set(const text *txt, const Set *s); extern bool overafter_date_set(DateADT d, const Set *s); extern bool overafter_date_span(DateADT d, const Span *s); extern bool overafter_date_spanset(DateADT d, const SpanSet *ss); @@ -1320,7 +884,7 @@ extern bool overleft_spanset_float(const SpanSet *ss, double d); extern bool overleft_spanset_int(const SpanSet *ss, int i); extern bool overleft_spanset_span(const SpanSet *ss, const Span *s); extern bool overleft_spanset_spanset(const SpanSet *ss1, const SpanSet *ss2); -extern bool overleft_text_set(text *txt, const Set *s); +extern bool overleft_text_set(const text *txt, const Set *s); extern bool overright_bigint_set(int64 i, const Set *s); extern bool overright_bigint_span(int64 i, const Span *s); extern bool overright_bigint_spanset(int64 i, const SpanSet *ss); @@ -1345,7 +909,7 @@ extern bool overright_spanset_float(const SpanSet *ss, double d); extern bool overright_spanset_int(const SpanSet *ss, int i); extern bool overright_spanset_span(const SpanSet *ss, const Span *s); extern bool overright_spanset_spanset(const SpanSet *ss1, const SpanSet *ss2); -extern bool overright_text_set(text *txt, const Set *s); +extern bool overright_text_set(const text *txt, const Set *s); extern bool right_bigint_set(int64 i, const Set *s); extern bool right_bigint_span(int64 i, const Span *s); extern bool right_bigint_spanset(int64 i, const SpanSet *ss); @@ -1370,21 +934,19 @@ extern bool right_spanset_float(const SpanSet *ss, double d); extern bool right_spanset_int(const SpanSet *ss, int i); extern bool right_spanset_span(const SpanSet *ss, const Span *s); extern bool right_spanset_spanset(const SpanSet *ss1, const SpanSet *ss2); -extern bool right_text_set(text *txt, const Set *s); +extern bool right_text_set(const text *txt, const Set *s); /***************************************************************************** * Set functions for set and span types *****************************************************************************/ extern Set *intersection_bigint_set(int64 i, const Set *s); -extern Set *intersection_date_set(const DateADT d, const Set *s); +extern Set *intersection_date_set(DateADT d, const Set *s); extern Set *intersection_float_set(double d, const Set *s); -extern Set *intersection_geo_set(const GSERIALIZED *gs, const Set *s); extern Set *intersection_int_set(int i, const Set *s); extern Set *intersection_set_bigint(const Set *s, int64 i); extern Set *intersection_set_date(const Set *s, DateADT d); extern Set *intersection_set_float(const Set *s, double d); -extern Set *intersection_set_geo(const Set *s, const GSERIALIZED *gs); extern Set *intersection_set_int(const Set *s, int i); extern Set *intersection_set_set(const Set *s1, const Set *s2); extern Set *intersection_set_text(const Set *s, const text *txt); @@ -1404,7 +966,7 @@ extern SpanSet *intersection_spanset_span(const SpanSet *ss, const Span *s); extern SpanSet *intersection_spanset_spanset(const SpanSet *ss1, const SpanSet *ss2); extern SpanSet *intersection_spanset_timestamptz(const SpanSet *ss, TimestampTz t); extern Set *intersection_text_set(const text *txt, const Set *s); -extern Set *intersection_timestamptz_set(const TimestampTz t, const Set *s); +extern Set *intersection_timestamptz_set(TimestampTz t, const Set *s); extern Set *minus_bigint_set(int64 i, const Set *s); extern SpanSet *minus_bigint_span(int64 i, const Span *s); extern SpanSet *minus_bigint_spanset(int64 i, const SpanSet *ss); @@ -1414,14 +976,12 @@ extern SpanSet *minus_date_spanset(DateADT d, const SpanSet *ss); extern Set *minus_float_set(double d, const Set *s); extern SpanSet *minus_float_span(double d, const Span *s); extern SpanSet *minus_float_spanset(double d, const SpanSet *ss); -extern Set *minus_geo_set(const GSERIALIZED *gs, const Set *s); extern Set *minus_int_set(int i, const Set *s); extern SpanSet *minus_int_span(int i, const Span *s); extern SpanSet *minus_int_spanset(int i, const SpanSet *ss); extern Set *minus_set_bigint(const Set *s, int64 i); extern Set *minus_set_date(const Set *s, DateADT d); extern Set *minus_set_float(const Set *s, double d); -extern Set *minus_set_geo(const Set *s, const GSERIALIZED *gs); extern Set *minus_set_int(const Set *s, int i); extern Set *minus_set_set(const Set *s1, const Set *s2); extern Set *minus_set_text(const Set *s, const text *txt); @@ -1447,24 +1007,22 @@ extern SpanSet *minus_timestamptz_spanset(TimestampTz t, const SpanSet *ss); extern Set *union_bigint_set(int64 i, const Set *s); extern SpanSet *union_bigint_span(const Span *s, int64 i); extern SpanSet *union_bigint_spanset(int64 i, SpanSet *ss); -extern Set *union_date_set(const DateADT d, const Set *s); +extern Set *union_date_set(DateADT d, const Set *s); extern SpanSet *union_date_span(const Span *s, DateADT d); extern SpanSet *union_date_spanset(DateADT d, SpanSet *ss); extern Set *union_float_set(double d, const Set *s); extern SpanSet *union_float_span(const Span *s, double d); extern SpanSet *union_float_spanset(double d, SpanSet *ss); -extern Set *union_geo_set(const GSERIALIZED *gs, const Set *s); extern Set *union_int_set(int i, const Set *s); extern SpanSet *union_int_span(int i, const Span *s); extern SpanSet *union_int_spanset(int i, SpanSet *ss); extern Set *union_set_bigint(const Set *s, int64 i); extern Set *union_set_date(const Set *s, DateADT d); extern Set *union_set_float(const Set *s, double d); -extern Set *union_set_geo(const Set *s, const GSERIALIZED *gs); extern Set *union_set_int(const Set *s, int i); extern Set *union_set_set(const Set *s1, const Set *s2); extern Set *union_set_text(const Set *s, const text *txt); -extern Set *union_set_timestamptz(const Set *s, const TimestampTz t); +extern Set *union_set_timestamptz(const Set *s, TimestampTz t); extern SpanSet *union_span_bigint(const Span *s, int64 i); extern SpanSet *union_span_date(const Span *s, DateADT d); extern SpanSet *union_span_float(const Span *s, double d); @@ -1480,7 +1038,7 @@ extern SpanSet *union_spanset_span(const SpanSet *ss, const Span *s); extern SpanSet *union_spanset_spanset(const SpanSet *ss1, const SpanSet *ss2); extern SpanSet *union_spanset_timestamptz(const SpanSet *ss, TimestampTz t); extern Set *union_text_set(const text *txt, const Set *s); -extern Set *union_timestamptz_set(const TimestampTz t, const Set *s); +extern Set *union_timestamptz_set(TimestampTz t, const Set *s); extern SpanSet *union_timestamptz_span(TimestampTz t, const Span *s); extern SpanSet *union_timestamptz_spanset(TimestampTz t, SpanSet *ss); @@ -1548,41 +1106,51 @@ extern Set *text_union_transfn(Set *state, const text *txt); extern Span *timestamptz_extent_transfn(Span *state, TimestampTz t); extern Set *timestamptz_union_transfn(Set *state, TimestampTz t); +/***************************************************************************** + * Bin functions for span and spanset types + *****************************************************************************/ + +extern int64 bigint_get_bin(int64 value, int64 vsize, int64 vorigin); +extern Span *bigintspan_bins(const Span *s, int64 vsize, int64 vorigin, int *count); +extern Span *bigintspanset_bins(const SpanSet *ss, int64 vsize, int64 vorigin, int *count); +extern DateADT date_get_bin(DateADT d, const Interval *duration, DateADT torigin); +extern Span *datespan_bins(const Span *s, const Interval *duration, DateADT torigin, int *count); +extern Span *datespanset_bins(const SpanSet *ss, const Interval *duration, DateADT torigin, int *count); +extern double float_get_bin(double value, double vsize, double vorigin); +extern Span *floatspan_bins(const Span *s, double vsize, double vorigin, int *count); +extern Span *floatspanset_bins(const SpanSet *ss, double vsize, double vorigin, int *count); +extern int int_get_bin(int value, int vsize, int vorigin); +extern Span *intspan_bins(const Span *s, int vsize, int vorigin, int *count); +extern Span *intspanset_bins(const SpanSet *ss, int vsize, int vorigin, int *count); +extern TimestampTz timestamptz_get_bin(TimestampTz t, const Interval *duration, TimestampTz torigin); +extern Span *tstzspan_bins(const Span *s, const Interval *duration, TimestampTz origin, int *count); +extern Span *tstzspanset_bins(const SpanSet *ss, const Interval *duration, TimestampTz torigin, int *count); + /*===========================================================================* - * Functions for box types + * Functions for temporal boxes *===========================================================================*/ /***************************************************************************** * Input and output functions for box types *****************************************************************************/ +extern char *tbox_as_hexwkb(const TBox *box, uint8_t variant, size_t *size); +extern uint8_t *tbox_as_wkb(const TBox *box, uint8_t variant, size_t *size_out); +extern TBox *tbox_from_hexwkb(const char *hexwkb); +extern TBox *tbox_from_wkb(const uint8_t *wkb, size_t size); extern TBox *tbox_in(const char *str); extern char *tbox_out(const TBox *box, int maxdd); -extern TBox *tbox_from_wkb(const uint8_t *wkb, size_t size); -extern TBox *tbox_from_hexwkb(const char *hexwkb); -extern STBox *stbox_from_wkb(const uint8_t *wkb, size_t size); -extern STBox *stbox_from_hexwkb(const char *hexwkb); -extern uint8_t *tbox_as_wkb(const TBox *box, uint8_t variant, size_t *size_out); -extern char *tbox_as_hexwkb(const TBox *box, uint8_t variant, size_t *size); -extern uint8_t *stbox_as_wkb(const STBox *box, uint8_t variant, size_t *size_out); -extern char *stbox_as_hexwkb(const STBox *box, uint8_t variant, size_t *size); -extern STBox *stbox_in(const char *str); -extern char *stbox_out(const STBox *box, int maxdd); /***************************************************************************** * Constructor functions for box types *****************************************************************************/ -extern TBox *float_tstzspan_to_tbox(double d, const Span *s); extern TBox *float_timestamptz_to_tbox(double d, TimestampTz t); -extern STBox *geo_tstzspan_to_stbox(const GSERIALIZED *gs, const Span *s); -extern STBox *geo_timestamptz_to_stbox(const GSERIALIZED *gs, TimestampTz t); -extern TBox *int_tstzspan_to_tbox(int i, const Span *s); +extern TBox *float_tstzspan_to_tbox(double d, const Span *s); extern TBox *int_timestamptz_to_tbox(int i, TimestampTz t); +extern TBox *int_tstzspan_to_tbox(int i, const Span *s); extern TBox *numspan_tstzspan_to_tbox(const Span *span, const Span *s); extern TBox *numspan_timestamptz_to_tbox(const Span *span, TimestampTz t); -extern STBox *stbox_copy(const STBox *box); -extern STBox *stbox_make(bool hasx, bool hasz, bool geodetic, int32 srid, double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, const Span *s); extern TBox *tbox_copy(const TBox *box); extern TBox *tbox_make(const Span *s, const Span *p); @@ -1591,48 +1159,21 @@ extern TBox *tbox_make(const Span *s, const Span *p); *****************************************************************************/ extern TBox *float_to_tbox(double d); -extern STBox *geo_to_stbox(const GSERIALIZED *gs); extern TBox *int_to_tbox(int i); extern TBox *set_to_tbox(const Set *s); extern TBox *span_to_tbox(const Span *s); extern TBox *spanset_to_tbox(const SpanSet *ss); -extern STBox *spatialset_to_stbox(const Set *s); -extern GBOX *stbox_to_gbox(const STBox *box); -extern BOX3D *stbox_to_box3d(const STBox *box); -extern GSERIALIZED *stbox_to_geo(const STBox *box); -extern Span *stbox_to_tstzspan(const STBox *box); extern Span *tbox_to_intspan(const TBox *box); extern Span *tbox_to_floatspan(const TBox *box); extern Span *tbox_to_tstzspan(const TBox *box); -extern STBox *timestamptz_to_stbox(TimestampTz t); extern TBox *timestamptz_to_tbox(TimestampTz t); -extern STBox *tstzset_to_stbox(const Set *s); -extern STBox *tstzspan_to_stbox(const Span *s); -extern STBox *tstzspanset_to_stbox(const SpanSet *ss); -extern TBox *tnumber_to_tbox(const Temporal *temp); -extern STBox *tpoint_to_stbox(const Temporal *temp); /***************************************************************************** * Accessor functions for box types *****************************************************************************/ -extern double stbox_area(const STBox *box, bool spheroid); -extern bool stbox_hast(const STBox *box); -extern bool stbox_hasx(const STBox *box); -extern bool stbox_hasz(const STBox *box); -extern bool stbox_isgeodetic(const STBox *box); -extern double stbox_perimeter(const STBox *box, bool spheroid); -extern int32 stbox_srid(const STBox *box); -extern bool stbox_tmax(const STBox *box, TimestampTz *result); -extern bool stbox_tmax_inc(const STBox *box, bool *result); -extern bool stbox_tmin(const STBox *box, TimestampTz *result); -extern bool stbox_tmin_inc(const STBox *box, bool *result); -extern bool stbox_xmax(const STBox *box, double *result); -extern bool stbox_xmin(const STBox *box, double *result); -extern bool stbox_ymax(const STBox *box, double *result); -extern bool stbox_ymin(const STBox *box, double *result); -extern bool stbox_zmax(const STBox *box, double *result); -extern bool stbox_zmin(const STBox *box, double *result); +extern uint32 tbox_hash(const TBox *box); +extern uint64 tbox_hash_extended(const TBox *box, uint64 seed); extern bool tbox_hast(const TBox *box); extern bool tbox_hasx(const TBox *box); extern bool tbox_tmax(const TBox *box, TimestampTz *result); @@ -1652,22 +1193,13 @@ extern bool tboxint_xmin(const TBox *box, int *result); * Transformation functions for box types *****************************************************************************/ -extern STBox *stbox_expand_space(const STBox *box, double d); -extern STBox *stbox_expand_time(const STBox *box, const Interval *interv); -extern STBox *stbox_get_space(const STBox *box); -extern STBox *stbox_quad_split(const STBox *box, int *count); -extern STBox *stbox_round(const STBox *box, int maxdd); -extern STBox *stbox_set_srid(const STBox *box, int32 srid); -extern STBox *stbox_shift_scale_time(const STBox *box, const Interval *shift, const Interval *duration); -extern STBox *stbox_transform(const STBox *box, int32 srid); -extern STBox *stbox_transform_pipeline(const STBox *box, char *pipelinestr, int32 srid, bool is_forward); extern TBox *tbox_expand_time(const TBox *box, const Interval *interv); -extern TBox *tbox_expand_float(const TBox *box, const double d); -extern TBox *tbox_expand_int(const TBox *box, const int i); extern TBox *tbox_round(const TBox *box, int maxdd); -extern TBox *tbox_shift_scale_float(const TBox *box, double shift, double width, bool hasshift, bool haswidth); -extern TBox *tbox_shift_scale_int(const TBox *box, int shift, int width, bool hasshift, bool haswidth); extern TBox *tbox_shift_scale_time(const TBox *box, const Interval *shift, const Interval *duration); +extern TBox *tfloatbox_expand(const TBox *box, double d); +extern TBox *tfloatbox_shift_scale(const TBox *box, double shift, double width, bool hasshift, bool haswidth); +extern TBox *tintbox_expand(const TBox *box, int i); +extern TBox *tintbox_shift_scale(const TBox *box, int shift, int width, bool hasshift, bool haswidth); /***************************************************************************** * Set functions for box types @@ -1675,8 +1207,6 @@ extern TBox *tbox_shift_scale_time(const TBox *box, const Interval *shift, const extern TBox *union_tbox_tbox(const TBox *box1, const TBox *box2, bool strict); extern TBox *intersection_tbox_tbox(const TBox *box1, const TBox *box2); -extern STBox *union_stbox_stbox(const STBox *box1, const STBox *box2, bool strict); -extern STBox *intersection_stbox_stbox(const STBox *box1, const STBox *box2); /***************************************************************************** * Bounding box functions for box types @@ -1684,64 +1214,36 @@ extern STBox *intersection_stbox_stbox(const STBox *box1, const STBox *box2); /* Topological functions for box types */ -extern bool adjacent_stbox_stbox(const STBox *box1, const STBox *box2); extern bool adjacent_tbox_tbox(const TBox *box1, const TBox *box2); extern bool contained_tbox_tbox(const TBox *box1, const TBox *box2); -extern bool contained_stbox_stbox(const STBox *box1, const STBox *box2); -extern bool contains_stbox_stbox(const STBox *box1, const STBox *box2); extern bool contains_tbox_tbox(const TBox *box1, const TBox *box2); extern bool overlaps_tbox_tbox(const TBox *box1, const TBox *box2); -extern bool overlaps_stbox_stbox(const STBox *box1, const STBox *box2); extern bool same_tbox_tbox(const TBox *box1, const TBox *box2); -extern bool same_stbox_stbox(const STBox *box1, const STBox *box2); /*****************************************************************************/ /* Position functions for box types */ +extern bool after_tbox_tbox(const TBox *box1, const TBox *box2); +extern bool before_tbox_tbox(const TBox *box1, const TBox *box2); extern bool left_tbox_tbox(const TBox *box1, const TBox *box2); +extern bool overafter_tbox_tbox(const TBox *box1, const TBox *box2); +extern bool overbefore_tbox_tbox(const TBox *box1, const TBox *box2); extern bool overleft_tbox_tbox(const TBox *box1, const TBox *box2); -extern bool right_tbox_tbox(const TBox *box1, const TBox *box2); extern bool overright_tbox_tbox(const TBox *box1, const TBox *box2); -extern bool before_tbox_tbox(const TBox *box1, const TBox *box2); -extern bool overbefore_tbox_tbox(const TBox *box1, const TBox *box2); -extern bool after_tbox_tbox(const TBox *box1, const TBox *box2); -extern bool overafter_tbox_tbox(const TBox *box1, const TBox *box2); -extern bool left_stbox_stbox(const STBox *box1, const STBox *box2); -extern bool overleft_stbox_stbox(const STBox *box1, const STBox *box2); -extern bool right_stbox_stbox(const STBox *box1, const STBox *box2); -extern bool overright_stbox_stbox(const STBox *box1, const STBox *box2); -extern bool below_stbox_stbox(const STBox *box1, const STBox *box2); -extern bool overbelow_stbox_stbox(const STBox *box1, const STBox *box2); -extern bool above_stbox_stbox(const STBox *box1, const STBox *box2); -extern bool overabove_stbox_stbox(const STBox *box1, const STBox *box2); -extern bool front_stbox_stbox(const STBox *box1, const STBox *box2); -extern bool overfront_stbox_stbox(const STBox *box1, const STBox *box2); -extern bool back_stbox_stbox(const STBox *box1, const STBox *box2); -extern bool overback_stbox_stbox(const STBox *box1, const STBox *box2); -extern bool before_stbox_stbox(const STBox *box1, const STBox *box2); -extern bool overbefore_stbox_stbox(const STBox *box1, const STBox *box2); -extern bool after_stbox_stbox(const STBox *box1, const STBox *box2); -extern bool overafter_stbox_stbox(const STBox *box1, const STBox *box2); +extern bool right_tbox_tbox(const TBox *box1, const TBox *box2); /***************************************************************************** * Comparison functions for box types *****************************************************************************/ -extern bool tbox_eq(const TBox *box1, const TBox *box2); -extern bool tbox_ne(const TBox *box1, const TBox *box2); extern int tbox_cmp(const TBox *box1, const TBox *box2); -extern bool tbox_lt(const TBox *box1, const TBox *box2); -extern bool tbox_le(const TBox *box1, const TBox *box2); +extern bool tbox_eq(const TBox *box1, const TBox *box2); extern bool tbox_ge(const TBox *box1, const TBox *box2); extern bool tbox_gt(const TBox *box1, const TBox *box2); -extern bool stbox_eq(const STBox *box1, const STBox *box2); -extern bool stbox_ne(const STBox *box1, const STBox *box2); -extern int stbox_cmp(const STBox *box1, const STBox *box2); -extern bool stbox_lt(const STBox *box1, const STBox *box2); -extern bool stbox_le(const STBox *box1, const STBox *box2); -extern bool stbox_ge(const STBox *box1, const STBox *box2); -extern bool stbox_gt(const STBox *box1, const STBox *box2); +extern bool tbox_le(const TBox *box1, const TBox *box2); +extern bool tbox_lt(const TBox *box1, const TBox *box2); +extern bool tbox_ne(const TBox *box1, const TBox *box2); /*===========================================================================* * Functions for temporal types @@ -1751,31 +1253,23 @@ extern bool stbox_gt(const STBox *box1, const STBox *box2); * Input and output functions for temporal types *****************************************************************************/ +extern Temporal *tbool_from_mfjson(const char *str); extern Temporal *tbool_in(const char *str); -extern Temporal *tint_in(const char *str); +extern char *tbool_out(const Temporal *temp); +extern char *temporal_as_hexwkb(const Temporal *temp, uint8_t variant, size_t *size_out); +extern char *temporal_as_mfjson(const Temporal *temp, bool with_bbox, int flags, int precision, const char *srs); +extern uint8_t *temporal_as_wkb(const Temporal *temp, uint8_t variant, size_t *size_out); +extern Temporal *temporal_from_hexwkb(const char *hexwkb); +extern Temporal *temporal_from_wkb(const uint8_t *wkb, size_t size); +extern Temporal *tfloat_from_mfjson(const char *str); extern Temporal *tfloat_in(const char *str); -extern Temporal *ttext_in(const char *str); -extern Temporal *tgeompoint_in(const char *str); -extern Temporal *tgeogpoint_in(const char *str); -extern Temporal *tbool_from_mfjson(const char *str); +extern char *tfloat_out(const Temporal *temp, int maxdd); extern Temporal *tint_from_mfjson(const char *str); -extern Temporal *tfloat_from_mfjson(const char *str); -extern Temporal *ttext_from_mfjson(const char *str); -extern Temporal *tgeompoint_from_mfjson(const char *str); -extern Temporal *tgeogpoint_from_mfjson(const char *str); -extern Temporal *temporal_from_wkb(const uint8_t *wkb, size_t size); -extern Temporal *temporal_from_hexwkb(const char *hexwkb); - -extern char *tbool_out(const Temporal *temp); +extern Temporal *tint_in(const char *str); extern char *tint_out(const Temporal *temp); -extern char *tfloat_out(const Temporal *temp, int maxdd); +extern Temporal *ttext_from_mfjson(const char *str); +extern Temporal *ttext_in(const char *str); extern char *ttext_out(const Temporal *temp); -extern char *tpoint_out(const Temporal *temp, int maxdd); -extern char *tpoint_as_text(const Temporal *temp, int maxdd); -extern char *tpoint_as_ewkt(const Temporal *temp, int maxdd); -extern char *temporal_as_mfjson(const Temporal *temp, bool with_bbox, int flags, int precision, char *srs); -extern uint8_t *temporal_as_wkb(const Temporal *temp, uint8_t variant, size_t *size_out); -extern char *temporal_as_hexwkb(const Temporal *temp, uint8_t variant, size_t *size_out); /***************************************************************************** * Constructor functions for temporal types @@ -1789,36 +1283,33 @@ extern TSequenceSet *tboolseqset_from_base_tstzspanset(bool b, const SpanSet *ss extern Temporal *temporal_copy(const Temporal *temp); extern Temporal *tfloat_from_base_temp(double d, const Temporal *temp); extern TInstant *tfloatinst_make(double d, TimestampTz t); -extern TSequence *tfloatseq_from_base_tstzspan(double d, const Span *s, interpType interp); extern TSequence *tfloatseq_from_base_tstzset(double d, const Set *s); +extern TSequence *tfloatseq_from_base_tstzspan(double d, const Span *s, interpType interp); extern TSequenceSet *tfloatseqset_from_base_tstzspanset(double d, const SpanSet *ss, interpType interp); extern Temporal *tint_from_base_temp(int i, const Temporal *temp); extern TInstant *tintinst_make(int i, TimestampTz t); -extern TSequence *tintseq_from_base_tstzspan(int i, const Span *s); extern TSequence *tintseq_from_base_tstzset(int i, const Set *s); +extern TSequence *tintseq_from_base_tstzspan(int i, const Span *s); extern TSequenceSet *tintseqset_from_base_tstzspanset(int i, const SpanSet *ss); -extern Temporal *tpoint_from_base_temp(const GSERIALIZED *gs, const Temporal *temp); -extern TInstant *tpointinst_make(const GSERIALIZED *gs, TimestampTz t); -extern TSequence *tpointseq_from_base_tstzspan(const GSERIALIZED *gs, const Span *s, interpType interp); -extern TSequence *tpointseq_from_base_tstzset(const GSERIALIZED *gs, const Set *s); -extern TSequenceSet *tpointseqset_from_base_tstzspanset(const GSERIALIZED *gs, const SpanSet *ss, interpType interp); -extern TSequence *tsequence_make(const TInstant **instants, int count, bool lower_inc, bool upper_inc, interpType interp, bool normalize); -extern TSequenceSet *tsequenceset_make(const TSequence **sequences, int count, bool normalize); -extern TSequenceSet *tsequenceset_make_gaps(const TInstant **instants, int count, interpType interp, Interval *maxt, double maxdist); +extern TSequence *tsequence_make(TInstant **instants, int count, bool lower_inc, bool upper_inc, interpType interp, bool normalize); +extern TSequenceSet *tsequenceset_make(TSequence **sequences, int count, bool normalize); +extern TSequenceSet *tsequenceset_make_gaps(TInstant **instants, int count, interpType interp, const Interval *maxt, double maxdist); extern Temporal *ttext_from_base_temp(const text *txt, const Temporal *temp); extern TInstant *ttextinst_make(const text *txt, TimestampTz t); -extern TSequence *ttextseq_from_base_tstzspan(const text *txt, const Span *s); extern TSequence *ttextseq_from_base_tstzset(const text *txt, const Set *s); +extern TSequence *ttextseq_from_base_tstzspan(const text *txt, const Span *s); extern TSequenceSet *ttextseqset_from_base_tstzspanset(const text *txt, const SpanSet *ss); /***************************************************************************** * Conversion functions for temporal types *****************************************************************************/ +extern Temporal *tbool_to_tint(const Temporal *temp); extern Span *temporal_to_tstzspan(const Temporal *temp); extern Temporal *tfloat_to_tint(const Temporal *temp); extern Temporal *tint_to_tfloat(const Temporal *temp); extern Span *tnumber_to_span(const Temporal *temp); +extern TBox *tnumber_to_tbox (const Temporal *temp); /***************************************************************************** * Accessor functions for temporal types @@ -1837,27 +1328,29 @@ extern uint32 temporal_hash(const Temporal *temp); extern TInstant *temporal_instant_n(const Temporal *temp, int n); extern TInstant **temporal_instants(const Temporal *temp, int *count); extern const char *temporal_interp(const Temporal *temp); +extern bool temporal_lower_inc(const Temporal *temp); extern TInstant *temporal_max_instant(const Temporal *temp); extern TInstant *temporal_min_instant(const Temporal *temp); extern int temporal_num_instants(const Temporal *temp); extern int temporal_num_sequences(const Temporal *temp); extern int temporal_num_timestamps(const Temporal *temp); +extern TSequenceSet *temporal_segm_duration(const Temporal *temp, const Interval *duration, bool atleast, bool strict); extern TSequence **temporal_segments(const Temporal *temp, int *count); extern TSequence *temporal_sequence_n(const Temporal *temp, int i); extern TSequence **temporal_sequences(const Temporal *temp, int *count); -extern int temporal_lower_inc(const Temporal *temp); -extern int temporal_upper_inc(const Temporal *temp); extern TInstant *temporal_start_instant(const Temporal *temp); extern TSequence *temporal_start_sequence(const Temporal *temp); extern TimestampTz temporal_start_timestamptz(const Temporal *temp); extern TSequenceSet *temporal_stops(const Temporal *temp, double maxdist, const Interval *minduration); extern const char *temporal_subtype(const Temporal *temp); extern SpanSet *temporal_time(const Temporal *temp); -extern bool temporal_timestamptz_n(const Temporal *temp, int n, TimestampTz *result); extern TimestampTz *temporal_timestamps(const Temporal *temp, int *count); +extern bool temporal_timestamptz_n(const Temporal *temp, int n, TimestampTz *result); +extern bool temporal_upper_inc(const Temporal *temp); +extern double tfloat_avg_value(const Temporal *temp); extern double tfloat_end_value(const Temporal *temp); -extern double tfloat_max_value(const Temporal *temp); extern double tfloat_min_value(const Temporal *temp); +extern double tfloat_max_value(const Temporal *temp); extern double tfloat_start_value(const Temporal *temp); extern bool tfloat_value_at_timestamptz(const Temporal *temp, TimestampTz t, bool strict, double *value); extern bool tfloat_value_n(const Temporal *temp, int n, double *result); @@ -1869,14 +1362,10 @@ extern int tint_start_value(const Temporal *temp); extern bool tint_value_at_timestamptz(const Temporal *temp, TimestampTz t, bool strict, int *value); extern bool tint_value_n(const Temporal *temp, int n, int *result); extern int *tint_values(const Temporal *temp, int *count); +extern double tnumber_avg_value(const Temporal *temp); extern double tnumber_integral(const Temporal *temp); extern double tnumber_twavg(const Temporal *temp); extern SpanSet *tnumber_valuespans(const Temporal *temp); -extern GSERIALIZED *tpoint_end_value(const Temporal *temp); -extern GSERIALIZED *tpoint_start_value(const Temporal *temp); -extern bool tpoint_value_at_timestamptz(const Temporal *temp, TimestampTz t, bool strict, GSERIALIZED **value); -extern bool tpoint_value_n(const Temporal *temp, int n, GSERIALIZED **result); -extern GSERIALIZED **tpoint_values(const Temporal *temp, int *count); extern text *ttext_end_value(const Temporal *temp); extern text *ttext_max_value(const Temporal *temp); extern text *ttext_min_value(const Temporal *temp); @@ -1890,42 +1379,36 @@ extern text **ttext_values(const Temporal *temp, int *count); *****************************************************************************/ extern double float_degrees(double value, bool normalize); +extern Temporal **temparr_round(Temporal **temp, int count, int maxdd); +extern Temporal *temporal_round(const Temporal *temp, int maxdd); extern Temporal *temporal_scale_time(const Temporal *temp, const Interval *duration); extern Temporal *temporal_set_interp(const Temporal *temp, interpType interp); extern Temporal *temporal_shift_scale_time(const Temporal *temp, const Interval *shift, const Interval *duration); extern Temporal *temporal_shift_time(const Temporal *temp, const Interval *shift); extern TInstant *temporal_to_tinstant(const Temporal *temp); -extern TSequence *temporal_to_tsequence(const Temporal *temp, char *interp_str); -extern TSequenceSet *temporal_to_tsequenceset(const Temporal *temp, char *interp_str); -extern Temporal *tfloat_floor(const Temporal *temp); +extern TSequence *temporal_to_tsequence(const Temporal *temp, interpType interp); +extern TSequenceSet *temporal_to_tsequenceset(const Temporal *temp, interpType interp); extern Temporal *tfloat_ceil(const Temporal *temp); extern Temporal *tfloat_degrees(const Temporal *temp, bool normalize); +extern Temporal *tfloat_floor(const Temporal *temp); extern Temporal *tfloat_radians(const Temporal *temp); -extern Temporal *tfloat_round(const Temporal *temp, int maxdd); extern Temporal *tfloat_scale_value(const Temporal *temp, double width); extern Temporal *tfloat_shift_scale_value(const Temporal *temp, double shift, double width); extern Temporal *tfloat_shift_value(const Temporal *temp, double shift); -extern Temporal **tfloatarr_round(const Temporal **temp, int count, int maxdd); extern Temporal *tint_scale_value(const Temporal *temp, int width); extern Temporal *tint_shift_scale_value(const Temporal *temp, int shift, int width); extern Temporal *tint_shift_value(const Temporal *temp, int shift); -extern Temporal *tpoint_round(const Temporal *temp, int maxdd); -extern Temporal *tpoint_transform(const Temporal *temp, int32 srid); -extern Temporal *tpoint_transform_pipeline(const Temporal *temp, char *pipelinestr, int32 srid, bool is_forward); -extern Temporal *tpoint_transform_pj(const Temporal *temp, int32 srid, const LWPROJ* pj); -extern LWPROJ *lwproj_transform(int32 srid_from, int32 srid_to); -extern Temporal **tpointarr_round(const Temporal **temp, int count, int maxdd); /***************************************************************************** * Modification functions for temporal types *****************************************************************************/ -extern Temporal *temporal_append_tinstant(Temporal *temp, const TInstant *inst, double maxdist, Interval *maxt, bool expand); +extern Temporal *temporal_append_tinstant(Temporal *temp, const TInstant *inst, interpType interp, double maxdist, const Interval *maxt, bool expand); extern Temporal *temporal_append_tsequence(Temporal *temp, const TSequence *seq, bool expand); -extern Temporal *temporal_delete_tstzspan(const Temporal *temp, const Span *s, bool connect); -extern Temporal *temporal_delete_tstzspanset(const Temporal *temp, const SpanSet *ss, bool connect); extern Temporal *temporal_delete_timestamptz(const Temporal *temp, TimestampTz t, bool connect); extern Temporal *temporal_delete_tstzset(const Temporal *temp, const Set *s, bool connect); +extern Temporal *temporal_delete_tstzspan(const Temporal *temp, const Span *s, bool connect); +extern Temporal *temporal_delete_tstzspanset(const Temporal *temp, const SpanSet *ss, bool connect); extern Temporal *temporal_insert(const Temporal *temp1, const Temporal *temp2, bool connect); extern Temporal *temporal_merge(const Temporal *temp1, const Temporal *temp2); extern Temporal *temporal_merge_array(Temporal **temparr, int count); @@ -1937,19 +1420,21 @@ extern Temporal *temporal_update(const Temporal *temp1, const Temporal *temp2, b extern Temporal *tbool_at_value(const Temporal *temp, bool b); extern Temporal *tbool_minus_value(const Temporal *temp, bool b); +extern Temporal *temporal_after_timestamptz(const Temporal *temp, TimestampTz t, bool strict); extern Temporal *temporal_at_max(const Temporal *temp); extern Temporal *temporal_at_min(const Temporal *temp); -extern Temporal *temporal_at_tstzspan(const Temporal *temp, const Span *s); -extern Temporal *temporal_at_tstzspanset(const Temporal *temp, const SpanSet *ss); extern Temporal *temporal_at_timestamptz(const Temporal *temp, TimestampTz t); extern Temporal *temporal_at_tstzset(const Temporal *temp, const Set *s); +extern Temporal *temporal_at_tstzspan(const Temporal *temp, const Span *s); +extern Temporal *temporal_at_tstzspanset(const Temporal *temp, const SpanSet *ss); extern Temporal *temporal_at_values(const Temporal *temp, const Set *set); +extern Temporal *temporal_before_timestamptz(const Temporal *temp, TimestampTz t, bool strict); extern Temporal *temporal_minus_max(const Temporal *temp); extern Temporal *temporal_minus_min(const Temporal *temp); -extern Temporal *temporal_minus_tstzspan(const Temporal *temp, const Span *s); -extern Temporal *temporal_minus_tstzspanset(const Temporal *temp, const SpanSet *ss); extern Temporal *temporal_minus_timestamptz(const Temporal *temp, TimestampTz t); extern Temporal *temporal_minus_tstzset(const Temporal *temp, const Set *s); +extern Temporal *temporal_minus_tstzspan(const Temporal *temp, const Span *s); +extern Temporal *temporal_minus_tstzspanset(const Temporal *temp, const SpanSet *ss); extern Temporal *temporal_minus_values(const Temporal *temp, const Set *set); extern Temporal *tfloat_at_value(const Temporal *temp, double d); extern Temporal *tfloat_minus_value(const Temporal *temp, double d); @@ -1961,12 +1446,6 @@ extern Temporal *tnumber_at_tbox(const Temporal *temp, const TBox *box); extern Temporal *tnumber_minus_span(const Temporal *temp, const Span *span); extern Temporal *tnumber_minus_spanset(const Temporal *temp, const SpanSet *ss); extern Temporal *tnumber_minus_tbox(const Temporal *temp, const TBox *box); -extern Temporal *tpoint_at_geom_time(const Temporal *temp, const GSERIALIZED *gs, const Span *zspan, const Span *period); -extern Temporal *tpoint_at_stbox(const Temporal *temp, const STBox *box, bool border_inc); -extern Temporal *tpoint_at_value(const Temporal *temp, GSERIALIZED *gs); -extern Temporal *tpoint_minus_geom_time(const Temporal *temp, const GSERIALIZED *gs, const Span *zspan, const Span *period); -extern Temporal *tpoint_minus_stbox(const Temporal *temp, const STBox *box, bool border_inc); -extern Temporal *tpoint_minus_value(const Temporal *temp, GSERIALIZED *gs); extern Temporal *ttext_at_value(const Temporal *temp, text *txt); extern Temporal *ttext_minus_value(const Temporal *temp, text *txt); @@ -1991,27 +1470,12 @@ extern bool temporal_ne(const Temporal *temp1, const Temporal *temp2); extern int always_eq_bool_tbool(bool b, const Temporal *temp); extern int always_eq_float_tfloat(double d, const Temporal *temp); extern int always_eq_int_tint(int i, const Temporal *temp); -extern int always_eq_point_tpoint(const GSERIALIZED *gs, const Temporal *temp); extern int always_eq_tbool_bool(const Temporal *temp, bool b); extern int always_eq_temporal_temporal(const Temporal *temp1, const Temporal *temp2); extern int always_eq_text_ttext(const text *txt, const Temporal *temp); extern int always_eq_tfloat_float(const Temporal *temp, double d); extern int always_eq_tint_int(const Temporal *temp, int i); -extern int always_eq_tpoint_point(const Temporal *temp, const GSERIALIZED *gs); -extern int always_eq_tpoint_tpoint(const Temporal *temp1, const Temporal *temp2); extern int always_eq_ttext_text(const Temporal *temp, const text *txt); -extern int always_ne_bool_tbool(bool b, const Temporal *temp); -extern int always_ne_float_tfloat(double d, const Temporal *temp); -extern int always_ne_int_tint(int i, const Temporal *temp); -extern int always_ne_point_tpoint(const GSERIALIZED *gs, const Temporal *temp); -extern int always_ne_tbool_bool(const Temporal *temp, bool b); -extern int always_ne_temporal_temporal(const Temporal *temp1, const Temporal *temp2); -extern int always_ne_text_ttext(const text *txt, const Temporal *temp); -extern int always_ne_tfloat_float(const Temporal *temp, double d); -extern int always_ne_tint_int(const Temporal *temp, int i); -extern int always_ne_tpoint_point(const Temporal *temp, const GSERIALIZED *gs); -extern int always_ne_tpoint_tpoint(const Temporal *temp1, const Temporal *temp2); -extern int always_ne_ttext_text(const Temporal *temp, const text *txt); extern int always_ge_float_tfloat(double d, const Temporal *temp); extern int always_ge_int_tint(int i, const Temporal *temp); extern int always_ge_temporal_temporal(const Temporal *temp1, const Temporal *temp2); @@ -2040,17 +1504,23 @@ extern int always_lt_text_ttext(const text *txt, const Temporal *temp); extern int always_lt_tfloat_float(const Temporal *temp, double d); extern int always_lt_tint_int(const Temporal *temp, int i); extern int always_lt_ttext_text(const Temporal *temp, const text *txt); +extern int always_ne_bool_tbool(bool b, const Temporal *temp); +extern int always_ne_float_tfloat(double d, const Temporal *temp); +extern int always_ne_int_tint(int i, const Temporal *temp); +extern int always_ne_tbool_bool(const Temporal *temp, bool b); +extern int always_ne_temporal_temporal(const Temporal *temp1, const Temporal *temp2); +extern int always_ne_text_ttext(const text *txt, const Temporal *temp); +extern int always_ne_tfloat_float(const Temporal *temp, double d); +extern int always_ne_tint_int(const Temporal *temp, int i); +extern int always_ne_ttext_text(const Temporal *temp, const text *txt); extern int ever_eq_bool_tbool(bool b, const Temporal *temp); extern int ever_eq_float_tfloat(double d, const Temporal *temp); extern int ever_eq_int_tint(int i, const Temporal *temp); -extern int ever_eq_point_tpoint(const GSERIALIZED *gs, const Temporal *temp); extern int ever_eq_tbool_bool(const Temporal *temp, bool b); extern int ever_eq_temporal_temporal(const Temporal *temp1, const Temporal *temp2); extern int ever_eq_text_ttext(const text *txt, const Temporal *temp); extern int ever_eq_tfloat_float(const Temporal *temp, double d); extern int ever_eq_tint_int(const Temporal *temp, int i); -extern int ever_eq_tpoint_point(const Temporal *temp, const GSERIALIZED *gs); -extern int ever_eq_tpoint_tpoint(const Temporal *temp1, const Temporal *temp2); extern int ever_eq_ttext_text(const Temporal *temp, const text *txt); extern int ever_ge_float_tfloat(double d, const Temporal *temp); extern int ever_ge_int_tint(int i, const Temporal *temp); @@ -2083,14 +1553,11 @@ extern int ever_lt_ttext_text(const Temporal *temp, const text *txt); extern int ever_ne_bool_tbool(bool b, const Temporal *temp); extern int ever_ne_float_tfloat(double d, const Temporal *temp); extern int ever_ne_int_tint(int i, const Temporal *temp); -extern int ever_ne_point_tpoint(const GSERIALIZED *gs, const Temporal *temp); extern int ever_ne_tbool_bool(const Temporal *temp, bool b); extern int ever_ne_temporal_temporal(const Temporal *temp1, const Temporal *temp2); extern int ever_ne_text_ttext(const text *txt, const Temporal *temp); extern int ever_ne_tfloat_float(const Temporal *temp, double d); extern int ever_ne_tint_int(const Temporal *temp, int i); -extern int ever_ne_tpoint_point(const Temporal *temp, const GSERIALIZED *gs); -extern int ever_ne_tpoint_tpoint(const Temporal *temp1, const Temporal *temp2); extern int ever_ne_ttext_text(const Temporal *temp, const text *txt); /*****************************************************************************/ @@ -2100,12 +1567,10 @@ extern int ever_ne_ttext_text(const Temporal *temp, const text *txt); extern Temporal *teq_bool_tbool(bool b, const Temporal *temp); extern Temporal *teq_float_tfloat(double d, const Temporal *temp); extern Temporal *teq_int_tint(int i, const Temporal *temp); -extern Temporal *teq_point_tpoint(const GSERIALIZED *gs, const Temporal *temp); extern Temporal *teq_tbool_bool(const Temporal *temp, bool b); extern Temporal *teq_temporal_temporal(const Temporal *temp1, const Temporal *temp2); extern Temporal *teq_text_ttext(const text *txt, const Temporal *temp); extern Temporal *teq_tfloat_float(const Temporal *temp, double d); -extern Temporal *teq_tpoint_point(const Temporal *temp, const GSERIALIZED *gs); extern Temporal *teq_tint_int(const Temporal *temp, int i); extern Temporal *teq_ttext_text(const Temporal *temp, const text *txt); extern Temporal *tge_float_tfloat(double d, const Temporal *temp); @@ -2139,12 +1604,10 @@ extern Temporal *tlt_ttext_text(const Temporal *temp, const text *txt); extern Temporal *tne_bool_tbool(bool b, const Temporal *temp); extern Temporal *tne_float_tfloat(double d, const Temporal *temp); extern Temporal *tne_int_tint(int i, const Temporal *temp); -extern Temporal *tne_point_tpoint(const GSERIALIZED *gs, const Temporal *temp); extern Temporal *tne_tbool_bool(const Temporal *temp, bool b); extern Temporal *tne_temporal_temporal(const Temporal *temp1, const Temporal *temp2); extern Temporal *tne_text_ttext(const text *txt, const Temporal *temp); extern Temporal *tne_tfloat_float(const Temporal *temp, double d); -extern Temporal *tne_tpoint_point(const Temporal *temp, const GSERIALIZED *gs); extern Temporal *tne_tint_int(const Temporal *temp, int i); extern Temporal *tne_ttext_text(const Temporal *temp, const text *txt); @@ -2152,166 +1615,106 @@ extern Temporal *tne_ttext_text(const Temporal *temp, const text *txt); * Bounding box functions for temporal types *****************************************************************************/ -/* Boxes function */ +/* Split functions */ -extern Span *temporal_spans(const Temporal *temp, int max_count, int *count); -extern TBox *tnumber_tboxes(const Temporal *temp, int max_count, int *count); -extern STBox *tpoint_stboxes(const Temporal *temp, int max_count, int *count); +extern Span *temporal_spans(const Temporal *temp, int *count); +extern Span *temporal_split_each_n_spans(const Temporal *temp, int elem_count, int *count); +extern Span *temporal_split_n_spans(const Temporal *temp, int span_count, int *count); +extern TBox *tnumber_split_each_n_tboxes(const Temporal *temp, int elem_count, int *count); +extern TBox *tnumber_split_n_tboxes(const Temporal *temp, int box_count, int *count); +extern TBox *tnumber_tboxes(const Temporal *temp, int *count); /* Topological functions for temporal types */ extern bool adjacent_numspan_tnumber(const Span *s, const Temporal *temp); -extern bool adjacent_stbox_tpoint(const STBox *box, const Temporal *temp); extern bool adjacent_tbox_tnumber(const TBox *box, const Temporal *temp); extern bool adjacent_temporal_temporal(const Temporal *temp1, const Temporal *temp2); extern bool adjacent_temporal_tstzspan(const Temporal *temp, const Span *s); extern bool adjacent_tnumber_numspan(const Temporal *temp, const Span *s); extern bool adjacent_tnumber_tbox(const Temporal *temp, const TBox *box); extern bool adjacent_tnumber_tnumber(const Temporal *temp1, const Temporal *temp2); -extern bool adjacent_tpoint_stbox(const Temporal *temp, const STBox *box); -extern bool adjacent_tpoint_tpoint(const Temporal *temp1, const Temporal *temp2); extern bool adjacent_tstzspan_temporal(const Span *s, const Temporal *temp); extern bool contained_numspan_tnumber(const Span *s, const Temporal *temp); -extern bool contained_stbox_tpoint(const STBox *box, const Temporal *temp); extern bool contained_tbox_tnumber(const TBox *box, const Temporal *temp); extern bool contained_temporal_temporal(const Temporal *temp1, const Temporal *temp2); extern bool contained_temporal_tstzspan(const Temporal *temp, const Span *s); extern bool contained_tnumber_numspan(const Temporal *temp, const Span *s); extern bool contained_tnumber_tbox(const Temporal *temp, const TBox *box); extern bool contained_tnumber_tnumber(const Temporal *temp1, const Temporal *temp2); -extern bool contained_tpoint_stbox(const Temporal *temp, const STBox *box); -extern bool contained_tpoint_tpoint(const Temporal *temp1, const Temporal *temp2); extern bool contained_tstzspan_temporal(const Span *s, const Temporal *temp); extern bool contains_numspan_tnumber(const Span *s, const Temporal *temp); -extern bool contains_stbox_tpoint(const STBox *box, const Temporal *temp); extern bool contains_tbox_tnumber(const TBox *box, const Temporal *temp); extern bool contains_temporal_tstzspan(const Temporal *temp, const Span *s); extern bool contains_temporal_temporal(const Temporal *temp1, const Temporal *temp2); extern bool contains_tnumber_numspan(const Temporal *temp, const Span *s); extern bool contains_tnumber_tbox(const Temporal *temp, const TBox *box); extern bool contains_tnumber_tnumber(const Temporal *temp1, const Temporal *temp2); -extern bool contains_tpoint_stbox(const Temporal *temp, const STBox *box); -extern bool contains_tpoint_tpoint(const Temporal *temp1, const Temporal *temp2); extern bool contains_tstzspan_temporal(const Span *s, const Temporal *temp); extern bool overlaps_numspan_tnumber(const Span *s, const Temporal *temp); -extern bool overlaps_stbox_tpoint(const STBox *box, const Temporal *temp); extern bool overlaps_tbox_tnumber(const TBox *box, const Temporal *temp); extern bool overlaps_temporal_temporal(const Temporal *temp1, const Temporal *temp2); extern bool overlaps_temporal_tstzspan(const Temporal *temp, const Span *s); extern bool overlaps_tnumber_numspan(const Temporal *temp, const Span *s); extern bool overlaps_tnumber_tbox(const Temporal *temp, const TBox *box); extern bool overlaps_tnumber_tnumber(const Temporal *temp1, const Temporal *temp2); -extern bool overlaps_tpoint_stbox(const Temporal *temp, const STBox *box); -extern bool overlaps_tpoint_tpoint(const Temporal *temp1, const Temporal *temp2); extern bool overlaps_tstzspan_temporal(const Span *s, const Temporal *temp); extern bool same_numspan_tnumber(const Span *s, const Temporal *temp); -extern bool same_stbox_tpoint(const STBox *box, const Temporal *temp); extern bool same_tbox_tnumber(const TBox *box, const Temporal *temp); extern bool same_temporal_temporal(const Temporal *temp1, const Temporal *temp2); extern bool same_temporal_tstzspan(const Temporal *temp, const Span *s); extern bool same_tnumber_numspan(const Temporal *temp, const Span *s); extern bool same_tnumber_tbox(const Temporal *temp, const TBox *box); extern bool same_tnumber_tnumber(const Temporal *temp1, const Temporal *temp2); -extern bool same_tpoint_stbox(const Temporal *temp, const STBox *box); -extern bool same_tpoint_tpoint(const Temporal *temp1, const Temporal *temp2); extern bool same_tstzspan_temporal(const Span *s, const Temporal *temp); /*****************************************************************************/ -/* Position box functions for temporal types */ +/* Position functions for temporal types */ -extern bool above_stbox_tpoint(const STBox *box, const Temporal *temp); -extern bool above_tpoint_stbox(const Temporal *temp, const STBox *box); -extern bool above_tpoint_tpoint(const Temporal *temp1, const Temporal *temp2); -extern bool after_stbox_tpoint(const STBox *box, const Temporal *temp); extern bool after_tbox_tnumber(const TBox *box, const Temporal *temp); extern bool after_temporal_tstzspan(const Temporal *temp, const Span *s); extern bool after_temporal_temporal(const Temporal *temp1, const Temporal *temp2); extern bool after_tnumber_tbox(const Temporal *temp, const TBox *box); extern bool after_tnumber_tnumber(const Temporal *temp1, const Temporal *temp2); -extern bool after_tpoint_stbox(const Temporal *temp, const STBox *box); -extern bool after_tpoint_tpoint(const Temporal *temp1, const Temporal *temp2); extern bool after_tstzspan_temporal(const Span *s, const Temporal *temp); -extern bool back_stbox_tpoint(const STBox *box, const Temporal *temp); -extern bool back_tpoint_stbox(const Temporal *temp, const STBox *box); -extern bool back_tpoint_tpoint(const Temporal *temp1, const Temporal *temp2); -extern bool before_stbox_tpoint(const STBox *box, const Temporal *temp); extern bool before_tbox_tnumber(const TBox *box, const Temporal *temp); extern bool before_temporal_tstzspan(const Temporal *temp, const Span *s); extern bool before_temporal_temporal(const Temporal *temp1, const Temporal *temp2); extern bool before_tnumber_tbox(const Temporal *temp, const TBox *box); extern bool before_tnumber_tnumber(const Temporal *temp1, const Temporal *temp2); -extern bool before_tpoint_stbox(const Temporal *temp, const STBox *box); -extern bool before_tpoint_tpoint(const Temporal *temp1, const Temporal *temp2); extern bool before_tstzspan_temporal(const Span *s, const Temporal *temp); -extern bool below_stbox_tpoint(const STBox *box, const Temporal *temp); -extern bool below_tpoint_stbox(const Temporal *temp, const STBox *box); -extern bool below_tpoint_tpoint(const Temporal *temp1, const Temporal *temp2); -extern bool front_stbox_tpoint(const STBox *box, const Temporal *temp); -extern bool front_tpoint_stbox(const Temporal *temp, const STBox *box); -extern bool front_tpoint_tpoint(const Temporal *temp1, const Temporal *temp2); -extern bool left_stbox_tpoint(const STBox *box, const Temporal *temp); extern bool left_tbox_tnumber(const TBox *box, const Temporal *temp); extern bool left_numspan_tnumber(const Span *s, const Temporal *temp); extern bool left_tnumber_numspan(const Temporal *temp, const Span *s); extern bool left_tnumber_tbox(const Temporal *temp, const TBox *box); extern bool left_tnumber_tnumber(const Temporal *temp1, const Temporal *temp2); -extern bool left_tpoint_stbox(const Temporal *temp, const STBox *box); -extern bool left_tpoint_tpoint(const Temporal *temp1, const Temporal *temp2); -extern bool overabove_stbox_tpoint(const STBox *box, const Temporal *temp); -extern bool overabove_tpoint_stbox(const Temporal *temp, const STBox *box); -extern bool overabove_tpoint_tpoint(const Temporal *temp1, const Temporal *temp2); -extern bool overafter_stbox_tpoint(const STBox *box, const Temporal *temp); extern bool overafter_tbox_tnumber(const TBox *box, const Temporal *temp); extern bool overafter_temporal_tstzspan(const Temporal *temp, const Span *s); extern bool overafter_temporal_temporal(const Temporal *temp1, const Temporal *temp2); extern bool overafter_tnumber_tbox(const Temporal *temp, const TBox *box); extern bool overafter_tnumber_tnumber(const Temporal *temp1, const Temporal *temp2); -extern bool overafter_tpoint_stbox(const Temporal *temp, const STBox *box); -extern bool overafter_tpoint_tpoint(const Temporal *temp1, const Temporal *temp2); extern bool overafter_tstzspan_temporal(const Span *s, const Temporal *temp); -extern bool overback_stbox_tpoint(const STBox *box, const Temporal *temp); -extern bool overback_tpoint_stbox(const Temporal *temp, const STBox *box); -extern bool overback_tpoint_tpoint(const Temporal *temp1, const Temporal *temp2); -extern bool overbefore_stbox_tpoint(const STBox *box, const Temporal *temp); extern bool overbefore_tbox_tnumber(const TBox *box, const Temporal *temp); extern bool overbefore_temporal_tstzspan(const Temporal *temp, const Span *s); extern bool overbefore_temporal_temporal(const Temporal *temp1, const Temporal *temp2); extern bool overbefore_tnumber_tbox(const Temporal *temp, const TBox *box); extern bool overbefore_tnumber_tnumber(const Temporal *temp1, const Temporal *temp2); -extern bool overbefore_tpoint_stbox(const Temporal *temp, const STBox *box); -extern bool overbefore_tpoint_tpoint(const Temporal *temp1, const Temporal *temp2); extern bool overbefore_tstzspan_temporal(const Span *s, const Temporal *temp); -extern bool overbelow_stbox_tpoint(const STBox *box, const Temporal *temp); -extern bool overbelow_tpoint_stbox(const Temporal *temp, const STBox *box); -extern bool overbelow_tpoint_tpoint(const Temporal *temp1, const Temporal *temp2); -extern bool overfront_stbox_tpoint(const STBox *box, const Temporal *temp); -extern bool overfront_tpoint_stbox(const Temporal *temp, const STBox *box); -extern bool overfront_tpoint_tpoint(const Temporal *temp1, const Temporal *temp2); extern bool overleft_numspan_tnumber(const Span *s, const Temporal *temp); -extern bool overleft_stbox_tpoint(const STBox *box, const Temporal *temp); extern bool overleft_tbox_tnumber(const TBox *box, const Temporal *temp); extern bool overleft_tnumber_numspan(const Temporal *temp, const Span *s); extern bool overleft_tnumber_tbox(const Temporal *temp, const TBox *box); extern bool overleft_tnumber_tnumber(const Temporal *temp1, const Temporal *temp2); -extern bool overleft_tpoint_stbox(const Temporal *temp, const STBox *box); -extern bool overleft_tpoint_tpoint(const Temporal *temp1, const Temporal *temp2); extern bool overright_numspan_tnumber(const Span *s, const Temporal *temp); -extern bool overright_stbox_tpoint(const STBox *box, const Temporal *temp); extern bool overright_tbox_tnumber(const TBox *box, const Temporal *temp); extern bool overright_tnumber_numspan(const Temporal *temp, const Span *s); extern bool overright_tnumber_tbox(const Temporal *temp, const TBox *box); extern bool overright_tnumber_tnumber(const Temporal *temp1, const Temporal *temp2); -extern bool overright_tpoint_stbox(const Temporal *temp, const STBox *box); -extern bool overright_tpoint_tpoint(const Temporal *temp1, const Temporal *temp2); extern bool right_numspan_tnumber(const Span *s, const Temporal *temp); -extern bool right_stbox_tpoint(const STBox *box, const Temporal *temp); extern bool right_tbox_tnumber(const TBox *box, const Temporal *temp); extern bool right_tnumber_numspan(const Temporal *temp, const Span *s); extern bool right_tnumber_tbox(const Temporal *temp, const TBox *box); extern bool right_tnumber_tnumber(const Temporal *temp1, const Temporal *temp2); -extern bool right_tpoint_stbox(const Temporal *temp, const STBox *box); -extern bool right_tpoint_tpoint(const Temporal *temp1, const Temporal *temp2); /***************************************************************************** * Boolean functions for temporal types @@ -2350,8 +1753,13 @@ extern Temporal *sub_int_tint(int i, const Temporal *tnumber); extern Temporal *sub_tfloat_float(const Temporal *tnumber, double d); extern Temporal *sub_tint_int(const Temporal *tnumber, int i); extern Temporal *sub_tnumber_tnumber(const Temporal *tnumber1, const Temporal *tnumber2); -extern Temporal *tfloat_derivative(const Temporal *temp); +extern Temporal *temporal_derivative(const Temporal *temp); +extern Temporal *tfloat_exp(const Temporal *temp); +extern Temporal *tfloat_ln(const Temporal *temp); +extern Temporal *tfloat_log10(const Temporal *temp); extern Temporal *tnumber_abs(const Temporal *temp); +extern Temporal *tnumber_trend(const Temporal *temp); +extern double float_angular_difference(double degrees1, double degrees2); extern Temporal *tnumber_angular_difference(const Temporal *temp); extern Temporal *tnumber_delta_value(const Temporal *temp); @@ -2362,109 +1770,25 @@ extern Temporal *tnumber_delta_value(const Temporal *temp); extern Temporal *textcat_text_ttext(const text *txt, const Temporal *temp); extern Temporal *textcat_ttext_text(const Temporal *temp, const text *txt); extern Temporal *textcat_ttext_ttext(const Temporal *temp1, const Temporal *temp2); +extern Temporal *ttext_initcap(const Temporal *temp); extern Temporal *ttext_upper(const Temporal *temp); extern Temporal *ttext_lower(const Temporal *temp); -extern Temporal *ttext_initcap(const Temporal *temp); /***************************************************************************** * Distance functions for temporal types *****************************************************************************/ -extern Temporal *distance_tfloat_float(const Temporal *temp, double d); -extern Temporal *distance_tint_int(const Temporal *temp, int i); -extern Temporal *distance_tnumber_tnumber(const Temporal *temp1, const Temporal *temp2); -extern Temporal *distance_tpoint_point(const Temporal *temp, const GSERIALIZED *gs); -extern Temporal *distance_tpoint_tpoint(const Temporal *temp1, const Temporal *temp2); -extern double nad_stbox_geo(const STBox *box, const GSERIALIZED *gs); -extern double nad_stbox_stbox(const STBox *box1, const STBox *box2); -extern int nad_tint_int(const Temporal *temp, int i); -extern int nad_tint_tbox(const Temporal *temp, const TBox *box); -extern int nad_tint_tint(const Temporal *temp1, const Temporal *temp2); +extern Temporal *tdistance_tfloat_float(const Temporal *temp, double d); +extern Temporal *tdistance_tint_int(const Temporal *temp, int i); +extern Temporal *tdistance_tnumber_tnumber(const Temporal *temp1, const Temporal *temp2); +extern double nad_tboxfloat_tboxfloat(const TBox *box1, const TBox *box2); extern int nad_tboxint_tboxint(const TBox *box1, const TBox *box2); extern double nad_tfloat_float(const Temporal *temp, double d); extern double nad_tfloat_tfloat(const Temporal *temp1, const Temporal *temp2); extern double nad_tfloat_tbox(const Temporal *temp, const TBox *box); -extern double nad_tboxfloat_tboxfloat(const TBox *box1, const TBox *box2); -extern double nad_tpoint_geo(const Temporal *temp, const GSERIALIZED *gs); -extern double nad_tpoint_stbox(const Temporal *temp, const STBox *box); -extern double nad_tpoint_tpoint(const Temporal *temp1, const Temporal *temp2); -extern TInstant *nai_tpoint_geo(const Temporal *temp, const GSERIALIZED *gs); -extern TInstant *nai_tpoint_tpoint(const Temporal *temp1, const Temporal *temp2); -extern GSERIALIZED *shortestline_tpoint_geo(const Temporal *temp, const GSERIALIZED *gs); -extern GSERIALIZED *shortestline_tpoint_tpoint(const Temporal *temp1, const Temporal *temp2); - -/***************************************************************************** - * Spatial functions for temporal points - *****************************************************************************/ - -/* Spatial accessor functions for temporal points */ - -extern bool bearing_point_point(const GSERIALIZED *gs1, const GSERIALIZED *gs2, double *result); -extern Temporal *bearing_tpoint_point(const Temporal *temp, const GSERIALIZED *gs, bool invert); -extern Temporal *bearing_tpoint_tpoint(const Temporal *temp1, const Temporal *temp2); -extern GBOX *geo_gboxes(const GSERIALIZED *gs, int max_count, int *count); -extern Temporal *tpoint_angular_difference(const Temporal *temp); -extern Temporal *tpoint_azimuth(const Temporal *temp); -extern GSERIALIZED *tpoint_convex_hull(const Temporal *temp); -extern Temporal *tpoint_cumulative_length(const Temporal *temp); -extern bool tpoint_direction(const Temporal *temp, double *result); -extern Temporal *tpoint_get_x(const Temporal *temp); -extern Temporal *tpoint_get_y(const Temporal *temp); -extern Temporal *tpoint_get_z(const Temporal *temp); -extern bool tpoint_is_simple(const Temporal *temp); -extern double tpoint_length(const Temporal *temp); -extern Temporal *tpoint_speed(const Temporal *temp); -extern int tpoint_srid(const Temporal *temp); -extern GSERIALIZED *tpoint_trajectory(const Temporal *temp); -extern GSERIALIZED *tpoint_twcentroid(const Temporal *temp); - -/*****************************************************************************/ - -/* Spatial transformation functions for temporal points */ - -extern STBox *geo_expand_space(const GSERIALIZED *gs, double d); -extern Temporal *geomeas_to_tpoint(const GSERIALIZED *gs); -extern Temporal *tgeogpoint_to_tgeompoint(const Temporal *temp); -extern Temporal *tgeompoint_to_tgeogpoint(const Temporal *temp); -bool tpoint_AsMVTGeom(const Temporal *temp, const STBox *bounds, int32_t extent, int32_t buffer, bool clip_geom, GSERIALIZED **gsarr, int64 **timesarr, int *count); -extern STBox *tpoint_expand_space(const Temporal *temp, double d); -extern Temporal **tpoint_make_simple(const Temporal *temp, int *count); -extern Temporal *tpoint_set_srid(const Temporal *temp, int32 srid); -bool tpoint_tfloat_to_geomeas(const Temporal *tpoint, const Temporal *measure, bool segmentize, GSERIALIZED **result); - -/*****************************************************************************/ - -/* Ever and always spatial relationship functions for temporal points */ - -extern int acontains_geo_tpoint(const GSERIALIZED *gs, const Temporal *temp); -extern int adisjoint_tpoint_geo(const Temporal *temp, const GSERIALIZED *gs); -extern int adisjoint_tpoint_tpoint(const Temporal *temp1, const Temporal *temp2); -extern int adwithin_tpoint_geo(const Temporal *temp, const GSERIALIZED *gs, double dist); -extern int adwithin_tpoint_tpoint(const Temporal *temp1, const Temporal *temp2, double dist); -extern int aintersects_tpoint_geo(const Temporal *temp, const GSERIALIZED *gs); -extern int aintersects_tpoint_tpoint(const Temporal *temp1, const Temporal *temp2); -extern int atouches_tpoint_geo(const Temporal *temp, const GSERIALIZED *gs); -extern int econtains_geo_tpoint(const GSERIALIZED *gs, const Temporal *temp); -extern int edisjoint_tpoint_geo(const Temporal *temp, const GSERIALIZED *gs); -extern int edisjoint_tpoint_tpoint(const Temporal *temp1, const Temporal *temp2); -extern int edwithin_tpoint_geo(const Temporal *temp, const GSERIALIZED *gs, double dist); -extern int edwithin_tpoint_tpoint(const Temporal *temp1, const Temporal *temp2, double dist); -extern int eintersects_tpoint_geo(const Temporal *temp, const GSERIALIZED *gs); -extern int eintersects_tpoint_tpoint(const Temporal *temp1, const Temporal *temp2); -extern int etouches_tpoint_geo(const Temporal *temp, const GSERIALIZED *gs); - -/*****************************************************************************/ - -/* Temporal spatial relationship functions for temporal points */ - -extern Temporal *tcontains_geo_tpoint(const GSERIALIZED *gs, const Temporal *temp, bool restr, bool atvalue); -extern Temporal *tdisjoint_tpoint_geo(const Temporal *temp, const GSERIALIZED *gs, bool restr, bool atvalue); -extern Temporal *tdisjoint_tpoint_tpoint (const Temporal *temp1, const Temporal *temp2, bool restr, bool atvalue); -extern Temporal *tdwithin_tpoint_geo(const Temporal *temp, const GSERIALIZED *gs, double dist, bool restr, bool atvalue); -extern Temporal *tdwithin_tpoint_tpoint(const Temporal *temp1, const Temporal *temp2, double dist, bool restr, bool atvalue); -extern Temporal *tintersects_tpoint_geo(const Temporal *temp, const GSERIALIZED *gs, bool restr, bool atvalue); -extern Temporal *tintersects_tpoint_tpoint (const Temporal *temp1, const Temporal *temp2, bool restr, bool atvalue); -extern Temporal *ttouches_tpoint_geo(const Temporal *temp, const GSERIALIZED *gs, bool restr, bool atvalue); +extern int nad_tint_int(const Temporal *temp, int i); +extern int nad_tint_tbox(const Temporal *temp, const TBox *box); +extern int nad_tint_tint(const Temporal *temp1, const Temporal *temp2); /***************************************************************************** * Aggregate functions for temporal types @@ -2492,9 +1816,6 @@ extern TBox *tnumber_extent_transfn(TBox *box, const Temporal *temp); extern Temporal *tnumber_tavg_finalfn(SkipList *state); extern SkipList *tnumber_tavg_transfn(SkipList *state, const Temporal *temp); extern SkipList *tnumber_wavg_transfn(SkipList *state, const Temporal *temp, const Interval *interv); -extern STBox *tpoint_extent_transfn(STBox *box, const Temporal *temp); -extern Temporal *tpoint_tcentroid_finalfn(SkipList *state); -extern SkipList *tpoint_tcentroid_transfn(SkipList *state, Temporal *temp); extern SkipList *tstzset_tcount_transfn(SkipList *state, const Set *s); extern SkipList *tstzspan_tcount_transfn(SkipList *state, const Span *s); extern SkipList *tstzspanset_tcount_transfn(SkipList *state, const SpanSet *ss); @@ -2507,10 +1828,10 @@ extern SkipList *ttext_tmin_transfn(SkipList *state, const Temporal *temp); /* Simplification functions for temporal types */ -Temporal *temporal_simplify_dp(const Temporal *temp, double eps_dist, bool synchronized); -Temporal *temporal_simplify_max_dist(const Temporal *temp, double eps_dist, bool synchronized); -Temporal *temporal_simplify_min_dist(const Temporal *temp, double dist); -Temporal *temporal_simplify_min_tdelta(const Temporal *temp, const Interval *mint); +extern Temporal *temporal_simplify_dp(const Temporal *temp, double eps_dist, bool synchronized); +extern Temporal *temporal_simplify_max_dist(const Temporal *temp, double eps_dist, bool synchronized); +extern Temporal *temporal_simplify_min_dist(const Temporal *temp, double dist); +extern Temporal *temporal_simplify_min_tdelta(const Temporal *temp, const Interval *mint); /*****************************************************************************/ @@ -2533,25 +1854,26 @@ extern double temporal_hausdorff_distance(const Temporal *temp1, const Temporal /* Tile functions for temporal types */ -extern double float_bucket(double value, double size, double origin); -extern Span *floatspan_bucket_list(const Span *bounds, double size, double origin, int *count); -extern int int_bucket(int value, int size, int origin); -extern Span *intspan_bucket_list(const Span *bounds, int size, int origin, int *count); -extern STBox *stbox_tile(GSERIALIZED *point, TimestampTz t, double xsize, double ysize, double zsize, Interval *duration, GSERIALIZED *sorigin, TimestampTz torigin, bool hast); -extern STBox *stbox_tile_list(const STBox *bounds, double xsize, double ysize, double zsize, const Interval *duration, GSERIALIZED *sorigin, TimestampTz torigin, bool border_inc, int *count); -extern Temporal **temporal_time_split(Temporal *temp, Interval *duration, TimestampTz torigin, TimestampTz **time_buckets, int *count); -extern Temporal **tfloat_value_split(Temporal *temp, double size, double origin, double **value_buckets, int *count); -extern Temporal **tfloat_value_time_split(Temporal *temp, double size, Interval *duration, double vorigin, TimestampTz torigin, double **value_buckets, TimestampTz **time_buckets, int *count); -extern TBox *tfloatbox_tile(double value, TimestampTz t, double vsize, Interval *duration, double vorigin, TimestampTz torigin); -extern TBox *tfloatbox_tile_list(const TBox *box, double xsize, const Interval *duration, double xorigin, TimestampTz torigin, int *count); -extern TimestampTz timestamptz_bucket(TimestampTz timestamp, const Interval *duration, TimestampTz origin); -extern Temporal **tint_value_split(Temporal *temp, int size, int origin, int **value_buckets, int *count); -extern Temporal **tint_value_time_split(Temporal *temp, int size, Interval *duration, int vorigin, TimestampTz torigin, int **value_buckets, TimestampTz **time_buckets, int *count); -extern TBox *tintbox_tile(int value, TimestampTz t, int vsize, Interval *duration, int vorigin, TimestampTz torigin); -extern TBox *tintbox_tile_list(const TBox *box, int xsize, const Interval *duration, int xorigin, TimestampTz torigin, int *count); -extern Temporal **tpoint_space_split(Temporal *temp, float xsize, float ysize, float zsize, GSERIALIZED *sorigin, bool bitmatrix, bool border_inc, GSERIALIZED ***space_buckets, int *count); -extern Temporal **tpoint_space_time_split(Temporal *temp, float xsize, float ysize, float zsize, Interval *duration, GSERIALIZED *sorigin, TimestampTz torigin, bool bitmatrix, bool border_inc, GSERIALIZED ***space_buckets, TimestampTz **time_buckets, int *count); -extern Span *tstzspan_bucket_list(const Span *bounds, const Interval *duration, TimestampTz origin, int *count); +extern Span *temporal_time_bins(const Temporal *temp, const Interval *duration, TimestampTz origin, int *count); +extern Temporal **temporal_time_split(const Temporal *temp, const Interval *duration, TimestampTz torigin, TimestampTz **time_bins, int *count); +extern TBox *tfloat_time_boxes(const Temporal *temp, const Interval *duration, TimestampTz torigin, int *count); +extern Span *tfloat_value_bins(const Temporal *temp, double vsize, double vorigin, int *count); +extern TBox *tfloat_value_boxes(const Temporal *temp, double vsize, double vorigin, int *count); +extern Temporal **tfloat_value_split(const Temporal *temp, double size, double origin, double **bins, int *count); +extern TBox *tfloat_value_time_boxes(const Temporal *temp, double vsize, const Interval *duration, double vorigin, TimestampTz torigin, int *count); +extern Temporal **tfloat_value_time_split(const Temporal *temp, double vsize, const Interval *duration, double vorigin, TimestampTz torigin, double **value_bins, TimestampTz **time_bins, int *count); +extern TBox *tfloatbox_time_tiles(const TBox *box, const Interval *duration, TimestampTz torigin, int *count); +extern TBox *tfloatbox_value_tiles(const TBox *box, double vsize, double vorigin, int *count); +extern TBox *tfloatbox_value_time_tiles(const TBox *box, double vsize, const Interval *duration, double vorigin, TimestampTz torigin, int *count); +extern TBox *tint_time_boxes(const Temporal *temp, const Interval *duration, TimestampTz torigin, int *count); +extern Span *tint_value_bins(const Temporal *temp, int vsize, int vorigin, int *count); +extern TBox *tint_value_boxes(const Temporal *temp, int vsize, int vorigin, int *count); +extern Temporal **tint_value_split(const Temporal *temp, int vsize, int vorigin, int **bins, int *count); +extern TBox *tint_value_time_boxes(const Temporal *temp, int vsize, const Interval *duration, int vorigin, TimestampTz torigin, int *count); +extern Temporal **tint_value_time_split(const Temporal *temp, int size, const Interval *duration, int vorigin, TimestampTz torigin, int **value_bins, TimestampTz **time_bins, int *count); +extern TBox *tintbox_time_tiles(const TBox *box, const Interval *duration, TimestampTz torigin, int *count); +extern TBox *tintbox_value_tiles(const TBox *box, int xsize, int xorigin, int *count); +extern TBox *tintbox_value_time_tiles(const TBox *box, int xsize, const Interval *duration, int xorigin, TimestampTz torigin, int *count); /*****************************************************************************/ diff --git a/meos_catalog.h b/meos_catalog.h index 39ca3a4..7a1f9e7 100644 --- a/meos_catalog.h +++ b/meos_catalog.h @@ -1,12 +1,12 @@ /***************************************************************************** * * This MobilityDB code is provided under The PostgreSQL License. - * Copyright (c) 2016-2024, Université libre de Bruxelles and MobilityDB + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB * contributors * * MobilityDB includes portions of PostGIS version 3 source code released * under the GNU General Public License (GPLv2 or later). - * Copyright (c) 2001-2024, PostGIS contributors + * Copyright (c) 2001-2025, PostGIS contributors * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose, without fee, and without a written @@ -108,11 +108,18 @@ typedef enum T_NSEGMENT = 50, /**< network segment type */ T_TNPOINT = 51, /**< temporal network point type */ T_POSE = 54, /**< pose type */ - T_TPOSE = 55, /**< temporal pose type */ + T_POSESET = 55, /**< pose set type */ + T_TPOSE = 56, /**< temporal pose type */ + T_CBUFFER = 57, /**< buffer type */ + T_CBUFFERSET = 58, /**< buffer set type */ + T_TCBUFFER = 59, /**< temporal buffer type */ + T_TGEOMETRY = 60, /**< temporal geometry type */ + T_TGEOGRAPHY = 61, /**< temporal geography type */ + T_TRGEOMETRY = 62, /**< temporal rigid geometry type */ + NO_MEOS_TYPES /* Dummy value that determines the size of the + * lookup array meosType -> Oid */ } meosType; -#define NO_MEOS_TYPES 56 - /** * Enumeration that defines the classes of Boolean operators used in * MobilityDB. @@ -202,8 +209,10 @@ typedef struct /*****************************************************************************/ +#ifndef NDEBUG extern bool temptype_subtype(tempSubtype subtype); extern bool temptype_subtype_all(tempSubtype subtype); +#endif extern const char *tempsubtype_name(tempSubtype subtype); extern bool tempsubtype_from_string(const char *str, int16 *subtype); extern const char *meosoper_name(meosOper oper); @@ -224,21 +233,23 @@ extern meosType basetype_settype(meosType type); /* Catalog functions */ -extern bool meos_basetype(meosType type); -extern bool alpha_basetype(meosType type); extern bool tnumber_basetype(meosType type); -extern bool alphanum_basetype(meosType type); extern bool geo_basetype(meosType type); -extern bool spatial_basetype(meosType type); +#ifndef NDEBUG +extern bool meos_basetype(meosType type); +extern bool alphanum_basetype(meosType type); +extern bool alphanum_temptype(meosType type); +#endif extern bool time_type(meosType type); +#ifndef NDEBUG extern bool set_basetype(meosType type); +#endif extern bool set_type(meosType type); extern bool numset_type(meosType type); extern bool ensure_numset_type(meosType type); extern bool timeset_type(meosType type); -extern bool ensure_timeset_type(meosType type); extern bool set_spantype(meosType type); extern bool ensure_set_spantype(meosType type); extern bool alphanumset_type(meosType settype); @@ -250,40 +261,49 @@ extern bool ensure_spatialset_type(meosType type); extern bool span_basetype(meosType type); extern bool span_canon_basetype(meosType type); extern bool span_type(meosType type); -extern bool span_bbox_type(meosType type); +extern bool type_span_bbox(meosType type); +extern bool span_tbox_type(meosType type); +extern bool ensure_span_tbox_type(meosType type); extern bool numspan_basetype(meosType type); extern bool numspan_type(meosType type); extern bool ensure_numspan_type(meosType type); extern bool timespan_basetype(meosType type); extern bool timespan_type(meosType type); -extern bool ensure_timespan_type(meosType type); extern bool spanset_type(meosType type); -extern bool numspanset_type(meosType type); extern bool timespanset_type(meosType type); extern bool ensure_timespanset_type(meosType type); extern bool temporal_type(meosType type); +#ifndef NDEBUG extern bool temporal_basetype(meosType type); +#endif extern bool temptype_continuous(meosType type); extern bool basetype_byvalue(meosType type); extern bool basetype_varlength(meosType type); extern int16 basetype_length(meosType type); +#ifndef NDEBUG extern bool talphanum_type(meosType type); +#endif extern bool talpha_type(meosType type); extern bool tnumber_type(meosType type); extern bool ensure_tnumber_type(meosType type); -extern bool tnumber_basetype(meosType type); extern bool ensure_tnumber_basetype(meosType type); -extern bool tnumber_settype(meosType type); extern bool tnumber_spantype(meosType type); -extern bool tnumber_spansettype(meosType type); +extern bool spatial_basetype(meosType type); extern bool tspatial_type(meosType type); extern bool ensure_tspatial_type(meosType type); -extern bool tspatial_basetype(meosType type); +extern bool tpoint_type(meosType type); +extern bool ensure_tpoint_type(meosType type); extern bool tgeo_type(meosType type); extern bool ensure_tgeo_type(meosType type); -extern bool ensure_tnumber_tgeo_type(meosType type); +extern bool tgeo_type_all(meosType type); +extern bool ensure_tgeo_type_all(meosType type); +extern bool tgeometry_type(meosType type); +extern bool ensure_tgeometry_type(meosType type); +extern bool tgeodetic_type(meosType type); +extern bool ensure_tgeodetic_type(meosType type); +extern bool ensure_tnumber_tpoint_type(meosType type); /*****************************************************************************/ diff --git a/meos_geo.h b/meos_geo.h new file mode 100644 index 0000000..ebd0ad6 --- /dev/null +++ b/meos_geo.h @@ -0,0 +1,1321 @@ +/***************************************************************************** + * + * This MobilityDB code is provided under The PostgreSQL License. + * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB + * contributors + * + * MobilityDB includes portions of PostGIS version 3 source code released + * under the GNU General Public License (GPLv2 or later). + * Copyright (c) 2001-2025, PostGIS contributors + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without a written + * agreement is hereby granted, provided that the above copyright notice and + * this paragraph and the following two paragraphs appear in all copies. + * + * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING + * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, + * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON + * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + *****************************************************************************/ + +/** + * @brief API of the Mobility Engine Open Source (MEOS) library. + */ + +#ifndef __MEOS_GEO_H__ +#define __MEOS_GEO_H__ + +/* C */ +#include +#include + +/* PostGIS */ +#ifndef _LIBLWGEOM_H +#define _LIBLWGEOM_H + +/******************************************************************/ + +/** +* Macros for manipulating the 'flags' byte. A uint8_t used as follows: +* VVSRGBMZ +* Version bit, followed by +* Validty, Solid, ReadOnly, Geodetic, HasBBox, HasM and HasZ flags. +*/ +#define LWFLAG_Z 0x01 +#define LWFLAG_M 0x02 +#define LWFLAG_BBOX 0x04 +#define LWFLAG_GEODETIC 0x08 +#define LWFLAG_READONLY 0x10 +#define LWFLAG_SOLID 0x20 + +#define FLAGS_GET_Z(flags) ((flags) & LWFLAG_Z) +#define FLAGS_GET_M(flags) (((flags) & LWFLAG_M)>>1) +#define FLAGS_GET_BBOX(flags) (((flags) & LWFLAG_BBOX)>>2) +#define FLAGS_GET_GEODETIC(flags) (((flags) & LWFLAG_GEODETIC)>>3) +#define FLAGS_GET_READONLY(flags) (((flags) & LWFLAG_READONLY)>>4) +#define FLAGS_GET_SOLID(flags) (((flags) & LWFLAG_SOLID)>>5) + +#define FLAGS_SET_Z(flags, value) ((flags) = (value) ? ((flags) | LWFLAG_Z) : ((flags) & ~LWFLAG_Z)) +#define FLAGS_SET_M(flags, value) ((flags) = (value) ? ((flags) | LWFLAG_M) : ((flags) & ~LWFLAG_M)) +#define FLAGS_SET_BBOX(flags, value) ((flags) = (value) ? ((flags) | LWFLAG_BBOX) : ((flags) & ~LWFLAG_BBOX)) +#define FLAGS_SET_GEODETIC(flags, value) ((flags) = (value) ? ((flags) | LWFLAG_GEODETIC) : ((flags) & ~LWFLAG_GEODETIC)) +#define FLAGS_SET_READONLY(flags, value) ((flags) = (value) ? ((flags) | LWFLAG_READONLY) : ((flags) & ~LWFLAG_READONLY)) +#define FLAGS_SET_SOLID(flags, value) ((flags) = (value) ? ((flags) | LWFLAG_SOLID) : ((flags) & ~LWFLAG_SOLID)) + +#define FLAGS_NDIMS(flags) (2 + FLAGS_GET_Z(flags) + FLAGS_GET_M(flags)) +#define FLAGS_GET_ZM(flags) (FLAGS_GET_M(flags) + FLAGS_GET_Z(flags) * 2) +#define FLAGS_NDIMS_BOX(flags) (FLAGS_GET_GEODETIC(flags) ? 3 : FLAGS_NDIMS(flags)) + +/* +** Variants available for WKB and WKT output types +*/ + +#define WKB_ISO 0x01 +#define WKB_SFSQL 0x02 +#define WKB_EXTENDED 0x04 +#define WKB_NDR 0x08 +#define WKB_XDR 0x10 +#define WKB_HEX 0x20 +#define WKB_NO_NPOINTS 0x40 /* Internal use only */ +#define WKB_NO_SRID 0x80 /* Internal use only */ + +#define WKT_ISO 0x01 +#define WKT_SFSQL 0x02 +#define WKT_EXTENDED 0x04 + +typedef uint16_t lwflags_t; + +/******************************************************************/ + +typedef struct { + double afac, bfac, cfac, dfac, efac, ffac, gfac, hfac, ifac, xoff, yoff, zoff; +} AFFINE; + +/******************************************************************/ + +typedef struct +{ + double xmin, ymin, zmin; + double xmax, ymax, zmax; + int32_t srid; +} +BOX3D; + +/****************************************************************** +* GBOX structure. +* We include the flags (information about dimensionality), +* so we don't have to constantly pass them +* into functions that use the GBOX. +*/ +typedef struct +{ + lwflags_t flags; + double xmin; + double xmax; + double ymin; + double ymax; + double zmin; + double zmax; + double mmin; + double mmax; +} GBOX; + + +/****************************************************************** +* SPHEROID +* +* Standard definition of an ellipsoid (what wkt calls a spheroid) +* f = (a-b)/a +* e_sq = (a*a - b*b)/(a*a) +* b = a - fa +*/ +typedef struct +{ + double a; /* semimajor axis */ + double b; /* semiminor axis b = (a - fa) */ + double f; /* flattening f = (a-b)/a */ + double e; /* eccentricity (first) */ + double e_sq; /* eccentricity squared (first) e_sq = (a*a-b*b)/(a*a) */ + double radius; /* spherical average radius = (2*a+b)/3 */ + char name[20]; /* name of ellipse */ +} +SPHEROID; + +/****************************************************************** +* POINT2D, POINT3D, POINT3DM, POINT4D +*/ +typedef struct +{ + double x, y; +} +POINT2D; + +typedef struct +{ + double x, y, z; +} +POINT3DZ; + +typedef struct +{ + double x, y, z; +} +POINT3D; + +typedef struct +{ + double x, y, m; +} +POINT3DM; + +typedef struct +{ + double x, y, z, m; +} +POINT4D; + +/****************************************************************** +* POINTARRAY +* Point array abstracts a lot of the complexity of points and point lists. +* It handles 2d/3d translation +* (2d points converted to 3d will have z=0 or NaN) +* DO NOT MIX 2D and 3D POINTS! EVERYTHING* is either one or the other +*/ +typedef struct +{ + uint32_t npoints; /* how many points we are currently storing */ + uint32_t maxpoints; /* how many points we have space for in serialized_pointlist */ + + /* Use FLAGS_* macros to handle */ + lwflags_t flags; + + /* Array of POINT 2D, 3D or 4D, possibly misaligned. */ + uint8_t *serialized_pointlist; +} +POINTARRAY; + +/****************************************************************** +* GSERIALIZED +*/ + +typedef struct +{ + uint32_t size; /* For PgSQL use only, use VAR* macros to manipulate. */ + uint8_t srid[3]; /* 24 bits of SRID */ + uint8_t gflags; /* HasZ, HasM, HasBBox, IsGeodetic */ + uint8_t data[1]; /* See gserialized.txt */ +} GSERIALIZED; + +/****************************************************************** +* LWGEOM (any geometry type) +* +* Abstract type, note that 'type', 'bbox' and 'srid' are available in +* all geometry variants. +*/ +typedef struct +{ + GBOX *bbox; + void *data; + int32_t srid; + lwflags_t flags; + uint8_t type; + char pad[1]; /* Padding to 24 bytes (unused) */ +} +LWGEOM; + +/* POINTYPE */ +typedef struct +{ + GBOX *bbox; + POINTARRAY *point; /* hide 2d/3d (this will be an array of 1 point) */ + int32_t srid; + lwflags_t flags; + uint8_t type; /* POINTTYPE */ + char pad[1]; /* Padding to 24 bytes (unused) */ +} +LWPOINT; /* "light-weight point" */ + +/* LINETYPE */ +typedef struct +{ + GBOX *bbox; + POINTARRAY *points; /* array of POINT3D */ + int32_t srid; + lwflags_t flags; + uint8_t type; /* LINETYPE */ + char pad[1]; /* Padding to 24 bytes (unused) */ +} +LWLINE; /* "light-weight line" */ + +/* TRIANGLE */ +typedef struct +{ + GBOX *bbox; + POINTARRAY *points; + int32_t srid; + lwflags_t flags; + uint8_t type; + char pad[1]; /* Padding to 24 bytes (unused) */ +} +LWTRIANGLE; + +/* CIRCSTRINGTYPE */ +typedef struct +{ + GBOX *bbox; + POINTARRAY *points; /* array of POINT(3D/3DM) */ + int32_t srid; + lwflags_t flags; + uint8_t type; /* CIRCSTRINGTYPE */ + char pad[1]; /* Padding to 24 bytes (unused) */ +} +LWCIRCSTRING; /* "light-weight circularstring" */ + +/* POLYGONTYPE */ +typedef struct +{ + GBOX *bbox; + POINTARRAY **rings; /* list of rings (list of points) */ + int32_t srid; + lwflags_t flags; + uint8_t type; /* POLYGONTYPE */ + char pad[1]; /* Padding to 24 bytes (unused) */ + uint32_t nrings; /* how many rings we are currently storing */ + uint32_t maxrings; /* how many rings we have space for in **rings */ +} +LWPOLY; /* "light-weight polygon" */ + +/* MULTIPOINTTYPE */ +typedef struct +{ + GBOX *bbox; + LWPOINT **geoms; + int32_t srid; + lwflags_t flags; + uint8_t type; /* MULTYPOINTTYPE */ + char pad[1]; /* Padding to 24 bytes (unused) */ + uint32_t ngeoms; /* how many geometries we are currently storing */ + uint32_t maxgeoms; /* how many geometries we have space for in **geoms */ +} +LWMPOINT; + +/* MULTILINETYPE */ +typedef struct +{ + GBOX *bbox; + LWLINE **geoms; + int32_t srid; + lwflags_t flags; + uint8_t type; /* MULTILINETYPE */ + char pad[1]; /* Padding to 24 bytes (unused) */ + uint32_t ngeoms; /* how many geometries we are currently storing */ + uint32_t maxgeoms; /* how many geometries we have space for in **geoms */ +} +LWMLINE; + +/* MULTIPOLYGONTYPE */ +typedef struct +{ + GBOX *bbox; + LWPOLY **geoms; + int32_t srid; + lwflags_t flags; + uint8_t type; /* MULTIPOLYGONTYPE */ + char pad[1]; /* Padding to 24 bytes (unused) */ + uint32_t ngeoms; /* how many geometries we are currently storing */ + uint32_t maxgeoms; /* how many geometries we have space for in **geoms */ +} +LWMPOLY; + +/* COLLECTIONTYPE */ +typedef struct +{ + GBOX *bbox; + LWGEOM **geoms; + int32_t srid; + lwflags_t flags; + uint8_t type; /* COLLECTIONTYPE */ + char pad[1]; /* Padding to 24 bytes (unused) */ + uint32_t ngeoms; /* how many geometries we are currently storing */ + uint32_t maxgeoms; /* how many geometries we have space for in **geoms */ +} +LWCOLLECTION; + +/* COMPOUNDTYPE */ +typedef struct +{ + GBOX *bbox; + LWGEOM **geoms; + int32_t srid; + lwflags_t flags; + uint8_t type; /* COLLECTIONTYPE */ + char pad[1]; /* Padding to 24 bytes (unused) */ + uint32_t ngeoms; /* how many geometries we are currently storing */ + uint32_t maxgeoms; /* how many geometries we have space for in **geoms */ +} +LWCOMPOUND; /* "light-weight compound line" */ + +/* CURVEPOLYTYPE */ +typedef struct +{ + GBOX *bbox; + LWGEOM **rings; + int32_t srid; + lwflags_t flags; + uint8_t type; /* CURVEPOLYTYPE */ + char pad[1]; /* Padding to 24 bytes (unused) */ + uint32_t nrings; /* how many rings we are currently storing */ + uint32_t maxrings; /* how many rings we have space for in **rings */ +} +LWCURVEPOLY; /* "light-weight polygon" */ + +/* MULTICURVE */ +typedef struct +{ + GBOX *bbox; + LWGEOM **geoms; + int32_t srid; + lwflags_t flags; + uint8_t type; /* MULTICURVE */ + char pad[1]; /* Padding to 24 bytes (unused) */ + uint32_t ngeoms; /* how many geometries we are currently storing */ + uint32_t maxgeoms; /* how many geometries we have space for in **geoms */ +} +LWMCURVE; + +/* MULTISURFACETYPE */ +typedef struct +{ + GBOX *bbox; + LWGEOM **geoms; + int32_t srid; + lwflags_t flags; + uint8_t type; /* MULTISURFACETYPE */ + char pad[1]; /* Padding to 24 bytes (unused) */ + uint32_t ngeoms; /* how many geometries we are currently storing */ + uint32_t maxgeoms; /* how many geometries we have space for in **geoms */ +} +LWMSURFACE; + +/* POLYHEDRALSURFACETYPE */ +typedef struct +{ + GBOX *bbox; + LWPOLY **geoms; + int32_t srid; + lwflags_t flags; + uint8_t type; /* POLYHEDRALSURFACETYPE */ + char pad[1]; /* Padding to 24 bytes (unused) */ + uint32_t ngeoms; /* how many geometries we are currently storing */ + uint32_t maxgeoms; /* how many geometries we have space for in **geoms */ +} +LWPSURFACE; + +/* TINTYPE */ +typedef struct +{ + GBOX *bbox; + LWTRIANGLE **geoms; + int32_t srid; + lwflags_t flags; + uint8_t type; /* TINTYPE */ + char pad[1]; /* Padding to 24 bytes (unused) */ + uint32_t ngeoms; /* how many geometries we are currently storing */ + uint32_t maxgeoms; /* how many geometries we have space for in **geoms */ +} +LWTIN; + +/* Functions */ + +extern int32 geo_get_srid(const GSERIALIZED *g); + +/* PROJ */ + +struct PJconsts; +typedef struct PJconsts PJ; + +typedef struct LWPROJ +{ + PJ* pj; + + /* for pipeline transforms, whether to do a forward or inverse */ + bool pipeline_is_forward; + + /* Source crs is geographic: Used in geography calls (source srid == dst srid) */ + uint8_t source_is_latlong; + /* Source ellipsoid parameters */ + double source_semi_major_metre; + double source_semi_minor_metre; +} LWPROJ; + + +#endif /* _LIBLWGEOM_H */ + +/* MEOS */ +#include + +/***************************************************************************** + * Type definitions + *****************************************************************************/ + +/** + * @brief Enumeration that defines the spatial relationships for which a call + * to GEOS is made. + */ +typedef enum +{ + INTERSECTS = 0, + CONTAINS = 1, + TOUCHES = 2, + COVERS = 3, +} spatialRel; + +/***************************************************************************** + * Validity macros + *****************************************************************************/ + +/** + * @brief Macro ensuring that a set is a geometry set + */ +#if MEOS + #define VALIDATE_GEOMSET(set, ret) \ + do { \ + if (! ensure_not_null((void *) (set)) || \ + ! ensure_set_isof_type(set, T_GEOMSET) ) \ + return (ret); \ + } while (0) +#else + #define VALIDATE_GEOMSET(set, ret) \ + do { \ + assert(temp); \ + assert((set)->settype == T_GEOMSET); \ + } while (0) +#endif /* MEOS */ + +/** + * @brief Macro ensuring that a set is a geography set + */ +#if MEOS + #define VALIDATE_GEOGSET(set, ret) ( \ + do { \ + if (! ensure_not_null((void *) (set)) || \ + ! ensure_set_isof_type(set, T_GEOGSET) ) \ + return (ret); \ + } while (0) +#else + #define VALIDATE_GEOGSET(set, ret) \ + do { \ + assert(temp); \ + assert((set)->settype == T_GEOGSET); \ + } while (0) +#endif /* MEOS */ + +/** + * @brief Macro ensuring that a set is of a geometry or geography set + */ +#if MEOS + #define VALIDATE_GEOSET(set, ret) \ + do { \ + if (! ensure_not_null((void *) (set)) || \ + ! ensure_geoset_type((set)->settype) ) \ + return (ret); \ + } while (0) +#else + #define VALIDATE_GEOSET(set, ret) \ + do { \ + assert(temp); \ + assert(geoset_type((set)->settype); \ + } while (0) +#endif /* MEOS */ + +/** + * @brief Macro ensuring that a set is of a spatial set + */ +#if MEOS + #define VALIDATE_SPATIALSET(set, ret) \ + do { \ + if (! ensure_not_null((void *) (set)) || \ + ! ensure_spatialset_type((set)->settype) ) \ + return (ret); \ + } while (0) +#else + #define VALIDATE_SPATIALSET(set, ret) \ + do { \ + assert(set); \ + assert(spatialset_type((set)->settype)); \ + } while (0) +#endif /* MEOS */ + +/*****************************************************************************/ + +/** + * @brief Macro ensuring that a temporal value is a temporal geometry + * @note The macro works for the Temporal type and its subtypes TInstant, + * TSequence, and TSequenceSet + */ +#if MEOS + #define VALIDATE_TGEOMETRY(temp, ret) \ + do { \ + if (! ensure_not_null((void *) (temp)) || \ + ! ensure_temporal_isof_type((Temporal *) (temp), T_TGEOMETRY) ) \ + return (ret); \ + } while (0) +#else + #define VALIDATE_TGEOMETRY(temp, ret) \ + do { \ + assert(temp); \ + assert((temp)->temptype == T_TGEOMETRY); \ + } while (0) +#endif /* MEOS */ + +/** + * @brief Macro ensuring that a temporal value is a temporal geography + * @note The macro works for the Temporal type and its subtypes TInstant, + * TSequence, and TSequenceSet + */ +#if MEOS + #define VALIDATE_TGEOGRAPHY(temp, ret) \ + do { \ + if (! ensure_not_null((void *) (temp)) || \ + ! ensure_temporal_isof_type((Temporal *) (temp), T_TGEOGRAPHY) ) \ + return (ret); \ + } while (0) +#else + #define VALIDATE_TGEOGRAPHY(temp, ret) \ + do { \ + assert(temp); \ + assert((temp)->temptype == T_TGEOGRAPHY); \ + } while (0) +#endif /* MEOS */ + +/** + * @brief Macro ensuring that a temporal value is a temporal geometry point + * @note The macro works for the Temporal type and its subtypes TInstant, + * TSequence, and TSequenceSet + */ +#if MEOS + #define VALIDATE_TGEOMPOINT(temp, ret) \ + do { \ + if (! ensure_not_null((void *) (temp)) || \ + ! ensure_temporal_isof_type((Temporal *) (temp), T_TGEOMPOINT) ) \ + return (ret); \ + } while (0) +#else + #define VALIDATE_TGEOMPOINT(temp, ret) \ + do { \ + assert(temp); \ + assert((temp)->temptype == T_TGEOMPOINT); \ + } while (0) +#endif /* MEOS */ + +/** + * @brief Macro ensuring that a temporal value is a temporal geography point + * @note The macro works for the Temporal type and its subtypes TInstant, + * TSequence, and TSequenceSet + */ +#if MEOS + #define VALIDATE_TGEOGPOINT(temp, ret) \ + do { \ + if (! ensure_not_null((void *) (temp)) || \ + ! ensure_temporal_isof_type((Temporal *) (temp), T_TGEOGPOINT) ) \ + return (ret); \ + } while (0) +#else + #define VALIDATE_TGEOGPOINT(temp, ret) \ + do { \ + assert(temp); \ + assert((temp)->temptype == T_TGEOGPOINT); \ + } while (0) +#endif /* MEOS */ + +/** + * @brief Macro ensuring that a temporal value is a temporal geometry or + * geography + * @note The macro works for the Temporal type and its subtypes TInstant, + * TSequence, and TSequenceSet + */ +#if MEOS + #define VALIDATE_TGEO(temp, ret) \ + do { \ + if (! ensure_not_null((void *) (temp)) || \ + ! ensure_tgeo_type_all(((Temporal *) (temp))->temptype) ) \ + return (ret); \ + } while (0) +#else + #define VALIDATE_TGEO(temp, ret) \ + do { \ + assert(temp); \ + assert(tgeo_type_all(((Temporal *) (temp))->temptype)); \ + } while (0) +#endif /* MEOS */ + +/** + * @brief Macro ensuring that a temporal value is a temporal geometry + * @note The macro works for the Temporal type and its subtypes TInstant, + * TSequence, and TSequenceSet + */ +#if MEOS + #define VALIDATE_TGEOM(temp, ret) \ + do { \ + if (! ensure_not_null((void *) (temp)) || \ + ! ensure_tgeometry_type(((Temporal *) (temp))->temptype) ) \ + return (ret); \ + } while (0) +#else + #define VALIDATE_TGEOM(temp, ret) \ + do { \ + assert(temp); \ + assert(tgeometry_type(((Temporal *) (temp))->temptype)); \ + } while (0) +#endif /* MEOS */ + +/** + * @brief Macro ensuring that a temporal value is of a temporal geography + * @note The macro works for the Temporal type and its subtypes TInstant, + * TSequence, and TSequenceSet + */ +#if MEOS + #define VALIDATE_TGEOG(temp, ret) \ + do { \ + if (! ensure_not_null((void *) (temp)) || \ + ! ensure_tgeodetic_type(((Temporal *) (temp))->temptype) ) \ + return (ret); \ + } while (0) +#else + #define VALIDATE_TGEOG(temp, ret) \ + do { \ + assert(temp); \ + assert(tgeodetic_type(((Temporal *) (temp))->temptype)); \ + } while (0) +#endif /* MEOS */ + +/** + * @brief Macro ensuring that a temporal value is of a temporal + * geometry/geography point + * @note The macro works for the Temporal type and its subtypes TInstant, + * TSequence, and TSequenceSet + */ +#if MEOS + #define VALIDATE_TPOINT(temp, ret) \ + do { \ + if (! ensure_not_null((void *) (temp)) || \ + ! ensure_tpoint_type(((Temporal *) (temp))->temptype) ) \ + return (ret); \ + } while (0) +#else + #define VALIDATE_TPOINT(temp, ret) \ + do { \ + assert(temp); \ + assert(tpoint_type(((Temporal *) (temp))->temptype)); \ + } while (0) +#endif /* MEOS */ + +/** + * @brief Macro ensuring that a temporal value is of a spatiotemporal type + * @note The macro works for the Temporal type and its subtypes TInstant, + * TSequence, and TSequenceSet + */ +#if MEOS + #define VALIDATE_TSPATIAL(temp, ret) \ + do { \ + if (! ensure_not_null((void *) (temp)) || \ + ! ensure_tspatial_type(((Temporal *) (temp))->temptype) ) \ + return (ret); \ + } while (0) +#else + #define VALIDATE_TSPATIAL(temp, ret) \ + do { \ + assert(temp); \ + assert(tspatial_type(((Temporal *) (temp))->temptype)); \ + } while (0) +#endif /* MEOS */ + +/*===========================================================================* + * Functions for static geometries + *===========================================================================*/ + +/* Input and output functions */ + +extern uint8_t *geo_as_ewkb(const GSERIALIZED *gs, const char *endian, size_t *size); +extern char *geo_as_ewkt(const GSERIALIZED *gs, int precision); +extern char *geo_as_geojson(const GSERIALIZED *gs, int option, int precision, const char *srs); +extern char *geo_as_hexewkb(const GSERIALIZED *gs, const char *endian); +extern char *geo_as_text(const GSERIALIZED *gs, int precision); +extern GSERIALIZED *geo_from_ewkb(const uint8_t *wkb, size_t wkb_size, int32 srid); +extern GSERIALIZED *geo_from_geojson(const char *geojson); +extern GSERIALIZED *geo_from_text(const char *wkt, int32_t srid); +extern char *geo_out(const GSERIALIZED *gs); +extern GSERIALIZED *geog_from_binary(const char *wkb_bytea); +extern GSERIALIZED *geog_from_hexewkb(const char *wkt); +extern GSERIALIZED *geog_in(const char *str, int32 typmod); +extern GSERIALIZED *geom_from_hexewkb(const char *wkt); +extern GSERIALIZED *geom_in(const char *str, int32 typmod); + +extern BOX3D *box3d_make(double xmin, double xmax, double ymin, double ymax, + double zmin, double zmax, int32_t srid); +extern char *box3d_out(const BOX3D *box, int maxdd); +extern GBOX *gbox_make(bool hasz, double xmin, double xmax, double ymin, + double ymax, double zmin, double zmax); +extern char *gbox_out(const GBOX *box, int maxdd); + +/* Constructor functions */ + +extern GSERIALIZED *geo_copy(const GSERIALIZED *g); +extern GSERIALIZED *geogpoint_make2d(int32_t srid, double x, double y); +extern GSERIALIZED *geogpoint_make3dz(int32_t srid, double x, double y, double z); +extern GSERIALIZED *geompoint_make2d(int32_t srid, double x, double y); +extern GSERIALIZED *geompoint_make3dz(int32_t srid, double x, double y, double z); + +/* Conversion functions */ + +extern GSERIALIZED *geom_to_geog(const GSERIALIZED *geom); +extern GSERIALIZED *geog_to_geom(const GSERIALIZED *geog); + +/* Accessor functions */ + +extern bool geo_is_empty(const GSERIALIZED *g); +extern bool geo_is_unitary(const GSERIALIZED *gs); +extern const char *geo_typename(int type); +extern double geog_area(const GSERIALIZED *g, bool use_spheroid); +extern GSERIALIZED *geog_centroid(const GSERIALIZED *g, bool use_spheroid); +extern double geog_length(const GSERIALIZED *g, bool use_spheroid); +extern double geog_perimeter(const GSERIALIZED *g, bool use_spheroid); +extern bool geom_azimuth(const GSERIALIZED *gs1, const GSERIALIZED *gs2, double *result); +extern double geom_length(const GSERIALIZED *gs); +extern double geom_perimeter(const GSERIALIZED *gs); +extern int line_numpoints(const GSERIALIZED *gs); +extern GSERIALIZED *line_point_n(const GSERIALIZED *geom, int n); + +/* Transformation functions */ + +extern GSERIALIZED *geo_reverse(const GSERIALIZED *gs); +extern GSERIALIZED *geo_round(const GSERIALIZED *gs, int maxdd); + +/* Spatial reference system functions */ + +extern GSERIALIZED *geo_set_srid(const GSERIALIZED *gs, int32_t srid); +extern int32_t geo_srid(const GSERIALIZED *gs); +extern GSERIALIZED *geo_transform(const GSERIALIZED *geom, int32_t srid_to); +extern GSERIALIZED *geo_transform_pipeline(const GSERIALIZED *gs, char *pipeline, int32_t srid_to, bool is_forward); + +/* Spatial processing functions */ + +extern GSERIALIZED *geo_collect_garray(GSERIALIZED **gsarr, int count); +extern GSERIALIZED *geo_makeline_garray(GSERIALIZED **gsarr, int count); +extern int geo_num_points(const GSERIALIZED *gs); +extern int geo_num_geos(const GSERIALIZED *gs); +extern GSERIALIZED *geo_geo_n(const GSERIALIZED *geom, int n); +extern GSERIALIZED **geo_pointarr(const GSERIALIZED *gs, int *count); +extern GSERIALIZED *geo_points(const GSERIALIZED *gs); +extern GSERIALIZED *geom_array_union(GSERIALIZED **gsarr, int count); +extern GSERIALIZED *geom_boundary(const GSERIALIZED *gs); +extern GSERIALIZED *geom_buffer(const GSERIALIZED *gs, double size, const char *params); +extern GSERIALIZED *geom_centroid(const GSERIALIZED *gs); +extern GSERIALIZED *geom_convex_hull(const GSERIALIZED *gs); +extern GSERIALIZED *geom_difference2d(const GSERIALIZED *gs1, const GSERIALIZED *gs2); +extern GSERIALIZED *geom_intersection2d(const GSERIALIZED *gs1, const GSERIALIZED *gs2); +extern GSERIALIZED *geom_intersection2d_coll(const GSERIALIZED *gs1, const GSERIALIZED *gs2); +extern GSERIALIZED *geom_min_bounding_radius(const GSERIALIZED *geom, double *radius); +extern GSERIALIZED *geom_shortestline2d(const GSERIALIZED *gs1, const GSERIALIZED *s2); +extern GSERIALIZED *geom_shortestline3d(const GSERIALIZED *gs1, const GSERIALIZED *s2); +extern GSERIALIZED *geom_unary_union(const GSERIALIZED *gs, double prec); +extern GSERIALIZED *line_interpolate_point(const GSERIALIZED *gs, double distance_fraction, bool repeat); +extern double line_locate_point(const GSERIALIZED *gs1, const GSERIALIZED *gs2); +extern GSERIALIZED *line_substring(const GSERIALIZED *gs, double from, double to); + +/* Spatial relationship functions */ + +extern bool geog_dwithin(const GSERIALIZED *g1, const GSERIALIZED *g2, double tolerance, bool use_spheroid); +extern bool geog_intersects(const GSERIALIZED *gs1, const GSERIALIZED *gs2, bool use_spheroid); +extern bool geom_contains(const GSERIALIZED *gs1, const GSERIALIZED *gs2); +extern bool geom_covers(const GSERIALIZED *gs1, const GSERIALIZED *gs2); +extern bool geom_disjoint2d(const GSERIALIZED *gs1, const GSERIALIZED *gs2); +extern bool geom_dwithin2d(const GSERIALIZED *gs1, const GSERIALIZED *gs2, double tolerance); +extern bool geom_dwithin3d(const GSERIALIZED *gs1, const GSERIALIZED *gs2, double tolerance); +extern bool geom_intersects2d(const GSERIALIZED *gs1, const GSERIALIZED *gs2); +extern bool geom_intersects3d(const GSERIALIZED *gs1, const GSERIALIZED *gs2); +extern bool geom_relate_pattern(const GSERIALIZED *gs1, const GSERIALIZED *gs2, char *patt); +extern bool geom_touches(const GSERIALIZED *gs1, const GSERIALIZED *gs2); + +/* Bounding box functions */ + +extern STBox *geo_stboxes(const GSERIALIZED *gs, int *count); +extern STBox *geo_split_each_n_stboxes(const GSERIALIZED *gs, int elem_count, int *count); +extern STBox *geo_split_n_stboxes(const GSERIALIZED *gs, int box_count, int *count); + +/* Distance functions */ + +extern double geog_distance(const GSERIALIZED *g1, const GSERIALIZED *g2); +extern double geom_distance2d(const GSERIALIZED *gs1, const GSERIALIZED *gs2); +extern double geom_distance3d(const GSERIALIZED *gs1, const GSERIALIZED *gs2); + +/* Comparison functions */ + +extern int geo_equals(const GSERIALIZED *gs1, const GSERIALIZED *gs2); +extern bool geo_same(const GSERIALIZED *gs1, const GSERIALIZED *gs2); + +/***************************************************************************** + * Functions for spatial sets + *****************************************************************************/ + +/* Input and output functions */ + +extern Set *geogset_in(const char *str); +extern Set *geomset_in(const char *str); +extern char *spatialset_as_text(const Set *set, int maxdd); +extern char *spatialset_as_ewkt(const Set *set, int maxdd); + +/* Constructor functions */ + +extern Set *geoset_make(GSERIALIZED **values, int count); + +/* Conversion functions */ + +extern Set *geo_to_set(const GSERIALIZED *gs); + +/* Accessor functions */ + +extern GSERIALIZED *geoset_end_value(const Set *s); +extern GSERIALIZED *geoset_start_value(const Set *s); +extern bool geoset_value_n(const Set *s, int n, GSERIALIZED **result); +extern GSERIALIZED **geoset_values(const Set *s); + +/* Set operations */ + +extern bool contained_geo_set(const GSERIALIZED *gs, const Set *s); +extern bool contains_set_geo(const Set *s, GSERIALIZED *gs); +extern Set *geo_union_transfn(Set *state, const GSERIALIZED *gs); +extern Set *intersection_geo_set(const GSERIALIZED *gs, const Set *s); +extern Set *intersection_set_geo(const Set *s, const GSERIALIZED *gs); +extern Set *minus_geo_set(const GSERIALIZED *gs, const Set *s); +extern Set *minus_set_geo(const Set *s, const GSERIALIZED *gs); +extern Set *union_geo_set(const GSERIALIZED *gs, const Set *s); +extern Set *union_set_geo(const Set *s, const GSERIALIZED *gs); + +/* SRID functions */ + +extern Set *spatialset_set_srid(const Set *s, int32_t srid); +extern int32_t spatialset_srid(const Set *s); +extern Set *spatialset_transform(const Set *s, int32_t srid); +extern Set *spatialset_transform_pipeline(const Set *s, const char *pipelinestr, int32_t srid, bool is_forward); + +/***************************************************************************** + * Functions for spatiotemporal boxes + *****************************************************************************/ + +/* Input/output functions */ + +extern char *stbox_as_hexwkb(const STBox *box, uint8_t variant, size_t *size); +extern uint8_t *stbox_as_wkb(const STBox *box, uint8_t variant, size_t *size_out); +extern STBox *stbox_from_hexwkb(const char *hexwkb); +extern STBox *stbox_from_wkb(const uint8_t *wkb, size_t size); +extern STBox *stbox_in(const char *str); +extern char *stbox_out(const STBox *box, int maxdd); + +/* Constructor functions */ + +extern STBox *geo_timestamptz_to_stbox(const GSERIALIZED *gs, TimestampTz t); +extern STBox *geo_tstzspan_to_stbox(const GSERIALIZED *gs, const Span *s); +extern STBox *stbox_copy(const STBox *box); +extern STBox *stbox_make(bool hasx, bool hasz, bool geodetic, int32 srid, double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, const Span *s); + +/* Conversion functions */ + +extern STBox *geo_to_stbox(const GSERIALIZED *gs); +extern STBox *spatialset_to_stbox(const Set *s); +extern BOX3D *stbox_to_box3d(const STBox *box); +extern GBOX *stbox_to_gbox(const STBox *box); +extern GSERIALIZED *stbox_to_geo(const STBox *box); +extern Span *stbox_to_tstzspan(const STBox *box); +extern STBox *timestamptz_to_stbox(TimestampTz t); +extern STBox *tstzset_to_stbox(const Set *s); +extern STBox *tstzspan_to_stbox(const Span *s); +extern STBox *tstzspanset_to_stbox(const SpanSet *ss); + +/* Accessor functions */ + +extern double stbox_area(const STBox *box, bool spheroid); +extern uint32 stbox_hash(const STBox *box); +extern uint64 stbox_hash_extended(const STBox *box, uint64 seed); +extern bool stbox_hast(const STBox *box); +extern bool stbox_hasx(const STBox *box); +extern bool stbox_hasz(const STBox *box); +extern bool stbox_isgeodetic(const STBox *box); +extern double stbox_perimeter(const STBox *box, bool spheroid); +extern bool stbox_tmax(const STBox *box, TimestampTz *result); +extern bool stbox_tmax_inc(const STBox *box, bool *result); +extern bool stbox_tmin(const STBox *box, TimestampTz *result); +extern bool stbox_tmin_inc(const STBox *box, bool *result); +extern double stbox_volume(const STBox *box); +extern bool stbox_xmax(const STBox *box, double *result); +extern bool stbox_xmin(const STBox *box, double *result); +extern bool stbox_ymax(const STBox *box, double *result); +extern bool stbox_ymin(const STBox *box, double *result); +extern bool stbox_zmax(const STBox *box, double *result); +extern bool stbox_zmin(const STBox *box, double *result); + +/* Transformation functions */ + +extern STBox *stbox_expand_space(const STBox *box, double d); +extern STBox *stbox_expand_time(const STBox *box, const Interval *interv); +extern STBox *stbox_get_space(const STBox *box); +extern STBox *stbox_quad_split(const STBox *box, int *count); +extern STBox *stbox_round(const STBox *box, int maxdd); +extern STBox *stbox_shift_scale_time(const STBox *box, const Interval *shift, const Interval *duration); +extern STBox *stboxarr_round(const STBox *boxarr, int count, int maxdd); + +/* SRID functions */ + +extern STBox *stbox_set_srid(const STBox *box, int32_t srid); +extern int32_t stbox_srid(const STBox *box); +extern STBox *stbox_transform(const STBox *box, int32_t srid); +extern STBox *stbox_transform_pipeline(const STBox *box, const char *pipelinestr, int32_t srid, bool is_forward); + +/* Topological functions */ + +extern bool adjacent_stbox_stbox(const STBox *box1, const STBox *box2); +extern bool contained_stbox_stbox(const STBox *box1, const STBox *box2); +extern bool contains_stbox_stbox(const STBox *box1, const STBox *box2); +extern bool overlaps_stbox_stbox(const STBox *box1, const STBox *box2); +extern bool same_stbox_stbox(const STBox *box1, const STBox *box2); + +/* Position functions */ + +extern bool above_stbox_stbox(const STBox *box1, const STBox *box2); +extern bool after_stbox_stbox(const STBox *box1, const STBox *box2); +extern bool back_stbox_stbox(const STBox *box1, const STBox *box2); +extern bool before_stbox_stbox(const STBox *box1, const STBox *box2); +extern bool below_stbox_stbox(const STBox *box1, const STBox *box2); +extern bool front_stbox_stbox(const STBox *box1, const STBox *box2); +extern bool left_stbox_stbox(const STBox *box1, const STBox *box2); +extern bool overabove_stbox_stbox(const STBox *box1, const STBox *box2); +extern bool overafter_stbox_stbox(const STBox *box1, const STBox *box2); +extern bool overback_stbox_stbox(const STBox *box1, const STBox *box2); +extern bool overbefore_stbox_stbox(const STBox *box1, const STBox *box2); +extern bool overbelow_stbox_stbox(const STBox *box1, const STBox *box2); +extern bool overfront_stbox_stbox(const STBox *box1, const STBox *box2); +extern bool overleft_stbox_stbox(const STBox *box1, const STBox *box2); +extern bool overright_stbox_stbox(const STBox *box1, const STBox *box2); +extern bool right_stbox_stbox(const STBox *box1, const STBox *box2); + +/* Set functions */ + +extern STBox *union_stbox_stbox(const STBox *box1, const STBox *box2, bool strict); +extern STBox *intersection_stbox_stbox(const STBox *box1, const STBox *box2); + +/* Comparisons */ + +extern int stbox_cmp(const STBox *box1, const STBox *box2); +extern bool stbox_eq(const STBox *box1, const STBox *box2); +extern bool stbox_ge(const STBox *box1, const STBox *box2); +extern bool stbox_gt(const STBox *box1, const STBox *box2); +extern bool stbox_le(const STBox *box1, const STBox *box2); +extern bool stbox_lt(const STBox *box1, const STBox *box2); +extern bool stbox_ne(const STBox *box1, const STBox *box2); + +/* RTree functions */ + +// extern RTree *rtree_create_stbox(); +// extern void rtree_free(RTree *rtree); +// extern void rtree_insert(RTree *rtree, STBox *box, int64 id); +// extern int *rtree_search(const RTree *rtree,const STBox *query, int *count); + +/***************************************************************************** + * Functions for temporal geometries/geographies + *****************************************************************************/ + +/* Input and output functions */ + +extern Temporal *tgeogpoint_from_mfjson(const char *str); +extern Temporal *tgeogpoint_in(const char *str); +extern Temporal *tgeography_from_mfjson(const char *mfjson); +extern Temporal *tgeography_in(const char *str); +extern Temporal *tgeometry_from_mfjson(const char *str); +extern Temporal *tgeometry_in(const char *str); +extern Temporal *tgeompoint_from_mfjson(const char *str); +extern Temporal *tgeompoint_in(const char *str); +extern char *tspatial_as_ewkt(const Temporal *temp, int maxdd); +extern char *tspatial_as_text(const Temporal *temp, int maxdd); +extern char *tspatial_out(const Temporal *temp, int maxdd); + +/* Constructor functions */ + +extern Temporal *tgeo_from_base_temp(const GSERIALIZED *gs, const Temporal *temp); +extern TInstant *tgeoinst_make(const GSERIALIZED *gs, TimestampTz t); +extern TSequence *tgeoseq_from_base_tstzset(const GSERIALIZED *gs, const Set *s); +extern TSequence *tgeoseq_from_base_tstzspan(const GSERIALIZED *gs, const Span *s, interpType interp); +extern TSequenceSet *tgeoseqset_from_base_tstzspanset(const GSERIALIZED *gs, const SpanSet *ss, interpType interp); +extern Temporal *tpoint_from_base_temp(const GSERIALIZED *gs, const Temporal *temp); +extern TInstant *tpointinst_make(const GSERIALIZED *gs, TimestampTz t); +extern TSequence *tpointseq_from_base_tstzset(const GSERIALIZED *gs, const Set *s); +extern TSequence *tpointseq_from_base_tstzspan(const GSERIALIZED *gs, const Span *s, interpType interp); +extern TSequence *tpointseq_make_coords(const double *xcoords, const double *ycoords, const double *zcoords, const TimestampTz *times, int count, int32 srid, bool geodetic, bool lower_inc, bool upper_inc, interpType interp, bool normalize); +extern TSequenceSet *tpointseqset_from_base_tstzspanset(const GSERIALIZED *gs, const SpanSet *ss, interpType interp); + +/* Conversion functions */ + +extern STBox *box3d_to_stbox(const BOX3D *box); +extern STBox *gbox_to_stbox(const GBOX *box); +extern Temporal *geomeas_to_tpoint(const GSERIALIZED *gs); +extern Temporal *tgeogpoint_to_tgeography(const Temporal *temp); +extern Temporal *tgeography_to_tgeogpoint(const Temporal *temp); +extern Temporal *tgeography_to_tgeometry(const Temporal *temp); +extern Temporal *tgeometry_to_tgeography(const Temporal *temp); +extern Temporal *tgeometry_to_tgeompoint(const Temporal *temp); +extern Temporal *tgeompoint_to_tgeometry(const Temporal *temp); +extern bool tpoint_as_mvtgeom(const Temporal *temp, const STBox *bounds, int32_t extent, int32_t buffer, bool clip_geom, GSERIALIZED **gsarr, int64 **timesarr, int *count); +extern bool tpoint_tfloat_to_geomeas(const Temporal *tpoint, const Temporal *measure, bool segmentize, GSERIALIZED **result); +extern STBox *tspatial_to_stbox(const Temporal *temp); + +/* Accessor functions */ + +extern bool bearing_point_point(const GSERIALIZED *gs1, const GSERIALIZED *gs2, double *result); +extern Temporal *bearing_tpoint_point(const Temporal *temp, const GSERIALIZED *gs, bool invert); +extern Temporal *bearing_tpoint_tpoint(const Temporal *temp1, const Temporal *temp2); +extern Temporal *tgeo_centroid(const Temporal *temp); +extern GSERIALIZED *tgeo_convex_hull(const Temporal *temp); +extern GSERIALIZED *tgeo_end_value(const Temporal *temp); +extern GSERIALIZED *tgeo_start_value(const Temporal *temp); +extern GSERIALIZED *tgeo_traversed_area(const Temporal *temp, bool unary_union); +extern bool tgeo_value_at_timestamptz(const Temporal *temp, TimestampTz t, bool strict, GSERIALIZED **value); +extern bool tgeo_value_n(const Temporal *temp, int n, GSERIALIZED **result); +extern GSERIALIZED **tgeo_values(const Temporal *temp, int *count); +extern Temporal *tpoint_angular_difference(const Temporal *temp); +extern Temporal *tpoint_azimuth(const Temporal *temp); +extern Temporal *tpoint_cumulative_length(const Temporal *temp); +extern bool tpoint_direction(const Temporal *temp, double *result); +extern Temporal *tpoint_get_x(const Temporal *temp); +extern Temporal *tpoint_get_y(const Temporal *temp); +extern Temporal *tpoint_get_z(const Temporal *temp); +extern bool tpoint_is_simple(const Temporal *temp); +extern double tpoint_length(const Temporal *temp); +extern Temporal *tpoint_speed(const Temporal *temp); +extern GSERIALIZED *tpoint_trajectory(const Temporal *temp, bool unary_union); +extern GSERIALIZED *tpoint_twcentroid(const Temporal *temp); + +/* Transformation functions */ + +extern Temporal *tgeo_affine(const Temporal *temp, const AFFINE *a); +extern Temporal *tgeo_scale(const Temporal *temp, const GSERIALIZED *scale, const GSERIALIZED *sorigin); +extern Temporal **tpoint_make_simple(const Temporal *temp, int *count); + +/* SRID functions */ + +int32_t tspatial_srid(const Temporal *temp); +extern Temporal *tspatial_set_srid(const Temporal *temp, int32_t srid); +extern Temporal *tspatial_transform(const Temporal *temp, int32_t srid); +extern Temporal *tspatial_transform_pipeline(const Temporal *temp, const char *pipelinestr, int32_t srid, bool is_forward); + +/* Restriction functions */ + +extern Temporal *tgeo_at_geom(const Temporal *temp, const GSERIALIZED *gs); +extern Temporal *tgeo_at_stbox(const Temporal *temp, const STBox *box, bool border_inc); +extern Temporal *tgeo_at_value(const Temporal *temp, GSERIALIZED *gs); +extern Temporal *tgeo_minus_geom(const Temporal *temp, const GSERIALIZED *gs); +extern Temporal *tgeo_minus_stbox(const Temporal *temp, const STBox *box, bool border_inc); +extern Temporal *tgeo_minus_value(const Temporal *temp, GSERIALIZED *gs); +extern Temporal *tpoint_at_geom(const Temporal *temp, const GSERIALIZED *gs, const Span *zspan); +extern Temporal *tpoint_at_value(const Temporal *temp, GSERIALIZED *gs); +extern Temporal *tpoint_minus_geom(const Temporal *temp, const GSERIALIZED *gs, const Span *zspan); +extern Temporal *tpoint_minus_value(const Temporal *temp, GSERIALIZED *gs); + +/* Ever and always comparisons */ + +extern int always_eq_geo_tgeo(const GSERIALIZED *gs, const Temporal *temp); +extern int always_eq_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs); +extern int always_eq_tgeo_tgeo(const Temporal *temp1, const Temporal *temp2); +extern int always_ne_geo_tgeo(const GSERIALIZED *gs, const Temporal *temp); +extern int always_ne_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs); +extern int always_ne_tgeo_tgeo(const Temporal *temp1, const Temporal *temp2); +extern int ever_eq_geo_tgeo(const GSERIALIZED *gs, const Temporal *temp); +extern int ever_eq_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs); +extern int ever_eq_tgeo_tgeo(const Temporal *temp1, const Temporal *temp2); +extern int ever_ne_geo_tgeo(const GSERIALIZED *gs, const Temporal *temp); +extern int ever_ne_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs); +extern int ever_ne_tgeo_tgeo(const Temporal *temp1, const Temporal *temp2); + +/* Temporal comparisons */ + +extern Temporal *teq_geo_tgeo(const GSERIALIZED *gs, const Temporal *temp); +extern Temporal *teq_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs); +extern Temporal *tne_geo_tgeo(const GSERIALIZED *gs, const Temporal *temp); +extern Temporal *tne_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs); + +/* Bounding box functions */ + +extern STBox *tgeo_stboxes(const Temporal *temp, int *count); +extern STBox *tgeo_space_boxes(const Temporal *temp, double xsize, double ysize, double zsize, const GSERIALIZED *sorigin, bool bitmatrix, bool border_inc, int *count); +extern STBox *tgeo_space_time_boxes(const Temporal *temp, double xsize, double ysize, double zsize, const Interval *duration, const GSERIALIZED *sorigin, TimestampTz torigin, bool bitmatrix, bool border_inc, int *count); +extern STBox *tgeo_split_each_n_stboxes(const Temporal *temp, int elem_count, int *count); +extern STBox *tgeo_split_n_stboxes(const Temporal *temp, int box_count, int *count); + +/* Topological functions */ + +extern bool adjacent_stbox_tspatial(const STBox *box, const Temporal *temp); +extern bool adjacent_tspatial_stbox(const Temporal *temp, const STBox *box); +extern bool adjacent_tspatial_tspatial(const Temporal *temp1, const Temporal *temp2); +extern bool contained_stbox_tspatial(const STBox *box, const Temporal *temp); +extern bool contained_tspatial_stbox(const Temporal *temp, const STBox *box); +extern bool contained_tspatial_tspatial(const Temporal *temp1, const Temporal *temp2); +extern bool contains_stbox_tspatial(const STBox *box, const Temporal *temp); +extern bool contains_tspatial_stbox(const Temporal *temp, const STBox *box); +extern bool contains_tspatial_tspatial(const Temporal *temp1, const Temporal *temp2); +extern bool overlaps_stbox_tspatial(const STBox *box, const Temporal *temp); +extern bool overlaps_tspatial_stbox(const Temporal *temp, const STBox *box); +extern bool overlaps_tspatial_tspatial(const Temporal *temp1, const Temporal *temp2); +extern bool same_stbox_tspatial(const STBox *box, const Temporal *temp); +extern bool same_tspatial_stbox(const Temporal *temp, const STBox *box); +extern bool same_tspatial_tspatial(const Temporal *temp1, const Temporal *temp2); + +/* Position functions */ + +extern bool above_stbox_tspatial(const STBox *box, const Temporal *temp); +extern bool above_tspatial_stbox(const Temporal *temp, const STBox *box); +extern bool above_tspatial_tspatial(const Temporal *temp1, const Temporal *temp2); +extern bool after_stbox_tspatial(const STBox *box, const Temporal *temp); +extern bool after_tspatial_stbox(const Temporal *temp, const STBox *box); +extern bool after_tspatial_tspatial(const Temporal *temp1, const Temporal *temp2); +extern bool back_stbox_tspatial(const STBox *box, const Temporal *temp); +extern bool back_tspatial_stbox(const Temporal *temp, const STBox *box); +extern bool back_tspatial_tspatial(const Temporal *temp1, const Temporal *temp2); +extern bool before_stbox_tspatial(const STBox *box, const Temporal *temp); +extern bool before_tspatial_stbox(const Temporal *temp, const STBox *box); +extern bool before_tspatial_tspatial(const Temporal *temp1, const Temporal *temp2); +extern bool below_stbox_tspatial(const STBox *box, const Temporal *temp); +extern bool below_tspatial_stbox(const Temporal *temp, const STBox *box); +extern bool below_tspatial_tspatial(const Temporal *temp1, const Temporal *temp2); +extern bool front_stbox_tspatial(const STBox *box, const Temporal *temp); +extern bool front_tspatial_stbox(const Temporal *temp, const STBox *box); +extern bool front_tspatial_tspatial(const Temporal *temp1, const Temporal *temp2); +extern bool left_stbox_tspatial(const STBox *box, const Temporal *temp); +extern bool left_tspatial_stbox(const Temporal *temp, const STBox *box); +extern bool left_tspatial_tspatial(const Temporal *temp1, const Temporal *temp2); +extern bool overabove_stbox_tspatial(const STBox *box, const Temporal *temp); +extern bool overabove_tspatial_stbox(const Temporal *temp, const STBox *box); +extern bool overabove_tspatial_tspatial(const Temporal *temp1, const Temporal *temp2); +extern bool overafter_stbox_tspatial(const STBox *box, const Temporal *temp); +extern bool overafter_tspatial_stbox(const Temporal *temp, const STBox *box); +extern bool overafter_tspatial_tspatial(const Temporal *temp1, const Temporal *temp2); +extern bool overback_stbox_tspatial(const STBox *box, const Temporal *temp); +extern bool overback_tspatial_stbox(const Temporal *temp, const STBox *box); +extern bool overback_tspatial_tspatial(const Temporal *temp1, const Temporal *temp2); +extern bool overbefore_stbox_tspatial(const STBox *box, const Temporal *temp); +extern bool overbefore_tspatial_stbox(const Temporal *temp, const STBox *box); +extern bool overbefore_tspatial_tspatial(const Temporal *temp1, const Temporal *temp2); +extern bool overbelow_stbox_tspatial(const STBox *box, const Temporal *temp); +extern bool overbelow_tspatial_stbox(const Temporal *temp, const STBox *box); +extern bool overbelow_tspatial_tspatial(const Temporal *temp1, const Temporal *temp2); +extern bool overfront_stbox_tspatial(const STBox *box, const Temporal *temp); +extern bool overfront_tspatial_stbox(const Temporal *temp, const STBox *box); +extern bool overfront_tspatial_tspatial(const Temporal *temp1, const Temporal *temp2); +extern bool overleft_stbox_tspatial(const STBox *box, const Temporal *temp); +extern bool overleft_tspatial_stbox(const Temporal *temp, const STBox *box); +extern bool overleft_tspatial_tspatial(const Temporal *temp1, const Temporal *temp2); +extern bool overright_stbox_tspatial(const STBox *box, const Temporal *temp); +extern bool overright_tspatial_stbox(const Temporal *temp, const STBox *box); +extern bool overright_tspatial_tspatial(const Temporal *temp1, const Temporal *temp2); +extern bool right_stbox_tspatial(const STBox *box, const Temporal *temp); +extern bool right_tspatial_stbox(const Temporal *temp, const STBox *box); +extern bool right_tspatial_tspatial(const Temporal *temp1, const Temporal *temp2); + +/* Ever and always spatial relationships */ + +extern int acontains_geo_tgeo(const GSERIALIZED *gs, const Temporal *temp); +extern int acontains_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs); +extern int acontains_tgeo_tgeo(const Temporal *temp1, const Temporal *temp2); +extern int adisjoint_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs); +extern int adisjoint_tgeo_tgeo(const Temporal *temp1, const Temporal *temp2); +extern int adwithin_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs, double dist); +extern int adwithin_tgeo_tgeo(const Temporal *temp1, const Temporal *temp2, double dist); +extern int aintersects_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs); +extern int aintersects_tgeo_tgeo(const Temporal *temp1, const Temporal *temp2); +extern int atouches_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs); +extern int atouches_tgeo_tgeo(const Temporal *temp1, const Temporal *temp2); +extern int atouches_tpoint_geo(const Temporal *temp, const GSERIALIZED *gs); +extern int econtains_geo_tgeo(const GSERIALIZED *gs, const Temporal *temp); +extern int econtains_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs); +extern int econtains_tgeo_tgeo(const Temporal *temp1, const Temporal *temp2); +extern int ecovers_geo_tgeo(const GSERIALIZED *gs, const Temporal *temp); +extern int ecovers_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs); +extern int ecovers_tgeo_tgeo(const Temporal *temp1, const Temporal *temp2); +extern int edisjoint_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs); +extern int edisjoint_tgeo_tgeo(const Temporal *temp1, const Temporal *temp2); +extern int edwithin_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs, double dist); +extern int edwithin_tgeo_tgeo(const Temporal *temp1, const Temporal *temp2, double dist); +extern int eintersects_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs); +extern int eintersects_tgeo_tgeo(const Temporal *temp1, const Temporal *temp2); +extern int etouches_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs); +extern int etouches_tgeo_tgeo(const Temporal *temp1, const Temporal *temp2); +extern int etouches_tpoint_geo(const Temporal *temp, const GSERIALIZED *gs); + +/* Spatiotemporal relationships */ + +extern Temporal *tcontains_geo_tgeo(const GSERIALIZED *gs, const Temporal *temp, bool restr, bool atvalue); +extern Temporal *tcontains_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs, bool restr, bool atvalue); +extern Temporal *tcontains_tgeo_tgeo(const Temporal *temp1, const Temporal *temp2, bool restr, bool atvalue); +extern Temporal *tcovers_geo_tgeo(const GSERIALIZED *gs, const Temporal *temp, bool restr, bool atvalue); +extern Temporal *tcovers_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs, bool restr, bool atvalue); +extern Temporal *tcovers_tgeo_tgeo(const Temporal *temp1, const Temporal *temp2, bool restr, bool atvalue); +extern Temporal *tdisjoint_geo_tgeo(const GSERIALIZED *gs, const Temporal *temp, bool restr, bool atvalue); +extern Temporal *tdisjoint_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs, bool restr, bool atvalue); +extern Temporal *tdisjoint_tgeo_tgeo(const Temporal *temp1, const Temporal *temp2, bool restr, bool atvalue); +extern Temporal *tdwithin_geo_tgeo(const GSERIALIZED *gs, const Temporal *temp, double dist, bool restr, bool atvalue); +extern Temporal *tdwithin_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs, double dist, bool restr, bool atvalue); +extern Temporal *tdwithin_tgeo_tgeo(const Temporal *temp1, const Temporal *temp2, double dist, bool restr, bool atvalue); +extern Temporal *tintersects_geo_tgeo(const GSERIALIZED *gs, const Temporal *temp, bool restr, bool atvalue); +extern Temporal *tintersects_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs, bool restr, bool atvalue); +extern Temporal *tintersects_tgeo_tgeo(const Temporal *temp1, const Temporal *temp2, bool restr, bool atvalue); +extern Temporal *ttouches_geo_tgeo(const GSERIALIZED *gs, const Temporal *temp, bool restr, bool atvalue); +extern Temporal *ttouches_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs, bool restr, bool atvalue); +extern Temporal *ttouches_tgeo_tgeo(const Temporal *temp1, const Temporal *temp2, bool restr, bool atvalue); + +/* Distance */ + +extern Temporal *tdistance_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs); +extern Temporal *tdistance_tgeo_tgeo(const Temporal *temp1, const Temporal *temp2); +extern double nad_stbox_geo(const STBox *box, const GSERIALIZED *gs); +extern double nad_stbox_stbox(const STBox *box1, const STBox *box2); +extern double nad_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs); +extern double nad_tgeo_stbox(const Temporal *temp, const STBox *box); +extern double nad_tgeo_tgeo(const Temporal *temp1, const Temporal *temp2); +extern TInstant *nai_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs); +extern TInstant *nai_tgeo_tgeo(const Temporal *temp1, const Temporal *temp2); +extern GSERIALIZED *shortestline_tgeo_geo(const Temporal *temp, const GSERIALIZED *gs); +extern GSERIALIZED *shortestline_tgeo_tgeo(const Temporal *temp1, const Temporal *temp2); + +/* Aggregates */ + +extern Temporal *tpoint_tcentroid_finalfn(SkipList *state); +extern SkipList *tpoint_tcentroid_transfn(SkipList *state, Temporal *temp); +extern STBox *tspatial_extent_transfn(STBox *box, const Temporal *temp); + +/* Tile functions */ + +extern STBox *stbox_get_space_tile(const GSERIALIZED *point, double xsize, double ysize, double zsize, const GSERIALIZED *sorigin); +extern STBox *stbox_get_space_time_tile(const GSERIALIZED *point, TimestampTz t, double xsize, double ysize, double zsize, const Interval *duration, const GSERIALIZED *sorigin, TimestampTz torigin); +extern STBox *stbox_get_time_tile(TimestampTz t, const Interval *duration, TimestampTz torigin); +extern STBox *stbox_space_tiles(const STBox *bounds, double xsize, double ysize, double zsize, const GSERIALIZED *sorigin, bool border_inc, int *count); +extern STBox *stbox_space_time_tiles(const STBox *bounds, double xsize, double ysize, double zsize, const Interval *duration, const GSERIALIZED *sorigin, TimestampTz torigin, bool border_inc, int *count); +extern STBox *stbox_time_tiles(const STBox *bounds, const Interval *duration, TimestampTz torigin, bool border_inc, int *count); +extern Temporal **tgeo_space_split(const Temporal *temp, double xsize, double ysize, double zsize, const GSERIALIZED *sorigin, bool bitmatrix, bool border_inc, GSERIALIZED ***space_bins, int *count); +extern Temporal **tgeo_space_time_split(const Temporal *temp, double xsize, double ysize, double zsize, const Interval *duration, const GSERIALIZED *sorigin, TimestampTz torigin, bool bitmatrix, bool border_inc, GSERIALIZED ***space_bins, TimestampTz **time_bins, int *count); + +/* Clustering functions */ + +extern int *geo_cluster_kmeans(const GSERIALIZED **geoms, uint32_t ngeoms, uint32_t k); +extern uint32_t *geo_cluster_dbscan(const GSERIALIZED **geoms, uint32_t ngeoms, double tolerance, int minpoints, int *count); +extern GSERIALIZED **geo_cluster_intersecting(const GSERIALIZED **geoms, uint32_t ngeoms, int *count); +extern GSERIALIZED **geo_cluster_within(const GSERIALIZED **geoms, uint32_t ngeoms, double tolerance, int *count); + +/*****************************************************************************/ + +#endif diff --git a/meos_init.go b/meos_init.go index d9e7d23..69689d8 100644 --- a/meos_init.go +++ b/meos_init.go @@ -9,7 +9,10 @@ package gomeos import "C" func MeosInitialize(tz string) { - C.meos_initialize(C.CString(tz), nil) + C.meos_initialize() + if tz != "" { + C.meos_initialize_timezone(C.CString(tz)) + } } func MeosFinalize() { From 635e46ee3ac146089ae00eb826bea52975663166 Mon Sep 17 00:00:00 2001 From: Esteban Zimanyi Date: Wed, 13 May 2026 12:47:07 +0200 Subject: [PATCH 2/6] Add a codegen for GoMEOS wrappers driven by meos-idl.json tools/codegen.py reads tools/meos-idl.json produced by the MEOS-API parser and emits idiomatic Go wrappers into tools/_preview/, prefixed with an underscore so the existing hand-written surface is unaffected (go build ./... ignores _-prefixed directories). The first cut covers 1967 of the 2369 candidate functions across the six public headers: scalar inputs, opaque-pointer wrappers (Temporal, STBox, TBox, Span, SpanSet, Set, GSERIALIZED, TInstant, TSequence, TSequenceSet, Npoint, Nsegment, SkipList, RTree, Interval), C and PostgreSQL text strings. 170 Datum-bearing helpers are skipped as MEOS-internal (the hand-written surface exposes them through typed overloads that the codegen cannot synthesise from the IDL). 232 functions remain as TODO until a per- function metadata catalog mirrors the result / output / nullable sets that PyMEOS-CFFI keeps in build_pymeos_functions.py. --- tools/README.md | 44 + tools/__pycache__/codegen.cpython-312.pyc | Bin 0 -> 15326 bytes tools/_preview/cgo.go | 18 + tools/_preview/meos_meos.go | 8833 ++++ tools/_preview/meos_meos_catalog.go | 531 + tools/_preview/meos_meos_geo.go | 2805 ++ tools/_preview/meos_meos_internal.go | 1646 + tools/_preview/meos_meos_internal_geo.go | 448 + tools/_preview/meos_meos_npoint.go | 827 + tools/codegen.py | 371 + tools/meos-idl.json | 50444 ++++++++++++++++++++ 11 files changed, 65967 insertions(+) create mode 100644 tools/README.md create mode 100644 tools/__pycache__/codegen.cpython-312.pyc create mode 100644 tools/_preview/cgo.go create mode 100644 tools/_preview/meos_meos.go create mode 100644 tools/_preview/meos_meos_catalog.go create mode 100644 tools/_preview/meos_meos_geo.go create mode 100644 tools/_preview/meos_meos_internal.go create mode 100644 tools/_preview/meos_meos_internal_geo.go create mode 100644 tools/_preview/meos_meos_npoint.go create mode 100644 tools/codegen.py create mode 100644 tools/meos-idl.json diff --git a/tools/README.md b/tools/README.md new file mode 100644 index 0000000..b9be3f3 --- /dev/null +++ b/tools/README.md @@ -0,0 +1,44 @@ +# GoMEOS code generator + +`codegen.py` reads `tools/meos-idl.json` (produced by the +[MEOS-API](https://github.com/MobilityDB/MEOS-API) parser) and emits one +idiomatic Go wrapper per MEOS public C function into `tools/_preview/`. +The directory is prefixed with `_` so `go build ./...` ignores it; the +output is a Draft artifact that lets reviewers see the shape of the +generated surface without disturbing the hand-written package. + +## Running + +``` +python3 tools/codegen.py +``` + +## Coverage today + +2369 candidate functions across the six public headers; 1967 emit cleanly +under the scalar / wrapped-pointer rules, 170 are skipped as `Datum` +internal helpers (the hand-written surface exposes those through typed +overloads which the codegen cannot synthesise from the IDL), and 232 +remain as TODO until per-function metadata is encoded. + +The 232 TODOs are all output-parameter or counted-array shapes: +`int *`, `double *`, `bool *`, `TimestampTz *`, `size_t *` (typically +`count` accumulators), and double-pointer arrays like `Temporal **` / +`GSERIALIZED **` / `TInstant **` / `TSequence **`. Resolving them needs +a catalog of which parameters are outputs, which are array lengths, and +which are nullable, mirroring the `result_parameters` / +`output_parameters` / `nullable_parameters` sets PyMEOS-CFFI's +`build_pymeos_functions.py` carries. + +## Refreshing the IDL + +`tools/meos-idl.json` is vendored. When MEOS bumps, regenerate with +MEOS-API against the new headers and copy the output back: + +``` +cp ../MEOS-API/output/meos-idl.json tools/meos-idl.json +python3 tools/codegen.py +``` + +The vendored IDL relies on MEOS-API PR #1 (the stdbool stub) being in +place so `bool` returns and `bool *` outputs do not get demoted to `int`. diff --git a/tools/__pycache__/codegen.cpython-312.pyc b/tools/__pycache__/codegen.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1e27c89afa416764c4fc68acf25f2e592c5f193c GIT binary patch literal 15326 zcma)jZEzb$cHj&!_!*3M8nR zfk;ANj=OfwQuQ)t^URNkzA@$cLxY`2v4+Es^qHfQdf0F zOS!s4sk*xNdIlf-u(KnfKVHA?e*OA&_j|9Kf8}=b419qRZu*~JW0=3gO#bug3HHUu z9K(FVyu}b^lp!oJh1nU?sENh2Icy#^)0i9OXlxm^K+J`$GqzD1#j%9#GmcRQ%S-`3tjN@MD&g zQD_zoI=Zqk5rUED=D;+RFUcuXbpwdkXlk#0H#4^Zd< zB9Mj>+(rs*BnQc%5@?eFZQcSsOreKK3-OoWwo+&-IYQb>pzRdePC7_u3G@{T?IK6X zu@dO36#6}KoSZ0uo}|!va%#&cPE+Us@>=OA4A_|>%z(VU4RV&eLB5~wgW{Yc=SlY# zNDt{H7q&q9$VJk>1#*d8CIed_SI8i_`Y%GRkvF&Dlt9S!&zwJFN6W~Ntz3?ns?d5rV4 zj2?v2Lu5fZNEYj$x!+?*>~nLzAC{q|_n5F(+-jHrf!LSICfm&Lg` zNzUViBD2DT9GMYjq=?cUBH@l{1wbuxa)d;K5)sB11$9c|v4i$=*ZPGyQC1|`-ysNB zqv~8#6+(&-nU%0wNhFfo#!E9HRfT5Nh%h#0&?=G6 zu`xlMB`|_nB|1~+RhR-``@D=*W(7%}jLb%6pfM#XPl!Q@56vQNKvM9wI4KEoB%;Eo zhXGXJ0+JV+h3YDdR1Aj~g_+Q7XhsYJR0ydGP%A4i2o;$ID5oI_WZacxg^pVZieXW1 z2jos6GAG`NO6_wIY*22Gz~Gh839Uzmu<@C%0{^X<_&7|INAT!HDj5S5w$nT>z&E!DgPA=B(h&(OohZ*R%#OK5 z{_k=9_*u;<&H}k~rj$X*JBX-?!LX<(km0V0>XhFav!X0_OvTDD4g>)s9GQeXPxF&f z1kxUwrV|Nb0f34vfPjwWrodS`;~i6eljg+L5r~XWOF>nu=z~Sk9RXojP%na{hNXb2 zdFK`bk}OB$05T*j$=W`n<&YW@!=ae8wK!P1OBlyH`=Sk?pD+?L%7V&a0>y)s%)~^u zWHY3=Ldt@vMXTSYIfobLq${wvL$i~bSy5%pHW>-10F3dF6XL=ktW(Vz1db@GX2n$> z2oC;&)9iu3EC^a4pz(pg46J(?NI-K10(YWf*eLM?0wt^u1b)H1K*C@8JEtNuQm3S- z(zrO=smQ@jeK+ddK8G^wzYGnILPDv4;J2A)Ztwd8IahU-tA=o$tCp+tSQ>XX5+WL- zapNEjF}}M4rRcKp>sH9e_WqS!wc(}Z4JNNP5k z)LS)@v{fr+fLNDa&!Cpqp+yX!*T66crWgjrv<)E5z%Xc|7zS}x5`k@6(rgpqh^XqQ zI*8KgG{Aa)3d*pmaYzHUspl!89bpv9)+4IYxt?L`3K?3v zyaX^Dqad#ix;inTNP5HWe%yTLB4N4-!~g-h1OQ6E-pUpP+Nu2tYy^l9E9>sS)mT7w zXpOn>w1&e{&snkWBGkxLlTc872k2}Qkmtts zbW5`jzkRJYaOK=J*i-Gut%xj!W0l>q1Y(oVw;Y0V)lV_{p(hcCl`w8>?u>Xh*5N6~RbDHAR5b4jir(%YDtem04Q*q{s}kj?s>qJ{6`ps)oXJfe|UJ zim^JnEI`8;j-U|qATZD1n5}h?o^i3NW<9Z^Nk{9TB2A+15vys=CwIXbx*eJu2q}n_ zPwv37wq75WB?%Zy<89?0`7|B@V2d*{9&YmM5NH-U2O5XG);MIIW;0l*nSn!^vu~*P zdjGkB{?XnZ&7L2uX4S`|+4D4O_B>shMJJ=aD5Gi=v@u;=L1u5=(%d($pSyOg_j&;3 zbtq^UB0vzsSl|ceHTz-=5+A~8trkjGmEd5>fGQ$D^apqPT!z{6JcGW}}Y>KcL-evwR`w7c3 z_q|{>nEsu4p7onGUe`HsRcdT-P_6<*0Gm2q(O6Zpz(mW73hE<*uq@X={L*m-b45;otZt1&8x~Weq#LWst~WI>}fDC?l=%RR}b8ZVUh9Hvt&y{EawQM#6HzwwSiG-feW!jouxqIa&I_O#MQ6aclc=!_ zW+oiTV2^;g9ELMkp+=Ej``aumS!#zh2?ib7t8yedIVGT4LIkv7L7O9J`+-SJn=&ja zAxL$3!7%cnBGfNd0DDc<9R}23M#CHpHCY9v1Z}?=+LowL>rj}FM8ni_p8%Ci0zZN( zqEQBL`L-}0Qm3FYj7T>(C&f9XL$lCf%LBk?`3eNX^4pjkhTsC&aTaAR98y7WQF7#> z;0k&92`K^SB02*)fX*-ZJ-}RspK_fhHhISGNi-#08DCQ>nDMo4_+H8QUdj57W^6}6 znsRPm;^b=JIb*WauCO_$FCivv52rV(n={qT+3J=j&X%t$YBnuUylG`z<=-J_YtSKX zy}OAPxPeW1m(#Ri+W~sv%ZncFG1Iu)ZTrCCYY6O;2{3jMUIJF(Z_-2DG+}~Mgo|Cc zuDcq>##+X~6+!L8Ho2~09~s-CF`eZBicgKr&_oENUY>+T ze+Pa_9|X(HGke*CvemN0Lduu5AKI|DX6&t5d)xB4oXh>7Z?!Mc{n5a3Z_ep@aBB5b zVkp^|b?)169?UooW}Qu`XxiD9=Gt~np%ogZd&OtKSe!x?0Qv`eLAaQU)3cOLQsF?) zV}gM0g{j#EzUzdR2*fPh9nfh-I<|eZ&0XNXQJZF<$G)vW$i_`^^MrYbQQ=V2zc`Z@ zFZ4t%aZ8rCg>cmK+8gIoR~`?z@p>^Ar%DQ~VO_Gtt<#=7UNI(?e9MZ7SYf0#7^#)m zY1;t79MEIibv%xuNF%+Ayx$p14n!ii1@LEyLO0#t(0zvMuL}5=(2b z7+J&s87aFlzy%=pL!g1{MwC?r_fe=o5X8>tbr2n#Be06)3B<>m8W#lDuY%K$jKELd zG+hCM69MoK$`L647=FrML9onhx)^)e$F&(--BVX(VkG0*yTWeTnWM*kRr|-aiSkcs zAJ%S^H)P5iQis;K_44+|>WVejb@aPRJ>Cb4tBc9zRCC(XlD4-z^&L!I$oh`_;PP_M zN>k3}O0YkSCCFzpnd&1?YnxIeQ+s69y<$sLK5J^*XgZN;I`P=N-gM^S-Y<_pXRt$0 zKXD4Vs)m&dIZt)cn&N)$`iX08TvUzb` zVka3~lyLk9U`d$cW;ocbar1ZW-oyk8M2MSq6Xx%(neP=;^ON6JA9i@Ip82l+jqCIs0=Es0%aC-6?7BgTA-f#Ya%+r zyLHI?6ngk?OA@*oVIk^{O=Sj7b~bR9iX}U&u{SmLZH*n(O#MBY`O1Y$n)$}%^B4?k zTrVaug!HAMtAk+DT?aHU@2=jYwjM-Qr~^fV@-z&99yESVz6ELUrQsEZX2qL~S)y^% z;F0%pc+jA?QnP^msVbTo+~~UYz(J+rQn2GvKt%aNfd6~=DXS2`Ipgv@7+4)hR%BiK z;5^}7%iW+TJZJ2djurN6k2mM4dLn8Xgy@&UHyp+1LR=(y-MKd*RU%A>h%c0p#ALA;+1{23VI`hQY zkUXB|8mJJTtp}1c(_}<5g(fsJELzPBd!1&!E6T9QVIm*|53|NeVN6eecVFWsBWgtB z=xJ*i2es=qp2FZd(JTb*HO(T6vy#ExUu0tz>a zn*We4ho(XK4&*=!bOrjZ2CnylRX@_(17^er0H$Vyv7?pYG*U}LpUj^^`JW>WswB%y z&gTAjZ^pJS=c!7XSL12>o}9CM`HH?n07l^h+VJ~MpF4Wr&1V3MaF8nTx%cYVS*YsE zcwTB8l|T*^ZJAD?O#zPxXi|eRz9yh%Hl;x~!hVJ@4E{6xlyV5bC(gUy@6XY|UH*Yi zF~!-!Ry@TiTfyX@Y}IZ3r4qw9UfkA9TkW7FvuX?*^n!wti8qm`1uR+P-0}h3R&JjF z^6J%sY8p4Gg$)JlB1_ziQUf%nybUEU#-RTO#b_arHn=a@;1|bl|op8&_ z$KAijl-}mX%a(m{`|kL8s$lz`iI+{|`Md2S&UoQX$C4-RCN8Q0ohNSW?Q_$TH}2TA zZ7@A`AFTQ0|o)VlK93kbq>34Bk9&4$b%1H~ziHZ1T zIp82iM+PrY;w;cr`7JHj^DO{Q)#sL_3Xqh_c;z&%fo&hD{(y-)cDlvj=t3FAzN?_- zE^|t1;uT0uzAu)UJ^3w|wc9bj1+NY?-d$&!)aTd1)*i{8xCzDxRsw|kXu2|9j-!tI zAl(1ClN{KU$CY`iQI?5-;Zjwp%*U&WZ&Ba~Zyc2W2ylvKwOk9?SZx&U)aP)&2XoGF zK2Vjm#OjXuN|ETMD!gO`IfU)eQ^6bv24b9W`gI|;m!2g;cgF-caa*9GI3aah(=Wwa zVkW;oW@;1Yc^xx#cf4d<+xv#}Q+SUeIf10L9F3F&?X-FDVrLkwdqT?^B4`I(WnZsSH8X*xdexu{^PoY2ghZs;p;C)DGR=7_A?Z#iNyFu{yqc^(rfU)ZY z1%mVphm(+=n$)Qq&@Xl=F1!~|@S+E7kpNBG>Dz4 zNs{r*UdMWOK~sQp8(cHTS8pv}cv@DSxSK88zucGeR3_fdcp6j3GM>ZB7yrS^?DMbH zX7?V=aCOTUR?e-&;ILo*tz=7T;z@nmQ%`;J#2;Q-yPH1oW_tMD%!zlihi;_lt%hUSiR5V-P zzUo=wRwfc+&goe>^R!}ra{ib6qvPqwV+j28K`d+po@Wd6!**)mANH!&F zQf%r_sybcMvTpZ-60&j@uDUl|`!cS5N$D%sp=Y)Gf4}V0vXr{^R<`!oN12$Whp8(dWe{#SLa+1IPO*14{n z&67C(#8#KH`!?)#8GBvwd{RwLB#(S$Z+=#Q^`}T`BwgROZf`Fl_NS&dnonk$Pd=`E z9L+ZOrkgIL>-*O27ojI-*~;X~+v)1|wTZQxpnf0s=Dam4i{J`xN!F*jQa4ilYj16u zS;wo-__7E7Re$1AmOt=~#pDpMw(lF8+2PwXGZx1`xENPWVm`&Cq-=?A2o=@*hXyok zQ+cHj{m8IagJB4vxp?(Z^q>Ho``kt^YGQWd;f(OobXtfxc*yEI!jYDajt;+YPv~sj z@#+TNS>?U6t)0RW4;n9;C*TF8D<4#K5uToG+4BAal*<^DfxfM@Ljr6V9+pp{CE1u9 zNnQjlHB~&V*ps}FtvHzW9ZDa%jtm-RH_c{?m8zlQub^)J0hRG;N+LYp*~%XbPDTVG z%JblA>Ao;$y zTe}P|mZsWv;P85Du%kp5N;{4!awpx3^1XJJB9``A#Qc^nw;(`&#xR64ib`OI?3g-R zgf$|;9aD|lAjNk@J4)!=p&ih?uX>lJ@lD zu-kA-su{@^-qENZ-iy1{JL3iaC)frD(Gi3H;4QcHGj7RRO2@7L4LwjxiC7lcB?tU?u!6XF z-eQ8A4N3vc7rn4}TXo-~qO*m5#U25^M=fa4C2(sT-kirkcU^McZ&NFF)?9LZi%n3l zzd+-5O{4m>?USu&x6!uw`=fD(k#^i4<3Mwd^Ks{d8T`Kv%0(L*(vag9ObhgGF7CjZ zL6{Mv#91iex0SdGCC)7+ELc>wX}qT1_7Qj?U)0OdO2T)*OKuf)WBP%8vL~M|#>59U zhkd8bL3Qy8s*9J!-P8MuHS(!=Szd34x!;8Gv!oLH+znTSSHSvLtP{5mfn2iiTQbix z{;I)Yc-;cN7r1Q)rfY%j)$ZgG$S2-2%{(wVH##IJhFq`qjR$hZVIDYV=OmmDc z2J|Pmx{W|xYH2`_{|g3)D*soCkGowUX6l&IHF$H!WF%&SHEgUkz+vEdw4uPi3Wvt9&Z&Gd1xSrNnY0J^}CNvP+lRuAkQRLqPdP)@eu4|9q zeAMu(=09o9bX_wP`RZC${$p&%3I`bs!|w%8A)KM8(ZaQ;21>n10{Bo#v&`HkAz5=> z>^;{5k3BB*5A+UEeOxOay4(*BKzaff-Wu#4?!P)XMDMEUg(Fp6b>4~4k5(DLmm)?R z*RJ=TyK;V@SEkB5kB^w)whcRT1iHbqg?;!vnjM~8gBME$KO49!14xA#KpH!xdGHNJ z2p(9#+|dcf>ri@y26AB4XH%ofG+1_2p9Wo@9*_YPfqWYMPnuJQ>%w4?CNw+thOOfB zO0uZnMzT#|*R^$feiG#W1t_m0+n+!HSM;D|wXU`%Zf;Z^&Qu-FR{67hD|k#f=Z9B* za3y(Yt#bLwI@j^vU+@3x_DhdhP%M4Fkkaj!majsPE3Ztv0~ZQ-1A7V-ZKpR;z506c z>J#UYoNG_AH`V;bv_K$b)hTc=>o<1sR#7q zbx+Hd%I8O@eAt(?!f>NZ?L#wDbD>#jp!Hav*^CGkxXvyX%6edjY3=U41cJqJ@0KfnEx+aT>~Ze%<+R=AwqyJ6pxvF}Otd}VLg>;evLo@A`&>aGr?`wf5HS$9RaW`+Q1&C&lDhG)!Tqe1iFwoeD)(pVSO_+slcWso9+4xsl*Jp+Dg3GQF+Qp+m;8lgB} z@_#F&=t!_7f2(E-1V|*PKj@x_;@>9(0y5}ZjEt7HW|Ad%A-4#_hlMKAD;XzqFCl&=3%RbeRM{VpJCN31`-C3Fu*5l zMc?{M`x*T$`&s#)p#b(QM)@DW1F(Qt_PME?<^E4I!yf!Q#`!ml<8K)L*G$8&ncC-^ z&1+hAZB{eh;}F>yOHGbDxM?w0nbJ)8rk61}|F6l+)@(8myf8y{lV*JlhfFz+|8!64 z`lHJ9$Y{3iolP^qo>ADyqrK^ov22~VX#p6T&4~Hdqdn=7K(=md(}qy!%L&jTt^=Vw zV{rlW#-n}d5iwggzUf4$Ydh49&@#qSMsW`qxE_Rhx8s&0)VCd4fzZnBEmR@2nz6W{ z-J6g0r$@%Kb-~RVgw}3{)*-ZhJ9H01_v+BMv4vo^j%@Bj=zbkKf>6qx0|*ti)6js> zM#kdBv8B7t8-qIt;BO8w^-T!u(Scvr9l~69F&9W5znC5gW$UJ~Y&6|5<87-4vF+n?BZ?9+}A2O=9lmBVg%{%r`vtev|e$m8}a=%tG$@ITk2fwx@aF z1=GNqHgB>_eIJ{vyO^u%&(#g&>MrE!dg*_F^w0zV`)Da3T=?d2WxHwFo%Z-&FqN$7 zMTeOkW?#5?w){ms$F{#Ht7iAUIPPW}p9^MhFT3n|;WD$nf{gl5Mtubt^}TSNfJ!RM zvDVFMpPO5DY__;-xinMxLO9HpZw|8z=URz9G1q8K-)BZ-*_5J1EuQ|uc#l&05Q<(ABhOWw}ZwrnfLQ{dyf zlW6$b?oOBzU5SH<>q$1DBwJH&rn*z}Yj@UykE+vUC%>|v`o;`(Ha!eiPd9@952Ud6 A!vFvP literal 0 HcmV?d00001 diff --git a/tools/_preview/cgo.go b/tools/_preview/cgo.go new file mode 100644 index 0000000..b1b51c9 --- /dev/null +++ b/tools/_preview/cgo.go @@ -0,0 +1,18 @@ +package generated + +/* +#cgo darwin CFLAGS: -I/opt/homebrew/include +#cgo darwin LDFLAGS: -L/opt/homebrew/lib -lmeos -Wl,-rpath,/opt/homebrew/lib + +#cgo linux CFLAGS: -I/usr/local/include/ +#cgo linux LDFLAGS: -L/usr/local/lib -lmeos -Wl,-rpath,/usr/local/lib + +#include +#include "meos.h" +#include "meos_catalog.h" +#include "meos_geo.h" +#include "meos_internal.h" +#include "meos_internal_geo.h" +#include "meos_npoint.h" +*/ +import "C" diff --git a/tools/_preview/meos_meos.go b/tools/_preview/meos_meos.go new file mode 100644 index 0000000..ba83a7c --- /dev/null +++ b/tools/_preview/meos_meos.go @@ -0,0 +1,8833 @@ +package generated + +// #include +import "C" +import ( + "unsafe" + + "github.com/leekchan/timeutil" +) + +var _ = unsafe.Pointer(nil) +var _ = timeutil.Timedelta{} + +// DateIn wraps MEOS C function date_in. +func DateIn(str string) int32 { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.date_in(_c_str) + return int32(res) +} + + +// DateOut wraps MEOS C function date_out. +func DateOut(d int32) string { + res := C.date_out(C.DateADT(d)) + return C.GoString(res) +} + + +// IntervalCmp wraps MEOS C function interval_cmp. +func IntervalCmp(interv1 timeutil.Timedelta, interv2 timeutil.Timedelta) int { + res := C.interval_cmp(interv1.Inner(), interv2.Inner()) + return int(res) +} + + +// IntervalIn wraps MEOS C function interval_in. +func IntervalIn(str string, typmod int32) timeutil.Timedelta { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.interval_in(_c_str, C.int32(typmod)) + return IntervalToTimeDelta(res) +} + + +// IntervalOut wraps MEOS C function interval_out. +func IntervalOut(interv timeutil.Timedelta) string { + res := C.interval_out(interv.Inner()) + return C.GoString(res) +} + + +// TODO time_in: unsupported return type TimeADT +// func TimeIn(...) { /* not yet handled by codegen */ } + + +// TODO time_out: unsupported param TimeADT +// func TimeOut(...) { /* not yet handled by codegen */ } + + +// TimestampIn wraps MEOS C function timestamp_in. +func TimestampIn(str string, typmod int32) int64 { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.timestamp_in(_c_str, C.int32(typmod)) + return int64(res) +} + + +// TimestampOut wraps MEOS C function timestamp_out. +func TimestampOut(t int64) string { + res := C.timestamp_out(C.Timestamp(t)) + return C.GoString(res) +} + + +// TimestamptzIn wraps MEOS C function timestamptz_in. +func TimestamptzIn(str string, typmod int32) int64 { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.timestamptz_in(_c_str, C.int32(typmod)) + return int64(res) +} + + +// TimestamptzOut wraps MEOS C function timestamptz_out. +func TimestamptzOut(t int64) string { + res := C.timestamptz_out(C.TimestampTz(t)) + return C.GoString(res) +} + + +// RtreeCreateIntspan wraps MEOS C function rtree_create_intspan. +func RtreeCreateIntspan() *RTree { + res := C.rtree_create_intspan() + return &RTree{_inner: res} +} + + +// RtreeCreateBigintspan wraps MEOS C function rtree_create_bigintspan. +func RtreeCreateBigintspan() *RTree { + res := C.rtree_create_bigintspan() + return &RTree{_inner: res} +} + + +// RtreeCreateFloatspan wraps MEOS C function rtree_create_floatspan. +func RtreeCreateFloatspan() *RTree { + res := C.rtree_create_floatspan() + return &RTree{_inner: res} +} + + +// RtreeCreateDatespan wraps MEOS C function rtree_create_datespan. +func RtreeCreateDatespan() *RTree { + res := C.rtree_create_datespan() + return &RTree{_inner: res} +} + + +// RtreeCreateTstzspan wraps MEOS C function rtree_create_tstzspan. +func RtreeCreateTstzspan() *RTree { + res := C.rtree_create_tstzspan() + return &RTree{_inner: res} +} + + +// RtreeCreateTBOX wraps MEOS C function rtree_create_tbox. +func RtreeCreateTBOX() *RTree { + res := C.rtree_create_tbox() + return &RTree{_inner: res} +} + + +// RtreeCreateSTBOX wraps MEOS C function rtree_create_stbox. +func RtreeCreateSTBOX() *RTree { + res := C.rtree_create_stbox() + return &RTree{_inner: res} +} + + +// RtreeFree wraps MEOS C function rtree_free. +func RtreeFree(rtree *RTree) { + C.rtree_free(rtree._inner) +} + + +// TODO rtree_insert: unsupported param void * +// func RtreeInsert(...) { /* not yet handled by codegen */ } + + +// TODO rtree_search: unsupported return type int * +// func RtreeSearch(...) { /* not yet handled by codegen */ } + + +// MeosError wraps MEOS C function meos_error. +func MeosError(errlevel int, errcode int, format string) { + _c_format := C.CString(format) + defer C.free(unsafe.Pointer(_c_format)) + C.meos_error(C.int(errlevel), C.int(errcode), _c_format) +} + + +// MeosErrno wraps MEOS C function meos_errno. +func MeosErrno() int { + res := C.meos_errno() + return int(res) +} + + +// MeosErrnoSet wraps MEOS C function meos_errno_set. +func MeosErrnoSet(err int) int { + res := C.meos_errno_set(C.int(err)) + return int(res) +} + + +// MeosErrnoRestore wraps MEOS C function meos_errno_restore. +func MeosErrnoRestore(err int) int { + res := C.meos_errno_restore(C.int(err)) + return int(res) +} + + +// MeosErrnoReset wraps MEOS C function meos_errno_reset. +func MeosErrnoReset() int { + res := C.meos_errno_reset() + return int(res) +} + + +// MeosInitializeTimezone wraps MEOS C function meos_initialize_timezone. +func MeosInitializeTimezone(name string) { + _c_name := C.CString(name) + defer C.free(unsafe.Pointer(_c_name)) + C.meos_initialize_timezone(_c_name) +} + + +// MeosFinalizeTimezone wraps MEOS C function meos_finalize_timezone. +func MeosFinalizeTimezone() { + C.meos_finalize_timezone() +} + + +// MeosFinalizeProjsrs wraps MEOS C function meos_finalize_projsrs. +func MeosFinalizeProjsrs() { + C.meos_finalize_projsrs() +} + + +// MeosFinalizeWays wraps MEOS C function meos_finalize_ways. +func MeosFinalizeWays() { + C.meos_finalize_ways() +} + + +// TODO meos_set_datestyle: unsupported param void * +// func MeosSetDatestyle(...) { /* not yet handled by codegen */ } + + +// MeosSetIntervalstyle wraps MEOS C function meos_set_intervalstyle. +func MeosSetIntervalstyle(newval string, extra int) bool { + _c_newval := C.CString(newval) + defer C.free(unsafe.Pointer(_c_newval)) + res := C.meos_set_intervalstyle(_c_newval, C.int(extra)) + return bool(res) +} + + +// MeosGetDatestyle wraps MEOS C function meos_get_datestyle. +func MeosGetDatestyle() string { + res := C.meos_get_datestyle() + return C.GoString(res) +} + + +// MeosGetIntervalstyle wraps MEOS C function meos_get_intervalstyle. +func MeosGetIntervalstyle() string { + res := C.meos_get_intervalstyle() + return C.GoString(res) +} + + +// MeosSetSpatialRefSysCsv wraps MEOS C function meos_set_spatial_ref_sys_csv. +func MeosSetSpatialRefSysCsv(path string) { + _c_path := C.CString(path) + defer C.free(unsafe.Pointer(_c_path)) + C.meos_set_spatial_ref_sys_csv(_c_path) +} + + +// MeosInitialize wraps MEOS C function meos_initialize. +func MeosInitialize() { + C.meos_initialize() +} + + +// MeosFinalize wraps MEOS C function meos_finalize. +func MeosFinalize() { + C.meos_finalize() +} + + +// AddDateInt wraps MEOS C function add_date_int. +func AddDateInt(d int32, days int32) int32 { + res := C.add_date_int(C.DateADT(d), C.int32(days)) + return int32(res) +} + + +// AddIntervalInterval wraps MEOS C function add_interval_interval. +func AddIntervalInterval(interv1 timeutil.Timedelta, interv2 timeutil.Timedelta) timeutil.Timedelta { + res := C.add_interval_interval(interv1.Inner(), interv2.Inner()) + return IntervalToTimeDelta(res) +} + + +// AddTimestamptzInterval wraps MEOS C function add_timestamptz_interval. +func AddTimestamptzInterval(t int64, interv timeutil.Timedelta) int64 { + res := C.add_timestamptz_interval(C.TimestampTz(t), interv.Inner()) + return int64(res) +} + + +// BoolIn wraps MEOS C function bool_in. +func BoolIn(str string) bool { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.bool_in(_c_str) + return bool(res) +} + + +// BoolOut wraps MEOS C function bool_out. +func BoolOut(b bool) string { + res := C.bool_out(C.bool(b)) + return C.GoString(res) +} + + +// Cstring2text wraps MEOS C function cstring2text. +func Cstring2text(str string) string { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.cstring2text(_c_str) + return text2cstring(res) +} + + +// DateToTimestamp wraps MEOS C function date_to_timestamp. +func DateToTimestamp(dateVal int32) int64 { + res := C.date_to_timestamp(C.DateADT(dateVal)) + return int64(res) +} + + +// DateToTimestamptz wraps MEOS C function date_to_timestamptz. +func DateToTimestamptz(d int32) int64 { + res := C.date_to_timestamptz(C.DateADT(d)) + return int64(res) +} + + +// FloatExp wraps MEOS C function float_exp. +func FloatExp(d float64) float64 { + res := C.float_exp(C.double(d)) + return float64(res) +} + + +// FloatLn wraps MEOS C function float_ln. +func FloatLn(d float64) float64 { + res := C.float_ln(C.double(d)) + return float64(res) +} + + +// FloatLog10 wraps MEOS C function float_log10. +func FloatLog10(d float64) float64 { + res := C.float_log10(C.double(d)) + return float64(res) +} + + +// Float8Out wraps MEOS C function float8_out. +func Float8Out(d float64, maxdd int) string { + res := C.float8_out(C.double(d), C.int(maxdd)) + return C.GoString(res) +} + + +// FloatRound wraps MEOS C function float_round. +func FloatRound(d float64, maxdd int) float64 { + res := C.float_round(C.double(d), C.int(maxdd)) + return float64(res) +} + + +// Int32Cmp wraps MEOS C function int32_cmp. +func Int32Cmp(l int32, r int32) int { + res := C.int32_cmp(C.int32(l), C.int32(r)) + return int(res) +} + + +// Int64Cmp wraps MEOS C function int64_cmp. +func Int64Cmp(l int64, r int64) int { + res := C.int64_cmp(C.int64(l), C.int64(r)) + return int(res) +} + + +// IntervalMake wraps MEOS C function interval_make. +func IntervalMake(years int32, months int32, weeks int32, days int32, hours int32, mins int32, secs float64) timeutil.Timedelta { + res := C.interval_make(C.int32(years), C.int32(months), C.int32(weeks), C.int32(days), C.int32(hours), C.int32(mins), C.double(secs)) + return IntervalToTimeDelta(res) +} + + +// MinusDateDate wraps MEOS C function minus_date_date. +func MinusDateDate(d1 int32, d2 int32) int { + res := C.minus_date_date(C.DateADT(d1), C.DateADT(d2)) + return int(res) +} + + +// MinusDateInt wraps MEOS C function minus_date_int. +func MinusDateInt(d int32, days int32) int32 { + res := C.minus_date_int(C.DateADT(d), C.int32(days)) + return int32(res) +} + + +// MinusTimestamptzInterval wraps MEOS C function minus_timestamptz_interval. +func MinusTimestamptzInterval(t int64, interv timeutil.Timedelta) int64 { + res := C.minus_timestamptz_interval(C.TimestampTz(t), interv.Inner()) + return int64(res) +} + + +// MinusTimestamptzTimestamptz wraps MEOS C function minus_timestamptz_timestamptz. +func MinusTimestamptzTimestamptz(t1 int64, t2 int64) timeutil.Timedelta { + res := C.minus_timestamptz_timestamptz(C.TimestampTz(t1), C.TimestampTz(t2)) + return IntervalToTimeDelta(res) +} + + +// MulIntervalDouble wraps MEOS C function mul_interval_double. +func MulIntervalDouble(interv timeutil.Timedelta, factor float64) timeutil.Timedelta { + res := C.mul_interval_double(interv.Inner(), C.double(factor)) + return IntervalToTimeDelta(res) +} + + +// PgDateIn wraps MEOS C function pg_date_in. +func PgDateIn(str string) int32 { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.pg_date_in(_c_str) + return int32(res) +} + + +// PgDateOut wraps MEOS C function pg_date_out. +func PgDateOut(d int32) string { + res := C.pg_date_out(C.DateADT(d)) + return C.GoString(res) +} + + +// PgIntervalCmp wraps MEOS C function pg_interval_cmp. +func PgIntervalCmp(interv1 timeutil.Timedelta, interv2 timeutil.Timedelta) int { + res := C.pg_interval_cmp(interv1.Inner(), interv2.Inner()) + return int(res) +} + + +// PgIntervalIn wraps MEOS C function pg_interval_in. +func PgIntervalIn(str string, typmod int32) timeutil.Timedelta { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.pg_interval_in(_c_str, C.int32(typmod)) + return IntervalToTimeDelta(res) +} + + +// PgIntervalOut wraps MEOS C function pg_interval_out. +func PgIntervalOut(interv timeutil.Timedelta) string { + res := C.pg_interval_out(interv.Inner()) + return C.GoString(res) +} + + +// PgTimestampIn wraps MEOS C function pg_timestamp_in. +func PgTimestampIn(str string, typmod int32) int64 { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.pg_timestamp_in(_c_str, C.int32(typmod)) + return int64(res) +} + + +// PgTimestampOut wraps MEOS C function pg_timestamp_out. +func PgTimestampOut(t int64) string { + res := C.pg_timestamp_out(C.Timestamp(t)) + return C.GoString(res) +} + + +// PgTimestamptzIn wraps MEOS C function pg_timestamptz_in. +func PgTimestamptzIn(str string, typmod int32) int64 { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.pg_timestamptz_in(_c_str, C.int32(typmod)) + return int64(res) +} + + +// PgTimestamptzOut wraps MEOS C function pg_timestamptz_out. +func PgTimestamptzOut(t int64) string { + res := C.pg_timestamptz_out(C.TimestampTz(t)) + return C.GoString(res) +} + + +// Text2cstring wraps MEOS C function text2cstring. +func Text2cstring(txt string) string { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.text2cstring(_c_txt) + return C.GoString(res) +} + + +// TextCmp wraps MEOS C function text_cmp. +func TextCmp(txt1 string, txt2 string) int { + _c_txt1 := cstring2text(txt1) + defer C.free(unsafe.Pointer(_c_txt1)) + _c_txt2 := cstring2text(txt2) + defer C.free(unsafe.Pointer(_c_txt2)) + res := C.text_cmp(_c_txt1, _c_txt2) + return int(res) +} + + +// TextCopy wraps MEOS C function text_copy. +func TextCopy(txt string) string { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.text_copy(_c_txt) + return text2cstring(res) +} + + +// TextIn wraps MEOS C function text_in. +func TextIn(str string) string { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.text_in(_c_str) + return text2cstring(res) +} + + +// TextInitcap wraps MEOS C function text_initcap. +func TextInitcap(txt string) string { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.text_initcap(_c_txt) + return text2cstring(res) +} + + +// TextLower wraps MEOS C function text_lower. +func TextLower(txt string) string { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.text_lower(_c_txt) + return text2cstring(res) +} + + +// TextOut wraps MEOS C function text_out. +func TextOut(txt string) string { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.text_out(_c_txt) + return C.GoString(res) +} + + +// TextUpper wraps MEOS C function text_upper. +func TextUpper(txt string) string { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.text_upper(_c_txt) + return text2cstring(res) +} + + +// TextcatTextText wraps MEOS C function textcat_text_text. +func TextcatTextText(txt1 string, txt2 string) string { + _c_txt1 := cstring2text(txt1) + defer C.free(unsafe.Pointer(_c_txt1)) + _c_txt2 := cstring2text(txt2) + defer C.free(unsafe.Pointer(_c_txt2)) + res := C.textcat_text_text(_c_txt1, _c_txt2) + return text2cstring(res) +} + + +// TimestamptzShift wraps MEOS C function timestamptz_shift. +func TimestamptzShift(t int64, interv timeutil.Timedelta) int64 { + res := C.timestamptz_shift(C.TimestampTz(t), interv.Inner()) + return int64(res) +} + + +// TimestampToDate wraps MEOS C function timestamp_to_date. +func TimestampToDate(t int64) int32 { + res := C.timestamp_to_date(C.Timestamp(t)) + return int32(res) +} + + +// TimestamptzToDate wraps MEOS C function timestamptz_to_date. +func TimestamptzToDate(t int64) int32 { + res := C.timestamptz_to_date(C.TimestampTz(t)) + return int32(res) +} + + +// BigintsetIn wraps MEOS C function bigintset_in. +func BigintsetIn(str string) *Set { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.bigintset_in(_c_str) + return &Set{_inner: res} +} + + +// BigintsetOut wraps MEOS C function bigintset_out. +func BigintsetOut(set *Set) string { + res := C.bigintset_out(set._inner) + return C.GoString(res) +} + + +// BigintspanExpand wraps MEOS C function bigintspan_expand. +func BigintspanExpand(s *Span, value int64) *Span { + res := C.bigintspan_expand(s._inner, C.int64(value)) + return &Span{_inner: res} +} + + +// BigintspanIn wraps MEOS C function bigintspan_in. +func BigintspanIn(str string) *Span { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.bigintspan_in(_c_str) + return &Span{_inner: res} +} + + +// BigintspanOut wraps MEOS C function bigintspan_out. +func BigintspanOut(s *Span) string { + res := C.bigintspan_out(s._inner) + return C.GoString(res) +} + + +// BigintspansetIn wraps MEOS C function bigintspanset_in. +func BigintspansetIn(str string) *SpanSet { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.bigintspanset_in(_c_str) + return &SpanSet{_inner: res} +} + + +// BigintspansetOut wraps MEOS C function bigintspanset_out. +func BigintspansetOut(ss *SpanSet) string { + res := C.bigintspanset_out(ss._inner) + return C.GoString(res) +} + + +// DatesetIn wraps MEOS C function dateset_in. +func DatesetIn(str string) *Set { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.dateset_in(_c_str) + return &Set{_inner: res} +} + + +// DatesetOut wraps MEOS C function dateset_out. +func DatesetOut(s *Set) string { + res := C.dateset_out(s._inner) + return C.GoString(res) +} + + +// DatespanIn wraps MEOS C function datespan_in. +func DatespanIn(str string) *Span { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.datespan_in(_c_str) + return &Span{_inner: res} +} + + +// DatespanOut wraps MEOS C function datespan_out. +func DatespanOut(s *Span) string { + res := C.datespan_out(s._inner) + return C.GoString(res) +} + + +// DatespansetIn wraps MEOS C function datespanset_in. +func DatespansetIn(str string) *SpanSet { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.datespanset_in(_c_str) + return &SpanSet{_inner: res} +} + + +// DatespansetOut wraps MEOS C function datespanset_out. +func DatespansetOut(ss *SpanSet) string { + res := C.datespanset_out(ss._inner) + return C.GoString(res) +} + + +// FloatsetIn wraps MEOS C function floatset_in. +func FloatsetIn(str string) *Set { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.floatset_in(_c_str) + return &Set{_inner: res} +} + + +// FloatsetOut wraps MEOS C function floatset_out. +func FloatsetOut(set *Set, maxdd int) string { + res := C.floatset_out(set._inner, C.int(maxdd)) + return C.GoString(res) +} + + +// FloatspanExpand wraps MEOS C function floatspan_expand. +func FloatspanExpand(s *Span, value float64) *Span { + res := C.floatspan_expand(s._inner, C.double(value)) + return &Span{_inner: res} +} + + +// FloatspanIn wraps MEOS C function floatspan_in. +func FloatspanIn(str string) *Span { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.floatspan_in(_c_str) + return &Span{_inner: res} +} + + +// FloatspanOut wraps MEOS C function floatspan_out. +func FloatspanOut(s *Span, maxdd int) string { + res := C.floatspan_out(s._inner, C.int(maxdd)) + return C.GoString(res) +} + + +// FloatspansetIn wraps MEOS C function floatspanset_in. +func FloatspansetIn(str string) *SpanSet { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.floatspanset_in(_c_str) + return &SpanSet{_inner: res} +} + + +// FloatspansetOut wraps MEOS C function floatspanset_out. +func FloatspansetOut(ss *SpanSet, maxdd int) string { + res := C.floatspanset_out(ss._inner, C.int(maxdd)) + return C.GoString(res) +} + + +// IntsetIn wraps MEOS C function intset_in. +func IntsetIn(str string) *Set { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.intset_in(_c_str) + return &Set{_inner: res} +} + + +// IntsetOut wraps MEOS C function intset_out. +func IntsetOut(set *Set) string { + res := C.intset_out(set._inner) + return C.GoString(res) +} + + +// IntspanExpand wraps MEOS C function intspan_expand. +func IntspanExpand(s *Span, value int32) *Span { + res := C.intspan_expand(s._inner, C.int32(value)) + return &Span{_inner: res} +} + + +// IntspanIn wraps MEOS C function intspan_in. +func IntspanIn(str string) *Span { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.intspan_in(_c_str) + return &Span{_inner: res} +} + + +// IntspanOut wraps MEOS C function intspan_out. +func IntspanOut(s *Span) string { + res := C.intspan_out(s._inner) + return C.GoString(res) +} + + +// IntspansetIn wraps MEOS C function intspanset_in. +func IntspansetIn(str string) *SpanSet { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.intspanset_in(_c_str) + return &SpanSet{_inner: res} +} + + +// IntspansetOut wraps MEOS C function intspanset_out. +func IntspansetOut(ss *SpanSet) string { + res := C.intspanset_out(ss._inner) + return C.GoString(res) +} + + +// TODO set_as_hexwkb: unsupported param size_t * +// func SetAsHexwkb(...) { /* not yet handled by codegen */ } + + +// TODO set_as_wkb: unsupported return type uint8_t * +// func SetAsWKB(...) { /* not yet handled by codegen */ } + + +// SetFromHexwkb wraps MEOS C function set_from_hexwkb. +func SetFromHexwkb(hexwkb string) *Set { + _c_hexwkb := C.CString(hexwkb) + defer C.free(unsafe.Pointer(_c_hexwkb)) + res := C.set_from_hexwkb(_c_hexwkb) + return &Set{_inner: res} +} + + +// TODO set_from_wkb: unsupported param const uint8_t * +// func SetFromWKB(...) { /* not yet handled by codegen */ } + + +// TODO span_as_hexwkb: unsupported param size_t * +// func SpanAsHexwkb(...) { /* not yet handled by codegen */ } + + +// TODO span_as_wkb: unsupported return type uint8_t * +// func SpanAsWKB(...) { /* not yet handled by codegen */ } + + +// SpanFromHexwkb wraps MEOS C function span_from_hexwkb. +func SpanFromHexwkb(hexwkb string) *Span { + _c_hexwkb := C.CString(hexwkb) + defer C.free(unsafe.Pointer(_c_hexwkb)) + res := C.span_from_hexwkb(_c_hexwkb) + return &Span{_inner: res} +} + + +// TODO span_from_wkb: unsupported param const uint8_t * +// func SpanFromWKB(...) { /* not yet handled by codegen */ } + + +// TODO spanset_as_hexwkb: unsupported param size_t * +// func SpansetAsHexwkb(...) { /* not yet handled by codegen */ } + + +// TODO spanset_as_wkb: unsupported return type uint8_t * +// func SpansetAsWKB(...) { /* not yet handled by codegen */ } + + +// SpansetFromHexwkb wraps MEOS C function spanset_from_hexwkb. +func SpansetFromHexwkb(hexwkb string) *SpanSet { + _c_hexwkb := C.CString(hexwkb) + defer C.free(unsafe.Pointer(_c_hexwkb)) + res := C.spanset_from_hexwkb(_c_hexwkb) + return &SpanSet{_inner: res} +} + + +// TODO spanset_from_wkb: unsupported param const uint8_t * +// func SpansetFromWKB(...) { /* not yet handled by codegen */ } + + +// TextsetIn wraps MEOS C function textset_in. +func TextsetIn(str string) *Set { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.textset_in(_c_str) + return &Set{_inner: res} +} + + +// TextsetOut wraps MEOS C function textset_out. +func TextsetOut(set *Set) string { + res := C.textset_out(set._inner) + return C.GoString(res) +} + + +// TstzsetIn wraps MEOS C function tstzset_in. +func TstzsetIn(str string) *Set { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.tstzset_in(_c_str) + return &Set{_inner: res} +} + + +// TstzsetOut wraps MEOS C function tstzset_out. +func TstzsetOut(set *Set) string { + res := C.tstzset_out(set._inner) + return C.GoString(res) +} + + +// TstzspanIn wraps MEOS C function tstzspan_in. +func TstzspanIn(str string) *Span { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.tstzspan_in(_c_str) + return &Span{_inner: res} +} + + +// TstzspanOut wraps MEOS C function tstzspan_out. +func TstzspanOut(s *Span) string { + res := C.tstzspan_out(s._inner) + return C.GoString(res) +} + + +// TstzspansetIn wraps MEOS C function tstzspanset_in. +func TstzspansetIn(str string) *SpanSet { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.tstzspanset_in(_c_str) + return &SpanSet{_inner: res} +} + + +// TstzspansetOut wraps MEOS C function tstzspanset_out. +func TstzspansetOut(ss *SpanSet) string { + res := C.tstzspanset_out(ss._inner) + return C.GoString(res) +} + + +// TODO bigintset_make: unsupported param const int64 * +// func BigintsetMake(...) { /* not yet handled by codegen */ } + + +// BigintspanMake wraps MEOS C function bigintspan_make. +func BigintspanMake(lower int64, upper int64, lower_inc bool, upper_inc bool) *Span { + res := C.bigintspan_make(C.int64(lower), C.int64(upper), C.bool(lower_inc), C.bool(upper_inc)) + return &Span{_inner: res} +} + + +// TODO dateset_make: unsupported param const DateADT * +// func DatesetMake(...) { /* not yet handled by codegen */ } + + +// DatespanMake wraps MEOS C function datespan_make. +func DatespanMake(lower int32, upper int32, lower_inc bool, upper_inc bool) *Span { + res := C.datespan_make(C.DateADT(lower), C.DateADT(upper), C.bool(lower_inc), C.bool(upper_inc)) + return &Span{_inner: res} +} + + +// TODO floatset_make: unsupported param const double * +// func FloatsetMake(...) { /* not yet handled by codegen */ } + + +// FloatspanMake wraps MEOS C function floatspan_make. +func FloatspanMake(lower float64, upper float64, lower_inc bool, upper_inc bool) *Span { + res := C.floatspan_make(C.double(lower), C.double(upper), C.bool(lower_inc), C.bool(upper_inc)) + return &Span{_inner: res} +} + + +// TODO intset_make: unsupported param const int * +// func IntsetMake(...) { /* not yet handled by codegen */ } + + +// IntspanMake wraps MEOS C function intspan_make. +func IntspanMake(lower int, upper int, lower_inc bool, upper_inc bool) *Span { + res := C.intspan_make(C.int(lower), C.int(upper), C.bool(lower_inc), C.bool(upper_inc)) + return &Span{_inner: res} +} + + +// SetCopy wraps MEOS C function set_copy. +func SetCopy(s *Set) *Set { + res := C.set_copy(s._inner) + return &Set{_inner: res} +} + + +// SpanCopy wraps MEOS C function span_copy. +func SpanCopy(s *Span) *Span { + res := C.span_copy(s._inner) + return &Span{_inner: res} +} + + +// SpansetCopy wraps MEOS C function spanset_copy. +func SpansetCopy(ss *SpanSet) *SpanSet { + res := C.spanset_copy(ss._inner) + return &SpanSet{_inner: res} +} + + +// SpansetMake wraps MEOS C function spanset_make. +func SpansetMake(spans *Span, count int) *SpanSet { + res := C.spanset_make(spans._inner, C.int(count)) + return &SpanSet{_inner: res} +} + + +// TODO textset_make: unsupported param text ** +// func TextsetMake(...) { /* not yet handled by codegen */ } + + +// TODO tstzset_make: unsupported param const TimestampTz * +// func TstzsetMake(...) { /* not yet handled by codegen */ } + + +// TstzspanMake wraps MEOS C function tstzspan_make. +func TstzspanMake(lower int64, upper int64, lower_inc bool, upper_inc bool) *Span { + res := C.tstzspan_make(C.TimestampTz(lower), C.TimestampTz(upper), C.bool(lower_inc), C.bool(upper_inc)) + return &Span{_inner: res} +} + + +// BigintToSet wraps MEOS C function bigint_to_set. +func BigintToSet(i int64) *Set { + res := C.bigint_to_set(C.int64(i)) + return &Set{_inner: res} +} + + +// BigintToSpan wraps MEOS C function bigint_to_span. +func BigintToSpan(i int) *Span { + res := C.bigint_to_span(C.int(i)) + return &Span{_inner: res} +} + + +// BigintToSpanset wraps MEOS C function bigint_to_spanset. +func BigintToSpanset(i int) *SpanSet { + res := C.bigint_to_spanset(C.int(i)) + return &SpanSet{_inner: res} +} + + +// DateToSet wraps MEOS C function date_to_set. +func DateToSet(d int32) *Set { + res := C.date_to_set(C.DateADT(d)) + return &Set{_inner: res} +} + + +// DateToSpan wraps MEOS C function date_to_span. +func DateToSpan(d int32) *Span { + res := C.date_to_span(C.DateADT(d)) + return &Span{_inner: res} +} + + +// DateToSpanset wraps MEOS C function date_to_spanset. +func DateToSpanset(d int32) *SpanSet { + res := C.date_to_spanset(C.DateADT(d)) + return &SpanSet{_inner: res} +} + + +// DatesetToTstzset wraps MEOS C function dateset_to_tstzset. +func DatesetToTstzset(s *Set) *Set { + res := C.dateset_to_tstzset(s._inner) + return &Set{_inner: res} +} + + +// DatespanToTstzspan wraps MEOS C function datespan_to_tstzspan. +func DatespanToTstzspan(s *Span) *Span { + res := C.datespan_to_tstzspan(s._inner) + return &Span{_inner: res} +} + + +// DatespansetToTstzspanset wraps MEOS C function datespanset_to_tstzspanset. +func DatespansetToTstzspanset(ss *SpanSet) *SpanSet { + res := C.datespanset_to_tstzspanset(ss._inner) + return &SpanSet{_inner: res} +} + + +// FloatToSet wraps MEOS C function float_to_set. +func FloatToSet(d float64) *Set { + res := C.float_to_set(C.double(d)) + return &Set{_inner: res} +} + + +// FloatToSpan wraps MEOS C function float_to_span. +func FloatToSpan(d float64) *Span { + res := C.float_to_span(C.double(d)) + return &Span{_inner: res} +} + + +// FloatToSpanset wraps MEOS C function float_to_spanset. +func FloatToSpanset(d float64) *SpanSet { + res := C.float_to_spanset(C.double(d)) + return &SpanSet{_inner: res} +} + + +// FloatsetToIntset wraps MEOS C function floatset_to_intset. +func FloatsetToIntset(s *Set) *Set { + res := C.floatset_to_intset(s._inner) + return &Set{_inner: res} +} + + +// FloatspanToIntspan wraps MEOS C function floatspan_to_intspan. +func FloatspanToIntspan(s *Span) *Span { + res := C.floatspan_to_intspan(s._inner) + return &Span{_inner: res} +} + + +// FloatspansetToIntspanset wraps MEOS C function floatspanset_to_intspanset. +func FloatspansetToIntspanset(ss *SpanSet) *SpanSet { + res := C.floatspanset_to_intspanset(ss._inner) + return &SpanSet{_inner: res} +} + + +// IntToSet wraps MEOS C function int_to_set. +func IntToSet(i int) *Set { + res := C.int_to_set(C.int(i)) + return &Set{_inner: res} +} + + +// IntToSpan wraps MEOS C function int_to_span. +func IntToSpan(i int) *Span { + res := C.int_to_span(C.int(i)) + return &Span{_inner: res} +} + + +// IntToSpanset wraps MEOS C function int_to_spanset. +func IntToSpanset(i int) *SpanSet { + res := C.int_to_spanset(C.int(i)) + return &SpanSet{_inner: res} +} + + +// IntsetToFloatset wraps MEOS C function intset_to_floatset. +func IntsetToFloatset(s *Set) *Set { + res := C.intset_to_floatset(s._inner) + return &Set{_inner: res} +} + + +// IntspanToFloatspan wraps MEOS C function intspan_to_floatspan. +func IntspanToFloatspan(s *Span) *Span { + res := C.intspan_to_floatspan(s._inner) + return &Span{_inner: res} +} + + +// IntspansetToFloatspanset wraps MEOS C function intspanset_to_floatspanset. +func IntspansetToFloatspanset(ss *SpanSet) *SpanSet { + res := C.intspanset_to_floatspanset(ss._inner) + return &SpanSet{_inner: res} +} + + +// SetToSpan wraps MEOS C function set_to_span. +func SetToSpan(s *Set) *Span { + res := C.set_to_span(s._inner) + return &Span{_inner: res} +} + + +// SetToSpanset wraps MEOS C function set_to_spanset. +func SetToSpanset(s *Set) *SpanSet { + res := C.set_to_spanset(s._inner) + return &SpanSet{_inner: res} +} + + +// SpanToSpanset wraps MEOS C function span_to_spanset. +func SpanToSpanset(s *Span) *SpanSet { + res := C.span_to_spanset(s._inner) + return &SpanSet{_inner: res} +} + + +// TextToSet wraps MEOS C function text_to_set. +func TextToSet(txt string) *Set { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.text_to_set(_c_txt) + return &Set{_inner: res} +} + + +// TimestamptzToSet wraps MEOS C function timestamptz_to_set. +func TimestamptzToSet(t int64) *Set { + res := C.timestamptz_to_set(C.TimestampTz(t)) + return &Set{_inner: res} +} + + +// TimestamptzToSpan wraps MEOS C function timestamptz_to_span. +func TimestamptzToSpan(t int64) *Span { + res := C.timestamptz_to_span(C.TimestampTz(t)) + return &Span{_inner: res} +} + + +// TimestamptzToSpanset wraps MEOS C function timestamptz_to_spanset. +func TimestamptzToSpanset(t int64) *SpanSet { + res := C.timestamptz_to_spanset(C.TimestampTz(t)) + return &SpanSet{_inner: res} +} + + +// TstzsetToDateset wraps MEOS C function tstzset_to_dateset. +func TstzsetToDateset(s *Set) *Set { + res := C.tstzset_to_dateset(s._inner) + return &Set{_inner: res} +} + + +// TstzspanToDatespan wraps MEOS C function tstzspan_to_datespan. +func TstzspanToDatespan(s *Span) *Span { + res := C.tstzspan_to_datespan(s._inner) + return &Span{_inner: res} +} + + +// TstzspansetToDatespanset wraps MEOS C function tstzspanset_to_datespanset. +func TstzspansetToDatespanset(ss *SpanSet) *SpanSet { + res := C.tstzspanset_to_datespanset(ss._inner) + return &SpanSet{_inner: res} +} + + +// BigintsetEndValue wraps MEOS C function bigintset_end_value. +func BigintsetEndValue(s *Set) int64 { + res := C.bigintset_end_value(s._inner) + return int64(res) +} + + +// BigintsetStartValue wraps MEOS C function bigintset_start_value. +func BigintsetStartValue(s *Set) int64 { + res := C.bigintset_start_value(s._inner) + return int64(res) +} + + +// TODO bigintset_value_n: unsupported param int64 * +// func BigintsetValueN(...) { /* not yet handled by codegen */ } + + +// TODO bigintset_values: unsupported return type int64 * +// func BigintsetValues(...) { /* not yet handled by codegen */ } + + +// BigintspanLower wraps MEOS C function bigintspan_lower. +func BigintspanLower(s *Span) int64 { + res := C.bigintspan_lower(s._inner) + return int64(res) +} + + +// BigintspanUpper wraps MEOS C function bigintspan_upper. +func BigintspanUpper(s *Span) int64 { + res := C.bigintspan_upper(s._inner) + return int64(res) +} + + +// BigintspanWidth wraps MEOS C function bigintspan_width. +func BigintspanWidth(s *Span) int64 { + res := C.bigintspan_width(s._inner) + return int64(res) +} + + +// BigintspansetLower wraps MEOS C function bigintspanset_lower. +func BigintspansetLower(ss *SpanSet) int64 { + res := C.bigintspanset_lower(ss._inner) + return int64(res) +} + + +// BigintspansetUpper wraps MEOS C function bigintspanset_upper. +func BigintspansetUpper(ss *SpanSet) int64 { + res := C.bigintspanset_upper(ss._inner) + return int64(res) +} + + +// BigintspansetWidth wraps MEOS C function bigintspanset_width. +func BigintspansetWidth(ss *SpanSet, boundspan bool) int64 { + res := C.bigintspanset_width(ss._inner, C.bool(boundspan)) + return int64(res) +} + + +// DatesetEndValue wraps MEOS C function dateset_end_value. +func DatesetEndValue(s *Set) int32 { + res := C.dateset_end_value(s._inner) + return int32(res) +} + + +// DatesetStartValue wraps MEOS C function dateset_start_value. +func DatesetStartValue(s *Set) int32 { + res := C.dateset_start_value(s._inner) + return int32(res) +} + + +// TODO dateset_value_n: unsupported param DateADT * +// func DatesetValueN(...) { /* not yet handled by codegen */ } + + +// TODO dateset_values: unsupported return type DateADT * +// func DatesetValues(...) { /* not yet handled by codegen */ } + + +// DatespanDuration wraps MEOS C function datespan_duration. +func DatespanDuration(s *Span) timeutil.Timedelta { + res := C.datespan_duration(s._inner) + return IntervalToTimeDelta(res) +} + + +// DatespanLower wraps MEOS C function datespan_lower. +func DatespanLower(s *Span) int32 { + res := C.datespan_lower(s._inner) + return int32(res) +} + + +// DatespanUpper wraps MEOS C function datespan_upper. +func DatespanUpper(s *Span) int32 { + res := C.datespan_upper(s._inner) + return int32(res) +} + + +// TODO datespanset_date_n: unsupported param DateADT * +// func DatespansetDateN(...) { /* not yet handled by codegen */ } + + +// DatespansetDates wraps MEOS C function datespanset_dates. +func DatespansetDates(ss *SpanSet) *Set { + res := C.datespanset_dates(ss._inner) + return &Set{_inner: res} +} + + +// DatespansetDuration wraps MEOS C function datespanset_duration. +func DatespansetDuration(ss *SpanSet, boundspan bool) timeutil.Timedelta { + res := C.datespanset_duration(ss._inner, C.bool(boundspan)) + return IntervalToTimeDelta(res) +} + + +// DatespansetEndDate wraps MEOS C function datespanset_end_date. +func DatespansetEndDate(ss *SpanSet) int32 { + res := C.datespanset_end_date(ss._inner) + return int32(res) +} + + +// DatespansetNumDates wraps MEOS C function datespanset_num_dates. +func DatespansetNumDates(ss *SpanSet) int { + res := C.datespanset_num_dates(ss._inner) + return int(res) +} + + +// DatespansetStartDate wraps MEOS C function datespanset_start_date. +func DatespansetStartDate(ss *SpanSet) int32 { + res := C.datespanset_start_date(ss._inner) + return int32(res) +} + + +// FloatsetEndValue wraps MEOS C function floatset_end_value. +func FloatsetEndValue(s *Set) float64 { + res := C.floatset_end_value(s._inner) + return float64(res) +} + + +// FloatsetStartValue wraps MEOS C function floatset_start_value. +func FloatsetStartValue(s *Set) float64 { + res := C.floatset_start_value(s._inner) + return float64(res) +} + + +// TODO floatset_value_n: unsupported param double * +// func FloatsetValueN(...) { /* not yet handled by codegen */ } + + +// TODO floatset_values: unsupported return type double * +// func FloatsetValues(...) { /* not yet handled by codegen */ } + + +// FloatspanLower wraps MEOS C function floatspan_lower. +func FloatspanLower(s *Span) float64 { + res := C.floatspan_lower(s._inner) + return float64(res) +} + + +// FloatspanUpper wraps MEOS C function floatspan_upper. +func FloatspanUpper(s *Span) float64 { + res := C.floatspan_upper(s._inner) + return float64(res) +} + + +// FloatspanWidth wraps MEOS C function floatspan_width. +func FloatspanWidth(s *Span) float64 { + res := C.floatspan_width(s._inner) + return float64(res) +} + + +// FloatspansetLower wraps MEOS C function floatspanset_lower. +func FloatspansetLower(ss *SpanSet) float64 { + res := C.floatspanset_lower(ss._inner) + return float64(res) +} + + +// FloatspansetUpper wraps MEOS C function floatspanset_upper. +func FloatspansetUpper(ss *SpanSet) float64 { + res := C.floatspanset_upper(ss._inner) + return float64(res) +} + + +// FloatspansetWidth wraps MEOS C function floatspanset_width. +func FloatspansetWidth(ss *SpanSet, boundspan bool) float64 { + res := C.floatspanset_width(ss._inner, C.bool(boundspan)) + return float64(res) +} + + +// IntsetEndValue wraps MEOS C function intset_end_value. +func IntsetEndValue(s *Set) int { + res := C.intset_end_value(s._inner) + return int(res) +} + + +// IntsetStartValue wraps MEOS C function intset_start_value. +func IntsetStartValue(s *Set) int { + res := C.intset_start_value(s._inner) + return int(res) +} + + +// TODO intset_value_n: unsupported param int * +// func IntsetValueN(...) { /* not yet handled by codegen */ } + + +// TODO intset_values: unsupported return type int * +// func IntsetValues(...) { /* not yet handled by codegen */ } + + +// IntspanLower wraps MEOS C function intspan_lower. +func IntspanLower(s *Span) int { + res := C.intspan_lower(s._inner) + return int(res) +} + + +// IntspanUpper wraps MEOS C function intspan_upper. +func IntspanUpper(s *Span) int { + res := C.intspan_upper(s._inner) + return int(res) +} + + +// IntspanWidth wraps MEOS C function intspan_width. +func IntspanWidth(s *Span) int { + res := C.intspan_width(s._inner) + return int(res) +} + + +// IntspansetLower wraps MEOS C function intspanset_lower. +func IntspansetLower(ss *SpanSet) int { + res := C.intspanset_lower(ss._inner) + return int(res) +} + + +// IntspansetUpper wraps MEOS C function intspanset_upper. +func IntspansetUpper(ss *SpanSet) int { + res := C.intspanset_upper(ss._inner) + return int(res) +} + + +// IntspansetWidth wraps MEOS C function intspanset_width. +func IntspansetWidth(ss *SpanSet, boundspan bool) int { + res := C.intspanset_width(ss._inner, C.bool(boundspan)) + return int(res) +} + + +// SetHash wraps MEOS C function set_hash. +func SetHash(s *Set) uint32 { + res := C.set_hash(s._inner) + return uint32(res) +} + + +// SetHashExtended wraps MEOS C function set_hash_extended. +func SetHashExtended(s *Set, seed uint64) uint64 { + res := C.set_hash_extended(s._inner, C.uint64(seed)) + return uint64(res) +} + + +// SetNumValues wraps MEOS C function set_num_values. +func SetNumValues(s *Set) int { + res := C.set_num_values(s._inner) + return int(res) +} + + +// SpanHash wraps MEOS C function span_hash. +func SpanHash(s *Span) uint32 { + res := C.span_hash(s._inner) + return uint32(res) +} + + +// SpanHashExtended wraps MEOS C function span_hash_extended. +func SpanHashExtended(s *Span, seed uint64) uint64 { + res := C.span_hash_extended(s._inner, C.uint64(seed)) + return uint64(res) +} + + +// SpanLowerInc wraps MEOS C function span_lower_inc. +func SpanLowerInc(s *Span) bool { + res := C.span_lower_inc(s._inner) + return bool(res) +} + + +// SpanUpperInc wraps MEOS C function span_upper_inc. +func SpanUpperInc(s *Span) bool { + res := C.span_upper_inc(s._inner) + return bool(res) +} + + +// SpansetEndSpan wraps MEOS C function spanset_end_span. +func SpansetEndSpan(ss *SpanSet) *Span { + res := C.spanset_end_span(ss._inner) + return &Span{_inner: res} +} + + +// SpansetHash wraps MEOS C function spanset_hash. +func SpansetHash(ss *SpanSet) uint32 { + res := C.spanset_hash(ss._inner) + return uint32(res) +} + + +// SpansetHashExtended wraps MEOS C function spanset_hash_extended. +func SpansetHashExtended(ss *SpanSet, seed uint64) uint64 { + res := C.spanset_hash_extended(ss._inner, C.uint64(seed)) + return uint64(res) +} + + +// SpansetLowerInc wraps MEOS C function spanset_lower_inc. +func SpansetLowerInc(ss *SpanSet) bool { + res := C.spanset_lower_inc(ss._inner) + return bool(res) +} + + +// SpansetNumSpans wraps MEOS C function spanset_num_spans. +func SpansetNumSpans(ss *SpanSet) int { + res := C.spanset_num_spans(ss._inner) + return int(res) +} + + +// SpansetSpan wraps MEOS C function spanset_span. +func SpansetSpan(ss *SpanSet) *Span { + res := C.spanset_span(ss._inner) + return &Span{_inner: res} +} + + +// SpansetSpanN wraps MEOS C function spanset_span_n. +func SpansetSpanN(ss *SpanSet, i int) *Span { + res := C.spanset_span_n(ss._inner, C.int(i)) + return &Span{_inner: res} +} + + +// TODO spanset_spanarr: unsupported return type Span ** +// func SpansetSpanarr(...) { /* not yet handled by codegen */ } + + +// SpansetStartSpan wraps MEOS C function spanset_start_span. +func SpansetStartSpan(ss *SpanSet) *Span { + res := C.spanset_start_span(ss._inner) + return &Span{_inner: res} +} + + +// SpansetUpperInc wraps MEOS C function spanset_upper_inc. +func SpansetUpperInc(ss *SpanSet) bool { + res := C.spanset_upper_inc(ss._inner) + return bool(res) +} + + +// TextsetEndValue wraps MEOS C function textset_end_value. +func TextsetEndValue(s *Set) string { + res := C.textset_end_value(s._inner) + return text2cstring(res) +} + + +// TextsetStartValue wraps MEOS C function textset_start_value. +func TextsetStartValue(s *Set) string { + res := C.textset_start_value(s._inner) + return text2cstring(res) +} + + +// TODO textset_value_n: unsupported param text ** +// func TextsetValueN(...) { /* not yet handled by codegen */ } + + +// TODO textset_values: unsupported return type text ** +// func TextsetValues(...) { /* not yet handled by codegen */ } + + +// TstzsetEndValue wraps MEOS C function tstzset_end_value. +func TstzsetEndValue(s *Set) int64 { + res := C.tstzset_end_value(s._inner) + return int64(res) +} + + +// TstzsetStartValue wraps MEOS C function tstzset_start_value. +func TstzsetStartValue(s *Set) int64 { + res := C.tstzset_start_value(s._inner) + return int64(res) +} + + +// TODO tstzset_value_n: unsupported param TimestampTz * +// func TstzsetValueN(...) { /* not yet handled by codegen */ } + + +// TODO tstzset_values: unsupported return type TimestampTz * +// func TstzsetValues(...) { /* not yet handled by codegen */ } + + +// TstzspanDuration wraps MEOS C function tstzspan_duration. +func TstzspanDuration(s *Span) timeutil.Timedelta { + res := C.tstzspan_duration(s._inner) + return IntervalToTimeDelta(res) +} + + +// TstzspanLower wraps MEOS C function tstzspan_lower. +func TstzspanLower(s *Span) int64 { + res := C.tstzspan_lower(s._inner) + return int64(res) +} + + +// TstzspanUpper wraps MEOS C function tstzspan_upper. +func TstzspanUpper(s *Span) int64 { + res := C.tstzspan_upper(s._inner) + return int64(res) +} + + +// TstzspansetDuration wraps MEOS C function tstzspanset_duration. +func TstzspansetDuration(ss *SpanSet, boundspan bool) timeutil.Timedelta { + res := C.tstzspanset_duration(ss._inner, C.bool(boundspan)) + return IntervalToTimeDelta(res) +} + + +// TstzspansetEndTimestamptz wraps MEOS C function tstzspanset_end_timestamptz. +func TstzspansetEndTimestamptz(ss *SpanSet) int64 { + res := C.tstzspanset_end_timestamptz(ss._inner) + return int64(res) +} + + +// TstzspansetLower wraps MEOS C function tstzspanset_lower. +func TstzspansetLower(ss *SpanSet) int64 { + res := C.tstzspanset_lower(ss._inner) + return int64(res) +} + + +// TstzspansetNumTimestamps wraps MEOS C function tstzspanset_num_timestamps. +func TstzspansetNumTimestamps(ss *SpanSet) int { + res := C.tstzspanset_num_timestamps(ss._inner) + return int(res) +} + + +// TstzspansetStartTimestamptz wraps MEOS C function tstzspanset_start_timestamptz. +func TstzspansetStartTimestamptz(ss *SpanSet) int64 { + res := C.tstzspanset_start_timestamptz(ss._inner) + return int64(res) +} + + +// TstzspansetTimestamps wraps MEOS C function tstzspanset_timestamps. +func TstzspansetTimestamps(ss *SpanSet) *Set { + res := C.tstzspanset_timestamps(ss._inner) + return &Set{_inner: res} +} + + +// TODO tstzspanset_timestamptz_n: unsupported param TimestampTz * +// func TstzspansetTimestamptzN(...) { /* not yet handled by codegen */ } + + +// TstzspansetUpper wraps MEOS C function tstzspanset_upper. +func TstzspansetUpper(ss *SpanSet) int64 { + res := C.tstzspanset_upper(ss._inner) + return int64(res) +} + + +// BigintsetShiftScale wraps MEOS C function bigintset_shift_scale. +func BigintsetShiftScale(s *Set, shift int64, width int64, hasshift bool, haswidth bool) *Set { + res := C.bigintset_shift_scale(s._inner, C.int64(shift), C.int64(width), C.bool(hasshift), C.bool(haswidth)) + return &Set{_inner: res} +} + + +// BigintspanShiftScale wraps MEOS C function bigintspan_shift_scale. +func BigintspanShiftScale(s *Span, shift int64, width int64, hasshift bool, haswidth bool) *Span { + res := C.bigintspan_shift_scale(s._inner, C.int64(shift), C.int64(width), C.bool(hasshift), C.bool(haswidth)) + return &Span{_inner: res} +} + + +// BigintspansetShiftScale wraps MEOS C function bigintspanset_shift_scale. +func BigintspansetShiftScale(ss *SpanSet, shift int64, width int64, hasshift bool, haswidth bool) *SpanSet { + res := C.bigintspanset_shift_scale(ss._inner, C.int64(shift), C.int64(width), C.bool(hasshift), C.bool(haswidth)) + return &SpanSet{_inner: res} +} + + +// DatesetShiftScale wraps MEOS C function dateset_shift_scale. +func DatesetShiftScale(s *Set, shift int, width int, hasshift bool, haswidth bool) *Set { + res := C.dateset_shift_scale(s._inner, C.int(shift), C.int(width), C.bool(hasshift), C.bool(haswidth)) + return &Set{_inner: res} +} + + +// DatespanShiftScale wraps MEOS C function datespan_shift_scale. +func DatespanShiftScale(s *Span, shift int, width int, hasshift bool, haswidth bool) *Span { + res := C.datespan_shift_scale(s._inner, C.int(shift), C.int(width), C.bool(hasshift), C.bool(haswidth)) + return &Span{_inner: res} +} + + +// DatespansetShiftScale wraps MEOS C function datespanset_shift_scale. +func DatespansetShiftScale(ss *SpanSet, shift int, width int, hasshift bool, haswidth bool) *SpanSet { + res := C.datespanset_shift_scale(ss._inner, C.int(shift), C.int(width), C.bool(hasshift), C.bool(haswidth)) + return &SpanSet{_inner: res} +} + + +// FloatsetCeil wraps MEOS C function floatset_ceil. +func FloatsetCeil(s *Set) *Set { + res := C.floatset_ceil(s._inner) + return &Set{_inner: res} +} + + +// FloatsetDegrees wraps MEOS C function floatset_degrees. +func FloatsetDegrees(s *Set, normalize bool) *Set { + res := C.floatset_degrees(s._inner, C.bool(normalize)) + return &Set{_inner: res} +} + + +// FloatsetFloor wraps MEOS C function floatset_floor. +func FloatsetFloor(s *Set) *Set { + res := C.floatset_floor(s._inner) + return &Set{_inner: res} +} + + +// FloatsetRadians wraps MEOS C function floatset_radians. +func FloatsetRadians(s *Set) *Set { + res := C.floatset_radians(s._inner) + return &Set{_inner: res} +} + + +// FloatsetShiftScale wraps MEOS C function floatset_shift_scale. +func FloatsetShiftScale(s *Set, shift float64, width float64, hasshift bool, haswidth bool) *Set { + res := C.floatset_shift_scale(s._inner, C.double(shift), C.double(width), C.bool(hasshift), C.bool(haswidth)) + return &Set{_inner: res} +} + + +// FloatspanCeil wraps MEOS C function floatspan_ceil. +func FloatspanCeil(s *Span) *Span { + res := C.floatspan_ceil(s._inner) + return &Span{_inner: res} +} + + +// FloatspanDegrees wraps MEOS C function floatspan_degrees. +func FloatspanDegrees(s *Span, normalize bool) *Span { + res := C.floatspan_degrees(s._inner, C.bool(normalize)) + return &Span{_inner: res} +} + + +// FloatspanFloor wraps MEOS C function floatspan_floor. +func FloatspanFloor(s *Span) *Span { + res := C.floatspan_floor(s._inner) + return &Span{_inner: res} +} + + +// FloatspanRadians wraps MEOS C function floatspan_radians. +func FloatspanRadians(s *Span) *Span { + res := C.floatspan_radians(s._inner) + return &Span{_inner: res} +} + + +// FloatspanRound wraps MEOS C function floatspan_round. +func FloatspanRound(s *Span, maxdd int) *Span { + res := C.floatspan_round(s._inner, C.int(maxdd)) + return &Span{_inner: res} +} + + +// FloatspanShiftScale wraps MEOS C function floatspan_shift_scale. +func FloatspanShiftScale(s *Span, shift float64, width float64, hasshift bool, haswidth bool) *Span { + res := C.floatspan_shift_scale(s._inner, C.double(shift), C.double(width), C.bool(hasshift), C.bool(haswidth)) + return &Span{_inner: res} +} + + +// FloatspansetCeil wraps MEOS C function floatspanset_ceil. +func FloatspansetCeil(ss *SpanSet) *SpanSet { + res := C.floatspanset_ceil(ss._inner) + return &SpanSet{_inner: res} +} + + +// FloatspansetFloor wraps MEOS C function floatspanset_floor. +func FloatspansetFloor(ss *SpanSet) *SpanSet { + res := C.floatspanset_floor(ss._inner) + return &SpanSet{_inner: res} +} + + +// FloatspansetDegrees wraps MEOS C function floatspanset_degrees. +func FloatspansetDegrees(ss *SpanSet, normalize bool) *SpanSet { + res := C.floatspanset_degrees(ss._inner, C.bool(normalize)) + return &SpanSet{_inner: res} +} + + +// FloatspansetRadians wraps MEOS C function floatspanset_radians. +func FloatspansetRadians(ss *SpanSet) *SpanSet { + res := C.floatspanset_radians(ss._inner) + return &SpanSet{_inner: res} +} + + +// FloatspansetRound wraps MEOS C function floatspanset_round. +func FloatspansetRound(ss *SpanSet, maxdd int) *SpanSet { + res := C.floatspanset_round(ss._inner, C.int(maxdd)) + return &SpanSet{_inner: res} +} + + +// FloatspansetShiftScale wraps MEOS C function floatspanset_shift_scale. +func FloatspansetShiftScale(ss *SpanSet, shift float64, width float64, hasshift bool, haswidth bool) *SpanSet { + res := C.floatspanset_shift_scale(ss._inner, C.double(shift), C.double(width), C.bool(hasshift), C.bool(haswidth)) + return &SpanSet{_inner: res} +} + + +// IntsetShiftScale wraps MEOS C function intset_shift_scale. +func IntsetShiftScale(s *Set, shift int, width int, hasshift bool, haswidth bool) *Set { + res := C.intset_shift_scale(s._inner, C.int(shift), C.int(width), C.bool(hasshift), C.bool(haswidth)) + return &Set{_inner: res} +} + + +// IntspanShiftScale wraps MEOS C function intspan_shift_scale. +func IntspanShiftScale(s *Span, shift int, width int, hasshift bool, haswidth bool) *Span { + res := C.intspan_shift_scale(s._inner, C.int(shift), C.int(width), C.bool(hasshift), C.bool(haswidth)) + return &Span{_inner: res} +} + + +// IntspansetShiftScale wraps MEOS C function intspanset_shift_scale. +func IntspansetShiftScale(ss *SpanSet, shift int, width int, hasshift bool, haswidth bool) *SpanSet { + res := C.intspanset_shift_scale(ss._inner, C.int(shift), C.int(width), C.bool(hasshift), C.bool(haswidth)) + return &SpanSet{_inner: res} +} + + +// TstzspanExpand wraps MEOS C function tstzspan_expand. +func TstzspanExpand(s *Span, interv timeutil.Timedelta) *Span { + res := C.tstzspan_expand(s._inner, interv.Inner()) + return &Span{_inner: res} +} + + +// SetRound wraps MEOS C function set_round. +func SetRound(s *Set, maxdd int) *Set { + res := C.set_round(s._inner, C.int(maxdd)) + return &Set{_inner: res} +} + + +// TextcatTextTextset wraps MEOS C function textcat_text_textset. +func TextcatTextTextset(txt string, s *Set) *Set { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.textcat_text_textset(_c_txt, s._inner) + return &Set{_inner: res} +} + + +// TextcatTextsetText wraps MEOS C function textcat_textset_text. +func TextcatTextsetText(s *Set, txt string) *Set { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.textcat_textset_text(s._inner, _c_txt) + return &Set{_inner: res} +} + + +// TextsetInitcap wraps MEOS C function textset_initcap. +func TextsetInitcap(s *Set) *Set { + res := C.textset_initcap(s._inner) + return &Set{_inner: res} +} + + +// TextsetLower wraps MEOS C function textset_lower. +func TextsetLower(s *Set) *Set { + res := C.textset_lower(s._inner) + return &Set{_inner: res} +} + + +// TextsetUpper wraps MEOS C function textset_upper. +func TextsetUpper(s *Set) *Set { + res := C.textset_upper(s._inner) + return &Set{_inner: res} +} + + +// TimestamptzTprecision wraps MEOS C function timestamptz_tprecision. +func TimestamptzTprecision(t int64, duration timeutil.Timedelta, torigin int64) int64 { + res := C.timestamptz_tprecision(C.TimestampTz(t), duration.Inner(), C.TimestampTz(torigin)) + return int64(res) +} + + +// TstzsetShiftScale wraps MEOS C function tstzset_shift_scale. +func TstzsetShiftScale(s *Set, shift timeutil.Timedelta, duration timeutil.Timedelta) *Set { + res := C.tstzset_shift_scale(s._inner, shift.Inner(), duration.Inner()) + return &Set{_inner: res} +} + + +// TstzsetTprecision wraps MEOS C function tstzset_tprecision. +func TstzsetTprecision(s *Set, duration timeutil.Timedelta, torigin int64) *Set { + res := C.tstzset_tprecision(s._inner, duration.Inner(), C.TimestampTz(torigin)) + return &Set{_inner: res} +} + + +// TstzspanShiftScale wraps MEOS C function tstzspan_shift_scale. +func TstzspanShiftScale(s *Span, shift timeutil.Timedelta, duration timeutil.Timedelta) *Span { + res := C.tstzspan_shift_scale(s._inner, shift.Inner(), duration.Inner()) + return &Span{_inner: res} +} + + +// TstzspanTprecision wraps MEOS C function tstzspan_tprecision. +func TstzspanTprecision(s *Span, duration timeutil.Timedelta, torigin int64) *Span { + res := C.tstzspan_tprecision(s._inner, duration.Inner(), C.TimestampTz(torigin)) + return &Span{_inner: res} +} + + +// TstzspansetShiftScale wraps MEOS C function tstzspanset_shift_scale. +func TstzspansetShiftScale(ss *SpanSet, shift timeutil.Timedelta, duration timeutil.Timedelta) *SpanSet { + res := C.tstzspanset_shift_scale(ss._inner, shift.Inner(), duration.Inner()) + return &SpanSet{_inner: res} +} + + +// TstzspansetTprecision wraps MEOS C function tstzspanset_tprecision. +func TstzspansetTprecision(ss *SpanSet, duration timeutil.Timedelta, torigin int64) *SpanSet { + res := C.tstzspanset_tprecision(ss._inner, duration.Inner(), C.TimestampTz(torigin)) + return &SpanSet{_inner: res} +} + + +// SetCmp wraps MEOS C function set_cmp. +func SetCmp(s1 *Set, s2 *Set) int { + res := C.set_cmp(s1._inner, s2._inner) + return int(res) +} + + +// SetEq wraps MEOS C function set_eq. +func SetEq(s1 *Set, s2 *Set) bool { + res := C.set_eq(s1._inner, s2._inner) + return bool(res) +} + + +// SetGe wraps MEOS C function set_ge. +func SetGe(s1 *Set, s2 *Set) bool { + res := C.set_ge(s1._inner, s2._inner) + return bool(res) +} + + +// SetGt wraps MEOS C function set_gt. +func SetGt(s1 *Set, s2 *Set) bool { + res := C.set_gt(s1._inner, s2._inner) + return bool(res) +} + + +// SetLe wraps MEOS C function set_le. +func SetLe(s1 *Set, s2 *Set) bool { + res := C.set_le(s1._inner, s2._inner) + return bool(res) +} + + +// SetLt wraps MEOS C function set_lt. +func SetLt(s1 *Set, s2 *Set) bool { + res := C.set_lt(s1._inner, s2._inner) + return bool(res) +} + + +// SetNe wraps MEOS C function set_ne. +func SetNe(s1 *Set, s2 *Set) bool { + res := C.set_ne(s1._inner, s2._inner) + return bool(res) +} + + +// SpanCmp wraps MEOS C function span_cmp. +func SpanCmp(s1 *Span, s2 *Span) int { + res := C.span_cmp(s1._inner, s2._inner) + return int(res) +} + + +// SpanEq wraps MEOS C function span_eq. +func SpanEq(s1 *Span, s2 *Span) bool { + res := C.span_eq(s1._inner, s2._inner) + return bool(res) +} + + +// SpanGe wraps MEOS C function span_ge. +func SpanGe(s1 *Span, s2 *Span) bool { + res := C.span_ge(s1._inner, s2._inner) + return bool(res) +} + + +// SpanGt wraps MEOS C function span_gt. +func SpanGt(s1 *Span, s2 *Span) bool { + res := C.span_gt(s1._inner, s2._inner) + return bool(res) +} + + +// SpanLe wraps MEOS C function span_le. +func SpanLe(s1 *Span, s2 *Span) bool { + res := C.span_le(s1._inner, s2._inner) + return bool(res) +} + + +// SpanLt wraps MEOS C function span_lt. +func SpanLt(s1 *Span, s2 *Span) bool { + res := C.span_lt(s1._inner, s2._inner) + return bool(res) +} + + +// SpanNe wraps MEOS C function span_ne. +func SpanNe(s1 *Span, s2 *Span) bool { + res := C.span_ne(s1._inner, s2._inner) + return bool(res) +} + + +// SpansetCmp wraps MEOS C function spanset_cmp. +func SpansetCmp(ss1 *SpanSet, ss2 *SpanSet) int { + res := C.spanset_cmp(ss1._inner, ss2._inner) + return int(res) +} + + +// SpansetEq wraps MEOS C function spanset_eq. +func SpansetEq(ss1 *SpanSet, ss2 *SpanSet) bool { + res := C.spanset_eq(ss1._inner, ss2._inner) + return bool(res) +} + + +// SpansetGe wraps MEOS C function spanset_ge. +func SpansetGe(ss1 *SpanSet, ss2 *SpanSet) bool { + res := C.spanset_ge(ss1._inner, ss2._inner) + return bool(res) +} + + +// SpansetGt wraps MEOS C function spanset_gt. +func SpansetGt(ss1 *SpanSet, ss2 *SpanSet) bool { + res := C.spanset_gt(ss1._inner, ss2._inner) + return bool(res) +} + + +// SpansetLe wraps MEOS C function spanset_le. +func SpansetLe(ss1 *SpanSet, ss2 *SpanSet) bool { + res := C.spanset_le(ss1._inner, ss2._inner) + return bool(res) +} + + +// SpansetLt wraps MEOS C function spanset_lt. +func SpansetLt(ss1 *SpanSet, ss2 *SpanSet) bool { + res := C.spanset_lt(ss1._inner, ss2._inner) + return bool(res) +} + + +// SpansetNe wraps MEOS C function spanset_ne. +func SpansetNe(ss1 *SpanSet, ss2 *SpanSet) bool { + res := C.spanset_ne(ss1._inner, ss2._inner) + return bool(res) +} + + +// SetSpans wraps MEOS C function set_spans. +func SetSpans(s *Set) *Span { + res := C.set_spans(s._inner) + return &Span{_inner: res} +} + + +// TODO set_split_each_n_spans: unsupported param int * +// func SetSplitEachNSpans(...) { /* not yet handled by codegen */ } + + +// TODO set_split_n_spans: unsupported param int * +// func SetSplitNSpans(...) { /* not yet handled by codegen */ } + + +// SpansetSpans wraps MEOS C function spanset_spans. +func SpansetSpans(ss *SpanSet) *Span { + res := C.spanset_spans(ss._inner) + return &Span{_inner: res} +} + + +// TODO spanset_split_each_n_spans: unsupported param int * +// func SpansetSplitEachNSpans(...) { /* not yet handled by codegen */ } + + +// TODO spanset_split_n_spans: unsupported param int * +// func SpansetSplitNSpans(...) { /* not yet handled by codegen */ } + + +// AdjacentSpanBigint wraps MEOS C function adjacent_span_bigint. +func AdjacentSpanBigint(s *Span, i int64) bool { + res := C.adjacent_span_bigint(s._inner, C.int64(i)) + return bool(res) +} + + +// AdjacentSpanDate wraps MEOS C function adjacent_span_date. +func AdjacentSpanDate(s *Span, d int32) bool { + res := C.adjacent_span_date(s._inner, C.DateADT(d)) + return bool(res) +} + + +// AdjacentSpanFloat wraps MEOS C function adjacent_span_float. +func AdjacentSpanFloat(s *Span, d float64) bool { + res := C.adjacent_span_float(s._inner, C.double(d)) + return bool(res) +} + + +// AdjacentSpanInt wraps MEOS C function adjacent_span_int. +func AdjacentSpanInt(s *Span, i int) bool { + res := C.adjacent_span_int(s._inner, C.int(i)) + return bool(res) +} + + +// AdjacentSpanSpan wraps MEOS C function adjacent_span_span. +func AdjacentSpanSpan(s1 *Span, s2 *Span) bool { + res := C.adjacent_span_span(s1._inner, s2._inner) + return bool(res) +} + + +// AdjacentSpanSpanset wraps MEOS C function adjacent_span_spanset. +func AdjacentSpanSpanset(s *Span, ss *SpanSet) bool { + res := C.adjacent_span_spanset(s._inner, ss._inner) + return bool(res) +} + + +// AdjacentSpanTimestamptz wraps MEOS C function adjacent_span_timestamptz. +func AdjacentSpanTimestamptz(s *Span, t int64) bool { + res := C.adjacent_span_timestamptz(s._inner, C.TimestampTz(t)) + return bool(res) +} + + +// AdjacentSpansetBigint wraps MEOS C function adjacent_spanset_bigint. +func AdjacentSpansetBigint(ss *SpanSet, i int64) bool { + res := C.adjacent_spanset_bigint(ss._inner, C.int64(i)) + return bool(res) +} + + +// AdjacentSpansetDate wraps MEOS C function adjacent_spanset_date. +func AdjacentSpansetDate(ss *SpanSet, d int32) bool { + res := C.adjacent_spanset_date(ss._inner, C.DateADT(d)) + return bool(res) +} + + +// AdjacentSpansetFloat wraps MEOS C function adjacent_spanset_float. +func AdjacentSpansetFloat(ss *SpanSet, d float64) bool { + res := C.adjacent_spanset_float(ss._inner, C.double(d)) + return bool(res) +} + + +// AdjacentSpansetInt wraps MEOS C function adjacent_spanset_int. +func AdjacentSpansetInt(ss *SpanSet, i int) bool { + res := C.adjacent_spanset_int(ss._inner, C.int(i)) + return bool(res) +} + + +// AdjacentSpansetTimestamptz wraps MEOS C function adjacent_spanset_timestamptz. +func AdjacentSpansetTimestamptz(ss *SpanSet, t int64) bool { + res := C.adjacent_spanset_timestamptz(ss._inner, C.TimestampTz(t)) + return bool(res) +} + + +// AdjacentSpansetSpan wraps MEOS C function adjacent_spanset_span. +func AdjacentSpansetSpan(ss *SpanSet, s *Span) bool { + res := C.adjacent_spanset_span(ss._inner, s._inner) + return bool(res) +} + + +// AdjacentSpansetSpanset wraps MEOS C function adjacent_spanset_spanset. +func AdjacentSpansetSpanset(ss1 *SpanSet, ss2 *SpanSet) bool { + res := C.adjacent_spanset_spanset(ss1._inner, ss2._inner) + return bool(res) +} + + +// ContainedBigintSet wraps MEOS C function contained_bigint_set. +func ContainedBigintSet(i int64, s *Set) bool { + res := C.contained_bigint_set(C.int64(i), s._inner) + return bool(res) +} + + +// ContainedBigintSpan wraps MEOS C function contained_bigint_span. +func ContainedBigintSpan(i int64, s *Span) bool { + res := C.contained_bigint_span(C.int64(i), s._inner) + return bool(res) +} + + +// ContainedBigintSpanset wraps MEOS C function contained_bigint_spanset. +func ContainedBigintSpanset(i int64, ss *SpanSet) bool { + res := C.contained_bigint_spanset(C.int64(i), ss._inner) + return bool(res) +} + + +// ContainedDateSet wraps MEOS C function contained_date_set. +func ContainedDateSet(d int32, s *Set) bool { + res := C.contained_date_set(C.DateADT(d), s._inner) + return bool(res) +} + + +// ContainedDateSpan wraps MEOS C function contained_date_span. +func ContainedDateSpan(d int32, s *Span) bool { + res := C.contained_date_span(C.DateADT(d), s._inner) + return bool(res) +} + + +// ContainedDateSpanset wraps MEOS C function contained_date_spanset. +func ContainedDateSpanset(d int32, ss *SpanSet) bool { + res := C.contained_date_spanset(C.DateADT(d), ss._inner) + return bool(res) +} + + +// ContainedFloatSet wraps MEOS C function contained_float_set. +func ContainedFloatSet(d float64, s *Set) bool { + res := C.contained_float_set(C.double(d), s._inner) + return bool(res) +} + + +// ContainedFloatSpan wraps MEOS C function contained_float_span. +func ContainedFloatSpan(d float64, s *Span) bool { + res := C.contained_float_span(C.double(d), s._inner) + return bool(res) +} + + +// ContainedFloatSpanset wraps MEOS C function contained_float_spanset. +func ContainedFloatSpanset(d float64, ss *SpanSet) bool { + res := C.contained_float_spanset(C.double(d), ss._inner) + return bool(res) +} + + +// ContainedIntSet wraps MEOS C function contained_int_set. +func ContainedIntSet(i int, s *Set) bool { + res := C.contained_int_set(C.int(i), s._inner) + return bool(res) +} + + +// ContainedIntSpan wraps MEOS C function contained_int_span. +func ContainedIntSpan(i int, s *Span) bool { + res := C.contained_int_span(C.int(i), s._inner) + return bool(res) +} + + +// ContainedIntSpanset wraps MEOS C function contained_int_spanset. +func ContainedIntSpanset(i int, ss *SpanSet) bool { + res := C.contained_int_spanset(C.int(i), ss._inner) + return bool(res) +} + + +// ContainedSetSet wraps MEOS C function contained_set_set. +func ContainedSetSet(s1 *Set, s2 *Set) bool { + res := C.contained_set_set(s1._inner, s2._inner) + return bool(res) +} + + +// ContainedSpanSpan wraps MEOS C function contained_span_span. +func ContainedSpanSpan(s1 *Span, s2 *Span) bool { + res := C.contained_span_span(s1._inner, s2._inner) + return bool(res) +} + + +// ContainedSpanSpanset wraps MEOS C function contained_span_spanset. +func ContainedSpanSpanset(s *Span, ss *SpanSet) bool { + res := C.contained_span_spanset(s._inner, ss._inner) + return bool(res) +} + + +// ContainedSpansetSpan wraps MEOS C function contained_spanset_span. +func ContainedSpansetSpan(ss *SpanSet, s *Span) bool { + res := C.contained_spanset_span(ss._inner, s._inner) + return bool(res) +} + + +// ContainedSpansetSpanset wraps MEOS C function contained_spanset_spanset. +func ContainedSpansetSpanset(ss1 *SpanSet, ss2 *SpanSet) bool { + res := C.contained_spanset_spanset(ss1._inner, ss2._inner) + return bool(res) +} + + +// ContainedTextSet wraps MEOS C function contained_text_set. +func ContainedTextSet(txt string, s *Set) bool { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.contained_text_set(_c_txt, s._inner) + return bool(res) +} + + +// ContainedTimestamptzSet wraps MEOS C function contained_timestamptz_set. +func ContainedTimestamptzSet(t int64, s *Set) bool { + res := C.contained_timestamptz_set(C.TimestampTz(t), s._inner) + return bool(res) +} + + +// ContainedTimestamptzSpan wraps MEOS C function contained_timestamptz_span. +func ContainedTimestamptzSpan(t int64, s *Span) bool { + res := C.contained_timestamptz_span(C.TimestampTz(t), s._inner) + return bool(res) +} + + +// ContainedTimestamptzSpanset wraps MEOS C function contained_timestamptz_spanset. +func ContainedTimestamptzSpanset(t int64, ss *SpanSet) bool { + res := C.contained_timestamptz_spanset(C.TimestampTz(t), ss._inner) + return bool(res) +} + + +// ContainsSetBigint wraps MEOS C function contains_set_bigint. +func ContainsSetBigint(s *Set, i int64) bool { + res := C.contains_set_bigint(s._inner, C.int64(i)) + return bool(res) +} + + +// ContainsSetDate wraps MEOS C function contains_set_date. +func ContainsSetDate(s *Set, d int32) bool { + res := C.contains_set_date(s._inner, C.DateADT(d)) + return bool(res) +} + + +// ContainsSetFloat wraps MEOS C function contains_set_float. +func ContainsSetFloat(s *Set, d float64) bool { + res := C.contains_set_float(s._inner, C.double(d)) + return bool(res) +} + + +// ContainsSetInt wraps MEOS C function contains_set_int. +func ContainsSetInt(s *Set, i int) bool { + res := C.contains_set_int(s._inner, C.int(i)) + return bool(res) +} + + +// ContainsSetSet wraps MEOS C function contains_set_set. +func ContainsSetSet(s1 *Set, s2 *Set) bool { + res := C.contains_set_set(s1._inner, s2._inner) + return bool(res) +} + + +// ContainsSetText wraps MEOS C function contains_set_text. +func ContainsSetText(s *Set, t string) bool { + _c_t := cstring2text(t) + defer C.free(unsafe.Pointer(_c_t)) + res := C.contains_set_text(s._inner, _c_t) + return bool(res) +} + + +// ContainsSetTimestamptz wraps MEOS C function contains_set_timestamptz. +func ContainsSetTimestamptz(s *Set, t int64) bool { + res := C.contains_set_timestamptz(s._inner, C.TimestampTz(t)) + return bool(res) +} + + +// ContainsSpanBigint wraps MEOS C function contains_span_bigint. +func ContainsSpanBigint(s *Span, i int64) bool { + res := C.contains_span_bigint(s._inner, C.int64(i)) + return bool(res) +} + + +// ContainsSpanDate wraps MEOS C function contains_span_date. +func ContainsSpanDate(s *Span, d int32) bool { + res := C.contains_span_date(s._inner, C.DateADT(d)) + return bool(res) +} + + +// ContainsSpanFloat wraps MEOS C function contains_span_float. +func ContainsSpanFloat(s *Span, d float64) bool { + res := C.contains_span_float(s._inner, C.double(d)) + return bool(res) +} + + +// ContainsSpanInt wraps MEOS C function contains_span_int. +func ContainsSpanInt(s *Span, i int) bool { + res := C.contains_span_int(s._inner, C.int(i)) + return bool(res) +} + + +// ContainsSpanSpan wraps MEOS C function contains_span_span. +func ContainsSpanSpan(s1 *Span, s2 *Span) bool { + res := C.contains_span_span(s1._inner, s2._inner) + return bool(res) +} + + +// ContainsSpanSpanset wraps MEOS C function contains_span_spanset. +func ContainsSpanSpanset(s *Span, ss *SpanSet) bool { + res := C.contains_span_spanset(s._inner, ss._inner) + return bool(res) +} + + +// ContainsSpanTimestamptz wraps MEOS C function contains_span_timestamptz. +func ContainsSpanTimestamptz(s *Span, t int64) bool { + res := C.contains_span_timestamptz(s._inner, C.TimestampTz(t)) + return bool(res) +} + + +// ContainsSpansetBigint wraps MEOS C function contains_spanset_bigint. +func ContainsSpansetBigint(ss *SpanSet, i int64) bool { + res := C.contains_spanset_bigint(ss._inner, C.int64(i)) + return bool(res) +} + + +// ContainsSpansetDate wraps MEOS C function contains_spanset_date. +func ContainsSpansetDate(ss *SpanSet, d int32) bool { + res := C.contains_spanset_date(ss._inner, C.DateADT(d)) + return bool(res) +} + + +// ContainsSpansetFloat wraps MEOS C function contains_spanset_float. +func ContainsSpansetFloat(ss *SpanSet, d float64) bool { + res := C.contains_spanset_float(ss._inner, C.double(d)) + return bool(res) +} + + +// ContainsSpansetInt wraps MEOS C function contains_spanset_int. +func ContainsSpansetInt(ss *SpanSet, i int) bool { + res := C.contains_spanset_int(ss._inner, C.int(i)) + return bool(res) +} + + +// ContainsSpansetSpan wraps MEOS C function contains_spanset_span. +func ContainsSpansetSpan(ss *SpanSet, s *Span) bool { + res := C.contains_spanset_span(ss._inner, s._inner) + return bool(res) +} + + +// ContainsSpansetSpanset wraps MEOS C function contains_spanset_spanset. +func ContainsSpansetSpanset(ss1 *SpanSet, ss2 *SpanSet) bool { + res := C.contains_spanset_spanset(ss1._inner, ss2._inner) + return bool(res) +} + + +// ContainsSpansetTimestamptz wraps MEOS C function contains_spanset_timestamptz. +func ContainsSpansetTimestamptz(ss *SpanSet, t int64) bool { + res := C.contains_spanset_timestamptz(ss._inner, C.TimestampTz(t)) + return bool(res) +} + + +// OverlapsSetSet wraps MEOS C function overlaps_set_set. +func OverlapsSetSet(s1 *Set, s2 *Set) bool { + res := C.overlaps_set_set(s1._inner, s2._inner) + return bool(res) +} + + +// OverlapsSpanSpan wraps MEOS C function overlaps_span_span. +func OverlapsSpanSpan(s1 *Span, s2 *Span) bool { + res := C.overlaps_span_span(s1._inner, s2._inner) + return bool(res) +} + + +// OverlapsSpanSpanset wraps MEOS C function overlaps_span_spanset. +func OverlapsSpanSpanset(s *Span, ss *SpanSet) bool { + res := C.overlaps_span_spanset(s._inner, ss._inner) + return bool(res) +} + + +// OverlapsSpansetSpan wraps MEOS C function overlaps_spanset_span. +func OverlapsSpansetSpan(ss *SpanSet, s *Span) bool { + res := C.overlaps_spanset_span(ss._inner, s._inner) + return bool(res) +} + + +// OverlapsSpansetSpanset wraps MEOS C function overlaps_spanset_spanset. +func OverlapsSpansetSpanset(ss1 *SpanSet, ss2 *SpanSet) bool { + res := C.overlaps_spanset_spanset(ss1._inner, ss2._inner) + return bool(res) +} + + +// AfterDateSet wraps MEOS C function after_date_set. +func AfterDateSet(d int32, s *Set) bool { + res := C.after_date_set(C.DateADT(d), s._inner) + return bool(res) +} + + +// AfterDateSpan wraps MEOS C function after_date_span. +func AfterDateSpan(d int32, s *Span) bool { + res := C.after_date_span(C.DateADT(d), s._inner) + return bool(res) +} + + +// AfterDateSpanset wraps MEOS C function after_date_spanset. +func AfterDateSpanset(d int32, ss *SpanSet) bool { + res := C.after_date_spanset(C.DateADT(d), ss._inner) + return bool(res) +} + + +// AfterSetDate wraps MEOS C function after_set_date. +func AfterSetDate(s *Set, d int32) bool { + res := C.after_set_date(s._inner, C.DateADT(d)) + return bool(res) +} + + +// AfterSetTimestamptz wraps MEOS C function after_set_timestamptz. +func AfterSetTimestamptz(s *Set, t int64) bool { + res := C.after_set_timestamptz(s._inner, C.TimestampTz(t)) + return bool(res) +} + + +// AfterSpanDate wraps MEOS C function after_span_date. +func AfterSpanDate(s *Span, d int32) bool { + res := C.after_span_date(s._inner, C.DateADT(d)) + return bool(res) +} + + +// AfterSpanTimestamptz wraps MEOS C function after_span_timestamptz. +func AfterSpanTimestamptz(s *Span, t int64) bool { + res := C.after_span_timestamptz(s._inner, C.TimestampTz(t)) + return bool(res) +} + + +// AfterSpansetDate wraps MEOS C function after_spanset_date. +func AfterSpansetDate(ss *SpanSet, d int32) bool { + res := C.after_spanset_date(ss._inner, C.DateADT(d)) + return bool(res) +} + + +// AfterSpansetTimestamptz wraps MEOS C function after_spanset_timestamptz. +func AfterSpansetTimestamptz(ss *SpanSet, t int64) bool { + res := C.after_spanset_timestamptz(ss._inner, C.TimestampTz(t)) + return bool(res) +} + + +// AfterTimestamptzSet wraps MEOS C function after_timestamptz_set. +func AfterTimestamptzSet(t int64, s *Set) bool { + res := C.after_timestamptz_set(C.TimestampTz(t), s._inner) + return bool(res) +} + + +// AfterTimestamptzSpan wraps MEOS C function after_timestamptz_span. +func AfterTimestamptzSpan(t int64, s *Span) bool { + res := C.after_timestamptz_span(C.TimestampTz(t), s._inner) + return bool(res) +} + + +// AfterTimestamptzSpanset wraps MEOS C function after_timestamptz_spanset. +func AfterTimestamptzSpanset(t int64, ss *SpanSet) bool { + res := C.after_timestamptz_spanset(C.TimestampTz(t), ss._inner) + return bool(res) +} + + +// BeforeDateSet wraps MEOS C function before_date_set. +func BeforeDateSet(d int32, s *Set) bool { + res := C.before_date_set(C.DateADT(d), s._inner) + return bool(res) +} + + +// BeforeDateSpan wraps MEOS C function before_date_span. +func BeforeDateSpan(d int32, s *Span) bool { + res := C.before_date_span(C.DateADT(d), s._inner) + return bool(res) +} + + +// BeforeDateSpanset wraps MEOS C function before_date_spanset. +func BeforeDateSpanset(d int32, ss *SpanSet) bool { + res := C.before_date_spanset(C.DateADT(d), ss._inner) + return bool(res) +} + + +// BeforeSetDate wraps MEOS C function before_set_date. +func BeforeSetDate(s *Set, d int32) bool { + res := C.before_set_date(s._inner, C.DateADT(d)) + return bool(res) +} + + +// BeforeSetTimestamptz wraps MEOS C function before_set_timestamptz. +func BeforeSetTimestamptz(s *Set, t int64) bool { + res := C.before_set_timestamptz(s._inner, C.TimestampTz(t)) + return bool(res) +} + + +// BeforeSpanDate wraps MEOS C function before_span_date. +func BeforeSpanDate(s *Span, d int32) bool { + res := C.before_span_date(s._inner, C.DateADT(d)) + return bool(res) +} + + +// BeforeSpanTimestamptz wraps MEOS C function before_span_timestamptz. +func BeforeSpanTimestamptz(s *Span, t int64) bool { + res := C.before_span_timestamptz(s._inner, C.TimestampTz(t)) + return bool(res) +} + + +// BeforeSpansetDate wraps MEOS C function before_spanset_date. +func BeforeSpansetDate(ss *SpanSet, d int32) bool { + res := C.before_spanset_date(ss._inner, C.DateADT(d)) + return bool(res) +} + + +// BeforeSpansetTimestamptz wraps MEOS C function before_spanset_timestamptz. +func BeforeSpansetTimestamptz(ss *SpanSet, t int64) bool { + res := C.before_spanset_timestamptz(ss._inner, C.TimestampTz(t)) + return bool(res) +} + + +// BeforeTimestamptzSet wraps MEOS C function before_timestamptz_set. +func BeforeTimestamptzSet(t int64, s *Set) bool { + res := C.before_timestamptz_set(C.TimestampTz(t), s._inner) + return bool(res) +} + + +// BeforeTimestamptzSpan wraps MEOS C function before_timestamptz_span. +func BeforeTimestamptzSpan(t int64, s *Span) bool { + res := C.before_timestamptz_span(C.TimestampTz(t), s._inner) + return bool(res) +} + + +// BeforeTimestamptzSpanset wraps MEOS C function before_timestamptz_spanset. +func BeforeTimestamptzSpanset(t int64, ss *SpanSet) bool { + res := C.before_timestamptz_spanset(C.TimestampTz(t), ss._inner) + return bool(res) +} + + +// LeftBigintSet wraps MEOS C function left_bigint_set. +func LeftBigintSet(i int64, s *Set) bool { + res := C.left_bigint_set(C.int64(i), s._inner) + return bool(res) +} + + +// LeftBigintSpan wraps MEOS C function left_bigint_span. +func LeftBigintSpan(i int64, s *Span) bool { + res := C.left_bigint_span(C.int64(i), s._inner) + return bool(res) +} + + +// LeftBigintSpanset wraps MEOS C function left_bigint_spanset. +func LeftBigintSpanset(i int64, ss *SpanSet) bool { + res := C.left_bigint_spanset(C.int64(i), ss._inner) + return bool(res) +} + + +// LeftFloatSet wraps MEOS C function left_float_set. +func LeftFloatSet(d float64, s *Set) bool { + res := C.left_float_set(C.double(d), s._inner) + return bool(res) +} + + +// LeftFloatSpan wraps MEOS C function left_float_span. +func LeftFloatSpan(d float64, s *Span) bool { + res := C.left_float_span(C.double(d), s._inner) + return bool(res) +} + + +// LeftFloatSpanset wraps MEOS C function left_float_spanset. +func LeftFloatSpanset(d float64, ss *SpanSet) bool { + res := C.left_float_spanset(C.double(d), ss._inner) + return bool(res) +} + + +// LeftIntSet wraps MEOS C function left_int_set. +func LeftIntSet(i int, s *Set) bool { + res := C.left_int_set(C.int(i), s._inner) + return bool(res) +} + + +// LeftIntSpan wraps MEOS C function left_int_span. +func LeftIntSpan(i int, s *Span) bool { + res := C.left_int_span(C.int(i), s._inner) + return bool(res) +} + + +// LeftIntSpanset wraps MEOS C function left_int_spanset. +func LeftIntSpanset(i int, ss *SpanSet) bool { + res := C.left_int_spanset(C.int(i), ss._inner) + return bool(res) +} + + +// LeftSetBigint wraps MEOS C function left_set_bigint. +func LeftSetBigint(s *Set, i int64) bool { + res := C.left_set_bigint(s._inner, C.int64(i)) + return bool(res) +} + + +// LeftSetFloat wraps MEOS C function left_set_float. +func LeftSetFloat(s *Set, d float64) bool { + res := C.left_set_float(s._inner, C.double(d)) + return bool(res) +} + + +// LeftSetInt wraps MEOS C function left_set_int. +func LeftSetInt(s *Set, i int) bool { + res := C.left_set_int(s._inner, C.int(i)) + return bool(res) +} + + +// LeftSetSet wraps MEOS C function left_set_set. +func LeftSetSet(s1 *Set, s2 *Set) bool { + res := C.left_set_set(s1._inner, s2._inner) + return bool(res) +} + + +// LeftSetText wraps MEOS C function left_set_text. +func LeftSetText(s *Set, txt string) bool { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.left_set_text(s._inner, _c_txt) + return bool(res) +} + + +// LeftSpanBigint wraps MEOS C function left_span_bigint. +func LeftSpanBigint(s *Span, i int64) bool { + res := C.left_span_bigint(s._inner, C.int64(i)) + return bool(res) +} + + +// LeftSpanFloat wraps MEOS C function left_span_float. +func LeftSpanFloat(s *Span, d float64) bool { + res := C.left_span_float(s._inner, C.double(d)) + return bool(res) +} + + +// LeftSpanInt wraps MEOS C function left_span_int. +func LeftSpanInt(s *Span, i int) bool { + res := C.left_span_int(s._inner, C.int(i)) + return bool(res) +} + + +// LeftSpanSpan wraps MEOS C function left_span_span. +func LeftSpanSpan(s1 *Span, s2 *Span) bool { + res := C.left_span_span(s1._inner, s2._inner) + return bool(res) +} + + +// LeftSpanSpanset wraps MEOS C function left_span_spanset. +func LeftSpanSpanset(s *Span, ss *SpanSet) bool { + res := C.left_span_spanset(s._inner, ss._inner) + return bool(res) +} + + +// LeftSpansetBigint wraps MEOS C function left_spanset_bigint. +func LeftSpansetBigint(ss *SpanSet, i int64) bool { + res := C.left_spanset_bigint(ss._inner, C.int64(i)) + return bool(res) +} + + +// LeftSpansetFloat wraps MEOS C function left_spanset_float. +func LeftSpansetFloat(ss *SpanSet, d float64) bool { + res := C.left_spanset_float(ss._inner, C.double(d)) + return bool(res) +} + + +// LeftSpansetInt wraps MEOS C function left_spanset_int. +func LeftSpansetInt(ss *SpanSet, i int) bool { + res := C.left_spanset_int(ss._inner, C.int(i)) + return bool(res) +} + + +// LeftSpansetSpan wraps MEOS C function left_spanset_span. +func LeftSpansetSpan(ss *SpanSet, s *Span) bool { + res := C.left_spanset_span(ss._inner, s._inner) + return bool(res) +} + + +// LeftSpansetSpanset wraps MEOS C function left_spanset_spanset. +func LeftSpansetSpanset(ss1 *SpanSet, ss2 *SpanSet) bool { + res := C.left_spanset_spanset(ss1._inner, ss2._inner) + return bool(res) +} + + +// LeftTextSet wraps MEOS C function left_text_set. +func LeftTextSet(txt string, s *Set) bool { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.left_text_set(_c_txt, s._inner) + return bool(res) +} + + +// OverafterDateSet wraps MEOS C function overafter_date_set. +func OverafterDateSet(d int32, s *Set) bool { + res := C.overafter_date_set(C.DateADT(d), s._inner) + return bool(res) +} + + +// OverafterDateSpan wraps MEOS C function overafter_date_span. +func OverafterDateSpan(d int32, s *Span) bool { + res := C.overafter_date_span(C.DateADT(d), s._inner) + return bool(res) +} + + +// OverafterDateSpanset wraps MEOS C function overafter_date_spanset. +func OverafterDateSpanset(d int32, ss *SpanSet) bool { + res := C.overafter_date_spanset(C.DateADT(d), ss._inner) + return bool(res) +} + + +// OverafterSetDate wraps MEOS C function overafter_set_date. +func OverafterSetDate(s *Set, d int32) bool { + res := C.overafter_set_date(s._inner, C.DateADT(d)) + return bool(res) +} + + +// OverafterSetTimestamptz wraps MEOS C function overafter_set_timestamptz. +func OverafterSetTimestamptz(s *Set, t int64) bool { + res := C.overafter_set_timestamptz(s._inner, C.TimestampTz(t)) + return bool(res) +} + + +// OverafterSpanDate wraps MEOS C function overafter_span_date. +func OverafterSpanDate(s *Span, d int32) bool { + res := C.overafter_span_date(s._inner, C.DateADT(d)) + return bool(res) +} + + +// OverafterSpanTimestamptz wraps MEOS C function overafter_span_timestamptz. +func OverafterSpanTimestamptz(s *Span, t int64) bool { + res := C.overafter_span_timestamptz(s._inner, C.TimestampTz(t)) + return bool(res) +} + + +// OverafterSpansetDate wraps MEOS C function overafter_spanset_date. +func OverafterSpansetDate(ss *SpanSet, d int32) bool { + res := C.overafter_spanset_date(ss._inner, C.DateADT(d)) + return bool(res) +} + + +// OverafterSpansetTimestamptz wraps MEOS C function overafter_spanset_timestamptz. +func OverafterSpansetTimestamptz(ss *SpanSet, t int64) bool { + res := C.overafter_spanset_timestamptz(ss._inner, C.TimestampTz(t)) + return bool(res) +} + + +// OverafterTimestamptzSet wraps MEOS C function overafter_timestamptz_set. +func OverafterTimestamptzSet(t int64, s *Set) bool { + res := C.overafter_timestamptz_set(C.TimestampTz(t), s._inner) + return bool(res) +} + + +// OverafterTimestamptzSpan wraps MEOS C function overafter_timestamptz_span. +func OverafterTimestamptzSpan(t int64, s *Span) bool { + res := C.overafter_timestamptz_span(C.TimestampTz(t), s._inner) + return bool(res) +} + + +// OverafterTimestamptzSpanset wraps MEOS C function overafter_timestamptz_spanset. +func OverafterTimestamptzSpanset(t int64, ss *SpanSet) bool { + res := C.overafter_timestamptz_spanset(C.TimestampTz(t), ss._inner) + return bool(res) +} + + +// OverbeforeDateSet wraps MEOS C function overbefore_date_set. +func OverbeforeDateSet(d int32, s *Set) bool { + res := C.overbefore_date_set(C.DateADT(d), s._inner) + return bool(res) +} + + +// OverbeforeDateSpan wraps MEOS C function overbefore_date_span. +func OverbeforeDateSpan(d int32, s *Span) bool { + res := C.overbefore_date_span(C.DateADT(d), s._inner) + return bool(res) +} + + +// OverbeforeDateSpanset wraps MEOS C function overbefore_date_spanset. +func OverbeforeDateSpanset(d int32, ss *SpanSet) bool { + res := C.overbefore_date_spanset(C.DateADT(d), ss._inner) + return bool(res) +} + + +// OverbeforeSetDate wraps MEOS C function overbefore_set_date. +func OverbeforeSetDate(s *Set, d int32) bool { + res := C.overbefore_set_date(s._inner, C.DateADT(d)) + return bool(res) +} + + +// OverbeforeSetTimestamptz wraps MEOS C function overbefore_set_timestamptz. +func OverbeforeSetTimestamptz(s *Set, t int64) bool { + res := C.overbefore_set_timestamptz(s._inner, C.TimestampTz(t)) + return bool(res) +} + + +// OverbeforeSpanDate wraps MEOS C function overbefore_span_date. +func OverbeforeSpanDate(s *Span, d int32) bool { + res := C.overbefore_span_date(s._inner, C.DateADT(d)) + return bool(res) +} + + +// OverbeforeSpanTimestamptz wraps MEOS C function overbefore_span_timestamptz. +func OverbeforeSpanTimestamptz(s *Span, t int64) bool { + res := C.overbefore_span_timestamptz(s._inner, C.TimestampTz(t)) + return bool(res) +} + + +// OverbeforeSpansetDate wraps MEOS C function overbefore_spanset_date. +func OverbeforeSpansetDate(ss *SpanSet, d int32) bool { + res := C.overbefore_spanset_date(ss._inner, C.DateADT(d)) + return bool(res) +} + + +// OverbeforeSpansetTimestamptz wraps MEOS C function overbefore_spanset_timestamptz. +func OverbeforeSpansetTimestamptz(ss *SpanSet, t int64) bool { + res := C.overbefore_spanset_timestamptz(ss._inner, C.TimestampTz(t)) + return bool(res) +} + + +// OverbeforeTimestamptzSet wraps MEOS C function overbefore_timestamptz_set. +func OverbeforeTimestamptzSet(t int64, s *Set) bool { + res := C.overbefore_timestamptz_set(C.TimestampTz(t), s._inner) + return bool(res) +} + + +// OverbeforeTimestamptzSpan wraps MEOS C function overbefore_timestamptz_span. +func OverbeforeTimestamptzSpan(t int64, s *Span) bool { + res := C.overbefore_timestamptz_span(C.TimestampTz(t), s._inner) + return bool(res) +} + + +// OverbeforeTimestamptzSpanset wraps MEOS C function overbefore_timestamptz_spanset. +func OverbeforeTimestamptzSpanset(t int64, ss *SpanSet) bool { + res := C.overbefore_timestamptz_spanset(C.TimestampTz(t), ss._inner) + return bool(res) +} + + +// OverleftBigintSet wraps MEOS C function overleft_bigint_set. +func OverleftBigintSet(i int64, s *Set) bool { + res := C.overleft_bigint_set(C.int64(i), s._inner) + return bool(res) +} + + +// OverleftBigintSpan wraps MEOS C function overleft_bigint_span. +func OverleftBigintSpan(i int64, s *Span) bool { + res := C.overleft_bigint_span(C.int64(i), s._inner) + return bool(res) +} + + +// OverleftBigintSpanset wraps MEOS C function overleft_bigint_spanset. +func OverleftBigintSpanset(i int64, ss *SpanSet) bool { + res := C.overleft_bigint_spanset(C.int64(i), ss._inner) + return bool(res) +} + + +// OverleftFloatSet wraps MEOS C function overleft_float_set. +func OverleftFloatSet(d float64, s *Set) bool { + res := C.overleft_float_set(C.double(d), s._inner) + return bool(res) +} + + +// OverleftFloatSpan wraps MEOS C function overleft_float_span. +func OverleftFloatSpan(d float64, s *Span) bool { + res := C.overleft_float_span(C.double(d), s._inner) + return bool(res) +} + + +// OverleftFloatSpanset wraps MEOS C function overleft_float_spanset. +func OverleftFloatSpanset(d float64, ss *SpanSet) bool { + res := C.overleft_float_spanset(C.double(d), ss._inner) + return bool(res) +} + + +// OverleftIntSet wraps MEOS C function overleft_int_set. +func OverleftIntSet(i int, s *Set) bool { + res := C.overleft_int_set(C.int(i), s._inner) + return bool(res) +} + + +// OverleftIntSpan wraps MEOS C function overleft_int_span. +func OverleftIntSpan(i int, s *Span) bool { + res := C.overleft_int_span(C.int(i), s._inner) + return bool(res) +} + + +// OverleftIntSpanset wraps MEOS C function overleft_int_spanset. +func OverleftIntSpanset(i int, ss *SpanSet) bool { + res := C.overleft_int_spanset(C.int(i), ss._inner) + return bool(res) +} + + +// OverleftSetBigint wraps MEOS C function overleft_set_bigint. +func OverleftSetBigint(s *Set, i int64) bool { + res := C.overleft_set_bigint(s._inner, C.int64(i)) + return bool(res) +} + + +// OverleftSetFloat wraps MEOS C function overleft_set_float. +func OverleftSetFloat(s *Set, d float64) bool { + res := C.overleft_set_float(s._inner, C.double(d)) + return bool(res) +} + + +// OverleftSetInt wraps MEOS C function overleft_set_int. +func OverleftSetInt(s *Set, i int) bool { + res := C.overleft_set_int(s._inner, C.int(i)) + return bool(res) +} + + +// OverleftSetSet wraps MEOS C function overleft_set_set. +func OverleftSetSet(s1 *Set, s2 *Set) bool { + res := C.overleft_set_set(s1._inner, s2._inner) + return bool(res) +} + + +// OverleftSetText wraps MEOS C function overleft_set_text. +func OverleftSetText(s *Set, txt string) bool { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.overleft_set_text(s._inner, _c_txt) + return bool(res) +} + + +// OverleftSpanBigint wraps MEOS C function overleft_span_bigint. +func OverleftSpanBigint(s *Span, i int64) bool { + res := C.overleft_span_bigint(s._inner, C.int64(i)) + return bool(res) +} + + +// OverleftSpanFloat wraps MEOS C function overleft_span_float. +func OverleftSpanFloat(s *Span, d float64) bool { + res := C.overleft_span_float(s._inner, C.double(d)) + return bool(res) +} + + +// OverleftSpanInt wraps MEOS C function overleft_span_int. +func OverleftSpanInt(s *Span, i int) bool { + res := C.overleft_span_int(s._inner, C.int(i)) + return bool(res) +} + + +// OverleftSpanSpan wraps MEOS C function overleft_span_span. +func OverleftSpanSpan(s1 *Span, s2 *Span) bool { + res := C.overleft_span_span(s1._inner, s2._inner) + return bool(res) +} + + +// OverleftSpanSpanset wraps MEOS C function overleft_span_spanset. +func OverleftSpanSpanset(s *Span, ss *SpanSet) bool { + res := C.overleft_span_spanset(s._inner, ss._inner) + return bool(res) +} + + +// OverleftSpansetBigint wraps MEOS C function overleft_spanset_bigint. +func OverleftSpansetBigint(ss *SpanSet, i int64) bool { + res := C.overleft_spanset_bigint(ss._inner, C.int64(i)) + return bool(res) +} + + +// OverleftSpansetFloat wraps MEOS C function overleft_spanset_float. +func OverleftSpansetFloat(ss *SpanSet, d float64) bool { + res := C.overleft_spanset_float(ss._inner, C.double(d)) + return bool(res) +} + + +// OverleftSpansetInt wraps MEOS C function overleft_spanset_int. +func OverleftSpansetInt(ss *SpanSet, i int) bool { + res := C.overleft_spanset_int(ss._inner, C.int(i)) + return bool(res) +} + + +// OverleftSpansetSpan wraps MEOS C function overleft_spanset_span. +func OverleftSpansetSpan(ss *SpanSet, s *Span) bool { + res := C.overleft_spanset_span(ss._inner, s._inner) + return bool(res) +} + + +// OverleftSpansetSpanset wraps MEOS C function overleft_spanset_spanset. +func OverleftSpansetSpanset(ss1 *SpanSet, ss2 *SpanSet) bool { + res := C.overleft_spanset_spanset(ss1._inner, ss2._inner) + return bool(res) +} + + +// OverleftTextSet wraps MEOS C function overleft_text_set. +func OverleftTextSet(txt string, s *Set) bool { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.overleft_text_set(_c_txt, s._inner) + return bool(res) +} + + +// OverrightBigintSet wraps MEOS C function overright_bigint_set. +func OverrightBigintSet(i int64, s *Set) bool { + res := C.overright_bigint_set(C.int64(i), s._inner) + return bool(res) +} + + +// OverrightBigintSpan wraps MEOS C function overright_bigint_span. +func OverrightBigintSpan(i int64, s *Span) bool { + res := C.overright_bigint_span(C.int64(i), s._inner) + return bool(res) +} + + +// OverrightBigintSpanset wraps MEOS C function overright_bigint_spanset. +func OverrightBigintSpanset(i int64, ss *SpanSet) bool { + res := C.overright_bigint_spanset(C.int64(i), ss._inner) + return bool(res) +} + + +// OverrightFloatSet wraps MEOS C function overright_float_set. +func OverrightFloatSet(d float64, s *Set) bool { + res := C.overright_float_set(C.double(d), s._inner) + return bool(res) +} + + +// OverrightFloatSpan wraps MEOS C function overright_float_span. +func OverrightFloatSpan(d float64, s *Span) bool { + res := C.overright_float_span(C.double(d), s._inner) + return bool(res) +} + + +// OverrightFloatSpanset wraps MEOS C function overright_float_spanset. +func OverrightFloatSpanset(d float64, ss *SpanSet) bool { + res := C.overright_float_spanset(C.double(d), ss._inner) + return bool(res) +} + + +// OverrightIntSet wraps MEOS C function overright_int_set. +func OverrightIntSet(i int, s *Set) bool { + res := C.overright_int_set(C.int(i), s._inner) + return bool(res) +} + + +// OverrightIntSpan wraps MEOS C function overright_int_span. +func OverrightIntSpan(i int, s *Span) bool { + res := C.overright_int_span(C.int(i), s._inner) + return bool(res) +} + + +// OverrightIntSpanset wraps MEOS C function overright_int_spanset. +func OverrightIntSpanset(i int, ss *SpanSet) bool { + res := C.overright_int_spanset(C.int(i), ss._inner) + return bool(res) +} + + +// OverrightSetBigint wraps MEOS C function overright_set_bigint. +func OverrightSetBigint(s *Set, i int64) bool { + res := C.overright_set_bigint(s._inner, C.int64(i)) + return bool(res) +} + + +// OverrightSetFloat wraps MEOS C function overright_set_float. +func OverrightSetFloat(s *Set, d float64) bool { + res := C.overright_set_float(s._inner, C.double(d)) + return bool(res) +} + + +// OverrightSetInt wraps MEOS C function overright_set_int. +func OverrightSetInt(s *Set, i int) bool { + res := C.overright_set_int(s._inner, C.int(i)) + return bool(res) +} + + +// OverrightSetSet wraps MEOS C function overright_set_set. +func OverrightSetSet(s1 *Set, s2 *Set) bool { + res := C.overright_set_set(s1._inner, s2._inner) + return bool(res) +} + + +// OverrightSetText wraps MEOS C function overright_set_text. +func OverrightSetText(s *Set, txt string) bool { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.overright_set_text(s._inner, _c_txt) + return bool(res) +} + + +// OverrightSpanBigint wraps MEOS C function overright_span_bigint. +func OverrightSpanBigint(s *Span, i int64) bool { + res := C.overright_span_bigint(s._inner, C.int64(i)) + return bool(res) +} + + +// OverrightSpanFloat wraps MEOS C function overright_span_float. +func OverrightSpanFloat(s *Span, d float64) bool { + res := C.overright_span_float(s._inner, C.double(d)) + return bool(res) +} + + +// OverrightSpanInt wraps MEOS C function overright_span_int. +func OverrightSpanInt(s *Span, i int) bool { + res := C.overright_span_int(s._inner, C.int(i)) + return bool(res) +} + + +// OverrightSpanSpan wraps MEOS C function overright_span_span. +func OverrightSpanSpan(s1 *Span, s2 *Span) bool { + res := C.overright_span_span(s1._inner, s2._inner) + return bool(res) +} + + +// OverrightSpanSpanset wraps MEOS C function overright_span_spanset. +func OverrightSpanSpanset(s *Span, ss *SpanSet) bool { + res := C.overright_span_spanset(s._inner, ss._inner) + return bool(res) +} + + +// OverrightSpansetBigint wraps MEOS C function overright_spanset_bigint. +func OverrightSpansetBigint(ss *SpanSet, i int64) bool { + res := C.overright_spanset_bigint(ss._inner, C.int64(i)) + return bool(res) +} + + +// OverrightSpansetFloat wraps MEOS C function overright_spanset_float. +func OverrightSpansetFloat(ss *SpanSet, d float64) bool { + res := C.overright_spanset_float(ss._inner, C.double(d)) + return bool(res) +} + + +// OverrightSpansetInt wraps MEOS C function overright_spanset_int. +func OverrightSpansetInt(ss *SpanSet, i int) bool { + res := C.overright_spanset_int(ss._inner, C.int(i)) + return bool(res) +} + + +// OverrightSpansetSpan wraps MEOS C function overright_spanset_span. +func OverrightSpansetSpan(ss *SpanSet, s *Span) bool { + res := C.overright_spanset_span(ss._inner, s._inner) + return bool(res) +} + + +// OverrightSpansetSpanset wraps MEOS C function overright_spanset_spanset. +func OverrightSpansetSpanset(ss1 *SpanSet, ss2 *SpanSet) bool { + res := C.overright_spanset_spanset(ss1._inner, ss2._inner) + return bool(res) +} + + +// OverrightTextSet wraps MEOS C function overright_text_set. +func OverrightTextSet(txt string, s *Set) bool { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.overright_text_set(_c_txt, s._inner) + return bool(res) +} + + +// RightBigintSet wraps MEOS C function right_bigint_set. +func RightBigintSet(i int64, s *Set) bool { + res := C.right_bigint_set(C.int64(i), s._inner) + return bool(res) +} + + +// RightBigintSpan wraps MEOS C function right_bigint_span. +func RightBigintSpan(i int64, s *Span) bool { + res := C.right_bigint_span(C.int64(i), s._inner) + return bool(res) +} + + +// RightBigintSpanset wraps MEOS C function right_bigint_spanset. +func RightBigintSpanset(i int64, ss *SpanSet) bool { + res := C.right_bigint_spanset(C.int64(i), ss._inner) + return bool(res) +} + + +// RightFloatSet wraps MEOS C function right_float_set. +func RightFloatSet(d float64, s *Set) bool { + res := C.right_float_set(C.double(d), s._inner) + return bool(res) +} + + +// RightFloatSpan wraps MEOS C function right_float_span. +func RightFloatSpan(d float64, s *Span) bool { + res := C.right_float_span(C.double(d), s._inner) + return bool(res) +} + + +// RightFloatSpanset wraps MEOS C function right_float_spanset. +func RightFloatSpanset(d float64, ss *SpanSet) bool { + res := C.right_float_spanset(C.double(d), ss._inner) + return bool(res) +} + + +// RightIntSet wraps MEOS C function right_int_set. +func RightIntSet(i int, s *Set) bool { + res := C.right_int_set(C.int(i), s._inner) + return bool(res) +} + + +// RightIntSpan wraps MEOS C function right_int_span. +func RightIntSpan(i int, s *Span) bool { + res := C.right_int_span(C.int(i), s._inner) + return bool(res) +} + + +// RightIntSpanset wraps MEOS C function right_int_spanset. +func RightIntSpanset(i int, ss *SpanSet) bool { + res := C.right_int_spanset(C.int(i), ss._inner) + return bool(res) +} + + +// RightSetBigint wraps MEOS C function right_set_bigint. +func RightSetBigint(s *Set, i int64) bool { + res := C.right_set_bigint(s._inner, C.int64(i)) + return bool(res) +} + + +// RightSetFloat wraps MEOS C function right_set_float. +func RightSetFloat(s *Set, d float64) bool { + res := C.right_set_float(s._inner, C.double(d)) + return bool(res) +} + + +// RightSetInt wraps MEOS C function right_set_int. +func RightSetInt(s *Set, i int) bool { + res := C.right_set_int(s._inner, C.int(i)) + return bool(res) +} + + +// RightSetSet wraps MEOS C function right_set_set. +func RightSetSet(s1 *Set, s2 *Set) bool { + res := C.right_set_set(s1._inner, s2._inner) + return bool(res) +} + + +// RightSetText wraps MEOS C function right_set_text. +func RightSetText(s *Set, txt string) bool { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.right_set_text(s._inner, _c_txt) + return bool(res) +} + + +// RightSpanBigint wraps MEOS C function right_span_bigint. +func RightSpanBigint(s *Span, i int64) bool { + res := C.right_span_bigint(s._inner, C.int64(i)) + return bool(res) +} + + +// RightSpanFloat wraps MEOS C function right_span_float. +func RightSpanFloat(s *Span, d float64) bool { + res := C.right_span_float(s._inner, C.double(d)) + return bool(res) +} + + +// RightSpanInt wraps MEOS C function right_span_int. +func RightSpanInt(s *Span, i int) bool { + res := C.right_span_int(s._inner, C.int(i)) + return bool(res) +} + + +// RightSpanSpan wraps MEOS C function right_span_span. +func RightSpanSpan(s1 *Span, s2 *Span) bool { + res := C.right_span_span(s1._inner, s2._inner) + return bool(res) +} + + +// RightSpanSpanset wraps MEOS C function right_span_spanset. +func RightSpanSpanset(s *Span, ss *SpanSet) bool { + res := C.right_span_spanset(s._inner, ss._inner) + return bool(res) +} + + +// RightSpansetBigint wraps MEOS C function right_spanset_bigint. +func RightSpansetBigint(ss *SpanSet, i int64) bool { + res := C.right_spanset_bigint(ss._inner, C.int64(i)) + return bool(res) +} + + +// RightSpansetFloat wraps MEOS C function right_spanset_float. +func RightSpansetFloat(ss *SpanSet, d float64) bool { + res := C.right_spanset_float(ss._inner, C.double(d)) + return bool(res) +} + + +// RightSpansetInt wraps MEOS C function right_spanset_int. +func RightSpansetInt(ss *SpanSet, i int) bool { + res := C.right_spanset_int(ss._inner, C.int(i)) + return bool(res) +} + + +// RightSpansetSpan wraps MEOS C function right_spanset_span. +func RightSpansetSpan(ss *SpanSet, s *Span) bool { + res := C.right_spanset_span(ss._inner, s._inner) + return bool(res) +} + + +// RightSpansetSpanset wraps MEOS C function right_spanset_spanset. +func RightSpansetSpanset(ss1 *SpanSet, ss2 *SpanSet) bool { + res := C.right_spanset_spanset(ss1._inner, ss2._inner) + return bool(res) +} + + +// RightTextSet wraps MEOS C function right_text_set. +func RightTextSet(txt string, s *Set) bool { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.right_text_set(_c_txt, s._inner) + return bool(res) +} + + +// IntersectionBigintSet wraps MEOS C function intersection_bigint_set. +func IntersectionBigintSet(i int64, s *Set) *Set { + res := C.intersection_bigint_set(C.int64(i), s._inner) + return &Set{_inner: res} +} + + +// IntersectionDateSet wraps MEOS C function intersection_date_set. +func IntersectionDateSet(d int32, s *Set) *Set { + res := C.intersection_date_set(C.DateADT(d), s._inner) + return &Set{_inner: res} +} + + +// IntersectionFloatSet wraps MEOS C function intersection_float_set. +func IntersectionFloatSet(d float64, s *Set) *Set { + res := C.intersection_float_set(C.double(d), s._inner) + return &Set{_inner: res} +} + + +// IntersectionIntSet wraps MEOS C function intersection_int_set. +func IntersectionIntSet(i int, s *Set) *Set { + res := C.intersection_int_set(C.int(i), s._inner) + return &Set{_inner: res} +} + + +// IntersectionSetBigint wraps MEOS C function intersection_set_bigint. +func IntersectionSetBigint(s *Set, i int64) *Set { + res := C.intersection_set_bigint(s._inner, C.int64(i)) + return &Set{_inner: res} +} + + +// IntersectionSetDate wraps MEOS C function intersection_set_date. +func IntersectionSetDate(s *Set, d int32) *Set { + res := C.intersection_set_date(s._inner, C.DateADT(d)) + return &Set{_inner: res} +} + + +// IntersectionSetFloat wraps MEOS C function intersection_set_float. +func IntersectionSetFloat(s *Set, d float64) *Set { + res := C.intersection_set_float(s._inner, C.double(d)) + return &Set{_inner: res} +} + + +// IntersectionSetInt wraps MEOS C function intersection_set_int. +func IntersectionSetInt(s *Set, i int) *Set { + res := C.intersection_set_int(s._inner, C.int(i)) + return &Set{_inner: res} +} + + +// IntersectionSetSet wraps MEOS C function intersection_set_set. +func IntersectionSetSet(s1 *Set, s2 *Set) *Set { + res := C.intersection_set_set(s1._inner, s2._inner) + return &Set{_inner: res} +} + + +// IntersectionSetText wraps MEOS C function intersection_set_text. +func IntersectionSetText(s *Set, txt string) *Set { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.intersection_set_text(s._inner, _c_txt) + return &Set{_inner: res} +} + + +// IntersectionSetTimestamptz wraps MEOS C function intersection_set_timestamptz. +func IntersectionSetTimestamptz(s *Set, t int64) *Set { + res := C.intersection_set_timestamptz(s._inner, C.TimestampTz(t)) + return &Set{_inner: res} +} + + +// IntersectionSpanBigint wraps MEOS C function intersection_span_bigint. +func IntersectionSpanBigint(s *Span, i int64) *Span { + res := C.intersection_span_bigint(s._inner, C.int64(i)) + return &Span{_inner: res} +} + + +// IntersectionSpanDate wraps MEOS C function intersection_span_date. +func IntersectionSpanDate(s *Span, d int32) *Span { + res := C.intersection_span_date(s._inner, C.DateADT(d)) + return &Span{_inner: res} +} + + +// IntersectionSpanFloat wraps MEOS C function intersection_span_float. +func IntersectionSpanFloat(s *Span, d float64) *Span { + res := C.intersection_span_float(s._inner, C.double(d)) + return &Span{_inner: res} +} + + +// IntersectionSpanInt wraps MEOS C function intersection_span_int. +func IntersectionSpanInt(s *Span, i int) *Span { + res := C.intersection_span_int(s._inner, C.int(i)) + return &Span{_inner: res} +} + + +// IntersectionSpanSpan wraps MEOS C function intersection_span_span. +func IntersectionSpanSpan(s1 *Span, s2 *Span) *Span { + res := C.intersection_span_span(s1._inner, s2._inner) + return &Span{_inner: res} +} + + +// IntersectionSpanSpanset wraps MEOS C function intersection_span_spanset. +func IntersectionSpanSpanset(s *Span, ss *SpanSet) *SpanSet { + res := C.intersection_span_spanset(s._inner, ss._inner) + return &SpanSet{_inner: res} +} + + +// IntersectionSpanTimestamptz wraps MEOS C function intersection_span_timestamptz. +func IntersectionSpanTimestamptz(s *Span, t int64) *Span { + res := C.intersection_span_timestamptz(s._inner, C.TimestampTz(t)) + return &Span{_inner: res} +} + + +// IntersectionSpansetBigint wraps MEOS C function intersection_spanset_bigint. +func IntersectionSpansetBigint(ss *SpanSet, i int64) *SpanSet { + res := C.intersection_spanset_bigint(ss._inner, C.int64(i)) + return &SpanSet{_inner: res} +} + + +// IntersectionSpansetDate wraps MEOS C function intersection_spanset_date. +func IntersectionSpansetDate(ss *SpanSet, d int32) *SpanSet { + res := C.intersection_spanset_date(ss._inner, C.DateADT(d)) + return &SpanSet{_inner: res} +} + + +// IntersectionSpansetFloat wraps MEOS C function intersection_spanset_float. +func IntersectionSpansetFloat(ss *SpanSet, d float64) *SpanSet { + res := C.intersection_spanset_float(ss._inner, C.double(d)) + return &SpanSet{_inner: res} +} + + +// IntersectionSpansetInt wraps MEOS C function intersection_spanset_int. +func IntersectionSpansetInt(ss *SpanSet, i int) *SpanSet { + res := C.intersection_spanset_int(ss._inner, C.int(i)) + return &SpanSet{_inner: res} +} + + +// IntersectionSpansetSpan wraps MEOS C function intersection_spanset_span. +func IntersectionSpansetSpan(ss *SpanSet, s *Span) *SpanSet { + res := C.intersection_spanset_span(ss._inner, s._inner) + return &SpanSet{_inner: res} +} + + +// IntersectionSpansetSpanset wraps MEOS C function intersection_spanset_spanset. +func IntersectionSpansetSpanset(ss1 *SpanSet, ss2 *SpanSet) *SpanSet { + res := C.intersection_spanset_spanset(ss1._inner, ss2._inner) + return &SpanSet{_inner: res} +} + + +// IntersectionSpansetTimestamptz wraps MEOS C function intersection_spanset_timestamptz. +func IntersectionSpansetTimestamptz(ss *SpanSet, t int64) *SpanSet { + res := C.intersection_spanset_timestamptz(ss._inner, C.TimestampTz(t)) + return &SpanSet{_inner: res} +} + + +// IntersectionTextSet wraps MEOS C function intersection_text_set. +func IntersectionTextSet(txt string, s *Set) *Set { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.intersection_text_set(_c_txt, s._inner) + return &Set{_inner: res} +} + + +// IntersectionTimestamptzSet wraps MEOS C function intersection_timestamptz_set. +func IntersectionTimestamptzSet(t int64, s *Set) *Set { + res := C.intersection_timestamptz_set(C.TimestampTz(t), s._inner) + return &Set{_inner: res} +} + + +// MinusBigintSet wraps MEOS C function minus_bigint_set. +func MinusBigintSet(i int64, s *Set) *Set { + res := C.minus_bigint_set(C.int64(i), s._inner) + return &Set{_inner: res} +} + + +// MinusBigintSpan wraps MEOS C function minus_bigint_span. +func MinusBigintSpan(i int64, s *Span) *SpanSet { + res := C.minus_bigint_span(C.int64(i), s._inner) + return &SpanSet{_inner: res} +} + + +// MinusBigintSpanset wraps MEOS C function minus_bigint_spanset. +func MinusBigintSpanset(i int64, ss *SpanSet) *SpanSet { + res := C.minus_bigint_spanset(C.int64(i), ss._inner) + return &SpanSet{_inner: res} +} + + +// MinusDateSet wraps MEOS C function minus_date_set. +func MinusDateSet(d int32, s *Set) *Set { + res := C.minus_date_set(C.DateADT(d), s._inner) + return &Set{_inner: res} +} + + +// MinusDateSpan wraps MEOS C function minus_date_span. +func MinusDateSpan(d int32, s *Span) *SpanSet { + res := C.minus_date_span(C.DateADT(d), s._inner) + return &SpanSet{_inner: res} +} + + +// MinusDateSpanset wraps MEOS C function minus_date_spanset. +func MinusDateSpanset(d int32, ss *SpanSet) *SpanSet { + res := C.minus_date_spanset(C.DateADT(d), ss._inner) + return &SpanSet{_inner: res} +} + + +// MinusFloatSet wraps MEOS C function minus_float_set. +func MinusFloatSet(d float64, s *Set) *Set { + res := C.minus_float_set(C.double(d), s._inner) + return &Set{_inner: res} +} + + +// MinusFloatSpan wraps MEOS C function minus_float_span. +func MinusFloatSpan(d float64, s *Span) *SpanSet { + res := C.minus_float_span(C.double(d), s._inner) + return &SpanSet{_inner: res} +} + + +// MinusFloatSpanset wraps MEOS C function minus_float_spanset. +func MinusFloatSpanset(d float64, ss *SpanSet) *SpanSet { + res := C.minus_float_spanset(C.double(d), ss._inner) + return &SpanSet{_inner: res} +} + + +// MinusIntSet wraps MEOS C function minus_int_set. +func MinusIntSet(i int, s *Set) *Set { + res := C.minus_int_set(C.int(i), s._inner) + return &Set{_inner: res} +} + + +// MinusIntSpan wraps MEOS C function minus_int_span. +func MinusIntSpan(i int, s *Span) *SpanSet { + res := C.minus_int_span(C.int(i), s._inner) + return &SpanSet{_inner: res} +} + + +// MinusIntSpanset wraps MEOS C function minus_int_spanset. +func MinusIntSpanset(i int, ss *SpanSet) *SpanSet { + res := C.minus_int_spanset(C.int(i), ss._inner) + return &SpanSet{_inner: res} +} + + +// MinusSetBigint wraps MEOS C function minus_set_bigint. +func MinusSetBigint(s *Set, i int64) *Set { + res := C.minus_set_bigint(s._inner, C.int64(i)) + return &Set{_inner: res} +} + + +// MinusSetDate wraps MEOS C function minus_set_date. +func MinusSetDate(s *Set, d int32) *Set { + res := C.minus_set_date(s._inner, C.DateADT(d)) + return &Set{_inner: res} +} + + +// MinusSetFloat wraps MEOS C function minus_set_float. +func MinusSetFloat(s *Set, d float64) *Set { + res := C.minus_set_float(s._inner, C.double(d)) + return &Set{_inner: res} +} + + +// MinusSetInt wraps MEOS C function minus_set_int. +func MinusSetInt(s *Set, i int) *Set { + res := C.minus_set_int(s._inner, C.int(i)) + return &Set{_inner: res} +} + + +// MinusSetSet wraps MEOS C function minus_set_set. +func MinusSetSet(s1 *Set, s2 *Set) *Set { + res := C.minus_set_set(s1._inner, s2._inner) + return &Set{_inner: res} +} + + +// MinusSetText wraps MEOS C function minus_set_text. +func MinusSetText(s *Set, txt string) *Set { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.minus_set_text(s._inner, _c_txt) + return &Set{_inner: res} +} + + +// MinusSetTimestamptz wraps MEOS C function minus_set_timestamptz. +func MinusSetTimestamptz(s *Set, t int64) *Set { + res := C.minus_set_timestamptz(s._inner, C.TimestampTz(t)) + return &Set{_inner: res} +} + + +// MinusSpanBigint wraps MEOS C function minus_span_bigint. +func MinusSpanBigint(s *Span, i int64) *SpanSet { + res := C.minus_span_bigint(s._inner, C.int64(i)) + return &SpanSet{_inner: res} +} + + +// MinusSpanDate wraps MEOS C function minus_span_date. +func MinusSpanDate(s *Span, d int32) *SpanSet { + res := C.minus_span_date(s._inner, C.DateADT(d)) + return &SpanSet{_inner: res} +} + + +// MinusSpanFloat wraps MEOS C function minus_span_float. +func MinusSpanFloat(s *Span, d float64) *SpanSet { + res := C.minus_span_float(s._inner, C.double(d)) + return &SpanSet{_inner: res} +} + + +// MinusSpanInt wraps MEOS C function minus_span_int. +func MinusSpanInt(s *Span, i int) *SpanSet { + res := C.minus_span_int(s._inner, C.int(i)) + return &SpanSet{_inner: res} +} + + +// MinusSpanSpan wraps MEOS C function minus_span_span. +func MinusSpanSpan(s1 *Span, s2 *Span) *SpanSet { + res := C.minus_span_span(s1._inner, s2._inner) + return &SpanSet{_inner: res} +} + + +// MinusSpanSpanset wraps MEOS C function minus_span_spanset. +func MinusSpanSpanset(s *Span, ss *SpanSet) *SpanSet { + res := C.minus_span_spanset(s._inner, ss._inner) + return &SpanSet{_inner: res} +} + + +// MinusSpanTimestamptz wraps MEOS C function minus_span_timestamptz. +func MinusSpanTimestamptz(s *Span, t int64) *SpanSet { + res := C.minus_span_timestamptz(s._inner, C.TimestampTz(t)) + return &SpanSet{_inner: res} +} + + +// MinusSpansetBigint wraps MEOS C function minus_spanset_bigint. +func MinusSpansetBigint(ss *SpanSet, i int64) *SpanSet { + res := C.minus_spanset_bigint(ss._inner, C.int64(i)) + return &SpanSet{_inner: res} +} + + +// MinusSpansetDate wraps MEOS C function minus_spanset_date. +func MinusSpansetDate(ss *SpanSet, d int32) *SpanSet { + res := C.minus_spanset_date(ss._inner, C.DateADT(d)) + return &SpanSet{_inner: res} +} + + +// MinusSpansetFloat wraps MEOS C function minus_spanset_float. +func MinusSpansetFloat(ss *SpanSet, d float64) *SpanSet { + res := C.minus_spanset_float(ss._inner, C.double(d)) + return &SpanSet{_inner: res} +} + + +// MinusSpansetInt wraps MEOS C function minus_spanset_int. +func MinusSpansetInt(ss *SpanSet, i int) *SpanSet { + res := C.minus_spanset_int(ss._inner, C.int(i)) + return &SpanSet{_inner: res} +} + + +// MinusSpansetSpan wraps MEOS C function minus_spanset_span. +func MinusSpansetSpan(ss *SpanSet, s *Span) *SpanSet { + res := C.minus_spanset_span(ss._inner, s._inner) + return &SpanSet{_inner: res} +} + + +// MinusSpansetSpanset wraps MEOS C function minus_spanset_spanset. +func MinusSpansetSpanset(ss1 *SpanSet, ss2 *SpanSet) *SpanSet { + res := C.minus_spanset_spanset(ss1._inner, ss2._inner) + return &SpanSet{_inner: res} +} + + +// MinusSpansetTimestamptz wraps MEOS C function minus_spanset_timestamptz. +func MinusSpansetTimestamptz(ss *SpanSet, t int64) *SpanSet { + res := C.minus_spanset_timestamptz(ss._inner, C.TimestampTz(t)) + return &SpanSet{_inner: res} +} + + +// MinusTextSet wraps MEOS C function minus_text_set. +func MinusTextSet(txt string, s *Set) *Set { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.minus_text_set(_c_txt, s._inner) + return &Set{_inner: res} +} + + +// MinusTimestamptzSet wraps MEOS C function minus_timestamptz_set. +func MinusTimestamptzSet(t int64, s *Set) *Set { + res := C.minus_timestamptz_set(C.TimestampTz(t), s._inner) + return &Set{_inner: res} +} + + +// MinusTimestamptzSpan wraps MEOS C function minus_timestamptz_span. +func MinusTimestamptzSpan(t int64, s *Span) *SpanSet { + res := C.minus_timestamptz_span(C.TimestampTz(t), s._inner) + return &SpanSet{_inner: res} +} + + +// MinusTimestamptzSpanset wraps MEOS C function minus_timestamptz_spanset. +func MinusTimestamptzSpanset(t int64, ss *SpanSet) *SpanSet { + res := C.minus_timestamptz_spanset(C.TimestampTz(t), ss._inner) + return &SpanSet{_inner: res} +} + + +// UnionBigintSet wraps MEOS C function union_bigint_set. +func UnionBigintSet(i int64, s *Set) *Set { + res := C.union_bigint_set(C.int64(i), s._inner) + return &Set{_inner: res} +} + + +// UnionBigintSpan wraps MEOS C function union_bigint_span. +func UnionBigintSpan(s *Span, i int64) *SpanSet { + res := C.union_bigint_span(s._inner, C.int64(i)) + return &SpanSet{_inner: res} +} + + +// UnionBigintSpanset wraps MEOS C function union_bigint_spanset. +func UnionBigintSpanset(i int64, ss *SpanSet) *SpanSet { + res := C.union_bigint_spanset(C.int64(i), ss._inner) + return &SpanSet{_inner: res} +} + + +// UnionDateSet wraps MEOS C function union_date_set. +func UnionDateSet(d int32, s *Set) *Set { + res := C.union_date_set(C.DateADT(d), s._inner) + return &Set{_inner: res} +} + + +// UnionDateSpan wraps MEOS C function union_date_span. +func UnionDateSpan(s *Span, d int32) *SpanSet { + res := C.union_date_span(s._inner, C.DateADT(d)) + return &SpanSet{_inner: res} +} + + +// UnionDateSpanset wraps MEOS C function union_date_spanset. +func UnionDateSpanset(d int32, ss *SpanSet) *SpanSet { + res := C.union_date_spanset(C.DateADT(d), ss._inner) + return &SpanSet{_inner: res} +} + + +// UnionFloatSet wraps MEOS C function union_float_set. +func UnionFloatSet(d float64, s *Set) *Set { + res := C.union_float_set(C.double(d), s._inner) + return &Set{_inner: res} +} + + +// UnionFloatSpan wraps MEOS C function union_float_span. +func UnionFloatSpan(s *Span, d float64) *SpanSet { + res := C.union_float_span(s._inner, C.double(d)) + return &SpanSet{_inner: res} +} + + +// UnionFloatSpanset wraps MEOS C function union_float_spanset. +func UnionFloatSpanset(d float64, ss *SpanSet) *SpanSet { + res := C.union_float_spanset(C.double(d), ss._inner) + return &SpanSet{_inner: res} +} + + +// UnionIntSet wraps MEOS C function union_int_set. +func UnionIntSet(i int, s *Set) *Set { + res := C.union_int_set(C.int(i), s._inner) + return &Set{_inner: res} +} + + +// UnionIntSpan wraps MEOS C function union_int_span. +func UnionIntSpan(i int, s *Span) *SpanSet { + res := C.union_int_span(C.int(i), s._inner) + return &SpanSet{_inner: res} +} + + +// UnionIntSpanset wraps MEOS C function union_int_spanset. +func UnionIntSpanset(i int, ss *SpanSet) *SpanSet { + res := C.union_int_spanset(C.int(i), ss._inner) + return &SpanSet{_inner: res} +} + + +// UnionSetBigint wraps MEOS C function union_set_bigint. +func UnionSetBigint(s *Set, i int64) *Set { + res := C.union_set_bigint(s._inner, C.int64(i)) + return &Set{_inner: res} +} + + +// UnionSetDate wraps MEOS C function union_set_date. +func UnionSetDate(s *Set, d int32) *Set { + res := C.union_set_date(s._inner, C.DateADT(d)) + return &Set{_inner: res} +} + + +// UnionSetFloat wraps MEOS C function union_set_float. +func UnionSetFloat(s *Set, d float64) *Set { + res := C.union_set_float(s._inner, C.double(d)) + return &Set{_inner: res} +} + + +// UnionSetInt wraps MEOS C function union_set_int. +func UnionSetInt(s *Set, i int) *Set { + res := C.union_set_int(s._inner, C.int(i)) + return &Set{_inner: res} +} + + +// UnionSetSet wraps MEOS C function union_set_set. +func UnionSetSet(s1 *Set, s2 *Set) *Set { + res := C.union_set_set(s1._inner, s2._inner) + return &Set{_inner: res} +} + + +// UnionSetText wraps MEOS C function union_set_text. +func UnionSetText(s *Set, txt string) *Set { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.union_set_text(s._inner, _c_txt) + return &Set{_inner: res} +} + + +// UnionSetTimestamptz wraps MEOS C function union_set_timestamptz. +func UnionSetTimestamptz(s *Set, t int64) *Set { + res := C.union_set_timestamptz(s._inner, C.TimestampTz(t)) + return &Set{_inner: res} +} + + +// UnionSpanBigint wraps MEOS C function union_span_bigint. +func UnionSpanBigint(s *Span, i int64) *SpanSet { + res := C.union_span_bigint(s._inner, C.int64(i)) + return &SpanSet{_inner: res} +} + + +// UnionSpanDate wraps MEOS C function union_span_date. +func UnionSpanDate(s *Span, d int32) *SpanSet { + res := C.union_span_date(s._inner, C.DateADT(d)) + return &SpanSet{_inner: res} +} + + +// UnionSpanFloat wraps MEOS C function union_span_float. +func UnionSpanFloat(s *Span, d float64) *SpanSet { + res := C.union_span_float(s._inner, C.double(d)) + return &SpanSet{_inner: res} +} + + +// UnionSpanInt wraps MEOS C function union_span_int. +func UnionSpanInt(s *Span, i int) *SpanSet { + res := C.union_span_int(s._inner, C.int(i)) + return &SpanSet{_inner: res} +} + + +// UnionSpanSpan wraps MEOS C function union_span_span. +func UnionSpanSpan(s1 *Span, s2 *Span) *SpanSet { + res := C.union_span_span(s1._inner, s2._inner) + return &SpanSet{_inner: res} +} + + +// UnionSpanSpanset wraps MEOS C function union_span_spanset. +func UnionSpanSpanset(s *Span, ss *SpanSet) *SpanSet { + res := C.union_span_spanset(s._inner, ss._inner) + return &SpanSet{_inner: res} +} + + +// UnionSpanTimestamptz wraps MEOS C function union_span_timestamptz. +func UnionSpanTimestamptz(s *Span, t int64) *SpanSet { + res := C.union_span_timestamptz(s._inner, C.TimestampTz(t)) + return &SpanSet{_inner: res} +} + + +// UnionSpansetBigint wraps MEOS C function union_spanset_bigint. +func UnionSpansetBigint(ss *SpanSet, i int64) *SpanSet { + res := C.union_spanset_bigint(ss._inner, C.int64(i)) + return &SpanSet{_inner: res} +} + + +// UnionSpansetDate wraps MEOS C function union_spanset_date. +func UnionSpansetDate(ss *SpanSet, d int32) *SpanSet { + res := C.union_spanset_date(ss._inner, C.DateADT(d)) + return &SpanSet{_inner: res} +} + + +// UnionSpansetFloat wraps MEOS C function union_spanset_float. +func UnionSpansetFloat(ss *SpanSet, d float64) *SpanSet { + res := C.union_spanset_float(ss._inner, C.double(d)) + return &SpanSet{_inner: res} +} + + +// UnionSpansetInt wraps MEOS C function union_spanset_int. +func UnionSpansetInt(ss *SpanSet, i int) *SpanSet { + res := C.union_spanset_int(ss._inner, C.int(i)) + return &SpanSet{_inner: res} +} + + +// UnionSpansetSpan wraps MEOS C function union_spanset_span. +func UnionSpansetSpan(ss *SpanSet, s *Span) *SpanSet { + res := C.union_spanset_span(ss._inner, s._inner) + return &SpanSet{_inner: res} +} + + +// UnionSpansetSpanset wraps MEOS C function union_spanset_spanset. +func UnionSpansetSpanset(ss1 *SpanSet, ss2 *SpanSet) *SpanSet { + res := C.union_spanset_spanset(ss1._inner, ss2._inner) + return &SpanSet{_inner: res} +} + + +// UnionSpansetTimestamptz wraps MEOS C function union_spanset_timestamptz. +func UnionSpansetTimestamptz(ss *SpanSet, t int64) *SpanSet { + res := C.union_spanset_timestamptz(ss._inner, C.TimestampTz(t)) + return &SpanSet{_inner: res} +} + + +// UnionTextSet wraps MEOS C function union_text_set. +func UnionTextSet(txt string, s *Set) *Set { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.union_text_set(_c_txt, s._inner) + return &Set{_inner: res} +} + + +// UnionTimestamptzSet wraps MEOS C function union_timestamptz_set. +func UnionTimestamptzSet(t int64, s *Set) *Set { + res := C.union_timestamptz_set(C.TimestampTz(t), s._inner) + return &Set{_inner: res} +} + + +// UnionTimestamptzSpan wraps MEOS C function union_timestamptz_span. +func UnionTimestamptzSpan(t int64, s *Span) *SpanSet { + res := C.union_timestamptz_span(C.TimestampTz(t), s._inner) + return &SpanSet{_inner: res} +} + + +// UnionTimestamptzSpanset wraps MEOS C function union_timestamptz_spanset. +func UnionTimestamptzSpanset(t int64, ss *SpanSet) *SpanSet { + res := C.union_timestamptz_spanset(C.TimestampTz(t), ss._inner) + return &SpanSet{_inner: res} +} + + +// DistanceBigintsetBigintset wraps MEOS C function distance_bigintset_bigintset. +func DistanceBigintsetBigintset(s1 *Set, s2 *Set) int64 { + res := C.distance_bigintset_bigintset(s1._inner, s2._inner) + return int64(res) +} + + +// DistanceBigintspanBigintspan wraps MEOS C function distance_bigintspan_bigintspan. +func DistanceBigintspanBigintspan(s1 *Span, s2 *Span) int64 { + res := C.distance_bigintspan_bigintspan(s1._inner, s2._inner) + return int64(res) +} + + +// DistanceBigintspansetBigintspan wraps MEOS C function distance_bigintspanset_bigintspan. +func DistanceBigintspansetBigintspan(ss *SpanSet, s *Span) int64 { + res := C.distance_bigintspanset_bigintspan(ss._inner, s._inner) + return int64(res) +} + + +// DistanceBigintspansetBigintspanset wraps MEOS C function distance_bigintspanset_bigintspanset. +func DistanceBigintspansetBigintspanset(ss1 *SpanSet, ss2 *SpanSet) int64 { + res := C.distance_bigintspanset_bigintspanset(ss1._inner, ss2._inner) + return int64(res) +} + + +// DistanceDatesetDateset wraps MEOS C function distance_dateset_dateset. +func DistanceDatesetDateset(s1 *Set, s2 *Set) int { + res := C.distance_dateset_dateset(s1._inner, s2._inner) + return int(res) +} + + +// DistanceDatespanDatespan wraps MEOS C function distance_datespan_datespan. +func DistanceDatespanDatespan(s1 *Span, s2 *Span) int { + res := C.distance_datespan_datespan(s1._inner, s2._inner) + return int(res) +} + + +// DistanceDatespansetDatespan wraps MEOS C function distance_datespanset_datespan. +func DistanceDatespansetDatespan(ss *SpanSet, s *Span) int { + res := C.distance_datespanset_datespan(ss._inner, s._inner) + return int(res) +} + + +// DistanceDatespansetDatespanset wraps MEOS C function distance_datespanset_datespanset. +func DistanceDatespansetDatespanset(ss1 *SpanSet, ss2 *SpanSet) int { + res := C.distance_datespanset_datespanset(ss1._inner, ss2._inner) + return int(res) +} + + +// DistanceFloatsetFloatset wraps MEOS C function distance_floatset_floatset. +func DistanceFloatsetFloatset(s1 *Set, s2 *Set) float64 { + res := C.distance_floatset_floatset(s1._inner, s2._inner) + return float64(res) +} + + +// DistanceFloatspanFloatspan wraps MEOS C function distance_floatspan_floatspan. +func DistanceFloatspanFloatspan(s1 *Span, s2 *Span) float64 { + res := C.distance_floatspan_floatspan(s1._inner, s2._inner) + return float64(res) +} + + +// DistanceFloatspansetFloatspan wraps MEOS C function distance_floatspanset_floatspan. +func DistanceFloatspansetFloatspan(ss *SpanSet, s *Span) float64 { + res := C.distance_floatspanset_floatspan(ss._inner, s._inner) + return float64(res) +} + + +// DistanceFloatspansetFloatspanset wraps MEOS C function distance_floatspanset_floatspanset. +func DistanceFloatspansetFloatspanset(ss1 *SpanSet, ss2 *SpanSet) float64 { + res := C.distance_floatspanset_floatspanset(ss1._inner, ss2._inner) + return float64(res) +} + + +// DistanceIntsetIntset wraps MEOS C function distance_intset_intset. +func DistanceIntsetIntset(s1 *Set, s2 *Set) int { + res := C.distance_intset_intset(s1._inner, s2._inner) + return int(res) +} + + +// DistanceIntspanIntspan wraps MEOS C function distance_intspan_intspan. +func DistanceIntspanIntspan(s1 *Span, s2 *Span) int { + res := C.distance_intspan_intspan(s1._inner, s2._inner) + return int(res) +} + + +// DistanceIntspansetIntspan wraps MEOS C function distance_intspanset_intspan. +func DistanceIntspansetIntspan(ss *SpanSet, s *Span) int { + res := C.distance_intspanset_intspan(ss._inner, s._inner) + return int(res) +} + + +// DistanceIntspansetIntspanset wraps MEOS C function distance_intspanset_intspanset. +func DistanceIntspansetIntspanset(ss1 *SpanSet, ss2 *SpanSet) int { + res := C.distance_intspanset_intspanset(ss1._inner, ss2._inner) + return int(res) +} + + +// DistanceSetBigint wraps MEOS C function distance_set_bigint. +func DistanceSetBigint(s *Set, i int64) int64 { + res := C.distance_set_bigint(s._inner, C.int64(i)) + return int64(res) +} + + +// DistanceSetDate wraps MEOS C function distance_set_date. +func DistanceSetDate(s *Set, d int32) int { + res := C.distance_set_date(s._inner, C.DateADT(d)) + return int(res) +} + + +// DistanceSetFloat wraps MEOS C function distance_set_float. +func DistanceSetFloat(s *Set, d float64) float64 { + res := C.distance_set_float(s._inner, C.double(d)) + return float64(res) +} + + +// DistanceSetInt wraps MEOS C function distance_set_int. +func DistanceSetInt(s *Set, i int) int { + res := C.distance_set_int(s._inner, C.int(i)) + return int(res) +} + + +// DistanceSetTimestamptz wraps MEOS C function distance_set_timestamptz. +func DistanceSetTimestamptz(s *Set, t int64) float64 { + res := C.distance_set_timestamptz(s._inner, C.TimestampTz(t)) + return float64(res) +} + + +// DistanceSpanBigint wraps MEOS C function distance_span_bigint. +func DistanceSpanBigint(s *Span, i int64) int64 { + res := C.distance_span_bigint(s._inner, C.int64(i)) + return int64(res) +} + + +// DistanceSpanDate wraps MEOS C function distance_span_date. +func DistanceSpanDate(s *Span, d int32) int { + res := C.distance_span_date(s._inner, C.DateADT(d)) + return int(res) +} + + +// DistanceSpanFloat wraps MEOS C function distance_span_float. +func DistanceSpanFloat(s *Span, d float64) float64 { + res := C.distance_span_float(s._inner, C.double(d)) + return float64(res) +} + + +// DistanceSpanInt wraps MEOS C function distance_span_int. +func DistanceSpanInt(s *Span, i int) int { + res := C.distance_span_int(s._inner, C.int(i)) + return int(res) +} + + +// DistanceSpanTimestamptz wraps MEOS C function distance_span_timestamptz. +func DistanceSpanTimestamptz(s *Span, t int64) float64 { + res := C.distance_span_timestamptz(s._inner, C.TimestampTz(t)) + return float64(res) +} + + +// DistanceSpansetBigint wraps MEOS C function distance_spanset_bigint. +func DistanceSpansetBigint(ss *SpanSet, i int64) int64 { + res := C.distance_spanset_bigint(ss._inner, C.int64(i)) + return int64(res) +} + + +// DistanceSpansetDate wraps MEOS C function distance_spanset_date. +func DistanceSpansetDate(ss *SpanSet, d int32) int { + res := C.distance_spanset_date(ss._inner, C.DateADT(d)) + return int(res) +} + + +// DistanceSpansetFloat wraps MEOS C function distance_spanset_float. +func DistanceSpansetFloat(ss *SpanSet, d float64) float64 { + res := C.distance_spanset_float(ss._inner, C.double(d)) + return float64(res) +} + + +// DistanceSpansetInt wraps MEOS C function distance_spanset_int. +func DistanceSpansetInt(ss *SpanSet, i int) int { + res := C.distance_spanset_int(ss._inner, C.int(i)) + return int(res) +} + + +// DistanceSpansetTimestamptz wraps MEOS C function distance_spanset_timestamptz. +func DistanceSpansetTimestamptz(ss *SpanSet, t int64) float64 { + res := C.distance_spanset_timestamptz(ss._inner, C.TimestampTz(t)) + return float64(res) +} + + +// DistanceTstzsetTstzset wraps MEOS C function distance_tstzset_tstzset. +func DistanceTstzsetTstzset(s1 *Set, s2 *Set) float64 { + res := C.distance_tstzset_tstzset(s1._inner, s2._inner) + return float64(res) +} + + +// DistanceTstzspanTstzspan wraps MEOS C function distance_tstzspan_tstzspan. +func DistanceTstzspanTstzspan(s1 *Span, s2 *Span) float64 { + res := C.distance_tstzspan_tstzspan(s1._inner, s2._inner) + return float64(res) +} + + +// DistanceTstzspansetTstzspan wraps MEOS C function distance_tstzspanset_tstzspan. +func DistanceTstzspansetTstzspan(ss *SpanSet, s *Span) float64 { + res := C.distance_tstzspanset_tstzspan(ss._inner, s._inner) + return float64(res) +} + + +// DistanceTstzspansetTstzspanset wraps MEOS C function distance_tstzspanset_tstzspanset. +func DistanceTstzspansetTstzspanset(ss1 *SpanSet, ss2 *SpanSet) float64 { + res := C.distance_tstzspanset_tstzspanset(ss1._inner, ss2._inner) + return float64(res) +} + + +// BigintExtentTransfn wraps MEOS C function bigint_extent_transfn. +func BigintExtentTransfn(state *Span, i int64) *Span { + res := C.bigint_extent_transfn(state._inner, C.int64(i)) + return &Span{_inner: res} +} + + +// BigintUnionTransfn wraps MEOS C function bigint_union_transfn. +func BigintUnionTransfn(state *Set, i int64) *Set { + res := C.bigint_union_transfn(state._inner, C.int64(i)) + return &Set{_inner: res} +} + + +// DateExtentTransfn wraps MEOS C function date_extent_transfn. +func DateExtentTransfn(state *Span, d int32) *Span { + res := C.date_extent_transfn(state._inner, C.DateADT(d)) + return &Span{_inner: res} +} + + +// DateUnionTransfn wraps MEOS C function date_union_transfn. +func DateUnionTransfn(state *Set, d int32) *Set { + res := C.date_union_transfn(state._inner, C.DateADT(d)) + return &Set{_inner: res} +} + + +// FloatExtentTransfn wraps MEOS C function float_extent_transfn. +func FloatExtentTransfn(state *Span, d float64) *Span { + res := C.float_extent_transfn(state._inner, C.double(d)) + return &Span{_inner: res} +} + + +// FloatUnionTransfn wraps MEOS C function float_union_transfn. +func FloatUnionTransfn(state *Set, d float64) *Set { + res := C.float_union_transfn(state._inner, C.double(d)) + return &Set{_inner: res} +} + + +// IntExtentTransfn wraps MEOS C function int_extent_transfn. +func IntExtentTransfn(state *Span, i int) *Span { + res := C.int_extent_transfn(state._inner, C.int(i)) + return &Span{_inner: res} +} + + +// IntUnionTransfn wraps MEOS C function int_union_transfn. +func IntUnionTransfn(state *Set, i int32) *Set { + res := C.int_union_transfn(state._inner, C.int32(i)) + return &Set{_inner: res} +} + + +// SetExtentTransfn wraps MEOS C function set_extent_transfn. +func SetExtentTransfn(state *Span, s *Set) *Span { + res := C.set_extent_transfn(state._inner, s._inner) + return &Span{_inner: res} +} + + +// SetUnionFinalfn wraps MEOS C function set_union_finalfn. +func SetUnionFinalfn(state *Set) *Set { + res := C.set_union_finalfn(state._inner) + return &Set{_inner: res} +} + + +// SetUnionTransfn wraps MEOS C function set_union_transfn. +func SetUnionTransfn(state *Set, s *Set) *Set { + res := C.set_union_transfn(state._inner, s._inner) + return &Set{_inner: res} +} + + +// SpanExtentTransfn wraps MEOS C function span_extent_transfn. +func SpanExtentTransfn(state *Span, s *Span) *Span { + res := C.span_extent_transfn(state._inner, s._inner) + return &Span{_inner: res} +} + + +// SpanUnionTransfn wraps MEOS C function span_union_transfn. +func SpanUnionTransfn(state *SpanSet, s *Span) *SpanSet { + res := C.span_union_transfn(state._inner, s._inner) + return &SpanSet{_inner: res} +} + + +// SpansetExtentTransfn wraps MEOS C function spanset_extent_transfn. +func SpansetExtentTransfn(state *Span, ss *SpanSet) *Span { + res := C.spanset_extent_transfn(state._inner, ss._inner) + return &Span{_inner: res} +} + + +// SpansetUnionFinalfn wraps MEOS C function spanset_union_finalfn. +func SpansetUnionFinalfn(state *SpanSet) *SpanSet { + res := C.spanset_union_finalfn(state._inner) + return &SpanSet{_inner: res} +} + + +// SpansetUnionTransfn wraps MEOS C function spanset_union_transfn. +func SpansetUnionTransfn(state *SpanSet, ss *SpanSet) *SpanSet { + res := C.spanset_union_transfn(state._inner, ss._inner) + return &SpanSet{_inner: res} +} + + +// TextUnionTransfn wraps MEOS C function text_union_transfn. +func TextUnionTransfn(state *Set, txt string) *Set { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.text_union_transfn(state._inner, _c_txt) + return &Set{_inner: res} +} + + +// TimestamptzExtentTransfn wraps MEOS C function timestamptz_extent_transfn. +func TimestamptzExtentTransfn(state *Span, t int64) *Span { + res := C.timestamptz_extent_transfn(state._inner, C.TimestampTz(t)) + return &Span{_inner: res} +} + + +// TimestamptzUnionTransfn wraps MEOS C function timestamptz_union_transfn. +func TimestamptzUnionTransfn(state *Set, t int64) *Set { + res := C.timestamptz_union_transfn(state._inner, C.TimestampTz(t)) + return &Set{_inner: res} +} + + +// BigintGetBin wraps MEOS C function bigint_get_bin. +func BigintGetBin(value int64, vsize int64, vorigin int64) int64 { + res := C.bigint_get_bin(C.int64(value), C.int64(vsize), C.int64(vorigin)) + return int64(res) +} + + +// TODO bigintspan_bins: unsupported param int * +// func BigintspanBins(...) { /* not yet handled by codegen */ } + + +// TODO bigintspanset_bins: unsupported param int * +// func BigintspansetBins(...) { /* not yet handled by codegen */ } + + +// DateGetBin wraps MEOS C function date_get_bin. +func DateGetBin(d int32, duration timeutil.Timedelta, torigin int32) int32 { + res := C.date_get_bin(C.DateADT(d), duration.Inner(), C.DateADT(torigin)) + return int32(res) +} + + +// TODO datespan_bins: unsupported param int * +// func DatespanBins(...) { /* not yet handled by codegen */ } + + +// TODO datespanset_bins: unsupported param int * +// func DatespansetBins(...) { /* not yet handled by codegen */ } + + +// FloatGetBin wraps MEOS C function float_get_bin. +func FloatGetBin(value float64, vsize float64, vorigin float64) float64 { + res := C.float_get_bin(C.double(value), C.double(vsize), C.double(vorigin)) + return float64(res) +} + + +// TODO floatspan_bins: unsupported param int * +// func FloatspanBins(...) { /* not yet handled by codegen */ } + + +// TODO floatspanset_bins: unsupported param int * +// func FloatspansetBins(...) { /* not yet handled by codegen */ } + + +// IntGetBin wraps MEOS C function int_get_bin. +func IntGetBin(value int, vsize int, vorigin int) int { + res := C.int_get_bin(C.int(value), C.int(vsize), C.int(vorigin)) + return int(res) +} + + +// TODO intspan_bins: unsupported param int * +// func IntspanBins(...) { /* not yet handled by codegen */ } + + +// TODO intspanset_bins: unsupported param int * +// func IntspansetBins(...) { /* not yet handled by codegen */ } + + +// TimestamptzGetBin wraps MEOS C function timestamptz_get_bin. +func TimestamptzGetBin(t int64, duration timeutil.Timedelta, torigin int64) int64 { + res := C.timestamptz_get_bin(C.TimestampTz(t), duration.Inner(), C.TimestampTz(torigin)) + return int64(res) +} + + +// TODO tstzspan_bins: unsupported param int * +// func TstzspanBins(...) { /* not yet handled by codegen */ } + + +// TODO tstzspanset_bins: unsupported param int * +// func TstzspansetBins(...) { /* not yet handled by codegen */ } + + +// TODO tbox_as_hexwkb: unsupported param size_t * +// func TBOXAsHexwkb(...) { /* not yet handled by codegen */ } + + +// TODO tbox_as_wkb: unsupported return type uint8_t * +// func TBOXAsWKB(...) { /* not yet handled by codegen */ } + + +// TBOXFromHexwkb wraps MEOS C function tbox_from_hexwkb. +func TBOXFromHexwkb(hexwkb string) *TBox { + _c_hexwkb := C.CString(hexwkb) + defer C.free(unsafe.Pointer(_c_hexwkb)) + res := C.tbox_from_hexwkb(_c_hexwkb) + return &TBox{_inner: res} +} + + +// TODO tbox_from_wkb: unsupported param const uint8_t * +// func TBOXFromWKB(...) { /* not yet handled by codegen */ } + + +// TBOXIn wraps MEOS C function tbox_in. +func TBOXIn(str string) *TBox { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.tbox_in(_c_str) + return &TBox{_inner: res} +} + + +// TBOXOut wraps MEOS C function tbox_out. +func TBOXOut(box *TBox, maxdd int) string { + res := C.tbox_out(box._inner, C.int(maxdd)) + return C.GoString(res) +} + + +// FloatTimestamptzToTBOX wraps MEOS C function float_timestamptz_to_tbox. +func FloatTimestamptzToTBOX(d float64, t int64) *TBox { + res := C.float_timestamptz_to_tbox(C.double(d), C.TimestampTz(t)) + return &TBox{_inner: res} +} + + +// FloatTstzspanToTBOX wraps MEOS C function float_tstzspan_to_tbox. +func FloatTstzspanToTBOX(d float64, s *Span) *TBox { + res := C.float_tstzspan_to_tbox(C.double(d), s._inner) + return &TBox{_inner: res} +} + + +// IntTimestamptzToTBOX wraps MEOS C function int_timestamptz_to_tbox. +func IntTimestamptzToTBOX(i int, t int64) *TBox { + res := C.int_timestamptz_to_tbox(C.int(i), C.TimestampTz(t)) + return &TBox{_inner: res} +} + + +// IntTstzspanToTBOX wraps MEOS C function int_tstzspan_to_tbox. +func IntTstzspanToTBOX(i int, s *Span) *TBox { + res := C.int_tstzspan_to_tbox(C.int(i), s._inner) + return &TBox{_inner: res} +} + + +// NumspanTstzspanToTBOX wraps MEOS C function numspan_tstzspan_to_tbox. +func NumspanTstzspanToTBOX(span *Span, s *Span) *TBox { + res := C.numspan_tstzspan_to_tbox(span._inner, s._inner) + return &TBox{_inner: res} +} + + +// NumspanTimestamptzToTBOX wraps MEOS C function numspan_timestamptz_to_tbox. +func NumspanTimestamptzToTBOX(span *Span, t int64) *TBox { + res := C.numspan_timestamptz_to_tbox(span._inner, C.TimestampTz(t)) + return &TBox{_inner: res} +} + + +// TBOXCopy wraps MEOS C function tbox_copy. +func TBOXCopy(box *TBox) *TBox { + res := C.tbox_copy(box._inner) + return &TBox{_inner: res} +} + + +// TBOXMake wraps MEOS C function tbox_make. +func TBOXMake(s *Span, p *Span) *TBox { + res := C.tbox_make(s._inner, p._inner) + return &TBox{_inner: res} +} + + +// FloatToTBOX wraps MEOS C function float_to_tbox. +func FloatToTBOX(d float64) *TBox { + res := C.float_to_tbox(C.double(d)) + return &TBox{_inner: res} +} + + +// IntToTBOX wraps MEOS C function int_to_tbox. +func IntToTBOX(i int) *TBox { + res := C.int_to_tbox(C.int(i)) + return &TBox{_inner: res} +} + + +// SetToTBOX wraps MEOS C function set_to_tbox. +func SetToTBOX(s *Set) *TBox { + res := C.set_to_tbox(s._inner) + return &TBox{_inner: res} +} + + +// SpanToTBOX wraps MEOS C function span_to_tbox. +func SpanToTBOX(s *Span) *TBox { + res := C.span_to_tbox(s._inner) + return &TBox{_inner: res} +} + + +// SpansetToTBOX wraps MEOS C function spanset_to_tbox. +func SpansetToTBOX(ss *SpanSet) *TBox { + res := C.spanset_to_tbox(ss._inner) + return &TBox{_inner: res} +} + + +// TBOXToIntspan wraps MEOS C function tbox_to_intspan. +func TBOXToIntspan(box *TBox) *Span { + res := C.tbox_to_intspan(box._inner) + return &Span{_inner: res} +} + + +// TBOXToFloatspan wraps MEOS C function tbox_to_floatspan. +func TBOXToFloatspan(box *TBox) *Span { + res := C.tbox_to_floatspan(box._inner) + return &Span{_inner: res} +} + + +// TBOXToTstzspan wraps MEOS C function tbox_to_tstzspan. +func TBOXToTstzspan(box *TBox) *Span { + res := C.tbox_to_tstzspan(box._inner) + return &Span{_inner: res} +} + + +// TimestamptzToTBOX wraps MEOS C function timestamptz_to_tbox. +func TimestamptzToTBOX(t int64) *TBox { + res := C.timestamptz_to_tbox(C.TimestampTz(t)) + return &TBox{_inner: res} +} + + +// TBOXHash wraps MEOS C function tbox_hash. +func TBOXHash(box *TBox) uint32 { + res := C.tbox_hash(box._inner) + return uint32(res) +} + + +// TBOXHashExtended wraps MEOS C function tbox_hash_extended. +func TBOXHashExtended(box *TBox, seed uint64) uint64 { + res := C.tbox_hash_extended(box._inner, C.uint64(seed)) + return uint64(res) +} + + +// TBOXHast wraps MEOS C function tbox_hast. +func TBOXHast(box *TBox) bool { + res := C.tbox_hast(box._inner) + return bool(res) +} + + +// TBOXHasx wraps MEOS C function tbox_hasx. +func TBOXHasx(box *TBox) bool { + res := C.tbox_hasx(box._inner) + return bool(res) +} + + +// TODO tbox_tmax: unsupported param TimestampTz * +// func TBOXTmax(...) { /* not yet handled by codegen */ } + + +// TODO tbox_tmax_inc: unsupported param bool * +// func TBOXTmaxInc(...) { /* not yet handled by codegen */ } + + +// TODO tbox_tmin: unsupported param TimestampTz * +// func TBOXTmin(...) { /* not yet handled by codegen */ } + + +// TODO tbox_tmin_inc: unsupported param bool * +// func TBOXTminInc(...) { /* not yet handled by codegen */ } + + +// TODO tbox_xmax: unsupported param double * +// func TBOXXmax(...) { /* not yet handled by codegen */ } + + +// TODO tbox_xmax_inc: unsupported param bool * +// func TBOXXmaxInc(...) { /* not yet handled by codegen */ } + + +// TODO tbox_xmin: unsupported param double * +// func TBOXXmin(...) { /* not yet handled by codegen */ } + + +// TODO tbox_xmin_inc: unsupported param bool * +// func TBOXXminInc(...) { /* not yet handled by codegen */ } + + +// TODO tboxfloat_xmax: unsupported param double * +// func TboxfloatXmax(...) { /* not yet handled by codegen */ } + + +// TODO tboxfloat_xmin: unsupported param double * +// func TboxfloatXmin(...) { /* not yet handled by codegen */ } + + +// TODO tboxint_xmax: unsupported param int * +// func TboxintXmax(...) { /* not yet handled by codegen */ } + + +// TODO tboxint_xmin: unsupported param int * +// func TboxintXmin(...) { /* not yet handled by codegen */ } + + +// TBOXExpandTime wraps MEOS C function tbox_expand_time. +func TBOXExpandTime(box *TBox, interv timeutil.Timedelta) *TBox { + res := C.tbox_expand_time(box._inner, interv.Inner()) + return &TBox{_inner: res} +} + + +// TBOXRound wraps MEOS C function tbox_round. +func TBOXRound(box *TBox, maxdd int) *TBox { + res := C.tbox_round(box._inner, C.int(maxdd)) + return &TBox{_inner: res} +} + + +// TBOXShiftScaleTime wraps MEOS C function tbox_shift_scale_time. +func TBOXShiftScaleTime(box *TBox, shift timeutil.Timedelta, duration timeutil.Timedelta) *TBox { + res := C.tbox_shift_scale_time(box._inner, shift.Inner(), duration.Inner()) + return &TBox{_inner: res} +} + + +// TfloatboxExpand wraps MEOS C function tfloatbox_expand. +func TfloatboxExpand(box *TBox, d float64) *TBox { + res := C.tfloatbox_expand(box._inner, C.double(d)) + return &TBox{_inner: res} +} + + +// TfloatboxShiftScale wraps MEOS C function tfloatbox_shift_scale. +func TfloatboxShiftScale(box *TBox, shift float64, width float64, hasshift bool, haswidth bool) *TBox { + res := C.tfloatbox_shift_scale(box._inner, C.double(shift), C.double(width), C.bool(hasshift), C.bool(haswidth)) + return &TBox{_inner: res} +} + + +// TintboxExpand wraps MEOS C function tintbox_expand. +func TintboxExpand(box *TBox, i int) *TBox { + res := C.tintbox_expand(box._inner, C.int(i)) + return &TBox{_inner: res} +} + + +// TintboxShiftScale wraps MEOS C function tintbox_shift_scale. +func TintboxShiftScale(box *TBox, shift int, width int, hasshift bool, haswidth bool) *TBox { + res := C.tintbox_shift_scale(box._inner, C.int(shift), C.int(width), C.bool(hasshift), C.bool(haswidth)) + return &TBox{_inner: res} +} + + +// UnionTBOXTBOX wraps MEOS C function union_tbox_tbox. +func UnionTBOXTBOX(box1 *TBox, box2 *TBox, strict bool) *TBox { + res := C.union_tbox_tbox(box1._inner, box2._inner, C.bool(strict)) + return &TBox{_inner: res} +} + + +// IntersectionTBOXTBOX wraps MEOS C function intersection_tbox_tbox. +func IntersectionTBOXTBOX(box1 *TBox, box2 *TBox) *TBox { + res := C.intersection_tbox_tbox(box1._inner, box2._inner) + return &TBox{_inner: res} +} + + +// AdjacentTBOXTBOX wraps MEOS C function adjacent_tbox_tbox. +func AdjacentTBOXTBOX(box1 *TBox, box2 *TBox) bool { + res := C.adjacent_tbox_tbox(box1._inner, box2._inner) + return bool(res) +} + + +// ContainedTBOXTBOX wraps MEOS C function contained_tbox_tbox. +func ContainedTBOXTBOX(box1 *TBox, box2 *TBox) bool { + res := C.contained_tbox_tbox(box1._inner, box2._inner) + return bool(res) +} + + +// ContainsTBOXTBOX wraps MEOS C function contains_tbox_tbox. +func ContainsTBOXTBOX(box1 *TBox, box2 *TBox) bool { + res := C.contains_tbox_tbox(box1._inner, box2._inner) + return bool(res) +} + + +// OverlapsTBOXTBOX wraps MEOS C function overlaps_tbox_tbox. +func OverlapsTBOXTBOX(box1 *TBox, box2 *TBox) bool { + res := C.overlaps_tbox_tbox(box1._inner, box2._inner) + return bool(res) +} + + +// SameTBOXTBOX wraps MEOS C function same_tbox_tbox. +func SameTBOXTBOX(box1 *TBox, box2 *TBox) bool { + res := C.same_tbox_tbox(box1._inner, box2._inner) + return bool(res) +} + + +// AfterTBOXTBOX wraps MEOS C function after_tbox_tbox. +func AfterTBOXTBOX(box1 *TBox, box2 *TBox) bool { + res := C.after_tbox_tbox(box1._inner, box2._inner) + return bool(res) +} + + +// BeforeTBOXTBOX wraps MEOS C function before_tbox_tbox. +func BeforeTBOXTBOX(box1 *TBox, box2 *TBox) bool { + res := C.before_tbox_tbox(box1._inner, box2._inner) + return bool(res) +} + + +// LeftTBOXTBOX wraps MEOS C function left_tbox_tbox. +func LeftTBOXTBOX(box1 *TBox, box2 *TBox) bool { + res := C.left_tbox_tbox(box1._inner, box2._inner) + return bool(res) +} + + +// OverafterTBOXTBOX wraps MEOS C function overafter_tbox_tbox. +func OverafterTBOXTBOX(box1 *TBox, box2 *TBox) bool { + res := C.overafter_tbox_tbox(box1._inner, box2._inner) + return bool(res) +} + + +// OverbeforeTBOXTBOX wraps MEOS C function overbefore_tbox_tbox. +func OverbeforeTBOXTBOX(box1 *TBox, box2 *TBox) bool { + res := C.overbefore_tbox_tbox(box1._inner, box2._inner) + return bool(res) +} + + +// OverleftTBOXTBOX wraps MEOS C function overleft_tbox_tbox. +func OverleftTBOXTBOX(box1 *TBox, box2 *TBox) bool { + res := C.overleft_tbox_tbox(box1._inner, box2._inner) + return bool(res) +} + + +// OverrightTBOXTBOX wraps MEOS C function overright_tbox_tbox. +func OverrightTBOXTBOX(box1 *TBox, box2 *TBox) bool { + res := C.overright_tbox_tbox(box1._inner, box2._inner) + return bool(res) +} + + +// RightTBOXTBOX wraps MEOS C function right_tbox_tbox. +func RightTBOXTBOX(box1 *TBox, box2 *TBox) bool { + res := C.right_tbox_tbox(box1._inner, box2._inner) + return bool(res) +} + + +// TBOXCmp wraps MEOS C function tbox_cmp. +func TBOXCmp(box1 *TBox, box2 *TBox) int { + res := C.tbox_cmp(box1._inner, box2._inner) + return int(res) +} + + +// TBOXEq wraps MEOS C function tbox_eq. +func TBOXEq(box1 *TBox, box2 *TBox) bool { + res := C.tbox_eq(box1._inner, box2._inner) + return bool(res) +} + + +// TBOXGe wraps MEOS C function tbox_ge. +func TBOXGe(box1 *TBox, box2 *TBox) bool { + res := C.tbox_ge(box1._inner, box2._inner) + return bool(res) +} + + +// TBOXGt wraps MEOS C function tbox_gt. +func TBOXGt(box1 *TBox, box2 *TBox) bool { + res := C.tbox_gt(box1._inner, box2._inner) + return bool(res) +} + + +// TBOXLe wraps MEOS C function tbox_le. +func TBOXLe(box1 *TBox, box2 *TBox) bool { + res := C.tbox_le(box1._inner, box2._inner) + return bool(res) +} + + +// TBOXLt wraps MEOS C function tbox_lt. +func TBOXLt(box1 *TBox, box2 *TBox) bool { + res := C.tbox_lt(box1._inner, box2._inner) + return bool(res) +} + + +// TBOXNe wraps MEOS C function tbox_ne. +func TBOXNe(box1 *TBox, box2 *TBox) bool { + res := C.tbox_ne(box1._inner, box2._inner) + return bool(res) +} + + +// TboolFromMFJSON wraps MEOS C function tbool_from_mfjson. +func TboolFromMFJSON(str string) Temporal { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.tbool_from_mfjson(_c_str) + return CreateTemporal(res) +} + + +// TboolIn wraps MEOS C function tbool_in. +func TboolIn(str string) Temporal { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.tbool_in(_c_str) + return CreateTemporal(res) +} + + +// TboolOut wraps MEOS C function tbool_out. +func TboolOut(temp Temporal) string { + res := C.tbool_out(temp.Inner()) + return C.GoString(res) +} + + +// TODO temporal_as_hexwkb: unsupported param size_t * +// func TemporalAsHexwkb(...) { /* not yet handled by codegen */ } + + +// TemporalAsMFJSON wraps MEOS C function temporal_as_mfjson. +func TemporalAsMFJSON(temp Temporal, with_bbox bool, flags int, precision int, srs string) string { + _c_srs := C.CString(srs) + defer C.free(unsafe.Pointer(_c_srs)) + res := C.temporal_as_mfjson(temp.Inner(), C.bool(with_bbox), C.int(flags), C.int(precision), _c_srs) + return C.GoString(res) +} + + +// TODO temporal_as_wkb: unsupported return type uint8_t * +// func TemporalAsWKB(...) { /* not yet handled by codegen */ } + + +// TemporalFromHexwkb wraps MEOS C function temporal_from_hexwkb. +func TemporalFromHexwkb(hexwkb string) Temporal { + _c_hexwkb := C.CString(hexwkb) + defer C.free(unsafe.Pointer(_c_hexwkb)) + res := C.temporal_from_hexwkb(_c_hexwkb) + return CreateTemporal(res) +} + + +// TODO temporal_from_wkb: unsupported param const uint8_t * +// func TemporalFromWKB(...) { /* not yet handled by codegen */ } + + +// TfloatFromMFJSON wraps MEOS C function tfloat_from_mfjson. +func TfloatFromMFJSON(str string) Temporal { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.tfloat_from_mfjson(_c_str) + return CreateTemporal(res) +} + + +// TfloatIn wraps MEOS C function tfloat_in. +func TfloatIn(str string) Temporal { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.tfloat_in(_c_str) + return CreateTemporal(res) +} + + +// TfloatOut wraps MEOS C function tfloat_out. +func TfloatOut(temp Temporal, maxdd int) string { + res := C.tfloat_out(temp.Inner(), C.int(maxdd)) + return C.GoString(res) +} + + +// TintFromMFJSON wraps MEOS C function tint_from_mfjson. +func TintFromMFJSON(str string) Temporal { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.tint_from_mfjson(_c_str) + return CreateTemporal(res) +} + + +// TintIn wraps MEOS C function tint_in. +func TintIn(str string) Temporal { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.tint_in(_c_str) + return CreateTemporal(res) +} + + +// TintOut wraps MEOS C function tint_out. +func TintOut(temp Temporal) string { + res := C.tint_out(temp.Inner()) + return C.GoString(res) +} + + +// TtextFromMFJSON wraps MEOS C function ttext_from_mfjson. +func TtextFromMFJSON(str string) Temporal { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.ttext_from_mfjson(_c_str) + return CreateTemporal(res) +} + + +// TtextIn wraps MEOS C function ttext_in. +func TtextIn(str string) Temporal { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.ttext_in(_c_str) + return CreateTemporal(res) +} + + +// TtextOut wraps MEOS C function ttext_out. +func TtextOut(temp Temporal) string { + res := C.ttext_out(temp.Inner()) + return C.GoString(res) +} + + +// TboolFromBaseTemp wraps MEOS C function tbool_from_base_temp. +func TboolFromBaseTemp(b bool, temp Temporal) Temporal { + res := C.tbool_from_base_temp(C.bool(b), temp.Inner()) + return CreateTemporal(res) +} + + +// TboolinstMake wraps MEOS C function tboolinst_make. +func TboolinstMake(b bool, t int64) TInstant { + res := C.tboolinst_make(C.bool(b), C.TimestampTz(t)) + return TInstant{_inner: res} +} + + +// TboolseqFromBaseTstzset wraps MEOS C function tboolseq_from_base_tstzset. +func TboolseqFromBaseTstzset(b bool, s *Set) TSequence { + res := C.tboolseq_from_base_tstzset(C.bool(b), s._inner) + return TSequence{_inner: res} +} + + +// TboolseqFromBaseTstzspan wraps MEOS C function tboolseq_from_base_tstzspan. +func TboolseqFromBaseTstzspan(b bool, s *Span) TSequence { + res := C.tboolseq_from_base_tstzspan(C.bool(b), s._inner) + return TSequence{_inner: res} +} + + +// TboolseqsetFromBaseTstzspanset wraps MEOS C function tboolseqset_from_base_tstzspanset. +func TboolseqsetFromBaseTstzspanset(b bool, ss *SpanSet) TSequenceSet { + res := C.tboolseqset_from_base_tstzspanset(C.bool(b), ss._inner) + return TSequenceSet{_inner: res} +} + + +// TemporalCopy wraps MEOS C function temporal_copy. +func TemporalCopy(temp Temporal) Temporal { + res := C.temporal_copy(temp.Inner()) + return CreateTemporal(res) +} + + +// TfloatFromBaseTemp wraps MEOS C function tfloat_from_base_temp. +func TfloatFromBaseTemp(d float64, temp Temporal) Temporal { + res := C.tfloat_from_base_temp(C.double(d), temp.Inner()) + return CreateTemporal(res) +} + + +// TfloatinstMake wraps MEOS C function tfloatinst_make. +func TfloatinstMake(d float64, t int64) TInstant { + res := C.tfloatinst_make(C.double(d), C.TimestampTz(t)) + return TInstant{_inner: res} +} + + +// TfloatseqFromBaseTstzset wraps MEOS C function tfloatseq_from_base_tstzset. +func TfloatseqFromBaseTstzset(d float64, s *Set) TSequence { + res := C.tfloatseq_from_base_tstzset(C.double(d), s._inner) + return TSequence{_inner: res} +} + + +// TfloatseqFromBaseTstzspan wraps MEOS C function tfloatseq_from_base_tstzspan. +func TfloatseqFromBaseTstzspan(d float64, s *Span, interp Interpolation) TSequence { + res := C.tfloatseq_from_base_tstzspan(C.double(d), s._inner, C.interpType(interp)) + return TSequence{_inner: res} +} + + +// TfloatseqsetFromBaseTstzspanset wraps MEOS C function tfloatseqset_from_base_tstzspanset. +func TfloatseqsetFromBaseTstzspanset(d float64, ss *SpanSet, interp Interpolation) TSequenceSet { + res := C.tfloatseqset_from_base_tstzspanset(C.double(d), ss._inner, C.interpType(interp)) + return TSequenceSet{_inner: res} +} + + +// TintFromBaseTemp wraps MEOS C function tint_from_base_temp. +func TintFromBaseTemp(i int, temp Temporal) Temporal { + res := C.tint_from_base_temp(C.int(i), temp.Inner()) + return CreateTemporal(res) +} + + +// TintinstMake wraps MEOS C function tintinst_make. +func TintinstMake(i int, t int64) TInstant { + res := C.tintinst_make(C.int(i), C.TimestampTz(t)) + return TInstant{_inner: res} +} + + +// TintseqFromBaseTstzset wraps MEOS C function tintseq_from_base_tstzset. +func TintseqFromBaseTstzset(i int, s *Set) TSequence { + res := C.tintseq_from_base_tstzset(C.int(i), s._inner) + return TSequence{_inner: res} +} + + +// TintseqFromBaseTstzspan wraps MEOS C function tintseq_from_base_tstzspan. +func TintseqFromBaseTstzspan(i int, s *Span) TSequence { + res := C.tintseq_from_base_tstzspan(C.int(i), s._inner) + return TSequence{_inner: res} +} + + +// TintseqsetFromBaseTstzspanset wraps MEOS C function tintseqset_from_base_tstzspanset. +func TintseqsetFromBaseTstzspanset(i int, ss *SpanSet) TSequenceSet { + res := C.tintseqset_from_base_tstzspanset(C.int(i), ss._inner) + return TSequenceSet{_inner: res} +} + + +// TODO tsequence_make: unsupported param TInstant ** +// func TsequenceMake(...) { /* not yet handled by codegen */ } + + +// TODO tsequenceset_make: unsupported param TSequence ** +// func TsequencesetMake(...) { /* not yet handled by codegen */ } + + +// TODO tsequenceset_make_gaps: unsupported param TInstant ** +// func TsequencesetMakeGaps(...) { /* not yet handled by codegen */ } + + +// TtextFromBaseTemp wraps MEOS C function ttext_from_base_temp. +func TtextFromBaseTemp(txt string, temp Temporal) Temporal { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.ttext_from_base_temp(_c_txt, temp.Inner()) + return CreateTemporal(res) +} + + +// TtextinstMake wraps MEOS C function ttextinst_make. +func TtextinstMake(txt string, t int64) TInstant { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.ttextinst_make(_c_txt, C.TimestampTz(t)) + return TInstant{_inner: res} +} + + +// TtextseqFromBaseTstzset wraps MEOS C function ttextseq_from_base_tstzset. +func TtextseqFromBaseTstzset(txt string, s *Set) TSequence { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.ttextseq_from_base_tstzset(_c_txt, s._inner) + return TSequence{_inner: res} +} + + +// TtextseqFromBaseTstzspan wraps MEOS C function ttextseq_from_base_tstzspan. +func TtextseqFromBaseTstzspan(txt string, s *Span) TSequence { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.ttextseq_from_base_tstzspan(_c_txt, s._inner) + return TSequence{_inner: res} +} + + +// TtextseqsetFromBaseTstzspanset wraps MEOS C function ttextseqset_from_base_tstzspanset. +func TtextseqsetFromBaseTstzspanset(txt string, ss *SpanSet) TSequenceSet { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.ttextseqset_from_base_tstzspanset(_c_txt, ss._inner) + return TSequenceSet{_inner: res} +} + + +// TboolToTint wraps MEOS C function tbool_to_tint. +func TboolToTint(temp Temporal) Temporal { + res := C.tbool_to_tint(temp.Inner()) + return CreateTemporal(res) +} + + +// TemporalToTstzspan wraps MEOS C function temporal_to_tstzspan. +func TemporalToTstzspan(temp Temporal) *Span { + res := C.temporal_to_tstzspan(temp.Inner()) + return &Span{_inner: res} +} + + +// TfloatToTint wraps MEOS C function tfloat_to_tint. +func TfloatToTint(temp Temporal) Temporal { + res := C.tfloat_to_tint(temp.Inner()) + return CreateTemporal(res) +} + + +// TintToTfloat wraps MEOS C function tint_to_tfloat. +func TintToTfloat(temp Temporal) Temporal { + res := C.tint_to_tfloat(temp.Inner()) + return CreateTemporal(res) +} + + +// TnumberToSpan wraps MEOS C function tnumber_to_span. +func TnumberToSpan(temp Temporal) *Span { + res := C.tnumber_to_span(temp.Inner()) + return &Span{_inner: res} +} + + +// TnumberToTBOX wraps MEOS C function tnumber_to_tbox. +func TnumberToTBOX(temp Temporal) *TBox { + res := C.tnumber_to_tbox(temp.Inner()) + return &TBox{_inner: res} +} + + +// TboolEndValue wraps MEOS C function tbool_end_value. +func TboolEndValue(temp Temporal) bool { + res := C.tbool_end_value(temp.Inner()) + return bool(res) +} + + +// TboolStartValue wraps MEOS C function tbool_start_value. +func TboolStartValue(temp Temporal) bool { + res := C.tbool_start_value(temp.Inner()) + return bool(res) +} + + +// TODO tbool_value_at_timestamptz: unsupported param bool * +// func TboolValueAtTimestamptz(...) { /* not yet handled by codegen */ } + + +// TODO tbool_value_n: unsupported param bool * +// func TboolValueN(...) { /* not yet handled by codegen */ } + + +// TODO tbool_values: unsupported return type bool * +// func TboolValues(...) { /* not yet handled by codegen */ } + + +// TemporalDuration wraps MEOS C function temporal_duration. +func TemporalDuration(temp Temporal, boundspan bool) timeutil.Timedelta { + res := C.temporal_duration(temp.Inner(), C.bool(boundspan)) + return IntervalToTimeDelta(res) +} + + +// TemporalEndInstant wraps MEOS C function temporal_end_instant. +func TemporalEndInstant(temp Temporal) TInstant { + res := C.temporal_end_instant(temp.Inner()) + return TInstant{_inner: res} +} + + +// TemporalEndSequence wraps MEOS C function temporal_end_sequence. +func TemporalEndSequence(temp Temporal) TSequence { + res := C.temporal_end_sequence(temp.Inner()) + return TSequence{_inner: res} +} + + +// TemporalEndTimestamptz wraps MEOS C function temporal_end_timestamptz. +func TemporalEndTimestamptz(temp Temporal) int64 { + res := C.temporal_end_timestamptz(temp.Inner()) + return int64(res) +} + + +// TemporalHash wraps MEOS C function temporal_hash. +func TemporalHash(temp Temporal) uint32 { + res := C.temporal_hash(temp.Inner()) + return uint32(res) +} + + +// TemporalInstantN wraps MEOS C function temporal_instant_n. +func TemporalInstantN(temp Temporal, n int) TInstant { + res := C.temporal_instant_n(temp.Inner(), C.int(n)) + return TInstant{_inner: res} +} + + +// TODO temporal_instants: unsupported return type TInstant ** +// func TemporalInstants(...) { /* not yet handled by codegen */ } + + +// TemporalInterp wraps MEOS C function temporal_interp. +func TemporalInterp(temp Temporal) string { + res := C.temporal_interp(temp.Inner()) + return C.GoString(res) +} + + +// TemporalLowerInc wraps MEOS C function temporal_lower_inc. +func TemporalLowerInc(temp Temporal) bool { + res := C.temporal_lower_inc(temp.Inner()) + return bool(res) +} + + +// TemporalMaxInstant wraps MEOS C function temporal_max_instant. +func TemporalMaxInstant(temp Temporal) TInstant { + res := C.temporal_max_instant(temp.Inner()) + return TInstant{_inner: res} +} + + +// TemporalMinInstant wraps MEOS C function temporal_min_instant. +func TemporalMinInstant(temp Temporal) TInstant { + res := C.temporal_min_instant(temp.Inner()) + return TInstant{_inner: res} +} + + +// TemporalNumInstants wraps MEOS C function temporal_num_instants. +func TemporalNumInstants(temp Temporal) int { + res := C.temporal_num_instants(temp.Inner()) + return int(res) +} + + +// TemporalNumSequences wraps MEOS C function temporal_num_sequences. +func TemporalNumSequences(temp Temporal) int { + res := C.temporal_num_sequences(temp.Inner()) + return int(res) +} + + +// TemporalNumTimestamps wraps MEOS C function temporal_num_timestamps. +func TemporalNumTimestamps(temp Temporal) int { + res := C.temporal_num_timestamps(temp.Inner()) + return int(res) +} + + +// TemporalSegmDuration wraps MEOS C function temporal_segm_duration. +func TemporalSegmDuration(temp Temporal, duration timeutil.Timedelta, atleast bool, strict bool) TSequenceSet { + res := C.temporal_segm_duration(temp.Inner(), duration.Inner(), C.bool(atleast), C.bool(strict)) + return TSequenceSet{_inner: res} +} + + +// TODO temporal_segments: unsupported return type TSequence ** +// func TemporalSegments(...) { /* not yet handled by codegen */ } + + +// TemporalSequenceN wraps MEOS C function temporal_sequence_n. +func TemporalSequenceN(temp Temporal, i int) TSequence { + res := C.temporal_sequence_n(temp.Inner(), C.int(i)) + return TSequence{_inner: res} +} + + +// TODO temporal_sequences: unsupported return type TSequence ** +// func TemporalSequences(...) { /* not yet handled by codegen */ } + + +// TemporalStartInstant wraps MEOS C function temporal_start_instant. +func TemporalStartInstant(temp Temporal) TInstant { + res := C.temporal_start_instant(temp.Inner()) + return TInstant{_inner: res} +} + + +// TemporalStartSequence wraps MEOS C function temporal_start_sequence. +func TemporalStartSequence(temp Temporal) TSequence { + res := C.temporal_start_sequence(temp.Inner()) + return TSequence{_inner: res} +} + + +// TemporalStartTimestamptz wraps MEOS C function temporal_start_timestamptz. +func TemporalStartTimestamptz(temp Temporal) int64 { + res := C.temporal_start_timestamptz(temp.Inner()) + return int64(res) +} + + +// TemporalStops wraps MEOS C function temporal_stops. +func TemporalStops(temp Temporal, maxdist float64, minduration timeutil.Timedelta) TSequenceSet { + res := C.temporal_stops(temp.Inner(), C.double(maxdist), minduration.Inner()) + return TSequenceSet{_inner: res} +} + + +// TemporalSubtype wraps MEOS C function temporal_subtype. +func TemporalSubtype(temp Temporal) string { + res := C.temporal_subtype(temp.Inner()) + return C.GoString(res) +} + + +// TemporalTime wraps MEOS C function temporal_time. +func TemporalTime(temp Temporal) *SpanSet { + res := C.temporal_time(temp.Inner()) + return &SpanSet{_inner: res} +} + + +// TODO temporal_timestamps: unsupported return type TimestampTz * +// func TemporalTimestamps(...) { /* not yet handled by codegen */ } + + +// TODO temporal_timestamptz_n: unsupported param TimestampTz * +// func TemporalTimestamptzN(...) { /* not yet handled by codegen */ } + + +// TemporalUpperInc wraps MEOS C function temporal_upper_inc. +func TemporalUpperInc(temp Temporal) bool { + res := C.temporal_upper_inc(temp.Inner()) + return bool(res) +} + + +// TfloatAvgValue wraps MEOS C function tfloat_avg_value. +func TfloatAvgValue(temp Temporal) float64 { + res := C.tfloat_avg_value(temp.Inner()) + return float64(res) +} + + +// TfloatEndValue wraps MEOS C function tfloat_end_value. +func TfloatEndValue(temp Temporal) float64 { + res := C.tfloat_end_value(temp.Inner()) + return float64(res) +} + + +// TfloatMinValue wraps MEOS C function tfloat_min_value. +func TfloatMinValue(temp Temporal) float64 { + res := C.tfloat_min_value(temp.Inner()) + return float64(res) +} + + +// TfloatMaxValue wraps MEOS C function tfloat_max_value. +func TfloatMaxValue(temp Temporal) float64 { + res := C.tfloat_max_value(temp.Inner()) + return float64(res) +} + + +// TfloatStartValue wraps MEOS C function tfloat_start_value. +func TfloatStartValue(temp Temporal) float64 { + res := C.tfloat_start_value(temp.Inner()) + return float64(res) +} + + +// TODO tfloat_value_at_timestamptz: unsupported param double * +// func TfloatValueAtTimestamptz(...) { /* not yet handled by codegen */ } + + +// TODO tfloat_value_n: unsupported param double * +// func TfloatValueN(...) { /* not yet handled by codegen */ } + + +// TODO tfloat_values: unsupported return type double * +// func TfloatValues(...) { /* not yet handled by codegen */ } + + +// TintEndValue wraps MEOS C function tint_end_value. +func TintEndValue(temp Temporal) int { + res := C.tint_end_value(temp.Inner()) + return int(res) +} + + +// TintMaxValue wraps MEOS C function tint_max_value. +func TintMaxValue(temp Temporal) int { + res := C.tint_max_value(temp.Inner()) + return int(res) +} + + +// TintMinValue wraps MEOS C function tint_min_value. +func TintMinValue(temp Temporal) int { + res := C.tint_min_value(temp.Inner()) + return int(res) +} + + +// TintStartValue wraps MEOS C function tint_start_value. +func TintStartValue(temp Temporal) int { + res := C.tint_start_value(temp.Inner()) + return int(res) +} + + +// TODO tint_value_at_timestamptz: unsupported param int * +// func TintValueAtTimestamptz(...) { /* not yet handled by codegen */ } + + +// TODO tint_value_n: unsupported param int * +// func TintValueN(...) { /* not yet handled by codegen */ } + + +// TODO tint_values: unsupported return type int * +// func TintValues(...) { /* not yet handled by codegen */ } + + +// TnumberAvgValue wraps MEOS C function tnumber_avg_value. +func TnumberAvgValue(temp Temporal) float64 { + res := C.tnumber_avg_value(temp.Inner()) + return float64(res) +} + + +// TnumberIntegral wraps MEOS C function tnumber_integral. +func TnumberIntegral(temp Temporal) float64 { + res := C.tnumber_integral(temp.Inner()) + return float64(res) +} + + +// TnumberTwavg wraps MEOS C function tnumber_twavg. +func TnumberTwavg(temp Temporal) float64 { + res := C.tnumber_twavg(temp.Inner()) + return float64(res) +} + + +// TnumberValuespans wraps MEOS C function tnumber_valuespans. +func TnumberValuespans(temp Temporal) *SpanSet { + res := C.tnumber_valuespans(temp.Inner()) + return &SpanSet{_inner: res} +} + + +// TtextEndValue wraps MEOS C function ttext_end_value. +func TtextEndValue(temp Temporal) string { + res := C.ttext_end_value(temp.Inner()) + return text2cstring(res) +} + + +// TtextMaxValue wraps MEOS C function ttext_max_value. +func TtextMaxValue(temp Temporal) string { + res := C.ttext_max_value(temp.Inner()) + return text2cstring(res) +} + + +// TtextMinValue wraps MEOS C function ttext_min_value. +func TtextMinValue(temp Temporal) string { + res := C.ttext_min_value(temp.Inner()) + return text2cstring(res) +} + + +// TtextStartValue wraps MEOS C function ttext_start_value. +func TtextStartValue(temp Temporal) string { + res := C.ttext_start_value(temp.Inner()) + return text2cstring(res) +} + + +// TODO ttext_value_at_timestamptz: unsupported param text ** +// func TtextValueAtTimestamptz(...) { /* not yet handled by codegen */ } + + +// TODO ttext_value_n: unsupported param text ** +// func TtextValueN(...) { /* not yet handled by codegen */ } + + +// TODO ttext_values: unsupported return type text ** +// func TtextValues(...) { /* not yet handled by codegen */ } + + +// FloatDegrees wraps MEOS C function float_degrees. +func FloatDegrees(value float64, normalize bool) float64 { + res := C.float_degrees(C.double(value), C.bool(normalize)) + return float64(res) +} + + +// TODO temparr_round: unsupported return type Temporal ** +// func TemparrRound(...) { /* not yet handled by codegen */ } + + +// TemporalRound wraps MEOS C function temporal_round. +func TemporalRound(temp Temporal, maxdd int) Temporal { + res := C.temporal_round(temp.Inner(), C.int(maxdd)) + return CreateTemporal(res) +} + + +// TemporalScaleTime wraps MEOS C function temporal_scale_time. +func TemporalScaleTime(temp Temporal, duration timeutil.Timedelta) Temporal { + res := C.temporal_scale_time(temp.Inner(), duration.Inner()) + return CreateTemporal(res) +} + + +// TemporalSetInterp wraps MEOS C function temporal_set_interp. +func TemporalSetInterp(temp Temporal, interp Interpolation) Temporal { + res := C.temporal_set_interp(temp.Inner(), C.interpType(interp)) + return CreateTemporal(res) +} + + +// TemporalShiftScaleTime wraps MEOS C function temporal_shift_scale_time. +func TemporalShiftScaleTime(temp Temporal, shift timeutil.Timedelta, duration timeutil.Timedelta) Temporal { + res := C.temporal_shift_scale_time(temp.Inner(), shift.Inner(), duration.Inner()) + return CreateTemporal(res) +} + + +// TemporalShiftTime wraps MEOS C function temporal_shift_time. +func TemporalShiftTime(temp Temporal, shift timeutil.Timedelta) Temporal { + res := C.temporal_shift_time(temp.Inner(), shift.Inner()) + return CreateTemporal(res) +} + + +// TemporalToTinstant wraps MEOS C function temporal_to_tinstant. +func TemporalToTinstant(temp Temporal) TInstant { + res := C.temporal_to_tinstant(temp.Inner()) + return TInstant{_inner: res} +} + + +// TemporalToTsequence wraps MEOS C function temporal_to_tsequence. +func TemporalToTsequence(temp Temporal, interp Interpolation) TSequence { + res := C.temporal_to_tsequence(temp.Inner(), C.interpType(interp)) + return TSequence{_inner: res} +} + + +// TemporalToTsequenceset wraps MEOS C function temporal_to_tsequenceset. +func TemporalToTsequenceset(temp Temporal, interp Interpolation) TSequenceSet { + res := C.temporal_to_tsequenceset(temp.Inner(), C.interpType(interp)) + return TSequenceSet{_inner: res} +} + + +// TfloatCeil wraps MEOS C function tfloat_ceil. +func TfloatCeil(temp Temporal) Temporal { + res := C.tfloat_ceil(temp.Inner()) + return CreateTemporal(res) +} + + +// TfloatDegrees wraps MEOS C function tfloat_degrees. +func TfloatDegrees(temp Temporal, normalize bool) Temporal { + res := C.tfloat_degrees(temp.Inner(), C.bool(normalize)) + return CreateTemporal(res) +} + + +// TfloatFloor wraps MEOS C function tfloat_floor. +func TfloatFloor(temp Temporal) Temporal { + res := C.tfloat_floor(temp.Inner()) + return CreateTemporal(res) +} + + +// TfloatRadians wraps MEOS C function tfloat_radians. +func TfloatRadians(temp Temporal) Temporal { + res := C.tfloat_radians(temp.Inner()) + return CreateTemporal(res) +} + + +// TfloatScaleValue wraps MEOS C function tfloat_scale_value. +func TfloatScaleValue(temp Temporal, width float64) Temporal { + res := C.tfloat_scale_value(temp.Inner(), C.double(width)) + return CreateTemporal(res) +} + + +// TfloatShiftScaleValue wraps MEOS C function tfloat_shift_scale_value. +func TfloatShiftScaleValue(temp Temporal, shift float64, width float64) Temporal { + res := C.tfloat_shift_scale_value(temp.Inner(), C.double(shift), C.double(width)) + return CreateTemporal(res) +} + + +// TfloatShiftValue wraps MEOS C function tfloat_shift_value. +func TfloatShiftValue(temp Temporal, shift float64) Temporal { + res := C.tfloat_shift_value(temp.Inner(), C.double(shift)) + return CreateTemporal(res) +} + + +// TintScaleValue wraps MEOS C function tint_scale_value. +func TintScaleValue(temp Temporal, width int) Temporal { + res := C.tint_scale_value(temp.Inner(), C.int(width)) + return CreateTemporal(res) +} + + +// TintShiftScaleValue wraps MEOS C function tint_shift_scale_value. +func TintShiftScaleValue(temp Temporal, shift int, width int) Temporal { + res := C.tint_shift_scale_value(temp.Inner(), C.int(shift), C.int(width)) + return CreateTemporal(res) +} + + +// TintShiftValue wraps MEOS C function tint_shift_value. +func TintShiftValue(temp Temporal, shift int) Temporal { + res := C.tint_shift_value(temp.Inner(), C.int(shift)) + return CreateTemporal(res) +} + + +// TemporalAppendTinstant wraps MEOS C function temporal_append_tinstant. +func TemporalAppendTinstant(temp Temporal, inst TInstant, interp Interpolation, maxdist float64, maxt timeutil.Timedelta, expand bool) Temporal { + res := C.temporal_append_tinstant(temp.Inner(), inst.Inner(), C.interpType(interp), C.double(maxdist), maxt.Inner(), C.bool(expand)) + return CreateTemporal(res) +} + + +// TemporalAppendTsequence wraps MEOS C function temporal_append_tsequence. +func TemporalAppendTsequence(temp Temporal, seq TSequence, expand bool) Temporal { + res := C.temporal_append_tsequence(temp.Inner(), seq.Inner(), C.bool(expand)) + return CreateTemporal(res) +} + + +// TemporalDeleteTimestamptz wraps MEOS C function temporal_delete_timestamptz. +func TemporalDeleteTimestamptz(temp Temporal, t int64, connect bool) Temporal { + res := C.temporal_delete_timestamptz(temp.Inner(), C.TimestampTz(t), C.bool(connect)) + return CreateTemporal(res) +} + + +// TemporalDeleteTstzset wraps MEOS C function temporal_delete_tstzset. +func TemporalDeleteTstzset(temp Temporal, s *Set, connect bool) Temporal { + res := C.temporal_delete_tstzset(temp.Inner(), s._inner, C.bool(connect)) + return CreateTemporal(res) +} + + +// TemporalDeleteTstzspan wraps MEOS C function temporal_delete_tstzspan. +func TemporalDeleteTstzspan(temp Temporal, s *Span, connect bool) Temporal { + res := C.temporal_delete_tstzspan(temp.Inner(), s._inner, C.bool(connect)) + return CreateTemporal(res) +} + + +// TemporalDeleteTstzspanset wraps MEOS C function temporal_delete_tstzspanset. +func TemporalDeleteTstzspanset(temp Temporal, ss *SpanSet, connect bool) Temporal { + res := C.temporal_delete_tstzspanset(temp.Inner(), ss._inner, C.bool(connect)) + return CreateTemporal(res) +} + + +// TemporalInsert wraps MEOS C function temporal_insert. +func TemporalInsert(temp1 Temporal, temp2 Temporal, connect bool) Temporal { + res := C.temporal_insert(temp1.Inner(), temp2.Inner(), C.bool(connect)) + return CreateTemporal(res) +} + + +// TemporalMerge wraps MEOS C function temporal_merge. +func TemporalMerge(temp1 Temporal, temp2 Temporal) Temporal { + res := C.temporal_merge(temp1.Inner(), temp2.Inner()) + return CreateTemporal(res) +} + + +// TODO temporal_merge_array: unsupported param Temporal ** +// func TemporalMergeArray(...) { /* not yet handled by codegen */ } + + +// TemporalUpdate wraps MEOS C function temporal_update. +func TemporalUpdate(temp1 Temporal, temp2 Temporal, connect bool) Temporal { + res := C.temporal_update(temp1.Inner(), temp2.Inner(), C.bool(connect)) + return CreateTemporal(res) +} + + +// TboolAtValue wraps MEOS C function tbool_at_value. +func TboolAtValue(temp Temporal, b bool) Temporal { + res := C.tbool_at_value(temp.Inner(), C.bool(b)) + return CreateTemporal(res) +} + + +// TboolMinusValue wraps MEOS C function tbool_minus_value. +func TboolMinusValue(temp Temporal, b bool) Temporal { + res := C.tbool_minus_value(temp.Inner(), C.bool(b)) + return CreateTemporal(res) +} + + +// TemporalAfterTimestamptz wraps MEOS C function temporal_after_timestamptz. +func TemporalAfterTimestamptz(temp Temporal, t int64, strict bool) Temporal { + res := C.temporal_after_timestamptz(temp.Inner(), C.TimestampTz(t), C.bool(strict)) + return CreateTemporal(res) +} + + +// TemporalAtMax wraps MEOS C function temporal_at_max. +func TemporalAtMax(temp Temporal) Temporal { + res := C.temporal_at_max(temp.Inner()) + return CreateTemporal(res) +} + + +// TemporalAtMin wraps MEOS C function temporal_at_min. +func TemporalAtMin(temp Temporal) Temporal { + res := C.temporal_at_min(temp.Inner()) + return CreateTemporal(res) +} + + +// TemporalAtTimestamptz wraps MEOS C function temporal_at_timestamptz. +func TemporalAtTimestamptz(temp Temporal, t int64) Temporal { + res := C.temporal_at_timestamptz(temp.Inner(), C.TimestampTz(t)) + return CreateTemporal(res) +} + + +// TemporalAtTstzset wraps MEOS C function temporal_at_tstzset. +func TemporalAtTstzset(temp Temporal, s *Set) Temporal { + res := C.temporal_at_tstzset(temp.Inner(), s._inner) + return CreateTemporal(res) +} + + +// TemporalAtTstzspan wraps MEOS C function temporal_at_tstzspan. +func TemporalAtTstzspan(temp Temporal, s *Span) Temporal { + res := C.temporal_at_tstzspan(temp.Inner(), s._inner) + return CreateTemporal(res) +} + + +// TemporalAtTstzspanset wraps MEOS C function temporal_at_tstzspanset. +func TemporalAtTstzspanset(temp Temporal, ss *SpanSet) Temporal { + res := C.temporal_at_tstzspanset(temp.Inner(), ss._inner) + return CreateTemporal(res) +} + + +// TemporalAtValues wraps MEOS C function temporal_at_values. +func TemporalAtValues(temp Temporal, set *Set) Temporal { + res := C.temporal_at_values(temp.Inner(), set._inner) + return CreateTemporal(res) +} + + +// TemporalBeforeTimestamptz wraps MEOS C function temporal_before_timestamptz. +func TemporalBeforeTimestamptz(temp Temporal, t int64, strict bool) Temporal { + res := C.temporal_before_timestamptz(temp.Inner(), C.TimestampTz(t), C.bool(strict)) + return CreateTemporal(res) +} + + +// TemporalMinusMax wraps MEOS C function temporal_minus_max. +func TemporalMinusMax(temp Temporal) Temporal { + res := C.temporal_minus_max(temp.Inner()) + return CreateTemporal(res) +} + + +// TemporalMinusMin wraps MEOS C function temporal_minus_min. +func TemporalMinusMin(temp Temporal) Temporal { + res := C.temporal_minus_min(temp.Inner()) + return CreateTemporal(res) +} + + +// TemporalMinusTimestamptz wraps MEOS C function temporal_minus_timestamptz. +func TemporalMinusTimestamptz(temp Temporal, t int64) Temporal { + res := C.temporal_minus_timestamptz(temp.Inner(), C.TimestampTz(t)) + return CreateTemporal(res) +} + + +// TemporalMinusTstzset wraps MEOS C function temporal_minus_tstzset. +func TemporalMinusTstzset(temp Temporal, s *Set) Temporal { + res := C.temporal_minus_tstzset(temp.Inner(), s._inner) + return CreateTemporal(res) +} + + +// TemporalMinusTstzspan wraps MEOS C function temporal_minus_tstzspan. +func TemporalMinusTstzspan(temp Temporal, s *Span) Temporal { + res := C.temporal_minus_tstzspan(temp.Inner(), s._inner) + return CreateTemporal(res) +} + + +// TemporalMinusTstzspanset wraps MEOS C function temporal_minus_tstzspanset. +func TemporalMinusTstzspanset(temp Temporal, ss *SpanSet) Temporal { + res := C.temporal_minus_tstzspanset(temp.Inner(), ss._inner) + return CreateTemporal(res) +} + + +// TemporalMinusValues wraps MEOS C function temporal_minus_values. +func TemporalMinusValues(temp Temporal, set *Set) Temporal { + res := C.temporal_minus_values(temp.Inner(), set._inner) + return CreateTemporal(res) +} + + +// TfloatAtValue wraps MEOS C function tfloat_at_value. +func TfloatAtValue(temp Temporal, d float64) Temporal { + res := C.tfloat_at_value(temp.Inner(), C.double(d)) + return CreateTemporal(res) +} + + +// TfloatMinusValue wraps MEOS C function tfloat_minus_value. +func TfloatMinusValue(temp Temporal, d float64) Temporal { + res := C.tfloat_minus_value(temp.Inner(), C.double(d)) + return CreateTemporal(res) +} + + +// TintAtValue wraps MEOS C function tint_at_value. +func TintAtValue(temp Temporal, i int) Temporal { + res := C.tint_at_value(temp.Inner(), C.int(i)) + return CreateTemporal(res) +} + + +// TintMinusValue wraps MEOS C function tint_minus_value. +func TintMinusValue(temp Temporal, i int) Temporal { + res := C.tint_minus_value(temp.Inner(), C.int(i)) + return CreateTemporal(res) +} + + +// TnumberAtSpan wraps MEOS C function tnumber_at_span. +func TnumberAtSpan(temp Temporal, span *Span) Temporal { + res := C.tnumber_at_span(temp.Inner(), span._inner) + return CreateTemporal(res) +} + + +// TnumberAtSpanset wraps MEOS C function tnumber_at_spanset. +func TnumberAtSpanset(temp Temporal, ss *SpanSet) Temporal { + res := C.tnumber_at_spanset(temp.Inner(), ss._inner) + return CreateTemporal(res) +} + + +// TnumberAtTBOX wraps MEOS C function tnumber_at_tbox. +func TnumberAtTBOX(temp Temporal, box *TBox) Temporal { + res := C.tnumber_at_tbox(temp.Inner(), box._inner) + return CreateTemporal(res) +} + + +// TnumberMinusSpan wraps MEOS C function tnumber_minus_span. +func TnumberMinusSpan(temp Temporal, span *Span) Temporal { + res := C.tnumber_minus_span(temp.Inner(), span._inner) + return CreateTemporal(res) +} + + +// TnumberMinusSpanset wraps MEOS C function tnumber_minus_spanset. +func TnumberMinusSpanset(temp Temporal, ss *SpanSet) Temporal { + res := C.tnumber_minus_spanset(temp.Inner(), ss._inner) + return CreateTemporal(res) +} + + +// TnumberMinusTBOX wraps MEOS C function tnumber_minus_tbox. +func TnumberMinusTBOX(temp Temporal, box *TBox) Temporal { + res := C.tnumber_minus_tbox(temp.Inner(), box._inner) + return CreateTemporal(res) +} + + +// TtextAtValue wraps MEOS C function ttext_at_value. +func TtextAtValue(temp Temporal, txt string) Temporal { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.ttext_at_value(temp.Inner(), _c_txt) + return CreateTemporal(res) +} + + +// TtextMinusValue wraps MEOS C function ttext_minus_value. +func TtextMinusValue(temp Temporal, txt string) Temporal { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.ttext_minus_value(temp.Inner(), _c_txt) + return CreateTemporal(res) +} + + +// TemporalCmp wraps MEOS C function temporal_cmp. +func TemporalCmp(temp1 Temporal, temp2 Temporal) int { + res := C.temporal_cmp(temp1.Inner(), temp2.Inner()) + return int(res) +} + + +// TemporalEq wraps MEOS C function temporal_eq. +func TemporalEq(temp1 Temporal, temp2 Temporal) bool { + res := C.temporal_eq(temp1.Inner(), temp2.Inner()) + return bool(res) +} + + +// TemporalGe wraps MEOS C function temporal_ge. +func TemporalGe(temp1 Temporal, temp2 Temporal) bool { + res := C.temporal_ge(temp1.Inner(), temp2.Inner()) + return bool(res) +} + + +// TemporalGt wraps MEOS C function temporal_gt. +func TemporalGt(temp1 Temporal, temp2 Temporal) bool { + res := C.temporal_gt(temp1.Inner(), temp2.Inner()) + return bool(res) +} + + +// TemporalLe wraps MEOS C function temporal_le. +func TemporalLe(temp1 Temporal, temp2 Temporal) bool { + res := C.temporal_le(temp1.Inner(), temp2.Inner()) + return bool(res) +} + + +// TemporalLt wraps MEOS C function temporal_lt. +func TemporalLt(temp1 Temporal, temp2 Temporal) bool { + res := C.temporal_lt(temp1.Inner(), temp2.Inner()) + return bool(res) +} + + +// TemporalNe wraps MEOS C function temporal_ne. +func TemporalNe(temp1 Temporal, temp2 Temporal) bool { + res := C.temporal_ne(temp1.Inner(), temp2.Inner()) + return bool(res) +} + + +// AlwaysEqBoolTbool wraps MEOS C function always_eq_bool_tbool. +func AlwaysEqBoolTbool(b bool, temp Temporal) int { + res := C.always_eq_bool_tbool(C.bool(b), temp.Inner()) + return int(res) +} + + +// AlwaysEqFloatTfloat wraps MEOS C function always_eq_float_tfloat. +func AlwaysEqFloatTfloat(d float64, temp Temporal) int { + res := C.always_eq_float_tfloat(C.double(d), temp.Inner()) + return int(res) +} + + +// AlwaysEqIntTint wraps MEOS C function always_eq_int_tint. +func AlwaysEqIntTint(i int, temp Temporal) int { + res := C.always_eq_int_tint(C.int(i), temp.Inner()) + return int(res) +} + + +// AlwaysEqTboolBool wraps MEOS C function always_eq_tbool_bool. +func AlwaysEqTboolBool(temp Temporal, b bool) int { + res := C.always_eq_tbool_bool(temp.Inner(), C.bool(b)) + return int(res) +} + + +// AlwaysEqTemporalTemporal wraps MEOS C function always_eq_temporal_temporal. +func AlwaysEqTemporalTemporal(temp1 Temporal, temp2 Temporal) int { + res := C.always_eq_temporal_temporal(temp1.Inner(), temp2.Inner()) + return int(res) +} + + +// AlwaysEqTextTtext wraps MEOS C function always_eq_text_ttext. +func AlwaysEqTextTtext(txt string, temp Temporal) int { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.always_eq_text_ttext(_c_txt, temp.Inner()) + return int(res) +} + + +// AlwaysEqTfloatFloat wraps MEOS C function always_eq_tfloat_float. +func AlwaysEqTfloatFloat(temp Temporal, d float64) int { + res := C.always_eq_tfloat_float(temp.Inner(), C.double(d)) + return int(res) +} + + +// AlwaysEqTintInt wraps MEOS C function always_eq_tint_int. +func AlwaysEqTintInt(temp Temporal, i int) int { + res := C.always_eq_tint_int(temp.Inner(), C.int(i)) + return int(res) +} + + +// AlwaysEqTtextText wraps MEOS C function always_eq_ttext_text. +func AlwaysEqTtextText(temp Temporal, txt string) int { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.always_eq_ttext_text(temp.Inner(), _c_txt) + return int(res) +} + + +// AlwaysGeFloatTfloat wraps MEOS C function always_ge_float_tfloat. +func AlwaysGeFloatTfloat(d float64, temp Temporal) int { + res := C.always_ge_float_tfloat(C.double(d), temp.Inner()) + return int(res) +} + + +// AlwaysGeIntTint wraps MEOS C function always_ge_int_tint. +func AlwaysGeIntTint(i int, temp Temporal) int { + res := C.always_ge_int_tint(C.int(i), temp.Inner()) + return int(res) +} + + +// AlwaysGeTemporalTemporal wraps MEOS C function always_ge_temporal_temporal. +func AlwaysGeTemporalTemporal(temp1 Temporal, temp2 Temporal) int { + res := C.always_ge_temporal_temporal(temp1.Inner(), temp2.Inner()) + return int(res) +} + + +// AlwaysGeTextTtext wraps MEOS C function always_ge_text_ttext. +func AlwaysGeTextTtext(txt string, temp Temporal) int { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.always_ge_text_ttext(_c_txt, temp.Inner()) + return int(res) +} + + +// AlwaysGeTfloatFloat wraps MEOS C function always_ge_tfloat_float. +func AlwaysGeTfloatFloat(temp Temporal, d float64) int { + res := C.always_ge_tfloat_float(temp.Inner(), C.double(d)) + return int(res) +} + + +// AlwaysGeTintInt wraps MEOS C function always_ge_tint_int. +func AlwaysGeTintInt(temp Temporal, i int) int { + res := C.always_ge_tint_int(temp.Inner(), C.int(i)) + return int(res) +} + + +// AlwaysGeTtextText wraps MEOS C function always_ge_ttext_text. +func AlwaysGeTtextText(temp Temporal, txt string) int { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.always_ge_ttext_text(temp.Inner(), _c_txt) + return int(res) +} + + +// AlwaysGtFloatTfloat wraps MEOS C function always_gt_float_tfloat. +func AlwaysGtFloatTfloat(d float64, temp Temporal) int { + res := C.always_gt_float_tfloat(C.double(d), temp.Inner()) + return int(res) +} + + +// AlwaysGtIntTint wraps MEOS C function always_gt_int_tint. +func AlwaysGtIntTint(i int, temp Temporal) int { + res := C.always_gt_int_tint(C.int(i), temp.Inner()) + return int(res) +} + + +// AlwaysGtTemporalTemporal wraps MEOS C function always_gt_temporal_temporal. +func AlwaysGtTemporalTemporal(temp1 Temporal, temp2 Temporal) int { + res := C.always_gt_temporal_temporal(temp1.Inner(), temp2.Inner()) + return int(res) +} + + +// AlwaysGtTextTtext wraps MEOS C function always_gt_text_ttext. +func AlwaysGtTextTtext(txt string, temp Temporal) int { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.always_gt_text_ttext(_c_txt, temp.Inner()) + return int(res) +} + + +// AlwaysGtTfloatFloat wraps MEOS C function always_gt_tfloat_float. +func AlwaysGtTfloatFloat(temp Temporal, d float64) int { + res := C.always_gt_tfloat_float(temp.Inner(), C.double(d)) + return int(res) +} + + +// AlwaysGtTintInt wraps MEOS C function always_gt_tint_int. +func AlwaysGtTintInt(temp Temporal, i int) int { + res := C.always_gt_tint_int(temp.Inner(), C.int(i)) + return int(res) +} + + +// AlwaysGtTtextText wraps MEOS C function always_gt_ttext_text. +func AlwaysGtTtextText(temp Temporal, txt string) int { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.always_gt_ttext_text(temp.Inner(), _c_txt) + return int(res) +} + + +// AlwaysLeFloatTfloat wraps MEOS C function always_le_float_tfloat. +func AlwaysLeFloatTfloat(d float64, temp Temporal) int { + res := C.always_le_float_tfloat(C.double(d), temp.Inner()) + return int(res) +} + + +// AlwaysLeIntTint wraps MEOS C function always_le_int_tint. +func AlwaysLeIntTint(i int, temp Temporal) int { + res := C.always_le_int_tint(C.int(i), temp.Inner()) + return int(res) +} + + +// AlwaysLeTemporalTemporal wraps MEOS C function always_le_temporal_temporal. +func AlwaysLeTemporalTemporal(temp1 Temporal, temp2 Temporal) int { + res := C.always_le_temporal_temporal(temp1.Inner(), temp2.Inner()) + return int(res) +} + + +// AlwaysLeTextTtext wraps MEOS C function always_le_text_ttext. +func AlwaysLeTextTtext(txt string, temp Temporal) int { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.always_le_text_ttext(_c_txt, temp.Inner()) + return int(res) +} + + +// AlwaysLeTfloatFloat wraps MEOS C function always_le_tfloat_float. +func AlwaysLeTfloatFloat(temp Temporal, d float64) int { + res := C.always_le_tfloat_float(temp.Inner(), C.double(d)) + return int(res) +} + + +// AlwaysLeTintInt wraps MEOS C function always_le_tint_int. +func AlwaysLeTintInt(temp Temporal, i int) int { + res := C.always_le_tint_int(temp.Inner(), C.int(i)) + return int(res) +} + + +// AlwaysLeTtextText wraps MEOS C function always_le_ttext_text. +func AlwaysLeTtextText(temp Temporal, txt string) int { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.always_le_ttext_text(temp.Inner(), _c_txt) + return int(res) +} + + +// AlwaysLtFloatTfloat wraps MEOS C function always_lt_float_tfloat. +func AlwaysLtFloatTfloat(d float64, temp Temporal) int { + res := C.always_lt_float_tfloat(C.double(d), temp.Inner()) + return int(res) +} + + +// AlwaysLtIntTint wraps MEOS C function always_lt_int_tint. +func AlwaysLtIntTint(i int, temp Temporal) int { + res := C.always_lt_int_tint(C.int(i), temp.Inner()) + return int(res) +} + + +// AlwaysLtTemporalTemporal wraps MEOS C function always_lt_temporal_temporal. +func AlwaysLtTemporalTemporal(temp1 Temporal, temp2 Temporal) int { + res := C.always_lt_temporal_temporal(temp1.Inner(), temp2.Inner()) + return int(res) +} + + +// AlwaysLtTextTtext wraps MEOS C function always_lt_text_ttext. +func AlwaysLtTextTtext(txt string, temp Temporal) int { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.always_lt_text_ttext(_c_txt, temp.Inner()) + return int(res) +} + + +// AlwaysLtTfloatFloat wraps MEOS C function always_lt_tfloat_float. +func AlwaysLtTfloatFloat(temp Temporal, d float64) int { + res := C.always_lt_tfloat_float(temp.Inner(), C.double(d)) + return int(res) +} + + +// AlwaysLtTintInt wraps MEOS C function always_lt_tint_int. +func AlwaysLtTintInt(temp Temporal, i int) int { + res := C.always_lt_tint_int(temp.Inner(), C.int(i)) + return int(res) +} + + +// AlwaysLtTtextText wraps MEOS C function always_lt_ttext_text. +func AlwaysLtTtextText(temp Temporal, txt string) int { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.always_lt_ttext_text(temp.Inner(), _c_txt) + return int(res) +} + + +// AlwaysNeBoolTbool wraps MEOS C function always_ne_bool_tbool. +func AlwaysNeBoolTbool(b bool, temp Temporal) int { + res := C.always_ne_bool_tbool(C.bool(b), temp.Inner()) + return int(res) +} + + +// AlwaysNeFloatTfloat wraps MEOS C function always_ne_float_tfloat. +func AlwaysNeFloatTfloat(d float64, temp Temporal) int { + res := C.always_ne_float_tfloat(C.double(d), temp.Inner()) + return int(res) +} + + +// AlwaysNeIntTint wraps MEOS C function always_ne_int_tint. +func AlwaysNeIntTint(i int, temp Temporal) int { + res := C.always_ne_int_tint(C.int(i), temp.Inner()) + return int(res) +} + + +// AlwaysNeTboolBool wraps MEOS C function always_ne_tbool_bool. +func AlwaysNeTboolBool(temp Temporal, b bool) int { + res := C.always_ne_tbool_bool(temp.Inner(), C.bool(b)) + return int(res) +} + + +// AlwaysNeTemporalTemporal wraps MEOS C function always_ne_temporal_temporal. +func AlwaysNeTemporalTemporal(temp1 Temporal, temp2 Temporal) int { + res := C.always_ne_temporal_temporal(temp1.Inner(), temp2.Inner()) + return int(res) +} + + +// AlwaysNeTextTtext wraps MEOS C function always_ne_text_ttext. +func AlwaysNeTextTtext(txt string, temp Temporal) int { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.always_ne_text_ttext(_c_txt, temp.Inner()) + return int(res) +} + + +// AlwaysNeTfloatFloat wraps MEOS C function always_ne_tfloat_float. +func AlwaysNeTfloatFloat(temp Temporal, d float64) int { + res := C.always_ne_tfloat_float(temp.Inner(), C.double(d)) + return int(res) +} + + +// AlwaysNeTintInt wraps MEOS C function always_ne_tint_int. +func AlwaysNeTintInt(temp Temporal, i int) int { + res := C.always_ne_tint_int(temp.Inner(), C.int(i)) + return int(res) +} + + +// AlwaysNeTtextText wraps MEOS C function always_ne_ttext_text. +func AlwaysNeTtextText(temp Temporal, txt string) int { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.always_ne_ttext_text(temp.Inner(), _c_txt) + return int(res) +} + + +// EverEqBoolTbool wraps MEOS C function ever_eq_bool_tbool. +func EverEqBoolTbool(b bool, temp Temporal) int { + res := C.ever_eq_bool_tbool(C.bool(b), temp.Inner()) + return int(res) +} + + +// EverEqFloatTfloat wraps MEOS C function ever_eq_float_tfloat. +func EverEqFloatTfloat(d float64, temp Temporal) int { + res := C.ever_eq_float_tfloat(C.double(d), temp.Inner()) + return int(res) +} + + +// EverEqIntTint wraps MEOS C function ever_eq_int_tint. +func EverEqIntTint(i int, temp Temporal) int { + res := C.ever_eq_int_tint(C.int(i), temp.Inner()) + return int(res) +} + + +// EverEqTboolBool wraps MEOS C function ever_eq_tbool_bool. +func EverEqTboolBool(temp Temporal, b bool) int { + res := C.ever_eq_tbool_bool(temp.Inner(), C.bool(b)) + return int(res) +} + + +// EverEqTemporalTemporal wraps MEOS C function ever_eq_temporal_temporal. +func EverEqTemporalTemporal(temp1 Temporal, temp2 Temporal) int { + res := C.ever_eq_temporal_temporal(temp1.Inner(), temp2.Inner()) + return int(res) +} + + +// EverEqTextTtext wraps MEOS C function ever_eq_text_ttext. +func EverEqTextTtext(txt string, temp Temporal) int { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.ever_eq_text_ttext(_c_txt, temp.Inner()) + return int(res) +} + + +// EverEqTfloatFloat wraps MEOS C function ever_eq_tfloat_float. +func EverEqTfloatFloat(temp Temporal, d float64) int { + res := C.ever_eq_tfloat_float(temp.Inner(), C.double(d)) + return int(res) +} + + +// EverEqTintInt wraps MEOS C function ever_eq_tint_int. +func EverEqTintInt(temp Temporal, i int) int { + res := C.ever_eq_tint_int(temp.Inner(), C.int(i)) + return int(res) +} + + +// EverEqTtextText wraps MEOS C function ever_eq_ttext_text. +func EverEqTtextText(temp Temporal, txt string) int { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.ever_eq_ttext_text(temp.Inner(), _c_txt) + return int(res) +} + + +// EverGeFloatTfloat wraps MEOS C function ever_ge_float_tfloat. +func EverGeFloatTfloat(d float64, temp Temporal) int { + res := C.ever_ge_float_tfloat(C.double(d), temp.Inner()) + return int(res) +} + + +// EverGeIntTint wraps MEOS C function ever_ge_int_tint. +func EverGeIntTint(i int, temp Temporal) int { + res := C.ever_ge_int_tint(C.int(i), temp.Inner()) + return int(res) +} + + +// EverGeTemporalTemporal wraps MEOS C function ever_ge_temporal_temporal. +func EverGeTemporalTemporal(temp1 Temporal, temp2 Temporal) int { + res := C.ever_ge_temporal_temporal(temp1.Inner(), temp2.Inner()) + return int(res) +} + + +// EverGeTextTtext wraps MEOS C function ever_ge_text_ttext. +func EverGeTextTtext(txt string, temp Temporal) int { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.ever_ge_text_ttext(_c_txt, temp.Inner()) + return int(res) +} + + +// EverGeTfloatFloat wraps MEOS C function ever_ge_tfloat_float. +func EverGeTfloatFloat(temp Temporal, d float64) int { + res := C.ever_ge_tfloat_float(temp.Inner(), C.double(d)) + return int(res) +} + + +// EverGeTintInt wraps MEOS C function ever_ge_tint_int. +func EverGeTintInt(temp Temporal, i int) int { + res := C.ever_ge_tint_int(temp.Inner(), C.int(i)) + return int(res) +} + + +// EverGeTtextText wraps MEOS C function ever_ge_ttext_text. +func EverGeTtextText(temp Temporal, txt string) int { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.ever_ge_ttext_text(temp.Inner(), _c_txt) + return int(res) +} + + +// EverGtFloatTfloat wraps MEOS C function ever_gt_float_tfloat. +func EverGtFloatTfloat(d float64, temp Temporal) int { + res := C.ever_gt_float_tfloat(C.double(d), temp.Inner()) + return int(res) +} + + +// EverGtIntTint wraps MEOS C function ever_gt_int_tint. +func EverGtIntTint(i int, temp Temporal) int { + res := C.ever_gt_int_tint(C.int(i), temp.Inner()) + return int(res) +} + + +// EverGtTemporalTemporal wraps MEOS C function ever_gt_temporal_temporal. +func EverGtTemporalTemporal(temp1 Temporal, temp2 Temporal) int { + res := C.ever_gt_temporal_temporal(temp1.Inner(), temp2.Inner()) + return int(res) +} + + +// EverGtTextTtext wraps MEOS C function ever_gt_text_ttext. +func EverGtTextTtext(txt string, temp Temporal) int { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.ever_gt_text_ttext(_c_txt, temp.Inner()) + return int(res) +} + + +// EverGtTfloatFloat wraps MEOS C function ever_gt_tfloat_float. +func EverGtTfloatFloat(temp Temporal, d float64) int { + res := C.ever_gt_tfloat_float(temp.Inner(), C.double(d)) + return int(res) +} + + +// EverGtTintInt wraps MEOS C function ever_gt_tint_int. +func EverGtTintInt(temp Temporal, i int) int { + res := C.ever_gt_tint_int(temp.Inner(), C.int(i)) + return int(res) +} + + +// EverGtTtextText wraps MEOS C function ever_gt_ttext_text. +func EverGtTtextText(temp Temporal, txt string) int { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.ever_gt_ttext_text(temp.Inner(), _c_txt) + return int(res) +} + + +// EverLeFloatTfloat wraps MEOS C function ever_le_float_tfloat. +func EverLeFloatTfloat(d float64, temp Temporal) int { + res := C.ever_le_float_tfloat(C.double(d), temp.Inner()) + return int(res) +} + + +// EverLeIntTint wraps MEOS C function ever_le_int_tint. +func EverLeIntTint(i int, temp Temporal) int { + res := C.ever_le_int_tint(C.int(i), temp.Inner()) + return int(res) +} + + +// EverLeTemporalTemporal wraps MEOS C function ever_le_temporal_temporal. +func EverLeTemporalTemporal(temp1 Temporal, temp2 Temporal) int { + res := C.ever_le_temporal_temporal(temp1.Inner(), temp2.Inner()) + return int(res) +} + + +// EverLeTextTtext wraps MEOS C function ever_le_text_ttext. +func EverLeTextTtext(txt string, temp Temporal) int { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.ever_le_text_ttext(_c_txt, temp.Inner()) + return int(res) +} + + +// EverLeTfloatFloat wraps MEOS C function ever_le_tfloat_float. +func EverLeTfloatFloat(temp Temporal, d float64) int { + res := C.ever_le_tfloat_float(temp.Inner(), C.double(d)) + return int(res) +} + + +// EverLeTintInt wraps MEOS C function ever_le_tint_int. +func EverLeTintInt(temp Temporal, i int) int { + res := C.ever_le_tint_int(temp.Inner(), C.int(i)) + return int(res) +} + + +// EverLeTtextText wraps MEOS C function ever_le_ttext_text. +func EverLeTtextText(temp Temporal, txt string) int { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.ever_le_ttext_text(temp.Inner(), _c_txt) + return int(res) +} + + +// EverLtFloatTfloat wraps MEOS C function ever_lt_float_tfloat. +func EverLtFloatTfloat(d float64, temp Temporal) int { + res := C.ever_lt_float_tfloat(C.double(d), temp.Inner()) + return int(res) +} + + +// EverLtIntTint wraps MEOS C function ever_lt_int_tint. +func EverLtIntTint(i int, temp Temporal) int { + res := C.ever_lt_int_tint(C.int(i), temp.Inner()) + return int(res) +} + + +// EverLtTemporalTemporal wraps MEOS C function ever_lt_temporal_temporal. +func EverLtTemporalTemporal(temp1 Temporal, temp2 Temporal) int { + res := C.ever_lt_temporal_temporal(temp1.Inner(), temp2.Inner()) + return int(res) +} + + +// EverLtTextTtext wraps MEOS C function ever_lt_text_ttext. +func EverLtTextTtext(txt string, temp Temporal) int { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.ever_lt_text_ttext(_c_txt, temp.Inner()) + return int(res) +} + + +// EverLtTfloatFloat wraps MEOS C function ever_lt_tfloat_float. +func EverLtTfloatFloat(temp Temporal, d float64) int { + res := C.ever_lt_tfloat_float(temp.Inner(), C.double(d)) + return int(res) +} + + +// EverLtTintInt wraps MEOS C function ever_lt_tint_int. +func EverLtTintInt(temp Temporal, i int) int { + res := C.ever_lt_tint_int(temp.Inner(), C.int(i)) + return int(res) +} + + +// EverLtTtextText wraps MEOS C function ever_lt_ttext_text. +func EverLtTtextText(temp Temporal, txt string) int { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.ever_lt_ttext_text(temp.Inner(), _c_txt) + return int(res) +} + + +// EverNeBoolTbool wraps MEOS C function ever_ne_bool_tbool. +func EverNeBoolTbool(b bool, temp Temporal) int { + res := C.ever_ne_bool_tbool(C.bool(b), temp.Inner()) + return int(res) +} + + +// EverNeFloatTfloat wraps MEOS C function ever_ne_float_tfloat. +func EverNeFloatTfloat(d float64, temp Temporal) int { + res := C.ever_ne_float_tfloat(C.double(d), temp.Inner()) + return int(res) +} + + +// EverNeIntTint wraps MEOS C function ever_ne_int_tint. +func EverNeIntTint(i int, temp Temporal) int { + res := C.ever_ne_int_tint(C.int(i), temp.Inner()) + return int(res) +} + + +// EverNeTboolBool wraps MEOS C function ever_ne_tbool_bool. +func EverNeTboolBool(temp Temporal, b bool) int { + res := C.ever_ne_tbool_bool(temp.Inner(), C.bool(b)) + return int(res) +} + + +// EverNeTemporalTemporal wraps MEOS C function ever_ne_temporal_temporal. +func EverNeTemporalTemporal(temp1 Temporal, temp2 Temporal) int { + res := C.ever_ne_temporal_temporal(temp1.Inner(), temp2.Inner()) + return int(res) +} + + +// EverNeTextTtext wraps MEOS C function ever_ne_text_ttext. +func EverNeTextTtext(txt string, temp Temporal) int { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.ever_ne_text_ttext(_c_txt, temp.Inner()) + return int(res) +} + + +// EverNeTfloatFloat wraps MEOS C function ever_ne_tfloat_float. +func EverNeTfloatFloat(temp Temporal, d float64) int { + res := C.ever_ne_tfloat_float(temp.Inner(), C.double(d)) + return int(res) +} + + +// EverNeTintInt wraps MEOS C function ever_ne_tint_int. +func EverNeTintInt(temp Temporal, i int) int { + res := C.ever_ne_tint_int(temp.Inner(), C.int(i)) + return int(res) +} + + +// EverNeTtextText wraps MEOS C function ever_ne_ttext_text. +func EverNeTtextText(temp Temporal, txt string) int { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.ever_ne_ttext_text(temp.Inner(), _c_txt) + return int(res) +} + + +// TeqBoolTbool wraps MEOS C function teq_bool_tbool. +func TeqBoolTbool(b bool, temp Temporal) Temporal { + res := C.teq_bool_tbool(C.bool(b), temp.Inner()) + return CreateTemporal(res) +} + + +// TeqFloatTfloat wraps MEOS C function teq_float_tfloat. +func TeqFloatTfloat(d float64, temp Temporal) Temporal { + res := C.teq_float_tfloat(C.double(d), temp.Inner()) + return CreateTemporal(res) +} + + +// TeqIntTint wraps MEOS C function teq_int_tint. +func TeqIntTint(i int, temp Temporal) Temporal { + res := C.teq_int_tint(C.int(i), temp.Inner()) + return CreateTemporal(res) +} + + +// TeqTboolBool wraps MEOS C function teq_tbool_bool. +func TeqTboolBool(temp Temporal, b bool) Temporal { + res := C.teq_tbool_bool(temp.Inner(), C.bool(b)) + return CreateTemporal(res) +} + + +// TeqTemporalTemporal wraps MEOS C function teq_temporal_temporal. +func TeqTemporalTemporal(temp1 Temporal, temp2 Temporal) Temporal { + res := C.teq_temporal_temporal(temp1.Inner(), temp2.Inner()) + return CreateTemporal(res) +} + + +// TeqTextTtext wraps MEOS C function teq_text_ttext. +func TeqTextTtext(txt string, temp Temporal) Temporal { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.teq_text_ttext(_c_txt, temp.Inner()) + return CreateTemporal(res) +} + + +// TeqTfloatFloat wraps MEOS C function teq_tfloat_float. +func TeqTfloatFloat(temp Temporal, d float64) Temporal { + res := C.teq_tfloat_float(temp.Inner(), C.double(d)) + return CreateTemporal(res) +} + + +// TeqTintInt wraps MEOS C function teq_tint_int. +func TeqTintInt(temp Temporal, i int) Temporal { + res := C.teq_tint_int(temp.Inner(), C.int(i)) + return CreateTemporal(res) +} + + +// TeqTtextText wraps MEOS C function teq_ttext_text. +func TeqTtextText(temp Temporal, txt string) Temporal { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.teq_ttext_text(temp.Inner(), _c_txt) + return CreateTemporal(res) +} + + +// TgeFloatTfloat wraps MEOS C function tge_float_tfloat. +func TgeFloatTfloat(d float64, temp Temporal) Temporal { + res := C.tge_float_tfloat(C.double(d), temp.Inner()) + return CreateTemporal(res) +} + + +// TgeIntTint wraps MEOS C function tge_int_tint. +func TgeIntTint(i int, temp Temporal) Temporal { + res := C.tge_int_tint(C.int(i), temp.Inner()) + return CreateTemporal(res) +} + + +// TgeTemporalTemporal wraps MEOS C function tge_temporal_temporal. +func TgeTemporalTemporal(temp1 Temporal, temp2 Temporal) Temporal { + res := C.tge_temporal_temporal(temp1.Inner(), temp2.Inner()) + return CreateTemporal(res) +} + + +// TgeTextTtext wraps MEOS C function tge_text_ttext. +func TgeTextTtext(txt string, temp Temporal) Temporal { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.tge_text_ttext(_c_txt, temp.Inner()) + return CreateTemporal(res) +} + + +// TgeTfloatFloat wraps MEOS C function tge_tfloat_float. +func TgeTfloatFloat(temp Temporal, d float64) Temporal { + res := C.tge_tfloat_float(temp.Inner(), C.double(d)) + return CreateTemporal(res) +} + + +// TgeTintInt wraps MEOS C function tge_tint_int. +func TgeTintInt(temp Temporal, i int) Temporal { + res := C.tge_tint_int(temp.Inner(), C.int(i)) + return CreateTemporal(res) +} + + +// TgeTtextText wraps MEOS C function tge_ttext_text. +func TgeTtextText(temp Temporal, txt string) Temporal { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.tge_ttext_text(temp.Inner(), _c_txt) + return CreateTemporal(res) +} + + +// TgtFloatTfloat wraps MEOS C function tgt_float_tfloat. +func TgtFloatTfloat(d float64, temp Temporal) Temporal { + res := C.tgt_float_tfloat(C.double(d), temp.Inner()) + return CreateTemporal(res) +} + + +// TgtIntTint wraps MEOS C function tgt_int_tint. +func TgtIntTint(i int, temp Temporal) Temporal { + res := C.tgt_int_tint(C.int(i), temp.Inner()) + return CreateTemporal(res) +} + + +// TgtTemporalTemporal wraps MEOS C function tgt_temporal_temporal. +func TgtTemporalTemporal(temp1 Temporal, temp2 Temporal) Temporal { + res := C.tgt_temporal_temporal(temp1.Inner(), temp2.Inner()) + return CreateTemporal(res) +} + + +// TgtTextTtext wraps MEOS C function tgt_text_ttext. +func TgtTextTtext(txt string, temp Temporal) Temporal { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.tgt_text_ttext(_c_txt, temp.Inner()) + return CreateTemporal(res) +} + + +// TgtTfloatFloat wraps MEOS C function tgt_tfloat_float. +func TgtTfloatFloat(temp Temporal, d float64) Temporal { + res := C.tgt_tfloat_float(temp.Inner(), C.double(d)) + return CreateTemporal(res) +} + + +// TgtTintInt wraps MEOS C function tgt_tint_int. +func TgtTintInt(temp Temporal, i int) Temporal { + res := C.tgt_tint_int(temp.Inner(), C.int(i)) + return CreateTemporal(res) +} + + +// TgtTtextText wraps MEOS C function tgt_ttext_text. +func TgtTtextText(temp Temporal, txt string) Temporal { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.tgt_ttext_text(temp.Inner(), _c_txt) + return CreateTemporal(res) +} + + +// TleFloatTfloat wraps MEOS C function tle_float_tfloat. +func TleFloatTfloat(d float64, temp Temporal) Temporal { + res := C.tle_float_tfloat(C.double(d), temp.Inner()) + return CreateTemporal(res) +} + + +// TleIntTint wraps MEOS C function tle_int_tint. +func TleIntTint(i int, temp Temporal) Temporal { + res := C.tle_int_tint(C.int(i), temp.Inner()) + return CreateTemporal(res) +} + + +// TleTemporalTemporal wraps MEOS C function tle_temporal_temporal. +func TleTemporalTemporal(temp1 Temporal, temp2 Temporal) Temporal { + res := C.tle_temporal_temporal(temp1.Inner(), temp2.Inner()) + return CreateTemporal(res) +} + + +// TleTextTtext wraps MEOS C function tle_text_ttext. +func TleTextTtext(txt string, temp Temporal) Temporal { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.tle_text_ttext(_c_txt, temp.Inner()) + return CreateTemporal(res) +} + + +// TleTfloatFloat wraps MEOS C function tle_tfloat_float. +func TleTfloatFloat(temp Temporal, d float64) Temporal { + res := C.tle_tfloat_float(temp.Inner(), C.double(d)) + return CreateTemporal(res) +} + + +// TleTintInt wraps MEOS C function tle_tint_int. +func TleTintInt(temp Temporal, i int) Temporal { + res := C.tle_tint_int(temp.Inner(), C.int(i)) + return CreateTemporal(res) +} + + +// TleTtextText wraps MEOS C function tle_ttext_text. +func TleTtextText(temp Temporal, txt string) Temporal { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.tle_ttext_text(temp.Inner(), _c_txt) + return CreateTemporal(res) +} + + +// TltFloatTfloat wraps MEOS C function tlt_float_tfloat. +func TltFloatTfloat(d float64, temp Temporal) Temporal { + res := C.tlt_float_tfloat(C.double(d), temp.Inner()) + return CreateTemporal(res) +} + + +// TltIntTint wraps MEOS C function tlt_int_tint. +func TltIntTint(i int, temp Temporal) Temporal { + res := C.tlt_int_tint(C.int(i), temp.Inner()) + return CreateTemporal(res) +} + + +// TltTemporalTemporal wraps MEOS C function tlt_temporal_temporal. +func TltTemporalTemporal(temp1 Temporal, temp2 Temporal) Temporal { + res := C.tlt_temporal_temporal(temp1.Inner(), temp2.Inner()) + return CreateTemporal(res) +} + + +// TltTextTtext wraps MEOS C function tlt_text_ttext. +func TltTextTtext(txt string, temp Temporal) Temporal { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.tlt_text_ttext(_c_txt, temp.Inner()) + return CreateTemporal(res) +} + + +// TltTfloatFloat wraps MEOS C function tlt_tfloat_float. +func TltTfloatFloat(temp Temporal, d float64) Temporal { + res := C.tlt_tfloat_float(temp.Inner(), C.double(d)) + return CreateTemporal(res) +} + + +// TltTintInt wraps MEOS C function tlt_tint_int. +func TltTintInt(temp Temporal, i int) Temporal { + res := C.tlt_tint_int(temp.Inner(), C.int(i)) + return CreateTemporal(res) +} + + +// TltTtextText wraps MEOS C function tlt_ttext_text. +func TltTtextText(temp Temporal, txt string) Temporal { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.tlt_ttext_text(temp.Inner(), _c_txt) + return CreateTemporal(res) +} + + +// TneBoolTbool wraps MEOS C function tne_bool_tbool. +func TneBoolTbool(b bool, temp Temporal) Temporal { + res := C.tne_bool_tbool(C.bool(b), temp.Inner()) + return CreateTemporal(res) +} + + +// TneFloatTfloat wraps MEOS C function tne_float_tfloat. +func TneFloatTfloat(d float64, temp Temporal) Temporal { + res := C.tne_float_tfloat(C.double(d), temp.Inner()) + return CreateTemporal(res) +} + + +// TneIntTint wraps MEOS C function tne_int_tint. +func TneIntTint(i int, temp Temporal) Temporal { + res := C.tne_int_tint(C.int(i), temp.Inner()) + return CreateTemporal(res) +} + + +// TneTboolBool wraps MEOS C function tne_tbool_bool. +func TneTboolBool(temp Temporal, b bool) Temporal { + res := C.tne_tbool_bool(temp.Inner(), C.bool(b)) + return CreateTemporal(res) +} + + +// TneTemporalTemporal wraps MEOS C function tne_temporal_temporal. +func TneTemporalTemporal(temp1 Temporal, temp2 Temporal) Temporal { + res := C.tne_temporal_temporal(temp1.Inner(), temp2.Inner()) + return CreateTemporal(res) +} + + +// TneTextTtext wraps MEOS C function tne_text_ttext. +func TneTextTtext(txt string, temp Temporal) Temporal { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.tne_text_ttext(_c_txt, temp.Inner()) + return CreateTemporal(res) +} + + +// TneTfloatFloat wraps MEOS C function tne_tfloat_float. +func TneTfloatFloat(temp Temporal, d float64) Temporal { + res := C.tne_tfloat_float(temp.Inner(), C.double(d)) + return CreateTemporal(res) +} + + +// TneTintInt wraps MEOS C function tne_tint_int. +func TneTintInt(temp Temporal, i int) Temporal { + res := C.tne_tint_int(temp.Inner(), C.int(i)) + return CreateTemporal(res) +} + + +// TneTtextText wraps MEOS C function tne_ttext_text. +func TneTtextText(temp Temporal, txt string) Temporal { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.tne_ttext_text(temp.Inner(), _c_txt) + return CreateTemporal(res) +} + + +// TODO temporal_spans: unsupported param int * +// func TemporalSpans(...) { /* not yet handled by codegen */ } + + +// TODO temporal_split_each_n_spans: unsupported param int * +// func TemporalSplitEachNSpans(...) { /* not yet handled by codegen */ } + + +// TODO temporal_split_n_spans: unsupported param int * +// func TemporalSplitNSpans(...) { /* not yet handled by codegen */ } + + +// TODO tnumber_split_each_n_tboxes: unsupported param int * +// func TnumberSplitEachNTboxes(...) { /* not yet handled by codegen */ } + + +// TODO tnumber_split_n_tboxes: unsupported param int * +// func TnumberSplitNTboxes(...) { /* not yet handled by codegen */ } + + +// TODO tnumber_tboxes: unsupported param int * +// func TnumberTboxes(...) { /* not yet handled by codegen */ } + + +// AdjacentNumspanTnumber wraps MEOS C function adjacent_numspan_tnumber. +func AdjacentNumspanTnumber(s *Span, temp Temporal) bool { + res := C.adjacent_numspan_tnumber(s._inner, temp.Inner()) + return bool(res) +} + + +// AdjacentTBOXTnumber wraps MEOS C function adjacent_tbox_tnumber. +func AdjacentTBOXTnumber(box *TBox, temp Temporal) bool { + res := C.adjacent_tbox_tnumber(box._inner, temp.Inner()) + return bool(res) +} + + +// AdjacentTemporalTemporal wraps MEOS C function adjacent_temporal_temporal. +func AdjacentTemporalTemporal(temp1 Temporal, temp2 Temporal) bool { + res := C.adjacent_temporal_temporal(temp1.Inner(), temp2.Inner()) + return bool(res) +} + + +// AdjacentTemporalTstzspan wraps MEOS C function adjacent_temporal_tstzspan. +func AdjacentTemporalTstzspan(temp Temporal, s *Span) bool { + res := C.adjacent_temporal_tstzspan(temp.Inner(), s._inner) + return bool(res) +} + + +// AdjacentTnumberNumspan wraps MEOS C function adjacent_tnumber_numspan. +func AdjacentTnumberNumspan(temp Temporal, s *Span) bool { + res := C.adjacent_tnumber_numspan(temp.Inner(), s._inner) + return bool(res) +} + + +// AdjacentTnumberTBOX wraps MEOS C function adjacent_tnumber_tbox. +func AdjacentTnumberTBOX(temp Temporal, box *TBox) bool { + res := C.adjacent_tnumber_tbox(temp.Inner(), box._inner) + return bool(res) +} + + +// AdjacentTnumberTnumber wraps MEOS C function adjacent_tnumber_tnumber. +func AdjacentTnumberTnumber(temp1 Temporal, temp2 Temporal) bool { + res := C.adjacent_tnumber_tnumber(temp1.Inner(), temp2.Inner()) + return bool(res) +} + + +// AdjacentTstzspanTemporal wraps MEOS C function adjacent_tstzspan_temporal. +func AdjacentTstzspanTemporal(s *Span, temp Temporal) bool { + res := C.adjacent_tstzspan_temporal(s._inner, temp.Inner()) + return bool(res) +} + + +// ContainedNumspanTnumber wraps MEOS C function contained_numspan_tnumber. +func ContainedNumspanTnumber(s *Span, temp Temporal) bool { + res := C.contained_numspan_tnumber(s._inner, temp.Inner()) + return bool(res) +} + + +// ContainedTBOXTnumber wraps MEOS C function contained_tbox_tnumber. +func ContainedTBOXTnumber(box *TBox, temp Temporal) bool { + res := C.contained_tbox_tnumber(box._inner, temp.Inner()) + return bool(res) +} + + +// ContainedTemporalTemporal wraps MEOS C function contained_temporal_temporal. +func ContainedTemporalTemporal(temp1 Temporal, temp2 Temporal) bool { + res := C.contained_temporal_temporal(temp1.Inner(), temp2.Inner()) + return bool(res) +} + + +// ContainedTemporalTstzspan wraps MEOS C function contained_temporal_tstzspan. +func ContainedTemporalTstzspan(temp Temporal, s *Span) bool { + res := C.contained_temporal_tstzspan(temp.Inner(), s._inner) + return bool(res) +} + + +// ContainedTnumberNumspan wraps MEOS C function contained_tnumber_numspan. +func ContainedTnumberNumspan(temp Temporal, s *Span) bool { + res := C.contained_tnumber_numspan(temp.Inner(), s._inner) + return bool(res) +} + + +// ContainedTnumberTBOX wraps MEOS C function contained_tnumber_tbox. +func ContainedTnumberTBOX(temp Temporal, box *TBox) bool { + res := C.contained_tnumber_tbox(temp.Inner(), box._inner) + return bool(res) +} + + +// ContainedTnumberTnumber wraps MEOS C function contained_tnumber_tnumber. +func ContainedTnumberTnumber(temp1 Temporal, temp2 Temporal) bool { + res := C.contained_tnumber_tnumber(temp1.Inner(), temp2.Inner()) + return bool(res) +} + + +// ContainedTstzspanTemporal wraps MEOS C function contained_tstzspan_temporal. +func ContainedTstzspanTemporal(s *Span, temp Temporal) bool { + res := C.contained_tstzspan_temporal(s._inner, temp.Inner()) + return bool(res) +} + + +// ContainsNumspanTnumber wraps MEOS C function contains_numspan_tnumber. +func ContainsNumspanTnumber(s *Span, temp Temporal) bool { + res := C.contains_numspan_tnumber(s._inner, temp.Inner()) + return bool(res) +} + + +// ContainsTBOXTnumber wraps MEOS C function contains_tbox_tnumber. +func ContainsTBOXTnumber(box *TBox, temp Temporal) bool { + res := C.contains_tbox_tnumber(box._inner, temp.Inner()) + return bool(res) +} + + +// ContainsTemporalTstzspan wraps MEOS C function contains_temporal_tstzspan. +func ContainsTemporalTstzspan(temp Temporal, s *Span) bool { + res := C.contains_temporal_tstzspan(temp.Inner(), s._inner) + return bool(res) +} + + +// ContainsTemporalTemporal wraps MEOS C function contains_temporal_temporal. +func ContainsTemporalTemporal(temp1 Temporal, temp2 Temporal) bool { + res := C.contains_temporal_temporal(temp1.Inner(), temp2.Inner()) + return bool(res) +} + + +// ContainsTnumberNumspan wraps MEOS C function contains_tnumber_numspan. +func ContainsTnumberNumspan(temp Temporal, s *Span) bool { + res := C.contains_tnumber_numspan(temp.Inner(), s._inner) + return bool(res) +} + + +// ContainsTnumberTBOX wraps MEOS C function contains_tnumber_tbox. +func ContainsTnumberTBOX(temp Temporal, box *TBox) bool { + res := C.contains_tnumber_tbox(temp.Inner(), box._inner) + return bool(res) +} + + +// ContainsTnumberTnumber wraps MEOS C function contains_tnumber_tnumber. +func ContainsTnumberTnumber(temp1 Temporal, temp2 Temporal) bool { + res := C.contains_tnumber_tnumber(temp1.Inner(), temp2.Inner()) + return bool(res) +} + + +// ContainsTstzspanTemporal wraps MEOS C function contains_tstzspan_temporal. +func ContainsTstzspanTemporal(s *Span, temp Temporal) bool { + res := C.contains_tstzspan_temporal(s._inner, temp.Inner()) + return bool(res) +} + + +// OverlapsNumspanTnumber wraps MEOS C function overlaps_numspan_tnumber. +func OverlapsNumspanTnumber(s *Span, temp Temporal) bool { + res := C.overlaps_numspan_tnumber(s._inner, temp.Inner()) + return bool(res) +} + + +// OverlapsTBOXTnumber wraps MEOS C function overlaps_tbox_tnumber. +func OverlapsTBOXTnumber(box *TBox, temp Temporal) bool { + res := C.overlaps_tbox_tnumber(box._inner, temp.Inner()) + return bool(res) +} + + +// OverlapsTemporalTemporal wraps MEOS C function overlaps_temporal_temporal. +func OverlapsTemporalTemporal(temp1 Temporal, temp2 Temporal) bool { + res := C.overlaps_temporal_temporal(temp1.Inner(), temp2.Inner()) + return bool(res) +} + + +// OverlapsTemporalTstzspan wraps MEOS C function overlaps_temporal_tstzspan. +func OverlapsTemporalTstzspan(temp Temporal, s *Span) bool { + res := C.overlaps_temporal_tstzspan(temp.Inner(), s._inner) + return bool(res) +} + + +// OverlapsTnumberNumspan wraps MEOS C function overlaps_tnumber_numspan. +func OverlapsTnumberNumspan(temp Temporal, s *Span) bool { + res := C.overlaps_tnumber_numspan(temp.Inner(), s._inner) + return bool(res) +} + + +// OverlapsTnumberTBOX wraps MEOS C function overlaps_tnumber_tbox. +func OverlapsTnumberTBOX(temp Temporal, box *TBox) bool { + res := C.overlaps_tnumber_tbox(temp.Inner(), box._inner) + return bool(res) +} + + +// OverlapsTnumberTnumber wraps MEOS C function overlaps_tnumber_tnumber. +func OverlapsTnumberTnumber(temp1 Temporal, temp2 Temporal) bool { + res := C.overlaps_tnumber_tnumber(temp1.Inner(), temp2.Inner()) + return bool(res) +} + + +// OverlapsTstzspanTemporal wraps MEOS C function overlaps_tstzspan_temporal. +func OverlapsTstzspanTemporal(s *Span, temp Temporal) bool { + res := C.overlaps_tstzspan_temporal(s._inner, temp.Inner()) + return bool(res) +} + + +// SameNumspanTnumber wraps MEOS C function same_numspan_tnumber. +func SameNumspanTnumber(s *Span, temp Temporal) bool { + res := C.same_numspan_tnumber(s._inner, temp.Inner()) + return bool(res) +} + + +// SameTBOXTnumber wraps MEOS C function same_tbox_tnumber. +func SameTBOXTnumber(box *TBox, temp Temporal) bool { + res := C.same_tbox_tnumber(box._inner, temp.Inner()) + return bool(res) +} + + +// SameTemporalTemporal wraps MEOS C function same_temporal_temporal. +func SameTemporalTemporal(temp1 Temporal, temp2 Temporal) bool { + res := C.same_temporal_temporal(temp1.Inner(), temp2.Inner()) + return bool(res) +} + + +// SameTemporalTstzspan wraps MEOS C function same_temporal_tstzspan. +func SameTemporalTstzspan(temp Temporal, s *Span) bool { + res := C.same_temporal_tstzspan(temp.Inner(), s._inner) + return bool(res) +} + + +// SameTnumberNumspan wraps MEOS C function same_tnumber_numspan. +func SameTnumberNumspan(temp Temporal, s *Span) bool { + res := C.same_tnumber_numspan(temp.Inner(), s._inner) + return bool(res) +} + + +// SameTnumberTBOX wraps MEOS C function same_tnumber_tbox. +func SameTnumberTBOX(temp Temporal, box *TBox) bool { + res := C.same_tnumber_tbox(temp.Inner(), box._inner) + return bool(res) +} + + +// SameTnumberTnumber wraps MEOS C function same_tnumber_tnumber. +func SameTnumberTnumber(temp1 Temporal, temp2 Temporal) bool { + res := C.same_tnumber_tnumber(temp1.Inner(), temp2.Inner()) + return bool(res) +} + + +// SameTstzspanTemporal wraps MEOS C function same_tstzspan_temporal. +func SameTstzspanTemporal(s *Span, temp Temporal) bool { + res := C.same_tstzspan_temporal(s._inner, temp.Inner()) + return bool(res) +} + + +// AfterTBOXTnumber wraps MEOS C function after_tbox_tnumber. +func AfterTBOXTnumber(box *TBox, temp Temporal) bool { + res := C.after_tbox_tnumber(box._inner, temp.Inner()) + return bool(res) +} + + +// AfterTemporalTstzspan wraps MEOS C function after_temporal_tstzspan. +func AfterTemporalTstzspan(temp Temporal, s *Span) bool { + res := C.after_temporal_tstzspan(temp.Inner(), s._inner) + return bool(res) +} + + +// AfterTemporalTemporal wraps MEOS C function after_temporal_temporal. +func AfterTemporalTemporal(temp1 Temporal, temp2 Temporal) bool { + res := C.after_temporal_temporal(temp1.Inner(), temp2.Inner()) + return bool(res) +} + + +// AfterTnumberTBOX wraps MEOS C function after_tnumber_tbox. +func AfterTnumberTBOX(temp Temporal, box *TBox) bool { + res := C.after_tnumber_tbox(temp.Inner(), box._inner) + return bool(res) +} + + +// AfterTnumberTnumber wraps MEOS C function after_tnumber_tnumber. +func AfterTnumberTnumber(temp1 Temporal, temp2 Temporal) bool { + res := C.after_tnumber_tnumber(temp1.Inner(), temp2.Inner()) + return bool(res) +} + + +// AfterTstzspanTemporal wraps MEOS C function after_tstzspan_temporal. +func AfterTstzspanTemporal(s *Span, temp Temporal) bool { + res := C.after_tstzspan_temporal(s._inner, temp.Inner()) + return bool(res) +} + + +// BeforeTBOXTnumber wraps MEOS C function before_tbox_tnumber. +func BeforeTBOXTnumber(box *TBox, temp Temporal) bool { + res := C.before_tbox_tnumber(box._inner, temp.Inner()) + return bool(res) +} + + +// BeforeTemporalTstzspan wraps MEOS C function before_temporal_tstzspan. +func BeforeTemporalTstzspan(temp Temporal, s *Span) bool { + res := C.before_temporal_tstzspan(temp.Inner(), s._inner) + return bool(res) +} + + +// BeforeTemporalTemporal wraps MEOS C function before_temporal_temporal. +func BeforeTemporalTemporal(temp1 Temporal, temp2 Temporal) bool { + res := C.before_temporal_temporal(temp1.Inner(), temp2.Inner()) + return bool(res) +} + + +// BeforeTnumberTBOX wraps MEOS C function before_tnumber_tbox. +func BeforeTnumberTBOX(temp Temporal, box *TBox) bool { + res := C.before_tnumber_tbox(temp.Inner(), box._inner) + return bool(res) +} + + +// BeforeTnumberTnumber wraps MEOS C function before_tnumber_tnumber. +func BeforeTnumberTnumber(temp1 Temporal, temp2 Temporal) bool { + res := C.before_tnumber_tnumber(temp1.Inner(), temp2.Inner()) + return bool(res) +} + + +// BeforeTstzspanTemporal wraps MEOS C function before_tstzspan_temporal. +func BeforeTstzspanTemporal(s *Span, temp Temporal) bool { + res := C.before_tstzspan_temporal(s._inner, temp.Inner()) + return bool(res) +} + + +// LeftTBOXTnumber wraps MEOS C function left_tbox_tnumber. +func LeftTBOXTnumber(box *TBox, temp Temporal) bool { + res := C.left_tbox_tnumber(box._inner, temp.Inner()) + return bool(res) +} + + +// LeftNumspanTnumber wraps MEOS C function left_numspan_tnumber. +func LeftNumspanTnumber(s *Span, temp Temporal) bool { + res := C.left_numspan_tnumber(s._inner, temp.Inner()) + return bool(res) +} + + +// LeftTnumberNumspan wraps MEOS C function left_tnumber_numspan. +func LeftTnumberNumspan(temp Temporal, s *Span) bool { + res := C.left_tnumber_numspan(temp.Inner(), s._inner) + return bool(res) +} + + +// LeftTnumberTBOX wraps MEOS C function left_tnumber_tbox. +func LeftTnumberTBOX(temp Temporal, box *TBox) bool { + res := C.left_tnumber_tbox(temp.Inner(), box._inner) + return bool(res) +} + + +// LeftTnumberTnumber wraps MEOS C function left_tnumber_tnumber. +func LeftTnumberTnumber(temp1 Temporal, temp2 Temporal) bool { + res := C.left_tnumber_tnumber(temp1.Inner(), temp2.Inner()) + return bool(res) +} + + +// OverafterTBOXTnumber wraps MEOS C function overafter_tbox_tnumber. +func OverafterTBOXTnumber(box *TBox, temp Temporal) bool { + res := C.overafter_tbox_tnumber(box._inner, temp.Inner()) + return bool(res) +} + + +// OverafterTemporalTstzspan wraps MEOS C function overafter_temporal_tstzspan. +func OverafterTemporalTstzspan(temp Temporal, s *Span) bool { + res := C.overafter_temporal_tstzspan(temp.Inner(), s._inner) + return bool(res) +} + + +// OverafterTemporalTemporal wraps MEOS C function overafter_temporal_temporal. +func OverafterTemporalTemporal(temp1 Temporal, temp2 Temporal) bool { + res := C.overafter_temporal_temporal(temp1.Inner(), temp2.Inner()) + return bool(res) +} + + +// OverafterTnumberTBOX wraps MEOS C function overafter_tnumber_tbox. +func OverafterTnumberTBOX(temp Temporal, box *TBox) bool { + res := C.overafter_tnumber_tbox(temp.Inner(), box._inner) + return bool(res) +} + + +// OverafterTnumberTnumber wraps MEOS C function overafter_tnumber_tnumber. +func OverafterTnumberTnumber(temp1 Temporal, temp2 Temporal) bool { + res := C.overafter_tnumber_tnumber(temp1.Inner(), temp2.Inner()) + return bool(res) +} + + +// OverafterTstzspanTemporal wraps MEOS C function overafter_tstzspan_temporal. +func OverafterTstzspanTemporal(s *Span, temp Temporal) bool { + res := C.overafter_tstzspan_temporal(s._inner, temp.Inner()) + return bool(res) +} + + +// OverbeforeTBOXTnumber wraps MEOS C function overbefore_tbox_tnumber. +func OverbeforeTBOXTnumber(box *TBox, temp Temporal) bool { + res := C.overbefore_tbox_tnumber(box._inner, temp.Inner()) + return bool(res) +} + + +// OverbeforeTemporalTstzspan wraps MEOS C function overbefore_temporal_tstzspan. +func OverbeforeTemporalTstzspan(temp Temporal, s *Span) bool { + res := C.overbefore_temporal_tstzspan(temp.Inner(), s._inner) + return bool(res) +} + + +// OverbeforeTemporalTemporal wraps MEOS C function overbefore_temporal_temporal. +func OverbeforeTemporalTemporal(temp1 Temporal, temp2 Temporal) bool { + res := C.overbefore_temporal_temporal(temp1.Inner(), temp2.Inner()) + return bool(res) +} + + +// OverbeforeTnumberTBOX wraps MEOS C function overbefore_tnumber_tbox. +func OverbeforeTnumberTBOX(temp Temporal, box *TBox) bool { + res := C.overbefore_tnumber_tbox(temp.Inner(), box._inner) + return bool(res) +} + + +// OverbeforeTnumberTnumber wraps MEOS C function overbefore_tnumber_tnumber. +func OverbeforeTnumberTnumber(temp1 Temporal, temp2 Temporal) bool { + res := C.overbefore_tnumber_tnumber(temp1.Inner(), temp2.Inner()) + return bool(res) +} + + +// OverbeforeTstzspanTemporal wraps MEOS C function overbefore_tstzspan_temporal. +func OverbeforeTstzspanTemporal(s *Span, temp Temporal) bool { + res := C.overbefore_tstzspan_temporal(s._inner, temp.Inner()) + return bool(res) +} + + +// OverleftNumspanTnumber wraps MEOS C function overleft_numspan_tnumber. +func OverleftNumspanTnumber(s *Span, temp Temporal) bool { + res := C.overleft_numspan_tnumber(s._inner, temp.Inner()) + return bool(res) +} + + +// OverleftTBOXTnumber wraps MEOS C function overleft_tbox_tnumber. +func OverleftTBOXTnumber(box *TBox, temp Temporal) bool { + res := C.overleft_tbox_tnumber(box._inner, temp.Inner()) + return bool(res) +} + + +// OverleftTnumberNumspan wraps MEOS C function overleft_tnumber_numspan. +func OverleftTnumberNumspan(temp Temporal, s *Span) bool { + res := C.overleft_tnumber_numspan(temp.Inner(), s._inner) + return bool(res) +} + + +// OverleftTnumberTBOX wraps MEOS C function overleft_tnumber_tbox. +func OverleftTnumberTBOX(temp Temporal, box *TBox) bool { + res := C.overleft_tnumber_tbox(temp.Inner(), box._inner) + return bool(res) +} + + +// OverleftTnumberTnumber wraps MEOS C function overleft_tnumber_tnumber. +func OverleftTnumberTnumber(temp1 Temporal, temp2 Temporal) bool { + res := C.overleft_tnumber_tnumber(temp1.Inner(), temp2.Inner()) + return bool(res) +} + + +// OverrightNumspanTnumber wraps MEOS C function overright_numspan_tnumber. +func OverrightNumspanTnumber(s *Span, temp Temporal) bool { + res := C.overright_numspan_tnumber(s._inner, temp.Inner()) + return bool(res) +} + + +// OverrightTBOXTnumber wraps MEOS C function overright_tbox_tnumber. +func OverrightTBOXTnumber(box *TBox, temp Temporal) bool { + res := C.overright_tbox_tnumber(box._inner, temp.Inner()) + return bool(res) +} + + +// OverrightTnumberNumspan wraps MEOS C function overright_tnumber_numspan. +func OverrightTnumberNumspan(temp Temporal, s *Span) bool { + res := C.overright_tnumber_numspan(temp.Inner(), s._inner) + return bool(res) +} + + +// OverrightTnumberTBOX wraps MEOS C function overright_tnumber_tbox. +func OverrightTnumberTBOX(temp Temporal, box *TBox) bool { + res := C.overright_tnumber_tbox(temp.Inner(), box._inner) + return bool(res) +} + + +// OverrightTnumberTnumber wraps MEOS C function overright_tnumber_tnumber. +func OverrightTnumberTnumber(temp1 Temporal, temp2 Temporal) bool { + res := C.overright_tnumber_tnumber(temp1.Inner(), temp2.Inner()) + return bool(res) +} + + +// RightNumspanTnumber wraps MEOS C function right_numspan_tnumber. +func RightNumspanTnumber(s *Span, temp Temporal) bool { + res := C.right_numspan_tnumber(s._inner, temp.Inner()) + return bool(res) +} + + +// RightTBOXTnumber wraps MEOS C function right_tbox_tnumber. +func RightTBOXTnumber(box *TBox, temp Temporal) bool { + res := C.right_tbox_tnumber(box._inner, temp.Inner()) + return bool(res) +} + + +// RightTnumberNumspan wraps MEOS C function right_tnumber_numspan. +func RightTnumberNumspan(temp Temporal, s *Span) bool { + res := C.right_tnumber_numspan(temp.Inner(), s._inner) + return bool(res) +} + + +// RightTnumberTBOX wraps MEOS C function right_tnumber_tbox. +func RightTnumberTBOX(temp Temporal, box *TBox) bool { + res := C.right_tnumber_tbox(temp.Inner(), box._inner) + return bool(res) +} + + +// RightTnumberTnumber wraps MEOS C function right_tnumber_tnumber. +func RightTnumberTnumber(temp1 Temporal, temp2 Temporal) bool { + res := C.right_tnumber_tnumber(temp1.Inner(), temp2.Inner()) + return bool(res) +} + + +// TandBoolTbool wraps MEOS C function tand_bool_tbool. +func TandBoolTbool(b bool, temp Temporal) Temporal { + res := C.tand_bool_tbool(C.bool(b), temp.Inner()) + return CreateTemporal(res) +} + + +// TandTboolBool wraps MEOS C function tand_tbool_bool. +func TandTboolBool(temp Temporal, b bool) Temporal { + res := C.tand_tbool_bool(temp.Inner(), C.bool(b)) + return CreateTemporal(res) +} + + +// TandTboolTbool wraps MEOS C function tand_tbool_tbool. +func TandTboolTbool(temp1 Temporal, temp2 Temporal) Temporal { + res := C.tand_tbool_tbool(temp1.Inner(), temp2.Inner()) + return CreateTemporal(res) +} + + +// TboolWhenTrue wraps MEOS C function tbool_when_true. +func TboolWhenTrue(temp Temporal) *SpanSet { + res := C.tbool_when_true(temp.Inner()) + return &SpanSet{_inner: res} +} + + +// TnotTbool wraps MEOS C function tnot_tbool. +func TnotTbool(temp Temporal) Temporal { + res := C.tnot_tbool(temp.Inner()) + return CreateTemporal(res) +} + + +// TorBoolTbool wraps MEOS C function tor_bool_tbool. +func TorBoolTbool(b bool, temp Temporal) Temporal { + res := C.tor_bool_tbool(C.bool(b), temp.Inner()) + return CreateTemporal(res) +} + + +// TorTboolBool wraps MEOS C function tor_tbool_bool. +func TorTboolBool(temp Temporal, b bool) Temporal { + res := C.tor_tbool_bool(temp.Inner(), C.bool(b)) + return CreateTemporal(res) +} + + +// TorTboolTbool wraps MEOS C function tor_tbool_tbool. +func TorTboolTbool(temp1 Temporal, temp2 Temporal) Temporal { + res := C.tor_tbool_tbool(temp1.Inner(), temp2.Inner()) + return CreateTemporal(res) +} + + +// AddFloatTfloat wraps MEOS C function add_float_tfloat. +func AddFloatTfloat(d float64, tnumber Temporal) Temporal { + res := C.add_float_tfloat(C.double(d), tnumber.Inner()) + return CreateTemporal(res) +} + + +// AddIntTint wraps MEOS C function add_int_tint. +func AddIntTint(i int, tnumber Temporal) Temporal { + res := C.add_int_tint(C.int(i), tnumber.Inner()) + return CreateTemporal(res) +} + + +// AddTfloatFloat wraps MEOS C function add_tfloat_float. +func AddTfloatFloat(tnumber Temporal, d float64) Temporal { + res := C.add_tfloat_float(tnumber.Inner(), C.double(d)) + return CreateTemporal(res) +} + + +// AddTintInt wraps MEOS C function add_tint_int. +func AddTintInt(tnumber Temporal, i int) Temporal { + res := C.add_tint_int(tnumber.Inner(), C.int(i)) + return CreateTemporal(res) +} + + +// AddTnumberTnumber wraps MEOS C function add_tnumber_tnumber. +func AddTnumberTnumber(tnumber1 Temporal, tnumber2 Temporal) Temporal { + res := C.add_tnumber_tnumber(tnumber1.Inner(), tnumber2.Inner()) + return CreateTemporal(res) +} + + +// DivFloatTfloat wraps MEOS C function div_float_tfloat. +func DivFloatTfloat(d float64, tnumber Temporal) Temporal { + res := C.div_float_tfloat(C.double(d), tnumber.Inner()) + return CreateTemporal(res) +} + + +// DivIntTint wraps MEOS C function div_int_tint. +func DivIntTint(i int, tnumber Temporal) Temporal { + res := C.div_int_tint(C.int(i), tnumber.Inner()) + return CreateTemporal(res) +} + + +// DivTfloatFloat wraps MEOS C function div_tfloat_float. +func DivTfloatFloat(tnumber Temporal, d float64) Temporal { + res := C.div_tfloat_float(tnumber.Inner(), C.double(d)) + return CreateTemporal(res) +} + + +// DivTintInt wraps MEOS C function div_tint_int. +func DivTintInt(tnumber Temporal, i int) Temporal { + res := C.div_tint_int(tnumber.Inner(), C.int(i)) + return CreateTemporal(res) +} + + +// DivTnumberTnumber wraps MEOS C function div_tnumber_tnumber. +func DivTnumberTnumber(tnumber1 Temporal, tnumber2 Temporal) Temporal { + res := C.div_tnumber_tnumber(tnumber1.Inner(), tnumber2.Inner()) + return CreateTemporal(res) +} + + +// MultFloatTfloat wraps MEOS C function mult_float_tfloat. +func MultFloatTfloat(d float64, tnumber Temporal) Temporal { + res := C.mult_float_tfloat(C.double(d), tnumber.Inner()) + return CreateTemporal(res) +} + + +// MultIntTint wraps MEOS C function mult_int_tint. +func MultIntTint(i int, tnumber Temporal) Temporal { + res := C.mult_int_tint(C.int(i), tnumber.Inner()) + return CreateTemporal(res) +} + + +// MultTfloatFloat wraps MEOS C function mult_tfloat_float. +func MultTfloatFloat(tnumber Temporal, d float64) Temporal { + res := C.mult_tfloat_float(tnumber.Inner(), C.double(d)) + return CreateTemporal(res) +} + + +// MultTintInt wraps MEOS C function mult_tint_int. +func MultTintInt(tnumber Temporal, i int) Temporal { + res := C.mult_tint_int(tnumber.Inner(), C.int(i)) + return CreateTemporal(res) +} + + +// MultTnumberTnumber wraps MEOS C function mult_tnumber_tnumber. +func MultTnumberTnumber(tnumber1 Temporal, tnumber2 Temporal) Temporal { + res := C.mult_tnumber_tnumber(tnumber1.Inner(), tnumber2.Inner()) + return CreateTemporal(res) +} + + +// SubFloatTfloat wraps MEOS C function sub_float_tfloat. +func SubFloatTfloat(d float64, tnumber Temporal) Temporal { + res := C.sub_float_tfloat(C.double(d), tnumber.Inner()) + return CreateTemporal(res) +} + + +// SubIntTint wraps MEOS C function sub_int_tint. +func SubIntTint(i int, tnumber Temporal) Temporal { + res := C.sub_int_tint(C.int(i), tnumber.Inner()) + return CreateTemporal(res) +} + + +// SubTfloatFloat wraps MEOS C function sub_tfloat_float. +func SubTfloatFloat(tnumber Temporal, d float64) Temporal { + res := C.sub_tfloat_float(tnumber.Inner(), C.double(d)) + return CreateTemporal(res) +} + + +// SubTintInt wraps MEOS C function sub_tint_int. +func SubTintInt(tnumber Temporal, i int) Temporal { + res := C.sub_tint_int(tnumber.Inner(), C.int(i)) + return CreateTemporal(res) +} + + +// SubTnumberTnumber wraps MEOS C function sub_tnumber_tnumber. +func SubTnumberTnumber(tnumber1 Temporal, tnumber2 Temporal) Temporal { + res := C.sub_tnumber_tnumber(tnumber1.Inner(), tnumber2.Inner()) + return CreateTemporal(res) +} + + +// TemporalDerivative wraps MEOS C function temporal_derivative. +func TemporalDerivative(temp Temporal) Temporal { + res := C.temporal_derivative(temp.Inner()) + return CreateTemporal(res) +} + + +// TfloatExp wraps MEOS C function tfloat_exp. +func TfloatExp(temp Temporal) Temporal { + res := C.tfloat_exp(temp.Inner()) + return CreateTemporal(res) +} + + +// TfloatLn wraps MEOS C function tfloat_ln. +func TfloatLn(temp Temporal) Temporal { + res := C.tfloat_ln(temp.Inner()) + return CreateTemporal(res) +} + + +// TfloatLog10 wraps MEOS C function tfloat_log10. +func TfloatLog10(temp Temporal) Temporal { + res := C.tfloat_log10(temp.Inner()) + return CreateTemporal(res) +} + + +// TnumberAbs wraps MEOS C function tnumber_abs. +func TnumberAbs(temp Temporal) Temporal { + res := C.tnumber_abs(temp.Inner()) + return CreateTemporal(res) +} + + +// TnumberTrend wraps MEOS C function tnumber_trend. +func TnumberTrend(temp Temporal) Temporal { + res := C.tnumber_trend(temp.Inner()) + return CreateTemporal(res) +} + + +// FloatAngularDifference wraps MEOS C function float_angular_difference. +func FloatAngularDifference(degrees1 float64, degrees2 float64) float64 { + res := C.float_angular_difference(C.double(degrees1), C.double(degrees2)) + return float64(res) +} + + +// TnumberAngularDifference wraps MEOS C function tnumber_angular_difference. +func TnumberAngularDifference(temp Temporal) Temporal { + res := C.tnumber_angular_difference(temp.Inner()) + return CreateTemporal(res) +} + + +// TnumberDeltaValue wraps MEOS C function tnumber_delta_value. +func TnumberDeltaValue(temp Temporal) Temporal { + res := C.tnumber_delta_value(temp.Inner()) + return CreateTemporal(res) +} + + +// TextcatTextTtext wraps MEOS C function textcat_text_ttext. +func TextcatTextTtext(txt string, temp Temporal) Temporal { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.textcat_text_ttext(_c_txt, temp.Inner()) + return CreateTemporal(res) +} + + +// TextcatTtextText wraps MEOS C function textcat_ttext_text. +func TextcatTtextText(temp Temporal, txt string) Temporal { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.textcat_ttext_text(temp.Inner(), _c_txt) + return CreateTemporal(res) +} + + +// TextcatTtextTtext wraps MEOS C function textcat_ttext_ttext. +func TextcatTtextTtext(temp1 Temporal, temp2 Temporal) Temporal { + res := C.textcat_ttext_ttext(temp1.Inner(), temp2.Inner()) + return CreateTemporal(res) +} + + +// TtextInitcap wraps MEOS C function ttext_initcap. +func TtextInitcap(temp Temporal) Temporal { + res := C.ttext_initcap(temp.Inner()) + return CreateTemporal(res) +} + + +// TtextUpper wraps MEOS C function ttext_upper. +func TtextUpper(temp Temporal) Temporal { + res := C.ttext_upper(temp.Inner()) + return CreateTemporal(res) +} + + +// TtextLower wraps MEOS C function ttext_lower. +func TtextLower(temp Temporal) Temporal { + res := C.ttext_lower(temp.Inner()) + return CreateTemporal(res) +} + + +// TdistanceTfloatFloat wraps MEOS C function tdistance_tfloat_float. +func TdistanceTfloatFloat(temp Temporal, d float64) Temporal { + res := C.tdistance_tfloat_float(temp.Inner(), C.double(d)) + return CreateTemporal(res) +} + + +// TdistanceTintInt wraps MEOS C function tdistance_tint_int. +func TdistanceTintInt(temp Temporal, i int) Temporal { + res := C.tdistance_tint_int(temp.Inner(), C.int(i)) + return CreateTemporal(res) +} + + +// TdistanceTnumberTnumber wraps MEOS C function tdistance_tnumber_tnumber. +func TdistanceTnumberTnumber(temp1 Temporal, temp2 Temporal) Temporal { + res := C.tdistance_tnumber_tnumber(temp1.Inner(), temp2.Inner()) + return CreateTemporal(res) +} + + +// NadTboxfloatTboxfloat wraps MEOS C function nad_tboxfloat_tboxfloat. +func NadTboxfloatTboxfloat(box1 *TBox, box2 *TBox) float64 { + res := C.nad_tboxfloat_tboxfloat(box1._inner, box2._inner) + return float64(res) +} + + +// NadTboxintTboxint wraps MEOS C function nad_tboxint_tboxint. +func NadTboxintTboxint(box1 *TBox, box2 *TBox) int { + res := C.nad_tboxint_tboxint(box1._inner, box2._inner) + return int(res) +} + + +// NadTfloatFloat wraps MEOS C function nad_tfloat_float. +func NadTfloatFloat(temp Temporal, d float64) float64 { + res := C.nad_tfloat_float(temp.Inner(), C.double(d)) + return float64(res) +} + + +// NadTfloatTfloat wraps MEOS C function nad_tfloat_tfloat. +func NadTfloatTfloat(temp1 Temporal, temp2 Temporal) float64 { + res := C.nad_tfloat_tfloat(temp1.Inner(), temp2.Inner()) + return float64(res) +} + + +// NadTfloatTBOX wraps MEOS C function nad_tfloat_tbox. +func NadTfloatTBOX(temp Temporal, box *TBox) float64 { + res := C.nad_tfloat_tbox(temp.Inner(), box._inner) + return float64(res) +} + + +// NadTintInt wraps MEOS C function nad_tint_int. +func NadTintInt(temp Temporal, i int) int { + res := C.nad_tint_int(temp.Inner(), C.int(i)) + return int(res) +} + + +// NadTintTBOX wraps MEOS C function nad_tint_tbox. +func NadTintTBOX(temp Temporal, box *TBox) int { + res := C.nad_tint_tbox(temp.Inner(), box._inner) + return int(res) +} + + +// NadTintTint wraps MEOS C function nad_tint_tint. +func NadTintTint(temp1 Temporal, temp2 Temporal) int { + res := C.nad_tint_tint(temp1.Inner(), temp2.Inner()) + return int(res) +} + + +// TboolTandTransfn wraps MEOS C function tbool_tand_transfn. +func TboolTandTransfn(state *SkipList, temp Temporal) *SkipList { + res := C.tbool_tand_transfn(state._inner, temp.Inner()) + return &SkipList{_inner: res} +} + + +// TboolTorTransfn wraps MEOS C function tbool_tor_transfn. +func TboolTorTransfn(state *SkipList, temp Temporal) *SkipList { + res := C.tbool_tor_transfn(state._inner, temp.Inner()) + return &SkipList{_inner: res} +} + + +// TemporalExtentTransfn wraps MEOS C function temporal_extent_transfn. +func TemporalExtentTransfn(s *Span, temp Temporal) *Span { + res := C.temporal_extent_transfn(s._inner, temp.Inner()) + return &Span{_inner: res} +} + + +// TemporalTaggFinalfn wraps MEOS C function temporal_tagg_finalfn. +func TemporalTaggFinalfn(state *SkipList) Temporal { + res := C.temporal_tagg_finalfn(state._inner) + return CreateTemporal(res) +} + + +// TemporalTcountTransfn wraps MEOS C function temporal_tcount_transfn. +func TemporalTcountTransfn(state *SkipList, temp Temporal) *SkipList { + res := C.temporal_tcount_transfn(state._inner, temp.Inner()) + return &SkipList{_inner: res} +} + + +// TfloatTmaxTransfn wraps MEOS C function tfloat_tmax_transfn. +func TfloatTmaxTransfn(state *SkipList, temp Temporal) *SkipList { + res := C.tfloat_tmax_transfn(state._inner, temp.Inner()) + return &SkipList{_inner: res} +} + + +// TfloatTminTransfn wraps MEOS C function tfloat_tmin_transfn. +func TfloatTminTransfn(state *SkipList, temp Temporal) *SkipList { + res := C.tfloat_tmin_transfn(state._inner, temp.Inner()) + return &SkipList{_inner: res} +} + + +// TfloatTsumTransfn wraps MEOS C function tfloat_tsum_transfn. +func TfloatTsumTransfn(state *SkipList, temp Temporal) *SkipList { + res := C.tfloat_tsum_transfn(state._inner, temp.Inner()) + return &SkipList{_inner: res} +} + + +// TfloatWmaxTransfn wraps MEOS C function tfloat_wmax_transfn. +func TfloatWmaxTransfn(state *SkipList, temp Temporal, interv timeutil.Timedelta) *SkipList { + res := C.tfloat_wmax_transfn(state._inner, temp.Inner(), interv.Inner()) + return &SkipList{_inner: res} +} + + +// TfloatWminTransfn wraps MEOS C function tfloat_wmin_transfn. +func TfloatWminTransfn(state *SkipList, temp Temporal, interv timeutil.Timedelta) *SkipList { + res := C.tfloat_wmin_transfn(state._inner, temp.Inner(), interv.Inner()) + return &SkipList{_inner: res} +} + + +// TfloatWsumTransfn wraps MEOS C function tfloat_wsum_transfn. +func TfloatWsumTransfn(state *SkipList, temp Temporal, interv timeutil.Timedelta) *SkipList { + res := C.tfloat_wsum_transfn(state._inner, temp.Inner(), interv.Inner()) + return &SkipList{_inner: res} +} + + +// TimestamptzTcountTransfn wraps MEOS C function timestamptz_tcount_transfn. +func TimestamptzTcountTransfn(state *SkipList, t int64) *SkipList { + res := C.timestamptz_tcount_transfn(state._inner, C.TimestampTz(t)) + return &SkipList{_inner: res} +} + + +// TintTmaxTransfn wraps MEOS C function tint_tmax_transfn. +func TintTmaxTransfn(state *SkipList, temp Temporal) *SkipList { + res := C.tint_tmax_transfn(state._inner, temp.Inner()) + return &SkipList{_inner: res} +} + + +// TintTminTransfn wraps MEOS C function tint_tmin_transfn. +func TintTminTransfn(state *SkipList, temp Temporal) *SkipList { + res := C.tint_tmin_transfn(state._inner, temp.Inner()) + return &SkipList{_inner: res} +} + + +// TintTsumTransfn wraps MEOS C function tint_tsum_transfn. +func TintTsumTransfn(state *SkipList, temp Temporal) *SkipList { + res := C.tint_tsum_transfn(state._inner, temp.Inner()) + return &SkipList{_inner: res} +} + + +// TintWmaxTransfn wraps MEOS C function tint_wmax_transfn. +func TintWmaxTransfn(state *SkipList, temp Temporal, interv timeutil.Timedelta) *SkipList { + res := C.tint_wmax_transfn(state._inner, temp.Inner(), interv.Inner()) + return &SkipList{_inner: res} +} + + +// TintWminTransfn wraps MEOS C function tint_wmin_transfn. +func TintWminTransfn(state *SkipList, temp Temporal, interv timeutil.Timedelta) *SkipList { + res := C.tint_wmin_transfn(state._inner, temp.Inner(), interv.Inner()) + return &SkipList{_inner: res} +} + + +// TintWsumTransfn wraps MEOS C function tint_wsum_transfn. +func TintWsumTransfn(state *SkipList, temp Temporal, interv timeutil.Timedelta) *SkipList { + res := C.tint_wsum_transfn(state._inner, temp.Inner(), interv.Inner()) + return &SkipList{_inner: res} +} + + +// TnumberExtentTransfn wraps MEOS C function tnumber_extent_transfn. +func TnumberExtentTransfn(box *TBox, temp Temporal) *TBox { + res := C.tnumber_extent_transfn(box._inner, temp.Inner()) + return &TBox{_inner: res} +} + + +// TnumberTavgFinalfn wraps MEOS C function tnumber_tavg_finalfn. +func TnumberTavgFinalfn(state *SkipList) Temporal { + res := C.tnumber_tavg_finalfn(state._inner) + return CreateTemporal(res) +} + + +// TnumberTavgTransfn wraps MEOS C function tnumber_tavg_transfn. +func TnumberTavgTransfn(state *SkipList, temp Temporal) *SkipList { + res := C.tnumber_tavg_transfn(state._inner, temp.Inner()) + return &SkipList{_inner: res} +} + + +// TnumberWavgTransfn wraps MEOS C function tnumber_wavg_transfn. +func TnumberWavgTransfn(state *SkipList, temp Temporal, interv timeutil.Timedelta) *SkipList { + res := C.tnumber_wavg_transfn(state._inner, temp.Inner(), interv.Inner()) + return &SkipList{_inner: res} +} + + +// TstzsetTcountTransfn wraps MEOS C function tstzset_tcount_transfn. +func TstzsetTcountTransfn(state *SkipList, s *Set) *SkipList { + res := C.tstzset_tcount_transfn(state._inner, s._inner) + return &SkipList{_inner: res} +} + + +// TstzspanTcountTransfn wraps MEOS C function tstzspan_tcount_transfn. +func TstzspanTcountTransfn(state *SkipList, s *Span) *SkipList { + res := C.tstzspan_tcount_transfn(state._inner, s._inner) + return &SkipList{_inner: res} +} + + +// TstzspansetTcountTransfn wraps MEOS C function tstzspanset_tcount_transfn. +func TstzspansetTcountTransfn(state *SkipList, ss *SpanSet) *SkipList { + res := C.tstzspanset_tcount_transfn(state._inner, ss._inner) + return &SkipList{_inner: res} +} + + +// TtextTmaxTransfn wraps MEOS C function ttext_tmax_transfn. +func TtextTmaxTransfn(state *SkipList, temp Temporal) *SkipList { + res := C.ttext_tmax_transfn(state._inner, temp.Inner()) + return &SkipList{_inner: res} +} + + +// TtextTminTransfn wraps MEOS C function ttext_tmin_transfn. +func TtextTminTransfn(state *SkipList, temp Temporal) *SkipList { + res := C.ttext_tmin_transfn(state._inner, temp.Inner()) + return &SkipList{_inner: res} +} + + +// TemporalSimplifyDp wraps MEOS C function temporal_simplify_dp. +func TemporalSimplifyDp(temp Temporal, eps_dist float64, synchronized bool) Temporal { + res := C.temporal_simplify_dp(temp.Inner(), C.double(eps_dist), C.bool(synchronized)) + return CreateTemporal(res) +} + + +// TemporalSimplifyMaxDist wraps MEOS C function temporal_simplify_max_dist. +func TemporalSimplifyMaxDist(temp Temporal, eps_dist float64, synchronized bool) Temporal { + res := C.temporal_simplify_max_dist(temp.Inner(), C.double(eps_dist), C.bool(synchronized)) + return CreateTemporal(res) +} + + +// TemporalSimplifyMinDist wraps MEOS C function temporal_simplify_min_dist. +func TemporalSimplifyMinDist(temp Temporal, dist float64) Temporal { + res := C.temporal_simplify_min_dist(temp.Inner(), C.double(dist)) + return CreateTemporal(res) +} + + +// TemporalSimplifyMinTdelta wraps MEOS C function temporal_simplify_min_tdelta. +func TemporalSimplifyMinTdelta(temp Temporal, mint timeutil.Timedelta) Temporal { + res := C.temporal_simplify_min_tdelta(temp.Inner(), mint.Inner()) + return CreateTemporal(res) +} + + +// TemporalTprecision wraps MEOS C function temporal_tprecision. +func TemporalTprecision(temp Temporal, duration timeutil.Timedelta, origin int64) Temporal { + res := C.temporal_tprecision(temp.Inner(), duration.Inner(), C.TimestampTz(origin)) + return CreateTemporal(res) +} + + +// TemporalTsample wraps MEOS C function temporal_tsample. +func TemporalTsample(temp Temporal, duration timeutil.Timedelta, origin int64, interp Interpolation) Temporal { + res := C.temporal_tsample(temp.Inner(), duration.Inner(), C.TimestampTz(origin), C.interpType(interp)) + return CreateTemporal(res) +} + + +// TemporalDyntimewarpDistance wraps MEOS C function temporal_dyntimewarp_distance. +func TemporalDyntimewarpDistance(temp1 Temporal, temp2 Temporal) float64 { + res := C.temporal_dyntimewarp_distance(temp1.Inner(), temp2.Inner()) + return float64(res) +} + + +// TODO temporal_dyntimewarp_path: unsupported return type Match * +// func TemporalDyntimewarpPath(...) { /* not yet handled by codegen */ } + + +// TemporalFrechetDistance wraps MEOS C function temporal_frechet_distance. +func TemporalFrechetDistance(temp1 Temporal, temp2 Temporal) float64 { + res := C.temporal_frechet_distance(temp1.Inner(), temp2.Inner()) + return float64(res) +} + + +// TODO temporal_frechet_path: unsupported return type Match * +// func TemporalFrechetPath(...) { /* not yet handled by codegen */ } + + +// TemporalHausdorffDistance wraps MEOS C function temporal_hausdorff_distance. +func TemporalHausdorffDistance(temp1 Temporal, temp2 Temporal) float64 { + res := C.temporal_hausdorff_distance(temp1.Inner(), temp2.Inner()) + return float64(res) +} + + +// TODO temporal_time_bins: unsupported param int * +// func TemporalTimeBins(...) { /* not yet handled by codegen */ } + + +// TODO temporal_time_split: unsupported return type Temporal ** +// func TemporalTimeSplit(...) { /* not yet handled by codegen */ } + + +// TODO tfloat_time_boxes: unsupported param int * +// func TfloatTimeBoxes(...) { /* not yet handled by codegen */ } + + +// TODO tfloat_value_bins: unsupported param int * +// func TfloatValueBins(...) { /* not yet handled by codegen */ } + + +// TODO tfloat_value_boxes: unsupported param int * +// func TfloatValueBoxes(...) { /* not yet handled by codegen */ } + + +// TODO tfloat_value_split: unsupported return type Temporal ** +// func TfloatValueSplit(...) { /* not yet handled by codegen */ } + + +// TODO tfloat_value_time_boxes: unsupported param int * +// func TfloatValueTimeBoxes(...) { /* not yet handled by codegen */ } + + +// TODO tfloat_value_time_split: unsupported return type Temporal ** +// func TfloatValueTimeSplit(...) { /* not yet handled by codegen */ } + + +// TODO tfloatbox_time_tiles: unsupported param int * +// func TfloatboxTimeTiles(...) { /* not yet handled by codegen */ } + + +// TODO tfloatbox_value_tiles: unsupported param int * +// func TfloatboxValueTiles(...) { /* not yet handled by codegen */ } + + +// TODO tfloatbox_value_time_tiles: unsupported param int * +// func TfloatboxValueTimeTiles(...) { /* not yet handled by codegen */ } + + +// TODO tint_time_boxes: unsupported param int * +// func TintTimeBoxes(...) { /* not yet handled by codegen */ } + + +// TODO tint_value_bins: unsupported param int * +// func TintValueBins(...) { /* not yet handled by codegen */ } + + +// TODO tint_value_boxes: unsupported param int * +// func TintValueBoxes(...) { /* not yet handled by codegen */ } + + +// TODO tint_value_split: unsupported return type Temporal ** +// func TintValueSplit(...) { /* not yet handled by codegen */ } + + +// TODO tint_value_time_boxes: unsupported param int * +// func TintValueTimeBoxes(...) { /* not yet handled by codegen */ } + + +// TODO tint_value_time_split: unsupported return type Temporal ** +// func TintValueTimeSplit(...) { /* not yet handled by codegen */ } + + +// TODO tintbox_time_tiles: unsupported param int * +// func TintboxTimeTiles(...) { /* not yet handled by codegen */ } + + +// TODO tintbox_value_tiles: unsupported param int * +// func TintboxValueTiles(...) { /* not yet handled by codegen */ } + + +// TODO tintbox_value_time_tiles: unsupported param int * +// func TintboxValueTimeTiles(...) { /* not yet handled by codegen */ } + diff --git a/tools/_preview/meos_meos_catalog.go b/tools/_preview/meos_meos_catalog.go new file mode 100644 index 0000000..ea0d1d8 --- /dev/null +++ b/tools/_preview/meos_meos_catalog.go @@ -0,0 +1,531 @@ +package generated + +// #include +import "C" +import ( + "unsafe" + + "github.com/leekchan/timeutil" +) + +var _ = unsafe.Pointer(nil) +var _ = timeutil.Timedelta{} + +// TemptypeSubtype wraps MEOS C function temptype_subtype. +func TemptypeSubtype(subtype TempSubtype) bool { + res := C.temptype_subtype(C.tempSubtype(subtype)) + return bool(res) +} + + +// TemptypeSubtypeAll wraps MEOS C function temptype_subtype_all. +func TemptypeSubtypeAll(subtype TempSubtype) bool { + res := C.temptype_subtype_all(C.tempSubtype(subtype)) + return bool(res) +} + + +// TempsubtypeName wraps MEOS C function tempsubtype_name. +func TempsubtypeName(subtype TempSubtype) string { + res := C.tempsubtype_name(C.tempSubtype(subtype)) + return C.GoString(res) +} + + +// TODO tempsubtype_from_string: unsupported param int16 * +// func TempsubtypeFromString(...) { /* not yet handled by codegen */ } + + +// MeosoperName wraps MEOS C function meosoper_name. +func MeosoperName(oper MeosOper) string { + res := C.meosoper_name(C.meosOper(oper)) + return C.GoString(res) +} + + +// MeosoperFromString wraps MEOS C function meosoper_from_string. +func MeosoperFromString(name string) MeosOper { + _c_name := C.CString(name) + defer C.free(unsafe.Pointer(_c_name)) + res := C.meosoper_from_string(_c_name) + return MeosOper(res) +} + + +// InterptypeName wraps MEOS C function interptype_name. +func InterptypeName(interp Interpolation) string { + res := C.interptype_name(C.interpType(interp)) + return C.GoString(res) +} + + +// InterptypeFromString wraps MEOS C function interptype_from_string. +func InterptypeFromString(interp_str string) Interpolation { + _c_interp_str := C.CString(interp_str) + defer C.free(unsafe.Pointer(_c_interp_str)) + res := C.interptype_from_string(_c_interp_str) + return Interpolation(res) +} + + +// MeostypeName wraps MEOS C function meostype_name. +func MeostypeName(type_ MeosType) string { + res := C.meostype_name(C.meosType(type_)) + return C.GoString(res) +} + + +// TemptypeBasetype wraps MEOS C function temptype_basetype. +func TemptypeBasetype(type_ MeosType) MeosType { + res := C.temptype_basetype(C.meosType(type_)) + return MeosType(res) +} + + +// SettypeBasetype wraps MEOS C function settype_basetype. +func SettypeBasetype(type_ MeosType) MeosType { + res := C.settype_basetype(C.meosType(type_)) + return MeosType(res) +} + + +// SpantypeBasetype wraps MEOS C function spantype_basetype. +func SpantypeBasetype(type_ MeosType) MeosType { + res := C.spantype_basetype(C.meosType(type_)) + return MeosType(res) +} + + +// SpantypeSpansettype wraps MEOS C function spantype_spansettype. +func SpantypeSpansettype(type_ MeosType) MeosType { + res := C.spantype_spansettype(C.meosType(type_)) + return MeosType(res) +} + + +// SpansettypeSpantype wraps MEOS C function spansettype_spantype. +func SpansettypeSpantype(type_ MeosType) MeosType { + res := C.spansettype_spantype(C.meosType(type_)) + return MeosType(res) +} + + +// BasetypeSpantype wraps MEOS C function basetype_spantype. +func BasetypeSpantype(type_ MeosType) MeosType { + res := C.basetype_spantype(C.meosType(type_)) + return MeosType(res) +} + + +// BasetypeSettype wraps MEOS C function basetype_settype. +func BasetypeSettype(type_ MeosType) MeosType { + res := C.basetype_settype(C.meosType(type_)) + return MeosType(res) +} + + +// TnumberBasetype wraps MEOS C function tnumber_basetype. +func TnumberBasetype(type_ MeosType) bool { + res := C.tnumber_basetype(C.meosType(type_)) + return bool(res) +} + + +// GeoBasetype wraps MEOS C function geo_basetype. +func GeoBasetype(type_ MeosType) bool { + res := C.geo_basetype(C.meosType(type_)) + return bool(res) +} + + +// MeosBasetype wraps MEOS C function meos_basetype. +func MeosBasetype(type_ MeosType) bool { + res := C.meos_basetype(C.meosType(type_)) + return bool(res) +} + + +// AlphanumBasetype wraps MEOS C function alphanum_basetype. +func AlphanumBasetype(type_ MeosType) bool { + res := C.alphanum_basetype(C.meosType(type_)) + return bool(res) +} + + +// AlphanumTemptype wraps MEOS C function alphanum_temptype. +func AlphanumTemptype(type_ MeosType) bool { + res := C.alphanum_temptype(C.meosType(type_)) + return bool(res) +} + + +// TimeType wraps MEOS C function time_type. +func TimeType(type_ MeosType) bool { + res := C.time_type(C.meosType(type_)) + return bool(res) +} + + +// SetBasetype wraps MEOS C function set_basetype. +func SetBasetype(type_ MeosType) bool { + res := C.set_basetype(C.meosType(type_)) + return bool(res) +} + + +// SetType wraps MEOS C function set_type. +func SetType(type_ MeosType) bool { + res := C.set_type(C.meosType(type_)) + return bool(res) +} + + +// NumsetType wraps MEOS C function numset_type. +func NumsetType(type_ MeosType) bool { + res := C.numset_type(C.meosType(type_)) + return bool(res) +} + + +// EnsureNumsetType wraps MEOS C function ensure_numset_type. +func EnsureNumsetType(type_ MeosType) bool { + res := C.ensure_numset_type(C.meosType(type_)) + return bool(res) +} + + +// TimesetType wraps MEOS C function timeset_type. +func TimesetType(type_ MeosType) bool { + res := C.timeset_type(C.meosType(type_)) + return bool(res) +} + + +// SetSpantype wraps MEOS C function set_spantype. +func SetSpantype(type_ MeosType) bool { + res := C.set_spantype(C.meosType(type_)) + return bool(res) +} + + +// EnsureSetSpantype wraps MEOS C function ensure_set_spantype. +func EnsureSetSpantype(type_ MeosType) bool { + res := C.ensure_set_spantype(C.meosType(type_)) + return bool(res) +} + + +// AlphanumsetType wraps MEOS C function alphanumset_type. +func AlphanumsetType(settype MeosType) bool { + res := C.alphanumset_type(C.meosType(settype)) + return bool(res) +} + + +// GeosetType wraps MEOS C function geoset_type. +func GeosetType(type_ MeosType) bool { + res := C.geoset_type(C.meosType(type_)) + return bool(res) +} + + +// EnsureGeosetType wraps MEOS C function ensure_geoset_type. +func EnsureGeosetType(type_ MeosType) bool { + res := C.ensure_geoset_type(C.meosType(type_)) + return bool(res) +} + + +// SpatialsetType wraps MEOS C function spatialset_type. +func SpatialsetType(type_ MeosType) bool { + res := C.spatialset_type(C.meosType(type_)) + return bool(res) +} + + +// EnsureSpatialsetType wraps MEOS C function ensure_spatialset_type. +func EnsureSpatialsetType(type_ MeosType) bool { + res := C.ensure_spatialset_type(C.meosType(type_)) + return bool(res) +} + + +// SpanBasetype wraps MEOS C function span_basetype. +func SpanBasetype(type_ MeosType) bool { + res := C.span_basetype(C.meosType(type_)) + return bool(res) +} + + +// SpanCanonBasetype wraps MEOS C function span_canon_basetype. +func SpanCanonBasetype(type_ MeosType) bool { + res := C.span_canon_basetype(C.meosType(type_)) + return bool(res) +} + + +// SpanType wraps MEOS C function span_type. +func SpanType(type_ MeosType) bool { + res := C.span_type(C.meosType(type_)) + return bool(res) +} + + +// TypeSpanBbox wraps MEOS C function type_span_bbox. +func TypeSpanBbox(type_ MeosType) bool { + res := C.type_span_bbox(C.meosType(type_)) + return bool(res) +} + + +// SpanTBOXType wraps MEOS C function span_tbox_type. +func SpanTBOXType(type_ MeosType) bool { + res := C.span_tbox_type(C.meosType(type_)) + return bool(res) +} + + +// EnsureSpanTBOXType wraps MEOS C function ensure_span_tbox_type. +func EnsureSpanTBOXType(type_ MeosType) bool { + res := C.ensure_span_tbox_type(C.meosType(type_)) + return bool(res) +} + + +// NumspanBasetype wraps MEOS C function numspan_basetype. +func NumspanBasetype(type_ MeosType) bool { + res := C.numspan_basetype(C.meosType(type_)) + return bool(res) +} + + +// NumspanType wraps MEOS C function numspan_type. +func NumspanType(type_ MeosType) bool { + res := C.numspan_type(C.meosType(type_)) + return bool(res) +} + + +// EnsureNumspanType wraps MEOS C function ensure_numspan_type. +func EnsureNumspanType(type_ MeosType) bool { + res := C.ensure_numspan_type(C.meosType(type_)) + return bool(res) +} + + +// TimespanBasetype wraps MEOS C function timespan_basetype. +func TimespanBasetype(type_ MeosType) bool { + res := C.timespan_basetype(C.meosType(type_)) + return bool(res) +} + + +// TimespanType wraps MEOS C function timespan_type. +func TimespanType(type_ MeosType) bool { + res := C.timespan_type(C.meosType(type_)) + return bool(res) +} + + +// SpansetType wraps MEOS C function spanset_type. +func SpansetType(type_ MeosType) bool { + res := C.spanset_type(C.meosType(type_)) + return bool(res) +} + + +// TimespansetType wraps MEOS C function timespanset_type. +func TimespansetType(type_ MeosType) bool { + res := C.timespanset_type(C.meosType(type_)) + return bool(res) +} + + +// EnsureTimespansetType wraps MEOS C function ensure_timespanset_type. +func EnsureTimespansetType(type_ MeosType) bool { + res := C.ensure_timespanset_type(C.meosType(type_)) + return bool(res) +} + + +// TemporalType wraps MEOS C function temporal_type. +func TemporalType(type_ MeosType) bool { + res := C.temporal_type(C.meosType(type_)) + return bool(res) +} + + +// TemporalBasetype wraps MEOS C function temporal_basetype. +func TemporalBasetype(type_ MeosType) bool { + res := C.temporal_basetype(C.meosType(type_)) + return bool(res) +} + + +// TemptypeContinuous wraps MEOS C function temptype_continuous. +func TemptypeContinuous(type_ MeosType) bool { + res := C.temptype_continuous(C.meosType(type_)) + return bool(res) +} + + +// BasetypeByvalue wraps MEOS C function basetype_byvalue. +func BasetypeByvalue(type_ MeosType) bool { + res := C.basetype_byvalue(C.meosType(type_)) + return bool(res) +} + + +// BasetypeVarlength wraps MEOS C function basetype_varlength. +func BasetypeVarlength(type_ MeosType) bool { + res := C.basetype_varlength(C.meosType(type_)) + return bool(res) +} + + +// BasetypeLength wraps MEOS C function basetype_length. +func BasetypeLength(type_ MeosType) int16 { + res := C.basetype_length(C.meosType(type_)) + return int16(res) +} + + +// TalphanumType wraps MEOS C function talphanum_type. +func TalphanumType(type_ MeosType) bool { + res := C.talphanum_type(C.meosType(type_)) + return bool(res) +} + + +// TalphaType wraps MEOS C function talpha_type. +func TalphaType(type_ MeosType) bool { + res := C.talpha_type(C.meosType(type_)) + return bool(res) +} + + +// TnumberType wraps MEOS C function tnumber_type. +func TnumberType(type_ MeosType) bool { + res := C.tnumber_type(C.meosType(type_)) + return bool(res) +} + + +// EnsureTnumberType wraps MEOS C function ensure_tnumber_type. +func EnsureTnumberType(type_ MeosType) bool { + res := C.ensure_tnumber_type(C.meosType(type_)) + return bool(res) +} + + +// EnsureTnumberBasetype wraps MEOS C function ensure_tnumber_basetype. +func EnsureTnumberBasetype(type_ MeosType) bool { + res := C.ensure_tnumber_basetype(C.meosType(type_)) + return bool(res) +} + + +// TnumberSpantype wraps MEOS C function tnumber_spantype. +func TnumberSpantype(type_ MeosType) bool { + res := C.tnumber_spantype(C.meosType(type_)) + return bool(res) +} + + +// SpatialBasetype wraps MEOS C function spatial_basetype. +func SpatialBasetype(type_ MeosType) bool { + res := C.spatial_basetype(C.meosType(type_)) + return bool(res) +} + + +// TspatialType wraps MEOS C function tspatial_type. +func TspatialType(type_ MeosType) bool { + res := C.tspatial_type(C.meosType(type_)) + return bool(res) +} + + +// EnsureTspatialType wraps MEOS C function ensure_tspatial_type. +func EnsureTspatialType(type_ MeosType) bool { + res := C.ensure_tspatial_type(C.meosType(type_)) + return bool(res) +} + + +// TpointType wraps MEOS C function tpoint_type. +func TpointType(type_ MeosType) bool { + res := C.tpoint_type(C.meosType(type_)) + return bool(res) +} + + +// EnsureTpointType wraps MEOS C function ensure_tpoint_type. +func EnsureTpointType(type_ MeosType) bool { + res := C.ensure_tpoint_type(C.meosType(type_)) + return bool(res) +} + + +// TgeoType wraps MEOS C function tgeo_type. +func TgeoType(type_ MeosType) bool { + res := C.tgeo_type(C.meosType(type_)) + return bool(res) +} + + +// EnsureTgeoType wraps MEOS C function ensure_tgeo_type. +func EnsureTgeoType(type_ MeosType) bool { + res := C.ensure_tgeo_type(C.meosType(type_)) + return bool(res) +} + + +// TgeoTypeAll wraps MEOS C function tgeo_type_all. +func TgeoTypeAll(type_ MeosType) bool { + res := C.tgeo_type_all(C.meosType(type_)) + return bool(res) +} + + +// EnsureTgeoTypeAll wraps MEOS C function ensure_tgeo_type_all. +func EnsureTgeoTypeAll(type_ MeosType) bool { + res := C.ensure_tgeo_type_all(C.meosType(type_)) + return bool(res) +} + + +// TgeometryType wraps MEOS C function tgeometry_type. +func TgeometryType(type_ MeosType) bool { + res := C.tgeometry_type(C.meosType(type_)) + return bool(res) +} + + +// EnsureTgeometryType wraps MEOS C function ensure_tgeometry_type. +func EnsureTgeometryType(type_ MeosType) bool { + res := C.ensure_tgeometry_type(C.meosType(type_)) + return bool(res) +} + + +// TgeodeticType wraps MEOS C function tgeodetic_type. +func TgeodeticType(type_ MeosType) bool { + res := C.tgeodetic_type(C.meosType(type_)) + return bool(res) +} + + +// EnsureTgeodeticType wraps MEOS C function ensure_tgeodetic_type. +func EnsureTgeodeticType(type_ MeosType) bool { + res := C.ensure_tgeodetic_type(C.meosType(type_)) + return bool(res) +} + + +// EnsureTnumberTpointType wraps MEOS C function ensure_tnumber_tpoint_type. +func EnsureTnumberTpointType(type_ MeosType) bool { + res := C.ensure_tnumber_tpoint_type(C.meosType(type_)) + return bool(res) +} + diff --git a/tools/_preview/meos_meos_geo.go b/tools/_preview/meos_meos_geo.go new file mode 100644 index 0000000..7551420 --- /dev/null +++ b/tools/_preview/meos_meos_geo.go @@ -0,0 +1,2805 @@ +package generated + +// #include +import "C" +import ( + "unsafe" + + "github.com/leekchan/timeutil" +) + +var _ = unsafe.Pointer(nil) +var _ = timeutil.Timedelta{} + +// GeoGetSRID wraps MEOS C function geo_get_srid. +func GeoGetSRID(g *Geom) int32 { + res := C.geo_get_srid(g._inner) + return int32(res) +} + + +// TODO geo_as_ewkb: unsupported return type uint8_t * +// func GeoAsEWKB(...) { /* not yet handled by codegen */ } + + +// GeoAsEWKT wraps MEOS C function geo_as_ewkt. +func GeoAsEWKT(gs *Geom, precision int) string { + res := C.geo_as_ewkt(gs._inner, C.int(precision)) + return C.GoString(res) +} + + +// GeoAsGeojson wraps MEOS C function geo_as_geojson. +func GeoAsGeojson(gs *Geom, option int, precision int, srs string) string { + _c_srs := C.CString(srs) + defer C.free(unsafe.Pointer(_c_srs)) + res := C.geo_as_geojson(gs._inner, C.int(option), C.int(precision), _c_srs) + return C.GoString(res) +} + + +// GeoAsHexewkb wraps MEOS C function geo_as_hexewkb. +func GeoAsHexewkb(gs *Geom, endian string) string { + _c_endian := C.CString(endian) + defer C.free(unsafe.Pointer(_c_endian)) + res := C.geo_as_hexewkb(gs._inner, _c_endian) + return C.GoString(res) +} + + +// GeoAsText wraps MEOS C function geo_as_text. +func GeoAsText(gs *Geom, precision int) string { + res := C.geo_as_text(gs._inner, C.int(precision)) + return C.GoString(res) +} + + +// TODO geo_from_ewkb: unsupported param const uint8_t * +// func GeoFromEWKB(...) { /* not yet handled by codegen */ } + + +// GeoFromGeojson wraps MEOS C function geo_from_geojson. +func GeoFromGeojson(geojson string) *Geom { + _c_geojson := C.CString(geojson) + defer C.free(unsafe.Pointer(_c_geojson)) + res := C.geo_from_geojson(_c_geojson) + return &Geom{_inner: res} +} + + +// GeoFromText wraps MEOS C function geo_from_text. +func GeoFromText(wkt string, srid int32) *Geom { + _c_wkt := C.CString(wkt) + defer C.free(unsafe.Pointer(_c_wkt)) + res := C.geo_from_text(_c_wkt, C.int32_t(srid)) + return &Geom{_inner: res} +} + + +// GeoOut wraps MEOS C function geo_out. +func GeoOut(gs *Geom) string { + res := C.geo_out(gs._inner) + return C.GoString(res) +} + + +// GeogFromBinary wraps MEOS C function geog_from_binary. +func GeogFromBinary(wkb_bytea string) *Geom { + _c_wkb_bytea := C.CString(wkb_bytea) + defer C.free(unsafe.Pointer(_c_wkb_bytea)) + res := C.geog_from_binary(_c_wkb_bytea) + return &Geom{_inner: res} +} + + +// GeogFromHexewkb wraps MEOS C function geog_from_hexewkb. +func GeogFromHexewkb(wkt string) *Geom { + _c_wkt := C.CString(wkt) + defer C.free(unsafe.Pointer(_c_wkt)) + res := C.geog_from_hexewkb(_c_wkt) + return &Geom{_inner: res} +} + + +// GeogIn wraps MEOS C function geog_in. +func GeogIn(str string, typmod int32) *Geom { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.geog_in(_c_str, C.int32(typmod)) + return &Geom{_inner: res} +} + + +// GeomFromHexewkb wraps MEOS C function geom_from_hexewkb. +func GeomFromHexewkb(wkt string) *Geom { + _c_wkt := C.CString(wkt) + defer C.free(unsafe.Pointer(_c_wkt)) + res := C.geom_from_hexewkb(_c_wkt) + return &Geom{_inner: res} +} + + +// GeomIn wraps MEOS C function geom_in. +func GeomIn(str string, typmod int32) *Geom { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.geom_in(_c_str, C.int32(typmod)) + return &Geom{_inner: res} +} + + +// TODO box3d_make: unsupported return type BOX3D * +// func Box3dMake(...) { /* not yet handled by codegen */ } + + +// TODO box3d_out: unsupported param const BOX3D * +// func Box3dOut(...) { /* not yet handled by codegen */ } + + +// TODO gbox_make: unsupported return type GBOX * +// func GboxMake(...) { /* not yet handled by codegen */ } + + +// TODO gbox_out: unsupported param const GBOX * +// func GboxOut(...) { /* not yet handled by codegen */ } + + +// GeoCopy wraps MEOS C function geo_copy. +func GeoCopy(g *Geom) *Geom { + res := C.geo_copy(g._inner) + return &Geom{_inner: res} +} + + +// GeogpointMake2d wraps MEOS C function geogpoint_make2d. +func GeogpointMake2d(srid int32, x float64, y float64) *Geom { + res := C.geogpoint_make2d(C.int32_t(srid), C.double(x), C.double(y)) + return &Geom{_inner: res} +} + + +// GeogpointMake3dz wraps MEOS C function geogpoint_make3dz. +func GeogpointMake3dz(srid int32, x float64, y float64, z float64) *Geom { + res := C.geogpoint_make3dz(C.int32_t(srid), C.double(x), C.double(y), C.double(z)) + return &Geom{_inner: res} +} + + +// GeompointMake2d wraps MEOS C function geompoint_make2d. +func GeompointMake2d(srid int32, x float64, y float64) *Geom { + res := C.geompoint_make2d(C.int32_t(srid), C.double(x), C.double(y)) + return &Geom{_inner: res} +} + + +// GeompointMake3dz wraps MEOS C function geompoint_make3dz. +func GeompointMake3dz(srid int32, x float64, y float64, z float64) *Geom { + res := C.geompoint_make3dz(C.int32_t(srid), C.double(x), C.double(y), C.double(z)) + return &Geom{_inner: res} +} + + +// GeomToGeog wraps MEOS C function geom_to_geog. +func GeomToGeog(geom *Geom) *Geom { + res := C.geom_to_geog(geom._inner) + return &Geom{_inner: res} +} + + +// GeogToGeom wraps MEOS C function geog_to_geom. +func GeogToGeom(geog *Geom) *Geom { + res := C.geog_to_geom(geog._inner) + return &Geom{_inner: res} +} + + +// GeoIsEmpty wraps MEOS C function geo_is_empty. +func GeoIsEmpty(g *Geom) bool { + res := C.geo_is_empty(g._inner) + return bool(res) +} + + +// GeoIsUnitary wraps MEOS C function geo_is_unitary. +func GeoIsUnitary(gs *Geom) bool { + res := C.geo_is_unitary(gs._inner) + return bool(res) +} + + +// GeoTypename wraps MEOS C function geo_typename. +func GeoTypename(type_ int) string { + res := C.geo_typename(C.int(type_)) + return C.GoString(res) +} + + +// GeogArea wraps MEOS C function geog_area. +func GeogArea(g *Geom, use_spheroid bool) float64 { + res := C.geog_area(g._inner, C.bool(use_spheroid)) + return float64(res) +} + + +// GeogCentroid wraps MEOS C function geog_centroid. +func GeogCentroid(g *Geom, use_spheroid bool) *Geom { + res := C.geog_centroid(g._inner, C.bool(use_spheroid)) + return &Geom{_inner: res} +} + + +// GeogLength wraps MEOS C function geog_length. +func GeogLength(g *Geom, use_spheroid bool) float64 { + res := C.geog_length(g._inner, C.bool(use_spheroid)) + return float64(res) +} + + +// GeogPerimeter wraps MEOS C function geog_perimeter. +func GeogPerimeter(g *Geom, use_spheroid bool) float64 { + res := C.geog_perimeter(g._inner, C.bool(use_spheroid)) + return float64(res) +} + + +// TODO geom_azimuth: unsupported param double * +// func GeomAzimuth(...) { /* not yet handled by codegen */ } + + +// GeomLength wraps MEOS C function geom_length. +func GeomLength(gs *Geom) float64 { + res := C.geom_length(gs._inner) + return float64(res) +} + + +// GeomPerimeter wraps MEOS C function geom_perimeter. +func GeomPerimeter(gs *Geom) float64 { + res := C.geom_perimeter(gs._inner) + return float64(res) +} + + +// LineNumpoints wraps MEOS C function line_numpoints. +func LineNumpoints(gs *Geom) int { + res := C.line_numpoints(gs._inner) + return int(res) +} + + +// LinePointN wraps MEOS C function line_point_n. +func LinePointN(geom *Geom, n int) *Geom { + res := C.line_point_n(geom._inner, C.int(n)) + return &Geom{_inner: res} +} + + +// GeoReverse wraps MEOS C function geo_reverse. +func GeoReverse(gs *Geom) *Geom { + res := C.geo_reverse(gs._inner) + return &Geom{_inner: res} +} + + +// GeoRound wraps MEOS C function geo_round. +func GeoRound(gs *Geom, maxdd int) *Geom { + res := C.geo_round(gs._inner, C.int(maxdd)) + return &Geom{_inner: res} +} + + +// GeoSetSRID wraps MEOS C function geo_set_srid. +func GeoSetSRID(gs *Geom, srid int32) *Geom { + res := C.geo_set_srid(gs._inner, C.int32_t(srid)) + return &Geom{_inner: res} +} + + +// GeoSRID wraps MEOS C function geo_srid. +func GeoSRID(gs *Geom) int32 { + res := C.geo_srid(gs._inner) + return int32(res) +} + + +// GeoTransform wraps MEOS C function geo_transform. +func GeoTransform(geom *Geom, srid_to int32) *Geom { + res := C.geo_transform(geom._inner, C.int32_t(srid_to)) + return &Geom{_inner: res} +} + + +// GeoTransformPipeline wraps MEOS C function geo_transform_pipeline. +func GeoTransformPipeline(gs *Geom, pipeline string, srid_to int32, is_forward bool) *Geom { + _c_pipeline := C.CString(pipeline) + defer C.free(unsafe.Pointer(_c_pipeline)) + res := C.geo_transform_pipeline(gs._inner, _c_pipeline, C.int32_t(srid_to), C.bool(is_forward)) + return &Geom{_inner: res} +} + + +// TODO geo_collect_garray: unsupported param GSERIALIZED ** +// func GeoCollectGarray(...) { /* not yet handled by codegen */ } + + +// TODO geo_makeline_garray: unsupported param GSERIALIZED ** +// func GeoMakelineGarray(...) { /* not yet handled by codegen */ } + + +// GeoNumPoints wraps MEOS C function geo_num_points. +func GeoNumPoints(gs *Geom) int { + res := C.geo_num_points(gs._inner) + return int(res) +} + + +// GeoNumGeos wraps MEOS C function geo_num_geos. +func GeoNumGeos(gs *Geom) int { + res := C.geo_num_geos(gs._inner) + return int(res) +} + + +// GeoGeoN wraps MEOS C function geo_geo_n. +func GeoGeoN(geom *Geom, n int) *Geom { + res := C.geo_geo_n(geom._inner, C.int(n)) + return &Geom{_inner: res} +} + + +// TODO geo_pointarr: unsupported return type GSERIALIZED ** +// func GeoPointarr(...) { /* not yet handled by codegen */ } + + +// GeoPoints wraps MEOS C function geo_points. +func GeoPoints(gs *Geom) *Geom { + res := C.geo_points(gs._inner) + return &Geom{_inner: res} +} + + +// TODO geom_array_union: unsupported param GSERIALIZED ** +// func GeomArrayUnion(...) { /* not yet handled by codegen */ } + + +// GeomBoundary wraps MEOS C function geom_boundary. +func GeomBoundary(gs *Geom) *Geom { + res := C.geom_boundary(gs._inner) + return &Geom{_inner: res} +} + + +// GeomBuffer wraps MEOS C function geom_buffer. +func GeomBuffer(gs *Geom, size float64, params string) *Geom { + _c_params := C.CString(params) + defer C.free(unsafe.Pointer(_c_params)) + res := C.geom_buffer(gs._inner, C.double(size), _c_params) + return &Geom{_inner: res} +} + + +// GeomCentroid wraps MEOS C function geom_centroid. +func GeomCentroid(gs *Geom) *Geom { + res := C.geom_centroid(gs._inner) + return &Geom{_inner: res} +} + + +// GeomConvexHull wraps MEOS C function geom_convex_hull. +func GeomConvexHull(gs *Geom) *Geom { + res := C.geom_convex_hull(gs._inner) + return &Geom{_inner: res} +} + + +// GeomDifference2d wraps MEOS C function geom_difference2d. +func GeomDifference2d(gs1 *Geom, gs2 *Geom) *Geom { + res := C.geom_difference2d(gs1._inner, gs2._inner) + return &Geom{_inner: res} +} + + +// GeomIntersection2d wraps MEOS C function geom_intersection2d. +func GeomIntersection2d(gs1 *Geom, gs2 *Geom) *Geom { + res := C.geom_intersection2d(gs1._inner, gs2._inner) + return &Geom{_inner: res} +} + + +// GeomIntersection2dColl wraps MEOS C function geom_intersection2d_coll. +func GeomIntersection2dColl(gs1 *Geom, gs2 *Geom) *Geom { + res := C.geom_intersection2d_coll(gs1._inner, gs2._inner) + return &Geom{_inner: res} +} + + +// TODO geom_min_bounding_radius: unsupported param double * +// func GeomMinBoundingRadius(...) { /* not yet handled by codegen */ } + + +// GeomShortestline2d wraps MEOS C function geom_shortestline2d. +func GeomShortestline2d(gs1 *Geom, s2 *Geom) *Geom { + res := C.geom_shortestline2d(gs1._inner, s2._inner) + return &Geom{_inner: res} +} + + +// GeomShortestline3d wraps MEOS C function geom_shortestline3d. +func GeomShortestline3d(gs1 *Geom, s2 *Geom) *Geom { + res := C.geom_shortestline3d(gs1._inner, s2._inner) + return &Geom{_inner: res} +} + + +// GeomUnaryUnion wraps MEOS C function geom_unary_union. +func GeomUnaryUnion(gs *Geom, prec float64) *Geom { + res := C.geom_unary_union(gs._inner, C.double(prec)) + return &Geom{_inner: res} +} + + +// LineInterpolatePoint wraps MEOS C function line_interpolate_point. +func LineInterpolatePoint(gs *Geom, distance_fraction float64, repeat bool) *Geom { + res := C.line_interpolate_point(gs._inner, C.double(distance_fraction), C.bool(repeat)) + return &Geom{_inner: res} +} + + +// LineLocatePoint wraps MEOS C function line_locate_point. +func LineLocatePoint(gs1 *Geom, gs2 *Geom) float64 { + res := C.line_locate_point(gs1._inner, gs2._inner) + return float64(res) +} + + +// LineSubstring wraps MEOS C function line_substring. +func LineSubstring(gs *Geom, from float64, to float64) *Geom { + res := C.line_substring(gs._inner, C.double(from), C.double(to)) + return &Geom{_inner: res} +} + + +// GeogDwithin wraps MEOS C function geog_dwithin. +func GeogDwithin(g1 *Geom, g2 *Geom, tolerance float64, use_spheroid bool) bool { + res := C.geog_dwithin(g1._inner, g2._inner, C.double(tolerance), C.bool(use_spheroid)) + return bool(res) +} + + +// GeogIntersects wraps MEOS C function geog_intersects. +func GeogIntersects(gs1 *Geom, gs2 *Geom, use_spheroid bool) bool { + res := C.geog_intersects(gs1._inner, gs2._inner, C.bool(use_spheroid)) + return bool(res) +} + + +// GeomContains wraps MEOS C function geom_contains. +func GeomContains(gs1 *Geom, gs2 *Geom) bool { + res := C.geom_contains(gs1._inner, gs2._inner) + return bool(res) +} + + +// GeomCovers wraps MEOS C function geom_covers. +func GeomCovers(gs1 *Geom, gs2 *Geom) bool { + res := C.geom_covers(gs1._inner, gs2._inner) + return bool(res) +} + + +// GeomDisjoint2d wraps MEOS C function geom_disjoint2d. +func GeomDisjoint2d(gs1 *Geom, gs2 *Geom) bool { + res := C.geom_disjoint2d(gs1._inner, gs2._inner) + return bool(res) +} + + +// GeomDwithin2d wraps MEOS C function geom_dwithin2d. +func GeomDwithin2d(gs1 *Geom, gs2 *Geom, tolerance float64) bool { + res := C.geom_dwithin2d(gs1._inner, gs2._inner, C.double(tolerance)) + return bool(res) +} + + +// GeomDwithin3d wraps MEOS C function geom_dwithin3d. +func GeomDwithin3d(gs1 *Geom, gs2 *Geom, tolerance float64) bool { + res := C.geom_dwithin3d(gs1._inner, gs2._inner, C.double(tolerance)) + return bool(res) +} + + +// GeomIntersects2d wraps MEOS C function geom_intersects2d. +func GeomIntersects2d(gs1 *Geom, gs2 *Geom) bool { + res := C.geom_intersects2d(gs1._inner, gs2._inner) + return bool(res) +} + + +// GeomIntersects3d wraps MEOS C function geom_intersects3d. +func GeomIntersects3d(gs1 *Geom, gs2 *Geom) bool { + res := C.geom_intersects3d(gs1._inner, gs2._inner) + return bool(res) +} + + +// GeomRelatePattern wraps MEOS C function geom_relate_pattern. +func GeomRelatePattern(gs1 *Geom, gs2 *Geom, patt string) bool { + _c_patt := C.CString(patt) + defer C.free(unsafe.Pointer(_c_patt)) + res := C.geom_relate_pattern(gs1._inner, gs2._inner, _c_patt) + return bool(res) +} + + +// GeomTouches wraps MEOS C function geom_touches. +func GeomTouches(gs1 *Geom, gs2 *Geom) bool { + res := C.geom_touches(gs1._inner, gs2._inner) + return bool(res) +} + + +// TODO geo_stboxes: unsupported param int * +// func GeoStboxes(...) { /* not yet handled by codegen */ } + + +// TODO geo_split_each_n_stboxes: unsupported param int * +// func GeoSplitEachNStboxes(...) { /* not yet handled by codegen */ } + + +// TODO geo_split_n_stboxes: unsupported param int * +// func GeoSplitNStboxes(...) { /* not yet handled by codegen */ } + + +// GeogDistance wraps MEOS C function geog_distance. +func GeogDistance(g1 *Geom, g2 *Geom) float64 { + res := C.geog_distance(g1._inner, g2._inner) + return float64(res) +} + + +// GeomDistance2d wraps MEOS C function geom_distance2d. +func GeomDistance2d(gs1 *Geom, gs2 *Geom) float64 { + res := C.geom_distance2d(gs1._inner, gs2._inner) + return float64(res) +} + + +// GeomDistance3d wraps MEOS C function geom_distance3d. +func GeomDistance3d(gs1 *Geom, gs2 *Geom) float64 { + res := C.geom_distance3d(gs1._inner, gs2._inner) + return float64(res) +} + + +// GeoEquals wraps MEOS C function geo_equals. +func GeoEquals(gs1 *Geom, gs2 *Geom) int { + res := C.geo_equals(gs1._inner, gs2._inner) + return int(res) +} + + +// GeoSame wraps MEOS C function geo_same. +func GeoSame(gs1 *Geom, gs2 *Geom) bool { + res := C.geo_same(gs1._inner, gs2._inner) + return bool(res) +} + + +// GeogsetIn wraps MEOS C function geogset_in. +func GeogsetIn(str string) *Set { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.geogset_in(_c_str) + return &Set{_inner: res} +} + + +// GeomsetIn wraps MEOS C function geomset_in. +func GeomsetIn(str string) *Set { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.geomset_in(_c_str) + return &Set{_inner: res} +} + + +// SpatialsetAsText wraps MEOS C function spatialset_as_text. +func SpatialsetAsText(set *Set, maxdd int) string { + res := C.spatialset_as_text(set._inner, C.int(maxdd)) + return C.GoString(res) +} + + +// SpatialsetAsEWKT wraps MEOS C function spatialset_as_ewkt. +func SpatialsetAsEWKT(set *Set, maxdd int) string { + res := C.spatialset_as_ewkt(set._inner, C.int(maxdd)) + return C.GoString(res) +} + + +// TODO geoset_make: unsupported param GSERIALIZED ** +// func GeosetMake(...) { /* not yet handled by codegen */ } + + +// GeoToSet wraps MEOS C function geo_to_set. +func GeoToSet(gs *Geom) *Set { + res := C.geo_to_set(gs._inner) + return &Set{_inner: res} +} + + +// GeosetEndValue wraps MEOS C function geoset_end_value. +func GeosetEndValue(s *Set) *Geom { + res := C.geoset_end_value(s._inner) + return &Geom{_inner: res} +} + + +// GeosetStartValue wraps MEOS C function geoset_start_value. +func GeosetStartValue(s *Set) *Geom { + res := C.geoset_start_value(s._inner) + return &Geom{_inner: res} +} + + +// TODO geoset_value_n: unsupported param GSERIALIZED ** +// func GeosetValueN(...) { /* not yet handled by codegen */ } + + +// TODO geoset_values: unsupported return type GSERIALIZED ** +// func GeosetValues(...) { /* not yet handled by codegen */ } + + +// ContainedGeoSet wraps MEOS C function contained_geo_set. +func ContainedGeoSet(gs *Geom, s *Set) bool { + res := C.contained_geo_set(gs._inner, s._inner) + return bool(res) +} + + +// ContainsSetGeo wraps MEOS C function contains_set_geo. +func ContainsSetGeo(s *Set, gs *Geom) bool { + res := C.contains_set_geo(s._inner, gs._inner) + return bool(res) +} + + +// GeoUnionTransfn wraps MEOS C function geo_union_transfn. +func GeoUnionTransfn(state *Set, gs *Geom) *Set { + res := C.geo_union_transfn(state._inner, gs._inner) + return &Set{_inner: res} +} + + +// IntersectionGeoSet wraps MEOS C function intersection_geo_set. +func IntersectionGeoSet(gs *Geom, s *Set) *Set { + res := C.intersection_geo_set(gs._inner, s._inner) + return &Set{_inner: res} +} + + +// IntersectionSetGeo wraps MEOS C function intersection_set_geo. +func IntersectionSetGeo(s *Set, gs *Geom) *Set { + res := C.intersection_set_geo(s._inner, gs._inner) + return &Set{_inner: res} +} + + +// MinusGeoSet wraps MEOS C function minus_geo_set. +func MinusGeoSet(gs *Geom, s *Set) *Set { + res := C.minus_geo_set(gs._inner, s._inner) + return &Set{_inner: res} +} + + +// MinusSetGeo wraps MEOS C function minus_set_geo. +func MinusSetGeo(s *Set, gs *Geom) *Set { + res := C.minus_set_geo(s._inner, gs._inner) + return &Set{_inner: res} +} + + +// UnionGeoSet wraps MEOS C function union_geo_set. +func UnionGeoSet(gs *Geom, s *Set) *Set { + res := C.union_geo_set(gs._inner, s._inner) + return &Set{_inner: res} +} + + +// UnionSetGeo wraps MEOS C function union_set_geo. +func UnionSetGeo(s *Set, gs *Geom) *Set { + res := C.union_set_geo(s._inner, gs._inner) + return &Set{_inner: res} +} + + +// SpatialsetSetSRID wraps MEOS C function spatialset_set_srid. +func SpatialsetSetSRID(s *Set, srid int32) *Set { + res := C.spatialset_set_srid(s._inner, C.int32_t(srid)) + return &Set{_inner: res} +} + + +// SpatialsetSRID wraps MEOS C function spatialset_srid. +func SpatialsetSRID(s *Set) int32 { + res := C.spatialset_srid(s._inner) + return int32(res) +} + + +// SpatialsetTransform wraps MEOS C function spatialset_transform. +func SpatialsetTransform(s *Set, srid int32) *Set { + res := C.spatialset_transform(s._inner, C.int32_t(srid)) + return &Set{_inner: res} +} + + +// SpatialsetTransformPipeline wraps MEOS C function spatialset_transform_pipeline. +func SpatialsetTransformPipeline(s *Set, pipelinestr string, srid int32, is_forward bool) *Set { + _c_pipelinestr := C.CString(pipelinestr) + defer C.free(unsafe.Pointer(_c_pipelinestr)) + res := C.spatialset_transform_pipeline(s._inner, _c_pipelinestr, C.int32_t(srid), C.bool(is_forward)) + return &Set{_inner: res} +} + + +// TODO stbox_as_hexwkb: unsupported param size_t * +// func STBOXAsHexwkb(...) { /* not yet handled by codegen */ } + + +// TODO stbox_as_wkb: unsupported return type uint8_t * +// func STBOXAsWKB(...) { /* not yet handled by codegen */ } + + +// STBOXFromHexwkb wraps MEOS C function stbox_from_hexwkb. +func STBOXFromHexwkb(hexwkb string) *STBox { + _c_hexwkb := C.CString(hexwkb) + defer C.free(unsafe.Pointer(_c_hexwkb)) + res := C.stbox_from_hexwkb(_c_hexwkb) + return &STBox{_inner: res} +} + + +// TODO stbox_from_wkb: unsupported param const uint8_t * +// func STBOXFromWKB(...) { /* not yet handled by codegen */ } + + +// STBOXIn wraps MEOS C function stbox_in. +func STBOXIn(str string) *STBox { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.stbox_in(_c_str) + return &STBox{_inner: res} +} + + +// STBOXOut wraps MEOS C function stbox_out. +func STBOXOut(box *STBox, maxdd int) string { + res := C.stbox_out(box._inner, C.int(maxdd)) + return C.GoString(res) +} + + +// GeoTimestamptzToSTBOX wraps MEOS C function geo_timestamptz_to_stbox. +func GeoTimestamptzToSTBOX(gs *Geom, t int64) *STBox { + res := C.geo_timestamptz_to_stbox(gs._inner, C.TimestampTz(t)) + return &STBox{_inner: res} +} + + +// GeoTstzspanToSTBOX wraps MEOS C function geo_tstzspan_to_stbox. +func GeoTstzspanToSTBOX(gs *Geom, s *Span) *STBox { + res := C.geo_tstzspan_to_stbox(gs._inner, s._inner) + return &STBox{_inner: res} +} + + +// STBOXCopy wraps MEOS C function stbox_copy. +func STBOXCopy(box *STBox) *STBox { + res := C.stbox_copy(box._inner) + return &STBox{_inner: res} +} + + +// STBOXMake wraps MEOS C function stbox_make. +func STBOXMake(hasx bool, hasz bool, geodetic bool, srid int32, xmin float64, xmax float64, ymin float64, ymax float64, zmin float64, zmax float64, s *Span) *STBox { + res := C.stbox_make(C.bool(hasx), C.bool(hasz), C.bool(geodetic), C.int32(srid), C.double(xmin), C.double(xmax), C.double(ymin), C.double(ymax), C.double(zmin), C.double(zmax), s._inner) + return &STBox{_inner: res} +} + + +// GeoToSTBOX wraps MEOS C function geo_to_stbox. +func GeoToSTBOX(gs *Geom) *STBox { + res := C.geo_to_stbox(gs._inner) + return &STBox{_inner: res} +} + + +// SpatialsetToSTBOX wraps MEOS C function spatialset_to_stbox. +func SpatialsetToSTBOX(s *Set) *STBox { + res := C.spatialset_to_stbox(s._inner) + return &STBox{_inner: res} +} + + +// TODO stbox_to_box3d: unsupported return type BOX3D * +// func STBOXToBox3d(...) { /* not yet handled by codegen */ } + + +// TODO stbox_to_gbox: unsupported return type GBOX * +// func STBOXToGbox(...) { /* not yet handled by codegen */ } + + +// STBOXToGeo wraps MEOS C function stbox_to_geo. +func STBOXToGeo(box *STBox) *Geom { + res := C.stbox_to_geo(box._inner) + return &Geom{_inner: res} +} + + +// STBOXToTstzspan wraps MEOS C function stbox_to_tstzspan. +func STBOXToTstzspan(box *STBox) *Span { + res := C.stbox_to_tstzspan(box._inner) + return &Span{_inner: res} +} + + +// TimestamptzToSTBOX wraps MEOS C function timestamptz_to_stbox. +func TimestamptzToSTBOX(t int64) *STBox { + res := C.timestamptz_to_stbox(C.TimestampTz(t)) + return &STBox{_inner: res} +} + + +// TstzsetToSTBOX wraps MEOS C function tstzset_to_stbox. +func TstzsetToSTBOX(s *Set) *STBox { + res := C.tstzset_to_stbox(s._inner) + return &STBox{_inner: res} +} + + +// TstzspanToSTBOX wraps MEOS C function tstzspan_to_stbox. +func TstzspanToSTBOX(s *Span) *STBox { + res := C.tstzspan_to_stbox(s._inner) + return &STBox{_inner: res} +} + + +// TstzspansetToSTBOX wraps MEOS C function tstzspanset_to_stbox. +func TstzspansetToSTBOX(ss *SpanSet) *STBox { + res := C.tstzspanset_to_stbox(ss._inner) + return &STBox{_inner: res} +} + + +// STBOXArea wraps MEOS C function stbox_area. +func STBOXArea(box *STBox, spheroid bool) float64 { + res := C.stbox_area(box._inner, C.bool(spheroid)) + return float64(res) +} + + +// STBOXHash wraps MEOS C function stbox_hash. +func STBOXHash(box *STBox) uint32 { + res := C.stbox_hash(box._inner) + return uint32(res) +} + + +// STBOXHashExtended wraps MEOS C function stbox_hash_extended. +func STBOXHashExtended(box *STBox, seed uint64) uint64 { + res := C.stbox_hash_extended(box._inner, C.uint64(seed)) + return uint64(res) +} + + +// STBOXHast wraps MEOS C function stbox_hast. +func STBOXHast(box *STBox) bool { + res := C.stbox_hast(box._inner) + return bool(res) +} + + +// STBOXHasx wraps MEOS C function stbox_hasx. +func STBOXHasx(box *STBox) bool { + res := C.stbox_hasx(box._inner) + return bool(res) +} + + +// STBOXHasz wraps MEOS C function stbox_hasz. +func STBOXHasz(box *STBox) bool { + res := C.stbox_hasz(box._inner) + return bool(res) +} + + +// STBOXIsgeodetic wraps MEOS C function stbox_isgeodetic. +func STBOXIsgeodetic(box *STBox) bool { + res := C.stbox_isgeodetic(box._inner) + return bool(res) +} + + +// STBOXPerimeter wraps MEOS C function stbox_perimeter. +func STBOXPerimeter(box *STBox, spheroid bool) float64 { + res := C.stbox_perimeter(box._inner, C.bool(spheroid)) + return float64(res) +} + + +// TODO stbox_tmax: unsupported param TimestampTz * +// func STBOXTmax(...) { /* not yet handled by codegen */ } + + +// TODO stbox_tmax_inc: unsupported param bool * +// func STBOXTmaxInc(...) { /* not yet handled by codegen */ } + + +// TODO stbox_tmin: unsupported param TimestampTz * +// func STBOXTmin(...) { /* not yet handled by codegen */ } + + +// TODO stbox_tmin_inc: unsupported param bool * +// func STBOXTminInc(...) { /* not yet handled by codegen */ } + + +// STBOXVolume wraps MEOS C function stbox_volume. +func STBOXVolume(box *STBox) float64 { + res := C.stbox_volume(box._inner) + return float64(res) +} + + +// TODO stbox_xmax: unsupported param double * +// func STBOXXmax(...) { /* not yet handled by codegen */ } + + +// TODO stbox_xmin: unsupported param double * +// func STBOXXmin(...) { /* not yet handled by codegen */ } + + +// TODO stbox_ymax: unsupported param double * +// func STBOXYmax(...) { /* not yet handled by codegen */ } + + +// TODO stbox_ymin: unsupported param double * +// func STBOXYmin(...) { /* not yet handled by codegen */ } + + +// TODO stbox_zmax: unsupported param double * +// func STBOXZmax(...) { /* not yet handled by codegen */ } + + +// TODO stbox_zmin: unsupported param double * +// func STBOXZmin(...) { /* not yet handled by codegen */ } + + +// STBOXExpandSpace wraps MEOS C function stbox_expand_space. +func STBOXExpandSpace(box *STBox, d float64) *STBox { + res := C.stbox_expand_space(box._inner, C.double(d)) + return &STBox{_inner: res} +} + + +// STBOXExpandTime wraps MEOS C function stbox_expand_time. +func STBOXExpandTime(box *STBox, interv timeutil.Timedelta) *STBox { + res := C.stbox_expand_time(box._inner, interv.Inner()) + return &STBox{_inner: res} +} + + +// STBOXGetSpace wraps MEOS C function stbox_get_space. +func STBOXGetSpace(box *STBox) *STBox { + res := C.stbox_get_space(box._inner) + return &STBox{_inner: res} +} + + +// TODO stbox_quad_split: unsupported param int * +// func STBOXQuadSplit(...) { /* not yet handled by codegen */ } + + +// STBOXRound wraps MEOS C function stbox_round. +func STBOXRound(box *STBox, maxdd int) *STBox { + res := C.stbox_round(box._inner, C.int(maxdd)) + return &STBox{_inner: res} +} + + +// STBOXShiftScaleTime wraps MEOS C function stbox_shift_scale_time. +func STBOXShiftScaleTime(box *STBox, shift timeutil.Timedelta, duration timeutil.Timedelta) *STBox { + res := C.stbox_shift_scale_time(box._inner, shift.Inner(), duration.Inner()) + return &STBox{_inner: res} +} + + +// StboxarrRound wraps MEOS C function stboxarr_round. +func StboxarrRound(boxarr *STBox, count int, maxdd int) *STBox { + res := C.stboxarr_round(boxarr._inner, C.int(count), C.int(maxdd)) + return &STBox{_inner: res} +} + + +// STBOXSetSRID wraps MEOS C function stbox_set_srid. +func STBOXSetSRID(box *STBox, srid int32) *STBox { + res := C.stbox_set_srid(box._inner, C.int32_t(srid)) + return &STBox{_inner: res} +} + + +// STBOXSRID wraps MEOS C function stbox_srid. +func STBOXSRID(box *STBox) int32 { + res := C.stbox_srid(box._inner) + return int32(res) +} + + +// STBOXTransform wraps MEOS C function stbox_transform. +func STBOXTransform(box *STBox, srid int32) *STBox { + res := C.stbox_transform(box._inner, C.int32_t(srid)) + return &STBox{_inner: res} +} + + +// STBOXTransformPipeline wraps MEOS C function stbox_transform_pipeline. +func STBOXTransformPipeline(box *STBox, pipelinestr string, srid int32, is_forward bool) *STBox { + _c_pipelinestr := C.CString(pipelinestr) + defer C.free(unsafe.Pointer(_c_pipelinestr)) + res := C.stbox_transform_pipeline(box._inner, _c_pipelinestr, C.int32_t(srid), C.bool(is_forward)) + return &STBox{_inner: res} +} + + +// AdjacentSTBOXSTBOX wraps MEOS C function adjacent_stbox_stbox. +func AdjacentSTBOXSTBOX(box1 *STBox, box2 *STBox) bool { + res := C.adjacent_stbox_stbox(box1._inner, box2._inner) + return bool(res) +} + + +// ContainedSTBOXSTBOX wraps MEOS C function contained_stbox_stbox. +func ContainedSTBOXSTBOX(box1 *STBox, box2 *STBox) bool { + res := C.contained_stbox_stbox(box1._inner, box2._inner) + return bool(res) +} + + +// ContainsSTBOXSTBOX wraps MEOS C function contains_stbox_stbox. +func ContainsSTBOXSTBOX(box1 *STBox, box2 *STBox) bool { + res := C.contains_stbox_stbox(box1._inner, box2._inner) + return bool(res) +} + + +// OverlapsSTBOXSTBOX wraps MEOS C function overlaps_stbox_stbox. +func OverlapsSTBOXSTBOX(box1 *STBox, box2 *STBox) bool { + res := C.overlaps_stbox_stbox(box1._inner, box2._inner) + return bool(res) +} + + +// SameSTBOXSTBOX wraps MEOS C function same_stbox_stbox. +func SameSTBOXSTBOX(box1 *STBox, box2 *STBox) bool { + res := C.same_stbox_stbox(box1._inner, box2._inner) + return bool(res) +} + + +// AboveSTBOXSTBOX wraps MEOS C function above_stbox_stbox. +func AboveSTBOXSTBOX(box1 *STBox, box2 *STBox) bool { + res := C.above_stbox_stbox(box1._inner, box2._inner) + return bool(res) +} + + +// AfterSTBOXSTBOX wraps MEOS C function after_stbox_stbox. +func AfterSTBOXSTBOX(box1 *STBox, box2 *STBox) bool { + res := C.after_stbox_stbox(box1._inner, box2._inner) + return bool(res) +} + + +// BackSTBOXSTBOX wraps MEOS C function back_stbox_stbox. +func BackSTBOXSTBOX(box1 *STBox, box2 *STBox) bool { + res := C.back_stbox_stbox(box1._inner, box2._inner) + return bool(res) +} + + +// BeforeSTBOXSTBOX wraps MEOS C function before_stbox_stbox. +func BeforeSTBOXSTBOX(box1 *STBox, box2 *STBox) bool { + res := C.before_stbox_stbox(box1._inner, box2._inner) + return bool(res) +} + + +// BelowSTBOXSTBOX wraps MEOS C function below_stbox_stbox. +func BelowSTBOXSTBOX(box1 *STBox, box2 *STBox) bool { + res := C.below_stbox_stbox(box1._inner, box2._inner) + return bool(res) +} + + +// FrontSTBOXSTBOX wraps MEOS C function front_stbox_stbox. +func FrontSTBOXSTBOX(box1 *STBox, box2 *STBox) bool { + res := C.front_stbox_stbox(box1._inner, box2._inner) + return bool(res) +} + + +// LeftSTBOXSTBOX wraps MEOS C function left_stbox_stbox. +func LeftSTBOXSTBOX(box1 *STBox, box2 *STBox) bool { + res := C.left_stbox_stbox(box1._inner, box2._inner) + return bool(res) +} + + +// OveraboveSTBOXSTBOX wraps MEOS C function overabove_stbox_stbox. +func OveraboveSTBOXSTBOX(box1 *STBox, box2 *STBox) bool { + res := C.overabove_stbox_stbox(box1._inner, box2._inner) + return bool(res) +} + + +// OverafterSTBOXSTBOX wraps MEOS C function overafter_stbox_stbox. +func OverafterSTBOXSTBOX(box1 *STBox, box2 *STBox) bool { + res := C.overafter_stbox_stbox(box1._inner, box2._inner) + return bool(res) +} + + +// OverbackSTBOXSTBOX wraps MEOS C function overback_stbox_stbox. +func OverbackSTBOXSTBOX(box1 *STBox, box2 *STBox) bool { + res := C.overback_stbox_stbox(box1._inner, box2._inner) + return bool(res) +} + + +// OverbeforeSTBOXSTBOX wraps MEOS C function overbefore_stbox_stbox. +func OverbeforeSTBOXSTBOX(box1 *STBox, box2 *STBox) bool { + res := C.overbefore_stbox_stbox(box1._inner, box2._inner) + return bool(res) +} + + +// OverbelowSTBOXSTBOX wraps MEOS C function overbelow_stbox_stbox. +func OverbelowSTBOXSTBOX(box1 *STBox, box2 *STBox) bool { + res := C.overbelow_stbox_stbox(box1._inner, box2._inner) + return bool(res) +} + + +// OverfrontSTBOXSTBOX wraps MEOS C function overfront_stbox_stbox. +func OverfrontSTBOXSTBOX(box1 *STBox, box2 *STBox) bool { + res := C.overfront_stbox_stbox(box1._inner, box2._inner) + return bool(res) +} + + +// OverleftSTBOXSTBOX wraps MEOS C function overleft_stbox_stbox. +func OverleftSTBOXSTBOX(box1 *STBox, box2 *STBox) bool { + res := C.overleft_stbox_stbox(box1._inner, box2._inner) + return bool(res) +} + + +// OverrightSTBOXSTBOX wraps MEOS C function overright_stbox_stbox. +func OverrightSTBOXSTBOX(box1 *STBox, box2 *STBox) bool { + res := C.overright_stbox_stbox(box1._inner, box2._inner) + return bool(res) +} + + +// RightSTBOXSTBOX wraps MEOS C function right_stbox_stbox. +func RightSTBOXSTBOX(box1 *STBox, box2 *STBox) bool { + res := C.right_stbox_stbox(box1._inner, box2._inner) + return bool(res) +} + + +// UnionSTBOXSTBOX wraps MEOS C function union_stbox_stbox. +func UnionSTBOXSTBOX(box1 *STBox, box2 *STBox, strict bool) *STBox { + res := C.union_stbox_stbox(box1._inner, box2._inner, C.bool(strict)) + return &STBox{_inner: res} +} + + +// IntersectionSTBOXSTBOX wraps MEOS C function intersection_stbox_stbox. +func IntersectionSTBOXSTBOX(box1 *STBox, box2 *STBox) *STBox { + res := C.intersection_stbox_stbox(box1._inner, box2._inner) + return &STBox{_inner: res} +} + + +// STBOXCmp wraps MEOS C function stbox_cmp. +func STBOXCmp(box1 *STBox, box2 *STBox) int { + res := C.stbox_cmp(box1._inner, box2._inner) + return int(res) +} + + +// STBOXEq wraps MEOS C function stbox_eq. +func STBOXEq(box1 *STBox, box2 *STBox) bool { + res := C.stbox_eq(box1._inner, box2._inner) + return bool(res) +} + + +// STBOXGe wraps MEOS C function stbox_ge. +func STBOXGe(box1 *STBox, box2 *STBox) bool { + res := C.stbox_ge(box1._inner, box2._inner) + return bool(res) +} + + +// STBOXGt wraps MEOS C function stbox_gt. +func STBOXGt(box1 *STBox, box2 *STBox) bool { + res := C.stbox_gt(box1._inner, box2._inner) + return bool(res) +} + + +// STBOXLe wraps MEOS C function stbox_le. +func STBOXLe(box1 *STBox, box2 *STBox) bool { + res := C.stbox_le(box1._inner, box2._inner) + return bool(res) +} + + +// STBOXLt wraps MEOS C function stbox_lt. +func STBOXLt(box1 *STBox, box2 *STBox) bool { + res := C.stbox_lt(box1._inner, box2._inner) + return bool(res) +} + + +// STBOXNe wraps MEOS C function stbox_ne. +func STBOXNe(box1 *STBox, box2 *STBox) bool { + res := C.stbox_ne(box1._inner, box2._inner) + return bool(res) +} + + +// TgeogpointFromMFJSON wraps MEOS C function tgeogpoint_from_mfjson. +func TgeogpointFromMFJSON(str string) Temporal { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.tgeogpoint_from_mfjson(_c_str) + return CreateTemporal(res) +} + + +// TgeogpointIn wraps MEOS C function tgeogpoint_in. +func TgeogpointIn(str string) Temporal { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.tgeogpoint_in(_c_str) + return CreateTemporal(res) +} + + +// TgeographyFromMFJSON wraps MEOS C function tgeography_from_mfjson. +func TgeographyFromMFJSON(mfjson string) Temporal { + _c_mfjson := C.CString(mfjson) + defer C.free(unsafe.Pointer(_c_mfjson)) + res := C.tgeography_from_mfjson(_c_mfjson) + return CreateTemporal(res) +} + + +// TgeographyIn wraps MEOS C function tgeography_in. +func TgeographyIn(str string) Temporal { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.tgeography_in(_c_str) + return CreateTemporal(res) +} + + +// TgeometryFromMFJSON wraps MEOS C function tgeometry_from_mfjson. +func TgeometryFromMFJSON(str string) Temporal { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.tgeometry_from_mfjson(_c_str) + return CreateTemporal(res) +} + + +// TgeometryIn wraps MEOS C function tgeometry_in. +func TgeometryIn(str string) Temporal { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.tgeometry_in(_c_str) + return CreateTemporal(res) +} + + +// TgeompointFromMFJSON wraps MEOS C function tgeompoint_from_mfjson. +func TgeompointFromMFJSON(str string) Temporal { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.tgeompoint_from_mfjson(_c_str) + return CreateTemporal(res) +} + + +// TgeompointIn wraps MEOS C function tgeompoint_in. +func TgeompointIn(str string) Temporal { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.tgeompoint_in(_c_str) + return CreateTemporal(res) +} + + +// TspatialAsEWKT wraps MEOS C function tspatial_as_ewkt. +func TspatialAsEWKT(temp Temporal, maxdd int) string { + res := C.tspatial_as_ewkt(temp.Inner(), C.int(maxdd)) + return C.GoString(res) +} + + +// TspatialAsText wraps MEOS C function tspatial_as_text. +func TspatialAsText(temp Temporal, maxdd int) string { + res := C.tspatial_as_text(temp.Inner(), C.int(maxdd)) + return C.GoString(res) +} + + +// TspatialOut wraps MEOS C function tspatial_out. +func TspatialOut(temp Temporal, maxdd int) string { + res := C.tspatial_out(temp.Inner(), C.int(maxdd)) + return C.GoString(res) +} + + +// TgeoFromBaseTemp wraps MEOS C function tgeo_from_base_temp. +func TgeoFromBaseTemp(gs *Geom, temp Temporal) Temporal { + res := C.tgeo_from_base_temp(gs._inner, temp.Inner()) + return CreateTemporal(res) +} + + +// TgeoinstMake wraps MEOS C function tgeoinst_make. +func TgeoinstMake(gs *Geom, t int64) TInstant { + res := C.tgeoinst_make(gs._inner, C.TimestampTz(t)) + return TInstant{_inner: res} +} + + +// TgeoseqFromBaseTstzset wraps MEOS C function tgeoseq_from_base_tstzset. +func TgeoseqFromBaseTstzset(gs *Geom, s *Set) TSequence { + res := C.tgeoseq_from_base_tstzset(gs._inner, s._inner) + return TSequence{_inner: res} +} + + +// TgeoseqFromBaseTstzspan wraps MEOS C function tgeoseq_from_base_tstzspan. +func TgeoseqFromBaseTstzspan(gs *Geom, s *Span, interp Interpolation) TSequence { + res := C.tgeoseq_from_base_tstzspan(gs._inner, s._inner, C.interpType(interp)) + return TSequence{_inner: res} +} + + +// TgeoseqsetFromBaseTstzspanset wraps MEOS C function tgeoseqset_from_base_tstzspanset. +func TgeoseqsetFromBaseTstzspanset(gs *Geom, ss *SpanSet, interp Interpolation) TSequenceSet { + res := C.tgeoseqset_from_base_tstzspanset(gs._inner, ss._inner, C.interpType(interp)) + return TSequenceSet{_inner: res} +} + + +// TpointFromBaseTemp wraps MEOS C function tpoint_from_base_temp. +func TpointFromBaseTemp(gs *Geom, temp Temporal) Temporal { + res := C.tpoint_from_base_temp(gs._inner, temp.Inner()) + return CreateTemporal(res) +} + + +// TpointinstMake wraps MEOS C function tpointinst_make. +func TpointinstMake(gs *Geom, t int64) TInstant { + res := C.tpointinst_make(gs._inner, C.TimestampTz(t)) + return TInstant{_inner: res} +} + + +// TpointseqFromBaseTstzset wraps MEOS C function tpointseq_from_base_tstzset. +func TpointseqFromBaseTstzset(gs *Geom, s *Set) TSequence { + res := C.tpointseq_from_base_tstzset(gs._inner, s._inner) + return TSequence{_inner: res} +} + + +// TpointseqFromBaseTstzspan wraps MEOS C function tpointseq_from_base_tstzspan. +func TpointseqFromBaseTstzspan(gs *Geom, s *Span, interp Interpolation) TSequence { + res := C.tpointseq_from_base_tstzspan(gs._inner, s._inner, C.interpType(interp)) + return TSequence{_inner: res} +} + + +// TODO tpointseq_make_coords: unsupported param const double * +// func TpointseqMakeCoords(...) { /* not yet handled by codegen */ } + + +// TpointseqsetFromBaseTstzspanset wraps MEOS C function tpointseqset_from_base_tstzspanset. +func TpointseqsetFromBaseTstzspanset(gs *Geom, ss *SpanSet, interp Interpolation) TSequenceSet { + res := C.tpointseqset_from_base_tstzspanset(gs._inner, ss._inner, C.interpType(interp)) + return TSequenceSet{_inner: res} +} + + +// TODO box3d_to_stbox: unsupported param const BOX3D * +// func Box3dToSTBOX(...) { /* not yet handled by codegen */ } + + +// TODO gbox_to_stbox: unsupported param const GBOX * +// func GboxToSTBOX(...) { /* not yet handled by codegen */ } + + +// GeomeasToTpoint wraps MEOS C function geomeas_to_tpoint. +func GeomeasToTpoint(gs *Geom) Temporal { + res := C.geomeas_to_tpoint(gs._inner) + return CreateTemporal(res) +} + + +// TgeogpointToTgeography wraps MEOS C function tgeogpoint_to_tgeography. +func TgeogpointToTgeography(temp Temporal) Temporal { + res := C.tgeogpoint_to_tgeography(temp.Inner()) + return CreateTemporal(res) +} + + +// TgeographyToTgeogpoint wraps MEOS C function tgeography_to_tgeogpoint. +func TgeographyToTgeogpoint(temp Temporal) Temporal { + res := C.tgeography_to_tgeogpoint(temp.Inner()) + return CreateTemporal(res) +} + + +// TgeographyToTgeometry wraps MEOS C function tgeography_to_tgeometry. +func TgeographyToTgeometry(temp Temporal) Temporal { + res := C.tgeography_to_tgeometry(temp.Inner()) + return CreateTemporal(res) +} + + +// TgeometryToTgeography wraps MEOS C function tgeometry_to_tgeography. +func TgeometryToTgeography(temp Temporal) Temporal { + res := C.tgeometry_to_tgeography(temp.Inner()) + return CreateTemporal(res) +} + + +// TgeometryToTgeompoint wraps MEOS C function tgeometry_to_tgeompoint. +func TgeometryToTgeompoint(temp Temporal) Temporal { + res := C.tgeometry_to_tgeompoint(temp.Inner()) + return CreateTemporal(res) +} + + +// TgeompointToTgeometry wraps MEOS C function tgeompoint_to_tgeometry. +func TgeompointToTgeometry(temp Temporal) Temporal { + res := C.tgeompoint_to_tgeometry(temp.Inner()) + return CreateTemporal(res) +} + + +// TODO tpoint_as_mvtgeom: unsupported param GSERIALIZED ** +// func TpointAsMvtgeom(...) { /* not yet handled by codegen */ } + + +// TODO tpoint_tfloat_to_geomeas: unsupported param GSERIALIZED ** +// func TpointTfloatToGeomeas(...) { /* not yet handled by codegen */ } + + +// TspatialToSTBOX wraps MEOS C function tspatial_to_stbox. +func TspatialToSTBOX(temp Temporal) *STBox { + res := C.tspatial_to_stbox(temp.Inner()) + return &STBox{_inner: res} +} + + +// TODO bearing_point_point: unsupported param double * +// func BearingPointPoint(...) { /* not yet handled by codegen */ } + + +// BearingTpointPoint wraps MEOS C function bearing_tpoint_point. +func BearingTpointPoint(temp Temporal, gs *Geom, invert bool) Temporal { + res := C.bearing_tpoint_point(temp.Inner(), gs._inner, C.bool(invert)) + return CreateTemporal(res) +} + + +// BearingTpointTpoint wraps MEOS C function bearing_tpoint_tpoint. +func BearingTpointTpoint(temp1 Temporal, temp2 Temporal) Temporal { + res := C.bearing_tpoint_tpoint(temp1.Inner(), temp2.Inner()) + return CreateTemporal(res) +} + + +// TgeoCentroid wraps MEOS C function tgeo_centroid. +func TgeoCentroid(temp Temporal) Temporal { + res := C.tgeo_centroid(temp.Inner()) + return CreateTemporal(res) +} + + +// TgeoConvexHull wraps MEOS C function tgeo_convex_hull. +func TgeoConvexHull(temp Temporal) *Geom { + res := C.tgeo_convex_hull(temp.Inner()) + return &Geom{_inner: res} +} + + +// TgeoEndValue wraps MEOS C function tgeo_end_value. +func TgeoEndValue(temp Temporal) *Geom { + res := C.tgeo_end_value(temp.Inner()) + return &Geom{_inner: res} +} + + +// TgeoStartValue wraps MEOS C function tgeo_start_value. +func TgeoStartValue(temp Temporal) *Geom { + res := C.tgeo_start_value(temp.Inner()) + return &Geom{_inner: res} +} + + +// TgeoTraversedArea wraps MEOS C function tgeo_traversed_area. +func TgeoTraversedArea(temp Temporal, unary_union bool) *Geom { + res := C.tgeo_traversed_area(temp.Inner(), C.bool(unary_union)) + return &Geom{_inner: res} +} + + +// TODO tgeo_value_at_timestamptz: unsupported param GSERIALIZED ** +// func TgeoValueAtTimestamptz(...) { /* not yet handled by codegen */ } + + +// TODO tgeo_value_n: unsupported param GSERIALIZED ** +// func TgeoValueN(...) { /* not yet handled by codegen */ } + + +// TODO tgeo_values: unsupported return type GSERIALIZED ** +// func TgeoValues(...) { /* not yet handled by codegen */ } + + +// TpointAngularDifference wraps MEOS C function tpoint_angular_difference. +func TpointAngularDifference(temp Temporal) Temporal { + res := C.tpoint_angular_difference(temp.Inner()) + return CreateTemporal(res) +} + + +// TpointAzimuth wraps MEOS C function tpoint_azimuth. +func TpointAzimuth(temp Temporal) Temporal { + res := C.tpoint_azimuth(temp.Inner()) + return CreateTemporal(res) +} + + +// TpointCumulativeLength wraps MEOS C function tpoint_cumulative_length. +func TpointCumulativeLength(temp Temporal) Temporal { + res := C.tpoint_cumulative_length(temp.Inner()) + return CreateTemporal(res) +} + + +// TODO tpoint_direction: unsupported param double * +// func TpointDirection(...) { /* not yet handled by codegen */ } + + +// TpointGetX wraps MEOS C function tpoint_get_x. +func TpointGetX(temp Temporal) Temporal { + res := C.tpoint_get_x(temp.Inner()) + return CreateTemporal(res) +} + + +// TpointGetY wraps MEOS C function tpoint_get_y. +func TpointGetY(temp Temporal) Temporal { + res := C.tpoint_get_y(temp.Inner()) + return CreateTemporal(res) +} + + +// TpointGetZ wraps MEOS C function tpoint_get_z. +func TpointGetZ(temp Temporal) Temporal { + res := C.tpoint_get_z(temp.Inner()) + return CreateTemporal(res) +} + + +// TpointIsSimple wraps MEOS C function tpoint_is_simple. +func TpointIsSimple(temp Temporal) bool { + res := C.tpoint_is_simple(temp.Inner()) + return bool(res) +} + + +// TpointLength wraps MEOS C function tpoint_length. +func TpointLength(temp Temporal) float64 { + res := C.tpoint_length(temp.Inner()) + return float64(res) +} + + +// TpointSpeed wraps MEOS C function tpoint_speed. +func TpointSpeed(temp Temporal) Temporal { + res := C.tpoint_speed(temp.Inner()) + return CreateTemporal(res) +} + + +// TpointTrajectory wraps MEOS C function tpoint_trajectory. +func TpointTrajectory(temp Temporal, unary_union bool) *Geom { + res := C.tpoint_trajectory(temp.Inner(), C.bool(unary_union)) + return &Geom{_inner: res} +} + + +// TpointTwcentroid wraps MEOS C function tpoint_twcentroid. +func TpointTwcentroid(temp Temporal) *Geom { + res := C.tpoint_twcentroid(temp.Inner()) + return &Geom{_inner: res} +} + + +// TODO tgeo_affine: unsupported param const AFFINE * +// func TgeoAffine(...) { /* not yet handled by codegen */ } + + +// TgeoScale wraps MEOS C function tgeo_scale. +func TgeoScale(temp Temporal, scale *Geom, sorigin *Geom) Temporal { + res := C.tgeo_scale(temp.Inner(), scale._inner, sorigin._inner) + return CreateTemporal(res) +} + + +// TODO tpoint_make_simple: unsupported return type Temporal ** +// func TpointMakeSimple(...) { /* not yet handled by codegen */ } + + +// TspatialSRID wraps MEOS C function tspatial_srid. +func TspatialSRID(temp Temporal) int32 { + res := C.tspatial_srid(temp.Inner()) + return int32(res) +} + + +// TspatialSetSRID wraps MEOS C function tspatial_set_srid. +func TspatialSetSRID(temp Temporal, srid int32) Temporal { + res := C.tspatial_set_srid(temp.Inner(), C.int32_t(srid)) + return CreateTemporal(res) +} + + +// TspatialTransform wraps MEOS C function tspatial_transform. +func TspatialTransform(temp Temporal, srid int32) Temporal { + res := C.tspatial_transform(temp.Inner(), C.int32_t(srid)) + return CreateTemporal(res) +} + + +// TspatialTransformPipeline wraps MEOS C function tspatial_transform_pipeline. +func TspatialTransformPipeline(temp Temporal, pipelinestr string, srid int32, is_forward bool) Temporal { + _c_pipelinestr := C.CString(pipelinestr) + defer C.free(unsafe.Pointer(_c_pipelinestr)) + res := C.tspatial_transform_pipeline(temp.Inner(), _c_pipelinestr, C.int32_t(srid), C.bool(is_forward)) + return CreateTemporal(res) +} + + +// TgeoAtGeom wraps MEOS C function tgeo_at_geom. +func TgeoAtGeom(temp Temporal, gs *Geom) Temporal { + res := C.tgeo_at_geom(temp.Inner(), gs._inner) + return CreateTemporal(res) +} + + +// TgeoAtSTBOX wraps MEOS C function tgeo_at_stbox. +func TgeoAtSTBOX(temp Temporal, box *STBox, border_inc bool) Temporal { + res := C.tgeo_at_stbox(temp.Inner(), box._inner, C.bool(border_inc)) + return CreateTemporal(res) +} + + +// TgeoAtValue wraps MEOS C function tgeo_at_value. +func TgeoAtValue(temp Temporal, gs *Geom) Temporal { + res := C.tgeo_at_value(temp.Inner(), gs._inner) + return CreateTemporal(res) +} + + +// TgeoMinusGeom wraps MEOS C function tgeo_minus_geom. +func TgeoMinusGeom(temp Temporal, gs *Geom) Temporal { + res := C.tgeo_minus_geom(temp.Inner(), gs._inner) + return CreateTemporal(res) +} + + +// TgeoMinusSTBOX wraps MEOS C function tgeo_minus_stbox. +func TgeoMinusSTBOX(temp Temporal, box *STBox, border_inc bool) Temporal { + res := C.tgeo_minus_stbox(temp.Inner(), box._inner, C.bool(border_inc)) + return CreateTemporal(res) +} + + +// TgeoMinusValue wraps MEOS C function tgeo_minus_value. +func TgeoMinusValue(temp Temporal, gs *Geom) Temporal { + res := C.tgeo_minus_value(temp.Inner(), gs._inner) + return CreateTemporal(res) +} + + +// TpointAtGeom wraps MEOS C function tpoint_at_geom. +func TpointAtGeom(temp Temporal, gs *Geom, zspan *Span) Temporal { + res := C.tpoint_at_geom(temp.Inner(), gs._inner, zspan._inner) + return CreateTemporal(res) +} + + +// TpointAtValue wraps MEOS C function tpoint_at_value. +func TpointAtValue(temp Temporal, gs *Geom) Temporal { + res := C.tpoint_at_value(temp.Inner(), gs._inner) + return CreateTemporal(res) +} + + +// TpointMinusGeom wraps MEOS C function tpoint_minus_geom. +func TpointMinusGeom(temp Temporal, gs *Geom, zspan *Span) Temporal { + res := C.tpoint_minus_geom(temp.Inner(), gs._inner, zspan._inner) + return CreateTemporal(res) +} + + +// TpointMinusValue wraps MEOS C function tpoint_minus_value. +func TpointMinusValue(temp Temporal, gs *Geom) Temporal { + res := C.tpoint_minus_value(temp.Inner(), gs._inner) + return CreateTemporal(res) +} + + +// AlwaysEqGeoTgeo wraps MEOS C function always_eq_geo_tgeo. +func AlwaysEqGeoTgeo(gs *Geom, temp Temporal) int { + res := C.always_eq_geo_tgeo(gs._inner, temp.Inner()) + return int(res) +} + + +// AlwaysEqTgeoGeo wraps MEOS C function always_eq_tgeo_geo. +func AlwaysEqTgeoGeo(temp Temporal, gs *Geom) int { + res := C.always_eq_tgeo_geo(temp.Inner(), gs._inner) + return int(res) +} + + +// AlwaysEqTgeoTgeo wraps MEOS C function always_eq_tgeo_tgeo. +func AlwaysEqTgeoTgeo(temp1 Temporal, temp2 Temporal) int { + res := C.always_eq_tgeo_tgeo(temp1.Inner(), temp2.Inner()) + return int(res) +} + + +// AlwaysNeGeoTgeo wraps MEOS C function always_ne_geo_tgeo. +func AlwaysNeGeoTgeo(gs *Geom, temp Temporal) int { + res := C.always_ne_geo_tgeo(gs._inner, temp.Inner()) + return int(res) +} + + +// AlwaysNeTgeoGeo wraps MEOS C function always_ne_tgeo_geo. +func AlwaysNeTgeoGeo(temp Temporal, gs *Geom) int { + res := C.always_ne_tgeo_geo(temp.Inner(), gs._inner) + return int(res) +} + + +// AlwaysNeTgeoTgeo wraps MEOS C function always_ne_tgeo_tgeo. +func AlwaysNeTgeoTgeo(temp1 Temporal, temp2 Temporal) int { + res := C.always_ne_tgeo_tgeo(temp1.Inner(), temp2.Inner()) + return int(res) +} + + +// EverEqGeoTgeo wraps MEOS C function ever_eq_geo_tgeo. +func EverEqGeoTgeo(gs *Geom, temp Temporal) int { + res := C.ever_eq_geo_tgeo(gs._inner, temp.Inner()) + return int(res) +} + + +// EverEqTgeoGeo wraps MEOS C function ever_eq_tgeo_geo. +func EverEqTgeoGeo(temp Temporal, gs *Geom) int { + res := C.ever_eq_tgeo_geo(temp.Inner(), gs._inner) + return int(res) +} + + +// EverEqTgeoTgeo wraps MEOS C function ever_eq_tgeo_tgeo. +func EverEqTgeoTgeo(temp1 Temporal, temp2 Temporal) int { + res := C.ever_eq_tgeo_tgeo(temp1.Inner(), temp2.Inner()) + return int(res) +} + + +// EverNeGeoTgeo wraps MEOS C function ever_ne_geo_tgeo. +func EverNeGeoTgeo(gs *Geom, temp Temporal) int { + res := C.ever_ne_geo_tgeo(gs._inner, temp.Inner()) + return int(res) +} + + +// EverNeTgeoGeo wraps MEOS C function ever_ne_tgeo_geo. +func EverNeTgeoGeo(temp Temporal, gs *Geom) int { + res := C.ever_ne_tgeo_geo(temp.Inner(), gs._inner) + return int(res) +} + + +// EverNeTgeoTgeo wraps MEOS C function ever_ne_tgeo_tgeo. +func EverNeTgeoTgeo(temp1 Temporal, temp2 Temporal) int { + res := C.ever_ne_tgeo_tgeo(temp1.Inner(), temp2.Inner()) + return int(res) +} + + +// TeqGeoTgeo wraps MEOS C function teq_geo_tgeo. +func TeqGeoTgeo(gs *Geom, temp Temporal) Temporal { + res := C.teq_geo_tgeo(gs._inner, temp.Inner()) + return CreateTemporal(res) +} + + +// TeqTgeoGeo wraps MEOS C function teq_tgeo_geo. +func TeqTgeoGeo(temp Temporal, gs *Geom) Temporal { + res := C.teq_tgeo_geo(temp.Inner(), gs._inner) + return CreateTemporal(res) +} + + +// TneGeoTgeo wraps MEOS C function tne_geo_tgeo. +func TneGeoTgeo(gs *Geom, temp Temporal) Temporal { + res := C.tne_geo_tgeo(gs._inner, temp.Inner()) + return CreateTemporal(res) +} + + +// TneTgeoGeo wraps MEOS C function tne_tgeo_geo. +func TneTgeoGeo(temp Temporal, gs *Geom) Temporal { + res := C.tne_tgeo_geo(temp.Inner(), gs._inner) + return CreateTemporal(res) +} + + +// TODO tgeo_stboxes: unsupported param int * +// func TgeoStboxes(...) { /* not yet handled by codegen */ } + + +// TODO tgeo_space_boxes: unsupported param int * +// func TgeoSpaceBoxes(...) { /* not yet handled by codegen */ } + + +// TODO tgeo_space_time_boxes: unsupported param int * +// func TgeoSpaceTimeBoxes(...) { /* not yet handled by codegen */ } + + +// TODO tgeo_split_each_n_stboxes: unsupported param int * +// func TgeoSplitEachNStboxes(...) { /* not yet handled by codegen */ } + + +// TODO tgeo_split_n_stboxes: unsupported param int * +// func TgeoSplitNStboxes(...) { /* not yet handled by codegen */ } + + +// AdjacentSTBOXTspatial wraps MEOS C function adjacent_stbox_tspatial. +func AdjacentSTBOXTspatial(box *STBox, temp Temporal) bool { + res := C.adjacent_stbox_tspatial(box._inner, temp.Inner()) + return bool(res) +} + + +// AdjacentTspatialSTBOX wraps MEOS C function adjacent_tspatial_stbox. +func AdjacentTspatialSTBOX(temp Temporal, box *STBox) bool { + res := C.adjacent_tspatial_stbox(temp.Inner(), box._inner) + return bool(res) +} + + +// AdjacentTspatialTspatial wraps MEOS C function adjacent_tspatial_tspatial. +func AdjacentTspatialTspatial(temp1 Temporal, temp2 Temporal) bool { + res := C.adjacent_tspatial_tspatial(temp1.Inner(), temp2.Inner()) + return bool(res) +} + + +// ContainedSTBOXTspatial wraps MEOS C function contained_stbox_tspatial. +func ContainedSTBOXTspatial(box *STBox, temp Temporal) bool { + res := C.contained_stbox_tspatial(box._inner, temp.Inner()) + return bool(res) +} + + +// ContainedTspatialSTBOX wraps MEOS C function contained_tspatial_stbox. +func ContainedTspatialSTBOX(temp Temporal, box *STBox) bool { + res := C.contained_tspatial_stbox(temp.Inner(), box._inner) + return bool(res) +} + + +// ContainedTspatialTspatial wraps MEOS C function contained_tspatial_tspatial. +func ContainedTspatialTspatial(temp1 Temporal, temp2 Temporal) bool { + res := C.contained_tspatial_tspatial(temp1.Inner(), temp2.Inner()) + return bool(res) +} + + +// ContainsSTBOXTspatial wraps MEOS C function contains_stbox_tspatial. +func ContainsSTBOXTspatial(box *STBox, temp Temporal) bool { + res := C.contains_stbox_tspatial(box._inner, temp.Inner()) + return bool(res) +} + + +// ContainsTspatialSTBOX wraps MEOS C function contains_tspatial_stbox. +func ContainsTspatialSTBOX(temp Temporal, box *STBox) bool { + res := C.contains_tspatial_stbox(temp.Inner(), box._inner) + return bool(res) +} + + +// ContainsTspatialTspatial wraps MEOS C function contains_tspatial_tspatial. +func ContainsTspatialTspatial(temp1 Temporal, temp2 Temporal) bool { + res := C.contains_tspatial_tspatial(temp1.Inner(), temp2.Inner()) + return bool(res) +} + + +// OverlapsSTBOXTspatial wraps MEOS C function overlaps_stbox_tspatial. +func OverlapsSTBOXTspatial(box *STBox, temp Temporal) bool { + res := C.overlaps_stbox_tspatial(box._inner, temp.Inner()) + return bool(res) +} + + +// OverlapsTspatialSTBOX wraps MEOS C function overlaps_tspatial_stbox. +func OverlapsTspatialSTBOX(temp Temporal, box *STBox) bool { + res := C.overlaps_tspatial_stbox(temp.Inner(), box._inner) + return bool(res) +} + + +// OverlapsTspatialTspatial wraps MEOS C function overlaps_tspatial_tspatial. +func OverlapsTspatialTspatial(temp1 Temporal, temp2 Temporal) bool { + res := C.overlaps_tspatial_tspatial(temp1.Inner(), temp2.Inner()) + return bool(res) +} + + +// SameSTBOXTspatial wraps MEOS C function same_stbox_tspatial. +func SameSTBOXTspatial(box *STBox, temp Temporal) bool { + res := C.same_stbox_tspatial(box._inner, temp.Inner()) + return bool(res) +} + + +// SameTspatialSTBOX wraps MEOS C function same_tspatial_stbox. +func SameTspatialSTBOX(temp Temporal, box *STBox) bool { + res := C.same_tspatial_stbox(temp.Inner(), box._inner) + return bool(res) +} + + +// SameTspatialTspatial wraps MEOS C function same_tspatial_tspatial. +func SameTspatialTspatial(temp1 Temporal, temp2 Temporal) bool { + res := C.same_tspatial_tspatial(temp1.Inner(), temp2.Inner()) + return bool(res) +} + + +// AboveSTBOXTspatial wraps MEOS C function above_stbox_tspatial. +func AboveSTBOXTspatial(box *STBox, temp Temporal) bool { + res := C.above_stbox_tspatial(box._inner, temp.Inner()) + return bool(res) +} + + +// AboveTspatialSTBOX wraps MEOS C function above_tspatial_stbox. +func AboveTspatialSTBOX(temp Temporal, box *STBox) bool { + res := C.above_tspatial_stbox(temp.Inner(), box._inner) + return bool(res) +} + + +// AboveTspatialTspatial wraps MEOS C function above_tspatial_tspatial. +func AboveTspatialTspatial(temp1 Temporal, temp2 Temporal) bool { + res := C.above_tspatial_tspatial(temp1.Inner(), temp2.Inner()) + return bool(res) +} + + +// AfterSTBOXTspatial wraps MEOS C function after_stbox_tspatial. +func AfterSTBOXTspatial(box *STBox, temp Temporal) bool { + res := C.after_stbox_tspatial(box._inner, temp.Inner()) + return bool(res) +} + + +// AfterTspatialSTBOX wraps MEOS C function after_tspatial_stbox. +func AfterTspatialSTBOX(temp Temporal, box *STBox) bool { + res := C.after_tspatial_stbox(temp.Inner(), box._inner) + return bool(res) +} + + +// AfterTspatialTspatial wraps MEOS C function after_tspatial_tspatial. +func AfterTspatialTspatial(temp1 Temporal, temp2 Temporal) bool { + res := C.after_tspatial_tspatial(temp1.Inner(), temp2.Inner()) + return bool(res) +} + + +// BackSTBOXTspatial wraps MEOS C function back_stbox_tspatial. +func BackSTBOXTspatial(box *STBox, temp Temporal) bool { + res := C.back_stbox_tspatial(box._inner, temp.Inner()) + return bool(res) +} + + +// BackTspatialSTBOX wraps MEOS C function back_tspatial_stbox. +func BackTspatialSTBOX(temp Temporal, box *STBox) bool { + res := C.back_tspatial_stbox(temp.Inner(), box._inner) + return bool(res) +} + + +// BackTspatialTspatial wraps MEOS C function back_tspatial_tspatial. +func BackTspatialTspatial(temp1 Temporal, temp2 Temporal) bool { + res := C.back_tspatial_tspatial(temp1.Inner(), temp2.Inner()) + return bool(res) +} + + +// BeforeSTBOXTspatial wraps MEOS C function before_stbox_tspatial. +func BeforeSTBOXTspatial(box *STBox, temp Temporal) bool { + res := C.before_stbox_tspatial(box._inner, temp.Inner()) + return bool(res) +} + + +// BeforeTspatialSTBOX wraps MEOS C function before_tspatial_stbox. +func BeforeTspatialSTBOX(temp Temporal, box *STBox) bool { + res := C.before_tspatial_stbox(temp.Inner(), box._inner) + return bool(res) +} + + +// BeforeTspatialTspatial wraps MEOS C function before_tspatial_tspatial. +func BeforeTspatialTspatial(temp1 Temporal, temp2 Temporal) bool { + res := C.before_tspatial_tspatial(temp1.Inner(), temp2.Inner()) + return bool(res) +} + + +// BelowSTBOXTspatial wraps MEOS C function below_stbox_tspatial. +func BelowSTBOXTspatial(box *STBox, temp Temporal) bool { + res := C.below_stbox_tspatial(box._inner, temp.Inner()) + return bool(res) +} + + +// BelowTspatialSTBOX wraps MEOS C function below_tspatial_stbox. +func BelowTspatialSTBOX(temp Temporal, box *STBox) bool { + res := C.below_tspatial_stbox(temp.Inner(), box._inner) + return bool(res) +} + + +// BelowTspatialTspatial wraps MEOS C function below_tspatial_tspatial. +func BelowTspatialTspatial(temp1 Temporal, temp2 Temporal) bool { + res := C.below_tspatial_tspatial(temp1.Inner(), temp2.Inner()) + return bool(res) +} + + +// FrontSTBOXTspatial wraps MEOS C function front_stbox_tspatial. +func FrontSTBOXTspatial(box *STBox, temp Temporal) bool { + res := C.front_stbox_tspatial(box._inner, temp.Inner()) + return bool(res) +} + + +// FrontTspatialSTBOX wraps MEOS C function front_tspatial_stbox. +func FrontTspatialSTBOX(temp Temporal, box *STBox) bool { + res := C.front_tspatial_stbox(temp.Inner(), box._inner) + return bool(res) +} + + +// FrontTspatialTspatial wraps MEOS C function front_tspatial_tspatial. +func FrontTspatialTspatial(temp1 Temporal, temp2 Temporal) bool { + res := C.front_tspatial_tspatial(temp1.Inner(), temp2.Inner()) + return bool(res) +} + + +// LeftSTBOXTspatial wraps MEOS C function left_stbox_tspatial. +func LeftSTBOXTspatial(box *STBox, temp Temporal) bool { + res := C.left_stbox_tspatial(box._inner, temp.Inner()) + return bool(res) +} + + +// LeftTspatialSTBOX wraps MEOS C function left_tspatial_stbox. +func LeftTspatialSTBOX(temp Temporal, box *STBox) bool { + res := C.left_tspatial_stbox(temp.Inner(), box._inner) + return bool(res) +} + + +// LeftTspatialTspatial wraps MEOS C function left_tspatial_tspatial. +func LeftTspatialTspatial(temp1 Temporal, temp2 Temporal) bool { + res := C.left_tspatial_tspatial(temp1.Inner(), temp2.Inner()) + return bool(res) +} + + +// OveraboveSTBOXTspatial wraps MEOS C function overabove_stbox_tspatial. +func OveraboveSTBOXTspatial(box *STBox, temp Temporal) bool { + res := C.overabove_stbox_tspatial(box._inner, temp.Inner()) + return bool(res) +} + + +// OveraboveTspatialSTBOX wraps MEOS C function overabove_tspatial_stbox. +func OveraboveTspatialSTBOX(temp Temporal, box *STBox) bool { + res := C.overabove_tspatial_stbox(temp.Inner(), box._inner) + return bool(res) +} + + +// OveraboveTspatialTspatial wraps MEOS C function overabove_tspatial_tspatial. +func OveraboveTspatialTspatial(temp1 Temporal, temp2 Temporal) bool { + res := C.overabove_tspatial_tspatial(temp1.Inner(), temp2.Inner()) + return bool(res) +} + + +// OverafterSTBOXTspatial wraps MEOS C function overafter_stbox_tspatial. +func OverafterSTBOXTspatial(box *STBox, temp Temporal) bool { + res := C.overafter_stbox_tspatial(box._inner, temp.Inner()) + return bool(res) +} + + +// OverafterTspatialSTBOX wraps MEOS C function overafter_tspatial_stbox. +func OverafterTspatialSTBOX(temp Temporal, box *STBox) bool { + res := C.overafter_tspatial_stbox(temp.Inner(), box._inner) + return bool(res) +} + + +// OverafterTspatialTspatial wraps MEOS C function overafter_tspatial_tspatial. +func OverafterTspatialTspatial(temp1 Temporal, temp2 Temporal) bool { + res := C.overafter_tspatial_tspatial(temp1.Inner(), temp2.Inner()) + return bool(res) +} + + +// OverbackSTBOXTspatial wraps MEOS C function overback_stbox_tspatial. +func OverbackSTBOXTspatial(box *STBox, temp Temporal) bool { + res := C.overback_stbox_tspatial(box._inner, temp.Inner()) + return bool(res) +} + + +// OverbackTspatialSTBOX wraps MEOS C function overback_tspatial_stbox. +func OverbackTspatialSTBOX(temp Temporal, box *STBox) bool { + res := C.overback_tspatial_stbox(temp.Inner(), box._inner) + return bool(res) +} + + +// OverbackTspatialTspatial wraps MEOS C function overback_tspatial_tspatial. +func OverbackTspatialTspatial(temp1 Temporal, temp2 Temporal) bool { + res := C.overback_tspatial_tspatial(temp1.Inner(), temp2.Inner()) + return bool(res) +} + + +// OverbeforeSTBOXTspatial wraps MEOS C function overbefore_stbox_tspatial. +func OverbeforeSTBOXTspatial(box *STBox, temp Temporal) bool { + res := C.overbefore_stbox_tspatial(box._inner, temp.Inner()) + return bool(res) +} + + +// OverbeforeTspatialSTBOX wraps MEOS C function overbefore_tspatial_stbox. +func OverbeforeTspatialSTBOX(temp Temporal, box *STBox) bool { + res := C.overbefore_tspatial_stbox(temp.Inner(), box._inner) + return bool(res) +} + + +// OverbeforeTspatialTspatial wraps MEOS C function overbefore_tspatial_tspatial. +func OverbeforeTspatialTspatial(temp1 Temporal, temp2 Temporal) bool { + res := C.overbefore_tspatial_tspatial(temp1.Inner(), temp2.Inner()) + return bool(res) +} + + +// OverbelowSTBOXTspatial wraps MEOS C function overbelow_stbox_tspatial. +func OverbelowSTBOXTspatial(box *STBox, temp Temporal) bool { + res := C.overbelow_stbox_tspatial(box._inner, temp.Inner()) + return bool(res) +} + + +// OverbelowTspatialSTBOX wraps MEOS C function overbelow_tspatial_stbox. +func OverbelowTspatialSTBOX(temp Temporal, box *STBox) bool { + res := C.overbelow_tspatial_stbox(temp.Inner(), box._inner) + return bool(res) +} + + +// OverbelowTspatialTspatial wraps MEOS C function overbelow_tspatial_tspatial. +func OverbelowTspatialTspatial(temp1 Temporal, temp2 Temporal) bool { + res := C.overbelow_tspatial_tspatial(temp1.Inner(), temp2.Inner()) + return bool(res) +} + + +// OverfrontSTBOXTspatial wraps MEOS C function overfront_stbox_tspatial. +func OverfrontSTBOXTspatial(box *STBox, temp Temporal) bool { + res := C.overfront_stbox_tspatial(box._inner, temp.Inner()) + return bool(res) +} + + +// OverfrontTspatialSTBOX wraps MEOS C function overfront_tspatial_stbox. +func OverfrontTspatialSTBOX(temp Temporal, box *STBox) bool { + res := C.overfront_tspatial_stbox(temp.Inner(), box._inner) + return bool(res) +} + + +// OverfrontTspatialTspatial wraps MEOS C function overfront_tspatial_tspatial. +func OverfrontTspatialTspatial(temp1 Temporal, temp2 Temporal) bool { + res := C.overfront_tspatial_tspatial(temp1.Inner(), temp2.Inner()) + return bool(res) +} + + +// OverleftSTBOXTspatial wraps MEOS C function overleft_stbox_tspatial. +func OverleftSTBOXTspatial(box *STBox, temp Temporal) bool { + res := C.overleft_stbox_tspatial(box._inner, temp.Inner()) + return bool(res) +} + + +// OverleftTspatialSTBOX wraps MEOS C function overleft_tspatial_stbox. +func OverleftTspatialSTBOX(temp Temporal, box *STBox) bool { + res := C.overleft_tspatial_stbox(temp.Inner(), box._inner) + return bool(res) +} + + +// OverleftTspatialTspatial wraps MEOS C function overleft_tspatial_tspatial. +func OverleftTspatialTspatial(temp1 Temporal, temp2 Temporal) bool { + res := C.overleft_tspatial_tspatial(temp1.Inner(), temp2.Inner()) + return bool(res) +} + + +// OverrightSTBOXTspatial wraps MEOS C function overright_stbox_tspatial. +func OverrightSTBOXTspatial(box *STBox, temp Temporal) bool { + res := C.overright_stbox_tspatial(box._inner, temp.Inner()) + return bool(res) +} + + +// OverrightTspatialSTBOX wraps MEOS C function overright_tspatial_stbox. +func OverrightTspatialSTBOX(temp Temporal, box *STBox) bool { + res := C.overright_tspatial_stbox(temp.Inner(), box._inner) + return bool(res) +} + + +// OverrightTspatialTspatial wraps MEOS C function overright_tspatial_tspatial. +func OverrightTspatialTspatial(temp1 Temporal, temp2 Temporal) bool { + res := C.overright_tspatial_tspatial(temp1.Inner(), temp2.Inner()) + return bool(res) +} + + +// RightSTBOXTspatial wraps MEOS C function right_stbox_tspatial. +func RightSTBOXTspatial(box *STBox, temp Temporal) bool { + res := C.right_stbox_tspatial(box._inner, temp.Inner()) + return bool(res) +} + + +// RightTspatialSTBOX wraps MEOS C function right_tspatial_stbox. +func RightTspatialSTBOX(temp Temporal, box *STBox) bool { + res := C.right_tspatial_stbox(temp.Inner(), box._inner) + return bool(res) +} + + +// RightTspatialTspatial wraps MEOS C function right_tspatial_tspatial. +func RightTspatialTspatial(temp1 Temporal, temp2 Temporal) bool { + res := C.right_tspatial_tspatial(temp1.Inner(), temp2.Inner()) + return bool(res) +} + + +// AcontainsGeoTgeo wraps MEOS C function acontains_geo_tgeo. +func AcontainsGeoTgeo(gs *Geom, temp Temporal) int { + res := C.acontains_geo_tgeo(gs._inner, temp.Inner()) + return int(res) +} + + +// AcontainsTgeoGeo wraps MEOS C function acontains_tgeo_geo. +func AcontainsTgeoGeo(temp Temporal, gs *Geom) int { + res := C.acontains_tgeo_geo(temp.Inner(), gs._inner) + return int(res) +} + + +// AcontainsTgeoTgeo wraps MEOS C function acontains_tgeo_tgeo. +func AcontainsTgeoTgeo(temp1 Temporal, temp2 Temporal) int { + res := C.acontains_tgeo_tgeo(temp1.Inner(), temp2.Inner()) + return int(res) +} + + +// AdisjointTgeoGeo wraps MEOS C function adisjoint_tgeo_geo. +func AdisjointTgeoGeo(temp Temporal, gs *Geom) int { + res := C.adisjoint_tgeo_geo(temp.Inner(), gs._inner) + return int(res) +} + + +// AdisjointTgeoTgeo wraps MEOS C function adisjoint_tgeo_tgeo. +func AdisjointTgeoTgeo(temp1 Temporal, temp2 Temporal) int { + res := C.adisjoint_tgeo_tgeo(temp1.Inner(), temp2.Inner()) + return int(res) +} + + +// AdwithinTgeoGeo wraps MEOS C function adwithin_tgeo_geo. +func AdwithinTgeoGeo(temp Temporal, gs *Geom, dist float64) int { + res := C.adwithin_tgeo_geo(temp.Inner(), gs._inner, C.double(dist)) + return int(res) +} + + +// AdwithinTgeoTgeo wraps MEOS C function adwithin_tgeo_tgeo. +func AdwithinTgeoTgeo(temp1 Temporal, temp2 Temporal, dist float64) int { + res := C.adwithin_tgeo_tgeo(temp1.Inner(), temp2.Inner(), C.double(dist)) + return int(res) +} + + +// AintersectsTgeoGeo wraps MEOS C function aintersects_tgeo_geo. +func AintersectsTgeoGeo(temp Temporal, gs *Geom) int { + res := C.aintersects_tgeo_geo(temp.Inner(), gs._inner) + return int(res) +} + + +// AintersectsTgeoTgeo wraps MEOS C function aintersects_tgeo_tgeo. +func AintersectsTgeoTgeo(temp1 Temporal, temp2 Temporal) int { + res := C.aintersects_tgeo_tgeo(temp1.Inner(), temp2.Inner()) + return int(res) +} + + +// AtouchesTgeoGeo wraps MEOS C function atouches_tgeo_geo. +func AtouchesTgeoGeo(temp Temporal, gs *Geom) int { + res := C.atouches_tgeo_geo(temp.Inner(), gs._inner) + return int(res) +} + + +// AtouchesTgeoTgeo wraps MEOS C function atouches_tgeo_tgeo. +func AtouchesTgeoTgeo(temp1 Temporal, temp2 Temporal) int { + res := C.atouches_tgeo_tgeo(temp1.Inner(), temp2.Inner()) + return int(res) +} + + +// AtouchesTpointGeo wraps MEOS C function atouches_tpoint_geo. +func AtouchesTpointGeo(temp Temporal, gs *Geom) int { + res := C.atouches_tpoint_geo(temp.Inner(), gs._inner) + return int(res) +} + + +// EcontainsGeoTgeo wraps MEOS C function econtains_geo_tgeo. +func EcontainsGeoTgeo(gs *Geom, temp Temporal) int { + res := C.econtains_geo_tgeo(gs._inner, temp.Inner()) + return int(res) +} + + +// EcontainsTgeoGeo wraps MEOS C function econtains_tgeo_geo. +func EcontainsTgeoGeo(temp Temporal, gs *Geom) int { + res := C.econtains_tgeo_geo(temp.Inner(), gs._inner) + return int(res) +} + + +// EcontainsTgeoTgeo wraps MEOS C function econtains_tgeo_tgeo. +func EcontainsTgeoTgeo(temp1 Temporal, temp2 Temporal) int { + res := C.econtains_tgeo_tgeo(temp1.Inner(), temp2.Inner()) + return int(res) +} + + +// EcoversGeoTgeo wraps MEOS C function ecovers_geo_tgeo. +func EcoversGeoTgeo(gs *Geom, temp Temporal) int { + res := C.ecovers_geo_tgeo(gs._inner, temp.Inner()) + return int(res) +} + + +// EcoversTgeoGeo wraps MEOS C function ecovers_tgeo_geo. +func EcoversTgeoGeo(temp Temporal, gs *Geom) int { + res := C.ecovers_tgeo_geo(temp.Inner(), gs._inner) + return int(res) +} + + +// EcoversTgeoTgeo wraps MEOS C function ecovers_tgeo_tgeo. +func EcoversTgeoTgeo(temp1 Temporal, temp2 Temporal) int { + res := C.ecovers_tgeo_tgeo(temp1.Inner(), temp2.Inner()) + return int(res) +} + + +// EdisjointTgeoGeo wraps MEOS C function edisjoint_tgeo_geo. +func EdisjointTgeoGeo(temp Temporal, gs *Geom) int { + res := C.edisjoint_tgeo_geo(temp.Inner(), gs._inner) + return int(res) +} + + +// EdisjointTgeoTgeo wraps MEOS C function edisjoint_tgeo_tgeo. +func EdisjointTgeoTgeo(temp1 Temporal, temp2 Temporal) int { + res := C.edisjoint_tgeo_tgeo(temp1.Inner(), temp2.Inner()) + return int(res) +} + + +// EdwithinTgeoGeo wraps MEOS C function edwithin_tgeo_geo. +func EdwithinTgeoGeo(temp Temporal, gs *Geom, dist float64) int { + res := C.edwithin_tgeo_geo(temp.Inner(), gs._inner, C.double(dist)) + return int(res) +} + + +// EdwithinTgeoTgeo wraps MEOS C function edwithin_tgeo_tgeo. +func EdwithinTgeoTgeo(temp1 Temporal, temp2 Temporal, dist float64) int { + res := C.edwithin_tgeo_tgeo(temp1.Inner(), temp2.Inner(), C.double(dist)) + return int(res) +} + + +// EintersectsTgeoGeo wraps MEOS C function eintersects_tgeo_geo. +func EintersectsTgeoGeo(temp Temporal, gs *Geom) int { + res := C.eintersects_tgeo_geo(temp.Inner(), gs._inner) + return int(res) +} + + +// EintersectsTgeoTgeo wraps MEOS C function eintersects_tgeo_tgeo. +func EintersectsTgeoTgeo(temp1 Temporal, temp2 Temporal) int { + res := C.eintersects_tgeo_tgeo(temp1.Inner(), temp2.Inner()) + return int(res) +} + + +// EtouchesTgeoGeo wraps MEOS C function etouches_tgeo_geo. +func EtouchesTgeoGeo(temp Temporal, gs *Geom) int { + res := C.etouches_tgeo_geo(temp.Inner(), gs._inner) + return int(res) +} + + +// EtouchesTgeoTgeo wraps MEOS C function etouches_tgeo_tgeo. +func EtouchesTgeoTgeo(temp1 Temporal, temp2 Temporal) int { + res := C.etouches_tgeo_tgeo(temp1.Inner(), temp2.Inner()) + return int(res) +} + + +// EtouchesTpointGeo wraps MEOS C function etouches_tpoint_geo. +func EtouchesTpointGeo(temp Temporal, gs *Geom) int { + res := C.etouches_tpoint_geo(temp.Inner(), gs._inner) + return int(res) +} + + +// TcontainsGeoTgeo wraps MEOS C function tcontains_geo_tgeo. +func TcontainsGeoTgeo(gs *Geom, temp Temporal, restr bool, atvalue bool) Temporal { + res := C.tcontains_geo_tgeo(gs._inner, temp.Inner(), C.bool(restr), C.bool(atvalue)) + return CreateTemporal(res) +} + + +// TcontainsTgeoGeo wraps MEOS C function tcontains_tgeo_geo. +func TcontainsTgeoGeo(temp Temporal, gs *Geom, restr bool, atvalue bool) Temporal { + res := C.tcontains_tgeo_geo(temp.Inner(), gs._inner, C.bool(restr), C.bool(atvalue)) + return CreateTemporal(res) +} + + +// TcontainsTgeoTgeo wraps MEOS C function tcontains_tgeo_tgeo. +func TcontainsTgeoTgeo(temp1 Temporal, temp2 Temporal, restr bool, atvalue bool) Temporal { + res := C.tcontains_tgeo_tgeo(temp1.Inner(), temp2.Inner(), C.bool(restr), C.bool(atvalue)) + return CreateTemporal(res) +} + + +// TcoversGeoTgeo wraps MEOS C function tcovers_geo_tgeo. +func TcoversGeoTgeo(gs *Geom, temp Temporal, restr bool, atvalue bool) Temporal { + res := C.tcovers_geo_tgeo(gs._inner, temp.Inner(), C.bool(restr), C.bool(atvalue)) + return CreateTemporal(res) +} + + +// TcoversTgeoGeo wraps MEOS C function tcovers_tgeo_geo. +func TcoversTgeoGeo(temp Temporal, gs *Geom, restr bool, atvalue bool) Temporal { + res := C.tcovers_tgeo_geo(temp.Inner(), gs._inner, C.bool(restr), C.bool(atvalue)) + return CreateTemporal(res) +} + + +// TcoversTgeoTgeo wraps MEOS C function tcovers_tgeo_tgeo. +func TcoversTgeoTgeo(temp1 Temporal, temp2 Temporal, restr bool, atvalue bool) Temporal { + res := C.tcovers_tgeo_tgeo(temp1.Inner(), temp2.Inner(), C.bool(restr), C.bool(atvalue)) + return CreateTemporal(res) +} + + +// TdisjointGeoTgeo wraps MEOS C function tdisjoint_geo_tgeo. +func TdisjointGeoTgeo(gs *Geom, temp Temporal, restr bool, atvalue bool) Temporal { + res := C.tdisjoint_geo_tgeo(gs._inner, temp.Inner(), C.bool(restr), C.bool(atvalue)) + return CreateTemporal(res) +} + + +// TdisjointTgeoGeo wraps MEOS C function tdisjoint_tgeo_geo. +func TdisjointTgeoGeo(temp Temporal, gs *Geom, restr bool, atvalue bool) Temporal { + res := C.tdisjoint_tgeo_geo(temp.Inner(), gs._inner, C.bool(restr), C.bool(atvalue)) + return CreateTemporal(res) +} + + +// TdisjointTgeoTgeo wraps MEOS C function tdisjoint_tgeo_tgeo. +func TdisjointTgeoTgeo(temp1 Temporal, temp2 Temporal, restr bool, atvalue bool) Temporal { + res := C.tdisjoint_tgeo_tgeo(temp1.Inner(), temp2.Inner(), C.bool(restr), C.bool(atvalue)) + return CreateTemporal(res) +} + + +// TdwithinGeoTgeo wraps MEOS C function tdwithin_geo_tgeo. +func TdwithinGeoTgeo(gs *Geom, temp Temporal, dist float64, restr bool, atvalue bool) Temporal { + res := C.tdwithin_geo_tgeo(gs._inner, temp.Inner(), C.double(dist), C.bool(restr), C.bool(atvalue)) + return CreateTemporal(res) +} + + +// TdwithinTgeoGeo wraps MEOS C function tdwithin_tgeo_geo. +func TdwithinTgeoGeo(temp Temporal, gs *Geom, dist float64, restr bool, atvalue bool) Temporal { + res := C.tdwithin_tgeo_geo(temp.Inner(), gs._inner, C.double(dist), C.bool(restr), C.bool(atvalue)) + return CreateTemporal(res) +} + + +// TdwithinTgeoTgeo wraps MEOS C function tdwithin_tgeo_tgeo. +func TdwithinTgeoTgeo(temp1 Temporal, temp2 Temporal, dist float64, restr bool, atvalue bool) Temporal { + res := C.tdwithin_tgeo_tgeo(temp1.Inner(), temp2.Inner(), C.double(dist), C.bool(restr), C.bool(atvalue)) + return CreateTemporal(res) +} + + +// TintersectsGeoTgeo wraps MEOS C function tintersects_geo_tgeo. +func TintersectsGeoTgeo(gs *Geom, temp Temporal, restr bool, atvalue bool) Temporal { + res := C.tintersects_geo_tgeo(gs._inner, temp.Inner(), C.bool(restr), C.bool(atvalue)) + return CreateTemporal(res) +} + + +// TintersectsTgeoGeo wraps MEOS C function tintersects_tgeo_geo. +func TintersectsTgeoGeo(temp Temporal, gs *Geom, restr bool, atvalue bool) Temporal { + res := C.tintersects_tgeo_geo(temp.Inner(), gs._inner, C.bool(restr), C.bool(atvalue)) + return CreateTemporal(res) +} + + +// TintersectsTgeoTgeo wraps MEOS C function tintersects_tgeo_tgeo. +func TintersectsTgeoTgeo(temp1 Temporal, temp2 Temporal, restr bool, atvalue bool) Temporal { + res := C.tintersects_tgeo_tgeo(temp1.Inner(), temp2.Inner(), C.bool(restr), C.bool(atvalue)) + return CreateTemporal(res) +} + + +// TtouchesGeoTgeo wraps MEOS C function ttouches_geo_tgeo. +func TtouchesGeoTgeo(gs *Geom, temp Temporal, restr bool, atvalue bool) Temporal { + res := C.ttouches_geo_tgeo(gs._inner, temp.Inner(), C.bool(restr), C.bool(atvalue)) + return CreateTemporal(res) +} + + +// TtouchesTgeoGeo wraps MEOS C function ttouches_tgeo_geo. +func TtouchesTgeoGeo(temp Temporal, gs *Geom, restr bool, atvalue bool) Temporal { + res := C.ttouches_tgeo_geo(temp.Inner(), gs._inner, C.bool(restr), C.bool(atvalue)) + return CreateTemporal(res) +} + + +// TtouchesTgeoTgeo wraps MEOS C function ttouches_tgeo_tgeo. +func TtouchesTgeoTgeo(temp1 Temporal, temp2 Temporal, restr bool, atvalue bool) Temporal { + res := C.ttouches_tgeo_tgeo(temp1.Inner(), temp2.Inner(), C.bool(restr), C.bool(atvalue)) + return CreateTemporal(res) +} + + +// TdistanceTgeoGeo wraps MEOS C function tdistance_tgeo_geo. +func TdistanceTgeoGeo(temp Temporal, gs *Geom) Temporal { + res := C.tdistance_tgeo_geo(temp.Inner(), gs._inner) + return CreateTemporal(res) +} + + +// TdistanceTgeoTgeo wraps MEOS C function tdistance_tgeo_tgeo. +func TdistanceTgeoTgeo(temp1 Temporal, temp2 Temporal) Temporal { + res := C.tdistance_tgeo_tgeo(temp1.Inner(), temp2.Inner()) + return CreateTemporal(res) +} + + +// NadSTBOXGeo wraps MEOS C function nad_stbox_geo. +func NadSTBOXGeo(box *STBox, gs *Geom) float64 { + res := C.nad_stbox_geo(box._inner, gs._inner) + return float64(res) +} + + +// NadSTBOXSTBOX wraps MEOS C function nad_stbox_stbox. +func NadSTBOXSTBOX(box1 *STBox, box2 *STBox) float64 { + res := C.nad_stbox_stbox(box1._inner, box2._inner) + return float64(res) +} + + +// NadTgeoGeo wraps MEOS C function nad_tgeo_geo. +func NadTgeoGeo(temp Temporal, gs *Geom) float64 { + res := C.nad_tgeo_geo(temp.Inner(), gs._inner) + return float64(res) +} + + +// NadTgeoSTBOX wraps MEOS C function nad_tgeo_stbox. +func NadTgeoSTBOX(temp Temporal, box *STBox) float64 { + res := C.nad_tgeo_stbox(temp.Inner(), box._inner) + return float64(res) +} + + +// NadTgeoTgeo wraps MEOS C function nad_tgeo_tgeo. +func NadTgeoTgeo(temp1 Temporal, temp2 Temporal) float64 { + res := C.nad_tgeo_tgeo(temp1.Inner(), temp2.Inner()) + return float64(res) +} + + +// NaiTgeoGeo wraps MEOS C function nai_tgeo_geo. +func NaiTgeoGeo(temp Temporal, gs *Geom) TInstant { + res := C.nai_tgeo_geo(temp.Inner(), gs._inner) + return TInstant{_inner: res} +} + + +// NaiTgeoTgeo wraps MEOS C function nai_tgeo_tgeo. +func NaiTgeoTgeo(temp1 Temporal, temp2 Temporal) TInstant { + res := C.nai_tgeo_tgeo(temp1.Inner(), temp2.Inner()) + return TInstant{_inner: res} +} + + +// ShortestlineTgeoGeo wraps MEOS C function shortestline_tgeo_geo. +func ShortestlineTgeoGeo(temp Temporal, gs *Geom) *Geom { + res := C.shortestline_tgeo_geo(temp.Inner(), gs._inner) + return &Geom{_inner: res} +} + + +// ShortestlineTgeoTgeo wraps MEOS C function shortestline_tgeo_tgeo. +func ShortestlineTgeoTgeo(temp1 Temporal, temp2 Temporal) *Geom { + res := C.shortestline_tgeo_tgeo(temp1.Inner(), temp2.Inner()) + return &Geom{_inner: res} +} + + +// TpointTcentroidFinalfn wraps MEOS C function tpoint_tcentroid_finalfn. +func TpointTcentroidFinalfn(state *SkipList) Temporal { + res := C.tpoint_tcentroid_finalfn(state._inner) + return CreateTemporal(res) +} + + +// TpointTcentroidTransfn wraps MEOS C function tpoint_tcentroid_transfn. +func TpointTcentroidTransfn(state *SkipList, temp Temporal) *SkipList { + res := C.tpoint_tcentroid_transfn(state._inner, temp.Inner()) + return &SkipList{_inner: res} +} + + +// TspatialExtentTransfn wraps MEOS C function tspatial_extent_transfn. +func TspatialExtentTransfn(box *STBox, temp Temporal) *STBox { + res := C.tspatial_extent_transfn(box._inner, temp.Inner()) + return &STBox{_inner: res} +} + + +// STBOXGetSpaceTile wraps MEOS C function stbox_get_space_tile. +func STBOXGetSpaceTile(point *Geom, xsize float64, ysize float64, zsize float64, sorigin *Geom) *STBox { + res := C.stbox_get_space_tile(point._inner, C.double(xsize), C.double(ysize), C.double(zsize), sorigin._inner) + return &STBox{_inner: res} +} + + +// STBOXGetSpaceTimeTile wraps MEOS C function stbox_get_space_time_tile. +func STBOXGetSpaceTimeTile(point *Geom, t int64, xsize float64, ysize float64, zsize float64, duration timeutil.Timedelta, sorigin *Geom, torigin int64) *STBox { + res := C.stbox_get_space_time_tile(point._inner, C.TimestampTz(t), C.double(xsize), C.double(ysize), C.double(zsize), duration.Inner(), sorigin._inner, C.TimestampTz(torigin)) + return &STBox{_inner: res} +} + + +// STBOXGetTimeTile wraps MEOS C function stbox_get_time_tile. +func STBOXGetTimeTile(t int64, duration timeutil.Timedelta, torigin int64) *STBox { + res := C.stbox_get_time_tile(C.TimestampTz(t), duration.Inner(), C.TimestampTz(torigin)) + return &STBox{_inner: res} +} + + +// TODO stbox_space_tiles: unsupported param int * +// func STBOXSpaceTiles(...) { /* not yet handled by codegen */ } + + +// TODO stbox_space_time_tiles: unsupported param int * +// func STBOXSpaceTimeTiles(...) { /* not yet handled by codegen */ } + + +// TODO stbox_time_tiles: unsupported param int * +// func STBOXTimeTiles(...) { /* not yet handled by codegen */ } + + +// TODO tgeo_space_split: unsupported return type Temporal ** +// func TgeoSpaceSplit(...) { /* not yet handled by codegen */ } + + +// TODO tgeo_space_time_split: unsupported return type Temporal ** +// func TgeoSpaceTimeSplit(...) { /* not yet handled by codegen */ } + + +// TODO geo_cluster_kmeans: unsupported return type int * +// func GeoClusterKmeans(...) { /* not yet handled by codegen */ } + + +// TODO geo_cluster_dbscan: unsupported return type uint32_t * +// func GeoClusterDbscan(...) { /* not yet handled by codegen */ } + + +// TODO geo_cluster_intersecting: unsupported return type GSERIALIZED ** +// func GeoClusterIntersecting(...) { /* not yet handled by codegen */ } + + +// TODO geo_cluster_within: unsupported return type GSERIALIZED ** +// func GeoClusterWithin(...) { /* not yet handled by codegen */ } + diff --git a/tools/_preview/meos_meos_internal.go b/tools/_preview/meos_meos_internal.go new file mode 100644 index 0000000..91e4f3e --- /dev/null +++ b/tools/_preview/meos_meos_internal.go @@ -0,0 +1,1646 @@ +package generated + +// #include +import "C" +import ( + "unsafe" + + "github.com/leekchan/timeutil" +) + +var _ = unsafe.Pointer(nil) +var _ = timeutil.Timedelta{} + +// TODO gsl_get_generation_rng: unsupported return type gsl_rng * +// func GslGetGenerationRng(...) { /* not yet handled by codegen */ } + + +// TODO gsl_get_aggregation_rng: unsupported return type gsl_rng * +// func GslGetAggregationRng(...) { /* not yet handled by codegen */ } + + +// FloatspanRoundSet wraps MEOS C function floatspan_round_set. +func FloatspanRoundSet(s *Span, maxdd int, result *Span) { + C.floatspan_round_set(s._inner, C.int(maxdd), result._inner) +} + + +// SetIn wraps MEOS C function set_in. +func SetIn(str string, basetype MeosType) *Set { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.set_in(_c_str, C.meosType(basetype)) + return &Set{_inner: res} +} + + +// SetOut wraps MEOS C function set_out. +func SetOut(s *Set, maxdd int) string { + res := C.set_out(s._inner, C.int(maxdd)) + return C.GoString(res) +} + + +// SpanIn wraps MEOS C function span_in. +func SpanIn(str string, spantype MeosType) *Span { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.span_in(_c_str, C.meosType(spantype)) + return &Span{_inner: res} +} + + +// SpanOut wraps MEOS C function span_out. +func SpanOut(s *Span, maxdd int) string { + res := C.span_out(s._inner, C.int(maxdd)) + return C.GoString(res) +} + + +// SpansetIn wraps MEOS C function spanset_in. +func SpansetIn(str string, spantype MeosType) *SpanSet { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.spanset_in(_c_str, C.meosType(spantype)) + return &SpanSet{_inner: res} +} + + +// SpansetOut wraps MEOS C function spanset_out. +func SpansetOut(ss *SpanSet, maxdd int) string { + res := C.spanset_out(ss._inner, C.int(maxdd)) + return C.GoString(res) +} + + +// SpansetMakeExp wraps MEOS C function spanset_make_exp. +func SpansetMakeExp(spans *Span, count int, maxcount int, normalize bool, order bool) *SpanSet { + res := C.spanset_make_exp(spans._inner, C.int(count), C.int(maxcount), C.bool(normalize), C.bool(order)) + return &SpanSet{_inner: res} +} + + +// SpansetMakeFree wraps MEOS C function spanset_make_free. +func SpansetMakeFree(spans *Span, count int, normalize bool, order bool) *SpanSet { + res := C.spanset_make_free(spans._inner, C.int(count), C.bool(normalize), C.bool(order)) + return &SpanSet{_inner: res} +} + + +// SetSpan wraps MEOS C function set_span. +func SetSpan(s *Set) *Span { + res := C.set_span(s._inner) + return &Span{_inner: res} +} + + +// SetSpanset wraps MEOS C function set_spanset. +func SetSpanset(s *Set) *SpanSet { + res := C.set_spanset(s._inner) + return &SpanSet{_inner: res} +} + + +// SetMemSize wraps MEOS C function set_mem_size. +func SetMemSize(s *Set) int { + res := C.set_mem_size(s._inner) + return int(res) +} + + +// SetSetSubspan wraps MEOS C function set_set_subspan. +func SetSetSubspan(s *Set, minidx int, maxidx int, result *Span) { + C.set_set_subspan(s._inner, C.int(minidx), C.int(maxidx), result._inner) +} + + +// SetSetSpan wraps MEOS C function set_set_span. +func SetSetSpan(s *Set, result *Span) { + C.set_set_span(s._inner, result._inner) +} + + +// SpansetMemSize wraps MEOS C function spanset_mem_size. +func SpansetMemSize(ss *SpanSet) int { + res := C.spanset_mem_size(ss._inner) + return int(res) +} + + +// TODO spanset_sps: unsupported return type const Span ** +// func SpansetSps(...) { /* not yet handled by codegen */ } + + +// DatespanSetTstzspan wraps MEOS C function datespan_set_tstzspan. +func DatespanSetTstzspan(s1 *Span, s2 *Span) { + C.datespan_set_tstzspan(s1._inner, s2._inner) +} + + +// FloatspanSetIntspan wraps MEOS C function floatspan_set_intspan. +func FloatspanSetIntspan(s1 *Span, s2 *Span) { + C.floatspan_set_intspan(s1._inner, s2._inner) +} + + +// IntspanSetFloatspan wraps MEOS C function intspan_set_floatspan. +func IntspanSetFloatspan(s1 *Span, s2 *Span) { + C.intspan_set_floatspan(s1._inner, s2._inner) +} + + +// SetCompact wraps MEOS C function set_compact. +func SetCompact(s *Set) *Set { + res := C.set_compact(s._inner) + return &Set{_inner: res} +} + + +// SpanExpand wraps MEOS C function span_expand. +func SpanExpand(s1 *Span, s2 *Span) { + C.span_expand(s1._inner, s2._inner) +} + + +// SpansetCompact wraps MEOS C function spanset_compact. +func SpansetCompact(ss *SpanSet) *SpanSet { + res := C.spanset_compact(ss._inner) + return &SpanSet{_inner: res} +} + + +// TextcatTextsetTextCommon wraps MEOS C function textcat_textset_text_common. +func TextcatTextsetTextCommon(s *Set, txt string, invert bool) *Set { + _c_txt := cstring2text(txt) + defer C.free(unsafe.Pointer(_c_txt)) + res := C.textcat_textset_text_common(s._inner, _c_txt, C.bool(invert)) + return &Set{_inner: res} +} + + +// TstzspanSetDatespan wraps MEOS C function tstzspan_set_datespan. +func TstzspanSetDatespan(s1 *Span, s2 *Span) { + C.tstzspan_set_datespan(s1._inner, s2._inner) +} + + +// OvadjSpanSpan wraps MEOS C function ovadj_span_span. +func OvadjSpanSpan(s1 *Span, s2 *Span) bool { + res := C.ovadj_span_span(s1._inner, s2._inner) + return bool(res) +} + + +// LfnadjSpanSpan wraps MEOS C function lfnadj_span_span. +func LfnadjSpanSpan(s1 *Span, s2 *Span) bool { + res := C.lfnadj_span_span(s1._inner, s2._inner) + return bool(res) +} + + +// BboxType wraps MEOS C function bbox_type. +func BboxType(bboxtype MeosType) bool { + res := C.bbox_type(C.meosType(bboxtype)) + return bool(res) +} + + +// BboxGetSize wraps MEOS C function bbox_get_size. +func BboxGetSize(bboxtype MeosType) uint { + res := C.bbox_get_size(C.meosType(bboxtype)) + return uint(res) +} + + +// BboxMaxDims wraps MEOS C function bbox_max_dims. +func BboxMaxDims(bboxtype MeosType) int { + res := C.bbox_max_dims(C.meosType(bboxtype)) + return int(res) +} + + +// TODO temporal_bbox_eq: unsupported param const void * +// func TemporalBboxEq(...) { /* not yet handled by codegen */ } + + +// TODO temporal_bbox_cmp: unsupported param const void * +// func TemporalBboxCmp(...) { /* not yet handled by codegen */ } + + +// BboxUnionSpanSpan wraps MEOS C function bbox_union_span_span. +func BboxUnionSpanSpan(s1 *Span, s2 *Span, result *Span) { + C.bbox_union_span_span(s1._inner, s2._inner, result._inner) +} + + +// InterSpanSpan wraps MEOS C function inter_span_span. +func InterSpanSpan(s1 *Span, s2 *Span, result *Span) bool { + res := C.inter_span_span(s1._inner, s2._inner, result._inner) + return bool(res) +} + + +// MiSpanSpan wraps MEOS C function mi_span_span. +func MiSpanSpan(s1 *Span, s2 *Span, result *Span) int { + res := C.mi_span_span(s1._inner, s2._inner, result._inner) + return int(res) +} + + +// SuperUnionSpanSpan wraps MEOS C function super_union_span_span. +func SuperUnionSpanSpan(s1 *Span, s2 *Span) *Span { + res := C.super_union_span_span(s1._inner, s2._inner) + return &Span{_inner: res} +} + + +// TBOXSet wraps MEOS C function tbox_set. +func TBOXSet(s *Span, p *Span, box *TBox) { + C.tbox_set(s._inner, p._inner, box._inner) +} + + +// FloatSetTBOX wraps MEOS C function float_set_tbox. +func FloatSetTBOX(d float64, box *TBox) { + C.float_set_tbox(C.double(d), box._inner) +} + + +// IntSetTBOX wraps MEOS C function int_set_tbox. +func IntSetTBOX(i int, box *TBox) { + C.int_set_tbox(C.int(i), box._inner) +} + + +// NumsetSetTBOX wraps MEOS C function numset_set_tbox. +func NumsetSetTBOX(s *Set, box *TBox) { + C.numset_set_tbox(s._inner, box._inner) +} + + +// NumspanSetTBOX wraps MEOS C function numspan_set_tbox. +func NumspanSetTBOX(span *Span, box *TBox) { + C.numspan_set_tbox(span._inner, box._inner) +} + + +// TimestamptzSetTBOX wraps MEOS C function timestamptz_set_tbox. +func TimestamptzSetTBOX(t int64, box *TBox) { + C.timestamptz_set_tbox(C.TimestampTz(t), box._inner) +} + + +// TstzsetSetTBOX wraps MEOS C function tstzset_set_tbox. +func TstzsetSetTBOX(s *Set, box *TBox) { + C.tstzset_set_tbox(s._inner, box._inner) +} + + +// TstzspanSetTBOX wraps MEOS C function tstzspan_set_tbox. +func TstzspanSetTBOX(s *Span, box *TBox) { + C.tstzspan_set_tbox(s._inner, box._inner) +} + + +// TBOXExpand wraps MEOS C function tbox_expand. +func TBOXExpand(box1 *TBox, box2 *TBox) { + C.tbox_expand(box1._inner, box2._inner) +} + + +// InterTBOXTBOX wraps MEOS C function inter_tbox_tbox. +func InterTBOXTBOX(box1 *TBox, box2 *TBox, result *TBox) bool { + res := C.inter_tbox_tbox(box1._inner, box2._inner, result._inner) + return bool(res) +} + + +// TboolinstIn wraps MEOS C function tboolinst_in. +func TboolinstIn(str string) TInstant { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.tboolinst_in(_c_str) + return TInstant{_inner: res} +} + + +// TboolseqIn wraps MEOS C function tboolseq_in. +func TboolseqIn(str string, interp Interpolation) TSequence { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.tboolseq_in(_c_str, C.interpType(interp)) + return TSequence{_inner: res} +} + + +// TboolseqsetIn wraps MEOS C function tboolseqset_in. +func TboolseqsetIn(str string) TSequenceSet { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.tboolseqset_in(_c_str) + return TSequenceSet{_inner: res} +} + + +// TemporalIn wraps MEOS C function temporal_in. +func TemporalIn(str string, temptype MeosType) Temporal { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.temporal_in(_c_str, C.meosType(temptype)) + return CreateTemporal(res) +} + + +// TemporalOut wraps MEOS C function temporal_out. +func TemporalOut(temp Temporal, maxdd int) string { + res := C.temporal_out(temp.Inner(), C.int(maxdd)) + return C.GoString(res) +} + + +// TODO temparr_out: unsupported return type char ** +// func TemparrOut(...) { /* not yet handled by codegen */ } + + +// TfloatinstIn wraps MEOS C function tfloatinst_in. +func TfloatinstIn(str string) TInstant { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.tfloatinst_in(_c_str) + return TInstant{_inner: res} +} + + +// TfloatseqIn wraps MEOS C function tfloatseq_in. +func TfloatseqIn(str string, interp Interpolation) TSequence { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.tfloatseq_in(_c_str, C.interpType(interp)) + return TSequence{_inner: res} +} + + +// TfloatseqsetIn wraps MEOS C function tfloatseqset_in. +func TfloatseqsetIn(str string) TSequenceSet { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.tfloatseqset_in(_c_str) + return TSequenceSet{_inner: res} +} + + +// TinstantIn wraps MEOS C function tinstant_in. +func TinstantIn(str string, temptype MeosType) TInstant { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.tinstant_in(_c_str, C.meosType(temptype)) + return TInstant{_inner: res} +} + + +// TinstantOut wraps MEOS C function tinstant_out. +func TinstantOut(inst TInstant, maxdd int) string { + res := C.tinstant_out(inst.Inner(), C.int(maxdd)) + return C.GoString(res) +} + + +// TintinstIn wraps MEOS C function tintinst_in. +func TintinstIn(str string) TInstant { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.tintinst_in(_c_str) + return TInstant{_inner: res} +} + + +// TintseqIn wraps MEOS C function tintseq_in. +func TintseqIn(str string, interp Interpolation) TSequence { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.tintseq_in(_c_str, C.interpType(interp)) + return TSequence{_inner: res} +} + + +// TintseqsetIn wraps MEOS C function tintseqset_in. +func TintseqsetIn(str string) TSequenceSet { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.tintseqset_in(_c_str) + return TSequenceSet{_inner: res} +} + + +// TsequenceIn wraps MEOS C function tsequence_in. +func TsequenceIn(str string, temptype MeosType, interp Interpolation) TSequence { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.tsequence_in(_c_str, C.meosType(temptype), C.interpType(interp)) + return TSequence{_inner: res} +} + + +// TsequenceOut wraps MEOS C function tsequence_out. +func TsequenceOut(seq TSequence, maxdd int) string { + res := C.tsequence_out(seq.Inner(), C.int(maxdd)) + return C.GoString(res) +} + + +// TsequencesetIn wraps MEOS C function tsequenceset_in. +func TsequencesetIn(str string, temptype MeosType, interp Interpolation) TSequenceSet { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.tsequenceset_in(_c_str, C.meosType(temptype), C.interpType(interp)) + return TSequenceSet{_inner: res} +} + + +// TsequencesetOut wraps MEOS C function tsequenceset_out. +func TsequencesetOut(ss TSequenceSet, maxdd int) string { + res := C.tsequenceset_out(ss.Inner(), C.int(maxdd)) + return C.GoString(res) +} + + +// TtextinstIn wraps MEOS C function ttextinst_in. +func TtextinstIn(str string) TInstant { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.ttextinst_in(_c_str) + return TInstant{_inner: res} +} + + +// TtextseqIn wraps MEOS C function ttextseq_in. +func TtextseqIn(str string, interp Interpolation) TSequence { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.ttextseq_in(_c_str, C.interpType(interp)) + return TSequence{_inner: res} +} + + +// TtextseqsetIn wraps MEOS C function ttextseqset_in. +func TtextseqsetIn(str string) TSequenceSet { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.ttextseqset_in(_c_str) + return TSequenceSet{_inner: res} +} + + +// TemporalFromMFJSON wraps MEOS C function temporal_from_mfjson. +func TemporalFromMFJSON(mfjson string, temptype MeosType) Temporal { + _c_mfjson := C.CString(mfjson) + defer C.free(unsafe.Pointer(_c_mfjson)) + res := C.temporal_from_mfjson(_c_mfjson, C.meosType(temptype)) + return CreateTemporal(res) +} + + +// TinstantCopy wraps MEOS C function tinstant_copy. +func TinstantCopy(inst TInstant) TInstant { + res := C.tinstant_copy(inst.Inner()) + return TInstant{_inner: res} +} + + +// TsequenceCopy wraps MEOS C function tsequence_copy. +func TsequenceCopy(seq TSequence) TSequence { + res := C.tsequence_copy(seq.Inner()) + return TSequence{_inner: res} +} + + +// TODO tsequence_make_exp: unsupported param TInstant ** +// func TsequenceMakeExp(...) { /* not yet handled by codegen */ } + + +// TODO tsequence_make_free: unsupported param TInstant ** +// func TsequenceMakeFree(...) { /* not yet handled by codegen */ } + + +// TsequencesetCopy wraps MEOS C function tsequenceset_copy. +func TsequencesetCopy(ss TSequenceSet) TSequenceSet { + res := C.tsequenceset_copy(ss.Inner()) + return TSequenceSet{_inner: res} +} + + +// TODO tseqsetarr_to_tseqset: unsupported param TSequenceSet ** +// func TseqsetarrToTseqset(...) { /* not yet handled by codegen */ } + + +// TODO tsequenceset_make_exp: unsupported param TSequence ** +// func TsequencesetMakeExp(...) { /* not yet handled by codegen */ } + + +// TODO tsequenceset_make_free: unsupported param TSequence ** +// func TsequencesetMakeFree(...) { /* not yet handled by codegen */ } + + +// TemporalSetTstzspan wraps MEOS C function temporal_set_tstzspan. +func TemporalSetTstzspan(temp Temporal, s *Span) { + C.temporal_set_tstzspan(temp.Inner(), s._inner) +} + + +// TinstantSetTstzspan wraps MEOS C function tinstant_set_tstzspan. +func TinstantSetTstzspan(inst TInstant, s *Span) { + C.tinstant_set_tstzspan(inst.Inner(), s._inner) +} + + +// TnumberSetTBOX wraps MEOS C function tnumber_set_tbox. +func TnumberSetTBOX(temp Temporal, box *TBox) { + C.tnumber_set_tbox(temp.Inner(), box._inner) +} + + +// TnumberinstSetTBOX wraps MEOS C function tnumberinst_set_tbox. +func TnumberinstSetTBOX(inst TInstant, box *TBox) { + C.tnumberinst_set_tbox(inst.Inner(), box._inner) +} + + +// TnumberseqSetTBOX wraps MEOS C function tnumberseq_set_tbox. +func TnumberseqSetTBOX(seq TSequence, box *TBox) { + C.tnumberseq_set_tbox(seq.Inner(), box._inner) +} + + +// TnumberseqsetSetTBOX wraps MEOS C function tnumberseqset_set_tbox. +func TnumberseqsetSetTBOX(ss TSequenceSet, box *TBox) { + C.tnumberseqset_set_tbox(ss.Inner(), box._inner) +} + + +// TsequenceSetTstzspan wraps MEOS C function tsequence_set_tstzspan. +func TsequenceSetTstzspan(seq TSequence, s *Span) { + C.tsequence_set_tstzspan(seq.Inner(), s._inner) +} + + +// TsequencesetSetTstzspan wraps MEOS C function tsequenceset_set_tstzspan. +func TsequencesetSetTstzspan(ss TSequenceSet, s *Span) { + C.tsequenceset_set_tstzspan(ss.Inner(), s._inner) +} + + +// TemporalEndInst wraps MEOS C function temporal_end_inst. +func TemporalEndInst(temp Temporal) TInstant { + res := C.temporal_end_inst(temp.Inner()) + return TInstant{_inner: res} +} + + +// TemporalInstN wraps MEOS C function temporal_inst_n. +func TemporalInstN(temp Temporal, n int) TInstant { + res := C.temporal_inst_n(temp.Inner(), C.int(n)) + return TInstant{_inner: res} +} + + +// TODO temporal_insts_p: unsupported return type const TInstant ** +// func TemporalInstsP(...) { /* not yet handled by codegen */ } + + +// TemporalMaxInstP wraps MEOS C function temporal_max_inst_p. +func TemporalMaxInstP(temp Temporal) TInstant { + res := C.temporal_max_inst_p(temp.Inner()) + return TInstant{_inner: res} +} + + +// TemporalMemSize wraps MEOS C function temporal_mem_size. +func TemporalMemSize(temp Temporal) uint { + res := C.temporal_mem_size(temp.Inner()) + return uint(res) +} + + +// TemporalMinInstP wraps MEOS C function temporal_min_inst_p. +func TemporalMinInstP(temp Temporal) TInstant { + res := C.temporal_min_inst_p(temp.Inner()) + return TInstant{_inner: res} +} + + +// TODO temporal_sequences_p: unsupported return type const TSequence ** +// func TemporalSequencesP(...) { /* not yet handled by codegen */ } + + +// TODO temporal_set_bbox: unsupported param void * +// func TemporalSetBbox(...) { /* not yet handled by codegen */ } + + +// TemporalStartInst wraps MEOS C function temporal_start_inst. +func TemporalStartInst(temp Temporal) TInstant { + res := C.temporal_start_inst(temp.Inner()) + return TInstant{_inner: res} +} + + +// TinstantHash wraps MEOS C function tinstant_hash. +func TinstantHash(inst TInstant) uint32 { + res := C.tinstant_hash(inst.Inner()) + return uint32(res) +} + + +// TODO tinstant_insts: unsupported return type const TInstant ** +// func TinstantInsts(...) { /* not yet handled by codegen */ } + + +// TODO tinstant_set_bbox: unsupported param void * +// func TinstantSetBbox(...) { /* not yet handled by codegen */ } + + +// TinstantTime wraps MEOS C function tinstant_time. +func TinstantTime(inst TInstant) *SpanSet { + res := C.tinstant_time(inst.Inner()) + return &SpanSet{_inner: res} +} + + +// TODO tinstant_timestamps: unsupported return type TimestampTz * +// func TinstantTimestamps(...) { /* not yet handled by codegen */ } + + +// TnumberSetSpan wraps MEOS C function tnumber_set_span. +func TnumberSetSpan(temp Temporal, span *Span) { + C.tnumber_set_span(temp.Inner(), span._inner) +} + + +// TnumberinstValuespans wraps MEOS C function tnumberinst_valuespans. +func TnumberinstValuespans(inst TInstant) *SpanSet { + res := C.tnumberinst_valuespans(inst.Inner()) + return &SpanSet{_inner: res} +} + + +// TnumberseqAvgVal wraps MEOS C function tnumberseq_avg_val. +func TnumberseqAvgVal(seq TSequence) float64 { + res := C.tnumberseq_avg_val(seq.Inner()) + return float64(res) +} + + +// TnumberseqValuespans wraps MEOS C function tnumberseq_valuespans. +func TnumberseqValuespans(seq TSequence) *SpanSet { + res := C.tnumberseq_valuespans(seq.Inner()) + return &SpanSet{_inner: res} +} + + +// TnumberseqsetAvgVal wraps MEOS C function tnumberseqset_avg_val. +func TnumberseqsetAvgVal(ss TSequenceSet) float64 { + res := C.tnumberseqset_avg_val(ss.Inner()) + return float64(res) +} + + +// TnumberseqsetValuespans wraps MEOS C function tnumberseqset_valuespans. +func TnumberseqsetValuespans(ss TSequenceSet) *SpanSet { + res := C.tnumberseqset_valuespans(ss.Inner()) + return &SpanSet{_inner: res} +} + + +// TsequenceDuration wraps MEOS C function tsequence_duration. +func TsequenceDuration(seq TSequence) timeutil.Timedelta { + res := C.tsequence_duration(seq.Inner()) + return IntervalToTimeDelta(res) +} + + +// TsequenceEndTimestamptz wraps MEOS C function tsequence_end_timestamptz. +func TsequenceEndTimestamptz(seq TSequence) int64 { + res := C.tsequence_end_timestamptz(seq.Inner()) + return int64(res) +} + + +// TsequenceHash wraps MEOS C function tsequence_hash. +func TsequenceHash(seq TSequence) uint32 { + res := C.tsequence_hash(seq.Inner()) + return uint32(res) +} + + +// TODO tsequence_insts_p: unsupported return type const TInstant ** +// func TsequenceInstsP(...) { /* not yet handled by codegen */ } + + +// TsequenceMaxInstP wraps MEOS C function tsequence_max_inst_p. +func TsequenceMaxInstP(seq TSequence) TInstant { + res := C.tsequence_max_inst_p(seq.Inner()) + return TInstant{_inner: res} +} + + +// TsequenceMinInstP wraps MEOS C function tsequence_min_inst_p. +func TsequenceMinInstP(seq TSequence) TInstant { + res := C.tsequence_min_inst_p(seq.Inner()) + return TInstant{_inner: res} +} + + +// TODO tsequence_segments: unsupported return type TSequence ** +// func TsequenceSegments(...) { /* not yet handled by codegen */ } + + +// TODO tsequence_seqs: unsupported return type const TSequence ** +// func TsequenceSeqs(...) { /* not yet handled by codegen */ } + + +// TsequenceStartTimestamptz wraps MEOS C function tsequence_start_timestamptz. +func TsequenceStartTimestamptz(seq TSequence) int64 { + res := C.tsequence_start_timestamptz(seq.Inner()) + return int64(res) +} + + +// TsequenceTime wraps MEOS C function tsequence_time. +func TsequenceTime(seq TSequence) *SpanSet { + res := C.tsequence_time(seq.Inner()) + return &SpanSet{_inner: res} +} + + +// TODO tsequence_timestamps: unsupported return type TimestampTz * +// func TsequenceTimestamps(...) { /* not yet handled by codegen */ } + + +// TsequencesetDuration wraps MEOS C function tsequenceset_duration. +func TsequencesetDuration(ss TSequenceSet, boundspan bool) timeutil.Timedelta { + res := C.tsequenceset_duration(ss.Inner(), C.bool(boundspan)) + return IntervalToTimeDelta(res) +} + + +// TsequencesetEndTimestamptz wraps MEOS C function tsequenceset_end_timestamptz. +func TsequencesetEndTimestamptz(ss TSequenceSet) int64 { + res := C.tsequenceset_end_timestamptz(ss.Inner()) + return int64(res) +} + + +// TsequencesetHash wraps MEOS C function tsequenceset_hash. +func TsequencesetHash(ss TSequenceSet) uint32 { + res := C.tsequenceset_hash(ss.Inner()) + return uint32(res) +} + + +// TsequencesetInstN wraps MEOS C function tsequenceset_inst_n. +func TsequencesetInstN(ss TSequenceSet, n int) TInstant { + res := C.tsequenceset_inst_n(ss.Inner(), C.int(n)) + return TInstant{_inner: res} +} + + +// TODO tsequenceset_insts_p: unsupported return type const TInstant ** +// func TsequencesetInstsP(...) { /* not yet handled by codegen */ } + + +// TsequencesetMaxInstP wraps MEOS C function tsequenceset_max_inst_p. +func TsequencesetMaxInstP(ss TSequenceSet) TInstant { + res := C.tsequenceset_max_inst_p(ss.Inner()) + return TInstant{_inner: res} +} + + +// TsequencesetMinInstP wraps MEOS C function tsequenceset_min_inst_p. +func TsequencesetMinInstP(ss TSequenceSet) TInstant { + res := C.tsequenceset_min_inst_p(ss.Inner()) + return TInstant{_inner: res} +} + + +// TsequencesetNumInstants wraps MEOS C function tsequenceset_num_instants. +func TsequencesetNumInstants(ss TSequenceSet) int { + res := C.tsequenceset_num_instants(ss.Inner()) + return int(res) +} + + +// TsequencesetNumTimestamps wraps MEOS C function tsequenceset_num_timestamps. +func TsequencesetNumTimestamps(ss TSequenceSet) int { + res := C.tsequenceset_num_timestamps(ss.Inner()) + return int(res) +} + + +// TODO tsequenceset_segments: unsupported return type TSequence ** +// func TsequencesetSegments(...) { /* not yet handled by codegen */ } + + +// TODO tsequenceset_sequences_p: unsupported return type const TSequence ** +// func TsequencesetSequencesP(...) { /* not yet handled by codegen */ } + + +// TsequencesetStartTimestamptz wraps MEOS C function tsequenceset_start_timestamptz. +func TsequencesetStartTimestamptz(ss TSequenceSet) int64 { + res := C.tsequenceset_start_timestamptz(ss.Inner()) + return int64(res) +} + + +// TsequencesetTime wraps MEOS C function tsequenceset_time. +func TsequencesetTime(ss TSequenceSet) *SpanSet { + res := C.tsequenceset_time(ss.Inner()) + return &SpanSet{_inner: res} +} + + +// TODO tsequenceset_timestamptz_n: unsupported param TimestampTz * +// func TsequencesetTimestamptzN(...) { /* not yet handled by codegen */ } + + +// TODO tsequenceset_timestamps: unsupported return type TimestampTz * +// func TsequencesetTimestamps(...) { /* not yet handled by codegen */ } + + +// TemporalRestart wraps MEOS C function temporal_restart. +func TemporalRestart(temp Temporal, count int) { + C.temporal_restart(temp.Inner(), C.int(count)) +} + + +// TemporalTsequence wraps MEOS C function temporal_tsequence. +func TemporalTsequence(temp Temporal, interp Interpolation) TSequence { + res := C.temporal_tsequence(temp.Inner(), C.interpType(interp)) + return TSequence{_inner: res} +} + + +// TemporalTsequenceset wraps MEOS C function temporal_tsequenceset. +func TemporalTsequenceset(temp Temporal, interp Interpolation) TSequenceSet { + res := C.temporal_tsequenceset(temp.Inner(), C.interpType(interp)) + return TSequenceSet{_inner: res} +} + + +// TinstantShiftTime wraps MEOS C function tinstant_shift_time. +func TinstantShiftTime(inst TInstant, interv timeutil.Timedelta) TInstant { + res := C.tinstant_shift_time(inst.Inner(), interv.Inner()) + return TInstant{_inner: res} +} + + +// TinstantToTsequence wraps MEOS C function tinstant_to_tsequence. +func TinstantToTsequence(inst TInstant, interp Interpolation) TSequence { + res := C.tinstant_to_tsequence(inst.Inner(), C.interpType(interp)) + return TSequence{_inner: res} +} + + +// TinstantToTsequenceFree wraps MEOS C function tinstant_to_tsequence_free. +func TinstantToTsequenceFree(inst TInstant, interp Interpolation) TSequence { + res := C.tinstant_to_tsequence_free(inst.Inner(), C.interpType(interp)) + return TSequence{_inner: res} +} + + +// TinstantToTsequenceset wraps MEOS C function tinstant_to_tsequenceset. +func TinstantToTsequenceset(inst TInstant, interp Interpolation) TSequenceSet { + res := C.tinstant_to_tsequenceset(inst.Inner(), C.interpType(interp)) + return TSequenceSet{_inner: res} +} + + +// TsequenceRestart wraps MEOS C function tsequence_restart. +func TsequenceRestart(seq TSequence, count int) { + C.tsequence_restart(seq.Inner(), C.int(count)) +} + + +// TsequenceSetInterp wraps MEOS C function tsequence_set_interp. +func TsequenceSetInterp(seq TSequence, interp Interpolation) Temporal { + res := C.tsequence_set_interp(seq.Inner(), C.interpType(interp)) + return CreateTemporal(res) +} + + +// TsequenceShiftScaleTime wraps MEOS C function tsequence_shift_scale_time. +func TsequenceShiftScaleTime(seq TSequence, shift timeutil.Timedelta, duration timeutil.Timedelta) TSequence { + res := C.tsequence_shift_scale_time(seq.Inner(), shift.Inner(), duration.Inner()) + return TSequence{_inner: res} +} + + +// TsequenceSubseq wraps MEOS C function tsequence_subseq. +func TsequenceSubseq(seq TSequence, from int, to int, lower_inc bool, upper_inc bool) TSequence { + res := C.tsequence_subseq(seq.Inner(), C.int(from), C.int(to), C.bool(lower_inc), C.bool(upper_inc)) + return TSequence{_inner: res} +} + + +// TsequenceToTinstant wraps MEOS C function tsequence_to_tinstant. +func TsequenceToTinstant(seq TSequence) TInstant { + res := C.tsequence_to_tinstant(seq.Inner()) + return TInstant{_inner: res} +} + + +// TsequenceToTsequenceset wraps MEOS C function tsequence_to_tsequenceset. +func TsequenceToTsequenceset(seq TSequence) TSequenceSet { + res := C.tsequence_to_tsequenceset(seq.Inner()) + return TSequenceSet{_inner: res} +} + + +// TsequenceToTsequencesetFree wraps MEOS C function tsequence_to_tsequenceset_free. +func TsequenceToTsequencesetFree(seq TSequence) TSequenceSet { + res := C.tsequence_to_tsequenceset_free(seq.Inner()) + return TSequenceSet{_inner: res} +} + + +// TsequenceToTsequencesetInterp wraps MEOS C function tsequence_to_tsequenceset_interp. +func TsequenceToTsequencesetInterp(seq TSequence, interp Interpolation) TSequenceSet { + res := C.tsequence_to_tsequenceset_interp(seq.Inner(), C.interpType(interp)) + return TSequenceSet{_inner: res} +} + + +// TsequencesetRestart wraps MEOS C function tsequenceset_restart. +func TsequencesetRestart(ss TSequenceSet, count int) { + C.tsequenceset_restart(ss.Inner(), C.int(count)) +} + + +// TsequencesetSetInterp wraps MEOS C function tsequenceset_set_interp. +func TsequencesetSetInterp(ss TSequenceSet, interp Interpolation) Temporal { + res := C.tsequenceset_set_interp(ss.Inner(), C.interpType(interp)) + return CreateTemporal(res) +} + + +// TsequencesetShiftScaleTime wraps MEOS C function tsequenceset_shift_scale_time. +func TsequencesetShiftScaleTime(ss TSequenceSet, start timeutil.Timedelta, duration timeutil.Timedelta) TSequenceSet { + res := C.tsequenceset_shift_scale_time(ss.Inner(), start.Inner(), duration.Inner()) + return TSequenceSet{_inner: res} +} + + +// TsequencesetToDiscrete wraps MEOS C function tsequenceset_to_discrete. +func TsequencesetToDiscrete(ss TSequenceSet) TSequence { + res := C.tsequenceset_to_discrete(ss.Inner()) + return TSequence{_inner: res} +} + + +// TsequencesetToLinear wraps MEOS C function tsequenceset_to_linear. +func TsequencesetToLinear(ss TSequenceSet) TSequenceSet { + res := C.tsequenceset_to_linear(ss.Inner()) + return TSequenceSet{_inner: res} +} + + +// TsequencesetToStep wraps MEOS C function tsequenceset_to_step. +func TsequencesetToStep(ss TSequenceSet) TSequenceSet { + res := C.tsequenceset_to_step(ss.Inner()) + return TSequenceSet{_inner: res} +} + + +// TsequencesetToTinstant wraps MEOS C function tsequenceset_to_tinstant. +func TsequencesetToTinstant(ss TSequenceSet) TInstant { + res := C.tsequenceset_to_tinstant(ss.Inner()) + return TInstant{_inner: res} +} + + +// TsequencesetToTsequence wraps MEOS C function tsequenceset_to_tsequence. +func TsequencesetToTsequence(ss TSequenceSet) TSequence { + res := C.tsequenceset_to_tsequence(ss.Inner()) + return TSequence{_inner: res} +} + + +// TinstantMerge wraps MEOS C function tinstant_merge. +func TinstantMerge(inst1 TInstant, inst2 TInstant) Temporal { + res := C.tinstant_merge(inst1.Inner(), inst2.Inner()) + return CreateTemporal(res) +} + + +// TODO tinstant_merge_array: unsupported param TInstant ** +// func TinstantMergeArray(...) { /* not yet handled by codegen */ } + + +// TsequenceAppendTinstant wraps MEOS C function tsequence_append_tinstant. +func TsequenceAppendTinstant(seq TSequence, inst TInstant, maxdist float64, maxt timeutil.Timedelta, expand bool) Temporal { + res := C.tsequence_append_tinstant(seq.Inner(), inst.Inner(), C.double(maxdist), maxt.Inner(), C.bool(expand)) + return CreateTemporal(res) +} + + +// TsequenceAppendTsequence wraps MEOS C function tsequence_append_tsequence. +func TsequenceAppendTsequence(seq1 TSequence, seq2 TSequence, expand bool) Temporal { + res := C.tsequence_append_tsequence(seq1.Inner(), seq2.Inner(), C.bool(expand)) + return CreateTemporal(res) +} + + +// TsequenceDeleteTimestamptz wraps MEOS C function tsequence_delete_timestamptz. +func TsequenceDeleteTimestamptz(seq TSequence, t int64, connect bool) Temporal { + res := C.tsequence_delete_timestamptz(seq.Inner(), C.TimestampTz(t), C.bool(connect)) + return CreateTemporal(res) +} + + +// TsequenceDeleteTstzset wraps MEOS C function tsequence_delete_tstzset. +func TsequenceDeleteTstzset(seq TSequence, s *Set, connect bool) Temporal { + res := C.tsequence_delete_tstzset(seq.Inner(), s._inner, C.bool(connect)) + return CreateTemporal(res) +} + + +// TsequenceDeleteTstzspan wraps MEOS C function tsequence_delete_tstzspan. +func TsequenceDeleteTstzspan(seq TSequence, s *Span, connect bool) Temporal { + res := C.tsequence_delete_tstzspan(seq.Inner(), s._inner, C.bool(connect)) + return CreateTemporal(res) +} + + +// TsequenceDeleteTstzspanset wraps MEOS C function tsequence_delete_tstzspanset. +func TsequenceDeleteTstzspanset(seq TSequence, ss *SpanSet, connect bool) Temporal { + res := C.tsequence_delete_tstzspanset(seq.Inner(), ss._inner, C.bool(connect)) + return CreateTemporal(res) +} + + +// TsequenceInsert wraps MEOS C function tsequence_insert. +func TsequenceInsert(seq1 TSequence, seq2 TSequence, connect bool) Temporal { + res := C.tsequence_insert(seq1.Inner(), seq2.Inner(), C.bool(connect)) + return CreateTemporal(res) +} + + +// TsequenceMerge wraps MEOS C function tsequence_merge. +func TsequenceMerge(seq1 TSequence, seq2 TSequence) Temporal { + res := C.tsequence_merge(seq1.Inner(), seq2.Inner()) + return CreateTemporal(res) +} + + +// TODO tsequence_merge_array: unsupported param TSequence ** +// func TsequenceMergeArray(...) { /* not yet handled by codegen */ } + + +// TsequencesetAppendTinstant wraps MEOS C function tsequenceset_append_tinstant. +func TsequencesetAppendTinstant(ss TSequenceSet, inst TInstant, maxdist float64, maxt timeutil.Timedelta, expand bool) TSequenceSet { + res := C.tsequenceset_append_tinstant(ss.Inner(), inst.Inner(), C.double(maxdist), maxt.Inner(), C.bool(expand)) + return TSequenceSet{_inner: res} +} + + +// TsequencesetAppendTsequence wraps MEOS C function tsequenceset_append_tsequence. +func TsequencesetAppendTsequence(ss TSequenceSet, seq TSequence, expand bool) TSequenceSet { + res := C.tsequenceset_append_tsequence(ss.Inner(), seq.Inner(), C.bool(expand)) + return TSequenceSet{_inner: res} +} + + +// TsequencesetDeleteTimestamptz wraps MEOS C function tsequenceset_delete_timestamptz. +func TsequencesetDeleteTimestamptz(ss TSequenceSet, t int64) TSequenceSet { + res := C.tsequenceset_delete_timestamptz(ss.Inner(), C.TimestampTz(t)) + return TSequenceSet{_inner: res} +} + + +// TsequencesetDeleteTstzset wraps MEOS C function tsequenceset_delete_tstzset. +func TsequencesetDeleteTstzset(ss TSequenceSet, s *Set) TSequenceSet { + res := C.tsequenceset_delete_tstzset(ss.Inner(), s._inner) + return TSequenceSet{_inner: res} +} + + +// TsequencesetDeleteTstzspan wraps MEOS C function tsequenceset_delete_tstzspan. +func TsequencesetDeleteTstzspan(ss TSequenceSet, s *Span) TSequenceSet { + res := C.tsequenceset_delete_tstzspan(ss.Inner(), s._inner) + return TSequenceSet{_inner: res} +} + + +// TsequencesetDeleteTstzspanset wraps MEOS C function tsequenceset_delete_tstzspanset. +func TsequencesetDeleteTstzspanset(ss TSequenceSet, ps *SpanSet) TSequenceSet { + res := C.tsequenceset_delete_tstzspanset(ss.Inner(), ps._inner) + return TSequenceSet{_inner: res} +} + + +// TsequencesetInsert wraps MEOS C function tsequenceset_insert. +func TsequencesetInsert(ss1 TSequenceSet, ss2 TSequenceSet) TSequenceSet { + res := C.tsequenceset_insert(ss1.Inner(), ss2.Inner()) + return TSequenceSet{_inner: res} +} + + +// TsequencesetMerge wraps MEOS C function tsequenceset_merge. +func TsequencesetMerge(ss1 TSequenceSet, ss2 TSequenceSet) TSequenceSet { + res := C.tsequenceset_merge(ss1.Inner(), ss2.Inner()) + return TSequenceSet{_inner: res} +} + + +// TODO tsequenceset_merge_array: unsupported param TSequenceSet ** +// func TsequencesetMergeArray(...) { /* not yet handled by codegen */ } + + +// TsequenceExpandBbox wraps MEOS C function tsequence_expand_bbox. +func TsequenceExpandBbox(seq TSequence, inst TInstant) { + C.tsequence_expand_bbox(seq.Inner(), inst.Inner()) +} + + +// TODO tsequence_set_bbox: unsupported param void * +// func TsequenceSetBbox(...) { /* not yet handled by codegen */ } + + +// TsequencesetExpandBbox wraps MEOS C function tsequenceset_expand_bbox. +func TsequencesetExpandBbox(ss TSequenceSet, seq TSequence) { + C.tsequenceset_expand_bbox(ss.Inner(), seq.Inner()) +} + + +// TODO tsequenceset_set_bbox: unsupported param void * +// func TsequencesetSetBbox(...) { /* not yet handled by codegen */ } + + +// TcontseqAfterTimestamptz wraps MEOS C function tcontseq_after_timestamptz. +func TcontseqAfterTimestamptz(seq TSequence, t int64, strict bool) TSequence { + res := C.tcontseq_after_timestamptz(seq.Inner(), C.TimestampTz(t), C.bool(strict)) + return TSequence{_inner: res} +} + + +// TcontseqBeforeTimestamptz wraps MEOS C function tcontseq_before_timestamptz. +func TcontseqBeforeTimestamptz(seq TSequence, t int64, strict bool) TSequence { + res := C.tcontseq_before_timestamptz(seq.Inner(), C.TimestampTz(t), C.bool(strict)) + return TSequence{_inner: res} +} + + +// TcontseqRestrictMinmax wraps MEOS C function tcontseq_restrict_minmax. +func TcontseqRestrictMinmax(seq TSequence, min bool, atfunc bool) TSequenceSet { + res := C.tcontseq_restrict_minmax(seq.Inner(), C.bool(min), C.bool(atfunc)) + return TSequenceSet{_inner: res} +} + + +// TdiscseqAfterTimestamptz wraps MEOS C function tdiscseq_after_timestamptz. +func TdiscseqAfterTimestamptz(seq TSequence, t int64, strict bool) TSequence { + res := C.tdiscseq_after_timestamptz(seq.Inner(), C.TimestampTz(t), C.bool(strict)) + return TSequence{_inner: res} +} + + +// TdiscseqBeforeTimestamptz wraps MEOS C function tdiscseq_before_timestamptz. +func TdiscseqBeforeTimestamptz(seq TSequence, t int64, strict bool) TSequence { + res := C.tdiscseq_before_timestamptz(seq.Inner(), C.TimestampTz(t), C.bool(strict)) + return TSequence{_inner: res} +} + + +// TdiscseqRestrictMinmax wraps MEOS C function tdiscseq_restrict_minmax. +func TdiscseqRestrictMinmax(seq TSequence, min bool, atfunc bool) TSequence { + res := C.tdiscseq_restrict_minmax(seq.Inner(), C.bool(min), C.bool(atfunc)) + return TSequence{_inner: res} +} + + +// TemporalBboxRestrictSet wraps MEOS C function temporal_bbox_restrict_set. +func TemporalBboxRestrictSet(temp Temporal, set *Set) bool { + res := C.temporal_bbox_restrict_set(temp.Inner(), set._inner) + return bool(res) +} + + +// TemporalRestrictMinmax wraps MEOS C function temporal_restrict_minmax. +func TemporalRestrictMinmax(temp Temporal, min bool, atfunc bool) Temporal { + res := C.temporal_restrict_minmax(temp.Inner(), C.bool(min), C.bool(atfunc)) + return CreateTemporal(res) +} + + +// TemporalRestrictTimestamptz wraps MEOS C function temporal_restrict_timestamptz. +func TemporalRestrictTimestamptz(temp Temporal, t int64, atfunc bool) Temporal { + res := C.temporal_restrict_timestamptz(temp.Inner(), C.TimestampTz(t), C.bool(atfunc)) + return CreateTemporal(res) +} + + +// TemporalRestrictTstzset wraps MEOS C function temporal_restrict_tstzset. +func TemporalRestrictTstzset(temp Temporal, s *Set, atfunc bool) Temporal { + res := C.temporal_restrict_tstzset(temp.Inner(), s._inner, C.bool(atfunc)) + return CreateTemporal(res) +} + + +// TemporalRestrictTstzspan wraps MEOS C function temporal_restrict_tstzspan. +func TemporalRestrictTstzspan(temp Temporal, s *Span, atfunc bool) Temporal { + res := C.temporal_restrict_tstzspan(temp.Inner(), s._inner, C.bool(atfunc)) + return CreateTemporal(res) +} + + +// TemporalRestrictTstzspanset wraps MEOS C function temporal_restrict_tstzspanset. +func TemporalRestrictTstzspanset(temp Temporal, ss *SpanSet, atfunc bool) Temporal { + res := C.temporal_restrict_tstzspanset(temp.Inner(), ss._inner, C.bool(atfunc)) + return CreateTemporal(res) +} + + +// TemporalRestrictValues wraps MEOS C function temporal_restrict_values. +func TemporalRestrictValues(temp Temporal, set *Set, atfunc bool) Temporal { + res := C.temporal_restrict_values(temp.Inner(), set._inner, C.bool(atfunc)) + return CreateTemporal(res) +} + + +// TinstantAfterTimestamptz wraps MEOS C function tinstant_after_timestamptz. +func TinstantAfterTimestamptz(inst TInstant, t int64, strict bool) TInstant { + res := C.tinstant_after_timestamptz(inst.Inner(), C.TimestampTz(t), C.bool(strict)) + return TInstant{_inner: res} +} + + +// TinstantBeforeTimestamptz wraps MEOS C function tinstant_before_timestamptz. +func TinstantBeforeTimestamptz(inst TInstant, t int64, strict bool) TInstant { + res := C.tinstant_before_timestamptz(inst.Inner(), C.TimestampTz(t), C.bool(strict)) + return TInstant{_inner: res} +} + + +// TinstantRestrictTstzspan wraps MEOS C function tinstant_restrict_tstzspan. +func TinstantRestrictTstzspan(inst TInstant, period *Span, atfunc bool) TInstant { + res := C.tinstant_restrict_tstzspan(inst.Inner(), period._inner, C.bool(atfunc)) + return TInstant{_inner: res} +} + + +// TinstantRestrictTstzspanset wraps MEOS C function tinstant_restrict_tstzspanset. +func TinstantRestrictTstzspanset(inst TInstant, ss *SpanSet, atfunc bool) TInstant { + res := C.tinstant_restrict_tstzspanset(inst.Inner(), ss._inner, C.bool(atfunc)) + return TInstant{_inner: res} +} + + +// TinstantRestrictTimestamptz wraps MEOS C function tinstant_restrict_timestamptz. +func TinstantRestrictTimestamptz(inst TInstant, t int64, atfunc bool) TInstant { + res := C.tinstant_restrict_timestamptz(inst.Inner(), C.TimestampTz(t), C.bool(atfunc)) + return TInstant{_inner: res} +} + + +// TinstantRestrictTstzset wraps MEOS C function tinstant_restrict_tstzset. +func TinstantRestrictTstzset(inst TInstant, s *Set, atfunc bool) TInstant { + res := C.tinstant_restrict_tstzset(inst.Inner(), s._inner, C.bool(atfunc)) + return TInstant{_inner: res} +} + + +// TinstantRestrictValues wraps MEOS C function tinstant_restrict_values. +func TinstantRestrictValues(inst TInstant, set *Set, atfunc bool) TInstant { + res := C.tinstant_restrict_values(inst.Inner(), set._inner, C.bool(atfunc)) + return TInstant{_inner: res} +} + + +// TnumberRestrictSpan wraps MEOS C function tnumber_restrict_span. +func TnumberRestrictSpan(temp Temporal, span *Span, atfunc bool) Temporal { + res := C.tnumber_restrict_span(temp.Inner(), span._inner, C.bool(atfunc)) + return CreateTemporal(res) +} + + +// TnumberRestrictSpanset wraps MEOS C function tnumber_restrict_spanset. +func TnumberRestrictSpanset(temp Temporal, ss *SpanSet, atfunc bool) Temporal { + res := C.tnumber_restrict_spanset(temp.Inner(), ss._inner, C.bool(atfunc)) + return CreateTemporal(res) +} + + +// TnumberinstRestrictSpan wraps MEOS C function tnumberinst_restrict_span. +func TnumberinstRestrictSpan(inst TInstant, span *Span, atfunc bool) TInstant { + res := C.tnumberinst_restrict_span(inst.Inner(), span._inner, C.bool(atfunc)) + return TInstant{_inner: res} +} + + +// TnumberinstRestrictSpanset wraps MEOS C function tnumberinst_restrict_spanset. +func TnumberinstRestrictSpanset(inst TInstant, ss *SpanSet, atfunc bool) TInstant { + res := C.tnumberinst_restrict_spanset(inst.Inner(), ss._inner, C.bool(atfunc)) + return TInstant{_inner: res} +} + + +// TnumberseqsetRestrictSpan wraps MEOS C function tnumberseqset_restrict_span. +func TnumberseqsetRestrictSpan(ss TSequenceSet, span *Span, atfunc bool) TSequenceSet { + res := C.tnumberseqset_restrict_span(ss.Inner(), span._inner, C.bool(atfunc)) + return TSequenceSet{_inner: res} +} + + +// TnumberseqsetRestrictSpanset wraps MEOS C function tnumberseqset_restrict_spanset. +func TnumberseqsetRestrictSpanset(ss TSequenceSet, spanset *SpanSet, atfunc bool) TSequenceSet { + res := C.tnumberseqset_restrict_spanset(ss.Inner(), spanset._inner, C.bool(atfunc)) + return TSequenceSet{_inner: res} +} + + +// TsequenceAtTimestamptz wraps MEOS C function tsequence_at_timestamptz. +func TsequenceAtTimestamptz(seq TSequence, t int64) TInstant { + res := C.tsequence_at_timestamptz(seq.Inner(), C.TimestampTz(t)) + return TInstant{_inner: res} +} + + +// TsequenceRestrictTstzspan wraps MEOS C function tsequence_restrict_tstzspan. +func TsequenceRestrictTstzspan(seq TSequence, s *Span, atfunc bool) Temporal { + res := C.tsequence_restrict_tstzspan(seq.Inner(), s._inner, C.bool(atfunc)) + return CreateTemporal(res) +} + + +// TsequenceRestrictTstzspanset wraps MEOS C function tsequence_restrict_tstzspanset. +func TsequenceRestrictTstzspanset(seq TSequence, ss *SpanSet, atfunc bool) Temporal { + res := C.tsequence_restrict_tstzspanset(seq.Inner(), ss._inner, C.bool(atfunc)) + return CreateTemporal(res) +} + + +// TsequencesetAfterTimestamptz wraps MEOS C function tsequenceset_after_timestamptz. +func TsequencesetAfterTimestamptz(ss TSequenceSet, t int64, strict bool) TSequenceSet { + res := C.tsequenceset_after_timestamptz(ss.Inner(), C.TimestampTz(t), C.bool(strict)) + return TSequenceSet{_inner: res} +} + + +// TsequencesetBeforeTimestamptz wraps MEOS C function tsequenceset_before_timestamptz. +func TsequencesetBeforeTimestamptz(ss TSequenceSet, t int64, strict bool) TSequenceSet { + res := C.tsequenceset_before_timestamptz(ss.Inner(), C.TimestampTz(t), C.bool(strict)) + return TSequenceSet{_inner: res} +} + + +// TsequencesetRestrictMinmax wraps MEOS C function tsequenceset_restrict_minmax. +func TsequencesetRestrictMinmax(ss TSequenceSet, min bool, atfunc bool) TSequenceSet { + res := C.tsequenceset_restrict_minmax(ss.Inner(), C.bool(min), C.bool(atfunc)) + return TSequenceSet{_inner: res} +} + + +// TsequencesetRestrictTstzspan wraps MEOS C function tsequenceset_restrict_tstzspan. +func TsequencesetRestrictTstzspan(ss TSequenceSet, s *Span, atfunc bool) TSequenceSet { + res := C.tsequenceset_restrict_tstzspan(ss.Inner(), s._inner, C.bool(atfunc)) + return TSequenceSet{_inner: res} +} + + +// TsequencesetRestrictTstzspanset wraps MEOS C function tsequenceset_restrict_tstzspanset. +func TsequencesetRestrictTstzspanset(ss TSequenceSet, ps *SpanSet, atfunc bool) TSequenceSet { + res := C.tsequenceset_restrict_tstzspanset(ss.Inner(), ps._inner, C.bool(atfunc)) + return TSequenceSet{_inner: res} +} + + +// TsequencesetRestrictTimestamptz wraps MEOS C function tsequenceset_restrict_timestamptz. +func TsequencesetRestrictTimestamptz(ss TSequenceSet, t int64, atfunc bool) Temporal { + res := C.tsequenceset_restrict_timestamptz(ss.Inner(), C.TimestampTz(t), C.bool(atfunc)) + return CreateTemporal(res) +} + + +// TsequencesetRestrictTstzset wraps MEOS C function tsequenceset_restrict_tstzset. +func TsequencesetRestrictTstzset(ss TSequenceSet, s *Set, atfunc bool) Temporal { + res := C.tsequenceset_restrict_tstzset(ss.Inner(), s._inner, C.bool(atfunc)) + return CreateTemporal(res) +} + + +// TsequencesetRestrictValues wraps MEOS C function tsequenceset_restrict_values. +func TsequencesetRestrictValues(ss TSequenceSet, s *Set, atfunc bool) TSequenceSet { + res := C.tsequenceset_restrict_values(ss.Inner(), s._inner, C.bool(atfunc)) + return TSequenceSet{_inner: res} +} + + +// TinstantCmp wraps MEOS C function tinstant_cmp. +func TinstantCmp(inst1 TInstant, inst2 TInstant) int { + res := C.tinstant_cmp(inst1.Inner(), inst2.Inner()) + return int(res) +} + + +// TinstantEq wraps MEOS C function tinstant_eq. +func TinstantEq(inst1 TInstant, inst2 TInstant) bool { + res := C.tinstant_eq(inst1.Inner(), inst2.Inner()) + return bool(res) +} + + +// TsequenceCmp wraps MEOS C function tsequence_cmp. +func TsequenceCmp(seq1 TSequence, seq2 TSequence) int { + res := C.tsequence_cmp(seq1.Inner(), seq2.Inner()) + return int(res) +} + + +// TsequenceEq wraps MEOS C function tsequence_eq. +func TsequenceEq(seq1 TSequence, seq2 TSequence) bool { + res := C.tsequence_eq(seq1.Inner(), seq2.Inner()) + return bool(res) +} + + +// TsequencesetCmp wraps MEOS C function tsequenceset_cmp. +func TsequencesetCmp(ss1 TSequenceSet, ss2 TSequenceSet) int { + res := C.tsequenceset_cmp(ss1.Inner(), ss2.Inner()) + return int(res) +} + + +// TsequencesetEq wraps MEOS C function tsequenceset_eq. +func TsequencesetEq(ss1 TSequenceSet, ss2 TSequenceSet) bool { + res := C.tsequenceset_eq(ss1.Inner(), ss2.Inner()) + return bool(res) +} + + +// TnumberinstAbs wraps MEOS C function tnumberinst_abs. +func TnumberinstAbs(inst TInstant) TInstant { + res := C.tnumberinst_abs(inst.Inner()) + return TInstant{_inner: res} +} + + +// TnumberseqAbs wraps MEOS C function tnumberseq_abs. +func TnumberseqAbs(seq TSequence) TSequence { + res := C.tnumberseq_abs(seq.Inner()) + return TSequence{_inner: res} +} + + +// TnumberseqAngularDifference wraps MEOS C function tnumberseq_angular_difference. +func TnumberseqAngularDifference(seq TSequence) TSequence { + res := C.tnumberseq_angular_difference(seq.Inner()) + return TSequence{_inner: res} +} + + +// TnumberseqDeltaValue wraps MEOS C function tnumberseq_delta_value. +func TnumberseqDeltaValue(seq TSequence) TSequence { + res := C.tnumberseq_delta_value(seq.Inner()) + return TSequence{_inner: res} +} + + +// TnumberseqsetAbs wraps MEOS C function tnumberseqset_abs. +func TnumberseqsetAbs(ss TSequenceSet) TSequenceSet { + res := C.tnumberseqset_abs(ss.Inner()) + return TSequenceSet{_inner: res} +} + + +// TnumberseqsetAngularDifference wraps MEOS C function tnumberseqset_angular_difference. +func TnumberseqsetAngularDifference(ss TSequenceSet) TSequence { + res := C.tnumberseqset_angular_difference(ss.Inner()) + return TSequence{_inner: res} +} + + +// TnumberseqsetDeltaValue wraps MEOS C function tnumberseqset_delta_value. +func TnumberseqsetDeltaValue(ss TSequenceSet) TSequenceSet { + res := C.tnumberseqset_delta_value(ss.Inner()) + return TSequenceSet{_inner: res} +} + + +// NadTBOXTBOX wraps MEOS C function nad_tbox_tbox. +func NadTBOXTBOX(box1 *TBox, box2 *TBox) float64 { + res := C.nad_tbox_tbox(box1._inner, box2._inner) + return float64(res) +} + + +// NadTnumberTBOX wraps MEOS C function nad_tnumber_tbox. +func NadTnumberTBOX(temp Temporal, box *TBox) float64 { + res := C.nad_tnumber_tbox(temp.Inner(), box._inner) + return float64(res) +} + + +// NadTnumberTnumber wraps MEOS C function nad_tnumber_tnumber. +func NadTnumberTnumber(temp1 Temporal, temp2 Temporal) float64 { + res := C.nad_tnumber_tnumber(temp1.Inner(), temp2.Inner()) + return float64(res) +} + + +// TnumberseqIntegral wraps MEOS C function tnumberseq_integral. +func TnumberseqIntegral(seq TSequence) float64 { + res := C.tnumberseq_integral(seq.Inner()) + return float64(res) +} + + +// TnumberseqTwavg wraps MEOS C function tnumberseq_twavg. +func TnumberseqTwavg(seq TSequence) float64 { + res := C.tnumberseq_twavg(seq.Inner()) + return float64(res) +} + + +// TnumberseqsetIntegral wraps MEOS C function tnumberseqset_integral. +func TnumberseqsetIntegral(ss TSequenceSet) float64 { + res := C.tnumberseqset_integral(ss.Inner()) + return float64(res) +} + + +// TnumberseqsetTwavg wraps MEOS C function tnumberseqset_twavg. +func TnumberseqsetTwavg(ss TSequenceSet) float64 { + res := C.tnumberseqset_twavg(ss.Inner()) + return float64(res) +} + + +// TemporalCompact wraps MEOS C function temporal_compact. +func TemporalCompact(temp Temporal) Temporal { + res := C.temporal_compact(temp.Inner()) + return CreateTemporal(res) +} + + +// TsequenceCompact wraps MEOS C function tsequence_compact. +func TsequenceCompact(seq TSequence) TSequence { + res := C.tsequence_compact(seq.Inner()) + return TSequence{_inner: res} +} + + +// TsequencesetCompact wraps MEOS C function tsequenceset_compact. +func TsequencesetCompact(ss TSequenceSet) TSequenceSet { + res := C.tsequenceset_compact(ss.Inner()) + return TSequenceSet{_inner: res} +} + + +// TemporalSkiplistMake wraps MEOS C function temporal_skiplist_make. +func TemporalSkiplistMake() *SkipList { + res := C.temporal_skiplist_make() + return &SkipList{_inner: res} +} + + +// TODO skiplist_make: unsupported param int (*)(void *, void *) +// func SkiplistMake(...) { /* not yet handled by codegen */ } + + +// TODO skiplist_search: unsupported param void * +// func SkiplistSearch(...) { /* not yet handled by codegen */ } + + +// SkiplistFree wraps MEOS C function skiplist_free. +func SkiplistFree(list *SkipList) { + C.skiplist_free(list._inner) +} + + +// TODO skiplist_splice: unsupported param void ** +// func SkiplistSplice(...) { /* not yet handled by codegen */ } + + +// TODO temporal_skiplist_splice: unsupported param void ** +// func TemporalSkiplistSplice(...) { /* not yet handled by codegen */ } + + +// TODO skiplist_values: unsupported return type void ** +// func SkiplistValues(...) { /* not yet handled by codegen */ } + + +// TODO skiplist_keys_values: unsupported return type void ** +// func SkiplistKeysValues(...) { /* not yet handled by codegen */ } + + +// TemporalAppTinstTransfn wraps MEOS C function temporal_app_tinst_transfn. +func TemporalAppTinstTransfn(state Temporal, inst TInstant, interp Interpolation, maxdist float64, maxt timeutil.Timedelta) Temporal { + res := C.temporal_app_tinst_transfn(state.Inner(), inst.Inner(), C.interpType(interp), C.double(maxdist), maxt.Inner()) + return CreateTemporal(res) +} + + +// TemporalAppTseqTransfn wraps MEOS C function temporal_app_tseq_transfn. +func TemporalAppTseqTransfn(state Temporal, seq TSequence) Temporal { + res := C.temporal_app_tseq_transfn(state.Inner(), seq.Inner()) + return CreateTemporal(res) +} + diff --git a/tools/_preview/meos_meos_internal_geo.go b/tools/_preview/meos_meos_internal_geo.go new file mode 100644 index 0000000..16d6619 --- /dev/null +++ b/tools/_preview/meos_meos_internal_geo.go @@ -0,0 +1,448 @@ +package generated + +// #include +import "C" +import ( + "unsafe" + + "github.com/leekchan/timeutil" +) + +var _ = unsafe.Pointer(nil) +var _ = timeutil.Timedelta{} + +// TODO proj_get_context: unsupported return type PJ_CONTEXT * +// func ProjGetContext(...) { /* not yet handled by codegen */ } + + +// PointRound wraps MEOS C function point_round. +func PointRound(gs *Geom, maxdd int) *Geom { + res := C.point_round(gs._inner, C.int(maxdd)) + return &Geom{_inner: res} +} + + +// STBOXSet wraps MEOS C function stbox_set. +func STBOXSet(hasx bool, hasz bool, geodetic bool, srid int32, xmin float64, xmax float64, ymin float64, ymax float64, zmin float64, zmax float64, s *Span, box *STBox) { + C.stbox_set(C.bool(hasx), C.bool(hasz), C.bool(geodetic), C.int32(srid), C.double(xmin), C.double(xmax), C.double(ymin), C.double(ymax), C.double(zmin), C.double(zmax), s._inner, box._inner) +} + + +// TODO gbox_set_stbox: unsupported param const GBOX * +// func GboxSetSTBOX(...) { /* not yet handled by codegen */ } + + +// GeoSetSTBOX wraps MEOS C function geo_set_stbox. +func GeoSetSTBOX(gs *Geom, box *STBox) bool { + res := C.geo_set_stbox(gs._inner, box._inner) + return bool(res) +} + + +// SpatialsetSetSTBOX wraps MEOS C function spatialset_set_stbox. +func SpatialsetSetSTBOX(set *Set, box *STBox) { + C.spatialset_set_stbox(set._inner, box._inner) +} + + +// TODO stbox_set_box3d: unsupported param BOX3D * +// func STBOXSetBox3d(...) { /* not yet handled by codegen */ } + + +// TODO stbox_set_gbox: unsupported param GBOX * +// func STBOXSetGbox(...) { /* not yet handled by codegen */ } + + +// TstzsetSetSTBOX wraps MEOS C function tstzset_set_stbox. +func TstzsetSetSTBOX(s *Set, box *STBox) { + C.tstzset_set_stbox(s._inner, box._inner) +} + + +// TstzspanSetSTBOX wraps MEOS C function tstzspan_set_stbox. +func TstzspanSetSTBOX(s *Span, box *STBox) { + C.tstzspan_set_stbox(s._inner, box._inner) +} + + +// TstzspansetSetSTBOX wraps MEOS C function tstzspanset_set_stbox. +func TstzspansetSetSTBOX(s *SpanSet, box *STBox) { + C.tstzspanset_set_stbox(s._inner, box._inner) +} + + +// STBOXExpand wraps MEOS C function stbox_expand. +func STBOXExpand(box1 *STBox, box2 *STBox) { + C.stbox_expand(box1._inner, box2._inner) +} + + +// InterSTBOXSTBOX wraps MEOS C function inter_stbox_stbox. +func InterSTBOXSTBOX(box1 *STBox, box2 *STBox, result *STBox) bool { + res := C.inter_stbox_stbox(box1._inner, box2._inner, result._inner) + return bool(res) +} + + +// STBOXGeo wraps MEOS C function stbox_geo. +func STBOXGeo(box *STBox) *Geom { + res := C.stbox_geo(box._inner) + return &Geom{_inner: res} +} + + +// TgeogpointinstIn wraps MEOS C function tgeogpointinst_in. +func TgeogpointinstIn(str string) TInstant { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.tgeogpointinst_in(_c_str) + return TInstant{_inner: res} +} + + +// TgeogpointseqIn wraps MEOS C function tgeogpointseq_in. +func TgeogpointseqIn(str string, interp Interpolation) TSequence { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.tgeogpointseq_in(_c_str, C.interpType(interp)) + return TSequence{_inner: res} +} + + +// TgeogpointseqsetIn wraps MEOS C function tgeogpointseqset_in. +func TgeogpointseqsetIn(str string) TSequenceSet { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.tgeogpointseqset_in(_c_str) + return TSequenceSet{_inner: res} +} + + +// TgeompointinstIn wraps MEOS C function tgeompointinst_in. +func TgeompointinstIn(str string) TInstant { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.tgeompointinst_in(_c_str) + return TInstant{_inner: res} +} + + +// TgeompointseqIn wraps MEOS C function tgeompointseq_in. +func TgeompointseqIn(str string, interp Interpolation) TSequence { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.tgeompointseq_in(_c_str, C.interpType(interp)) + return TSequence{_inner: res} +} + + +// TgeompointseqsetIn wraps MEOS C function tgeompointseqset_in. +func TgeompointseqsetIn(str string) TSequenceSet { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.tgeompointseqset_in(_c_str) + return TSequenceSet{_inner: res} +} + + +// TgeographyinstIn wraps MEOS C function tgeographyinst_in. +func TgeographyinstIn(str string) TInstant { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.tgeographyinst_in(_c_str) + return TInstant{_inner: res} +} + + +// TgeographyseqIn wraps MEOS C function tgeographyseq_in. +func TgeographyseqIn(str string, interp Interpolation) TSequence { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.tgeographyseq_in(_c_str, C.interpType(interp)) + return TSequence{_inner: res} +} + + +// TgeographyseqsetIn wraps MEOS C function tgeographyseqset_in. +func TgeographyseqsetIn(str string) TSequenceSet { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.tgeographyseqset_in(_c_str) + return TSequenceSet{_inner: res} +} + + +// TgeometryinstIn wraps MEOS C function tgeometryinst_in. +func TgeometryinstIn(str string) TInstant { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.tgeometryinst_in(_c_str) + return TInstant{_inner: res} +} + + +// TgeometryseqIn wraps MEOS C function tgeometryseq_in. +func TgeometryseqIn(str string, interp Interpolation) TSequence { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.tgeometryseq_in(_c_str, C.interpType(interp)) + return TSequence{_inner: res} +} + + +// TgeometryseqsetIn wraps MEOS C function tgeometryseqset_in. +func TgeometryseqsetIn(str string) TSequenceSet { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.tgeometryseqset_in(_c_str) + return TSequenceSet{_inner: res} +} + + +// TspatialSetSTBOX wraps MEOS C function tspatial_set_stbox. +func TspatialSetSTBOX(temp Temporal, box *STBox) { + C.tspatial_set_stbox(temp.Inner(), box._inner) +} + + +// TgeoinstSetSTBOX wraps MEOS C function tgeoinst_set_stbox. +func TgeoinstSetSTBOX(inst TInstant, box *STBox) { + C.tgeoinst_set_stbox(inst.Inner(), box._inner) +} + + +// TspatialseqSetSTBOX wraps MEOS C function tspatialseq_set_stbox. +func TspatialseqSetSTBOX(seq TSequence, box *STBox) { + C.tspatialseq_set_stbox(seq.Inner(), box._inner) +} + + +// TspatialseqsetSetSTBOX wraps MEOS C function tspatialseqset_set_stbox. +func TspatialseqsetSetSTBOX(ss TSequenceSet, box *STBox) { + C.tspatialseqset_set_stbox(ss.Inner(), box._inner) +} + + +// TgeoRestrictGeom wraps MEOS C function tgeo_restrict_geom. +func TgeoRestrictGeom(temp Temporal, gs *Geom, zspan *Span, atfunc bool) Temporal { + res := C.tgeo_restrict_geom(temp.Inner(), gs._inner, zspan._inner, C.bool(atfunc)) + return CreateTemporal(res) +} + + +// TgeoRestrictSTBOX wraps MEOS C function tgeo_restrict_stbox. +func TgeoRestrictSTBOX(temp Temporal, box *STBox, border_inc bool, atfunc bool) Temporal { + res := C.tgeo_restrict_stbox(temp.Inner(), box._inner, C.bool(border_inc), C.bool(atfunc)) + return CreateTemporal(res) +} + + +// TgeoinstRestrictGeom wraps MEOS C function tgeoinst_restrict_geom. +func TgeoinstRestrictGeom(inst TInstant, gs *Geom, zspan *Span, atfunc bool) TInstant { + res := C.tgeoinst_restrict_geom(inst.Inner(), gs._inner, zspan._inner, C.bool(atfunc)) + return TInstant{_inner: res} +} + + +// TgeoinstRestrictSTBOX wraps MEOS C function tgeoinst_restrict_stbox. +func TgeoinstRestrictSTBOX(inst TInstant, box *STBox, border_inc bool, atfunc bool) TInstant { + res := C.tgeoinst_restrict_stbox(inst.Inner(), box._inner, C.bool(border_inc), C.bool(atfunc)) + return TInstant{_inner: res} +} + + +// TgeoseqRestrictGeom wraps MEOS C function tgeoseq_restrict_geom. +func TgeoseqRestrictGeom(seq TSequence, gs *Geom, zspan *Span, atfunc bool) Temporal { + res := C.tgeoseq_restrict_geom(seq.Inner(), gs._inner, zspan._inner, C.bool(atfunc)) + return CreateTemporal(res) +} + + +// TgeoseqRestrictSTBOX wraps MEOS C function tgeoseq_restrict_stbox. +func TgeoseqRestrictSTBOX(seq TSequence, box *STBox, border_inc bool, atfunc bool) Temporal { + res := C.tgeoseq_restrict_stbox(seq.Inner(), box._inner, C.bool(border_inc), C.bool(atfunc)) + return CreateTemporal(res) +} + + +// TgeoseqsetRestrictGeom wraps MEOS C function tgeoseqset_restrict_geom. +func TgeoseqsetRestrictGeom(ss TSequenceSet, gs *Geom, zspan *Span, atfunc bool) TSequenceSet { + res := C.tgeoseqset_restrict_geom(ss.Inner(), gs._inner, zspan._inner, C.bool(atfunc)) + return TSequenceSet{_inner: res} +} + + +// TgeoseqsetRestrictSTBOX wraps MEOS C function tgeoseqset_restrict_stbox. +func TgeoseqsetRestrictSTBOX(ss TSequenceSet, box *STBox, border_inc bool, atfunc bool) TSequenceSet { + res := C.tgeoseqset_restrict_stbox(ss.Inner(), box._inner, C.bool(border_inc), C.bool(atfunc)) + return TSequenceSet{_inner: res} +} + + +// TspatialinstSRID wraps MEOS C function tspatialinst_srid. +func TspatialinstSRID(inst TInstant) int { + res := C.tspatialinst_srid(inst.Inner()) + return int(res) +} + + +// TpointseqAzimuth wraps MEOS C function tpointseq_azimuth. +func TpointseqAzimuth(seq TSequence) TSequenceSet { + res := C.tpointseq_azimuth(seq.Inner()) + return TSequenceSet{_inner: res} +} + + +// TpointseqCumulativeLength wraps MEOS C function tpointseq_cumulative_length. +func TpointseqCumulativeLength(seq TSequence, prevlength float64) TSequence { + res := C.tpointseq_cumulative_length(seq.Inner(), C.double(prevlength)) + return TSequence{_inner: res} +} + + +// TpointseqIsSimple wraps MEOS C function tpointseq_is_simple. +func TpointseqIsSimple(seq TSequence) bool { + res := C.tpointseq_is_simple(seq.Inner()) + return bool(res) +} + + +// TpointseqLength wraps MEOS C function tpointseq_length. +func TpointseqLength(seq TSequence) float64 { + res := C.tpointseq_length(seq.Inner()) + return float64(res) +} + + +// TpointseqLinearTrajectory wraps MEOS C function tpointseq_linear_trajectory. +func TpointseqLinearTrajectory(seq TSequence, unary_union bool) *Geom { + res := C.tpointseq_linear_trajectory(seq.Inner(), C.bool(unary_union)) + return &Geom{_inner: res} +} + + +// TODO tgeoseq_stboxes: unsupported param int * +// func TgeoseqStboxes(...) { /* not yet handled by codegen */ } + + +// TODO tgeoseq_split_n_stboxes: unsupported param int * +// func TgeoseqSplitNStboxes(...) { /* not yet handled by codegen */ } + + +// TpointseqsetAzimuth wraps MEOS C function tpointseqset_azimuth. +func TpointseqsetAzimuth(ss TSequenceSet) TSequenceSet { + res := C.tpointseqset_azimuth(ss.Inner()) + return TSequenceSet{_inner: res} +} + + +// TpointseqsetCumulativeLength wraps MEOS C function tpointseqset_cumulative_length. +func TpointseqsetCumulativeLength(ss TSequenceSet) TSequenceSet { + res := C.tpointseqset_cumulative_length(ss.Inner()) + return TSequenceSet{_inner: res} +} + + +// TpointseqsetIsSimple wraps MEOS C function tpointseqset_is_simple. +func TpointseqsetIsSimple(ss TSequenceSet) bool { + res := C.tpointseqset_is_simple(ss.Inner()) + return bool(res) +} + + +// TpointseqsetLength wraps MEOS C function tpointseqset_length. +func TpointseqsetLength(ss TSequenceSet) float64 { + res := C.tpointseqset_length(ss.Inner()) + return float64(res) +} + + +// TODO tgeoseqset_stboxes: unsupported param int * +// func TgeoseqsetStboxes(...) { /* not yet handled by codegen */ } + + +// TODO tgeoseqset_split_n_stboxes: unsupported param int * +// func TgeoseqsetSplitNStboxes(...) { /* not yet handled by codegen */ } + + +// TpointGetCoord wraps MEOS C function tpoint_get_coord. +func TpointGetCoord(temp Temporal, coord int) Temporal { + res := C.tpoint_get_coord(temp.Inner(), C.int(coord)) + return CreateTemporal(res) +} + + +// TgeominstTgeoginst wraps MEOS C function tgeominst_tgeoginst. +func TgeominstTgeoginst(inst TInstant, oper bool) TInstant { + res := C.tgeominst_tgeoginst(inst.Inner(), C.bool(oper)) + return TInstant{_inner: res} +} + + +// TgeomseqTgeogseq wraps MEOS C function tgeomseq_tgeogseq. +func TgeomseqTgeogseq(seq TSequence, oper bool) TSequence { + res := C.tgeomseq_tgeogseq(seq.Inner(), C.bool(oper)) + return TSequence{_inner: res} +} + + +// TgeomseqsetTgeogseqset wraps MEOS C function tgeomseqset_tgeogseqset. +func TgeomseqsetTgeogseqset(ss TSequenceSet, oper bool) TSequenceSet { + res := C.tgeomseqset_tgeogseqset(ss.Inner(), C.bool(oper)) + return TSequenceSet{_inner: res} +} + + +// TgeomTgeog wraps MEOS C function tgeom_tgeog. +func TgeomTgeog(temp Temporal, oper bool) Temporal { + res := C.tgeom_tgeog(temp.Inner(), C.bool(oper)) + return CreateTemporal(res) +} + + +// TgeoTpoint wraps MEOS C function tgeo_tpoint. +func TgeoTpoint(temp Temporal, oper bool) Temporal { + res := C.tgeo_tpoint(temp.Inner(), C.bool(oper)) + return CreateTemporal(res) +} + + +// TspatialinstSetSRID wraps MEOS C function tspatialinst_set_srid. +func TspatialinstSetSRID(inst TInstant, srid int32) { + C.tspatialinst_set_srid(inst.Inner(), C.int32_t(srid)) +} + + +// TODO tpointseq_make_simple: unsupported return type TSequence ** +// func TpointseqMakeSimple(...) { /* not yet handled by codegen */ } + + +// TspatialseqSetSRID wraps MEOS C function tspatialseq_set_srid. +func TspatialseqSetSRID(seq TSequence, srid int32) { + C.tspatialseq_set_srid(seq.Inner(), C.int32_t(srid)) +} + + +// TODO tpointseqset_make_simple: unsupported return type TSequence ** +// func TpointseqsetMakeSimple(...) { /* not yet handled by codegen */ } + + +// TspatialseqsetSetSRID wraps MEOS C function tspatialseqset_set_srid. +func TspatialseqsetSetSRID(ss TSequenceSet, srid int32) { + C.tspatialseqset_set_srid(ss.Inner(), C.int32_t(srid)) +} + + +// TpointseqTwcentroid wraps MEOS C function tpointseq_twcentroid. +func TpointseqTwcentroid(seq TSequence) *Geom { + res := C.tpointseq_twcentroid(seq.Inner()) + return &Geom{_inner: res} +} + + +// TpointseqsetTwcentroid wraps MEOS C function tpointseqset_twcentroid. +func TpointseqsetTwcentroid(ss TSequenceSet) *Geom { + res := C.tpointseqset_twcentroid(ss.Inner()) + return &Geom{_inner: res} +} + diff --git a/tools/_preview/meos_meos_npoint.go b/tools/_preview/meos_meos_npoint.go new file mode 100644 index 0000000..be49ff5 --- /dev/null +++ b/tools/_preview/meos_meos_npoint.go @@ -0,0 +1,827 @@ +package generated + +// #include +import "C" +import ( + "unsafe" + + "github.com/leekchan/timeutil" +) + +var _ = unsafe.Pointer(nil) +var _ = timeutil.Timedelta{} + +// NpointAsEWKT wraps MEOS C function npoint_as_ewkt. +func NpointAsEWKT(np *Npoint, maxdd int) string { + res := C.npoint_as_ewkt(np._inner, C.int(maxdd)) + return C.GoString(res) +} + + +// TODO npoint_as_hexwkb: unsupported param size_t * +// func NpointAsHexwkb(...) { /* not yet handled by codegen */ } + + +// NpointAsText wraps MEOS C function npoint_as_text. +func NpointAsText(np *Npoint, maxdd int) string { + res := C.npoint_as_text(np._inner, C.int(maxdd)) + return C.GoString(res) +} + + +// TODO npoint_as_wkb: unsupported return type uint8_t * +// func NpointAsWKB(...) { /* not yet handled by codegen */ } + + +// NpointFromHexwkb wraps MEOS C function npoint_from_hexwkb. +func NpointFromHexwkb(hexwkb string) *Npoint { + _c_hexwkb := C.CString(hexwkb) + defer C.free(unsafe.Pointer(_c_hexwkb)) + res := C.npoint_from_hexwkb(_c_hexwkb) + return &Npoint{_inner: res} +} + + +// TODO npoint_from_wkb: unsupported param const uint8_t * +// func NpointFromWKB(...) { /* not yet handled by codegen */ } + + +// NpointIn wraps MEOS C function npoint_in. +func NpointIn(str string) *Npoint { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.npoint_in(_c_str) + return &Npoint{_inner: res} +} + + +// NpointOut wraps MEOS C function npoint_out. +func NpointOut(np *Npoint, maxdd int) string { + res := C.npoint_out(np._inner, C.int(maxdd)) + return C.GoString(res) +} + + +// NsegmentIn wraps MEOS C function nsegment_in. +func NsegmentIn(str string) *Nsegment { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.nsegment_in(_c_str) + return &Nsegment{_inner: res} +} + + +// NsegmentOut wraps MEOS C function nsegment_out. +func NsegmentOut(ns *Nsegment, maxdd int) string { + res := C.nsegment_out(ns._inner, C.int(maxdd)) + return C.GoString(res) +} + + +// NpointMake wraps MEOS C function npoint_make. +func NpointMake(rid int64, pos float64) *Npoint { + res := C.npoint_make(C.int64(rid), C.double(pos)) + return &Npoint{_inner: res} +} + + +// NsegmentMake wraps MEOS C function nsegment_make. +func NsegmentMake(rid int64, pos1 float64, pos2 float64) *Nsegment { + res := C.nsegment_make(C.int64(rid), C.double(pos1), C.double(pos2)) + return &Nsegment{_inner: res} +} + + +// GeompointToNpoint wraps MEOS C function geompoint_to_npoint. +func GeompointToNpoint(gs *Geom) *Npoint { + res := C.geompoint_to_npoint(gs._inner) + return &Npoint{_inner: res} +} + + +// GeomToNsegment wraps MEOS C function geom_to_nsegment. +func GeomToNsegment(gs *Geom) *Nsegment { + res := C.geom_to_nsegment(gs._inner) + return &Nsegment{_inner: res} +} + + +// NpointToGeompoint wraps MEOS C function npoint_to_geompoint. +func NpointToGeompoint(np *Npoint) *Geom { + res := C.npoint_to_geompoint(np._inner) + return &Geom{_inner: res} +} + + +// NpointToNsegment wraps MEOS C function npoint_to_nsegment. +func NpointToNsegment(np *Npoint) *Nsegment { + res := C.npoint_to_nsegment(np._inner) + return &Nsegment{_inner: res} +} + + +// NpointToSTBOX wraps MEOS C function npoint_to_stbox. +func NpointToSTBOX(np *Npoint) *STBox { + res := C.npoint_to_stbox(np._inner) + return &STBox{_inner: res} +} + + +// NsegmentToGeom wraps MEOS C function nsegment_to_geom. +func NsegmentToGeom(ns *Nsegment) *Geom { + res := C.nsegment_to_geom(ns._inner) + return &Geom{_inner: res} +} + + +// NsegmentToSTBOX wraps MEOS C function nsegment_to_stbox. +func NsegmentToSTBOX(np *Nsegment) *STBox { + res := C.nsegment_to_stbox(np._inner) + return &STBox{_inner: res} +} + + +// NpointHash wraps MEOS C function npoint_hash. +func NpointHash(np *Npoint) uint32 { + res := C.npoint_hash(np._inner) + return uint32(res) +} + + +// NpointHashExtended wraps MEOS C function npoint_hash_extended. +func NpointHashExtended(np *Npoint, seed uint64) uint64 { + res := C.npoint_hash_extended(np._inner, C.uint64(seed)) + return uint64(res) +} + + +// NpointPosition wraps MEOS C function npoint_position. +func NpointPosition(np *Npoint) float64 { + res := C.npoint_position(np._inner) + return float64(res) +} + + +// NpointRoute wraps MEOS C function npoint_route. +func NpointRoute(np *Npoint) int64 { + res := C.npoint_route(np._inner) + return int64(res) +} + + +// NsegmentEndPosition wraps MEOS C function nsegment_end_position. +func NsegmentEndPosition(ns *Nsegment) float64 { + res := C.nsegment_end_position(ns._inner) + return float64(res) +} + + +// NsegmentRoute wraps MEOS C function nsegment_route. +func NsegmentRoute(ns *Nsegment) int64 { + res := C.nsegment_route(ns._inner) + return int64(res) +} + + +// NsegmentStartPosition wraps MEOS C function nsegment_start_position. +func NsegmentStartPosition(ns *Nsegment) float64 { + res := C.nsegment_start_position(ns._inner) + return float64(res) +} + + +// RouteExists wraps MEOS C function route_exists. +func RouteExists(rid int64) bool { + res := C.route_exists(C.int64(rid)) + return bool(res) +} + + +// RouteGeom wraps MEOS C function route_geom. +func RouteGeom(rid int64) *Geom { + res := C.route_geom(C.int64(rid)) + return &Geom{_inner: res} +} + + +// RouteLength wraps MEOS C function route_length. +func RouteLength(rid int64) float64 { + res := C.route_length(C.int64(rid)) + return float64(res) +} + + +// NpointRound wraps MEOS C function npoint_round. +func NpointRound(np *Npoint, maxdd int) *Npoint { + res := C.npoint_round(np._inner, C.int(maxdd)) + return &Npoint{_inner: res} +} + + +// NsegmentRound wraps MEOS C function nsegment_round. +func NsegmentRound(ns *Nsegment, maxdd int) *Nsegment { + res := C.nsegment_round(ns._inner, C.int(maxdd)) + return &Nsegment{_inner: res} +} + + +// GetSRIDWays wraps MEOS C function get_srid_ways. +func GetSRIDWays() int32 { + res := C.get_srid_ways() + return int32(res) +} + + +// NpointSRID wraps MEOS C function npoint_srid. +func NpointSRID(np *Npoint) int32 { + res := C.npoint_srid(np._inner) + return int32(res) +} + + +// NsegmentSRID wraps MEOS C function nsegment_srid. +func NsegmentSRID(ns *Nsegment) int32 { + res := C.nsegment_srid(ns._inner) + return int32(res) +} + + +// NpointTimestamptzToSTBOX wraps MEOS C function npoint_timestamptz_to_stbox. +func NpointTimestamptzToSTBOX(np *Npoint, t int64) *STBox { + res := C.npoint_timestamptz_to_stbox(np._inner, C.TimestampTz(t)) + return &STBox{_inner: res} +} + + +// NpointTstzspanToSTBOX wraps MEOS C function npoint_tstzspan_to_stbox. +func NpointTstzspanToSTBOX(np *Npoint, s *Span) *STBox { + res := C.npoint_tstzspan_to_stbox(np._inner, s._inner) + return &STBox{_inner: res} +} + + +// NpointCmp wraps MEOS C function npoint_cmp. +func NpointCmp(np1 *Npoint, np2 *Npoint) int { + res := C.npoint_cmp(np1._inner, np2._inner) + return int(res) +} + + +// NpointEq wraps MEOS C function npoint_eq. +func NpointEq(np1 *Npoint, np2 *Npoint) bool { + res := C.npoint_eq(np1._inner, np2._inner) + return bool(res) +} + + +// NpointGe wraps MEOS C function npoint_ge. +func NpointGe(np1 *Npoint, np2 *Npoint) bool { + res := C.npoint_ge(np1._inner, np2._inner) + return bool(res) +} + + +// NpointGt wraps MEOS C function npoint_gt. +func NpointGt(np1 *Npoint, np2 *Npoint) bool { + res := C.npoint_gt(np1._inner, np2._inner) + return bool(res) +} + + +// NpointLe wraps MEOS C function npoint_le. +func NpointLe(np1 *Npoint, np2 *Npoint) bool { + res := C.npoint_le(np1._inner, np2._inner) + return bool(res) +} + + +// NpointLt wraps MEOS C function npoint_lt. +func NpointLt(np1 *Npoint, np2 *Npoint) bool { + res := C.npoint_lt(np1._inner, np2._inner) + return bool(res) +} + + +// NpointNe wraps MEOS C function npoint_ne. +func NpointNe(np1 *Npoint, np2 *Npoint) bool { + res := C.npoint_ne(np1._inner, np2._inner) + return bool(res) +} + + +// NpointSame wraps MEOS C function npoint_same. +func NpointSame(np1 *Npoint, np2 *Npoint) bool { + res := C.npoint_same(np1._inner, np2._inner) + return bool(res) +} + + +// NsegmentCmp wraps MEOS C function nsegment_cmp. +func NsegmentCmp(ns1 *Nsegment, ns2 *Nsegment) int { + res := C.nsegment_cmp(ns1._inner, ns2._inner) + return int(res) +} + + +// NsegmentEq wraps MEOS C function nsegment_eq. +func NsegmentEq(ns1 *Nsegment, ns2 *Nsegment) bool { + res := C.nsegment_eq(ns1._inner, ns2._inner) + return bool(res) +} + + +// NsegmentGe wraps MEOS C function nsegment_ge. +func NsegmentGe(ns1 *Nsegment, ns2 *Nsegment) bool { + res := C.nsegment_ge(ns1._inner, ns2._inner) + return bool(res) +} + + +// NsegmentGt wraps MEOS C function nsegment_gt. +func NsegmentGt(ns1 *Nsegment, ns2 *Nsegment) bool { + res := C.nsegment_gt(ns1._inner, ns2._inner) + return bool(res) +} + + +// NsegmentLe wraps MEOS C function nsegment_le. +func NsegmentLe(ns1 *Nsegment, ns2 *Nsegment) bool { + res := C.nsegment_le(ns1._inner, ns2._inner) + return bool(res) +} + + +// NsegmentLt wraps MEOS C function nsegment_lt. +func NsegmentLt(ns1 *Nsegment, ns2 *Nsegment) bool { + res := C.nsegment_lt(ns1._inner, ns2._inner) + return bool(res) +} + + +// NsegmentNe wraps MEOS C function nsegment_ne. +func NsegmentNe(ns1 *Nsegment, ns2 *Nsegment) bool { + res := C.nsegment_ne(ns1._inner, ns2._inner) + return bool(res) +} + + +// NpointsetIn wraps MEOS C function npointset_in. +func NpointsetIn(str string) *Set { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.npointset_in(_c_str) + return &Set{_inner: res} +} + + +// NpointsetOut wraps MEOS C function npointset_out. +func NpointsetOut(s *Set, maxdd int) string { + res := C.npointset_out(s._inner, C.int(maxdd)) + return C.GoString(res) +} + + +// TODO npointset_make: unsupported param Npoint ** +// func NpointsetMake(...) { /* not yet handled by codegen */ } + + +// NpointToSet wraps MEOS C function npoint_to_set. +func NpointToSet(np *Npoint) *Set { + res := C.npoint_to_set(np._inner) + return &Set{_inner: res} +} + + +// NpointsetEndValue wraps MEOS C function npointset_end_value. +func NpointsetEndValue(s *Set) *Npoint { + res := C.npointset_end_value(s._inner) + return &Npoint{_inner: res} +} + + +// NpointsetRoutes wraps MEOS C function npointset_routes. +func NpointsetRoutes(s *Set) *Set { + res := C.npointset_routes(s._inner) + return &Set{_inner: res} +} + + +// NpointsetStartValue wraps MEOS C function npointset_start_value. +func NpointsetStartValue(s *Set) *Npoint { + res := C.npointset_start_value(s._inner) + return &Npoint{_inner: res} +} + + +// TODO npointset_value_n: unsupported param Npoint ** +// func NpointsetValueN(...) { /* not yet handled by codegen */ } + + +// TODO npointset_values: unsupported return type Npoint ** +// func NpointsetValues(...) { /* not yet handled by codegen */ } + + +// ContainedNpointSet wraps MEOS C function contained_npoint_set. +func ContainedNpointSet(np *Npoint, s *Set) bool { + res := C.contained_npoint_set(np._inner, s._inner) + return bool(res) +} + + +// ContainsSetNpoint wraps MEOS C function contains_set_npoint. +func ContainsSetNpoint(s *Set, np *Npoint) bool { + res := C.contains_set_npoint(s._inner, np._inner) + return bool(res) +} + + +// IntersectionNpointSet wraps MEOS C function intersection_npoint_set. +func IntersectionNpointSet(np *Npoint, s *Set) *Set { + res := C.intersection_npoint_set(np._inner, s._inner) + return &Set{_inner: res} +} + + +// IntersectionSetNpoint wraps MEOS C function intersection_set_npoint. +func IntersectionSetNpoint(s *Set, np *Npoint) *Set { + res := C.intersection_set_npoint(s._inner, np._inner) + return &Set{_inner: res} +} + + +// MinusNpointSet wraps MEOS C function minus_npoint_set. +func MinusNpointSet(np *Npoint, s *Set) *Set { + res := C.minus_npoint_set(np._inner, s._inner) + return &Set{_inner: res} +} + + +// MinusSetNpoint wraps MEOS C function minus_set_npoint. +func MinusSetNpoint(s *Set, np *Npoint) *Set { + res := C.minus_set_npoint(s._inner, np._inner) + return &Set{_inner: res} +} + + +// NpointUnionTransfn wraps MEOS C function npoint_union_transfn. +func NpointUnionTransfn(state *Set, np *Npoint) *Set { + res := C.npoint_union_transfn(state._inner, np._inner) + return &Set{_inner: res} +} + + +// UnionNpointSet wraps MEOS C function union_npoint_set. +func UnionNpointSet(np *Npoint, s *Set) *Set { + res := C.union_npoint_set(np._inner, s._inner) + return &Set{_inner: res} +} + + +// UnionSetNpoint wraps MEOS C function union_set_npoint. +func UnionSetNpoint(s *Set, np *Npoint) *Set { + res := C.union_set_npoint(s._inner, np._inner) + return &Set{_inner: res} +} + + +// TnpointIn wraps MEOS C function tnpoint_in. +func TnpointIn(str string) Temporal { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.tnpoint_in(_c_str) + return CreateTemporal(res) +} + + +// TnpointOut wraps MEOS C function tnpoint_out. +func TnpointOut(temp Temporal, maxdd int) string { + res := C.tnpoint_out(temp.Inner(), C.int(maxdd)) + return C.GoString(res) +} + + +// TnpointinstMake wraps MEOS C function tnpointinst_make. +func TnpointinstMake(np *Npoint, t int64) TInstant { + res := C.tnpointinst_make(np._inner, C.TimestampTz(t)) + return TInstant{_inner: res} +} + + +// TgeompointToTnpoint wraps MEOS C function tgeompoint_to_tnpoint. +func TgeompointToTnpoint(temp Temporal) Temporal { + res := C.tgeompoint_to_tnpoint(temp.Inner()) + return CreateTemporal(res) +} + + +// TnpointToTgeompoint wraps MEOS C function tnpoint_to_tgeompoint. +func TnpointToTgeompoint(temp Temporal) Temporal { + res := C.tnpoint_to_tgeompoint(temp.Inner()) + return CreateTemporal(res) +} + + +// TnpointCumulativeLength wraps MEOS C function tnpoint_cumulative_length. +func TnpointCumulativeLength(temp Temporal) Temporal { + res := C.tnpoint_cumulative_length(temp.Inner()) + return CreateTemporal(res) +} + + +// TnpointLength wraps MEOS C function tnpoint_length. +func TnpointLength(temp Temporal) float64 { + res := C.tnpoint_length(temp.Inner()) + return float64(res) +} + + +// TODO tnpoint_positions: unsupported return type Nsegment ** +// func TnpointPositions(...) { /* not yet handled by codegen */ } + + +// TnpointRoute wraps MEOS C function tnpoint_route. +func TnpointRoute(temp Temporal) int64 { + res := C.tnpoint_route(temp.Inner()) + return int64(res) +} + + +// TnpointRoutes wraps MEOS C function tnpoint_routes. +func TnpointRoutes(temp Temporal) *Set { + res := C.tnpoint_routes(temp.Inner()) + return &Set{_inner: res} +} + + +// TnpointSpeed wraps MEOS C function tnpoint_speed. +func TnpointSpeed(temp Temporal) Temporal { + res := C.tnpoint_speed(temp.Inner()) + return CreateTemporal(res) +} + + +// TnpointTrajectory wraps MEOS C function tnpoint_trajectory. +func TnpointTrajectory(temp Temporal) *Geom { + res := C.tnpoint_trajectory(temp.Inner()) + return &Geom{_inner: res} +} + + +// TnpointTwcentroid wraps MEOS C function tnpoint_twcentroid. +func TnpointTwcentroid(temp Temporal) *Geom { + res := C.tnpoint_twcentroid(temp.Inner()) + return &Geom{_inner: res} +} + + +// TnpointAtGeom wraps MEOS C function tnpoint_at_geom. +func TnpointAtGeom(temp Temporal, gs *Geom) Temporal { + res := C.tnpoint_at_geom(temp.Inner(), gs._inner) + return CreateTemporal(res) +} + + +// TnpointAtNpoint wraps MEOS C function tnpoint_at_npoint. +func TnpointAtNpoint(temp Temporal, np *Npoint) Temporal { + res := C.tnpoint_at_npoint(temp.Inner(), np._inner) + return CreateTemporal(res) +} + + +// TnpointAtNpointset wraps MEOS C function tnpoint_at_npointset. +func TnpointAtNpointset(temp Temporal, s *Set) Temporal { + res := C.tnpoint_at_npointset(temp.Inner(), s._inner) + return CreateTemporal(res) +} + + +// TnpointAtSTBOX wraps MEOS C function tnpoint_at_stbox. +func TnpointAtSTBOX(temp Temporal, box *STBox, border_inc bool) Temporal { + res := C.tnpoint_at_stbox(temp.Inner(), box._inner, C.bool(border_inc)) + return CreateTemporal(res) +} + + +// TnpointMinusGeom wraps MEOS C function tnpoint_minus_geom. +func TnpointMinusGeom(temp Temporal, gs *Geom) Temporal { + res := C.tnpoint_minus_geom(temp.Inner(), gs._inner) + return CreateTemporal(res) +} + + +// TnpointMinusNpoint wraps MEOS C function tnpoint_minus_npoint. +func TnpointMinusNpoint(temp Temporal, np *Npoint) Temporal { + res := C.tnpoint_minus_npoint(temp.Inner(), np._inner) + return CreateTemporal(res) +} + + +// TnpointMinusNpointset wraps MEOS C function tnpoint_minus_npointset. +func TnpointMinusNpointset(temp Temporal, s *Set) Temporal { + res := C.tnpoint_minus_npointset(temp.Inner(), s._inner) + return CreateTemporal(res) +} + + +// TnpointMinusSTBOX wraps MEOS C function tnpoint_minus_stbox. +func TnpointMinusSTBOX(temp Temporal, box *STBox, border_inc bool) Temporal { + res := C.tnpoint_minus_stbox(temp.Inner(), box._inner, C.bool(border_inc)) + return CreateTemporal(res) +} + + +// TdistanceTnpointNpoint wraps MEOS C function tdistance_tnpoint_npoint. +func TdistanceTnpointNpoint(temp Temporal, np *Npoint) Temporal { + res := C.tdistance_tnpoint_npoint(temp.Inner(), np._inner) + return CreateTemporal(res) +} + + +// TdistanceTnpointPoint wraps MEOS C function tdistance_tnpoint_point. +func TdistanceTnpointPoint(temp Temporal, gs *Geom) Temporal { + res := C.tdistance_tnpoint_point(temp.Inner(), gs._inner) + return CreateTemporal(res) +} + + +// TdistanceTnpointTnpoint wraps MEOS C function tdistance_tnpoint_tnpoint. +func TdistanceTnpointTnpoint(temp1 Temporal, temp2 Temporal) Temporal { + res := C.tdistance_tnpoint_tnpoint(temp1.Inner(), temp2.Inner()) + return CreateTemporal(res) +} + + +// NadTnpointGeo wraps MEOS C function nad_tnpoint_geo. +func NadTnpointGeo(temp Temporal, gs *Geom) float64 { + res := C.nad_tnpoint_geo(temp.Inner(), gs._inner) + return float64(res) +} + + +// NadTnpointNpoint wraps MEOS C function nad_tnpoint_npoint. +func NadTnpointNpoint(temp Temporal, np *Npoint) float64 { + res := C.nad_tnpoint_npoint(temp.Inner(), np._inner) + return float64(res) +} + + +// NadTnpointSTBOX wraps MEOS C function nad_tnpoint_stbox. +func NadTnpointSTBOX(temp Temporal, box *STBox) float64 { + res := C.nad_tnpoint_stbox(temp.Inner(), box._inner) + return float64(res) +} + + +// NadTnpointTnpoint wraps MEOS C function nad_tnpoint_tnpoint. +func NadTnpointTnpoint(temp1 Temporal, temp2 Temporal) float64 { + res := C.nad_tnpoint_tnpoint(temp1.Inner(), temp2.Inner()) + return float64(res) +} + + +// NaiTnpointGeo wraps MEOS C function nai_tnpoint_geo. +func NaiTnpointGeo(temp Temporal, gs *Geom) TInstant { + res := C.nai_tnpoint_geo(temp.Inner(), gs._inner) + return TInstant{_inner: res} +} + + +// NaiTnpointNpoint wraps MEOS C function nai_tnpoint_npoint. +func NaiTnpointNpoint(temp Temporal, np *Npoint) TInstant { + res := C.nai_tnpoint_npoint(temp.Inner(), np._inner) + return TInstant{_inner: res} +} + + +// NaiTnpointTnpoint wraps MEOS C function nai_tnpoint_tnpoint. +func NaiTnpointTnpoint(temp1 Temporal, temp2 Temporal) TInstant { + res := C.nai_tnpoint_tnpoint(temp1.Inner(), temp2.Inner()) + return TInstant{_inner: res} +} + + +// ShortestlineTnpointGeo wraps MEOS C function shortestline_tnpoint_geo. +func ShortestlineTnpointGeo(temp Temporal, gs *Geom) *Geom { + res := C.shortestline_tnpoint_geo(temp.Inner(), gs._inner) + return &Geom{_inner: res} +} + + +// ShortestlineTnpointNpoint wraps MEOS C function shortestline_tnpoint_npoint. +func ShortestlineTnpointNpoint(temp Temporal, np *Npoint) *Geom { + res := C.shortestline_tnpoint_npoint(temp.Inner(), np._inner) + return &Geom{_inner: res} +} + + +// ShortestlineTnpointTnpoint wraps MEOS C function shortestline_tnpoint_tnpoint. +func ShortestlineTnpointTnpoint(temp1 Temporal, temp2 Temporal) *Geom { + res := C.shortestline_tnpoint_tnpoint(temp1.Inner(), temp2.Inner()) + return &Geom{_inner: res} +} + + +// TnpointTcentroidTransfn wraps MEOS C function tnpoint_tcentroid_transfn. +func TnpointTcentroidTransfn(state *SkipList, temp Temporal) *SkipList { + res := C.tnpoint_tcentroid_transfn(state._inner, temp.Inner()) + return &SkipList{_inner: res} +} + + +// AlwaysEqNpointTnpoint wraps MEOS C function always_eq_npoint_tnpoint. +func AlwaysEqNpointTnpoint(np *Npoint, temp Temporal) int { + res := C.always_eq_npoint_tnpoint(np._inner, temp.Inner()) + return int(res) +} + + +// AlwaysEqTnpointNpoint wraps MEOS C function always_eq_tnpoint_npoint. +func AlwaysEqTnpointNpoint(temp Temporal, np *Npoint) int { + res := C.always_eq_tnpoint_npoint(temp.Inner(), np._inner) + return int(res) +} + + +// AlwaysEqTnpointTnpoint wraps MEOS C function always_eq_tnpoint_tnpoint. +func AlwaysEqTnpointTnpoint(temp1 Temporal, temp2 Temporal) int { + res := C.always_eq_tnpoint_tnpoint(temp1.Inner(), temp2.Inner()) + return int(res) +} + + +// AlwaysNeNpointTnpoint wraps MEOS C function always_ne_npoint_tnpoint. +func AlwaysNeNpointTnpoint(np *Npoint, temp Temporal) int { + res := C.always_ne_npoint_tnpoint(np._inner, temp.Inner()) + return int(res) +} + + +// AlwaysNeTnpointNpoint wraps MEOS C function always_ne_tnpoint_npoint. +func AlwaysNeTnpointNpoint(temp Temporal, np *Npoint) int { + res := C.always_ne_tnpoint_npoint(temp.Inner(), np._inner) + return int(res) +} + + +// AlwaysNeTnpointTnpoint wraps MEOS C function always_ne_tnpoint_tnpoint. +func AlwaysNeTnpointTnpoint(temp1 Temporal, temp2 Temporal) int { + res := C.always_ne_tnpoint_tnpoint(temp1.Inner(), temp2.Inner()) + return int(res) +} + + +// EverEqNpointTnpoint wraps MEOS C function ever_eq_npoint_tnpoint. +func EverEqNpointTnpoint(np *Npoint, temp Temporal) int { + res := C.ever_eq_npoint_tnpoint(np._inner, temp.Inner()) + return int(res) +} + + +// EverEqTnpointNpoint wraps MEOS C function ever_eq_tnpoint_npoint. +func EverEqTnpointNpoint(temp Temporal, np *Npoint) int { + res := C.ever_eq_tnpoint_npoint(temp.Inner(), np._inner) + return int(res) +} + + +// EverEqTnpointTnpoint wraps MEOS C function ever_eq_tnpoint_tnpoint. +func EverEqTnpointTnpoint(temp1 Temporal, temp2 Temporal) int { + res := C.ever_eq_tnpoint_tnpoint(temp1.Inner(), temp2.Inner()) + return int(res) +} + + +// EverNeNpointTnpoint wraps MEOS C function ever_ne_npoint_tnpoint. +func EverNeNpointTnpoint(np *Npoint, temp Temporal) int { + res := C.ever_ne_npoint_tnpoint(np._inner, temp.Inner()) + return int(res) +} + + +// EverNeTnpointNpoint wraps MEOS C function ever_ne_tnpoint_npoint. +func EverNeTnpointNpoint(temp Temporal, np *Npoint) int { + res := C.ever_ne_tnpoint_npoint(temp.Inner(), np._inner) + return int(res) +} + + +// EverNeTnpointTnpoint wraps MEOS C function ever_ne_tnpoint_tnpoint. +func EverNeTnpointTnpoint(temp1 Temporal, temp2 Temporal) int { + res := C.ever_ne_tnpoint_tnpoint(temp1.Inner(), temp2.Inner()) + return int(res) +} + + +// TeqTnpointNpoint wraps MEOS C function teq_tnpoint_npoint. +func TeqTnpointNpoint(temp Temporal, np *Npoint) Temporal { + res := C.teq_tnpoint_npoint(temp.Inner(), np._inner) + return CreateTemporal(res) +} + + +// TneTnpointNpoint wraps MEOS C function tne_tnpoint_npoint. +func TneTnpointNpoint(temp Temporal, np *Npoint) Temporal { + res := C.tne_tnpoint_npoint(temp.Inner(), np._inner) + return CreateTemporal(res) +} + diff --git a/tools/codegen.py b/tools/codegen.py new file mode 100644 index 0000000..32bf4dd --- /dev/null +++ b/tools/codegen.py @@ -0,0 +1,371 @@ +"""GoMEOS code generator. + +Drives idiomatic Go wrapper generation from meos-idl.json (produced by the +MEOS-API parser). Output is one Go source file per MEOS public header, +emitted to ``generated/`` and consumed by the hand-written ergonomic surface +in the package root. + +The generator is intentionally minimal in its first iteration: it covers the +scalar-in / opaque-pointer-out signatures (the bulk of the API) and leaves +edge-case shapes (multiple return values, output parameters, array +arguments, generic-method dispatch) for follow-up commits. Functions whose +shape is not yet handled emit a ``// TODO`` placeholder so the diff against +the hand-written surface stays auditable. + +Run from the repo root: + + python3 tools/codegen.py +""" + +from __future__ import annotations + +import json +import re +import sys +from dataclasses import dataclass +from pathlib import Path + +HEADER_FILES = [ + "meos.h", + "meos_catalog.h", + "meos_geo.h", + "meos_internal.h", + "meos_internal_geo.h", + "meos_npoint.h", +] + +# Forward-declared opaque types we never wrap (mirrors the cdef skip list +# the PyMEOS-CFFI builder applies). +OPAQUE_TYPES = ("json_object", "GEOSContextHandle_t") + +# C-name skip list: functions handled by hand or intentionally hidden. +SKIPPED_FUNCTIONS = { + "py_error_handler", + "meos_initialize_error_handler", +} + + +# Type mapping ---------------------------------------------------------- + +@dataclass +class TypeMapping: + go_type: str # Go-side parameter / return type + c_cast: str | None # ``C.(x)`` template, ``{}`` is the Go expr + from_c: str | None # Convert a C result to Go (``{}`` is the C expr) + + +# Scalars and well-known opaque pointers. Pointer types map to the package's +# wrapper structs (``*STBox``, ``*Geom``, etc.) where the wrapper exposes an +# ``Inner()`` method returning the C pointer. +TYPE_MAP: dict[str, TypeMapping] = { + "void": TypeMapping("", None, None), + "bool": TypeMapping("bool", "C.bool({})", "bool({})"), + "int": TypeMapping("int", "C.int({})", "int({})"), + "int8": TypeMapping("int8", "C.int8({})", "int8({})"), + "int16": TypeMapping("int16", "C.int16({})", "int16({})"), + "int32": TypeMapping("int32", "C.int32({})", "int32({})"), + "int32_t": TypeMapping("int32", "C.int32_t({})", "int32({})"), + "int64": TypeMapping("int64", "C.int64({})", "int64({})"), + "uint8": TypeMapping("uint8", "C.uint8({})", "uint8({})"), + "uint8_t": TypeMapping("uint8", "C.uint8_t({})", "uint8({})"), + "uint16": TypeMapping("uint16", "C.uint16({})", "uint16({})"), + "uint32": TypeMapping("uint32", "C.uint32({})", "uint32({})"), + "uint64": TypeMapping("uint64", "C.uint64({})", "uint64({})"), + "double": TypeMapping("float64", "C.double({})", "float64({})"), + "size_t": TypeMapping("uint", "C.size_t({})", "uint({})"), + "DateADT": TypeMapping("int32", "C.DateADT({})", "int32({})"), + "Timestamp": TypeMapping("int64", "C.Timestamp({})", "int64({})"), + "TimestampTz": TypeMapping("int64", "C.TimestampTz({})", "int64({})"), + "TimeOffset": TypeMapping("int64", "C.TimeOffset({})", "int64({})"), + "interpType": TypeMapping("Interpolation", "C.interpType({})", "Interpolation({})"), + "meosType": TypeMapping("MeosType", "C.meosType({})", "MeosType({})"), + "meosOper": TypeMapping("MeosOper", "C.meosOper({})", "MeosOper({})"), + "tempSubtype": TypeMapping("TempSubtype", "C.tempSubtype({})", "TempSubtype({})"), + "errorLevel": TypeMapping("ErrorLevel", "C.errorLevel({})", "ErrorLevel({})"), + "char *": TypeMapping("string", "C.CString({})", "C.GoString({})"), + "const char *": TypeMapping("string", "C.CString({})", "C.GoString({})"), + # PostgreSQL ``text`` is a varlena envelope around a Go string. The + # hand-written ``cstring2text`` / ``text2cstring`` helpers handle the + # palloc/pfree, mirroring the same idiom used by the hand-written + # surface. + "text *": TypeMapping("string", "cstring2text({})", "text2cstring({})"), + "const text *": TypeMapping("string", "cstring2text({})", "text2cstring({})"), +} + +# Opaque MEOS struct pointers mapped to GoMEOS wrapper types. When the +# pointer is an input, the caller passes the wrapper and the codegen emits +# ``.Inner()``. When it is a return, the codegen wraps the pointer in a new +# instance. ``Temporal`` is the interface type and uses ``CreateTemporal``. +WRAPPER_TYPES: dict[str, tuple[str, str]] = { + # C struct name (without trailing space/star) -> (Go wrapper type, ctor expr). + # The ctor expr uses a literal ``$res`` placeholder for the C result so we + # do not collide with Python ``str.format`` parsing the embedded braces of + # Go composite literals. + "Temporal": ("Temporal", "CreateTemporal($res)"), + "TInstant": ("TInstant", "TInstant{_inner: $res}"), + "TSequence": ("TSequence", "TSequence{_inner: $res}"), + "TSequenceSet": ("TSequenceSet", "TSequenceSet{_inner: $res}"), + "STBox": ("*STBox", "&STBox{_inner: $res}"), + "TBox": ("*TBox", "&TBox{_inner: $res}"), + "Span": ("*Span", "&Span{_inner: $res}"), + "SpanSet": ("*SpanSet", "&SpanSet{_inner: $res}"), + "Set": ("*Set", "&Set{_inner: $res}"), + "GSERIALIZED": ("*Geom", "&Geom{_inner: $res}"), + "Interval": ("timeutil.Timedelta", "IntervalToTimeDelta($res)"), + "Npoint": ("*Npoint", "&Npoint{_inner: $res}"), + "Nsegment": ("*Nsegment", "&Nsegment{_inner: $res}"), + "SkipList": ("*SkipList", "&SkipList{_inner: $res}"), + "RTree": ("*RTree", "&RTree{_inner: $res}"), +} + + +def _references_opaque(entry: dict) -> bool: + if any(t in entry["returnType"]["c"] for t in OPAQUE_TYPES): + return True + return any(any(t in p["cType"] for t in OPAQUE_TYPES) for p in entry["params"]) + + +def _is_datum_internal(entry: dict) -> bool: + """Functions that take or return a raw Datum are MEOS-internal helpers + that the hand-written surface re-exposes through typed overloads. The + codegen cannot produce those overloads automatically and reporting them + as TODO would conflate metadata work with real shape gaps.""" + if "Datum" in entry["returnType"]["c"].split(): + return True + for p in entry["params"]: + if "Datum" in p["cType"].split(): + return True + return False + + +def _strip_qualifiers(c_type: str) -> tuple[str, int]: + """Return ``(base_type, pointer_level)`` stripped of ``const`` and ``*``.""" + s = c_type.replace("const ", "").strip() + stars = s.count("*") + return s.replace("*", "").strip(), stars + + +def _go_type_for(c_type: str) -> tuple[str | None, str | None, str | None]: + """Look up a C type in the mapping tables. + + Returns ``(go_type, c_cast, from_c)``; any field may be ``None`` when the + type is not yet handled. + """ + if c_type in TYPE_MAP: + m = TYPE_MAP[c_type] + # Normalise scalar/string templates to the same ``$x`` placeholder + # the wrapper-type entries use, so emit_function only deals with one + # substitution dialect. + c_cast = m.c_cast.replace("{}", "$x") if m.c_cast else None + from_c = m.from_c.replace("{}", "$x") if m.from_c else None + return m.go_type, c_cast, from_c + base, stars = _strip_qualifiers(c_type) + if stars == 1 and base in WRAPPER_TYPES: + go_type, ctor = WRAPPER_TYPES[base] + # Pass through the wrapper as an input; convert back as a return. + c_cast = "$x.Inner()" if not go_type.startswith("*") else "$x._inner" + if go_type == "Temporal": + c_cast = "$x.Inner()" + return go_type, c_cast, ctor.replace("$res", "$x") + return None, None, None + + +# Name conversion ------------------------------------------------------- + +def _go_name(c_name: str) -> str: + """Convert ``snake_case`` to ``PascalCase`` while keeping initialisms.""" + parts = c_name.split("_") + out = [] + for p in parts: + if not p: + continue + # Preserve common acronyms in upper case for readability. + if p.upper() in {"WKB", "WKT", "MFJSON", "JSON", "SRID", "EWKT", "EWKB", + "STBOX", "TBOX", "ID", "X", "Y", "Z", "T", "MFJ"}: + out.append(p.upper()) + else: + out.append(p[:1].upper() + p[1:]) + return "".join(out) or c_name + + +_GO_RESERVED = {"type", "func", "interface", "select", "case", "chan", "goto", + "package", "import", "go", "defer", "return", "range", "var", + "const", "for", "if", "else", "switch", "break", "continue", + "default", "fallthrough", "map", "struct", "string"} + + +def _go_param_name(c_name: str) -> str: + if c_name in _GO_RESERVED: + return c_name + "_" + return c_name + + +# Emission -------------------------------------------------------------- + +@dataclass +class EmittedFunc: + name: str # Go-side name + code: str # full Go source for the function + skipped: bool # true if emitted as a TODO stub + + +def emit_function(entry: dict) -> EmittedFunc: + c_name = entry["name"] + go_name = _go_name(c_name) + return_c = entry["returnType"]["c"] + + # Resolve return type. + ret_go, _, ret_from_c = _go_type_for(return_c) + if ret_go is None and return_c != "void": + return EmittedFunc(go_name, _todo_stub(c_name, "unsupported return type " + return_c), True) + + # Resolve each parameter. + go_args = [] + inner_args = [] + deferred = [] + for p in entry["params"]: + pname = _go_param_name(p["name"]) + ptype = p["cType"] + go_t, c_cast, _ = _go_type_for(ptype) + if go_t is None: + return EmittedFunc(go_name, _todo_stub(c_name, "unsupported param " + ptype), True) + go_args.append(f"{pname} {go_t}") + if c_cast is None: + inner_args.append(pname) + else: + cast_expr = c_cast.replace("$x", pname) + # Strings need a single C.CString allocation reused across the + # call and the deferred free; bind to a local to avoid leaking. + if go_t == "string": + local = f"_c_{pname}" + deferred.append(f"{local} := {cast_expr}") + deferred.append(f"defer C.free(unsafe.Pointer({local}))") + inner_args.append(local) + else: + inner_args.append(cast_expr) + + sig_args = ", ".join(go_args) + ret_sig = "" if return_c == "void" else f" {ret_go}" + call = f"C.{c_name}({', '.join(inner_args)})" + + body_lines = [] + # ``deferred`` emits as-is so the ordering of declarations (local bind + # then defer) is preserved. + body_lines.extend("\t" + d for d in deferred) + if return_c == "void": + body_lines.append(f"\t{call}") + else: + body_lines.append(f"\tres := {call}") + body_lines.append(f"\treturn {ret_from_c.replace('$x', 'res')}") + + code = ( + f"// {go_name} wraps MEOS C function {c_name}.\n" + f"func {go_name}({sig_args}){ret_sig} {{\n" + + "\n".join(body_lines) + + "\n}\n" + ) + return EmittedFunc(go_name, code, False) + + +def _todo_stub(c_name: str, reason: str) -> str: + return ( + f"// TODO {c_name}: {reason}\n" + f"// func {_go_name(c_name)}(...) {{ /* not yet handled by codegen */ }}\n" + ) + + +# Driver ---------------------------------------------------------------- + +# Cgo preamble lives in its own file (_cgo.go) so the generated per-header +# files can share it without duplicating #include directives. +_CGO_FILE = """package generated + +/* +#cgo darwin CFLAGS: -I/opt/homebrew/include +#cgo darwin LDFLAGS: -L/opt/homebrew/lib -lmeos -Wl,-rpath,/opt/homebrew/lib + +#cgo linux CFLAGS: -I/usr/local/include/ +#cgo linux LDFLAGS: -L/usr/local/lib -lmeos -Wl,-rpath,/usr/local/lib + +#include +#include "meos.h" +#include "meos_catalog.h" +#include "meos_geo.h" +#include "meos_internal.h" +#include "meos_internal_geo.h" +#include "meos_npoint.h" +*/ +import "C" +""" + +_PER_HEADER_PREAMBLE = """package generated + +// #include +import "C" +import ( +\t"unsafe" + +\t"github.com/leekchan/timeutil" +) + +var _ = unsafe.Pointer(nil) +var _ = timeutil.Timedelta{} + +""" + + +def generate(idl_path: Path, out_dir: Path) -> dict: + idl = json.loads(idl_path.read_text()) + out_dir.mkdir(parents=True, exist_ok=True) + + entries_by_file: dict[str, list[dict]] = {h: [] for h in HEADER_FILES} + for entry in idl["functions"]: + if entry["file"] in entries_by_file: + entries_by_file[entry["file"]].append(entry) + + stats = {"emitted": 0, "skipped": 0, "datum": 0, "by_header": {}} + for header in HEADER_FILES: + emitted_funcs = [] + local_emit = local_skip = local_datum = 0 + for entry in entries_by_file[header]: + if entry["name"] in SKIPPED_FUNCTIONS: + continue + if _references_opaque(entry): + continue + if _is_datum_internal(entry): + local_datum += 1 + continue + ef = emit_function(entry) + emitted_funcs.append(ef) + if ef.skipped: + local_skip += 1 + else: + local_emit += 1 + stats["by_header"][header] = (local_emit, local_skip, local_datum) + stats["emitted"] += local_emit + stats["skipped"] += local_skip + stats["datum"] += local_datum + + out_file = out_dir / f"meos_{header.replace('.h', '')}.go" + body = _PER_HEADER_PREAMBLE + "\n\n".join(e.code for e in emitted_funcs) + "\n" + out_file.write_text(body) + + # The single cgo preamble file with all #includes lives next to the + # generated wrappers; Go's cgo machinery merges directives across files. + (out_dir / "cgo.go").write_text(_CGO_FILE) + return stats + + +if __name__ == "__main__": + here = Path(__file__).parent + # ``tools/preview/`` ships as a Draft artifact: the directory name is + # prefixed with the standard Go-ignored ``_`` so ``go build ./...`` from + # the repo root skips it. Renaming to ``generated/`` is the staged step + # that retires the hand-written wrappers once the remaining TODO shapes + # are covered. + stats = generate(here / "meos-idl.json", here / "_preview") + print(f"Emitted {stats['emitted']} idiomatic wrappers") + print(f"Skipped {stats['skipped']} as TODO (unsupported signature shape)") + print(f"Excluded {stats['datum']} as Datum-bearing internal helpers") + for h, (e, s, d) in stats["by_header"].items(): + print(f" {h}: {e} emitted, {s} TODO, {d} Datum") diff --git a/tools/meos-idl.json b/tools/meos-idl.json new file mode 100644 index 0000000..d945035 --- /dev/null +++ b/tools/meos-idl.json @@ -0,0 +1,50444 @@ +{ + "functions": [ + { + "name": "date_in", + "file": "meos.h", + "returnType": { + "c": "DateADT", + "canonical": "int" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "date_out", + "file": "meos.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + } + ] + }, + { + "name": "interval_cmp", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "interv1", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "interv2", + "cType": "const Interval *", + "canonical": "const Interval *" + } + ] + }, + { + "name": "interval_in", + "file": "meos.h", + "returnType": { + "c": "Interval *", + "canonical": "Interval *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "typmod", + "cType": "int32", + "canonical": "int" + } + ] + }, + { + "name": "interval_out", + "file": "meos.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "interv", + "cType": "const Interval *", + "canonical": "const Interval *" + } + ] + }, + { + "name": "time_in", + "file": "meos.h", + "returnType": { + "c": "TimeADT", + "canonical": "long" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "typmod", + "cType": "int32", + "canonical": "int" + } + ] + }, + { + "name": "time_out", + "file": "meos.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "t", + "cType": "TimeADT", + "canonical": "long" + } + ] + }, + { + "name": "timestamp_in", + "file": "meos.h", + "returnType": { + "c": "Timestamp", + "canonical": "long" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "typmod", + "cType": "int32", + "canonical": "int" + } + ] + }, + { + "name": "timestamp_out", + "file": "meos.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "t", + "cType": "Timestamp", + "canonical": "long" + } + ] + }, + { + "name": "timestamptz_in", + "file": "meos.h", + "returnType": { + "c": "TimestampTz", + "canonical": "long" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "typmod", + "cType": "int32", + "canonical": "int" + } + ] + }, + { + "name": "timestamptz_out", + "file": "meos.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "rtree_create_intspan", + "file": "meos.h", + "returnType": { + "c": "RTree *", + "canonical": "struct RTree *" + }, + "params": [] + }, + { + "name": "rtree_create_bigintspan", + "file": "meos.h", + "returnType": { + "c": "RTree *", + "canonical": "struct RTree *" + }, + "params": [] + }, + { + "name": "rtree_create_floatspan", + "file": "meos.h", + "returnType": { + "c": "RTree *", + "canonical": "struct RTree *" + }, + "params": [] + }, + { + "name": "rtree_create_datespan", + "file": "meos.h", + "returnType": { + "c": "RTree *", + "canonical": "struct RTree *" + }, + "params": [] + }, + { + "name": "rtree_create_tstzspan", + "file": "meos.h", + "returnType": { + "c": "RTree *", + "canonical": "struct RTree *" + }, + "params": [] + }, + { + "name": "rtree_create_tbox", + "file": "meos.h", + "returnType": { + "c": "RTree *", + "canonical": "struct RTree *" + }, + "params": [] + }, + { + "name": "rtree_create_stbox", + "file": "meos.h", + "returnType": { + "c": "RTree *", + "canonical": "struct RTree *" + }, + "params": [] + }, + { + "name": "rtree_free", + "file": "meos.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "rtree", + "cType": "RTree *", + "canonical": "struct RTree *" + } + ] + }, + { + "name": "rtree_insert", + "file": "meos.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "rtree", + "cType": "RTree *", + "canonical": "struct RTree *" + }, + { + "name": "box", + "cType": "void *", + "canonical": "void *" + }, + { + "name": "id", + "cType": "int64", + "canonical": "long" + } + ] + }, + { + "name": "rtree_search", + "file": "meos.h", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "rtree", + "cType": "const RTree *", + "canonical": "const struct RTree *" + }, + { + "name": "query", + "cType": "const void *", + "canonical": "const void *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "meos_error", + "file": "meos.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "errlevel", + "cType": "int", + "canonical": "int" + }, + { + "name": "errcode", + "cType": "int", + "canonical": "int" + }, + { + "name": "format", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "meos_errno", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [] + }, + { + "name": "meos_errno_set", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "err", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "meos_errno_restore", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "err", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "meos_errno_reset", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [] + }, + { + "name": "meos_initialize_timezone", + "file": "meos.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "name", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "meos_initialize_error_handler", + "file": "meos.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "err_handler", + "cType": "error_handler_fn", + "canonical": "void (*)(int, int, const char *)" + } + ] + }, + { + "name": "meos_finalize_timezone", + "file": "meos.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [] + }, + { + "name": "meos_finalize_projsrs", + "file": "meos.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [] + }, + { + "name": "meos_finalize_ways", + "file": "meos.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [] + }, + { + "name": "meos_set_datestyle", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "newval", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "extra", + "cType": "void *", + "canonical": "void *" + } + ] + }, + { + "name": "meos_set_intervalstyle", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "newval", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "extra", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "meos_get_datestyle", + "file": "meos.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [] + }, + { + "name": "meos_get_intervalstyle", + "file": "meos.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [] + }, + { + "name": "meos_set_spatial_ref_sys_csv", + "file": "meos.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "path", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "meos_initialize", + "file": "meos.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [] + }, + { + "name": "meos_finalize", + "file": "meos.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [] + }, + { + "name": "add_date_int", + "file": "meos.h", + "returnType": { + "c": "DateADT", + "canonical": "int" + }, + "params": [ + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + }, + { + "name": "days", + "cType": "int32", + "canonical": "int" + } + ] + }, + { + "name": "add_interval_interval", + "file": "meos.h", + "returnType": { + "c": "Interval *", + "canonical": "Interval *" + }, + "params": [ + { + "name": "interv1", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "interv2", + "cType": "const Interval *", + "canonical": "const Interval *" + } + ] + }, + { + "name": "add_timestamptz_interval", + "file": "meos.h", + "returnType": { + "c": "TimestampTz", + "canonical": "long" + }, + "params": [ + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "interv", + "cType": "const Interval *", + "canonical": "const Interval *" + } + ] + }, + { + "name": "bool_in", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "bool_out", + "file": "meos.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "b", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "cstring2text", + "file": "meos.h", + "returnType": { + "c": "text *", + "canonical": "struct varlena *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "date_to_timestamp", + "file": "meos.h", + "returnType": { + "c": "Timestamp", + "canonical": "long" + }, + "params": [ + { + "name": "dateVal", + "cType": "DateADT", + "canonical": "int" + } + ] + }, + { + "name": "date_to_timestamptz", + "file": "meos.h", + "returnType": { + "c": "TimestampTz", + "canonical": "long" + }, + "params": [ + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + } + ] + }, + { + "name": "float_exp", + "file": "meos.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "float_ln", + "file": "meos.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "float_log10", + "file": "meos.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "float8_out", + "file": "meos.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "d", + "cType": "double", + "canonical": "double" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "float_round", + "file": "meos.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "d", + "cType": "double", + "canonical": "double" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "int32_cmp", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "l", + "cType": "int32", + "canonical": "int" + }, + { + "name": "r", + "cType": "int32", + "canonical": "int" + } + ] + }, + { + "name": "int64_cmp", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "l", + "cType": "int64", + "canonical": "long" + }, + { + "name": "r", + "cType": "int64", + "canonical": "long" + } + ] + }, + { + "name": "interval_make", + "file": "meos.h", + "returnType": { + "c": "Interval *", + "canonical": "Interval *" + }, + "params": [ + { + "name": "years", + "cType": "int32", + "canonical": "int" + }, + { + "name": "months", + "cType": "int32", + "canonical": "int" + }, + { + "name": "weeks", + "cType": "int32", + "canonical": "int" + }, + { + "name": "days", + "cType": "int32", + "canonical": "int" + }, + { + "name": "hours", + "cType": "int32", + "canonical": "int" + }, + { + "name": "mins", + "cType": "int32", + "canonical": "int" + }, + { + "name": "secs", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "minus_date_date", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "d1", + "cType": "DateADT", + "canonical": "int" + }, + { + "name": "d2", + "cType": "DateADT", + "canonical": "int" + } + ] + }, + { + "name": "minus_date_int", + "file": "meos.h", + "returnType": { + "c": "DateADT", + "canonical": "int" + }, + "params": [ + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + }, + { + "name": "days", + "cType": "int32", + "canonical": "int" + } + ] + }, + { + "name": "minus_timestamptz_interval", + "file": "meos.h", + "returnType": { + "c": "TimestampTz", + "canonical": "long" + }, + "params": [ + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "interv", + "cType": "const Interval *", + "canonical": "const Interval *" + } + ] + }, + { + "name": "minus_timestamptz_timestamptz", + "file": "meos.h", + "returnType": { + "c": "Interval *", + "canonical": "Interval *" + }, + "params": [ + { + "name": "t1", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "t2", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "mul_interval_double", + "file": "meos.h", + "returnType": { + "c": "Interval *", + "canonical": "Interval *" + }, + "params": [ + { + "name": "interv", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "factor", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "pg_date_in", + "file": "meos.h", + "returnType": { + "c": "DateADT", + "canonical": "int" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "pg_date_out", + "file": "meos.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + } + ] + }, + { + "name": "pg_interval_cmp", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "interv1", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "interv2", + "cType": "const Interval *", + "canonical": "const Interval *" + } + ] + }, + { + "name": "pg_interval_in", + "file": "meos.h", + "returnType": { + "c": "Interval *", + "canonical": "Interval *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "typmod", + "cType": "int32", + "canonical": "int" + } + ] + }, + { + "name": "pg_interval_out", + "file": "meos.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "interv", + "cType": "const Interval *", + "canonical": "const Interval *" + } + ] + }, + { + "name": "pg_timestamp_in", + "file": "meos.h", + "returnType": { + "c": "Timestamp", + "canonical": "long" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "typmod", + "cType": "int32", + "canonical": "int" + } + ] + }, + { + "name": "pg_timestamp_out", + "file": "meos.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "t", + "cType": "Timestamp", + "canonical": "long" + } + ] + }, + { + "name": "pg_timestamptz_in", + "file": "meos.h", + "returnType": { + "c": "TimestampTz", + "canonical": "long" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "typmod", + "cType": "int32", + "canonical": "int" + } + ] + }, + { + "name": "pg_timestamptz_out", + "file": "meos.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "text2cstring", + "file": "meos.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + } + ] + }, + { + "name": "text_cmp", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "txt1", + "cType": "const text *", + "canonical": "const struct varlena *" + }, + { + "name": "txt2", + "cType": "const text *", + "canonical": "const struct varlena *" + } + ] + }, + { + "name": "text_copy", + "file": "meos.h", + "returnType": { + "c": "text *", + "canonical": "struct varlena *" + }, + "params": [ + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + } + ] + }, + { + "name": "text_in", + "file": "meos.h", + "returnType": { + "c": "text *", + "canonical": "struct varlena *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "text_initcap", + "file": "meos.h", + "returnType": { + "c": "text *", + "canonical": "struct varlena *" + }, + "params": [ + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + } + ] + }, + { + "name": "text_lower", + "file": "meos.h", + "returnType": { + "c": "text *", + "canonical": "struct varlena *" + }, + "params": [ + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + } + ] + }, + { + "name": "text_out", + "file": "meos.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + } + ] + }, + { + "name": "text_upper", + "file": "meos.h", + "returnType": { + "c": "text *", + "canonical": "struct varlena *" + }, + "params": [ + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + } + ] + }, + { + "name": "textcat_text_text", + "file": "meos.h", + "returnType": { + "c": "text *", + "canonical": "struct varlena *" + }, + "params": [ + { + "name": "txt1", + "cType": "const text *", + "canonical": "const struct varlena *" + }, + { + "name": "txt2", + "cType": "const text *", + "canonical": "const struct varlena *" + } + ] + }, + { + "name": "timestamptz_shift", + "file": "meos.h", + "returnType": { + "c": "TimestampTz", + "canonical": "long" + }, + "params": [ + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "interv", + "cType": "const Interval *", + "canonical": "const Interval *" + } + ] + }, + { + "name": "timestamp_to_date", + "file": "meos.h", + "returnType": { + "c": "DateADT", + "canonical": "int" + }, + "params": [ + { + "name": "t", + "cType": "Timestamp", + "canonical": "long" + } + ] + }, + { + "name": "timestamptz_to_date", + "file": "meos.h", + "returnType": { + "c": "DateADT", + "canonical": "int" + }, + "params": [ + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "bigintset_in", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "bigintset_out", + "file": "meos.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "set", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "bigintspan_expand", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "value", + "cType": "int64", + "canonical": "long" + } + ] + }, + { + "name": "bigintspan_in", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "bigintspan_out", + "file": "meos.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "bigintspanset_in", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "bigintspanset_out", + "file": "meos.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "dateset_in", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "dateset_out", + "file": "meos.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "datespan_in", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "datespan_out", + "file": "meos.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "datespanset_in", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "datespanset_out", + "file": "meos.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "floatset_in", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "floatset_out", + "file": "meos.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "set", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "floatspan_expand", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "value", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "floatspan_in", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "floatspan_out", + "file": "meos.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "floatspanset_in", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "floatspanset_out", + "file": "meos.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "intset_in", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "intset_out", + "file": "meos.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "set", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "intspan_expand", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "value", + "cType": "int32", + "canonical": "int" + } + ] + }, + { + "name": "intspan_in", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "intspan_out", + "file": "meos.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "intspanset_in", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "intspanset_out", + "file": "meos.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "set_as_hexwkb", + "file": "meos.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "variant", + "cType": "uint8_t", + "canonical": "unsigned char" + }, + { + "name": "size_out", + "cType": "size_t *", + "canonical": "unsigned long *" + } + ] + }, + { + "name": "set_as_wkb", + "file": "meos.h", + "returnType": { + "c": "uint8_t *", + "canonical": "unsigned char *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "variant", + "cType": "uint8_t", + "canonical": "unsigned char" + }, + { + "name": "size_out", + "cType": "size_t *", + "canonical": "unsigned long *" + } + ] + }, + { + "name": "set_from_hexwkb", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "hexwkb", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "set_from_wkb", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "wkb", + "cType": "const uint8_t *", + "canonical": "const unsigned char *" + }, + { + "name": "size", + "cType": "size_t", + "canonical": "unsigned long" + } + ] + }, + { + "name": "span_as_hexwkb", + "file": "meos.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "variant", + "cType": "uint8_t", + "canonical": "unsigned char" + }, + { + "name": "size_out", + "cType": "size_t *", + "canonical": "unsigned long *" + } + ] + }, + { + "name": "span_as_wkb", + "file": "meos.h", + "returnType": { + "c": "uint8_t *", + "canonical": "unsigned char *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "variant", + "cType": "uint8_t", + "canonical": "unsigned char" + }, + { + "name": "size_out", + "cType": "size_t *", + "canonical": "unsigned long *" + } + ] + }, + { + "name": "span_from_hexwkb", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "hexwkb", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "span_from_wkb", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "wkb", + "cType": "const uint8_t *", + "canonical": "const unsigned char *" + }, + { + "name": "size", + "cType": "size_t", + "canonical": "unsigned long" + } + ] + }, + { + "name": "spanset_as_hexwkb", + "file": "meos.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "variant", + "cType": "uint8_t", + "canonical": "unsigned char" + }, + { + "name": "size_out", + "cType": "size_t *", + "canonical": "unsigned long *" + } + ] + }, + { + "name": "spanset_as_wkb", + "file": "meos.h", + "returnType": { + "c": "uint8_t *", + "canonical": "unsigned char *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "variant", + "cType": "uint8_t", + "canonical": "unsigned char" + }, + { + "name": "size_out", + "cType": "size_t *", + "canonical": "unsigned long *" + } + ] + }, + { + "name": "spanset_from_hexwkb", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "hexwkb", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "spanset_from_wkb", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "wkb", + "cType": "const uint8_t *", + "canonical": "const unsigned char *" + }, + { + "name": "size", + "cType": "size_t", + "canonical": "unsigned long" + } + ] + }, + { + "name": "textset_in", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "textset_out", + "file": "meos.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "set", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "tstzset_in", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tstzset_out", + "file": "meos.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "set", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "tstzspan_in", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tstzspan_out", + "file": "meos.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "tstzspanset_in", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tstzspanset_out", + "file": "meos.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "bigintset_make", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "values", + "cType": "const int64 *", + "canonical": "const long *" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "bigintspan_make", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "lower", + "cType": "int64", + "canonical": "long" + }, + { + "name": "upper", + "cType": "int64", + "canonical": "long" + }, + { + "name": "lower_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "upper_inc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "dateset_make", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "values", + "cType": "const DateADT *", + "canonical": "const int *" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "datespan_make", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "lower", + "cType": "DateADT", + "canonical": "int" + }, + { + "name": "upper", + "cType": "DateADT", + "canonical": "int" + }, + { + "name": "lower_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "upper_inc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "floatset_make", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "values", + "cType": "const double *", + "canonical": "const double *" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "floatspan_make", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "lower", + "cType": "double", + "canonical": "double" + }, + { + "name": "upper", + "cType": "double", + "canonical": "double" + }, + { + "name": "lower_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "upper_inc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "intset_make", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "values", + "cType": "const int *", + "canonical": "const int *" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "intspan_make", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "lower", + "cType": "int", + "canonical": "int" + }, + { + "name": "upper", + "cType": "int", + "canonical": "int" + }, + { + "name": "lower_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "upper_inc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "set_copy", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "span_copy", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "spanset_copy", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "spanset_make", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "spans", + "cType": "Span *", + "canonical": "Span *" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "textset_make", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "values", + "cType": "text **", + "canonical": "struct varlena **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tstzset_make", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "values", + "cType": "const TimestampTz *", + "canonical": "const long *" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tstzspan_make", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "lower", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "upper", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "lower_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "upper_inc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "bigint_to_set", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "i", + "cType": "int64", + "canonical": "long" + } + ] + }, + { + "name": "bigint_to_span", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "bigint_to_spanset", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "date_to_set", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + } + ] + }, + { + "name": "date_to_span", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + } + ] + }, + { + "name": "date_to_spanset", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + } + ] + }, + { + "name": "dateset_to_tstzset", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "datespan_to_tstzspan", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "datespanset_to_tstzspanset", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "float_to_set", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "float_to_span", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "float_to_spanset", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "floatset_to_intset", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "floatspan_to_intspan", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "floatspanset_to_intspanset", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "int_to_set", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "int_to_span", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "int_to_spanset", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "intset_to_floatset", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "intspan_to_floatspan", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "intspanset_to_floatspanset", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "set_to_span", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "set_to_spanset", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "span_to_spanset", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "text_to_set", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + } + ] + }, + { + "name": "timestamptz_to_set", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "timestamptz_to_span", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "timestamptz_to_spanset", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "tstzset_to_dateset", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "tstzspan_to_datespan", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "tstzspanset_to_datespanset", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "bigintset_end_value", + "file": "meos.h", + "returnType": { + "c": "int64", + "canonical": "long" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "bigintset_start_value", + "file": "meos.h", + "returnType": { + "c": "int64", + "canonical": "long" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "bigintset_value_n", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "n", + "cType": "int", + "canonical": "int" + }, + { + "name": "result", + "cType": "int64 *", + "canonical": "long *" + } + ] + }, + { + "name": "bigintset_values", + "file": "meos.h", + "returnType": { + "c": "int64 *", + "canonical": "long *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "bigintspan_lower", + "file": "meos.h", + "returnType": { + "c": "int64", + "canonical": "long" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "bigintspan_upper", + "file": "meos.h", + "returnType": { + "c": "int64", + "canonical": "long" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "bigintspan_width", + "file": "meos.h", + "returnType": { + "c": "int64", + "canonical": "long" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "bigintspanset_lower", + "file": "meos.h", + "returnType": { + "c": "int64", + "canonical": "long" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "bigintspanset_upper", + "file": "meos.h", + "returnType": { + "c": "int64", + "canonical": "long" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "bigintspanset_width", + "file": "meos.h", + "returnType": { + "c": "int64", + "canonical": "long" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "boundspan", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "dateset_end_value", + "file": "meos.h", + "returnType": { + "c": "DateADT", + "canonical": "int" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "dateset_start_value", + "file": "meos.h", + "returnType": { + "c": "DateADT", + "canonical": "int" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "dateset_value_n", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "n", + "cType": "int", + "canonical": "int" + }, + { + "name": "result", + "cType": "DateADT *", + "canonical": "int *" + } + ] + }, + { + "name": "dateset_values", + "file": "meos.h", + "returnType": { + "c": "DateADT *", + "canonical": "int *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "datespan_duration", + "file": "meos.h", + "returnType": { + "c": "Interval *", + "canonical": "Interval *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "datespan_lower", + "file": "meos.h", + "returnType": { + "c": "DateADT", + "canonical": "int" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "datespan_upper", + "file": "meos.h", + "returnType": { + "c": "DateADT", + "canonical": "int" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "datespanset_date_n", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "n", + "cType": "int", + "canonical": "int" + }, + { + "name": "result", + "cType": "DateADT *", + "canonical": "int *" + } + ] + }, + { + "name": "datespanset_dates", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "datespanset_duration", + "file": "meos.h", + "returnType": { + "c": "Interval *", + "canonical": "Interval *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "boundspan", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "datespanset_end_date", + "file": "meos.h", + "returnType": { + "c": "DateADT", + "canonical": "int" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "datespanset_num_dates", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "datespanset_start_date", + "file": "meos.h", + "returnType": { + "c": "DateADT", + "canonical": "int" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "floatset_end_value", + "file": "meos.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "floatset_start_value", + "file": "meos.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "floatset_value_n", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "n", + "cType": "int", + "canonical": "int" + }, + { + "name": "result", + "cType": "double *", + "canonical": "double *" + } + ] + }, + { + "name": "floatset_values", + "file": "meos.h", + "returnType": { + "c": "double *", + "canonical": "double *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "floatspan_lower", + "file": "meos.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "floatspan_upper", + "file": "meos.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "floatspan_width", + "file": "meos.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "floatspanset_lower", + "file": "meos.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "floatspanset_upper", + "file": "meos.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "floatspanset_width", + "file": "meos.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "boundspan", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "intset_end_value", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "intset_start_value", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "intset_value_n", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "n", + "cType": "int", + "canonical": "int" + }, + { + "name": "result", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "intset_values", + "file": "meos.h", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "intspan_lower", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "intspan_upper", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "intspan_width", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "intspanset_lower", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "intspanset_upper", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "intspanset_width", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "boundspan", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "set_hash", + "file": "meos.h", + "returnType": { + "c": "uint32", + "canonical": "unsigned int" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "set_hash_extended", + "file": "meos.h", + "returnType": { + "c": "uint64", + "canonical": "unsigned long" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "seed", + "cType": "uint64", + "canonical": "unsigned long" + } + ] + }, + { + "name": "set_num_values", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "span_hash", + "file": "meos.h", + "returnType": { + "c": "uint32", + "canonical": "unsigned int" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "span_hash_extended", + "file": "meos.h", + "returnType": { + "c": "uint64", + "canonical": "unsigned long" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "seed", + "cType": "uint64", + "canonical": "unsigned long" + } + ] + }, + { + "name": "span_lower_inc", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "span_upper_inc", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "spanset_end_span", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "spanset_hash", + "file": "meos.h", + "returnType": { + "c": "uint32", + "canonical": "unsigned int" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "spanset_hash_extended", + "file": "meos.h", + "returnType": { + "c": "uint64", + "canonical": "unsigned long" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "seed", + "cType": "uint64", + "canonical": "unsigned long" + } + ] + }, + { + "name": "spanset_lower_inc", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "spanset_num_spans", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "spanset_span", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "spanset_span_n", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "spanset_spanarr", + "file": "meos.h", + "returnType": { + "c": "Span **", + "canonical": "Span **" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "spanset_start_span", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "spanset_upper_inc", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "textset_end_value", + "file": "meos.h", + "returnType": { + "c": "text *", + "canonical": "struct varlena *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "textset_start_value", + "file": "meos.h", + "returnType": { + "c": "text *", + "canonical": "struct varlena *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "textset_value_n", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "n", + "cType": "int", + "canonical": "int" + }, + { + "name": "result", + "cType": "text **", + "canonical": "struct varlena **" + } + ] + }, + { + "name": "textset_values", + "file": "meos.h", + "returnType": { + "c": "text **", + "canonical": "struct varlena **" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "tstzset_end_value", + "file": "meos.h", + "returnType": { + "c": "TimestampTz", + "canonical": "long" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "tstzset_start_value", + "file": "meos.h", + "returnType": { + "c": "TimestampTz", + "canonical": "long" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "tstzset_value_n", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "n", + "cType": "int", + "canonical": "int" + }, + { + "name": "result", + "cType": "TimestampTz *", + "canonical": "long *" + } + ] + }, + { + "name": "tstzset_values", + "file": "meos.h", + "returnType": { + "c": "TimestampTz *", + "canonical": "long *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "tstzspan_duration", + "file": "meos.h", + "returnType": { + "c": "Interval *", + "canonical": "Interval *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "tstzspan_lower", + "file": "meos.h", + "returnType": { + "c": "TimestampTz", + "canonical": "long" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "tstzspan_upper", + "file": "meos.h", + "returnType": { + "c": "TimestampTz", + "canonical": "long" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "tstzspanset_duration", + "file": "meos.h", + "returnType": { + "c": "Interval *", + "canonical": "Interval *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "boundspan", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tstzspanset_end_timestamptz", + "file": "meos.h", + "returnType": { + "c": "TimestampTz", + "canonical": "long" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "tstzspanset_lower", + "file": "meos.h", + "returnType": { + "c": "TimestampTz", + "canonical": "long" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "tstzspanset_num_timestamps", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "tstzspanset_start_timestamptz", + "file": "meos.h", + "returnType": { + "c": "TimestampTz", + "canonical": "long" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "tstzspanset_timestamps", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "tstzspanset_timestamptz_n", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "n", + "cType": "int", + "canonical": "int" + }, + { + "name": "result", + "cType": "TimestampTz *", + "canonical": "long *" + } + ] + }, + { + "name": "tstzspanset_upper", + "file": "meos.h", + "returnType": { + "c": "TimestampTz", + "canonical": "long" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "bigintset_shift_scale", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "shift", + "cType": "int64", + "canonical": "long" + }, + { + "name": "width", + "cType": "int64", + "canonical": "long" + }, + { + "name": "hasshift", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "haswidth", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "bigintspan_shift_scale", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "shift", + "cType": "int64", + "canonical": "long" + }, + { + "name": "width", + "cType": "int64", + "canonical": "long" + }, + { + "name": "hasshift", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "haswidth", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "bigintspanset_shift_scale", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "shift", + "cType": "int64", + "canonical": "long" + }, + { + "name": "width", + "cType": "int64", + "canonical": "long" + }, + { + "name": "hasshift", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "haswidth", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "dateset_shift_scale", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "shift", + "cType": "int", + "canonical": "int" + }, + { + "name": "width", + "cType": "int", + "canonical": "int" + }, + { + "name": "hasshift", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "haswidth", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "datespan_shift_scale", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "shift", + "cType": "int", + "canonical": "int" + }, + { + "name": "width", + "cType": "int", + "canonical": "int" + }, + { + "name": "hasshift", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "haswidth", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "datespanset_shift_scale", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "shift", + "cType": "int", + "canonical": "int" + }, + { + "name": "width", + "cType": "int", + "canonical": "int" + }, + { + "name": "hasshift", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "haswidth", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "floatset_ceil", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "floatset_degrees", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "normalize", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "floatset_floor", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "floatset_radians", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "floatset_shift_scale", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "shift", + "cType": "double", + "canonical": "double" + }, + { + "name": "width", + "cType": "double", + "canonical": "double" + }, + { + "name": "hasshift", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "haswidth", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "floatspan_ceil", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "floatspan_degrees", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "normalize", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "floatspan_floor", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "floatspan_radians", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "floatspan_round", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "floatspan_shift_scale", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "shift", + "cType": "double", + "canonical": "double" + }, + { + "name": "width", + "cType": "double", + "canonical": "double" + }, + { + "name": "hasshift", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "haswidth", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "floatspanset_ceil", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "floatspanset_floor", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "floatspanset_degrees", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "normalize", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "floatspanset_radians", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "floatspanset_round", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "floatspanset_shift_scale", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "shift", + "cType": "double", + "canonical": "double" + }, + { + "name": "width", + "cType": "double", + "canonical": "double" + }, + { + "name": "hasshift", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "haswidth", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "intset_shift_scale", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "shift", + "cType": "int", + "canonical": "int" + }, + { + "name": "width", + "cType": "int", + "canonical": "int" + }, + { + "name": "hasshift", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "haswidth", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "intspan_shift_scale", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "shift", + "cType": "int", + "canonical": "int" + }, + { + "name": "width", + "cType": "int", + "canonical": "int" + }, + { + "name": "hasshift", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "haswidth", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "intspanset_shift_scale", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "shift", + "cType": "int", + "canonical": "int" + }, + { + "name": "width", + "cType": "int", + "canonical": "int" + }, + { + "name": "hasshift", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "haswidth", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tstzspan_expand", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "interv", + "cType": "const Interval *", + "canonical": "const Interval *" + } + ] + }, + { + "name": "set_round", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "textcat_text_textset", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "textcat_textset_text", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + } + ] + }, + { + "name": "textset_initcap", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "textset_lower", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "textset_upper", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "timestamptz_tprecision", + "file": "meos.h", + "returnType": { + "c": "TimestampTz", + "canonical": "long" + }, + "params": [ + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "torigin", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "tstzset_shift_scale", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "shift", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" + } + ] + }, + { + "name": "tstzset_tprecision", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "torigin", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "tstzspan_shift_scale", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "shift", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" + } + ] + }, + { + "name": "tstzspan_tprecision", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "torigin", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "tstzspanset_shift_scale", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "shift", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" + } + ] + }, + { + "name": "tstzspanset_tprecision", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "torigin", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "set_cmp", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "s1", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "s2", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "set_eq", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s1", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "s2", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "set_ge", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s1", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "s2", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "set_gt", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s1", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "s2", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "set_le", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s1", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "s2", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "set_lt", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s1", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "s2", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "set_ne", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s1", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "s2", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "span_cmp", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "s1", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "s2", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "span_eq", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s1", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "s2", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "span_ge", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s1", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "s2", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "span_gt", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s1", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "s2", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "span_le", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s1", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "s2", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "span_lt", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s1", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "s2", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "span_ne", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s1", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "s2", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "spanset_cmp", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "ss1", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "ss2", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "spanset_eq", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss1", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "ss2", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "spanset_ge", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss1", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "ss2", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "spanset_gt", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss1", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "ss2", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "spanset_le", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss1", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "ss2", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "spanset_lt", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss1", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "ss2", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "spanset_ne", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss1", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "ss2", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "set_spans", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "set_split_each_n_spans", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "elems_per_span", + "cType": "int", + "canonical": "int" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "set_split_n_spans", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "span_count", + "cType": "int", + "canonical": "int" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "spanset_spans", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "spanset_split_each_n_spans", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "elems_per_span", + "cType": "int", + "canonical": "int" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "spanset_split_n_spans", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "span_count", + "cType": "int", + "canonical": "int" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "adjacent_span_bigint", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "i", + "cType": "int64", + "canonical": "long" + } + ] + }, + { + "name": "adjacent_span_date", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + } + ] + }, + { + "name": "adjacent_span_float", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "adjacent_span_int", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "adjacent_span_span", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s1", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "s2", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "adjacent_span_spanset", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "adjacent_span_timestamptz", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "adjacent_spanset_bigint", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "i", + "cType": "int64", + "canonical": "long" + } + ] + }, + { + "name": "adjacent_spanset_date", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + } + ] + }, + { + "name": "adjacent_spanset_float", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "adjacent_spanset_int", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "adjacent_spanset_timestamptz", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "adjacent_spanset_span", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "adjacent_spanset_spanset", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss1", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "ss2", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "contained_bigint_set", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "i", + "cType": "int64", + "canonical": "long" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "contained_bigint_span", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "i", + "cType": "int64", + "canonical": "long" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "contained_bigint_spanset", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "i", + "cType": "int64", + "canonical": "long" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "contained_date_set", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "contained_date_span", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "contained_date_spanset", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "contained_float_set", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "d", + "cType": "double", + "canonical": "double" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "contained_float_span", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "d", + "cType": "double", + "canonical": "double" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "contained_float_spanset", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "d", + "cType": "double", + "canonical": "double" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "contained_int_set", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "i", + "cType": "int", + "canonical": "int" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "contained_int_span", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "i", + "cType": "int", + "canonical": "int" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "contained_int_spanset", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "i", + "cType": "int", + "canonical": "int" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "contained_set_set", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s1", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "s2", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "contained_span_span", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s1", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "s2", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "contained_span_spanset", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "contained_spanset_span", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "contained_spanset_spanset", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss1", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "ss2", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "contained_text_set", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "contained_timestamptz_set", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "contained_timestamptz_span", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "contained_timestamptz_spanset", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "contains_set_bigint", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "i", + "cType": "int64", + "canonical": "long" + } + ] + }, + { + "name": "contains_set_date", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + } + ] + }, + { + "name": "contains_set_float", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "contains_set_int", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "contains_set_set", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s1", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "s2", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "contains_set_text", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "t", + "cType": "text *", + "canonical": "struct varlena *" + } + ] + }, + { + "name": "contains_set_timestamptz", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "contains_span_bigint", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "i", + "cType": "int64", + "canonical": "long" + } + ] + }, + { + "name": "contains_span_date", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + } + ] + }, + { + "name": "contains_span_float", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "contains_span_int", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "contains_span_span", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s1", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "s2", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "contains_span_spanset", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "contains_span_timestamptz", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "contains_spanset_bigint", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "i", + "cType": "int64", + "canonical": "long" + } + ] + }, + { + "name": "contains_spanset_date", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + } + ] + }, + { + "name": "contains_spanset_float", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "contains_spanset_int", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "contains_spanset_span", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "contains_spanset_spanset", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss1", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "ss2", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "contains_spanset_timestamptz", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "overlaps_set_set", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s1", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "s2", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "overlaps_span_span", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s1", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "s2", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "overlaps_span_spanset", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "overlaps_spanset_span", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "overlaps_spanset_spanset", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss1", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "ss2", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "after_date_set", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "after_date_span", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "after_date_spanset", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "after_set_date", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + } + ] + }, + { + "name": "after_set_timestamptz", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "after_span_date", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + } + ] + }, + { + "name": "after_span_timestamptz", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "after_spanset_date", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + } + ] + }, + { + "name": "after_spanset_timestamptz", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "after_timestamptz_set", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "after_timestamptz_span", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "after_timestamptz_spanset", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "before_date_set", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "before_date_span", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "before_date_spanset", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "before_set_date", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + } + ] + }, + { + "name": "before_set_timestamptz", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "before_span_date", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + } + ] + }, + { + "name": "before_span_timestamptz", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "before_spanset_date", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + } + ] + }, + { + "name": "before_spanset_timestamptz", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "before_timestamptz_set", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "before_timestamptz_span", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "before_timestamptz_spanset", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "left_bigint_set", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "i", + "cType": "int64", + "canonical": "long" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "left_bigint_span", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "i", + "cType": "int64", + "canonical": "long" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "left_bigint_spanset", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "i", + "cType": "int64", + "canonical": "long" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "left_float_set", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "d", + "cType": "double", + "canonical": "double" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "left_float_span", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "d", + "cType": "double", + "canonical": "double" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "left_float_spanset", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "d", + "cType": "double", + "canonical": "double" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "left_int_set", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "i", + "cType": "int", + "canonical": "int" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "left_int_span", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "i", + "cType": "int", + "canonical": "int" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "left_int_spanset", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "i", + "cType": "int", + "canonical": "int" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "left_set_bigint", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "i", + "cType": "int64", + "canonical": "long" + } + ] + }, + { + "name": "left_set_float", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "left_set_int", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "left_set_set", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s1", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "s2", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "left_set_text", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "txt", + "cType": "text *", + "canonical": "struct varlena *" + } + ] + }, + { + "name": "left_span_bigint", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "i", + "cType": "int64", + "canonical": "long" + } + ] + }, + { + "name": "left_span_float", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "left_span_int", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "left_span_span", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s1", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "s2", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "left_span_spanset", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "left_spanset_bigint", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "i", + "cType": "int64", + "canonical": "long" + } + ] + }, + { + "name": "left_spanset_float", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "left_spanset_int", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "left_spanset_span", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "left_spanset_spanset", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss1", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "ss2", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "left_text_set", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "overafter_date_set", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "overafter_date_span", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "overafter_date_spanset", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "overafter_set_date", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + } + ] + }, + { + "name": "overafter_set_timestamptz", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "overafter_span_date", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + } + ] + }, + { + "name": "overafter_span_timestamptz", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "overafter_spanset_date", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + } + ] + }, + { + "name": "overafter_spanset_timestamptz", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "overafter_timestamptz_set", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "overafter_timestamptz_span", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "overafter_timestamptz_spanset", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "overbefore_date_set", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "overbefore_date_span", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "overbefore_date_spanset", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "overbefore_set_date", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + } + ] + }, + { + "name": "overbefore_set_timestamptz", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "overbefore_span_date", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + } + ] + }, + { + "name": "overbefore_span_timestamptz", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "overbefore_spanset_date", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + } + ] + }, + { + "name": "overbefore_spanset_timestamptz", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "overbefore_timestamptz_set", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "overbefore_timestamptz_span", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "overbefore_timestamptz_spanset", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "overleft_bigint_set", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "i", + "cType": "int64", + "canonical": "long" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "overleft_bigint_span", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "i", + "cType": "int64", + "canonical": "long" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "overleft_bigint_spanset", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "i", + "cType": "int64", + "canonical": "long" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "overleft_float_set", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "d", + "cType": "double", + "canonical": "double" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "overleft_float_span", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "d", + "cType": "double", + "canonical": "double" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "overleft_float_spanset", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "d", + "cType": "double", + "canonical": "double" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "overleft_int_set", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "i", + "cType": "int", + "canonical": "int" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "overleft_int_span", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "i", + "cType": "int", + "canonical": "int" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "overleft_int_spanset", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "i", + "cType": "int", + "canonical": "int" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "overleft_set_bigint", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "i", + "cType": "int64", + "canonical": "long" + } + ] + }, + { + "name": "overleft_set_float", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "overleft_set_int", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "overleft_set_set", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s1", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "s2", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "overleft_set_text", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "txt", + "cType": "text *", + "canonical": "struct varlena *" + } + ] + }, + { + "name": "overleft_span_bigint", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "i", + "cType": "int64", + "canonical": "long" + } + ] + }, + { + "name": "overleft_span_float", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "overleft_span_int", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "overleft_span_span", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s1", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "s2", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "overleft_span_spanset", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "overleft_spanset_bigint", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "i", + "cType": "int64", + "canonical": "long" + } + ] + }, + { + "name": "overleft_spanset_float", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "overleft_spanset_int", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "overleft_spanset_span", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "overleft_spanset_spanset", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss1", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "ss2", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "overleft_text_set", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "overright_bigint_set", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "i", + "cType": "int64", + "canonical": "long" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "overright_bigint_span", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "i", + "cType": "int64", + "canonical": "long" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "overright_bigint_spanset", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "i", + "cType": "int64", + "canonical": "long" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "overright_float_set", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "d", + "cType": "double", + "canonical": "double" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "overright_float_span", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "d", + "cType": "double", + "canonical": "double" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "overright_float_spanset", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "d", + "cType": "double", + "canonical": "double" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "overright_int_set", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "i", + "cType": "int", + "canonical": "int" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "overright_int_span", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "i", + "cType": "int", + "canonical": "int" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "overright_int_spanset", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "i", + "cType": "int", + "canonical": "int" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "overright_set_bigint", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "i", + "cType": "int64", + "canonical": "long" + } + ] + }, + { + "name": "overright_set_float", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "overright_set_int", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "overright_set_set", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s1", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "s2", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "overright_set_text", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "txt", + "cType": "text *", + "canonical": "struct varlena *" + } + ] + }, + { + "name": "overright_span_bigint", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "i", + "cType": "int64", + "canonical": "long" + } + ] + }, + { + "name": "overright_span_float", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "overright_span_int", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "overright_span_span", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s1", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "s2", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "overright_span_spanset", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "overright_spanset_bigint", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "i", + "cType": "int64", + "canonical": "long" + } + ] + }, + { + "name": "overright_spanset_float", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "overright_spanset_int", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "overright_spanset_span", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "overright_spanset_spanset", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss1", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "ss2", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "overright_text_set", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "right_bigint_set", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "i", + "cType": "int64", + "canonical": "long" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "right_bigint_span", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "i", + "cType": "int64", + "canonical": "long" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "right_bigint_spanset", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "i", + "cType": "int64", + "canonical": "long" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "right_float_set", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "d", + "cType": "double", + "canonical": "double" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "right_float_span", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "d", + "cType": "double", + "canonical": "double" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "right_float_spanset", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "d", + "cType": "double", + "canonical": "double" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "right_int_set", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "i", + "cType": "int", + "canonical": "int" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "right_int_span", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "i", + "cType": "int", + "canonical": "int" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "right_int_spanset", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "i", + "cType": "int", + "canonical": "int" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "right_set_bigint", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "i", + "cType": "int64", + "canonical": "long" + } + ] + }, + { + "name": "right_set_float", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "right_set_int", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "right_set_set", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s1", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "s2", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "right_set_text", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "txt", + "cType": "text *", + "canonical": "struct varlena *" + } + ] + }, + { + "name": "right_span_bigint", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "i", + "cType": "int64", + "canonical": "long" + } + ] + }, + { + "name": "right_span_float", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "right_span_int", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "right_span_span", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s1", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "s2", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "right_span_spanset", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "right_spanset_bigint", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "i", + "cType": "int64", + "canonical": "long" + } + ] + }, + { + "name": "right_spanset_float", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "right_spanset_int", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "right_spanset_span", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "right_spanset_spanset", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss1", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "ss2", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "right_text_set", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "intersection_bigint_set", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "i", + "cType": "int64", + "canonical": "long" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "intersection_date_set", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "intersection_float_set", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "d", + "cType": "double", + "canonical": "double" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "intersection_int_set", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "i", + "cType": "int", + "canonical": "int" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "intersection_set_bigint", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "i", + "cType": "int64", + "canonical": "long" + } + ] + }, + { + "name": "intersection_set_date", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + } + ] + }, + { + "name": "intersection_set_float", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "intersection_set_int", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "intersection_set_set", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s1", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "s2", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "intersection_set_text", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + } + ] + }, + { + "name": "intersection_set_timestamptz", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "intersection_span_bigint", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "i", + "cType": "int64", + "canonical": "long" + } + ] + }, + { + "name": "intersection_span_date", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + } + ] + }, + { + "name": "intersection_span_float", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "intersection_span_int", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "intersection_span_span", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "s1", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "s2", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "intersection_span_spanset", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "intersection_span_timestamptz", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "intersection_spanset_bigint", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "i", + "cType": "int64", + "canonical": "long" + } + ] + }, + { + "name": "intersection_spanset_date", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + } + ] + }, + { + "name": "intersection_spanset_float", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "intersection_spanset_int", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "intersection_spanset_span", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "intersection_spanset_spanset", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "ss1", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "ss2", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "intersection_spanset_timestamptz", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "intersection_text_set", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "intersection_timestamptz_set", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "minus_bigint_set", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "i", + "cType": "int64", + "canonical": "long" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "minus_bigint_span", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "i", + "cType": "int64", + "canonical": "long" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "minus_bigint_spanset", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "i", + "cType": "int64", + "canonical": "long" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "minus_date_set", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "minus_date_span", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "minus_date_spanset", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "minus_float_set", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "d", + "cType": "double", + "canonical": "double" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "minus_float_span", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "d", + "cType": "double", + "canonical": "double" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "minus_float_spanset", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "d", + "cType": "double", + "canonical": "double" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "minus_int_set", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "i", + "cType": "int", + "canonical": "int" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "minus_int_span", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "i", + "cType": "int", + "canonical": "int" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "minus_int_spanset", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "i", + "cType": "int", + "canonical": "int" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "minus_set_bigint", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "i", + "cType": "int64", + "canonical": "long" + } + ] + }, + { + "name": "minus_set_date", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + } + ] + }, + { + "name": "minus_set_float", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "minus_set_int", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "minus_set_set", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s1", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "s2", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "minus_set_text", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + } + ] + }, + { + "name": "minus_set_timestamptz", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "minus_span_bigint", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "i", + "cType": "int64", + "canonical": "long" + } + ] + }, + { + "name": "minus_span_date", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + } + ] + }, + { + "name": "minus_span_float", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "minus_span_int", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "minus_span_span", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "s1", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "s2", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "minus_span_spanset", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "minus_span_timestamptz", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "minus_spanset_bigint", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "i", + "cType": "int64", + "canonical": "long" + } + ] + }, + { + "name": "minus_spanset_date", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + } + ] + }, + { + "name": "minus_spanset_float", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "minus_spanset_int", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "minus_spanset_span", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "minus_spanset_spanset", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "ss1", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "ss2", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "minus_spanset_timestamptz", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "minus_text_set", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "minus_timestamptz_set", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "minus_timestamptz_span", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "minus_timestamptz_spanset", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "union_bigint_set", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "i", + "cType": "int64", + "canonical": "long" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "union_bigint_span", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "i", + "cType": "int64", + "canonical": "long" + } + ] + }, + { + "name": "union_bigint_spanset", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "i", + "cType": "int64", + "canonical": "long" + }, + { + "name": "ss", + "cType": "SpanSet *", + "canonical": "SpanSet *" + } + ] + }, + { + "name": "union_date_set", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "union_date_span", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + } + ] + }, + { + "name": "union_date_spanset", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + }, + { + "name": "ss", + "cType": "SpanSet *", + "canonical": "SpanSet *" + } + ] + }, + { + "name": "union_float_set", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "d", + "cType": "double", + "canonical": "double" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "union_float_span", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "union_float_spanset", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "d", + "cType": "double", + "canonical": "double" + }, + { + "name": "ss", + "cType": "SpanSet *", + "canonical": "SpanSet *" + } + ] + }, + { + "name": "union_int_set", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "i", + "cType": "int", + "canonical": "int" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "union_int_span", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "i", + "cType": "int", + "canonical": "int" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "union_int_spanset", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "i", + "cType": "int", + "canonical": "int" + }, + { + "name": "ss", + "cType": "SpanSet *", + "canonical": "SpanSet *" + } + ] + }, + { + "name": "union_set_bigint", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "i", + "cType": "int64", + "canonical": "long" + } + ] + }, + { + "name": "union_set_date", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + } + ] + }, + { + "name": "union_set_float", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "union_set_int", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "union_set_set", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s1", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "s2", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "union_set_text", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + } + ] + }, + { + "name": "union_set_timestamptz", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "union_span_bigint", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "i", + "cType": "int64", + "canonical": "long" + } + ] + }, + { + "name": "union_span_date", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + } + ] + }, + { + "name": "union_span_float", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "union_span_int", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "union_span_span", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "s1", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "s2", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "union_span_spanset", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "union_span_timestamptz", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "union_spanset_bigint", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "i", + "cType": "int64", + "canonical": "long" + } + ] + }, + { + "name": "union_spanset_date", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + } + ] + }, + { + "name": "union_spanset_float", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "union_spanset_int", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "union_spanset_span", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "union_spanset_spanset", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "ss1", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "ss2", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "union_spanset_timestamptz", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "union_text_set", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "union_timestamptz_set", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "union_timestamptz_span", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "union_timestamptz_spanset", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "ss", + "cType": "SpanSet *", + "canonical": "SpanSet *" + } + ] + }, + { + "name": "distance_bigintset_bigintset", + "file": "meos.h", + "returnType": { + "c": "int64", + "canonical": "long" + }, + "params": [ + { + "name": "s1", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "s2", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "distance_bigintspan_bigintspan", + "file": "meos.h", + "returnType": { + "c": "int64", + "canonical": "long" + }, + "params": [ + { + "name": "s1", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "s2", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "distance_bigintspanset_bigintspan", + "file": "meos.h", + "returnType": { + "c": "int64", + "canonical": "long" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "distance_bigintspanset_bigintspanset", + "file": "meos.h", + "returnType": { + "c": "int64", + "canonical": "long" + }, + "params": [ + { + "name": "ss1", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "ss2", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "distance_dateset_dateset", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "s1", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "s2", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "distance_datespan_datespan", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "s1", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "s2", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "distance_datespanset_datespan", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "distance_datespanset_datespanset", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "ss1", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "ss2", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "distance_floatset_floatset", + "file": "meos.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "s1", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "s2", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "distance_floatspan_floatspan", + "file": "meos.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "s1", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "s2", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "distance_floatspanset_floatspan", + "file": "meos.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "distance_floatspanset_floatspanset", + "file": "meos.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "ss1", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "ss2", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "distance_intset_intset", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "s1", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "s2", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "distance_intspan_intspan", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "s1", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "s2", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "distance_intspanset_intspan", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "distance_intspanset_intspanset", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "ss1", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "ss2", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "distance_set_bigint", + "file": "meos.h", + "returnType": { + "c": "int64", + "canonical": "long" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "i", + "cType": "int64", + "canonical": "long" + } + ] + }, + { + "name": "distance_set_date", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + } + ] + }, + { + "name": "distance_set_float", + "file": "meos.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "distance_set_int", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "distance_set_timestamptz", + "file": "meos.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "distance_span_bigint", + "file": "meos.h", + "returnType": { + "c": "int64", + "canonical": "long" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "i", + "cType": "int64", + "canonical": "long" + } + ] + }, + { + "name": "distance_span_date", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + } + ] + }, + { + "name": "distance_span_float", + "file": "meos.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "distance_span_int", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "distance_span_timestamptz", + "file": "meos.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "distance_spanset_bigint", + "file": "meos.h", + "returnType": { + "c": "int64", + "canonical": "long" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "i", + "cType": "int64", + "canonical": "long" + } + ] + }, + { + "name": "distance_spanset_date", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + } + ] + }, + { + "name": "distance_spanset_float", + "file": "meos.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "distance_spanset_int", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "distance_spanset_timestamptz", + "file": "meos.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "distance_tstzset_tstzset", + "file": "meos.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "s1", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "s2", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "distance_tstzspan_tstzspan", + "file": "meos.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "s1", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "s2", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "distance_tstzspanset_tstzspan", + "file": "meos.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "distance_tstzspanset_tstzspanset", + "file": "meos.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "ss1", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "ss2", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "bigint_extent_transfn", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "state", + "cType": "Span *", + "canonical": "Span *" + }, + { + "name": "i", + "cType": "int64", + "canonical": "long" + } + ] + }, + { + "name": "bigint_union_transfn", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "state", + "cType": "Set *", + "canonical": "Set *" + }, + { + "name": "i", + "cType": "int64", + "canonical": "long" + } + ] + }, + { + "name": "date_extent_transfn", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "state", + "cType": "Span *", + "canonical": "Span *" + }, + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + } + ] + }, + { + "name": "date_union_transfn", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "state", + "cType": "Set *", + "canonical": "Set *" + }, + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + } + ] + }, + { + "name": "float_extent_transfn", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "state", + "cType": "Span *", + "canonical": "Span *" + }, + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "float_union_transfn", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "state", + "cType": "Set *", + "canonical": "Set *" + }, + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "int_extent_transfn", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "state", + "cType": "Span *", + "canonical": "Span *" + }, + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "int_union_transfn", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "state", + "cType": "Set *", + "canonical": "Set *" + }, + { + "name": "i", + "cType": "int32", + "canonical": "int" + } + ] + }, + { + "name": "set_extent_transfn", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "state", + "cType": "Span *", + "canonical": "Span *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "set_union_finalfn", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "state", + "cType": "Set *", + "canonical": "Set *" + } + ] + }, + { + "name": "set_union_transfn", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "state", + "cType": "Set *", + "canonical": "Set *" + }, + { + "name": "s", + "cType": "Set *", + "canonical": "Set *" + } + ] + }, + { + "name": "span_extent_transfn", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "state", + "cType": "Span *", + "canonical": "Span *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "span_union_transfn", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "state", + "cType": "SpanSet *", + "canonical": "SpanSet *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "spanset_extent_transfn", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "state", + "cType": "Span *", + "canonical": "Span *" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "spanset_union_finalfn", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "state", + "cType": "SpanSet *", + "canonical": "SpanSet *" + } + ] + }, + { + "name": "spanset_union_transfn", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "state", + "cType": "SpanSet *", + "canonical": "SpanSet *" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "text_union_transfn", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "state", + "cType": "Set *", + "canonical": "Set *" + }, + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + } + ] + }, + { + "name": "timestamptz_extent_transfn", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "state", + "cType": "Span *", + "canonical": "Span *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "timestamptz_union_transfn", + "file": "meos.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "state", + "cType": "Set *", + "canonical": "Set *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "bigint_get_bin", + "file": "meos.h", + "returnType": { + "c": "int64", + "canonical": "long" + }, + "params": [ + { + "name": "value", + "cType": "int64", + "canonical": "long" + }, + { + "name": "vsize", + "cType": "int64", + "canonical": "long" + }, + { + "name": "vorigin", + "cType": "int64", + "canonical": "long" + } + ] + }, + { + "name": "bigintspan_bins", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "vsize", + "cType": "int64", + "canonical": "long" + }, + { + "name": "vorigin", + "cType": "int64", + "canonical": "long" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "bigintspanset_bins", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "vsize", + "cType": "int64", + "canonical": "long" + }, + { + "name": "vorigin", + "cType": "int64", + "canonical": "long" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "date_get_bin", + "file": "meos.h", + "returnType": { + "c": "DateADT", + "canonical": "int" + }, + "params": [ + { + "name": "d", + "cType": "DateADT", + "canonical": "int" + }, + { + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "torigin", + "cType": "DateADT", + "canonical": "int" + } + ] + }, + { + "name": "datespan_bins", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "torigin", + "cType": "DateADT", + "canonical": "int" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "datespanset_bins", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "torigin", + "cType": "DateADT", + "canonical": "int" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "float_get_bin", + "file": "meos.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "value", + "cType": "double", + "canonical": "double" + }, + { + "name": "vsize", + "cType": "double", + "canonical": "double" + }, + { + "name": "vorigin", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "floatspan_bins", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "vsize", + "cType": "double", + "canonical": "double" + }, + { + "name": "vorigin", + "cType": "double", + "canonical": "double" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "floatspanset_bins", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "vsize", + "cType": "double", + "canonical": "double" + }, + { + "name": "vorigin", + "cType": "double", + "canonical": "double" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "int_get_bin", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "value", + "cType": "int", + "canonical": "int" + }, + { + "name": "vsize", + "cType": "int", + "canonical": "int" + }, + { + "name": "vorigin", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "intspan_bins", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "vsize", + "cType": "int", + "canonical": "int" + }, + { + "name": "vorigin", + "cType": "int", + "canonical": "int" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "intspanset_bins", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "vsize", + "cType": "int", + "canonical": "int" + }, + { + "name": "vorigin", + "cType": "int", + "canonical": "int" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "timestamptz_get_bin", + "file": "meos.h", + "returnType": { + "c": "TimestampTz", + "canonical": "long" + }, + "params": [ + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "torigin", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "tstzspan_bins", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "origin", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tstzspanset_bins", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "torigin", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tbox_as_hexwkb", + "file": "meos.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "variant", + "cType": "uint8_t", + "canonical": "unsigned char" + }, + { + "name": "size", + "cType": "size_t *", + "canonical": "unsigned long *" + } + ] + }, + { + "name": "tbox_as_wkb", + "file": "meos.h", + "returnType": { + "c": "uint8_t *", + "canonical": "unsigned char *" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "variant", + "cType": "uint8_t", + "canonical": "unsigned char" + }, + { + "name": "size_out", + "cType": "size_t *", + "canonical": "unsigned long *" + } + ] + }, + { + "name": "tbox_from_hexwkb", + "file": "meos.h", + "returnType": { + "c": "TBox *", + "canonical": "TBox *" + }, + "params": [ + { + "name": "hexwkb", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tbox_from_wkb", + "file": "meos.h", + "returnType": { + "c": "TBox *", + "canonical": "TBox *" + }, + "params": [ + { + "name": "wkb", + "cType": "const uint8_t *", + "canonical": "const unsigned char *" + }, + { + "name": "size", + "cType": "size_t", + "canonical": "unsigned long" + } + ] + }, + { + "name": "tbox_in", + "file": "meos.h", + "returnType": { + "c": "TBox *", + "canonical": "TBox *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tbox_out", + "file": "meos.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "float_timestamptz_to_tbox", + "file": "meos.h", + "returnType": { + "c": "TBox *", + "canonical": "TBox *" + }, + "params": [ + { + "name": "d", + "cType": "double", + "canonical": "double" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "float_tstzspan_to_tbox", + "file": "meos.h", + "returnType": { + "c": "TBox *", + "canonical": "TBox *" + }, + "params": [ + { + "name": "d", + "cType": "double", + "canonical": "double" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "int_timestamptz_to_tbox", + "file": "meos.h", + "returnType": { + "c": "TBox *", + "canonical": "TBox *" + }, + "params": [ + { + "name": "i", + "cType": "int", + "canonical": "int" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "int_tstzspan_to_tbox", + "file": "meos.h", + "returnType": { + "c": "TBox *", + "canonical": "TBox *" + }, + "params": [ + { + "name": "i", + "cType": "int", + "canonical": "int" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "numspan_tstzspan_to_tbox", + "file": "meos.h", + "returnType": { + "c": "TBox *", + "canonical": "TBox *" + }, + "params": [ + { + "name": "span", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "numspan_timestamptz_to_tbox", + "file": "meos.h", + "returnType": { + "c": "TBox *", + "canonical": "TBox *" + }, + "params": [ + { + "name": "span", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "tbox_copy", + "file": "meos.h", + "returnType": { + "c": "TBox *", + "canonical": "TBox *" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + } + ] + }, + { + "name": "tbox_make", + "file": "meos.h", + "returnType": { + "c": "TBox *", + "canonical": "TBox *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "p", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "float_to_tbox", + "file": "meos.h", + "returnType": { + "c": "TBox *", + "canonical": "TBox *" + }, + "params": [ + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "int_to_tbox", + "file": "meos.h", + "returnType": { + "c": "TBox *", + "canonical": "TBox *" + }, + "params": [ + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "set_to_tbox", + "file": "meos.h", + "returnType": { + "c": "TBox *", + "canonical": "TBox *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "span_to_tbox", + "file": "meos.h", + "returnType": { + "c": "TBox *", + "canonical": "TBox *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "spanset_to_tbox", + "file": "meos.h", + "returnType": { + "c": "TBox *", + "canonical": "TBox *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "tbox_to_intspan", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + } + ] + }, + { + "name": "tbox_to_floatspan", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + } + ] + }, + { + "name": "tbox_to_tstzspan", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + } + ] + }, + { + "name": "timestamptz_to_tbox", + "file": "meos.h", + "returnType": { + "c": "TBox *", + "canonical": "TBox *" + }, + "params": [ + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "tbox_hash", + "file": "meos.h", + "returnType": { + "c": "uint32", + "canonical": "unsigned int" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + } + ] + }, + { + "name": "tbox_hash_extended", + "file": "meos.h", + "returnType": { + "c": "uint64", + "canonical": "unsigned long" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "seed", + "cType": "uint64", + "canonical": "unsigned long" + } + ] + }, + { + "name": "tbox_hast", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + } + ] + }, + { + "name": "tbox_hasx", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + } + ] + }, + { + "name": "tbox_tmax", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "result", + "cType": "TimestampTz *", + "canonical": "long *" + } + ] + }, + { + "name": "tbox_tmax_inc", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "result", + "cType": "bool *", + "canonical": "_Bool *" + } + ] + }, + { + "name": "tbox_tmin", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "result", + "cType": "TimestampTz *", + "canonical": "long *" + } + ] + }, + { + "name": "tbox_tmin_inc", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "result", + "cType": "bool *", + "canonical": "_Bool *" + } + ] + }, + { + "name": "tbox_xmax", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "result", + "cType": "double *", + "canonical": "double *" + } + ] + }, + { + "name": "tbox_xmax_inc", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "result", + "cType": "bool *", + "canonical": "_Bool *" + } + ] + }, + { + "name": "tbox_xmin", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "result", + "cType": "double *", + "canonical": "double *" + } + ] + }, + { + "name": "tbox_xmin_inc", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "result", + "cType": "bool *", + "canonical": "_Bool *" + } + ] + }, + { + "name": "tboxfloat_xmax", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "result", + "cType": "double *", + "canonical": "double *" + } + ] + }, + { + "name": "tboxfloat_xmin", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "result", + "cType": "double *", + "canonical": "double *" + } + ] + }, + { + "name": "tboxint_xmax", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "result", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tboxint_xmin", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "result", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tbox_expand_time", + "file": "meos.h", + "returnType": { + "c": "TBox *", + "canonical": "TBox *" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "interv", + "cType": "const Interval *", + "canonical": "const Interval *" + } + ] + }, + { + "name": "tbox_round", + "file": "meos.h", + "returnType": { + "c": "TBox *", + "canonical": "TBox *" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tbox_shift_scale_time", + "file": "meos.h", + "returnType": { + "c": "TBox *", + "canonical": "TBox *" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "shift", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" + } + ] + }, + { + "name": "tfloatbox_expand", + "file": "meos.h", + "returnType": { + "c": "TBox *", + "canonical": "TBox *" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "tfloatbox_shift_scale", + "file": "meos.h", + "returnType": { + "c": "TBox *", + "canonical": "TBox *" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "shift", + "cType": "double", + "canonical": "double" + }, + { + "name": "width", + "cType": "double", + "canonical": "double" + }, + { + "name": "hasshift", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "haswidth", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tintbox_expand", + "file": "meos.h", + "returnType": { + "c": "TBox *", + "canonical": "TBox *" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tintbox_shift_scale", + "file": "meos.h", + "returnType": { + "c": "TBox *", + "canonical": "TBox *" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "shift", + "cType": "int", + "canonical": "int" + }, + { + "name": "width", + "cType": "int", + "canonical": "int" + }, + { + "name": "hasshift", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "haswidth", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "union_tbox_tbox", + "file": "meos.h", + "returnType": { + "c": "TBox *", + "canonical": "TBox *" + }, + "params": [ + { + "name": "box1", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "box2", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "strict", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "intersection_tbox_tbox", + "file": "meos.h", + "returnType": { + "c": "TBox *", + "canonical": "TBox *" + }, + "params": [ + { + "name": "box1", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "box2", + "cType": "const TBox *", + "canonical": "const TBox *" + } + ] + }, + { + "name": "adjacent_tbox_tbox", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "box2", + "cType": "const TBox *", + "canonical": "const TBox *" + } + ] + }, + { + "name": "contained_tbox_tbox", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "box2", + "cType": "const TBox *", + "canonical": "const TBox *" + } + ] + }, + { + "name": "contains_tbox_tbox", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "box2", + "cType": "const TBox *", + "canonical": "const TBox *" + } + ] + }, + { + "name": "overlaps_tbox_tbox", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "box2", + "cType": "const TBox *", + "canonical": "const TBox *" + } + ] + }, + { + "name": "same_tbox_tbox", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "box2", + "cType": "const TBox *", + "canonical": "const TBox *" + } + ] + }, + { + "name": "after_tbox_tbox", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "box2", + "cType": "const TBox *", + "canonical": "const TBox *" + } + ] + }, + { + "name": "before_tbox_tbox", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "box2", + "cType": "const TBox *", + "canonical": "const TBox *" + } + ] + }, + { + "name": "left_tbox_tbox", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "box2", + "cType": "const TBox *", + "canonical": "const TBox *" + } + ] + }, + { + "name": "overafter_tbox_tbox", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "box2", + "cType": "const TBox *", + "canonical": "const TBox *" + } + ] + }, + { + "name": "overbefore_tbox_tbox", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "box2", + "cType": "const TBox *", + "canonical": "const TBox *" + } + ] + }, + { + "name": "overleft_tbox_tbox", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "box2", + "cType": "const TBox *", + "canonical": "const TBox *" + } + ] + }, + { + "name": "overright_tbox_tbox", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "box2", + "cType": "const TBox *", + "canonical": "const TBox *" + } + ] + }, + { + "name": "right_tbox_tbox", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "box2", + "cType": "const TBox *", + "canonical": "const TBox *" + } + ] + }, + { + "name": "tbox_cmp", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "box1", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "box2", + "cType": "const TBox *", + "canonical": "const TBox *" + } + ] + }, + { + "name": "tbox_eq", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "box2", + "cType": "const TBox *", + "canonical": "const TBox *" + } + ] + }, + { + "name": "tbox_ge", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "box2", + "cType": "const TBox *", + "canonical": "const TBox *" + } + ] + }, + { + "name": "tbox_gt", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "box2", + "cType": "const TBox *", + "canonical": "const TBox *" + } + ] + }, + { + "name": "tbox_le", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "box2", + "cType": "const TBox *", + "canonical": "const TBox *" + } + ] + }, + { + "name": "tbox_lt", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "box2", + "cType": "const TBox *", + "canonical": "const TBox *" + } + ] + }, + { + "name": "tbox_ne", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "box2", + "cType": "const TBox *", + "canonical": "const TBox *" + } + ] + }, + { + "name": "tbool_from_mfjson", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tbool_in", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tbool_out", + "file": "meos.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "temporal_as_hexwkb", + "file": "meos.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "variant", + "cType": "uint8_t", + "canonical": "unsigned char" + }, + { + "name": "size_out", + "cType": "size_t *", + "canonical": "unsigned long *" + } + ] + }, + { + "name": "temporal_as_mfjson", + "file": "meos.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "with_bbox", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "flags", + "cType": "int", + "canonical": "int" + }, + { + "name": "precision", + "cType": "int", + "canonical": "int" + }, + { + "name": "srs", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "temporal_as_wkb", + "file": "meos.h", + "returnType": { + "c": "uint8_t *", + "canonical": "unsigned char *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "variant", + "cType": "uint8_t", + "canonical": "unsigned char" + }, + { + "name": "size_out", + "cType": "size_t *", + "canonical": "unsigned long *" + } + ] + }, + { + "name": "temporal_from_hexwkb", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "hexwkb", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "temporal_from_wkb", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "wkb", + "cType": "const uint8_t *", + "canonical": "const unsigned char *" + }, + { + "name": "size", + "cType": "size_t", + "canonical": "unsigned long" + } + ] + }, + { + "name": "tfloat_from_mfjson", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tfloat_in", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tfloat_out", + "file": "meos.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tint_from_mfjson", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tint_in", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tint_out", + "file": "meos.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ttext_from_mfjson", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "ttext_in", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "ttext_out", + "file": "meos.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tbool_from_base_temp", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "b", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tboolinst_make", + "file": "meos.h", + "returnType": { + "c": "TInstant *", + "canonical": "TInstant *" + }, + "params": [ + { + "name": "b", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "tboolseq_from_base_tstzset", + "file": "meos.h", + "returnType": { + "c": "TSequence *", + "canonical": "TSequence *" + }, + "params": [ + { + "name": "b", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "tboolseq_from_base_tstzspan", + "file": "meos.h", + "returnType": { + "c": "TSequence *", + "canonical": "TSequence *" + }, + "params": [ + { + "name": "b", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "tboolseqset_from_base_tstzspanset", + "file": "meos.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "b", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "temporal_copy", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tfloat_from_base_temp", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "d", + "cType": "double", + "canonical": "double" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tfloatinst_make", + "file": "meos.h", + "returnType": { + "c": "TInstant *", + "canonical": "TInstant *" + }, + "params": [ + { + "name": "d", + "cType": "double", + "canonical": "double" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "tfloatseq_from_base_tstzset", + "file": "meos.h", + "returnType": { + "c": "TSequence *", + "canonical": "TSequence *" + }, + "params": [ + { + "name": "d", + "cType": "double", + "canonical": "double" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "tfloatseq_from_base_tstzspan", + "file": "meos.h", + "returnType": { + "c": "TSequence *", + "canonical": "TSequence *" + }, + "params": [ + { + "name": "d", + "cType": "double", + "canonical": "double" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tfloatseqset_from_base_tstzspanset", + "file": "meos.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "d", + "cType": "double", + "canonical": "double" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tint_from_base_temp", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "i", + "cType": "int", + "canonical": "int" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tintinst_make", + "file": "meos.h", + "returnType": { + "c": "TInstant *", + "canonical": "TInstant *" + }, + "params": [ + { + "name": "i", + "cType": "int", + "canonical": "int" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "tintseq_from_base_tstzset", + "file": "meos.h", + "returnType": { + "c": "TSequence *", + "canonical": "TSequence *" + }, + "params": [ + { + "name": "i", + "cType": "int", + "canonical": "int" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "tintseq_from_base_tstzspan", + "file": "meos.h", + "returnType": { + "c": "TSequence *", + "canonical": "TSequence *" + }, + "params": [ + { + "name": "i", + "cType": "int", + "canonical": "int" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "tintseqset_from_base_tstzspanset", + "file": "meos.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "i", + "cType": "int", + "canonical": "int" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "tsequence_make", + "file": "meos.h", + "returnType": { + "c": "TSequence *", + "canonical": "TSequence *" + }, + "params": [ + { + "name": "instants", + "cType": "TInstant **", + "canonical": "TInstant **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "lower_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "upper_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + }, + { + "name": "normalize", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tsequenceset_make", + "file": "meos.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "sequences", + "cType": "TSequence **", + "canonical": "TSequence **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "normalize", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tsequenceset_make_gaps", + "file": "meos.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "instants", + "cType": "TInstant **", + "canonical": "TInstant **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + }, + { + "name": "maxt", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "maxdist", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "ttext_from_base_temp", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ttextinst_make", + "file": "meos.h", + "returnType": { + "c": "TInstant *", + "canonical": "TInstant *" + }, + "params": [ + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "ttextseq_from_base_tstzset", + "file": "meos.h", + "returnType": { + "c": "TSequence *", + "canonical": "TSequence *" + }, + "params": [ + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "ttextseq_from_base_tstzspan", + "file": "meos.h", + "returnType": { + "c": "TSequence *", + "canonical": "TSequence *" + }, + "params": [ + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "ttextseqset_from_base_tstzspanset", + "file": "meos.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "tbool_to_tint", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "temporal_to_tstzspan", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tfloat_to_tint", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tint_to_tfloat", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tnumber_to_span", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tnumber_to_tbox", + "file": "meos.h", + "returnType": { + "c": "TBox *", + "canonical": "TBox *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tbool_end_value", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tbool_start_value", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tbool_value_at_timestamptz", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "strict", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "value", + "cType": "bool *", + "canonical": "_Bool *" + } + ] + }, + { + "name": "tbool_value_n", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "n", + "cType": "int", + "canonical": "int" + }, + { + "name": "result", + "cType": "bool *", + "canonical": "_Bool *" + } + ] + }, + { + "name": "tbool_values", + "file": "meos.h", + "returnType": { + "c": "bool *", + "canonical": "_Bool *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "temporal_duration", + "file": "meos.h", + "returnType": { + "c": "Interval *", + "canonical": "Interval *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "boundspan", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "temporal_end_instant", + "file": "meos.h", + "returnType": { + "c": "TInstant *", + "canonical": "TInstant *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "temporal_end_sequence", + "file": "meos.h", + "returnType": { + "c": "TSequence *", + "canonical": "TSequence *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "temporal_end_timestamptz", + "file": "meos.h", + "returnType": { + "c": "TimestampTz", + "canonical": "long" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "temporal_hash", + "file": "meos.h", + "returnType": { + "c": "uint32", + "canonical": "unsigned int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "temporal_instant_n", + "file": "meos.h", + "returnType": { + "c": "TInstant *", + "canonical": "TInstant *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "n", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "temporal_instants", + "file": "meos.h", + "returnType": { + "c": "TInstant **", + "canonical": "TInstant **" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "temporal_interp", + "file": "meos.h", + "returnType": { + "c": "const char *", + "canonical": "const char *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "temporal_lower_inc", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "temporal_max_instant", + "file": "meos.h", + "returnType": { + "c": "TInstant *", + "canonical": "TInstant *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "temporal_min_instant", + "file": "meos.h", + "returnType": { + "c": "TInstant *", + "canonical": "TInstant *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "temporal_num_instants", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "temporal_num_sequences", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "temporal_num_timestamps", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "temporal_segm_duration", + "file": "meos.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "atleast", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "strict", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "temporal_segments", + "file": "meos.h", + "returnType": { + "c": "TSequence **", + "canonical": "TSequence **" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "temporal_sequence_n", + "file": "meos.h", + "returnType": { + "c": "TSequence *", + "canonical": "TSequence *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "temporal_sequences", + "file": "meos.h", + "returnType": { + "c": "TSequence **", + "canonical": "TSequence **" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "temporal_start_instant", + "file": "meos.h", + "returnType": { + "c": "TInstant *", + "canonical": "TInstant *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "temporal_start_sequence", + "file": "meos.h", + "returnType": { + "c": "TSequence *", + "canonical": "TSequence *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "temporal_start_timestamptz", + "file": "meos.h", + "returnType": { + "c": "TimestampTz", + "canonical": "long" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "temporal_stops", + "file": "meos.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "maxdist", + "cType": "double", + "canonical": "double" + }, + { + "name": "minduration", + "cType": "const Interval *", + "canonical": "const Interval *" + } + ] + }, + { + "name": "temporal_subtype", + "file": "meos.h", + "returnType": { + "c": "const char *", + "canonical": "const char *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "temporal_time", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "temporal_timestamps", + "file": "meos.h", + "returnType": { + "c": "TimestampTz *", + "canonical": "long *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "temporal_timestamptz_n", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "n", + "cType": "int", + "canonical": "int" + }, + { + "name": "result", + "cType": "TimestampTz *", + "canonical": "long *" + } + ] + }, + { + "name": "temporal_upper_inc", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tfloat_avg_value", + "file": "meos.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tfloat_end_value", + "file": "meos.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tfloat_min_value", + "file": "meos.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tfloat_max_value", + "file": "meos.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tfloat_start_value", + "file": "meos.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tfloat_value_at_timestamptz", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "strict", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "value", + "cType": "double *", + "canonical": "double *" + } + ] + }, + { + "name": "tfloat_value_n", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "n", + "cType": "int", + "canonical": "int" + }, + { + "name": "result", + "cType": "double *", + "canonical": "double *" + } + ] + }, + { + "name": "tfloat_values", + "file": "meos.h", + "returnType": { + "c": "double *", + "canonical": "double *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tint_end_value", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tint_max_value", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tint_min_value", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tint_start_value", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tint_value_at_timestamptz", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "strict", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "value", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tint_value_n", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "n", + "cType": "int", + "canonical": "int" + }, + { + "name": "result", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tint_values", + "file": "meos.h", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tnumber_avg_value", + "file": "meos.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tnumber_integral", + "file": "meos.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tnumber_twavg", + "file": "meos.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tnumber_valuespans", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ttext_end_value", + "file": "meos.h", + "returnType": { + "c": "text *", + "canonical": "struct varlena *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ttext_max_value", + "file": "meos.h", + "returnType": { + "c": "text *", + "canonical": "struct varlena *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ttext_min_value", + "file": "meos.h", + "returnType": { + "c": "text *", + "canonical": "struct varlena *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ttext_start_value", + "file": "meos.h", + "returnType": { + "c": "text *", + "canonical": "struct varlena *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ttext_value_at_timestamptz", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "strict", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "value", + "cType": "text **", + "canonical": "struct varlena **" + } + ] + }, + { + "name": "ttext_value_n", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "n", + "cType": "int", + "canonical": "int" + }, + { + "name": "result", + "cType": "text **", + "canonical": "struct varlena **" + } + ] + }, + { + "name": "ttext_values", + "file": "meos.h", + "returnType": { + "c": "text **", + "canonical": "struct varlena **" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "float_degrees", + "file": "meos.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "value", + "cType": "double", + "canonical": "double" + }, + { + "name": "normalize", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "temparr_round", + "file": "meos.h", + "returnType": { + "c": "Temporal **", + "canonical": "Temporal **" + }, + "params": [ + { + "name": "temp", + "cType": "Temporal **", + "canonical": "Temporal **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "temporal_round", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "temporal_scale_time", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" + } + ] + }, + { + "name": "temporal_set_interp", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "temporal_shift_scale_time", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "shift", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" + } + ] + }, + { + "name": "temporal_shift_time", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "shift", + "cType": "const Interval *", + "canonical": "const Interval *" + } + ] + }, + { + "name": "temporal_to_tinstant", + "file": "meos.h", + "returnType": { + "c": "TInstant *", + "canonical": "TInstant *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "temporal_to_tsequence", + "file": "meos.h", + "returnType": { + "c": "TSequence *", + "canonical": "TSequence *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "temporal_to_tsequenceset", + "file": "meos.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tfloat_ceil", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tfloat_degrees", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "normalize", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tfloat_floor", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tfloat_radians", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tfloat_scale_value", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "width", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "tfloat_shift_scale_value", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "shift", + "cType": "double", + "canonical": "double" + }, + { + "name": "width", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "tfloat_shift_value", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "shift", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "tint_scale_value", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "width", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tint_shift_scale_value", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "shift", + "cType": "int", + "canonical": "int" + }, + { + "name": "width", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tint_shift_value", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "shift", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "temporal_append_tinstant", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "Temporal *", + "canonical": "Temporal *" + }, + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const TInstant *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + }, + { + "name": "maxdist", + "cType": "double", + "canonical": "double" + }, + { + "name": "maxt", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "expand", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "temporal_append_tsequence", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "Temporal *", + "canonical": "Temporal *" + }, + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + }, + { + "name": "expand", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "temporal_delete_timestamptz", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "connect", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "temporal_delete_tstzset", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "connect", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "temporal_delete_tstzspan", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "connect", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "temporal_delete_tstzspanset", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "connect", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "temporal_insert", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "connect", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "temporal_merge", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "temporal_merge_array", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temparr", + "cType": "Temporal **", + "canonical": "Temporal **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "temporal_update", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "connect", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tbool_at_value", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "b", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tbool_minus_value", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "b", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "temporal_after_timestamptz", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "strict", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "temporal_at_max", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "temporal_at_min", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "temporal_at_timestamptz", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "temporal_at_tstzset", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "temporal_at_tstzspan", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "temporal_at_tstzspanset", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "temporal_at_values", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "set", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "temporal_before_timestamptz", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "strict", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "temporal_minus_max", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "temporal_minus_min", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "temporal_minus_timestamptz", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "temporal_minus_tstzset", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "temporal_minus_tstzspan", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "temporal_minus_tstzspanset", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "temporal_minus_values", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "set", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "tfloat_at_value", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "tfloat_minus_value", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "tint_at_value", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tint_minus_value", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tnumber_at_span", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "span", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "tnumber_at_spanset", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "tnumber_at_tbox", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + } + ] + }, + { + "name": "tnumber_minus_span", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "span", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "tnumber_minus_spanset", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "tnumber_minus_tbox", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + } + ] + }, + { + "name": "ttext_at_value", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "txt", + "cType": "text *", + "canonical": "struct varlena *" + } + ] + }, + { + "name": "ttext_minus_value", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "txt", + "cType": "text *", + "canonical": "struct varlena *" + } + ] + }, + { + "name": "temporal_cmp", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "temporal_eq", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ], + "ownership": "caller", + "nullable": true, + "doc": "Returns the temporal equality between two temporal values.", + "meos": { + "temporalDim": "any", + "spatialDim": null, + "interpolation": false, + "subtype": "any" + } + }, + { + "name": "temporal_ge", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "temporal_gt", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "temporal_le", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "temporal_lt", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "temporal_ne", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_eq_bool_tbool", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "b", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_eq_float_tfloat", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "d", + "cType": "double", + "canonical": "double" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_eq_int_tint", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "i", + "cType": "int", + "canonical": "int" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_eq_tbool_bool", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "b", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "always_eq_temporal_temporal", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_eq_text_ttext", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_eq_tfloat_float", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "always_eq_tint_int", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "always_eq_ttext_text", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + } + ] + }, + { + "name": "always_ge_float_tfloat", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "d", + "cType": "double", + "canonical": "double" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_ge_int_tint", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "i", + "cType": "int", + "canonical": "int" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_ge_temporal_temporal", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_ge_text_ttext", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_ge_tfloat_float", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "always_ge_tint_int", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "always_ge_ttext_text", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + } + ] + }, + { + "name": "always_gt_float_tfloat", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "d", + "cType": "double", + "canonical": "double" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_gt_int_tint", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "i", + "cType": "int", + "canonical": "int" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_gt_temporal_temporal", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_gt_text_ttext", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_gt_tfloat_float", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "always_gt_tint_int", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "always_gt_ttext_text", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + } + ] + }, + { + "name": "always_le_float_tfloat", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "d", + "cType": "double", + "canonical": "double" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_le_int_tint", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "i", + "cType": "int", + "canonical": "int" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_le_temporal_temporal", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_le_text_ttext", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_le_tfloat_float", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "always_le_tint_int", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "always_le_ttext_text", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + } + ] + }, + { + "name": "always_lt_float_tfloat", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "d", + "cType": "double", + "canonical": "double" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_lt_int_tint", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "i", + "cType": "int", + "canonical": "int" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_lt_temporal_temporal", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_lt_text_ttext", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_lt_tfloat_float", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "always_lt_tint_int", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "always_lt_ttext_text", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + } + ] + }, + { + "name": "always_ne_bool_tbool", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "b", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_ne_float_tfloat", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "d", + "cType": "double", + "canonical": "double" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_ne_int_tint", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "i", + "cType": "int", + "canonical": "int" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_ne_tbool_bool", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "b", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "always_ne_temporal_temporal", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_ne_text_ttext", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_ne_tfloat_float", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "always_ne_tint_int", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "always_ne_ttext_text", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + } + ] + }, + { + "name": "ever_eq_bool_tbool", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "b", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_eq_float_tfloat", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "d", + "cType": "double", + "canonical": "double" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_eq_int_tint", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "i", + "cType": "int", + "canonical": "int" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_eq_tbool_bool", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "b", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "ever_eq_temporal_temporal", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_eq_text_ttext", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_eq_tfloat_float", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "ever_eq_tint_int", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "ever_eq_ttext_text", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + } + ] + }, + { + "name": "ever_ge_float_tfloat", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "d", + "cType": "double", + "canonical": "double" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_ge_int_tint", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "i", + "cType": "int", + "canonical": "int" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_ge_temporal_temporal", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_ge_text_ttext", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_ge_tfloat_float", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "ever_ge_tint_int", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "ever_ge_ttext_text", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + } + ] + }, + { + "name": "ever_gt_float_tfloat", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "d", + "cType": "double", + "canonical": "double" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_gt_int_tint", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "i", + "cType": "int", + "canonical": "int" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_gt_temporal_temporal", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_gt_text_ttext", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_gt_tfloat_float", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "ever_gt_tint_int", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "ever_gt_ttext_text", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + } + ] + }, + { + "name": "ever_le_float_tfloat", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "d", + "cType": "double", + "canonical": "double" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_le_int_tint", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "i", + "cType": "int", + "canonical": "int" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_le_temporal_temporal", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_le_text_ttext", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_le_tfloat_float", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "ever_le_tint_int", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "ever_le_ttext_text", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + } + ] + }, + { + "name": "ever_lt_float_tfloat", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "d", + "cType": "double", + "canonical": "double" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_lt_int_tint", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "i", + "cType": "int", + "canonical": "int" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_lt_temporal_temporal", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_lt_text_ttext", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_lt_tfloat_float", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "ever_lt_tint_int", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "ever_lt_ttext_text", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + } + ] + }, + { + "name": "ever_ne_bool_tbool", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "b", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_ne_float_tfloat", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "d", + "cType": "double", + "canonical": "double" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_ne_int_tint", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "i", + "cType": "int", + "canonical": "int" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_ne_tbool_bool", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "b", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "ever_ne_temporal_temporal", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_ne_text_ttext", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_ne_tfloat_float", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "ever_ne_tint_int", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "ever_ne_ttext_text", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + } + ] + }, + { + "name": "teq_bool_tbool", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "b", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "teq_float_tfloat", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "d", + "cType": "double", + "canonical": "double" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "teq_int_tint", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "i", + "cType": "int", + "canonical": "int" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "teq_tbool_bool", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "b", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "teq_temporal_temporal", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "teq_text_ttext", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "teq_tfloat_float", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "teq_tint_int", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "teq_ttext_text", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + } + ] + }, + { + "name": "tge_float_tfloat", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "d", + "cType": "double", + "canonical": "double" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tge_int_tint", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "i", + "cType": "int", + "canonical": "int" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tge_temporal_temporal", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tge_text_ttext", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tge_tfloat_float", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "tge_tint_int", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tge_ttext_text", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + } + ] + }, + { + "name": "tgt_float_tfloat", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "d", + "cType": "double", + "canonical": "double" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tgt_int_tint", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "i", + "cType": "int", + "canonical": "int" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tgt_temporal_temporal", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tgt_text_ttext", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tgt_tfloat_float", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "tgt_tint_int", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tgt_ttext_text", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + } + ] + }, + { + "name": "tle_float_tfloat", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "d", + "cType": "double", + "canonical": "double" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tle_int_tint", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "i", + "cType": "int", + "canonical": "int" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tle_temporal_temporal", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tle_text_ttext", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tle_tfloat_float", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "tle_tint_int", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tle_ttext_text", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + } + ] + }, + { + "name": "tlt_float_tfloat", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "d", + "cType": "double", + "canonical": "double" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tlt_int_tint", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "i", + "cType": "int", + "canonical": "int" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tlt_temporal_temporal", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tlt_text_ttext", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tlt_tfloat_float", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "tlt_tint_int", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tlt_ttext_text", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + } + ] + }, + { + "name": "tne_bool_tbool", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "b", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tne_float_tfloat", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "d", + "cType": "double", + "canonical": "double" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tne_int_tint", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "i", + "cType": "int", + "canonical": "int" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tne_tbool_bool", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "b", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tne_temporal_temporal", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tne_text_ttext", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tne_tfloat_float", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "tne_tint_int", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tne_ttext_text", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + } + ] + }, + { + "name": "temporal_spans", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "temporal_split_each_n_spans", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "elem_count", + "cType": "int", + "canonical": "int" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "temporal_split_n_spans", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "span_count", + "cType": "int", + "canonical": "int" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tnumber_split_each_n_tboxes", + "file": "meos.h", + "returnType": { + "c": "TBox *", + "canonical": "TBox *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "elem_count", + "cType": "int", + "canonical": "int" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tnumber_split_n_tboxes", + "file": "meos.h", + "returnType": { + "c": "TBox *", + "canonical": "TBox *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box_count", + "cType": "int", + "canonical": "int" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tnumber_tboxes", + "file": "meos.h", + "returnType": { + "c": "TBox *", + "canonical": "TBox *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "adjacent_numspan_tnumber", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "adjacent_tbox_tnumber", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "adjacent_temporal_temporal", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "adjacent_temporal_tstzspan", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "adjacent_tnumber_numspan", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "adjacent_tnumber_tbox", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + } + ] + }, + { + "name": "adjacent_tnumber_tnumber", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "adjacent_tstzspan_temporal", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "contained_numspan_tnumber", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "contained_tbox_tnumber", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "contained_temporal_temporal", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "contained_temporal_tstzspan", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "contained_tnumber_numspan", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "contained_tnumber_tbox", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + } + ] + }, + { + "name": "contained_tnumber_tnumber", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "contained_tstzspan_temporal", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "contains_numspan_tnumber", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "contains_tbox_tnumber", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "contains_temporal_tstzspan", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "contains_temporal_temporal", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "contains_tnumber_numspan", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "contains_tnumber_tbox", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + } + ] + }, + { + "name": "contains_tnumber_tnumber", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "contains_tstzspan_temporal", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "overlaps_numspan_tnumber", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "overlaps_tbox_tnumber", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "overlaps_temporal_temporal", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "overlaps_temporal_tstzspan", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "overlaps_tnumber_numspan", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "overlaps_tnumber_tbox", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + } + ] + }, + { + "name": "overlaps_tnumber_tnumber", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "overlaps_tstzspan_temporal", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "same_numspan_tnumber", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "same_tbox_tnumber", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "same_temporal_temporal", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "same_temporal_tstzspan", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "same_tnumber_numspan", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "same_tnumber_tbox", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + } + ] + }, + { + "name": "same_tnumber_tnumber", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "same_tstzspan_temporal", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "after_tbox_tnumber", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "after_temporal_tstzspan", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "after_temporal_temporal", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "after_tnumber_tbox", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + } + ] + }, + { + "name": "after_tnumber_tnumber", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "after_tstzspan_temporal", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "before_tbox_tnumber", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "before_temporal_tstzspan", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "before_temporal_temporal", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "before_tnumber_tbox", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + } + ] + }, + { + "name": "before_tnumber_tnumber", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "before_tstzspan_temporal", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "left_tbox_tnumber", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "left_numspan_tnumber", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "left_tnumber_numspan", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "left_tnumber_tbox", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + } + ] + }, + { + "name": "left_tnumber_tnumber", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "overafter_tbox_tnumber", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "overafter_temporal_tstzspan", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "overafter_temporal_temporal", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "overafter_tnumber_tbox", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + } + ] + }, + { + "name": "overafter_tnumber_tnumber", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "overafter_tstzspan_temporal", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "overbefore_tbox_tnumber", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "overbefore_temporal_tstzspan", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "overbefore_temporal_temporal", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "overbefore_tnumber_tbox", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + } + ] + }, + { + "name": "overbefore_tnumber_tnumber", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "overbefore_tstzspan_temporal", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "overleft_numspan_tnumber", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "overleft_tbox_tnumber", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "overleft_tnumber_numspan", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "overleft_tnumber_tbox", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + } + ] + }, + { + "name": "overleft_tnumber_tnumber", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "overright_numspan_tnumber", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "overright_tbox_tnumber", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "overright_tnumber_numspan", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "overright_tnumber_tbox", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + } + ] + }, + { + "name": "overright_tnumber_tnumber", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "right_numspan_tnumber", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "right_tbox_tnumber", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "right_tnumber_numspan", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "right_tnumber_tbox", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + } + ] + }, + { + "name": "right_tnumber_tnumber", + "file": "meos.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tand_bool_tbool", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "b", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tand_tbool_bool", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "b", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tand_tbool_tbool", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tbool_when_true", + "file": "meos.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tnot_tbool", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tor_bool_tbool", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "b", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tor_tbool_bool", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "b", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tor_tbool_tbool", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "add_float_tfloat", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "d", + "cType": "double", + "canonical": "double" + }, + { + "name": "tnumber", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "add_int_tint", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "i", + "cType": "int", + "canonical": "int" + }, + { + "name": "tnumber", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "add_tfloat_float", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "tnumber", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "add_tint_int", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "tnumber", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "add_tnumber_tnumber", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "tnumber1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "tnumber2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "div_float_tfloat", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "d", + "cType": "double", + "canonical": "double" + }, + { + "name": "tnumber", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "div_int_tint", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "i", + "cType": "int", + "canonical": "int" + }, + { + "name": "tnumber", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "div_tfloat_float", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "tnumber", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "div_tint_int", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "tnumber", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "div_tnumber_tnumber", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "tnumber1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "tnumber2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "mult_float_tfloat", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "d", + "cType": "double", + "canonical": "double" + }, + { + "name": "tnumber", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "mult_int_tint", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "i", + "cType": "int", + "canonical": "int" + }, + { + "name": "tnumber", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "mult_tfloat_float", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "tnumber", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "mult_tint_int", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "tnumber", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "mult_tnumber_tnumber", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "tnumber1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "tnumber2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "sub_float_tfloat", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "d", + "cType": "double", + "canonical": "double" + }, + { + "name": "tnumber", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "sub_int_tint", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "i", + "cType": "int", + "canonical": "int" + }, + { + "name": "tnumber", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "sub_tfloat_float", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "tnumber", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "sub_tint_int", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "tnumber", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "sub_tnumber_tnumber", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "tnumber1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "tnumber2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "temporal_derivative", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tfloat_exp", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tfloat_ln", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tfloat_log10", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tnumber_abs", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tnumber_trend", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "float_angular_difference", + "file": "meos.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "degrees1", + "cType": "double", + "canonical": "double" + }, + { + "name": "degrees2", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "tnumber_angular_difference", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tnumber_delta_value", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "textcat_text_ttext", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "textcat_ttext_text", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + } + ] + }, + { + "name": "textcat_ttext_ttext", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ttext_initcap", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ttext_upper", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ttext_lower", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tdistance_tfloat_float", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "tdistance_tint_int", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tdistance_tnumber_tnumber", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "nad_tboxfloat_tboxfloat", + "file": "meos.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "box1", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "box2", + "cType": "const TBox *", + "canonical": "const TBox *" + } + ] + }, + { + "name": "nad_tboxint_tboxint", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "box1", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "box2", + "cType": "const TBox *", + "canonical": "const TBox *" + } + ] + }, + { + "name": "nad_tfloat_float", + "file": "meos.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "nad_tfloat_tfloat", + "file": "meos.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "nad_tfloat_tbox", + "file": "meos.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + } + ] + }, + { + "name": "nad_tint_int", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "i", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "nad_tint_tbox", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + } + ] + }, + { + "name": "nad_tint_tint", + "file": "meos.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tbool_tand_transfn", + "file": "meos.h", + "returnType": { + "c": "SkipList *", + "canonical": "struct SkipList *" + }, + "params": [ + { + "name": "state", + "cType": "SkipList *", + "canonical": "struct SkipList *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tbool_tor_transfn", + "file": "meos.h", + "returnType": { + "c": "SkipList *", + "canonical": "struct SkipList *" + }, + "params": [ + { + "name": "state", + "cType": "SkipList *", + "canonical": "struct SkipList *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "temporal_extent_transfn", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "s", + "cType": "Span *", + "canonical": "Span *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "temporal_tagg_finalfn", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "state", + "cType": "SkipList *", + "canonical": "struct SkipList *" + } + ] + }, + { + "name": "temporal_tcount_transfn", + "file": "meos.h", + "returnType": { + "c": "SkipList *", + "canonical": "struct SkipList *" + }, + "params": [ + { + "name": "state", + "cType": "SkipList *", + "canonical": "struct SkipList *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tfloat_tmax_transfn", + "file": "meos.h", + "returnType": { + "c": "SkipList *", + "canonical": "struct SkipList *" + }, + "params": [ + { + "name": "state", + "cType": "SkipList *", + "canonical": "struct SkipList *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tfloat_tmin_transfn", + "file": "meos.h", + "returnType": { + "c": "SkipList *", + "canonical": "struct SkipList *" + }, + "params": [ + { + "name": "state", + "cType": "SkipList *", + "canonical": "struct SkipList *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tfloat_tsum_transfn", + "file": "meos.h", + "returnType": { + "c": "SkipList *", + "canonical": "struct SkipList *" + }, + "params": [ + { + "name": "state", + "cType": "SkipList *", + "canonical": "struct SkipList *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tfloat_wmax_transfn", + "file": "meos.h", + "returnType": { + "c": "SkipList *", + "canonical": "struct SkipList *" + }, + "params": [ + { + "name": "state", + "cType": "SkipList *", + "canonical": "struct SkipList *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "interv", + "cType": "const Interval *", + "canonical": "const Interval *" + } + ] + }, + { + "name": "tfloat_wmin_transfn", + "file": "meos.h", + "returnType": { + "c": "SkipList *", + "canonical": "struct SkipList *" + }, + "params": [ + { + "name": "state", + "cType": "SkipList *", + "canonical": "struct SkipList *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "interv", + "cType": "const Interval *", + "canonical": "const Interval *" + } + ] + }, + { + "name": "tfloat_wsum_transfn", + "file": "meos.h", + "returnType": { + "c": "SkipList *", + "canonical": "struct SkipList *" + }, + "params": [ + { + "name": "state", + "cType": "SkipList *", + "canonical": "struct SkipList *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "interv", + "cType": "const Interval *", + "canonical": "const Interval *" + } + ] + }, + { + "name": "timestamptz_tcount_transfn", + "file": "meos.h", + "returnType": { + "c": "SkipList *", + "canonical": "struct SkipList *" + }, + "params": [ + { + "name": "state", + "cType": "SkipList *", + "canonical": "struct SkipList *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "tint_tmax_transfn", + "file": "meos.h", + "returnType": { + "c": "SkipList *", + "canonical": "struct SkipList *" + }, + "params": [ + { + "name": "state", + "cType": "SkipList *", + "canonical": "struct SkipList *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tint_tmin_transfn", + "file": "meos.h", + "returnType": { + "c": "SkipList *", + "canonical": "struct SkipList *" + }, + "params": [ + { + "name": "state", + "cType": "SkipList *", + "canonical": "struct SkipList *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tint_tsum_transfn", + "file": "meos.h", + "returnType": { + "c": "SkipList *", + "canonical": "struct SkipList *" + }, + "params": [ + { + "name": "state", + "cType": "SkipList *", + "canonical": "struct SkipList *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tint_wmax_transfn", + "file": "meos.h", + "returnType": { + "c": "SkipList *", + "canonical": "struct SkipList *" + }, + "params": [ + { + "name": "state", + "cType": "SkipList *", + "canonical": "struct SkipList *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "interv", + "cType": "const Interval *", + "canonical": "const Interval *" + } + ] + }, + { + "name": "tint_wmin_transfn", + "file": "meos.h", + "returnType": { + "c": "SkipList *", + "canonical": "struct SkipList *" + }, + "params": [ + { + "name": "state", + "cType": "SkipList *", + "canonical": "struct SkipList *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "interv", + "cType": "const Interval *", + "canonical": "const Interval *" + } + ] + }, + { + "name": "tint_wsum_transfn", + "file": "meos.h", + "returnType": { + "c": "SkipList *", + "canonical": "struct SkipList *" + }, + "params": [ + { + "name": "state", + "cType": "SkipList *", + "canonical": "struct SkipList *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "interv", + "cType": "const Interval *", + "canonical": "const Interval *" + } + ] + }, + { + "name": "tnumber_extent_transfn", + "file": "meos.h", + "returnType": { + "c": "TBox *", + "canonical": "TBox *" + }, + "params": [ + { + "name": "box", + "cType": "TBox *", + "canonical": "TBox *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tnumber_tavg_finalfn", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "state", + "cType": "SkipList *", + "canonical": "struct SkipList *" + } + ] + }, + { + "name": "tnumber_tavg_transfn", + "file": "meos.h", + "returnType": { + "c": "SkipList *", + "canonical": "struct SkipList *" + }, + "params": [ + { + "name": "state", + "cType": "SkipList *", + "canonical": "struct SkipList *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tnumber_wavg_transfn", + "file": "meos.h", + "returnType": { + "c": "SkipList *", + "canonical": "struct SkipList *" + }, + "params": [ + { + "name": "state", + "cType": "SkipList *", + "canonical": "struct SkipList *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "interv", + "cType": "const Interval *", + "canonical": "const Interval *" + } + ] + }, + { + "name": "tstzset_tcount_transfn", + "file": "meos.h", + "returnType": { + "c": "SkipList *", + "canonical": "struct SkipList *" + }, + "params": [ + { + "name": "state", + "cType": "SkipList *", + "canonical": "struct SkipList *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "tstzspan_tcount_transfn", + "file": "meos.h", + "returnType": { + "c": "SkipList *", + "canonical": "struct SkipList *" + }, + "params": [ + { + "name": "state", + "cType": "SkipList *", + "canonical": "struct SkipList *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "tstzspanset_tcount_transfn", + "file": "meos.h", + "returnType": { + "c": "SkipList *", + "canonical": "struct SkipList *" + }, + "params": [ + { + "name": "state", + "cType": "SkipList *", + "canonical": "struct SkipList *" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "ttext_tmax_transfn", + "file": "meos.h", + "returnType": { + "c": "SkipList *", + "canonical": "struct SkipList *" + }, + "params": [ + { + "name": "state", + "cType": "SkipList *", + "canonical": "struct SkipList *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ttext_tmin_transfn", + "file": "meos.h", + "returnType": { + "c": "SkipList *", + "canonical": "struct SkipList *" + }, + "params": [ + { + "name": "state", + "cType": "SkipList *", + "canonical": "struct SkipList *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "temporal_simplify_dp", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "eps_dist", + "cType": "double", + "canonical": "double" + }, + { + "name": "synchronized", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "temporal_simplify_max_dist", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "eps_dist", + "cType": "double", + "canonical": "double" + }, + { + "name": "synchronized", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "temporal_simplify_min_dist", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "dist", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "temporal_simplify_min_tdelta", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "mint", + "cType": "const Interval *", + "canonical": "const Interval *" + } + ] + }, + { + "name": "temporal_tprecision", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "origin", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "temporal_tsample", + "file": "meos.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "origin", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "temporal_dyntimewarp_distance", + "file": "meos.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "temporal_dyntimewarp_path", + "file": "meos.h", + "returnType": { + "c": "Match *", + "canonical": "Match *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "temporal_frechet_distance", + "file": "meos.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "temporal_frechet_path", + "file": "meos.h", + "returnType": { + "c": "Match *", + "canonical": "Match *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "temporal_hausdorff_distance", + "file": "meos.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "temporal_time_bins", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "origin", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "temporal_time_split", + "file": "meos.h", + "returnType": { + "c": "Temporal **", + "canonical": "Temporal **" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "torigin", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "time_bins", + "cType": "TimestampTz **", + "canonical": "long **" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tfloat_time_boxes", + "file": "meos.h", + "returnType": { + "c": "TBox *", + "canonical": "TBox *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "torigin", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tfloat_value_bins", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "vsize", + "cType": "double", + "canonical": "double" + }, + { + "name": "vorigin", + "cType": "double", + "canonical": "double" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tfloat_value_boxes", + "file": "meos.h", + "returnType": { + "c": "TBox *", + "canonical": "TBox *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "vsize", + "cType": "double", + "canonical": "double" + }, + { + "name": "vorigin", + "cType": "double", + "canonical": "double" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tfloat_value_split", + "file": "meos.h", + "returnType": { + "c": "Temporal **", + "canonical": "Temporal **" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "size", + "cType": "double", + "canonical": "double" + }, + { + "name": "origin", + "cType": "double", + "canonical": "double" + }, + { + "name": "bins", + "cType": "double **", + "canonical": "double **" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tfloat_value_time_boxes", + "file": "meos.h", + "returnType": { + "c": "TBox *", + "canonical": "TBox *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "vsize", + "cType": "double", + "canonical": "double" + }, + { + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "vorigin", + "cType": "double", + "canonical": "double" + }, + { + "name": "torigin", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tfloat_value_time_split", + "file": "meos.h", + "returnType": { + "c": "Temporal **", + "canonical": "Temporal **" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "vsize", + "cType": "double", + "canonical": "double" + }, + { + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "vorigin", + "cType": "double", + "canonical": "double" + }, + { + "name": "torigin", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "value_bins", + "cType": "double **", + "canonical": "double **" + }, + { + "name": "time_bins", + "cType": "TimestampTz **", + "canonical": "long **" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tfloatbox_time_tiles", + "file": "meos.h", + "returnType": { + "c": "TBox *", + "canonical": "TBox *" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "torigin", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tfloatbox_value_tiles", + "file": "meos.h", + "returnType": { + "c": "TBox *", + "canonical": "TBox *" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "vsize", + "cType": "double", + "canonical": "double" + }, + { + "name": "vorigin", + "cType": "double", + "canonical": "double" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tfloatbox_value_time_tiles", + "file": "meos.h", + "returnType": { + "c": "TBox *", + "canonical": "TBox *" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "vsize", + "cType": "double", + "canonical": "double" + }, + { + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "vorigin", + "cType": "double", + "canonical": "double" + }, + { + "name": "torigin", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tint_time_boxes", + "file": "meos.h", + "returnType": { + "c": "TBox *", + "canonical": "TBox *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "torigin", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tint_value_bins", + "file": "meos.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "vsize", + "cType": "int", + "canonical": "int" + }, + { + "name": "vorigin", + "cType": "int", + "canonical": "int" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tint_value_boxes", + "file": "meos.h", + "returnType": { + "c": "TBox *", + "canonical": "TBox *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "vsize", + "cType": "int", + "canonical": "int" + }, + { + "name": "vorigin", + "cType": "int", + "canonical": "int" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tint_value_split", + "file": "meos.h", + "returnType": { + "c": "Temporal **", + "canonical": "Temporal **" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "vsize", + "cType": "int", + "canonical": "int" + }, + { + "name": "vorigin", + "cType": "int", + "canonical": "int" + }, + { + "name": "bins", + "cType": "int **", + "canonical": "int **" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tint_value_time_boxes", + "file": "meos.h", + "returnType": { + "c": "TBox *", + "canonical": "TBox *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "vsize", + "cType": "int", + "canonical": "int" + }, + { + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "vorigin", + "cType": "int", + "canonical": "int" + }, + { + "name": "torigin", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tint_value_time_split", + "file": "meos.h", + "returnType": { + "c": "Temporal **", + "canonical": "Temporal **" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "size", + "cType": "int", + "canonical": "int" + }, + { + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "vorigin", + "cType": "int", + "canonical": "int" + }, + { + "name": "torigin", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "value_bins", + "cType": "int **", + "canonical": "int **" + }, + { + "name": "time_bins", + "cType": "TimestampTz **", + "canonical": "long **" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tintbox_time_tiles", + "file": "meos.h", + "returnType": { + "c": "TBox *", + "canonical": "TBox *" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "torigin", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tintbox_value_tiles", + "file": "meos.h", + "returnType": { + "c": "TBox *", + "canonical": "TBox *" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "xsize", + "cType": "int", + "canonical": "int" + }, + { + "name": "xorigin", + "cType": "int", + "canonical": "int" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tintbox_value_time_tiles", + "file": "meos.h", + "returnType": { + "c": "TBox *", + "canonical": "TBox *" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "xsize", + "cType": "int", + "canonical": "int" + }, + { + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "xorigin", + "cType": "int", + "canonical": "int" + }, + { + "name": "torigin", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "temptype_subtype", + "file": "meos_catalog.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "subtype", + "cType": "tempSubtype", + "canonical": "tempSubtype" + } + ] + }, + { + "name": "temptype_subtype_all", + "file": "meos_catalog.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "subtype", + "cType": "tempSubtype", + "canonical": "tempSubtype" + } + ] + }, + { + "name": "tempsubtype_name", + "file": "meos_catalog.h", + "returnType": { + "c": "const char *", + "canonical": "const char *" + }, + "params": [ + { + "name": "subtype", + "cType": "tempSubtype", + "canonical": "tempSubtype" + } + ] + }, + { + "name": "tempsubtype_from_string", + "file": "meos_catalog.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "subtype", + "cType": "int16 *", + "canonical": "short *" + } + ] + }, + { + "name": "meosoper_name", + "file": "meos_catalog.h", + "returnType": { + "c": "const char *", + "canonical": "const char *" + }, + "params": [ + { + "name": "oper", + "cType": "meosOper", + "canonical": "meosOper" + } + ] + }, + { + "name": "meosoper_from_string", + "file": "meos_catalog.h", + "returnType": { + "c": "meosOper", + "canonical": "meosOper" + }, + "params": [ + { + "name": "name", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "interptype_name", + "file": "meos_catalog.h", + "returnType": { + "c": "const char *", + "canonical": "const char *" + }, + "params": [ + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "interptype_from_string", + "file": "meos_catalog.h", + "returnType": { + "c": "interpType", + "canonical": "interpType" + }, + "params": [ + { + "name": "interp_str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "meostype_name", + "file": "meos_catalog.h", + "returnType": { + "c": "const char *", + "canonical": "const char *" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "temptype_basetype", + "file": "meos_catalog.h", + "returnType": { + "c": "meosType", + "canonical": "meosType" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "settype_basetype", + "file": "meos_catalog.h", + "returnType": { + "c": "meosType", + "canonical": "meosType" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "spantype_basetype", + "file": "meos_catalog.h", + "returnType": { + "c": "meosType", + "canonical": "meosType" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "spantype_spansettype", + "file": "meos_catalog.h", + "returnType": { + "c": "meosType", + "canonical": "meosType" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "spansettype_spantype", + "file": "meos_catalog.h", + "returnType": { + "c": "meosType", + "canonical": "meosType" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "basetype_spantype", + "file": "meos_catalog.h", + "returnType": { + "c": "meosType", + "canonical": "meosType" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "basetype_settype", + "file": "meos_catalog.h", + "returnType": { + "c": "meosType", + "canonical": "meosType" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "tnumber_basetype", + "file": "meos_catalog.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "geo_basetype", + "file": "meos_catalog.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "meos_basetype", + "file": "meos_catalog.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "alphanum_basetype", + "file": "meos_catalog.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "alphanum_temptype", + "file": "meos_catalog.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "time_type", + "file": "meos_catalog.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "set_basetype", + "file": "meos_catalog.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "set_type", + "file": "meos_catalog.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "numset_type", + "file": "meos_catalog.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "ensure_numset_type", + "file": "meos_catalog.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "timeset_type", + "file": "meos_catalog.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "set_spantype", + "file": "meos_catalog.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "ensure_set_spantype", + "file": "meos_catalog.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "alphanumset_type", + "file": "meos_catalog.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "settype", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "geoset_type", + "file": "meos_catalog.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "ensure_geoset_type", + "file": "meos_catalog.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "spatialset_type", + "file": "meos_catalog.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "ensure_spatialset_type", + "file": "meos_catalog.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "span_basetype", + "file": "meos_catalog.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "span_canon_basetype", + "file": "meos_catalog.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "span_type", + "file": "meos_catalog.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "type_span_bbox", + "file": "meos_catalog.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "span_tbox_type", + "file": "meos_catalog.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "ensure_span_tbox_type", + "file": "meos_catalog.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "numspan_basetype", + "file": "meos_catalog.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "numspan_type", + "file": "meos_catalog.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "ensure_numspan_type", + "file": "meos_catalog.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "timespan_basetype", + "file": "meos_catalog.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "timespan_type", + "file": "meos_catalog.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "spanset_type", + "file": "meos_catalog.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "timespanset_type", + "file": "meos_catalog.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "ensure_timespanset_type", + "file": "meos_catalog.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "temporal_type", + "file": "meos_catalog.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "temporal_basetype", + "file": "meos_catalog.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "temptype_continuous", + "file": "meos_catalog.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "basetype_byvalue", + "file": "meos_catalog.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "basetype_varlength", + "file": "meos_catalog.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "basetype_length", + "file": "meos_catalog.h", + "returnType": { + "c": "int16", + "canonical": "short" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "talphanum_type", + "file": "meos_catalog.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "talpha_type", + "file": "meos_catalog.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "tnumber_type", + "file": "meos_catalog.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "ensure_tnumber_type", + "file": "meos_catalog.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "ensure_tnumber_basetype", + "file": "meos_catalog.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "tnumber_spantype", + "file": "meos_catalog.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "spatial_basetype", + "file": "meos_catalog.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "tspatial_type", + "file": "meos_catalog.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "ensure_tspatial_type", + "file": "meos_catalog.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "tpoint_type", + "file": "meos_catalog.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "ensure_tpoint_type", + "file": "meos_catalog.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "tgeo_type", + "file": "meos_catalog.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "ensure_tgeo_type", + "file": "meos_catalog.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "tgeo_type_all", + "file": "meos_catalog.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "ensure_tgeo_type_all", + "file": "meos_catalog.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "tgeometry_type", + "file": "meos_catalog.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "ensure_tgeometry_type", + "file": "meos_catalog.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "tgeodetic_type", + "file": "meos_catalog.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "ensure_tgeodetic_type", + "file": "meos_catalog.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "ensure_tnumber_tpoint_type", + "file": "meos_catalog.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "type", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "geo_get_srid", + "file": "meos_geo.h", + "returnType": { + "c": "int32", + "canonical": "int" + }, + "params": [ + { + "name": "g", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "geo_as_ewkb", + "file": "meos_geo.h", + "returnType": { + "c": "uint8_t *", + "canonical": "unsigned char *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "endian", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "size", + "cType": "size_t *", + "canonical": "unsigned long *" + } + ] + }, + { + "name": "geo_as_ewkt", + "file": "meos_geo.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "precision", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "geo_as_geojson", + "file": "meos_geo.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "option", + "cType": "int", + "canonical": "int" + }, + { + "name": "precision", + "cType": "int", + "canonical": "int" + }, + { + "name": "srs", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "geo_as_hexewkb", + "file": "meos_geo.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "endian", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "geo_as_text", + "file": "meos_geo.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "precision", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "geo_from_ewkb", + "file": "meos_geo.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "wkb", + "cType": "const uint8_t *", + "canonical": "const unsigned char *" + }, + { + "name": "wkb_size", + "cType": "size_t", + "canonical": "unsigned long" + }, + { + "name": "srid", + "cType": "int32", + "canonical": "int" + } + ] + }, + { + "name": "geo_from_geojson", + "file": "meos_geo.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "geojson", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "geo_from_text", + "file": "meos_geo.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "wkt", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + } + ] + }, + { + "name": "geo_out", + "file": "meos_geo.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "geog_from_binary", + "file": "meos_geo.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "wkb_bytea", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "geog_from_hexewkb", + "file": "meos_geo.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "wkt", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "geog_in", + "file": "meos_geo.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "typmod", + "cType": "int32", + "canonical": "int" + } + ] + }, + { + "name": "geom_from_hexewkb", + "file": "meos_geo.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "wkt", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "geom_in", + "file": "meos_geo.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "typmod", + "cType": "int32", + "canonical": "int" + } + ] + }, + { + "name": "box3d_make", + "file": "meos_geo.h", + "returnType": { + "c": "BOX3D *", + "canonical": "BOX3D *" + }, + "params": [ + { + "name": "xmin", + "cType": "double", + "canonical": "double" + }, + { + "name": "xmax", + "cType": "double", + "canonical": "double" + }, + { + "name": "ymin", + "cType": "double", + "canonical": "double" + }, + { + "name": "ymax", + "cType": "double", + "canonical": "double" + }, + { + "name": "zmin", + "cType": "double", + "canonical": "double" + }, + { + "name": "zmax", + "cType": "double", + "canonical": "double" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + } + ] + }, + { + "name": "box3d_out", + "file": "meos_geo.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "box", + "cType": "const BOX3D *", + "canonical": "const BOX3D *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "gbox_make", + "file": "meos_geo.h", + "returnType": { + "c": "GBOX *", + "canonical": "GBOX *" + }, + "params": [ + { + "name": "hasz", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "xmin", + "cType": "double", + "canonical": "double" + }, + { + "name": "xmax", + "cType": "double", + "canonical": "double" + }, + { + "name": "ymin", + "cType": "double", + "canonical": "double" + }, + { + "name": "ymax", + "cType": "double", + "canonical": "double" + }, + { + "name": "zmin", + "cType": "double", + "canonical": "double" + }, + { + "name": "zmax", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "gbox_out", + "file": "meos_geo.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "box", + "cType": "const GBOX *", + "canonical": "const GBOX *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "geo_copy", + "file": "meos_geo.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "g", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "geogpoint_make2d", + "file": "meos_geo.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "x", + "cType": "double", + "canonical": "double" + }, + { + "name": "y", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "geogpoint_make3dz", + "file": "meos_geo.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "x", + "cType": "double", + "canonical": "double" + }, + { + "name": "y", + "cType": "double", + "canonical": "double" + }, + { + "name": "z", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "geompoint_make2d", + "file": "meos_geo.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "x", + "cType": "double", + "canonical": "double" + }, + { + "name": "y", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "geompoint_make3dz", + "file": "meos_geo.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "x", + "cType": "double", + "canonical": "double" + }, + { + "name": "y", + "cType": "double", + "canonical": "double" + }, + { + "name": "z", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "geom_to_geog", + "file": "meos_geo.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "geom", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "geog_to_geom", + "file": "meos_geo.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "geog", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "geo_is_empty", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "g", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "geo_is_unitary", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "geo_typename", + "file": "meos_geo.h", + "returnType": { + "c": "const char *", + "canonical": "const char *" + }, + "params": [ + { + "name": "type", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "geog_area", + "file": "meos_geo.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "g", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "use_spheroid", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "geog_centroid", + "file": "meos_geo.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "g", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "use_spheroid", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "geog_length", + "file": "meos_geo.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "g", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "use_spheroid", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "geog_perimeter", + "file": "meos_geo.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "g", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "use_spheroid", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "geom_azimuth", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "gs1", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "gs2", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "result", + "cType": "double *", + "canonical": "double *" + } + ] + }, + { + "name": "geom_length", + "file": "meos_geo.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "geom_perimeter", + "file": "meos_geo.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "line_numpoints", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "line_point_n", + "file": "meos_geo.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "geom", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "n", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "geo_reverse", + "file": "meos_geo.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "geo_round", + "file": "meos_geo.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "geo_set_srid", + "file": "meos_geo.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + } + ] + }, + { + "name": "geo_srid", + "file": "meos_geo.h", + "returnType": { + "c": "int32_t", + "canonical": "int" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "geo_transform", + "file": "meos_geo.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "geom", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "srid_to", + "cType": "int32_t", + "canonical": "int" + } + ] + }, + { + "name": "geo_transform_pipeline", + "file": "meos_geo.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "pipeline", + "cType": "char *", + "canonical": "char *" + }, + { + "name": "srid_to", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "is_forward", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "geo_collect_garray", + "file": "meos_geo.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "gsarr", + "cType": "GSERIALIZED **", + "canonical": "GSERIALIZED **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "geo_makeline_garray", + "file": "meos_geo.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "gsarr", + "cType": "GSERIALIZED **", + "canonical": "GSERIALIZED **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "geo_num_points", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "geo_num_geos", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "geo_geo_n", + "file": "meos_geo.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "geom", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "n", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "geo_pointarr", + "file": "meos_geo.h", + "returnType": { + "c": "GSERIALIZED **", + "canonical": "GSERIALIZED **" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "geo_points", + "file": "meos_geo.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "geom_array_union", + "file": "meos_geo.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "gsarr", + "cType": "GSERIALIZED **", + "canonical": "GSERIALIZED **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "geom_boundary", + "file": "meos_geo.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "geom_buffer", + "file": "meos_geo.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "size", + "cType": "double", + "canonical": "double" + }, + { + "name": "params", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "geom_centroid", + "file": "meos_geo.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "geom_convex_hull", + "file": "meos_geo.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "geom_difference2d", + "file": "meos_geo.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "gs1", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "gs2", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "geom_intersection2d", + "file": "meos_geo.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "gs1", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "gs2", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "geom_intersection2d_coll", + "file": "meos_geo.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "gs1", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "gs2", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "geom_min_bounding_radius", + "file": "meos_geo.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "geom", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "radius", + "cType": "double *", + "canonical": "double *" + } + ] + }, + { + "name": "geom_shortestline2d", + "file": "meos_geo.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "gs1", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "s2", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "geom_shortestline3d", + "file": "meos_geo.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "gs1", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "s2", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "geom_unary_union", + "file": "meos_geo.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "prec", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "line_interpolate_point", + "file": "meos_geo.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "distance_fraction", + "cType": "double", + "canonical": "double" + }, + { + "name": "repeat", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "line_locate_point", + "file": "meos_geo.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "gs1", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "gs2", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "line_substring", + "file": "meos_geo.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "from", + "cType": "double", + "canonical": "double" + }, + { + "name": "to", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "geog_dwithin", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "g1", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "g2", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "tolerance", + "cType": "double", + "canonical": "double" + }, + { + "name": "use_spheroid", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "geog_intersects", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "gs1", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "gs2", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "use_spheroid", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "geom_contains", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "gs1", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "gs2", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "geom_covers", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "gs1", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "gs2", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "geom_disjoint2d", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "gs1", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "gs2", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "geom_dwithin2d", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "gs1", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "gs2", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "tolerance", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "geom_dwithin3d", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "gs1", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "gs2", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "tolerance", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "geom_intersects2d", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "gs1", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "gs2", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "geom_intersects3d", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "gs1", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "gs2", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "geom_relate_pattern", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "gs1", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "gs2", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "patt", + "cType": "char *", + "canonical": "char *" + } + ] + }, + { + "name": "geom_touches", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "gs1", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "gs2", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "geo_stboxes", + "file": "meos_geo.h", + "returnType": { + "c": "STBox *", + "canonical": "STBox *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "geo_split_each_n_stboxes", + "file": "meos_geo.h", + "returnType": { + "c": "STBox *", + "canonical": "STBox *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "elem_count", + "cType": "int", + "canonical": "int" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "geo_split_n_stboxes", + "file": "meos_geo.h", + "returnType": { + "c": "STBox *", + "canonical": "STBox *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "box_count", + "cType": "int", + "canonical": "int" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "geog_distance", + "file": "meos_geo.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "g1", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "g2", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "geom_distance2d", + "file": "meos_geo.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "gs1", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "gs2", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "geom_distance3d", + "file": "meos_geo.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "gs1", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "gs2", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "geo_equals", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "gs1", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "gs2", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "geo_same", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "gs1", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "gs2", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "geogset_in", + "file": "meos_geo.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "geomset_in", + "file": "meos_geo.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "spatialset_as_text", + "file": "meos_geo.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "set", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "spatialset_as_ewkt", + "file": "meos_geo.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "set", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "geoset_make", + "file": "meos_geo.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "values", + "cType": "GSERIALIZED **", + "canonical": "GSERIALIZED **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "geo_to_set", + "file": "meos_geo.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "geoset_end_value", + "file": "meos_geo.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "geoset_start_value", + "file": "meos_geo.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "geoset_value_n", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "n", + "cType": "int", + "canonical": "int" + }, + { + "name": "result", + "cType": "GSERIALIZED **", + "canonical": "GSERIALIZED **" + } + ] + }, + { + "name": "geoset_values", + "file": "meos_geo.h", + "returnType": { + "c": "GSERIALIZED **", + "canonical": "GSERIALIZED **" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "contained_geo_set", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "contains_set_geo", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "gs", + "cType": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + } + ] + }, + { + "name": "geo_union_transfn", + "file": "meos_geo.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "state", + "cType": "Set *", + "canonical": "Set *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "intersection_geo_set", + "file": "meos_geo.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "intersection_set_geo", + "file": "meos_geo.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "minus_geo_set", + "file": "meos_geo.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "minus_set_geo", + "file": "meos_geo.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "union_geo_set", + "file": "meos_geo.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "union_set_geo", + "file": "meos_geo.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "spatialset_set_srid", + "file": "meos_geo.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + } + ] + }, + { + "name": "spatialset_srid", + "file": "meos_geo.h", + "returnType": { + "c": "int32_t", + "canonical": "int" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "spatialset_transform", + "file": "meos_geo.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + } + ] + }, + { + "name": "spatialset_transform_pipeline", + "file": "meos_geo.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "pipelinestr", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "is_forward", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "stbox_as_hexwkb", + "file": "meos_geo.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "variant", + "cType": "uint8_t", + "canonical": "unsigned char" + }, + { + "name": "size", + "cType": "size_t *", + "canonical": "unsigned long *" + } + ] + }, + { + "name": "stbox_as_wkb", + "file": "meos_geo.h", + "returnType": { + "c": "uint8_t *", + "canonical": "unsigned char *" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "variant", + "cType": "uint8_t", + "canonical": "unsigned char" + }, + { + "name": "size_out", + "cType": "size_t *", + "canonical": "unsigned long *" + } + ] + }, + { + "name": "stbox_from_hexwkb", + "file": "meos_geo.h", + "returnType": { + "c": "STBox *", + "canonical": "STBox *" + }, + "params": [ + { + "name": "hexwkb", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "stbox_from_wkb", + "file": "meos_geo.h", + "returnType": { + "c": "STBox *", + "canonical": "STBox *" + }, + "params": [ + { + "name": "wkb", + "cType": "const uint8_t *", + "canonical": "const unsigned char *" + }, + { + "name": "size", + "cType": "size_t", + "canonical": "unsigned long" + } + ] + }, + { + "name": "stbox_in", + "file": "meos_geo.h", + "returnType": { + "c": "STBox *", + "canonical": "STBox *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "stbox_out", + "file": "meos_geo.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "geo_timestamptz_to_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "STBox *", + "canonical": "STBox *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "geo_tstzspan_to_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "STBox *", + "canonical": "STBox *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "stbox_copy", + "file": "meos_geo.h", + "returnType": { + "c": "STBox *", + "canonical": "STBox *" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "stbox_make", + "file": "meos_geo.h", + "returnType": { + "c": "STBox *", + "canonical": "STBox *" + }, + "params": [ + { + "name": "hasx", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "hasz", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "geodetic", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "srid", + "cType": "int32", + "canonical": "int" + }, + { + "name": "xmin", + "cType": "double", + "canonical": "double" + }, + { + "name": "xmax", + "cType": "double", + "canonical": "double" + }, + { + "name": "ymin", + "cType": "double", + "canonical": "double" + }, + { + "name": "ymax", + "cType": "double", + "canonical": "double" + }, + { + "name": "zmin", + "cType": "double", + "canonical": "double" + }, + { + "name": "zmax", + "cType": "double", + "canonical": "double" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "geo_to_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "STBox *", + "canonical": "STBox *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "spatialset_to_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "STBox *", + "canonical": "STBox *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "stbox_to_box3d", + "file": "meos_geo.h", + "returnType": { + "c": "BOX3D *", + "canonical": "BOX3D *" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "stbox_to_gbox", + "file": "meos_geo.h", + "returnType": { + "c": "GBOX *", + "canonical": "GBOX *" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "stbox_to_geo", + "file": "meos_geo.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "stbox_to_tstzspan", + "file": "meos_geo.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "timestamptz_to_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "STBox *", + "canonical": "STBox *" + }, + "params": [ + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "tstzset_to_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "STBox *", + "canonical": "STBox *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "tstzspan_to_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "STBox *", + "canonical": "STBox *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "tstzspanset_to_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "STBox *", + "canonical": "STBox *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "stbox_area", + "file": "meos_geo.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "spheroid", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "stbox_hash", + "file": "meos_geo.h", + "returnType": { + "c": "uint32", + "canonical": "unsigned int" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "stbox_hash_extended", + "file": "meos_geo.h", + "returnType": { + "c": "uint64", + "canonical": "unsigned long" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "seed", + "cType": "uint64", + "canonical": "unsigned long" + } + ] + }, + { + "name": "stbox_hast", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "stbox_hasx", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "stbox_hasz", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "stbox_isgeodetic", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "stbox_perimeter", + "file": "meos_geo.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "spheroid", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "stbox_tmax", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "result", + "cType": "TimestampTz *", + "canonical": "long *" + } + ] + }, + { + "name": "stbox_tmax_inc", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "result", + "cType": "bool *", + "canonical": "_Bool *" + } + ] + }, + { + "name": "stbox_tmin", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "result", + "cType": "TimestampTz *", + "canonical": "long *" + } + ] + }, + { + "name": "stbox_tmin_inc", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "result", + "cType": "bool *", + "canonical": "_Bool *" + } + ] + }, + { + "name": "stbox_volume", + "file": "meos_geo.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "stbox_xmax", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "result", + "cType": "double *", + "canonical": "double *" + } + ] + }, + { + "name": "stbox_xmin", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "result", + "cType": "double *", + "canonical": "double *" + } + ] + }, + { + "name": "stbox_ymax", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "result", + "cType": "double *", + "canonical": "double *" + } + ] + }, + { + "name": "stbox_ymin", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "result", + "cType": "double *", + "canonical": "double *" + } + ] + }, + { + "name": "stbox_zmax", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "result", + "cType": "double *", + "canonical": "double *" + } + ] + }, + { + "name": "stbox_zmin", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "result", + "cType": "double *", + "canonical": "double *" + } + ] + }, + { + "name": "stbox_expand_space", + "file": "meos_geo.h", + "returnType": { + "c": "STBox *", + "canonical": "STBox *" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "d", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "stbox_expand_time", + "file": "meos_geo.h", + "returnType": { + "c": "STBox *", + "canonical": "STBox *" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "interv", + "cType": "const Interval *", + "canonical": "const Interval *" + } + ] + }, + { + "name": "stbox_get_space", + "file": "meos_geo.h", + "returnType": { + "c": "STBox *", + "canonical": "STBox *" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "stbox_quad_split", + "file": "meos_geo.h", + "returnType": { + "c": "STBox *", + "canonical": "STBox *" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "stbox_round", + "file": "meos_geo.h", + "returnType": { + "c": "STBox *", + "canonical": "STBox *" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "stbox_shift_scale_time", + "file": "meos_geo.h", + "returnType": { + "c": "STBox *", + "canonical": "STBox *" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "shift", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" + } + ] + }, + { + "name": "stboxarr_round", + "file": "meos_geo.h", + "returnType": { + "c": "STBox *", + "canonical": "STBox *" + }, + "params": [ + { + "name": "boxarr", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "stbox_set_srid", + "file": "meos_geo.h", + "returnType": { + "c": "STBox *", + "canonical": "STBox *" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + } + ] + }, + { + "name": "stbox_srid", + "file": "meos_geo.h", + "returnType": { + "c": "int32_t", + "canonical": "int" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "stbox_transform", + "file": "meos_geo.h", + "returnType": { + "c": "STBox *", + "canonical": "STBox *" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + } + ] + }, + { + "name": "stbox_transform_pipeline", + "file": "meos_geo.h", + "returnType": { + "c": "STBox *", + "canonical": "STBox *" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "pipelinestr", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "is_forward", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "adjacent_stbox_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "box2", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "contained_stbox_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "box2", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "contains_stbox_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "box2", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "overlaps_stbox_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "box2", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "same_stbox_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "box2", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "above_stbox_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "box2", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "after_stbox_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "box2", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "back_stbox_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "box2", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "before_stbox_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "box2", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "below_stbox_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "box2", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "front_stbox_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "box2", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "left_stbox_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "box2", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "overabove_stbox_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "box2", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "overafter_stbox_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "box2", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "overback_stbox_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "box2", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "overbefore_stbox_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "box2", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "overbelow_stbox_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "box2", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "overfront_stbox_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "box2", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "overleft_stbox_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "box2", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "overright_stbox_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "box2", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "right_stbox_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "box2", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "union_stbox_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "STBox *", + "canonical": "STBox *" + }, + "params": [ + { + "name": "box1", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "box2", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "strict", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "intersection_stbox_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "STBox *", + "canonical": "STBox *" + }, + "params": [ + { + "name": "box1", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "box2", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "stbox_cmp", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "box1", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "box2", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "stbox_eq", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "box2", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "stbox_ge", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "box2", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "stbox_gt", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "box2", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "stbox_le", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "box2", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "stbox_lt", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "box2", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "stbox_ne", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "box2", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "tgeogpoint_from_mfjson", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tgeogpoint_in", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tgeography_from_mfjson", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "mfjson", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tgeography_in", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tgeometry_from_mfjson", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tgeometry_in", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tgeompoint_from_mfjson", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tgeompoint_in", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tspatial_as_ewkt", + "file": "meos_geo.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tspatial_as_text", + "file": "meos_geo.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tspatial_out", + "file": "meos_geo.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tgeo_from_base_temp", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tgeoinst_make", + "file": "meos_geo.h", + "returnType": { + "c": "TInstant *", + "canonical": "TInstant *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "tgeoseq_from_base_tstzset", + "file": "meos_geo.h", + "returnType": { + "c": "TSequence *", + "canonical": "TSequence *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "tgeoseq_from_base_tstzspan", + "file": "meos_geo.h", + "returnType": { + "c": "TSequence *", + "canonical": "TSequence *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tgeoseqset_from_base_tstzspanset", + "file": "meos_geo.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tpoint_from_base_temp", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tpointinst_make", + "file": "meos_geo.h", + "returnType": { + "c": "TInstant *", + "canonical": "TInstant *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "tpointseq_from_base_tstzset", + "file": "meos_geo.h", + "returnType": { + "c": "TSequence *", + "canonical": "TSequence *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "tpointseq_from_base_tstzspan", + "file": "meos_geo.h", + "returnType": { + "c": "TSequence *", + "canonical": "TSequence *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tpointseq_make_coords", + "file": "meos_geo.h", + "returnType": { + "c": "TSequence *", + "canonical": "TSequence *" + }, + "params": [ + { + "name": "xcoords", + "cType": "const double *", + "canonical": "const double *" + }, + { + "name": "ycoords", + "cType": "const double *", + "canonical": "const double *" + }, + { + "name": "zcoords", + "cType": "const double *", + "canonical": "const double *" + }, + { + "name": "times", + "cType": "const TimestampTz *", + "canonical": "const long *" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "srid", + "cType": "int32", + "canonical": "int" + }, + { + "name": "geodetic", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "lower_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "upper_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + }, + { + "name": "normalize", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tpointseqset_from_base_tstzspanset", + "file": "meos_geo.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "box3d_to_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "STBox *", + "canonical": "STBox *" + }, + "params": [ + { + "name": "box", + "cType": "const BOX3D *", + "canonical": "const BOX3D *" + } + ] + }, + { + "name": "gbox_to_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "STBox *", + "canonical": "STBox *" + }, + "params": [ + { + "name": "box", + "cType": "const GBOX *", + "canonical": "const GBOX *" + } + ] + }, + { + "name": "geomeas_to_tpoint", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "tgeogpoint_to_tgeography", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tgeography_to_tgeogpoint", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tgeography_to_tgeometry", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tgeometry_to_tgeography", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tgeometry_to_tgeompoint", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tgeompoint_to_tgeometry", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tpoint_as_mvtgeom", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "bounds", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "extent", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "buffer", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "clip_geom", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "gsarr", + "cType": "GSERIALIZED **", + "canonical": "GSERIALIZED **" + }, + { + "name": "timesarr", + "cType": "int64 **", + "canonical": "long **" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tpoint_tfloat_to_geomeas", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "tpoint", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "measure", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "segmentize", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "result", + "cType": "GSERIALIZED **", + "canonical": "GSERIALIZED **" + } + ] + }, + { + "name": "tspatial_to_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "STBox *", + "canonical": "STBox *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "bearing_point_point", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "gs1", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "gs2", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "result", + "cType": "double *", + "canonical": "double *" + } + ] + }, + { + "name": "bearing_tpoint_point", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "invert", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "bearing_tpoint_tpoint", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tgeo_centroid", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tgeo_convex_hull", + "file": "meos_geo.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tgeo_end_value", + "file": "meos_geo.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tgeo_start_value", + "file": "meos_geo.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tgeo_traversed_area", + "file": "meos_geo.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "unary_union", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tgeo_value_at_timestamptz", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "strict", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "value", + "cType": "GSERIALIZED **", + "canonical": "GSERIALIZED **" + } + ] + }, + { + "name": "tgeo_value_n", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "n", + "cType": "int", + "canonical": "int" + }, + { + "name": "result", + "cType": "GSERIALIZED **", + "canonical": "GSERIALIZED **" + } + ] + }, + { + "name": "tgeo_values", + "file": "meos_geo.h", + "returnType": { + "c": "GSERIALIZED **", + "canonical": "GSERIALIZED **" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tpoint_angular_difference", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tpoint_azimuth", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tpoint_cumulative_length", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tpoint_direction", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "result", + "cType": "double *", + "canonical": "double *" + } + ] + }, + { + "name": "tpoint_get_x", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tpoint_get_y", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tpoint_get_z", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tpoint_is_simple", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tpoint_length", + "file": "meos_geo.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tpoint_speed", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ], + "ownership": "caller", + "nullable": true, + "doc": "Computes the instantaneous speed of a temporal point.", + "meos": { + "temporalDim": "sequence", + "spatialDim": null, + "interpolation": true, + "subtype": "TPoint" + } + }, + { + "name": "tpoint_trajectory", + "file": "meos_geo.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "unary_union", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tpoint_twcentroid", + "file": "meos_geo.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tgeo_affine", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "a", + "cType": "const AFFINE *", + "canonical": "const AFFINE *" + } + ] + }, + { + "name": "tgeo_scale", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "scale", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "sorigin", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "tpoint_make_simple", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal **", + "canonical": "Temporal **" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tspatial_srid", + "file": "meos_geo.h", + "returnType": { + "c": "int32_t", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tspatial_set_srid", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + } + ] + }, + { + "name": "tspatial_transform", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + } + ] + }, + { + "name": "tspatial_transform_pipeline", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "pipelinestr", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "is_forward", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tgeo_at_geom", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "tgeo_at_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "border_inc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tgeo_at_value", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + } + ] + }, + { + "name": "tgeo_minus_geom", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "tgeo_minus_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "border_inc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tgeo_minus_value", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + } + ] + }, + { + "name": "tpoint_at_geom", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "zspan", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "tpoint_at_value", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + } + ] + }, + { + "name": "tpoint_minus_geom", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "zspan", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "tpoint_minus_value", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + } + ] + }, + { + "name": "always_eq_geo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_eq_tgeo_geo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "always_eq_tgeo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_ne_geo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_ne_tgeo_geo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "always_ne_tgeo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_eq_geo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_eq_tgeo_geo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "ever_eq_tgeo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_ne_geo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_ne_tgeo_geo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "ever_ne_tgeo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "teq_geo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "teq_tgeo_geo", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "tne_geo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tne_tgeo_geo", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "tgeo_stboxes", + "file": "meos_geo.h", + "returnType": { + "c": "STBox *", + "canonical": "STBox *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tgeo_space_boxes", + "file": "meos_geo.h", + "returnType": { + "c": "STBox *", + "canonical": "STBox *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "xsize", + "cType": "double", + "canonical": "double" + }, + { + "name": "ysize", + "cType": "double", + "canonical": "double" + }, + { + "name": "zsize", + "cType": "double", + "canonical": "double" + }, + { + "name": "sorigin", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "bitmatrix", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "border_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tgeo_space_time_boxes", + "file": "meos_geo.h", + "returnType": { + "c": "STBox *", + "canonical": "STBox *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "xsize", + "cType": "double", + "canonical": "double" + }, + { + "name": "ysize", + "cType": "double", + "canonical": "double" + }, + { + "name": "zsize", + "cType": "double", + "canonical": "double" + }, + { + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "sorigin", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "torigin", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "bitmatrix", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "border_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tgeo_split_each_n_stboxes", + "file": "meos_geo.h", + "returnType": { + "c": "STBox *", + "canonical": "STBox *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "elem_count", + "cType": "int", + "canonical": "int" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tgeo_split_n_stboxes", + "file": "meos_geo.h", + "returnType": { + "c": "STBox *", + "canonical": "STBox *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box_count", + "cType": "int", + "canonical": "int" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "adjacent_stbox_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "adjacent_tspatial_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "adjacent_tspatial_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "contained_stbox_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "contained_tspatial_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "contained_tspatial_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "contains_stbox_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "contains_tspatial_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "contains_tspatial_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "overlaps_stbox_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "overlaps_tspatial_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "overlaps_tspatial_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "same_stbox_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "same_tspatial_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "same_tspatial_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "above_stbox_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "above_tspatial_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "above_tspatial_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "after_stbox_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "after_tspatial_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "after_tspatial_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "back_stbox_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "back_tspatial_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "back_tspatial_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "before_stbox_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "before_tspatial_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "before_tspatial_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "below_stbox_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "below_tspatial_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "below_tspatial_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "front_stbox_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "front_tspatial_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "front_tspatial_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "left_stbox_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "left_tspatial_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "left_tspatial_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "overabove_stbox_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "overabove_tspatial_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "overabove_tspatial_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "overafter_stbox_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "overafter_tspatial_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "overafter_tspatial_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "overback_stbox_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "overback_tspatial_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "overback_tspatial_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "overbefore_stbox_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "overbefore_tspatial_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "overbefore_tspatial_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "overbelow_stbox_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "overbelow_tspatial_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "overbelow_tspatial_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "overfront_stbox_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "overfront_tspatial_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "overfront_tspatial_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "overleft_stbox_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "overleft_tspatial_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "overleft_tspatial_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "overright_stbox_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "overright_tspatial_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "overright_tspatial_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "right_stbox_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "right_tspatial_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "right_tspatial_tspatial", + "file": "meos_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "acontains_geo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "acontains_tgeo_geo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "acontains_tgeo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "adisjoint_tgeo_geo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "adisjoint_tgeo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "adwithin_tgeo_geo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "dist", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "adwithin_tgeo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "dist", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "aintersects_tgeo_geo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "aintersects_tgeo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "atouches_tgeo_geo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "atouches_tgeo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "atouches_tpoint_geo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "econtains_geo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "econtains_tgeo_geo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "econtains_tgeo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ecovers_geo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ecovers_tgeo_geo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "ecovers_tgeo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "edisjoint_tgeo_geo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "edisjoint_tgeo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "edwithin_tgeo_geo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "dist", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "edwithin_tgeo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "dist", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "eintersects_tgeo_geo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "eintersects_tgeo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "etouches_tgeo_geo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "etouches_tgeo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "etouches_tpoint_geo", + "file": "meos_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "tcontains_geo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "restr", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "atvalue", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tcontains_tgeo_geo", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "restr", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "atvalue", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tcontains_tgeo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "restr", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "atvalue", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tcovers_geo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "restr", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "atvalue", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tcovers_tgeo_geo", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "restr", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "atvalue", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tcovers_tgeo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "restr", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "atvalue", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tdisjoint_geo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "restr", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "atvalue", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tdisjoint_tgeo_geo", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "restr", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "atvalue", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tdisjoint_tgeo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "restr", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "atvalue", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tdwithin_geo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "dist", + "cType": "double", + "canonical": "double" + }, + { + "name": "restr", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "atvalue", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tdwithin_tgeo_geo", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "dist", + "cType": "double", + "canonical": "double" + }, + { + "name": "restr", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "atvalue", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tdwithin_tgeo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "dist", + "cType": "double", + "canonical": "double" + }, + { + "name": "restr", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "atvalue", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tintersects_geo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "restr", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "atvalue", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tintersects_tgeo_geo", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "restr", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "atvalue", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tintersects_tgeo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "restr", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "atvalue", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "ttouches_geo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "restr", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "atvalue", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "ttouches_tgeo_geo", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "restr", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "atvalue", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "ttouches_tgeo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "restr", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "atvalue", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tdistance_tgeo_geo", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "tdistance_tgeo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "nad_stbox_geo", + "file": "meos_geo.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "nad_stbox_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "box1", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "box2", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "nad_tgeo_geo", + "file": "meos_geo.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "nad_tgeo_stbox", + "file": "meos_geo.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "nad_tgeo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "nai_tgeo_geo", + "file": "meos_geo.h", + "returnType": { + "c": "TInstant *", + "canonical": "TInstant *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "nai_tgeo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "TInstant *", + "canonical": "TInstant *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "shortestline_tgeo_geo", + "file": "meos_geo.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "shortestline_tgeo_tgeo", + "file": "meos_geo.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tpoint_tcentroid_finalfn", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "state", + "cType": "SkipList *", + "canonical": "struct SkipList *" + } + ] + }, + { + "name": "tpoint_tcentroid_transfn", + "file": "meos_geo.h", + "returnType": { + "c": "SkipList *", + "canonical": "struct SkipList *" + }, + "params": [ + { + "name": "state", + "cType": "SkipList *", + "canonical": "struct SkipList *" + }, + { + "name": "temp", + "cType": "Temporal *", + "canonical": "Temporal *" + } + ] + }, + { + "name": "tspatial_extent_transfn", + "file": "meos_geo.h", + "returnType": { + "c": "STBox *", + "canonical": "STBox *" + }, + "params": [ + { + "name": "box", + "cType": "STBox *", + "canonical": "STBox *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "stbox_get_space_tile", + "file": "meos_geo.h", + "returnType": { + "c": "STBox *", + "canonical": "STBox *" + }, + "params": [ + { + "name": "point", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "xsize", + "cType": "double", + "canonical": "double" + }, + { + "name": "ysize", + "cType": "double", + "canonical": "double" + }, + { + "name": "zsize", + "cType": "double", + "canonical": "double" + }, + { + "name": "sorigin", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "stbox_get_space_time_tile", + "file": "meos_geo.h", + "returnType": { + "c": "STBox *", + "canonical": "STBox *" + }, + "params": [ + { + "name": "point", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "xsize", + "cType": "double", + "canonical": "double" + }, + { + "name": "ysize", + "cType": "double", + "canonical": "double" + }, + { + "name": "zsize", + "cType": "double", + "canonical": "double" + }, + { + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "sorigin", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "torigin", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "stbox_get_time_tile", + "file": "meos_geo.h", + "returnType": { + "c": "STBox *", + "canonical": "STBox *" + }, + "params": [ + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "torigin", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "stbox_space_tiles", + "file": "meos_geo.h", + "returnType": { + "c": "STBox *", + "canonical": "STBox *" + }, + "params": [ + { + "name": "bounds", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "xsize", + "cType": "double", + "canonical": "double" + }, + { + "name": "ysize", + "cType": "double", + "canonical": "double" + }, + { + "name": "zsize", + "cType": "double", + "canonical": "double" + }, + { + "name": "sorigin", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "border_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "stbox_space_time_tiles", + "file": "meos_geo.h", + "returnType": { + "c": "STBox *", + "canonical": "STBox *" + }, + "params": [ + { + "name": "bounds", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "xsize", + "cType": "double", + "canonical": "double" + }, + { + "name": "ysize", + "cType": "double", + "canonical": "double" + }, + { + "name": "zsize", + "cType": "double", + "canonical": "double" + }, + { + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "sorigin", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "torigin", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "border_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "stbox_time_tiles", + "file": "meos_geo.h", + "returnType": { + "c": "STBox *", + "canonical": "STBox *" + }, + "params": [ + { + "name": "bounds", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "torigin", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "border_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tgeo_space_split", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal **", + "canonical": "Temporal **" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "xsize", + "cType": "double", + "canonical": "double" + }, + { + "name": "ysize", + "cType": "double", + "canonical": "double" + }, + { + "name": "zsize", + "cType": "double", + "canonical": "double" + }, + { + "name": "sorigin", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "bitmatrix", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "border_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "space_bins", + "cType": "GSERIALIZED ***", + "canonical": "GSERIALIZED ***" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tgeo_space_time_split", + "file": "meos_geo.h", + "returnType": { + "c": "Temporal **", + "canonical": "Temporal **" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "xsize", + "cType": "double", + "canonical": "double" + }, + { + "name": "ysize", + "cType": "double", + "canonical": "double" + }, + { + "name": "zsize", + "cType": "double", + "canonical": "double" + }, + { + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "sorigin", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "torigin", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "bitmatrix", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "border_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "space_bins", + "cType": "GSERIALIZED ***", + "canonical": "GSERIALIZED ***" + }, + { + "name": "time_bins", + "cType": "TimestampTz **", + "canonical": "long **" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "geo_cluster_kmeans", + "file": "meos_geo.h", + "returnType": { + "c": "int *", + "canonical": "int *" + }, + "params": [ + { + "name": "geoms", + "cType": "const GSERIALIZED **", + "canonical": "const GSERIALIZED **" + }, + { + "name": "ngeoms", + "cType": "uint32_t", + "canonical": "unsigned int" + }, + { + "name": "k", + "cType": "uint32_t", + "canonical": "unsigned int" + } + ] + }, + { + "name": "geo_cluster_dbscan", + "file": "meos_geo.h", + "returnType": { + "c": "uint32_t *", + "canonical": "unsigned int *" + }, + "params": [ + { + "name": "geoms", + "cType": "const GSERIALIZED **", + "canonical": "const GSERIALIZED **" + }, + { + "name": "ngeoms", + "cType": "uint32_t", + "canonical": "unsigned int" + }, + { + "name": "tolerance", + "cType": "double", + "canonical": "double" + }, + { + "name": "minpoints", + "cType": "int", + "canonical": "int" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "geo_cluster_intersecting", + "file": "meos_geo.h", + "returnType": { + "c": "GSERIALIZED **", + "canonical": "GSERIALIZED **" + }, + "params": [ + { + "name": "geoms", + "cType": "const GSERIALIZED **", + "canonical": "const GSERIALIZED **" + }, + { + "name": "ngeoms", + "cType": "uint32_t", + "canonical": "unsigned int" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "geo_cluster_within", + "file": "meos_geo.h", + "returnType": { + "c": "GSERIALIZED **", + "canonical": "GSERIALIZED **" + }, + "params": [ + { + "name": "geoms", + "cType": "const GSERIALIZED **", + "canonical": "const GSERIALIZED **" + }, + { + "name": "ngeoms", + "cType": "uint32_t", + "canonical": "unsigned int" + }, + { + "name": "tolerance", + "cType": "double", + "canonical": "double" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "gsl_get_generation_rng", + "file": "meos_internal.h", + "returnType": { + "c": "gsl_rng *", + "canonical": "gsl_rng *" + }, + "params": [] + }, + { + "name": "gsl_get_aggregation_rng", + "file": "meos_internal.h", + "returnType": { + "c": "gsl_rng *", + "canonical": "gsl_rng *" + }, + "params": [] + }, + { + "name": "datum_ceil", + "file": "meos_internal.h", + "returnType": { + "c": "Datum", + "canonical": "unsigned long" + }, + "params": [ + { + "name": "d", + "cType": "Datum", + "canonical": "unsigned long" + } + ] + }, + { + "name": "datum_degrees", + "file": "meos_internal.h", + "returnType": { + "c": "Datum", + "canonical": "unsigned long" + }, + "params": [ + { + "name": "d", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "normalize", + "cType": "Datum", + "canonical": "unsigned long" + } + ] + }, + { + "name": "datum_float_round", + "file": "meos_internal.h", + "returnType": { + "c": "Datum", + "canonical": "unsigned long" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "size", + "cType": "Datum", + "canonical": "unsigned long" + } + ] + }, + { + "name": "datum_floor", + "file": "meos_internal.h", + "returnType": { + "c": "Datum", + "canonical": "unsigned long" + }, + "params": [ + { + "name": "d", + "cType": "Datum", + "canonical": "unsigned long" + } + ] + }, + { + "name": "datum_hash", + "file": "meos_internal.h", + "returnType": { + "c": "uint32", + "canonical": "unsigned int" + }, + "params": [ + { + "name": "d", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "basetype", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "datum_hash_extended", + "file": "meos_internal.h", + "returnType": { + "c": "uint64", + "canonical": "unsigned long" + }, + "params": [ + { + "name": "d", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "basetype", + "cType": "meosType", + "canonical": "meosType" + }, + { + "name": "seed", + "cType": "uint64", + "canonical": "unsigned long" + } + ] + }, + { + "name": "datum_radians", + "file": "meos_internal.h", + "returnType": { + "c": "Datum", + "canonical": "unsigned long" + }, + "params": [ + { + "name": "d", + "cType": "Datum", + "canonical": "unsigned long" + } + ] + }, + { + "name": "floatspan_round_set", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + }, + { + "name": "result", + "cType": "Span *", + "canonical": "Span *" + } + ] + }, + { + "name": "set_in", + "file": "meos_internal.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "basetype", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "set_out", + "file": "meos_internal.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "span_in", + "file": "meos_internal.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "spantype", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "span_out", + "file": "meos_internal.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "spanset_in", + "file": "meos_internal.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "spantype", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "spanset_out", + "file": "meos_internal.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "set_make", + "file": "meos_internal.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "values", + "cType": "const Datum *", + "canonical": "const unsigned long *" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "basetype", + "cType": "meosType", + "canonical": "meosType" + }, + { + "name": "order", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "set_make_exp", + "file": "meos_internal.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "values", + "cType": "const Datum *", + "canonical": "const unsigned long *" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "maxcount", + "cType": "int", + "canonical": "int" + }, + { + "name": "basetype", + "cType": "meosType", + "canonical": "meosType" + }, + { + "name": "order", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "set_make_free", + "file": "meos_internal.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "values", + "cType": "Datum *", + "canonical": "unsigned long *" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "basetype", + "cType": "meosType", + "canonical": "meosType" + }, + { + "name": "order", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "span_make", + "file": "meos_internal.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "lower", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "upper", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "lower_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "upper_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "basetype", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "span_set", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "lower", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "upper", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "lower_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "upper_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "basetype", + "cType": "meosType", + "canonical": "meosType" + }, + { + "name": "spantype", + "cType": "meosType", + "canonical": "meosType" + }, + { + "name": "s", + "cType": "Span *", + "canonical": "Span *" + } + ] + }, + { + "name": "spanset_make_exp", + "file": "meos_internal.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "spans", + "cType": "Span *", + "canonical": "Span *" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "maxcount", + "cType": "int", + "canonical": "int" + }, + { + "name": "normalize", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "order", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "spanset_make_free", + "file": "meos_internal.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "spans", + "cType": "Span *", + "canonical": "Span *" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "normalize", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "order", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "set_span", + "file": "meos_internal.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "set_spanset", + "file": "meos_internal.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "value_set_span", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "basetype", + "cType": "meosType", + "canonical": "meosType" + }, + { + "name": "s", + "cType": "Span *", + "canonical": "Span *" + } + ] + }, + { + "name": "value_set", + "file": "meos_internal.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "d", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "basetype", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "value_span", + "file": "meos_internal.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "d", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "basetype", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "value_spanset", + "file": "meos_internal.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "d", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "basetype", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "numspan_width", + "file": "meos_internal.h", + "returnType": { + "c": "Datum", + "canonical": "unsigned long" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "numspanset_width", + "file": "meos_internal.h", + "returnType": { + "c": "Datum", + "canonical": "unsigned long" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "boundspan", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "set_end_value", + "file": "meos_internal.h", + "returnType": { + "c": "Datum", + "canonical": "unsigned long" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "set_mem_size", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "set_set_subspan", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "minidx", + "cType": "int", + "canonical": "int" + }, + { + "name": "maxidx", + "cType": "int", + "canonical": "int" + }, + { + "name": "result", + "cType": "Span *", + "canonical": "Span *" + } + ] + }, + { + "name": "set_set_span", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "result", + "cType": "Span *", + "canonical": "Span *" + } + ] + }, + { + "name": "set_start_value", + "file": "meos_internal.h", + "returnType": { + "c": "Datum", + "canonical": "unsigned long" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "set_value_n", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "n", + "cType": "int", + "canonical": "int" + }, + { + "name": "result", + "cType": "Datum *", + "canonical": "unsigned long *" + } + ] + }, + { + "name": "set_vals", + "file": "meos_internal.h", + "returnType": { + "c": "Datum *", + "canonical": "unsigned long *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "set_values", + "file": "meos_internal.h", + "returnType": { + "c": "Datum *", + "canonical": "unsigned long *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "spanset_lower", + "file": "meos_internal.h", + "returnType": { + "c": "Datum", + "canonical": "unsigned long" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "spanset_mem_size", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "spanset_sps", + "file": "meos_internal.h", + "returnType": { + "c": "const Span **", + "canonical": "const Span **" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "spanset_upper", + "file": "meos_internal.h", + "returnType": { + "c": "Datum", + "canonical": "unsigned long" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "datespan_set_tstzspan", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "s1", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "s2", + "cType": "Span *", + "canonical": "Span *" + } + ] + }, + { + "name": "floatspan_set_intspan", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "s1", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "s2", + "cType": "Span *", + "canonical": "Span *" + } + ] + }, + { + "name": "intspan_set_floatspan", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "s1", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "s2", + "cType": "Span *", + "canonical": "Span *" + } + ] + }, + { + "name": "numset_shift_scale", + "file": "meos_internal.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "shift", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "width", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "hasshift", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "haswidth", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "numspan_expand", + "file": "meos_internal.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + } + ] + }, + { + "name": "numspan_shift_scale", + "file": "meos_internal.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "shift", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "width", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "hasshift", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "haswidth", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "numspanset_shift_scale", + "file": "meos_internal.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "shift", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "width", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "hasshift", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "haswidth", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "set_compact", + "file": "meos_internal.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "span_expand", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "s1", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "s2", + "cType": "Span *", + "canonical": "Span *" + } + ] + }, + { + "name": "spanset_compact", + "file": "meos_internal.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "tbox_expand_value", + "file": "meos_internal.h", + "returnType": { + "c": "TBox *", + "canonical": "TBox *" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "basetyp", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "textcat_textset_text_common", + "file": "meos_internal.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "txt", + "cType": "const text *", + "canonical": "const struct varlena *" + }, + { + "name": "invert", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tstzspan_set_datespan", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "s1", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "s2", + "cType": "Span *", + "canonical": "Span *" + } + ] + }, + { + "name": "adjacent_span_value", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + } + ] + }, + { + "name": "adjacent_spanset_value", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + } + ] + }, + { + "name": "adjacent_value_spanset", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "contained_value_set", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "contained_value_span", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "contained_value_spanset", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "contains_set_value", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + } + ] + }, + { + "name": "contains_span_value", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + } + ] + }, + { + "name": "contains_spanset_value", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + } + ] + }, + { + "name": "ovadj_span_span", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s1", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "s2", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "left_set_value", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + } + ] + }, + { + "name": "left_span_value", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + } + ] + }, + { + "name": "left_spanset_value", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + } + ] + }, + { + "name": "left_value_set", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "left_value_span", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "left_value_spanset", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "lfnadj_span_span", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s1", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "s2", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "overleft_set_value", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + } + ] + }, + { + "name": "overleft_span_value", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + } + ] + }, + { + "name": "overleft_spanset_value", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + } + ] + }, + { + "name": "overleft_value_set", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "overleft_value_span", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "overleft_value_spanset", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "overright_set_value", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + } + ] + }, + { + "name": "overright_span_value", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + } + ] + }, + { + "name": "overright_spanset_value", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + } + ] + }, + { + "name": "overright_value_set", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "overright_value_span", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "overright_value_spanset", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "right_value_set", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "right_set_value", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + } + ] + }, + { + "name": "right_value_span", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "right_value_spanset", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "right_span_value", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + } + ] + }, + { + "name": "right_spanset_value", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + } + ] + }, + { + "name": "bbox_type", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "bboxtype", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "bbox_get_size", + "file": "meos_internal.h", + "returnType": { + "c": "size_t", + "canonical": "unsigned long" + }, + "params": [ + { + "name": "bboxtype", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "bbox_max_dims", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "bboxtype", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "temporal_bbox_eq", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const void *", + "canonical": "const void *" + }, + { + "name": "box2", + "cType": "const void *", + "canonical": "const void *" + }, + { + "name": "temptype", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "temporal_bbox_cmp", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "box1", + "cType": "const void *", + "canonical": "const void *" + }, + { + "name": "box2", + "cType": "const void *", + "canonical": "const void *" + }, + { + "name": "temptype", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "bbox_union_span_span", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "s1", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "s2", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "result", + "cType": "Span *", + "canonical": "Span *" + } + ] + }, + { + "name": "inter_span_span", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s1", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "s2", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "result", + "cType": "Span *", + "canonical": "Span *" + } + ] + }, + { + "name": "intersection_set_value", + "file": "meos_internal.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + } + ] + }, + { + "name": "intersection_span_value", + "file": "meos_internal.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + } + ] + }, + { + "name": "intersection_spanset_value", + "file": "meos_internal.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + } + ] + }, + { + "name": "intersection_value_set", + "file": "meos_internal.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "intersection_value_span", + "file": "meos_internal.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "intersection_value_spanset", + "file": "meos_internal.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "mi_span_span", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "s1", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "s2", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "result", + "cType": "Span *", + "canonical": "Span *" + } + ] + }, + { + "name": "minus_set_value", + "file": "meos_internal.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + } + ] + }, + { + "name": "minus_span_value", + "file": "meos_internal.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + } + ] + }, + { + "name": "minus_spanset_value", + "file": "meos_internal.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + } + ] + }, + { + "name": "minus_value_set", + "file": "meos_internal.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "minus_value_span", + "file": "meos_internal.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "minus_value_spanset", + "file": "meos_internal.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "super_union_span_span", + "file": "meos_internal.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "s1", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "s2", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "union_set_value", + "file": "meos_internal.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + } + ] + }, + { + "name": "union_span_value", + "file": "meos_internal.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + } + ] + }, + { + "name": "union_spanset_value", + "file": "meos_internal.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + } + ] + }, + { + "name": "union_value_set", + "file": "meos_internal.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "union_value_span", + "file": "meos_internal.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "union_value_spanset", + "file": "meos_internal.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "distance_set_set", + "file": "meos_internal.h", + "returnType": { + "c": "Datum", + "canonical": "unsigned long" + }, + "params": [ + { + "name": "s1", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "s2", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "distance_set_value", + "file": "meos_internal.h", + "returnType": { + "c": "Datum", + "canonical": "unsigned long" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + } + ] + }, + { + "name": "distance_span_span", + "file": "meos_internal.h", + "returnType": { + "c": "Datum", + "canonical": "unsigned long" + }, + "params": [ + { + "name": "s1", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "s2", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "distance_span_value", + "file": "meos_internal.h", + "returnType": { + "c": "Datum", + "canonical": "unsigned long" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + } + ] + }, + { + "name": "distance_spanset_span", + "file": "meos_internal.h", + "returnType": { + "c": "Datum", + "canonical": "unsigned long" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "distance_spanset_spanset", + "file": "meos_internal.h", + "returnType": { + "c": "Datum", + "canonical": "unsigned long" + }, + "params": [ + { + "name": "ss1", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "ss2", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "distance_spanset_value", + "file": "meos_internal.h", + "returnType": { + "c": "Datum", + "canonical": "unsigned long" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + } + ] + }, + { + "name": "distance_value_value", + "file": "meos_internal.h", + "returnType": { + "c": "Datum", + "canonical": "unsigned long" + }, + "params": [ + { + "name": "l", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "r", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "basetype", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "spanbase_extent_transfn", + "file": "meos_internal.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "state", + "cType": "Span *", + "canonical": "Span *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "basetype", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "value_union_transfn", + "file": "meos_internal.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "state", + "cType": "Set *", + "canonical": "Set *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "basetype", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "number_tstzspan_to_tbox", + "file": "meos_internal.h", + "returnType": { + "c": "TBox *", + "canonical": "TBox *" + }, + "params": [ + { + "name": "d", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "basetype", + "cType": "meosType", + "canonical": "meosType" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "number_timestamptz_to_tbox", + "file": "meos_internal.h", + "returnType": { + "c": "TBox *", + "canonical": "TBox *" + }, + "params": [ + { + "name": "d", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "basetype", + "cType": "meosType", + "canonical": "meosType" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "tbox_set", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "p", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "box", + "cType": "TBox *", + "canonical": "TBox *" + } + ] + }, + { + "name": "float_set_tbox", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "d", + "cType": "double", + "canonical": "double" + }, + { + "name": "box", + "cType": "TBox *", + "canonical": "TBox *" + } + ] + }, + { + "name": "int_set_tbox", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "i", + "cType": "int", + "canonical": "int" + }, + { + "name": "box", + "cType": "TBox *", + "canonical": "TBox *" + } + ] + }, + { + "name": "number_set_tbox", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "d", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "basetype", + "cType": "meosType", + "canonical": "meosType" + }, + { + "name": "box", + "cType": "TBox *", + "canonical": "TBox *" + } + ] + }, + { + "name": "number_tbox", + "file": "meos_internal.h", + "returnType": { + "c": "TBox *", + "canonical": "TBox *" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "basetype", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "numset_set_tbox", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "box", + "cType": "TBox *", + "canonical": "TBox *" + } + ] + }, + { + "name": "numspan_set_tbox", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "span", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "box", + "cType": "TBox *", + "canonical": "TBox *" + } + ] + }, + { + "name": "timestamptz_set_tbox", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "box", + "cType": "TBox *", + "canonical": "TBox *" + } + ] + }, + { + "name": "tstzset_set_tbox", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "box", + "cType": "TBox *", + "canonical": "TBox *" + } + ] + }, + { + "name": "tstzspan_set_tbox", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "box", + "cType": "TBox *", + "canonical": "TBox *" + } + ] + }, + { + "name": "tbox_shift_scale_value", + "file": "meos_internal.h", + "returnType": { + "c": "TBox *", + "canonical": "TBox *" + }, + "params": [ + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "shift", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "width", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "hasshift", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "haswidth", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tbox_expand", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "box1", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "box2", + "cType": "TBox *", + "canonical": "TBox *" + } + ] + }, + { + "name": "inter_tbox_tbox", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "box2", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "result", + "cType": "TBox *", + "canonical": "TBox *" + } + ] + }, + { + "name": "tboolinst_from_mfjson", + "file": "meos_internal.h", + "returnType": { + "c": "TInstant *", + "canonical": "TInstant *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + } + ] + }, + { + "name": "tboolinst_in", + "file": "meos_internal.h", + "returnType": { + "c": "TInstant *", + "canonical": "TInstant *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tboolseq_from_mfjson", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "TSequence *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + } + ] + }, + { + "name": "tboolseq_in", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "TSequence *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tboolseqset_from_mfjson", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + } + ] + }, + { + "name": "tboolseqset_in", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "temporal_in", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "temptype", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "temporal_out", + "file": "meos_internal.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "temparr_out", + "file": "meos_internal.h", + "returnType": { + "c": "char **", + "canonical": "char **" + }, + "params": [ + { + "name": "temparr", + "cType": "Temporal **", + "canonical": "Temporal **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tfloatinst_from_mfjson", + "file": "meos_internal.h", + "returnType": { + "c": "TInstant *", + "canonical": "TInstant *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + } + ] + }, + { + "name": "tfloatinst_in", + "file": "meos_internal.h", + "returnType": { + "c": "TInstant *", + "canonical": "TInstant *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tfloatseq_from_mfjson", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "TSequence *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tfloatseq_in", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "TSequence *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tfloatseqset_from_mfjson", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tfloatseqset_in", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tinstant_from_mfjson", + "file": "meos_internal.h", + "returnType": { + "c": "TInstant *", + "canonical": "TInstant *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + }, + { + "name": "spatial", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "temptype", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "tinstant_in", + "file": "meos_internal.h", + "returnType": { + "c": "TInstant *", + "canonical": "TInstant *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "temptype", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "tinstant_out", + "file": "meos_internal.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const TInstant *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tintinst_from_mfjson", + "file": "meos_internal.h", + "returnType": { + "c": "TInstant *", + "canonical": "TInstant *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + } + ] + }, + { + "name": "tintinst_in", + "file": "meos_internal.h", + "returnType": { + "c": "TInstant *", + "canonical": "TInstant *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tintseq_from_mfjson", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "TSequence *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + } + ] + }, + { + "name": "tintseq_in", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "TSequence *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tintseqset_from_mfjson", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + } + ] + }, + { + "name": "tintseqset_in", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tsequence_from_mfjson", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "TSequence *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + }, + { + "name": "spatial", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "temptype", + "cType": "meosType", + "canonical": "meosType" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tsequence_in", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "TSequence *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "temptype", + "cType": "meosType", + "canonical": "meosType" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tsequence_out", + "file": "meos_internal.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tsequenceset_from_mfjson", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + }, + { + "name": "spatial", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "temptype", + "cType": "meosType", + "canonical": "meosType" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tsequenceset_in", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "temptype", + "cType": "meosType", + "canonical": "meosType" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tsequenceset_out", + "file": "meos_internal.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "ttextinst_from_mfjson", + "file": "meos_internal.h", + "returnType": { + "c": "TInstant *", + "canonical": "TInstant *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + } + ] + }, + { + "name": "ttextinst_in", + "file": "meos_internal.h", + "returnType": { + "c": "TInstant *", + "canonical": "TInstant *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "ttextseq_from_mfjson", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "TSequence *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + } + ] + }, + { + "name": "ttextseq_in", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "TSequence *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "ttextseqset_from_mfjson", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + } + ] + }, + { + "name": "ttextseqset_in", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "temporal_from_mfjson", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "mfjson", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "temptype", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "temporal_from_base_temp", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "temptype", + "cType": "meosType", + "canonical": "meosType" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tinstant_copy", + "file": "meos_internal.h", + "returnType": { + "c": "TInstant *", + "canonical": "TInstant *" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const TInstant *" + } + ] + }, + { + "name": "tinstant_make", + "file": "meos_internal.h", + "returnType": { + "c": "TInstant *", + "canonical": "TInstant *" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "temptype", + "cType": "meosType", + "canonical": "meosType" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "tinstant_make_free", + "file": "meos_internal.h", + "returnType": { + "c": "TInstant *", + "canonical": "TInstant *" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "temptype", + "cType": "meosType", + "canonical": "meosType" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "tsequence_copy", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "TSequence *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + } + ] + }, + { + "name": "tsequence_from_base_temp", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "TSequence *" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "temptype", + "cType": "meosType", + "canonical": "meosType" + }, + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + } + ] + }, + { + "name": "tsequence_from_base_tstzset", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "TSequence *" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "temptype", + "cType": "meosType", + "canonical": "meosType" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "tsequence_from_base_tstzspan", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "TSequence *" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "temptype", + "cType": "meosType", + "canonical": "meosType" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tsequence_make_exp", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "TSequence *" + }, + "params": [ + { + "name": "instants", + "cType": "TInstant **", + "canonical": "TInstant **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "maxcount", + "cType": "int", + "canonical": "int" + }, + { + "name": "lower_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "upper_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + }, + { + "name": "normalize", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tsequence_make_free", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "TSequence *" + }, + "params": [ + { + "name": "instants", + "cType": "TInstant **", + "canonical": "TInstant **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "lower_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "upper_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + }, + { + "name": "normalize", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tsequenceset_copy", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + } + ] + }, + { + "name": "tseqsetarr_to_tseqset", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "seqsets", + "cType": "TSequenceSet **", + "canonical": "TSequenceSet **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "totalseqs", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tsequenceset_from_base_temp", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "temptype", + "cType": "meosType", + "canonical": "meosType" + }, + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + } + ] + }, + { + "name": "tsequenceset_from_base_tstzspanset", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "temptype", + "cType": "meosType", + "canonical": "meosType" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tsequenceset_make_exp", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "sequences", + "cType": "TSequence **", + "canonical": "TSequence **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "maxcount", + "cType": "int", + "canonical": "int" + }, + { + "name": "normalize", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tsequenceset_make_free", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "sequences", + "cType": "TSequence **", + "canonical": "TSequence **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "normalize", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "temporal_set_tstzspan", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "s", + "cType": "Span *", + "canonical": "Span *" + } + ] + }, + { + "name": "tinstant_set_tstzspan", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const TInstant *" + }, + { + "name": "s", + "cType": "Span *", + "canonical": "Span *" + } + ] + }, + { + "name": "tnumber_set_tbox", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "TBox *", + "canonical": "TBox *" + } + ] + }, + { + "name": "tnumberinst_set_tbox", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const TInstant *" + }, + { + "name": "box", + "cType": "TBox *", + "canonical": "TBox *" + } + ] + }, + { + "name": "tnumberseq_set_tbox", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + }, + { + "name": "box", + "cType": "TBox *", + "canonical": "TBox *" + } + ] + }, + { + "name": "tnumberseqset_set_tbox", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + }, + { + "name": "box", + "cType": "TBox *", + "canonical": "TBox *" + } + ] + }, + { + "name": "tsequence_set_tstzspan", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + }, + { + "name": "s", + "cType": "Span *", + "canonical": "Span *" + } + ] + }, + { + "name": "tsequenceset_set_tstzspan", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + }, + { + "name": "s", + "cType": "Span *", + "canonical": "Span *" + } + ] + }, + { + "name": "temporal_end_inst", + "file": "meos_internal.h", + "returnType": { + "c": "const TInstant *", + "canonical": "const TInstant *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "temporal_end_value", + "file": "meos_internal.h", + "returnType": { + "c": "Datum", + "canonical": "unsigned long" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "temporal_inst_n", + "file": "meos_internal.h", + "returnType": { + "c": "const TInstant *", + "canonical": "const TInstant *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "n", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "temporal_insts_p", + "file": "meos_internal.h", + "returnType": { + "c": "const TInstant **", + "canonical": "const TInstant **" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "temporal_max_inst_p", + "file": "meos_internal.h", + "returnType": { + "c": "const TInstant *", + "canonical": "const TInstant *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "temporal_max_value", + "file": "meos_internal.h", + "returnType": { + "c": "Datum", + "canonical": "unsigned long" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "temporal_mem_size", + "file": "meos_internal.h", + "returnType": { + "c": "size_t", + "canonical": "unsigned long" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "temporal_min_inst_p", + "file": "meos_internal.h", + "returnType": { + "c": "const TInstant *", + "canonical": "const TInstant *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "temporal_min_value", + "file": "meos_internal.h", + "returnType": { + "c": "Datum", + "canonical": "unsigned long" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "temporal_sequences_p", + "file": "meos_internal.h", + "returnType": { + "c": "const TSequence **", + "canonical": "const TSequence **" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "temporal_set_bbox", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "void *", + "canonical": "void *" + } + ] + }, + { + "name": "temporal_start_inst", + "file": "meos_internal.h", + "returnType": { + "c": "const TInstant *", + "canonical": "const TInstant *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "temporal_start_value", + "file": "meos_internal.h", + "returnType": { + "c": "Datum", + "canonical": "unsigned long" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "temporal_values_p", + "file": "meos_internal.h", + "returnType": { + "c": "Datum *", + "canonical": "unsigned long *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "temporal_value_n", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "n", + "cType": "int", + "canonical": "int" + }, + { + "name": "result", + "cType": "Datum *", + "canonical": "unsigned long *" + } + ] + }, + { + "name": "temporal_values", + "file": "meos_internal.h", + "returnType": { + "c": "Datum *", + "canonical": "unsigned long *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tinstant_hash", + "file": "meos_internal.h", + "returnType": { + "c": "uint32", + "canonical": "unsigned int" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const TInstant *" + } + ] + }, + { + "name": "tinstant_insts", + "file": "meos_internal.h", + "returnType": { + "c": "const TInstant **", + "canonical": "const TInstant **" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const TInstant *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tinstant_set_bbox", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const TInstant *" + }, + { + "name": "box", + "cType": "void *", + "canonical": "void *" + } + ] + }, + { + "name": "tinstant_time", + "file": "meos_internal.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const TInstant *" + } + ] + }, + { + "name": "tinstant_timestamps", + "file": "meos_internal.h", + "returnType": { + "c": "TimestampTz *", + "canonical": "long *" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const TInstant *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tinstant_value_p", + "file": "meos_internal.h", + "returnType": { + "c": "Datum", + "canonical": "unsigned long" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const TInstant *" + } + ] + }, + { + "name": "tinstant_value", + "file": "meos_internal.h", + "returnType": { + "c": "Datum", + "canonical": "unsigned long" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const TInstant *" + } + ] + }, + { + "name": "tinstant_value_at_timestamptz", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const TInstant *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "result", + "cType": "Datum *", + "canonical": "unsigned long *" + } + ] + }, + { + "name": "tinstant_values_p", + "file": "meos_internal.h", + "returnType": { + "c": "Datum *", + "canonical": "unsigned long *" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const TInstant *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tnumber_set_span", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "span", + "cType": "Span *", + "canonical": "Span *" + } + ] + }, + { + "name": "tnumberinst_valuespans", + "file": "meos_internal.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const TInstant *" + } + ] + }, + { + "name": "tnumberseq_avg_val", + "file": "meos_internal.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + } + ] + }, + { + "name": "tnumberseq_valuespans", + "file": "meos_internal.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + } + ] + }, + { + "name": "tnumberseqset_avg_val", + "file": "meos_internal.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + } + ] + }, + { + "name": "tnumberseqset_valuespans", + "file": "meos_internal.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + } + ] + }, + { + "name": "tsequence_duration", + "file": "meos_internal.h", + "returnType": { + "c": "Interval *", + "canonical": "Interval *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + } + ] + }, + { + "name": "tsequence_end_timestamptz", + "file": "meos_internal.h", + "returnType": { + "c": "TimestampTz", + "canonical": "long" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + } + ] + }, + { + "name": "tsequence_hash", + "file": "meos_internal.h", + "returnType": { + "c": "uint32", + "canonical": "unsigned int" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + } + ] + }, + { + "name": "tsequence_insts_p", + "file": "meos_internal.h", + "returnType": { + "c": "const TInstant **", + "canonical": "const TInstant **" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + } + ] + }, + { + "name": "tsequence_max_inst_p", + "file": "meos_internal.h", + "returnType": { + "c": "const TInstant *", + "canonical": "const TInstant *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + } + ] + }, + { + "name": "tsequence_max_val", + "file": "meos_internal.h", + "returnType": { + "c": "Datum", + "canonical": "unsigned long" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + } + ] + }, + { + "name": "tsequence_min_inst_p", + "file": "meos_internal.h", + "returnType": { + "c": "const TInstant *", + "canonical": "const TInstant *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + } + ] + }, + { + "name": "tsequence_min_val", + "file": "meos_internal.h", + "returnType": { + "c": "Datum", + "canonical": "unsigned long" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + } + ] + }, + { + "name": "tsequence_segments", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence **", + "canonical": "TSequence **" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tsequence_seqs", + "file": "meos_internal.h", + "returnType": { + "c": "const TSequence **", + "canonical": "const TSequence **" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tsequence_start_timestamptz", + "file": "meos_internal.h", + "returnType": { + "c": "TimestampTz", + "canonical": "long" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + } + ] + }, + { + "name": "tsequence_time", + "file": "meos_internal.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + } + ] + }, + { + "name": "tsequence_timestamps", + "file": "meos_internal.h", + "returnType": { + "c": "TimestampTz *", + "canonical": "long *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tsequence_value_at_timestamptz", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "strict", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "result", + "cType": "Datum *", + "canonical": "unsigned long *" + } + ] + }, + { + "name": "tsequence_values_p", + "file": "meos_internal.h", + "returnType": { + "c": "Datum *", + "canonical": "unsigned long *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tsequenceset_duration", + "file": "meos_internal.h", + "returnType": { + "c": "Interval *", + "canonical": "Interval *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + }, + { + "name": "boundspan", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tsequenceset_end_timestamptz", + "file": "meos_internal.h", + "returnType": { + "c": "TimestampTz", + "canonical": "long" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + } + ] + }, + { + "name": "tsequenceset_hash", + "file": "meos_internal.h", + "returnType": { + "c": "uint32", + "canonical": "unsigned int" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + } + ] + }, + { + "name": "tsequenceset_inst_n", + "file": "meos_internal.h", + "returnType": { + "c": "const TInstant *", + "canonical": "const TInstant *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + }, + { + "name": "n", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tsequenceset_insts_p", + "file": "meos_internal.h", + "returnType": { + "c": "const TInstant **", + "canonical": "const TInstant **" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + } + ] + }, + { + "name": "tsequenceset_max_inst_p", + "file": "meos_internal.h", + "returnType": { + "c": "const TInstant *", + "canonical": "const TInstant *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + } + ] + }, + { + "name": "tsequenceset_max_val", + "file": "meos_internal.h", + "returnType": { + "c": "Datum", + "canonical": "unsigned long" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + } + ] + }, + { + "name": "tsequenceset_min_inst_p", + "file": "meos_internal.h", + "returnType": { + "c": "const TInstant *", + "canonical": "const TInstant *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + } + ] + }, + { + "name": "tsequenceset_min_val", + "file": "meos_internal.h", + "returnType": { + "c": "Datum", + "canonical": "unsigned long" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + } + ] + }, + { + "name": "tsequenceset_num_instants", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + } + ] + }, + { + "name": "tsequenceset_num_timestamps", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + } + ] + }, + { + "name": "tsequenceset_segments", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence **", + "canonical": "TSequence **" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tsequenceset_sequences_p", + "file": "meos_internal.h", + "returnType": { + "c": "const TSequence **", + "canonical": "const TSequence **" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + } + ] + }, + { + "name": "tsequenceset_start_timestamptz", + "file": "meos_internal.h", + "returnType": { + "c": "TimestampTz", + "canonical": "long" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + } + ] + }, + { + "name": "tsequenceset_time", + "file": "meos_internal.h", + "returnType": { + "c": "SpanSet *", + "canonical": "SpanSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + } + ] + }, + { + "name": "tsequenceset_timestamptz_n", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + }, + { + "name": "n", + "cType": "int", + "canonical": "int" + }, + { + "name": "result", + "cType": "TimestampTz *", + "canonical": "long *" + } + ] + }, + { + "name": "tsequenceset_timestamps", + "file": "meos_internal.h", + "returnType": { + "c": "TimestampTz *", + "canonical": "long *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tsequenceset_value_at_timestamptz", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "strict", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "result", + "cType": "Datum *", + "canonical": "unsigned long *" + } + ] + }, + { + "name": "tsequenceset_value_n", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + }, + { + "name": "n", + "cType": "int", + "canonical": "int" + }, + { + "name": "result", + "cType": "Datum *", + "canonical": "unsigned long *" + } + ] + }, + { + "name": "tsequenceset_values_p", + "file": "meos_internal.h", + "returnType": { + "c": "Datum *", + "canonical": "unsigned long *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "temporal_restart", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "temp", + "cType": "Temporal *", + "canonical": "Temporal *" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "temporal_tsequence", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "TSequence *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "temporal_tsequenceset", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tinstant_shift_time", + "file": "meos_internal.h", + "returnType": { + "c": "TInstant *", + "canonical": "TInstant *" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const TInstant *" + }, + { + "name": "interv", + "cType": "const Interval *", + "canonical": "const Interval *" + } + ] + }, + { + "name": "tinstant_to_tsequence", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "TSequence *" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const TInstant *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tinstant_to_tsequence_free", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "TSequence *" + }, + "params": [ + { + "name": "inst", + "cType": "TInstant *", + "canonical": "TInstant *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tinstant_to_tsequenceset", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const TInstant *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tnumber_shift_scale_value", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "shift", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "width", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "hasshift", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "haswidth", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tnumberinst_shift_value", + "file": "meos_internal.h", + "returnType": { + "c": "TInstant *", + "canonical": "TInstant *" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const TInstant *" + }, + { + "name": "shift", + "cType": "Datum", + "canonical": "unsigned long" + } + ] + }, + { + "name": "tnumberseq_shift_scale_value", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "TSequence *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + }, + { + "name": "shift", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "width", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "hasshift", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "haswidth", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tnumberseqset_shift_scale_value", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + }, + { + "name": "start", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "width", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "hasshift", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "haswidth", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tsequence_restart", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "seq", + "cType": "TSequence *", + "canonical": "TSequence *" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tsequence_set_interp", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tsequence_shift_scale_time", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "TSequence *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + }, + { + "name": "shift", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" + } + ] + }, + { + "name": "tsequence_subseq", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "TSequence *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + }, + { + "name": "from", + "cType": "int", + "canonical": "int" + }, + { + "name": "to", + "cType": "int", + "canonical": "int" + }, + { + "name": "lower_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "upper_inc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tsequence_to_tinstant", + "file": "meos_internal.h", + "returnType": { + "c": "TInstant *", + "canonical": "TInstant *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + } + ] + }, + { + "name": "tsequence_to_tsequenceset", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + } + ] + }, + { + "name": "tsequence_to_tsequenceset_free", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "seq", + "cType": "TSequence *", + "canonical": "TSequence *" + } + ] + }, + { + "name": "tsequence_to_tsequenceset_interp", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tsequenceset_restart", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "ss", + "cType": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tsequenceset_set_interp", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tsequenceset_shift_scale_time", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + }, + { + "name": "start", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" + } + ] + }, + { + "name": "tsequenceset_to_discrete", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "TSequence *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + } + ] + }, + { + "name": "tsequenceset_to_linear", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + } + ] + }, + { + "name": "tsequenceset_to_step", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + } + ] + }, + { + "name": "tsequenceset_to_tinstant", + "file": "meos_internal.h", + "returnType": { + "c": "TInstant *", + "canonical": "TInstant *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + } + ] + }, + { + "name": "tsequenceset_to_tsequence", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "TSequence *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + } + ] + }, + { + "name": "tinstant_merge", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "inst1", + "cType": "const TInstant *", + "canonical": "const TInstant *" + }, + { + "name": "inst2", + "cType": "const TInstant *", + "canonical": "const TInstant *" + } + ] + }, + { + "name": "tinstant_merge_array", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "instants", + "cType": "TInstant **", + "canonical": "TInstant **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tsequence_append_tinstant", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "seq", + "cType": "TSequence *", + "canonical": "TSequence *" + }, + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const TInstant *" + }, + { + "name": "maxdist", + "cType": "double", + "canonical": "double" + }, + { + "name": "maxt", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "expand", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tsequence_append_tsequence", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "seq1", + "cType": "const TSequence *", + "canonical": "const TSequence *" + }, + { + "name": "seq2", + "cType": "const TSequence *", + "canonical": "const TSequence *" + }, + { + "name": "expand", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tsequence_delete_timestamptz", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "connect", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tsequence_delete_tstzset", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "connect", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tsequence_delete_tstzspan", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "connect", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tsequence_delete_tstzspanset", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "connect", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tsequence_insert", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "seq1", + "cType": "const TSequence *", + "canonical": "const TSequence *" + }, + { + "name": "seq2", + "cType": "const TSequence *", + "canonical": "const TSequence *" + }, + { + "name": "connect", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tsequence_merge", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "seq1", + "cType": "const TSequence *", + "canonical": "const TSequence *" + }, + { + "name": "seq2", + "cType": "const TSequence *", + "canonical": "const TSequence *" + } + ] + }, + { + "name": "tsequence_merge_array", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "sequences", + "cType": "TSequence **", + "canonical": "TSequence **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tsequenceset_append_tinstant", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const TInstant *" + }, + { + "name": "maxdist", + "cType": "double", + "canonical": "double" + }, + { + "name": "maxt", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "expand", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tsequenceset_append_tsequence", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + }, + { + "name": "expand", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tsequenceset_delete_timestamptz", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "tsequenceset_delete_tstzset", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "tsequenceset_delete_tstzspan", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "tsequenceset_delete_tstzspanset", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + }, + { + "name": "ps", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + } + ] + }, + { + "name": "tsequenceset_insert", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "ss1", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + }, + { + "name": "ss2", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + } + ] + }, + { + "name": "tsequenceset_merge", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "ss1", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + }, + { + "name": "ss2", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + } + ] + }, + { + "name": "tsequenceset_merge_array", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "seqsets", + "cType": "TSequenceSet **", + "canonical": "TSequenceSet **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tsequence_expand_bbox", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "seq", + "cType": "TSequence *", + "canonical": "TSequence *" + }, + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const TInstant *" + } + ] + }, + { + "name": "tsequence_set_bbox", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + }, + { + "name": "box", + "cType": "void *", + "canonical": "void *" + } + ] + }, + { + "name": "tsequenceset_expand_bbox", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "ss", + "cType": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + } + ] + }, + { + "name": "tsequenceset_set_bbox", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + }, + { + "name": "box", + "cType": "void *", + "canonical": "void *" + } + ] + }, + { + "name": "tcontseq_after_timestamptz", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "TSequence *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "strict", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tcontseq_before_timestamptz", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "TSequence *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "strict", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tcontseq_restrict_minmax", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + }, + { + "name": "min", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tdiscseq_after_timestamptz", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "TSequence *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "strict", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tdiscseq_before_timestamptz", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "TSequence *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "strict", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tdiscseq_restrict_minmax", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "TSequence *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + }, + { + "name": "min", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "temporal_bbox_restrict_set", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "set", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "temporal_restrict_minmax", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "min", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "temporal_restrict_timestamptz", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "temporal_restrict_tstzset", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "temporal_restrict_tstzspan", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "temporal_restrict_tstzspanset", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "temporal_restrict_value", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "temporal_restrict_values", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "set", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "temporal_value_at_timestamptz", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "strict", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "result", + "cType": "Datum *", + "canonical": "unsigned long *" + } + ] + }, + { + "name": "tinstant_after_timestamptz", + "file": "meos_internal.h", + "returnType": { + "c": "TInstant *", + "canonical": "TInstant *" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const TInstant *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "strict", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tinstant_before_timestamptz", + "file": "meos_internal.h", + "returnType": { + "c": "TInstant *", + "canonical": "TInstant *" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const TInstant *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "strict", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tinstant_restrict_tstzspan", + "file": "meos_internal.h", + "returnType": { + "c": "TInstant *", + "canonical": "TInstant *" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const TInstant *" + }, + { + "name": "period", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tinstant_restrict_tstzspanset", + "file": "meos_internal.h", + "returnType": { + "c": "TInstant *", + "canonical": "TInstant *" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const TInstant *" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tinstant_restrict_timestamptz", + "file": "meos_internal.h", + "returnType": { + "c": "TInstant *", + "canonical": "TInstant *" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const TInstant *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tinstant_restrict_tstzset", + "file": "meos_internal.h", + "returnType": { + "c": "TInstant *", + "canonical": "TInstant *" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const TInstant *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tinstant_restrict_value", + "file": "meos_internal.h", + "returnType": { + "c": "TInstant *", + "canonical": "TInstant *" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const TInstant *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tinstant_restrict_values", + "file": "meos_internal.h", + "returnType": { + "c": "TInstant *", + "canonical": "TInstant *" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const TInstant *" + }, + { + "name": "set", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tnumber_restrict_span", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "span", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tnumber_restrict_spanset", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tnumberinst_restrict_span", + "file": "meos_internal.h", + "returnType": { + "c": "TInstant *", + "canonical": "TInstant *" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const TInstant *" + }, + { + "name": "span", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tnumberinst_restrict_spanset", + "file": "meos_internal.h", + "returnType": { + "c": "TInstant *", + "canonical": "TInstant *" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const TInstant *" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tnumberseqset_restrict_span", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + }, + { + "name": "span", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tnumberseqset_restrict_spanset", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + }, + { + "name": "spanset", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tsequence_at_timestamptz", + "file": "meos_internal.h", + "returnType": { + "c": "TInstant *", + "canonical": "TInstant *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "tsequence_restrict_tstzspan", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tsequence_restrict_tstzspanset", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + }, + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tsequenceset_after_timestamptz", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "strict", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tsequenceset_before_timestamptz", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "strict", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tsequenceset_restrict_minmax", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + }, + { + "name": "min", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tsequenceset_restrict_tstzspan", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tsequenceset_restrict_tstzspanset", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + }, + { + "name": "ps", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tsequenceset_restrict_timestamptz", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tsequenceset_restrict_tstzset", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tsequenceset_restrict_value", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tsequenceset_restrict_values", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tinstant_cmp", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "inst1", + "cType": "const TInstant *", + "canonical": "const TInstant *" + }, + { + "name": "inst2", + "cType": "const TInstant *", + "canonical": "const TInstant *" + } + ] + }, + { + "name": "tinstant_eq", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "inst1", + "cType": "const TInstant *", + "canonical": "const TInstant *" + }, + { + "name": "inst2", + "cType": "const TInstant *", + "canonical": "const TInstant *" + } + ] + }, + { + "name": "tsequence_cmp", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "seq1", + "cType": "const TSequence *", + "canonical": "const TSequence *" + }, + { + "name": "seq2", + "cType": "const TSequence *", + "canonical": "const TSequence *" + } + ] + }, + { + "name": "tsequence_eq", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "seq1", + "cType": "const TSequence *", + "canonical": "const TSequence *" + }, + { + "name": "seq2", + "cType": "const TSequence *", + "canonical": "const TSequence *" + } + ] + }, + { + "name": "tsequenceset_cmp", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "ss1", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + }, + { + "name": "ss2", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + } + ] + }, + { + "name": "tsequenceset_eq", + "file": "meos_internal.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss1", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + }, + { + "name": "ss2", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + } + ] + }, + { + "name": "always_eq_base_temporal", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_eq_temporal_base", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + } + ] + }, + { + "name": "always_ne_base_temporal", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_ne_temporal_base", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + } + ] + }, + { + "name": "always_ge_base_temporal", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_ge_temporal_base", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + } + ] + }, + { + "name": "always_gt_base_temporal", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_gt_temporal_base", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + } + ] + }, + { + "name": "always_le_base_temporal", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_le_temporal_base", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + } + ] + }, + { + "name": "always_lt_base_temporal", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_lt_temporal_base", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + } + ] + }, + { + "name": "ever_eq_base_temporal", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_eq_temporal_base", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + } + ] + }, + { + "name": "ever_ne_base_temporal", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_ne_temporal_base", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + } + ] + }, + { + "name": "ever_ge_base_temporal", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_ge_temporal_base", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + } + ] + }, + { + "name": "ever_gt_base_temporal", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_gt_temporal_base", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + } + ] + }, + { + "name": "ever_le_base_temporal", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_le_temporal_base", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + } + ] + }, + { + "name": "ever_lt_base_temporal", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_lt_temporal_base", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + } + ] + }, + { + "name": "tnumberinst_abs", + "file": "meos_internal.h", + "returnType": { + "c": "TInstant *", + "canonical": "TInstant *" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const TInstant *" + } + ] + }, + { + "name": "tnumberseq_abs", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "TSequence *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + } + ] + }, + { + "name": "tnumberseq_angular_difference", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "TSequence *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + } + ] + }, + { + "name": "tnumberseq_delta_value", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "TSequence *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + } + ] + }, + { + "name": "tnumberseqset_abs", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + } + ] + }, + { + "name": "tnumberseqset_angular_difference", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "TSequence *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + } + ] + }, + { + "name": "tnumberseqset_delta_value", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + } + ] + }, + { + "name": "tdistance_tnumber_number", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + } + ] + }, + { + "name": "nad_tbox_tbox", + "file": "meos_internal.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "box1", + "cType": "const TBox *", + "canonical": "const TBox *" + }, + { + "name": "box2", + "cType": "const TBox *", + "canonical": "const TBox *" + } + ] + }, + { + "name": "nad_tnumber_number", + "file": "meos_internal.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + } + ] + }, + { + "name": "nad_tnumber_tbox", + "file": "meos_internal.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const TBox *", + "canonical": "const TBox *" + } + ] + }, + { + "name": "nad_tnumber_tnumber", + "file": "meos_internal.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tnumberseq_integral", + "file": "meos_internal.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + } + ] + }, + { + "name": "tnumberseq_twavg", + "file": "meos_internal.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + } + ] + }, + { + "name": "tnumberseqset_integral", + "file": "meos_internal.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + } + ] + }, + { + "name": "tnumberseqset_twavg", + "file": "meos_internal.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + } + ] + }, + { + "name": "temporal_compact", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tsequence_compact", + "file": "meos_internal.h", + "returnType": { + "c": "TSequence *", + "canonical": "TSequence *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + } + ] + }, + { + "name": "tsequenceset_compact", + "file": "meos_internal.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + } + ] + }, + { + "name": "temporal_skiplist_make", + "file": "meos_internal.h", + "returnType": { + "c": "SkipList *", + "canonical": "struct SkipList *" + }, + "params": [] + }, + { + "name": "skiplist_make", + "file": "meos_internal.h", + "returnType": { + "c": "SkipList *", + "canonical": "struct SkipList *" + }, + "params": [ + { + "name": "key_size", + "cType": "size_t", + "canonical": "unsigned long" + }, + { + "name": "value_size", + "cType": "size_t", + "canonical": "unsigned long" + }, + { + "name": "comp_fn", + "cType": "int (*)(void *, void *)", + "canonical": "int (*)(void *, void *)" + }, + { + "name": "merge_fn", + "cType": "void *(*)(void *, void *)", + "canonical": "void *(*)(void *, void *)" + } + ] + }, + { + "name": "skiplist_search", + "file": "meos_internal.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "list", + "cType": "SkipList *", + "canonical": "struct SkipList *" + }, + { + "name": "key", + "cType": "void *", + "canonical": "void *" + }, + { + "name": "value", + "cType": "void *", + "canonical": "void *" + } + ] + }, + { + "name": "skiplist_free", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "list", + "cType": "SkipList *", + "canonical": "struct SkipList *" + } + ] + }, + { + "name": "skiplist_splice", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "list", + "cType": "SkipList *", + "canonical": "struct SkipList *" + }, + { + "name": "keys", + "cType": "void **", + "canonical": "void **" + }, + { + "name": "values", + "cType": "void **", + "canonical": "void **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "func", + "cType": "datum_func2", + "canonical": "unsigned long (*)(unsigned long, unsigned long)" + }, + { + "name": "crossings", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "sktype", + "cType": "SkipListType", + "canonical": "SkipListType" + } + ] + }, + { + "name": "temporal_skiplist_splice", + "file": "meos_internal.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "list", + "cType": "SkipList *", + "canonical": "struct SkipList *" + }, + { + "name": "values", + "cType": "void **", + "canonical": "void **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "func", + "cType": "datum_func2", + "canonical": "unsigned long (*)(unsigned long, unsigned long)" + }, + { + "name": "crossings", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "skiplist_values", + "file": "meos_internal.h", + "returnType": { + "c": "void **", + "canonical": "void **" + }, + "params": [ + { + "name": "list", + "cType": "SkipList *", + "canonical": "struct SkipList *" + } + ] + }, + { + "name": "skiplist_keys_values", + "file": "meos_internal.h", + "returnType": { + "c": "void **", + "canonical": "void **" + }, + "params": [ + { + "name": "list", + "cType": "SkipList *", + "canonical": "struct SkipList *" + }, + { + "name": "values", + "cType": "void **", + "canonical": "void **" + } + ] + }, + { + "name": "temporal_app_tinst_transfn", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "state", + "cType": "Temporal *", + "canonical": "Temporal *" + }, + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const TInstant *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + }, + { + "name": "maxdist", + "cType": "double", + "canonical": "double" + }, + { + "name": "maxt", + "cType": "const Interval *", + "canonical": "const Interval *" + } + ] + }, + { + "name": "temporal_app_tseq_transfn", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "state", + "cType": "Temporal *", + "canonical": "Temporal *" + }, + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + } + ] + }, + { + "name": "span_bins", + "file": "meos_internal.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "size", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "origin", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "spanset_bins", + "file": "meos_internal.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "ss", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "size", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "origin", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tnumber_value_bins", + "file": "meos_internal.h", + "returnType": { + "c": "Span *", + "canonical": "Span *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "size", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "origin", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tnumber_value_time_boxes", + "file": "meos_internal.h", + "returnType": { + "c": "TBox *", + "canonical": "TBox *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "vsize", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "vorigin", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "torigin", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tnumber_value_split", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal **", + "canonical": "Temporal **" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "vsize", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "vorigin", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "bins", + "cType": "Datum **", + "canonical": "unsigned long **" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tbox_get_value_time_tile", + "file": "meos_internal.h", + "returnType": { + "c": "TBox *", + "canonical": "TBox *" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "vsize", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "vorigin", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "torigin", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "basetype", + "cType": "meosType", + "canonical": "meosType" + }, + { + "name": "spantype", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "tnumber_value_time_split", + "file": "meos_internal.h", + "returnType": { + "c": "Temporal **", + "canonical": "Temporal **" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "size", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "duration", + "cType": "const Interval *", + "canonical": "const Interval *" + }, + { + "name": "vorigin", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "torigin", + "cType": "TimestampTz", + "canonical": "long" + }, + { + "name": "value_bins", + "cType": "Datum **", + "canonical": "unsigned long **" + }, + { + "name": "time_bins", + "cType": "TimestampTz **", + "canonical": "long **" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "proj_get_context", + "file": "meos_internal_geo.h", + "returnType": { + "c": "PJ_CONTEXT *", + "canonical": "struct pj_ctx *" + }, + "params": [] + }, + { + "name": "datum_geo_round", + "file": "meos_internal_geo.h", + "returnType": { + "c": "Datum", + "canonical": "unsigned long" + }, + "params": [ + { + "name": "value", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "size", + "cType": "Datum", + "canonical": "unsigned long" + } + ] + }, + { + "name": "point_round", + "file": "meos_internal_geo.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "stbox_set", + "file": "meos_internal_geo.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "hasx", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "hasz", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "geodetic", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "srid", + "cType": "int32", + "canonical": "int" + }, + { + "name": "xmin", + "cType": "double", + "canonical": "double" + }, + { + "name": "xmax", + "cType": "double", + "canonical": "double" + }, + { + "name": "ymin", + "cType": "double", + "canonical": "double" + }, + { + "name": "ymax", + "cType": "double", + "canonical": "double" + }, + { + "name": "zmin", + "cType": "double", + "canonical": "double" + }, + { + "name": "zmax", + "cType": "double", + "canonical": "double" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "box", + "cType": "STBox *", + "canonical": "STBox *" + } + ] + }, + { + "name": "gbox_set_stbox", + "file": "meos_internal_geo.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "box", + "cType": "const GBOX *", + "canonical": "const GBOX *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "result", + "cType": "STBox *", + "canonical": "STBox *" + } + ] + }, + { + "name": "geo_set_stbox", + "file": "meos_internal_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "box", + "cType": "STBox *", + "canonical": "STBox *" + } + ] + }, + { + "name": "geoarr_set_stbox", + "file": "meos_internal_geo.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "values", + "cType": "const Datum *", + "canonical": "const unsigned long *" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + }, + { + "name": "box", + "cType": "STBox *", + "canonical": "STBox *" + } + ] + }, + { + "name": "spatial_set_stbox", + "file": "meos_internal_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "d", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "basetype", + "cType": "meosType", + "canonical": "meosType" + }, + { + "name": "box", + "cType": "STBox *", + "canonical": "STBox *" + } + ] + }, + { + "name": "spatialset_set_stbox", + "file": "meos_internal_geo.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "set", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "box", + "cType": "STBox *", + "canonical": "STBox *" + } + ] + }, + { + "name": "stbox_set_box3d", + "file": "meos_internal_geo.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "box3d", + "cType": "BOX3D *", + "canonical": "BOX3D *" + } + ] + }, + { + "name": "stbox_set_gbox", + "file": "meos_internal_geo.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "gbox", + "cType": "GBOX *", + "canonical": "GBOX *" + } + ] + }, + { + "name": "tstzset_set_stbox", + "file": "meos_internal_geo.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "box", + "cType": "STBox *", + "canonical": "STBox *" + } + ] + }, + { + "name": "tstzspan_set_stbox", + "file": "meos_internal_geo.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "box", + "cType": "STBox *", + "canonical": "STBox *" + } + ] + }, + { + "name": "tstzspanset_set_stbox", + "file": "meos_internal_geo.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "s", + "cType": "const SpanSet *", + "canonical": "const SpanSet *" + }, + { + "name": "box", + "cType": "STBox *", + "canonical": "STBox *" + } + ] + }, + { + "name": "stbox_expand", + "file": "meos_internal_geo.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "box1", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "box2", + "cType": "STBox *", + "canonical": "STBox *" + } + ] + }, + { + "name": "inter_stbox_stbox", + "file": "meos_internal_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "box1", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "box2", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "result", + "cType": "STBox *", + "canonical": "STBox *" + } + ] + }, + { + "name": "stbox_geo", + "file": "meos_internal_geo.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "tgeogpointinst_from_mfjson", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TInstant *", + "canonical": "TInstant *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + } + ] + }, + { + "name": "tgeogpointinst_in", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TInstant *", + "canonical": "TInstant *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tgeogpointseq_from_mfjson", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TSequence *", + "canonical": "TSequence *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tgeogpointseq_in", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TSequence *", + "canonical": "TSequence *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tgeogpointseqset_from_mfjson", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tgeogpointseqset_in", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tgeompointinst_from_mfjson", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TInstant *", + "canonical": "TInstant *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + } + ] + }, + { + "name": "tgeompointinst_in", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TInstant *", + "canonical": "TInstant *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tgeompointseq_from_mfjson", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TSequence *", + "canonical": "TSequence *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tgeompointseq_in", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TSequence *", + "canonical": "TSequence *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tgeompointseqset_from_mfjson", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tgeompointseqset_in", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tgeographyinst_from_mfjson", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TInstant *", + "canonical": "TInstant *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + } + ] + }, + { + "name": "tgeographyinst_in", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TInstant *", + "canonical": "TInstant *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tgeographyseq_from_mfjson", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TSequence *", + "canonical": "TSequence *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tgeographyseq_in", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TSequence *", + "canonical": "TSequence *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tgeographyseqset_from_mfjson", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tgeographyseqset_in", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tgeometryinst_from_mfjson", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TInstant *", + "canonical": "TInstant *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + } + ] + }, + { + "name": "tgeometryinst_in", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TInstant *", + "canonical": "TInstant *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tgeometryseq_from_mfjson", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TSequence *", + "canonical": "TSequence *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tgeometryseq_in", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TSequence *", + "canonical": "TSequence *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tgeometryseqset_from_mfjson", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "mfjson", + "cType": "json_object *", + "canonical": "struct json_object *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + }, + { + "name": "interp", + "cType": "interpType", + "canonical": "interpType" + } + ] + }, + { + "name": "tgeometryseqset_in", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tspatial_set_stbox", + "file": "meos_internal_geo.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "STBox *", + "canonical": "STBox *" + } + ] + }, + { + "name": "tgeoinst_set_stbox", + "file": "meos_internal_geo.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const TInstant *" + }, + { + "name": "box", + "cType": "STBox *", + "canonical": "STBox *" + } + ] + }, + { + "name": "tspatialseq_set_stbox", + "file": "meos_internal_geo.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + }, + { + "name": "box", + "cType": "STBox *", + "canonical": "STBox *" + } + ] + }, + { + "name": "tspatialseqset_set_stbox", + "file": "meos_internal_geo.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + }, + { + "name": "box", + "cType": "STBox *", + "canonical": "STBox *" + } + ] + }, + { + "name": "tgeo_restrict_geom", + "file": "meos_internal_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "zspan", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tgeo_restrict_stbox", + "file": "meos_internal_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "border_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tgeoinst_restrict_geom", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TInstant *", + "canonical": "TInstant *" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const TInstant *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "zspan", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tgeoinst_restrict_stbox", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TInstant *", + "canonical": "TInstant *" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const TInstant *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "border_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tgeoseq_restrict_geom", + "file": "meos_internal_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "zspan", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tgeoseq_restrict_stbox", + "file": "meos_internal_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "border_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tgeoseqset_restrict_geom", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + { + "name": "zspan", + "cType": "const Span *", + "canonical": "const Span *" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tgeoseqset_restrict_stbox", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "border_inc", + "cType": "bool", + "canonical": "bool" + }, + { + "name": "atfunc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "spatial_srid", + "file": "meos_internal_geo.h", + "returnType": { + "c": "int32_t", + "canonical": "int" + }, + "params": [ + { + "name": "d", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "basetype", + "cType": "meosType", + "canonical": "meosType" + } + ] + }, + { + "name": "spatial_set_srid", + "file": "meos_internal_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "d", + "cType": "Datum", + "canonical": "unsigned long" + }, + { + "name": "basetype", + "cType": "meosType", + "canonical": "meosType" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + } + ] + }, + { + "name": "tspatialinst_srid", + "file": "meos_internal_geo.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const TInstant *" + } + ] + }, + { + "name": "tpointseq_azimuth", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + } + ] + }, + { + "name": "tpointseq_cumulative_length", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TSequence *", + "canonical": "TSequence *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + }, + { + "name": "prevlength", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "tpointseq_is_simple", + "file": "meos_internal_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + } + ] + }, + { + "name": "tpointseq_length", + "file": "meos_internal_geo.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + } + ] + }, + { + "name": "tpointseq_linear_trajectory", + "file": "meos_internal_geo.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + }, + { + "name": "unary_union", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tgeoseq_stboxes", + "file": "meos_internal_geo.h", + "returnType": { + "c": "STBox *", + "canonical": "STBox *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tgeoseq_split_n_stboxes", + "file": "meos_internal_geo.h", + "returnType": { + "c": "STBox *", + "canonical": "STBox *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + }, + { + "name": "max_count", + "cType": "int", + "canonical": "int" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tpointseqset_azimuth", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + } + ] + }, + { + "name": "tpointseqset_cumulative_length", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + } + ] + }, + { + "name": "tpointseqset_is_simple", + "file": "meos_internal_geo.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + } + ] + }, + { + "name": "tpointseqset_length", + "file": "meos_internal_geo.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + } + ] + }, + { + "name": "tgeoseqset_stboxes", + "file": "meos_internal_geo.h", + "returnType": { + "c": "STBox *", + "canonical": "STBox *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tgeoseqset_split_n_stboxes", + "file": "meos_internal_geo.h", + "returnType": { + "c": "STBox *", + "canonical": "STBox *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + }, + { + "name": "max_count", + "cType": "int", + "canonical": "int" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tpoint_get_coord", + "file": "meos_internal_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "coord", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tgeominst_tgeoginst", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TInstant *", + "canonical": "TInstant *" + }, + "params": [ + { + "name": "inst", + "cType": "const TInstant *", + "canonical": "const TInstant *" + }, + { + "name": "oper", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tgeomseq_tgeogseq", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TSequence *", + "canonical": "TSequence *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + }, + { + "name": "oper", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tgeomseqset_tgeogseqset", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + }, + { + "name": "oper", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tgeom_tgeog", + "file": "meos_internal_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "oper", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tgeo_tpoint", + "file": "meos_internal_geo.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "oper", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tspatialinst_set_srid", + "file": "meos_internal_geo.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "inst", + "cType": "TInstant *", + "canonical": "TInstant *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + } + ] + }, + { + "name": "tpointseq_make_simple", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TSequence **", + "canonical": "TSequence **" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tspatialseq_set_srid", + "file": "meos_internal_geo.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "seq", + "cType": "TSequence *", + "canonical": "TSequence *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + } + ] + }, + { + "name": "tpointseqset_make_simple", + "file": "meos_internal_geo.h", + "returnType": { + "c": "TSequence **", + "canonical": "TSequence **" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tspatialseqset_set_srid", + "file": "meos_internal_geo.h", + "returnType": { + "c": "void", + "canonical": "void" + }, + "params": [ + { + "name": "ss", + "cType": "TSequenceSet *", + "canonical": "TSequenceSet *" + }, + { + "name": "srid", + "cType": "int32_t", + "canonical": "int" + } + ] + }, + { + "name": "tpointseq_twcentroid", + "file": "meos_internal_geo.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "seq", + "cType": "const TSequence *", + "canonical": "const TSequence *" + } + ] + }, + { + "name": "tpointseqset_twcentroid", + "file": "meos_internal_geo.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "ss", + "cType": "const TSequenceSet *", + "canonical": "const TSequenceSet *" + } + ] + }, + { + "name": "npoint_as_ewkt", + "file": "meos_npoint.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "npoint_as_hexwkb", + "file": "meos_npoint.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + }, + { + "name": "variant", + "cType": "uint8_t", + "canonical": "unsigned char" + }, + { + "name": "size_out", + "cType": "size_t *", + "canonical": "unsigned long *" + } + ] + }, + { + "name": "npoint_as_text", + "file": "meos_npoint.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "npoint_as_wkb", + "file": "meos_npoint.h", + "returnType": { + "c": "uint8_t *", + "canonical": "unsigned char *" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + }, + { + "name": "variant", + "cType": "uint8_t", + "canonical": "unsigned char" + }, + { + "name": "size_out", + "cType": "size_t *", + "canonical": "unsigned long *" + } + ] + }, + { + "name": "npoint_from_hexwkb", + "file": "meos_npoint.h", + "returnType": { + "c": "Npoint *", + "canonical": "Npoint *" + }, + "params": [ + { + "name": "hexwkb", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "npoint_from_wkb", + "file": "meos_npoint.h", + "returnType": { + "c": "Npoint *", + "canonical": "Npoint *" + }, + "params": [ + { + "name": "wkb", + "cType": "const uint8_t *", + "canonical": "const unsigned char *" + }, + { + "name": "size", + "cType": "size_t", + "canonical": "unsigned long" + } + ] + }, + { + "name": "npoint_in", + "file": "meos_npoint.h", + "returnType": { + "c": "Npoint *", + "canonical": "Npoint *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "npoint_out", + "file": "meos_npoint.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "nsegment_in", + "file": "meos_npoint.h", + "returnType": { + "c": "Nsegment *", + "canonical": "Nsegment *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "nsegment_out", + "file": "meos_npoint.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "ns", + "cType": "const Nsegment *", + "canonical": "const Nsegment *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "npoint_make", + "file": "meos_npoint.h", + "returnType": { + "c": "Npoint *", + "canonical": "Npoint *" + }, + "params": [ + { + "name": "rid", + "cType": "int64", + "canonical": "long" + }, + { + "name": "pos", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "nsegment_make", + "file": "meos_npoint.h", + "returnType": { + "c": "Nsegment *", + "canonical": "Nsegment *" + }, + "params": [ + { + "name": "rid", + "cType": "int64", + "canonical": "long" + }, + { + "name": "pos1", + "cType": "double", + "canonical": "double" + }, + { + "name": "pos2", + "cType": "double", + "canonical": "double" + } + ] + }, + { + "name": "geompoint_to_npoint", + "file": "meos_npoint.h", + "returnType": { + "c": "Npoint *", + "canonical": "Npoint *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "geom_to_nsegment", + "file": "meos_npoint.h", + "returnType": { + "c": "Nsegment *", + "canonical": "Nsegment *" + }, + "params": [ + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "npoint_to_geompoint", + "file": "meos_npoint.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "npoint_to_nsegment", + "file": "meos_npoint.h", + "returnType": { + "c": "Nsegment *", + "canonical": "Nsegment *" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "npoint_to_stbox", + "file": "meos_npoint.h", + "returnType": { + "c": "STBox *", + "canonical": "STBox *" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "nsegment_to_geom", + "file": "meos_npoint.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "ns", + "cType": "const Nsegment *", + "canonical": "const Nsegment *" + } + ] + }, + { + "name": "nsegment_to_stbox", + "file": "meos_npoint.h", + "returnType": { + "c": "STBox *", + "canonical": "STBox *" + }, + "params": [ + { + "name": "np", + "cType": "const Nsegment *", + "canonical": "const Nsegment *" + } + ] + }, + { + "name": "npoint_hash", + "file": "meos_npoint.h", + "returnType": { + "c": "uint32", + "canonical": "unsigned int" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "npoint_hash_extended", + "file": "meos_npoint.h", + "returnType": { + "c": "uint64", + "canonical": "unsigned long" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + }, + { + "name": "seed", + "cType": "uint64", + "canonical": "unsigned long" + } + ] + }, + { + "name": "npoint_position", + "file": "meos_npoint.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "npoint_route", + "file": "meos_npoint.h", + "returnType": { + "c": "int64", + "canonical": "long" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "nsegment_end_position", + "file": "meos_npoint.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "ns", + "cType": "const Nsegment *", + "canonical": "const Nsegment *" + } + ] + }, + { + "name": "nsegment_route", + "file": "meos_npoint.h", + "returnType": { + "c": "int64", + "canonical": "long" + }, + "params": [ + { + "name": "ns", + "cType": "const Nsegment *", + "canonical": "const Nsegment *" + } + ] + }, + { + "name": "nsegment_start_position", + "file": "meos_npoint.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "ns", + "cType": "const Nsegment *", + "canonical": "const Nsegment *" + } + ] + }, + { + "name": "route_exists", + "file": "meos_npoint.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "rid", + "cType": "int64", + "canonical": "long" + } + ] + }, + { + "name": "route_geom", + "file": "meos_npoint.h", + "returnType": { + "c": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + }, + "params": [ + { + "name": "rid", + "cType": "int64", + "canonical": "long" + } + ] + }, + { + "name": "route_length", + "file": "meos_npoint.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "rid", + "cType": "int64", + "canonical": "long" + } + ] + }, + { + "name": "npoint_round", + "file": "meos_npoint.h", + "returnType": { + "c": "Npoint *", + "canonical": "Npoint *" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "nsegment_round", + "file": "meos_npoint.h", + "returnType": { + "c": "Nsegment *", + "canonical": "Nsegment *" + }, + "params": [ + { + "name": "ns", + "cType": "const Nsegment *", + "canonical": "const Nsegment *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "get_srid_ways", + "file": "meos_npoint.h", + "returnType": { + "c": "int32_t", + "canonical": "int" + }, + "params": [] + }, + { + "name": "npoint_srid", + "file": "meos_npoint.h", + "returnType": { + "c": "int32_t", + "canonical": "int" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "nsegment_srid", + "file": "meos_npoint.h", + "returnType": { + "c": "int32_t", + "canonical": "int" + }, + "params": [ + { + "name": "ns", + "cType": "const Nsegment *", + "canonical": "const Nsegment *" + } + ] + }, + { + "name": "npoint_timestamptz_to_stbox", + "file": "meos_npoint.h", + "returnType": { + "c": "STBox *", + "canonical": "STBox *" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "npoint_tstzspan_to_stbox", + "file": "meos_npoint.h", + "returnType": { + "c": "STBox *", + "canonical": "STBox *" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + }, + { + "name": "s", + "cType": "const Span *", + "canonical": "const Span *" + } + ] + }, + { + "name": "npoint_cmp", + "file": "meos_npoint.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "np1", + "cType": "const Npoint *", + "canonical": "const Npoint *" + }, + { + "name": "np2", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "npoint_eq", + "file": "meos_npoint.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "np1", + "cType": "const Npoint *", + "canonical": "const Npoint *" + }, + { + "name": "np2", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "npoint_ge", + "file": "meos_npoint.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "np1", + "cType": "const Npoint *", + "canonical": "const Npoint *" + }, + { + "name": "np2", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "npoint_gt", + "file": "meos_npoint.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "np1", + "cType": "const Npoint *", + "canonical": "const Npoint *" + }, + { + "name": "np2", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "npoint_le", + "file": "meos_npoint.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "np1", + "cType": "const Npoint *", + "canonical": "const Npoint *" + }, + { + "name": "np2", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "npoint_lt", + "file": "meos_npoint.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "np1", + "cType": "const Npoint *", + "canonical": "const Npoint *" + }, + { + "name": "np2", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "npoint_ne", + "file": "meos_npoint.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "np1", + "cType": "const Npoint *", + "canonical": "const Npoint *" + }, + { + "name": "np2", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "npoint_same", + "file": "meos_npoint.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "np1", + "cType": "const Npoint *", + "canonical": "const Npoint *" + }, + { + "name": "np2", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "nsegment_cmp", + "file": "meos_npoint.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "ns1", + "cType": "const Nsegment *", + "canonical": "const Nsegment *" + }, + { + "name": "ns2", + "cType": "const Nsegment *", + "canonical": "const Nsegment *" + } + ] + }, + { + "name": "nsegment_eq", + "file": "meos_npoint.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ns1", + "cType": "const Nsegment *", + "canonical": "const Nsegment *" + }, + { + "name": "ns2", + "cType": "const Nsegment *", + "canonical": "const Nsegment *" + } + ] + }, + { + "name": "nsegment_ge", + "file": "meos_npoint.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ns1", + "cType": "const Nsegment *", + "canonical": "const Nsegment *" + }, + { + "name": "ns2", + "cType": "const Nsegment *", + "canonical": "const Nsegment *" + } + ] + }, + { + "name": "nsegment_gt", + "file": "meos_npoint.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ns1", + "cType": "const Nsegment *", + "canonical": "const Nsegment *" + }, + { + "name": "ns2", + "cType": "const Nsegment *", + "canonical": "const Nsegment *" + } + ] + }, + { + "name": "nsegment_le", + "file": "meos_npoint.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ns1", + "cType": "const Nsegment *", + "canonical": "const Nsegment *" + }, + { + "name": "ns2", + "cType": "const Nsegment *", + "canonical": "const Nsegment *" + } + ] + }, + { + "name": "nsegment_lt", + "file": "meos_npoint.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ns1", + "cType": "const Nsegment *", + "canonical": "const Nsegment *" + }, + { + "name": "ns2", + "cType": "const Nsegment *", + "canonical": "const Nsegment *" + } + ] + }, + { + "name": "nsegment_ne", + "file": "meos_npoint.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "ns1", + "cType": "const Nsegment *", + "canonical": "const Nsegment *" + }, + { + "name": "ns2", + "cType": "const Nsegment *", + "canonical": "const Nsegment *" + } + ] + }, + { + "name": "npointset_in", + "file": "meos_npoint.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "npointset_out", + "file": "meos_npoint.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "npointset_make", + "file": "meos_npoint.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "values", + "cType": "Npoint **", + "canonical": "Npoint **" + }, + { + "name": "count", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "npoint_to_set", + "file": "meos_npoint.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "npointset_end_value", + "file": "meos_npoint.h", + "returnType": { + "c": "Npoint *", + "canonical": "Npoint *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "npointset_routes", + "file": "meos_npoint.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "npointset_start_value", + "file": "meos_npoint.h", + "returnType": { + "c": "Npoint *", + "canonical": "Npoint *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "npointset_value_n", + "file": "meos_npoint.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "n", + "cType": "int", + "canonical": "int" + }, + { + "name": "result", + "cType": "Npoint **", + "canonical": "Npoint **" + } + ] + }, + { + "name": "npointset_values", + "file": "meos_npoint.h", + "returnType": { + "c": "Npoint **", + "canonical": "Npoint **" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "contained_npoint_set", + "file": "meos_npoint.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "contains_set_npoint", + "file": "meos_npoint.h", + "returnType": { + "c": "bool", + "canonical": "bool" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "intersection_npoint_set", + "file": "meos_npoint.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "intersection_set_npoint", + "file": "meos_npoint.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "minus_npoint_set", + "file": "meos_npoint.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "minus_set_npoint", + "file": "meos_npoint.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "npoint_union_transfn", + "file": "meos_npoint.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "state", + "cType": "Set *", + "canonical": "Set *" + }, + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "union_npoint_set", + "file": "meos_npoint.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "union_set_npoint", + "file": "meos_npoint.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + }, + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "tnpoint_in", + "file": "meos_npoint.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "str", + "cType": "const char *", + "canonical": "const char *" + } + ] + }, + { + "name": "tnpoint_out", + "file": "meos_npoint.h", + "returnType": { + "c": "char *", + "canonical": "char *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "maxdd", + "cType": "int", + "canonical": "int" + } + ] + }, + { + "name": "tnpointinst_make", + "file": "meos_npoint.h", + "returnType": { + "c": "TInstant *", + "canonical": "TInstant *" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + }, + { + "name": "t", + "cType": "TimestampTz", + "canonical": "long" + } + ] + }, + { + "name": "tgeompoint_to_tnpoint", + "file": "meos_npoint.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tnpoint_to_tgeompoint", + "file": "meos_npoint.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tnpoint_cumulative_length", + "file": "meos_npoint.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tnpoint_length", + "file": "meos_npoint.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tnpoint_positions", + "file": "meos_npoint.h", + "returnType": { + "c": "Nsegment **", + "canonical": "Nsegment **" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "count", + "cType": "int *", + "canonical": "int *" + } + ] + }, + { + "name": "tnpoint_route", + "file": "meos_npoint.h", + "returnType": { + "c": "int64", + "canonical": "long" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tnpoint_routes", + "file": "meos_npoint.h", + "returnType": { + "c": "Set *", + "canonical": "Set *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tnpoint_speed", + "file": "meos_npoint.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tnpoint_trajectory", + "file": "meos_npoint.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tnpoint_twcentroid", + "file": "meos_npoint.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tnpoint_at_geom", + "file": "meos_npoint.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "tnpoint_at_npoint", + "file": "meos_npoint.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "tnpoint_at_npointset", + "file": "meos_npoint.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "tnpoint_at_stbox", + "file": "meos_npoint.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "border_inc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tnpoint_minus_geom", + "file": "meos_npoint.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "tnpoint_minus_npoint", + "file": "meos_npoint.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "tnpoint_minus_npointset", + "file": "meos_npoint.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "s", + "cType": "const Set *", + "canonical": "const Set *" + } + ] + }, + { + "name": "tnpoint_minus_stbox", + "file": "meos_npoint.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + }, + { + "name": "border_inc", + "cType": "bool", + "canonical": "bool" + } + ] + }, + { + "name": "tdistance_tnpoint_npoint", + "file": "meos_npoint.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "tdistance_tnpoint_point", + "file": "meos_npoint.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "tdistance_tnpoint_tnpoint", + "file": "meos_npoint.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "nad_tnpoint_geo", + "file": "meos_npoint.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "nad_tnpoint_npoint", + "file": "meos_npoint.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "nad_tnpoint_stbox", + "file": "meos_npoint.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "box", + "cType": "const STBox *", + "canonical": "const STBox *" + } + ] + }, + { + "name": "nad_tnpoint_tnpoint", + "file": "meos_npoint.h", + "returnType": { + "c": "double", + "canonical": "double" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "nai_tnpoint_geo", + "file": "meos_npoint.h", + "returnType": { + "c": "TInstant *", + "canonical": "TInstant *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "nai_tnpoint_npoint", + "file": "meos_npoint.h", + "returnType": { + "c": "TInstant *", + "canonical": "TInstant *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "nai_tnpoint_tnpoint", + "file": "meos_npoint.h", + "returnType": { + "c": "TInstant *", + "canonical": "TInstant *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "shortestline_tnpoint_geo", + "file": "meos_npoint.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "gs", + "cType": "const GSERIALIZED *", + "canonical": "const GSERIALIZED *" + } + ] + }, + { + "name": "shortestline_tnpoint_npoint", + "file": "meos_npoint.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "shortestline_tnpoint_tnpoint", + "file": "meos_npoint.h", + "returnType": { + "c": "GSERIALIZED *", + "canonical": "GSERIALIZED *" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "tnpoint_tcentroid_transfn", + "file": "meos_npoint.h", + "returnType": { + "c": "SkipList *", + "canonical": "struct SkipList *" + }, + "params": [ + { + "name": "state", + "cType": "SkipList *", + "canonical": "struct SkipList *" + }, + { + "name": "temp", + "cType": "Temporal *", + "canonical": "Temporal *" + } + ] + }, + { + "name": "always_eq_npoint_tnpoint", + "file": "meos_npoint.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_eq_tnpoint_npoint", + "file": "meos_npoint.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "always_eq_tnpoint_tnpoint", + "file": "meos_npoint.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_ne_npoint_tnpoint", + "file": "meos_npoint.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "always_ne_tnpoint_npoint", + "file": "meos_npoint.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "always_ne_tnpoint_tnpoint", + "file": "meos_npoint.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_eq_npoint_tnpoint", + "file": "meos_npoint.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_eq_tnpoint_npoint", + "file": "meos_npoint.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "ever_eq_tnpoint_tnpoint", + "file": "meos_npoint.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_ne_npoint_tnpoint", + "file": "meos_npoint.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + }, + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "ever_ne_tnpoint_npoint", + "file": "meos_npoint.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "ever_ne_tnpoint_tnpoint", + "file": "meos_npoint.h", + "returnType": { + "c": "int", + "canonical": "int" + }, + "params": [ + { + "name": "temp1", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "temp2", + "cType": "const Temporal *", + "canonical": "const Temporal *" + } + ] + }, + { + "name": "teq_tnpoint_npoint", + "file": "meos_npoint.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + }, + { + "name": "tne_tnpoint_npoint", + "file": "meos_npoint.h", + "returnType": { + "c": "Temporal *", + "canonical": "Temporal *" + }, + "params": [ + { + "name": "temp", + "cType": "const Temporal *", + "canonical": "const Temporal *" + }, + { + "name": "np", + "cType": "const Npoint *", + "canonical": "const Npoint *" + } + ] + } + ], + "structs": [ + { + "name": "Interval", + "file": "meos.h", + "fields": [ + { + "name": "time", + "cType": "TimeOffset", + "offset_bits": 0 + }, + { + "name": "day", + "cType": "int32", + "offset_bits": 64 + }, + { + "name": "month", + "cType": "int32", + "offset_bits": 96 + } + ] + }, + { + "name": "varlena", + "file": "meos.h", + "fields": [ + { + "name": "vl_len_", + "cType": "char[4]", + "offset_bits": 0 + }, + { + "name": "vl_dat", + "cType": "char[]", + "offset_bits": 32 + } + ] + }, + { + "name": "Set", + "file": "meos.h", + "fields": [ + { + "name": "vl_len_", + "cType": "int32", + "offset_bits": 0 + }, + { + "name": "settype", + "cType": "uint8", + "offset_bits": 32 + }, + { + "name": "basetype", + "cType": "uint8", + "offset_bits": 40 + }, + { + "name": "flags", + "cType": "int16", + "offset_bits": 48 + }, + { + "name": "count", + "cType": "int32", + "offset_bits": 64 + }, + { + "name": "maxcount", + "cType": "int32", + "offset_bits": 96 + }, + { + "name": "bboxsize", + "cType": "int16", + "offset_bits": 128 + } + ] + }, + { + "name": "Span", + "file": "meos.h", + "fields": [ + { + "name": "spantype", + "cType": "uint8", + "offset_bits": 0 + }, + { + "name": "basetype", + "cType": "uint8", + "offset_bits": 8 + }, + { + "name": "lower_inc", + "cType": "_Bool", + "offset_bits": 16 + }, + { + "name": "upper_inc", + "cType": "_Bool", + "offset_bits": 24 + }, + { + "name": "padding", + "cType": "char[4]", + "offset_bits": 32 + }, + { + "name": "lower", + "cType": "Datum", + "offset_bits": 64 + }, + { + "name": "upper", + "cType": "Datum", + "offset_bits": 128 + } + ] + }, + { + "name": "SpanSet", + "file": "meos.h", + "fields": [ + { + "name": "vl_len_", + "cType": "int32", + "offset_bits": 0 + }, + { + "name": "spansettype", + "cType": "uint8", + "offset_bits": 32 + }, + { + "name": "spantype", + "cType": "uint8", + "offset_bits": 40 + }, + { + "name": "basetype", + "cType": "uint8", + "offset_bits": 48 + }, + { + "name": "padding", + "cType": "char", + "offset_bits": 56 + }, + { + "name": "count", + "cType": "int32", + "offset_bits": 64 + }, + { + "name": "maxcount", + "cType": "int32", + "offset_bits": 96 + }, + { + "name": "span", + "cType": "Span", + "offset_bits": 128 + }, + { + "name": "elems", + "cType": "Span[1]", + "offset_bits": 320 + } + ] + }, + { + "name": "TBox", + "file": "meos.h", + "fields": [ + { + "name": "period", + "cType": "Span", + "offset_bits": 0 + }, + { + "name": "span", + "cType": "Span", + "offset_bits": 192 + }, + { + "name": "flags", + "cType": "int16", + "offset_bits": 384 + } + ] + }, + { + "name": "STBox", + "file": "meos.h", + "fields": [ + { + "name": "period", + "cType": "Span", + "offset_bits": 0 + }, + { + "name": "xmin", + "cType": "double", + "offset_bits": 192 + }, + { + "name": "ymin", + "cType": "double", + "offset_bits": 256 + }, + { + "name": "zmin", + "cType": "double", + "offset_bits": 320 + }, + { + "name": "xmax", + "cType": "double", + "offset_bits": 384 + }, + { + "name": "ymax", + "cType": "double", + "offset_bits": 448 + }, + { + "name": "zmax", + "cType": "double", + "offset_bits": 512 + }, + { + "name": "srid", + "cType": "int32_t", + "offset_bits": 576 + }, + { + "name": "flags", + "cType": "int16", + "offset_bits": 608 + } + ] + }, + { + "name": "Temporal", + "file": "meos.h", + "fields": [ + { + "name": "vl_len_", + "cType": "int32", + "offset_bits": 0 + }, + { + "name": "temptype", + "cType": "uint8", + "offset_bits": 32 + }, + { + "name": "subtype", + "cType": "uint8", + "offset_bits": 40 + }, + { + "name": "flags", + "cType": "int16", + "offset_bits": 48 + } + ] + }, + { + "name": "TInstant", + "file": "meos.h", + "fields": [ + { + "name": "vl_len_", + "cType": "int32", + "offset_bits": 0 + }, + { + "name": "temptype", + "cType": "uint8", + "offset_bits": 32 + }, + { + "name": "subtype", + "cType": "uint8", + "offset_bits": 40 + }, + { + "name": "flags", + "cType": "int16", + "offset_bits": 48 + }, + { + "name": "t", + "cType": "TimestampTz", + "offset_bits": 64 + }, + { + "name": "value", + "cType": "Datum", + "offset_bits": 128 + } + ], + "meosType": "TPointInst" + }, + { + "name": "TSequence", + "file": "meos.h", + "fields": [ + { + "name": "vl_len_", + "cType": "int32", + "offset_bits": 0 + }, + { + "name": "temptype", + "cType": "uint8", + "offset_bits": 32 + }, + { + "name": "subtype", + "cType": "uint8", + "offset_bits": 40 + }, + { + "name": "flags", + "cType": "int16", + "offset_bits": 48 + }, + { + "name": "count", + "cType": "int32", + "offset_bits": 64 + }, + { + "name": "maxcount", + "cType": "int32", + "offset_bits": 96 + }, + { + "name": "bboxsize", + "cType": "int16", + "offset_bits": 128 + }, + { + "name": "padding", + "cType": "char[6]", + "offset_bits": 144 + }, + { + "name": "period", + "cType": "Span", + "offset_bits": 192 + } + ], + "meosType": "TPointSeq" + }, + { + "name": "TSequenceSet", + "file": "meos.h", + "fields": [ + { + "name": "vl_len_", + "cType": "int32", + "offset_bits": 0 + }, + { + "name": "temptype", + "cType": "uint8", + "offset_bits": 32 + }, + { + "name": "subtype", + "cType": "uint8", + "offset_bits": 40 + }, + { + "name": "flags", + "cType": "int16", + "offset_bits": 48 + }, + { + "name": "count", + "cType": "int32", + "offset_bits": 64 + }, + { + "name": "totalcount", + "cType": "int32", + "offset_bits": 96 + }, + { + "name": "maxcount", + "cType": "int32", + "offset_bits": 128 + }, + { + "name": "bboxsize", + "cType": "int16", + "offset_bits": 160 + }, + { + "name": "padding", + "cType": "int16", + "offset_bits": 176 + }, + { + "name": "period", + "cType": "Span", + "offset_bits": 192 + } + ] + }, + { + "name": "Match", + "file": "meos.h", + "fields": [ + { + "name": "i", + "cType": "int", + "offset_bits": 0 + }, + { + "name": "j", + "cType": "int", + "offset_bits": 32 + } + ] + }, + { + "name": "SkipList", + "file": "meos.h", + "fields": [] + }, + { + "name": "RTree", + "file": "meos.h", + "fields": [] + }, + { + "name": "temptype_catalog_struct", + "file": "meos_catalog.h", + "fields": [ + { + "name": "temptype", + "cType": "meosType", + "offset_bits": 0 + }, + { + "name": "basetype", + "cType": "meosType", + "offset_bits": 32 + } + ] + }, + { + "name": "settype_catalog_struct", + "file": "meos_catalog.h", + "fields": [ + { + "name": "settype", + "cType": "meosType", + "offset_bits": 0 + }, + { + "name": "basetype", + "cType": "meosType", + "offset_bits": 32 + } + ] + }, + { + "name": "spantype_catalog_struct", + "file": "meos_catalog.h", + "fields": [ + { + "name": "spantype", + "cType": "meosType", + "offset_bits": 0 + }, + { + "name": "basetype", + "cType": "meosType", + "offset_bits": 32 + } + ] + }, + { + "name": "spansettype_catalog_struct", + "file": "meos_catalog.h", + "fields": [ + { + "name": "spansettype", + "cType": "meosType", + "offset_bits": 0 + }, + { + "name": "spantype", + "cType": "meosType", + "offset_bits": 32 + } + ] + }, + { + "name": "AFFINE", + "file": "meos_geo.h", + "fields": [ + { + "name": "afac", + "cType": "double", + "offset_bits": 0 + }, + { + "name": "bfac", + "cType": "double", + "offset_bits": 64 + }, + { + "name": "cfac", + "cType": "double", + "offset_bits": 128 + }, + { + "name": "dfac", + "cType": "double", + "offset_bits": 192 + }, + { + "name": "efac", + "cType": "double", + "offset_bits": 256 + }, + { + "name": "ffac", + "cType": "double", + "offset_bits": 320 + }, + { + "name": "gfac", + "cType": "double", + "offset_bits": 384 + }, + { + "name": "hfac", + "cType": "double", + "offset_bits": 448 + }, + { + "name": "ifac", + "cType": "double", + "offset_bits": 512 + }, + { + "name": "xoff", + "cType": "double", + "offset_bits": 576 + }, + { + "name": "yoff", + "cType": "double", + "offset_bits": 640 + }, + { + "name": "zoff", + "cType": "double", + "offset_bits": 704 + } + ] + }, + { + "name": "BOX3D", + "file": "meos_geo.h", + "fields": [ + { + "name": "xmin", + "cType": "double", + "offset_bits": 0 + }, + { + "name": "ymin", + "cType": "double", + "offset_bits": 64 + }, + { + "name": "zmin", + "cType": "double", + "offset_bits": 128 + }, + { + "name": "xmax", + "cType": "double", + "offset_bits": 192 + }, + { + "name": "ymax", + "cType": "double", + "offset_bits": 256 + }, + { + "name": "zmax", + "cType": "double", + "offset_bits": 320 + }, + { + "name": "srid", + "cType": "int32_t", + "offset_bits": 384 + } + ] + }, + { + "name": "GBOX", + "file": "meos_geo.h", + "fields": [ + { + "name": "flags", + "cType": "lwflags_t", + "offset_bits": 0 + }, + { + "name": "xmin", + "cType": "double", + "offset_bits": 64 + }, + { + "name": "xmax", + "cType": "double", + "offset_bits": 128 + }, + { + "name": "ymin", + "cType": "double", + "offset_bits": 192 + }, + { + "name": "ymax", + "cType": "double", + "offset_bits": 256 + }, + { + "name": "zmin", + "cType": "double", + "offset_bits": 320 + }, + { + "name": "zmax", + "cType": "double", + "offset_bits": 384 + }, + { + "name": "mmin", + "cType": "double", + "offset_bits": 448 + }, + { + "name": "mmax", + "cType": "double", + "offset_bits": 512 + } + ] + }, + { + "name": "SPHEROID", + "file": "meos_geo.h", + "fields": [ + { + "name": "a", + "cType": "double", + "offset_bits": 0 + }, + { + "name": "b", + "cType": "double", + "offset_bits": 64 + }, + { + "name": "f", + "cType": "double", + "offset_bits": 128 + }, + { + "name": "e", + "cType": "double", + "offset_bits": 192 + }, + { + "name": "e_sq", + "cType": "double", + "offset_bits": 256 + }, + { + "name": "radius", + "cType": "double", + "offset_bits": 320 + }, + { + "name": "name", + "cType": "char[20]", + "offset_bits": 384 + } + ] + }, + { + "name": "POINT2D", + "file": "meos_geo.h", + "fields": [ + { + "name": "x", + "cType": "double", + "offset_bits": 0 + }, + { + "name": "y", + "cType": "double", + "offset_bits": 64 + } + ] + }, + { + "name": "POINT3DZ", + "file": "meos_geo.h", + "fields": [ + { + "name": "x", + "cType": "double", + "offset_bits": 0 + }, + { + "name": "y", + "cType": "double", + "offset_bits": 64 + }, + { + "name": "z", + "cType": "double", + "offset_bits": 128 + } + ] + }, + { + "name": "POINT3D", + "file": "meos_geo.h", + "fields": [ + { + "name": "x", + "cType": "double", + "offset_bits": 0 + }, + { + "name": "y", + "cType": "double", + "offset_bits": 64 + }, + { + "name": "z", + "cType": "double", + "offset_bits": 128 + } + ] + }, + { + "name": "POINT3DM", + "file": "meos_geo.h", + "fields": [ + { + "name": "x", + "cType": "double", + "offset_bits": 0 + }, + { + "name": "y", + "cType": "double", + "offset_bits": 64 + }, + { + "name": "m", + "cType": "double", + "offset_bits": 128 + } + ] + }, + { + "name": "POINT4D", + "file": "meos_geo.h", + "fields": [ + { + "name": "x", + "cType": "double", + "offset_bits": 0 + }, + { + "name": "y", + "cType": "double", + "offset_bits": 64 + }, + { + "name": "z", + "cType": "double", + "offset_bits": 128 + }, + { + "name": "m", + "cType": "double", + "offset_bits": 192 + } + ] + }, + { + "name": "POINTARRAY", + "file": "meos_geo.h", + "fields": [ + { + "name": "npoints", + "cType": "uint32_t", + "offset_bits": 0 + }, + { + "name": "maxpoints", + "cType": "uint32_t", + "offset_bits": 32 + }, + { + "name": "flags", + "cType": "lwflags_t", + "offset_bits": 64 + }, + { + "name": "serialized_pointlist", + "cType": "uint8_t *", + "offset_bits": 128 + } + ] + }, + { + "name": "GSERIALIZED", + "file": "meos_geo.h", + "fields": [ + { + "name": "size", + "cType": "uint32_t", + "offset_bits": 0 + }, + { + "name": "srid", + "cType": "uint8_t[3]", + "offset_bits": 32 + }, + { + "name": "gflags", + "cType": "uint8_t", + "offset_bits": 56 + }, + { + "name": "data", + "cType": "uint8_t[1]", + "offset_bits": 64 + } + ] + }, + { + "name": "LWGEOM", + "file": "meos_geo.h", + "fields": [ + { + "name": "bbox", + "cType": "GBOX *", + "offset_bits": 0 + }, + { + "name": "data", + "cType": "void *", + "offset_bits": 64 + }, + { + "name": "srid", + "cType": "int32_t", + "offset_bits": 128 + }, + { + "name": "flags", + "cType": "lwflags_t", + "offset_bits": 160 + }, + { + "name": "type", + "cType": "uint8_t", + "offset_bits": 176 + }, + { + "name": "pad", + "cType": "char[1]", + "offset_bits": 184 + } + ] + }, + { + "name": "LWPOINT", + "file": "meos_geo.h", + "fields": [ + { + "name": "bbox", + "cType": "GBOX *", + "offset_bits": 0 + }, + { + "name": "point", + "cType": "POINTARRAY *", + "offset_bits": 64 + }, + { + "name": "srid", + "cType": "int32_t", + "offset_bits": 128 + }, + { + "name": "flags", + "cType": "lwflags_t", + "offset_bits": 160 + }, + { + "name": "type", + "cType": "uint8_t", + "offset_bits": 176 + }, + { + "name": "pad", + "cType": "char[1]", + "offset_bits": 184 + } + ] + }, + { + "name": "LWLINE", + "file": "meos_geo.h", + "fields": [ + { + "name": "bbox", + "cType": "GBOX *", + "offset_bits": 0 + }, + { + "name": "points", + "cType": "POINTARRAY *", + "offset_bits": 64 + }, + { + "name": "srid", + "cType": "int32_t", + "offset_bits": 128 + }, + { + "name": "flags", + "cType": "lwflags_t", + "offset_bits": 160 + }, + { + "name": "type", + "cType": "uint8_t", + "offset_bits": 176 + }, + { + "name": "pad", + "cType": "char[1]", + "offset_bits": 184 + } + ] + }, + { + "name": "LWTRIANGLE", + "file": "meos_geo.h", + "fields": [ + { + "name": "bbox", + "cType": "GBOX *", + "offset_bits": 0 + }, + { + "name": "points", + "cType": "POINTARRAY *", + "offset_bits": 64 + }, + { + "name": "srid", + "cType": "int32_t", + "offset_bits": 128 + }, + { + "name": "flags", + "cType": "lwflags_t", + "offset_bits": 160 + }, + { + "name": "type", + "cType": "uint8_t", + "offset_bits": 176 + }, + { + "name": "pad", + "cType": "char[1]", + "offset_bits": 184 + } + ] + }, + { + "name": "LWCIRCSTRING", + "file": "meos_geo.h", + "fields": [ + { + "name": "bbox", + "cType": "GBOX *", + "offset_bits": 0 + }, + { + "name": "points", + "cType": "POINTARRAY *", + "offset_bits": 64 + }, + { + "name": "srid", + "cType": "int32_t", + "offset_bits": 128 + }, + { + "name": "flags", + "cType": "lwflags_t", + "offset_bits": 160 + }, + { + "name": "type", + "cType": "uint8_t", + "offset_bits": 176 + }, + { + "name": "pad", + "cType": "char[1]", + "offset_bits": 184 + } + ] + }, + { + "name": "LWPOLY", + "file": "meos_geo.h", + "fields": [ + { + "name": "bbox", + "cType": "GBOX *", + "offset_bits": 0 + }, + { + "name": "rings", + "cType": "POINTARRAY **", + "offset_bits": 64 + }, + { + "name": "srid", + "cType": "int32_t", + "offset_bits": 128 + }, + { + "name": "flags", + "cType": "lwflags_t", + "offset_bits": 160 + }, + { + "name": "type", + "cType": "uint8_t", + "offset_bits": 176 + }, + { + "name": "pad", + "cType": "char[1]", + "offset_bits": 184 + }, + { + "name": "nrings", + "cType": "uint32_t", + "offset_bits": 192 + }, + { + "name": "maxrings", + "cType": "uint32_t", + "offset_bits": 224 + } + ] + }, + { + "name": "LWMPOINT", + "file": "meos_geo.h", + "fields": [ + { + "name": "bbox", + "cType": "GBOX *", + "offset_bits": 0 + }, + { + "name": "geoms", + "cType": "LWPOINT **", + "offset_bits": 64 + }, + { + "name": "srid", + "cType": "int32_t", + "offset_bits": 128 + }, + { + "name": "flags", + "cType": "lwflags_t", + "offset_bits": 160 + }, + { + "name": "type", + "cType": "uint8_t", + "offset_bits": 176 + }, + { + "name": "pad", + "cType": "char[1]", + "offset_bits": 184 + }, + { + "name": "ngeoms", + "cType": "uint32_t", + "offset_bits": 192 + }, + { + "name": "maxgeoms", + "cType": "uint32_t", + "offset_bits": 224 + } + ] + }, + { + "name": "LWMLINE", + "file": "meos_geo.h", + "fields": [ + { + "name": "bbox", + "cType": "GBOX *", + "offset_bits": 0 + }, + { + "name": "geoms", + "cType": "LWLINE **", + "offset_bits": 64 + }, + { + "name": "srid", + "cType": "int32_t", + "offset_bits": 128 + }, + { + "name": "flags", + "cType": "lwflags_t", + "offset_bits": 160 + }, + { + "name": "type", + "cType": "uint8_t", + "offset_bits": 176 + }, + { + "name": "pad", + "cType": "char[1]", + "offset_bits": 184 + }, + { + "name": "ngeoms", + "cType": "uint32_t", + "offset_bits": 192 + }, + { + "name": "maxgeoms", + "cType": "uint32_t", + "offset_bits": 224 + } + ] + }, + { + "name": "LWMPOLY", + "file": "meos_geo.h", + "fields": [ + { + "name": "bbox", + "cType": "GBOX *", + "offset_bits": 0 + }, + { + "name": "geoms", + "cType": "LWPOLY **", + "offset_bits": 64 + }, + { + "name": "srid", + "cType": "int32_t", + "offset_bits": 128 + }, + { + "name": "flags", + "cType": "lwflags_t", + "offset_bits": 160 + }, + { + "name": "type", + "cType": "uint8_t", + "offset_bits": 176 + }, + { + "name": "pad", + "cType": "char[1]", + "offset_bits": 184 + }, + { + "name": "ngeoms", + "cType": "uint32_t", + "offset_bits": 192 + }, + { + "name": "maxgeoms", + "cType": "uint32_t", + "offset_bits": 224 + } + ] + }, + { + "name": "LWCOLLECTION", + "file": "meos_geo.h", + "fields": [ + { + "name": "bbox", + "cType": "GBOX *", + "offset_bits": 0 + }, + { + "name": "geoms", + "cType": "LWGEOM **", + "offset_bits": 64 + }, + { + "name": "srid", + "cType": "int32_t", + "offset_bits": 128 + }, + { + "name": "flags", + "cType": "lwflags_t", + "offset_bits": 160 + }, + { + "name": "type", + "cType": "uint8_t", + "offset_bits": 176 + }, + { + "name": "pad", + "cType": "char[1]", + "offset_bits": 184 + }, + { + "name": "ngeoms", + "cType": "uint32_t", + "offset_bits": 192 + }, + { + "name": "maxgeoms", + "cType": "uint32_t", + "offset_bits": 224 + } + ] + }, + { + "name": "LWCOMPOUND", + "file": "meos_geo.h", + "fields": [ + { + "name": "bbox", + "cType": "GBOX *", + "offset_bits": 0 + }, + { + "name": "geoms", + "cType": "LWGEOM **", + "offset_bits": 64 + }, + { + "name": "srid", + "cType": "int32_t", + "offset_bits": 128 + }, + { + "name": "flags", + "cType": "lwflags_t", + "offset_bits": 160 + }, + { + "name": "type", + "cType": "uint8_t", + "offset_bits": 176 + }, + { + "name": "pad", + "cType": "char[1]", + "offset_bits": 184 + }, + { + "name": "ngeoms", + "cType": "uint32_t", + "offset_bits": 192 + }, + { + "name": "maxgeoms", + "cType": "uint32_t", + "offset_bits": 224 + } + ] + }, + { + "name": "LWCURVEPOLY", + "file": "meos_geo.h", + "fields": [ + { + "name": "bbox", + "cType": "GBOX *", + "offset_bits": 0 + }, + { + "name": "rings", + "cType": "LWGEOM **", + "offset_bits": 64 + }, + { + "name": "srid", + "cType": "int32_t", + "offset_bits": 128 + }, + { + "name": "flags", + "cType": "lwflags_t", + "offset_bits": 160 + }, + { + "name": "type", + "cType": "uint8_t", + "offset_bits": 176 + }, + { + "name": "pad", + "cType": "char[1]", + "offset_bits": 184 + }, + { + "name": "nrings", + "cType": "uint32_t", + "offset_bits": 192 + }, + { + "name": "maxrings", + "cType": "uint32_t", + "offset_bits": 224 + } + ] + }, + { + "name": "LWMCURVE", + "file": "meos_geo.h", + "fields": [ + { + "name": "bbox", + "cType": "GBOX *", + "offset_bits": 0 + }, + { + "name": "geoms", + "cType": "LWGEOM **", + "offset_bits": 64 + }, + { + "name": "srid", + "cType": "int32_t", + "offset_bits": 128 + }, + { + "name": "flags", + "cType": "lwflags_t", + "offset_bits": 160 + }, + { + "name": "type", + "cType": "uint8_t", + "offset_bits": 176 + }, + { + "name": "pad", + "cType": "char[1]", + "offset_bits": 184 + }, + { + "name": "ngeoms", + "cType": "uint32_t", + "offset_bits": 192 + }, + { + "name": "maxgeoms", + "cType": "uint32_t", + "offset_bits": 224 + } + ] + }, + { + "name": "LWMSURFACE", + "file": "meos_geo.h", + "fields": [ + { + "name": "bbox", + "cType": "GBOX *", + "offset_bits": 0 + }, + { + "name": "geoms", + "cType": "LWGEOM **", + "offset_bits": 64 + }, + { + "name": "srid", + "cType": "int32_t", + "offset_bits": 128 + }, + { + "name": "flags", + "cType": "lwflags_t", + "offset_bits": 160 + }, + { + "name": "type", + "cType": "uint8_t", + "offset_bits": 176 + }, + { + "name": "pad", + "cType": "char[1]", + "offset_bits": 184 + }, + { + "name": "ngeoms", + "cType": "uint32_t", + "offset_bits": 192 + }, + { + "name": "maxgeoms", + "cType": "uint32_t", + "offset_bits": 224 + } + ] + }, + { + "name": "LWPSURFACE", + "file": "meos_geo.h", + "fields": [ + { + "name": "bbox", + "cType": "GBOX *", + "offset_bits": 0 + }, + { + "name": "geoms", + "cType": "LWPOLY **", + "offset_bits": 64 + }, + { + "name": "srid", + "cType": "int32_t", + "offset_bits": 128 + }, + { + "name": "flags", + "cType": "lwflags_t", + "offset_bits": 160 + }, + { + "name": "type", + "cType": "uint8_t", + "offset_bits": 176 + }, + { + "name": "pad", + "cType": "char[1]", + "offset_bits": 184 + }, + { + "name": "ngeoms", + "cType": "uint32_t", + "offset_bits": 192 + }, + { + "name": "maxgeoms", + "cType": "uint32_t", + "offset_bits": 224 + } + ] + }, + { + "name": "LWTIN", + "file": "meos_geo.h", + "fields": [ + { + "name": "bbox", + "cType": "GBOX *", + "offset_bits": 0 + }, + { + "name": "geoms", + "cType": "LWTRIANGLE **", + "offset_bits": 64 + }, + { + "name": "srid", + "cType": "int32_t", + "offset_bits": 128 + }, + { + "name": "flags", + "cType": "lwflags_t", + "offset_bits": 160 + }, + { + "name": "type", + "cType": "uint8_t", + "offset_bits": 176 + }, + { + "name": "pad", + "cType": "char[1]", + "offset_bits": 184 + }, + { + "name": "ngeoms", + "cType": "uint32_t", + "offset_bits": 192 + }, + { + "name": "maxgeoms", + "cType": "uint32_t", + "offset_bits": 224 + } + ] + }, + { + "name": "PJconsts", + "file": "meos_geo.h", + "fields": [] + }, + { + "name": "LWPROJ", + "file": "meos_geo.h", + "fields": [ + { + "name": "pj", + "cType": "PJ *", + "offset_bits": 0 + }, + { + "name": "pipeline_is_forward", + "cType": "_Bool", + "offset_bits": 64 + }, + { + "name": "source_is_latlong", + "cType": "uint8_t", + "offset_bits": 72 + }, + { + "name": "source_semi_major_metre", + "cType": "double", + "offset_bits": 128 + }, + { + "name": "source_semi_minor_metre", + "cType": "double", + "offset_bits": 192 + } + ] + }, + { + "name": "SkipListElem", + "file": "meos_internal.h", + "fields": [ + { + "name": "key", + "cType": "void *", + "offset_bits": 0 + }, + { + "name": "value", + "cType": "void *", + "offset_bits": 64 + }, + { + "name": "height", + "cType": "int", + "offset_bits": 128 + }, + { + "name": "next", + "cType": "int[32]", + "offset_bits": 160 + } + ] + }, + { + "name": "Npoint", + "file": "meos_npoint.h", + "fields": [ + { + "name": "rid", + "cType": "int64", + "offset_bits": 0 + }, + { + "name": "pos", + "cType": "double", + "offset_bits": 64 + } + ] + }, + { + "name": "Nsegment", + "file": "meos_npoint.h", + "fields": [ + { + "name": "rid", + "cType": "int64", + "offset_bits": 0 + }, + { + "name": "pos1", + "cType": "double", + "offset_bits": 64 + }, + { + "name": "pos2", + "cType": "double", + "offset_bits": 128 + } + ] + } + ], + "enums": [ + { + "name": "tempSubtype", + "file": "meos.h", + "values": [ + { + "name": "ANYTEMPSUBTYPE", + "value": 0 + }, + { + "name": "TINSTANT", + "value": 1 + }, + { + "name": "TSEQUENCE", + "value": 2 + }, + { + "name": "TSEQUENCESET", + "value": 3 + } + ] + }, + { + "name": "interpType", + "file": "meos.h", + "values": [ + { + "name": "INTERP_NONE", + "value": 0 + }, + { + "name": "DISCRETE", + "value": 1 + }, + { + "name": "STEP", + "value": 2 + }, + { + "name": "LINEAR", + "value": 3 + } + ] + }, + { + "name": "errorCode", + "file": "meos.h", + "values": [ + { + "name": "MEOS_SUCCESS", + "value": 0 + }, + { + "name": "MEOS_ERR_INTERNAL_ERROR", + "value": 1 + }, + { + "name": "MEOS_ERR_INTERNAL_TYPE_ERROR", + "value": 2 + }, + { + "name": "MEOS_ERR_VALUE_OUT_OF_RANGE", + "value": 3 + }, + { + "name": "MEOS_ERR_DIVISION_BY_ZERO", + "value": 4 + }, + { + "name": "MEOS_ERR_MEMORY_ALLOC_ERROR", + "value": 5 + }, + { + "name": "MEOS_ERR_AGGREGATION_ERROR", + "value": 6 + }, + { + "name": "MEOS_ERR_DIRECTORY_ERROR", + "value": 7 + }, + { + "name": "MEOS_ERR_FILE_ERROR", + "value": 8 + }, + { + "name": "MEOS_ERR_INVALID_ARG", + "value": 10 + }, + { + "name": "MEOS_ERR_INVALID_ARG_TYPE", + "value": 11 + }, + { + "name": "MEOS_ERR_INVALID_ARG_VALUE", + "value": 12 + }, + { + "name": "MEOS_ERR_FEATURE_NOT_SUPPORTED", + "value": 13 + }, + { + "name": "MEOS_ERR_MFJSON_INPUT", + "value": 20 + }, + { + "name": "MEOS_ERR_MFJSON_OUTPUT", + "value": 21 + }, + { + "name": "MEOS_ERR_TEXT_INPUT", + "value": 22 + }, + { + "name": "MEOS_ERR_TEXT_OUTPUT", + "value": 23 + }, + { + "name": "MEOS_ERR_WKB_INPUT", + "value": 24 + }, + { + "name": "MEOS_ERR_WKB_OUTPUT", + "value": 25 + }, + { + "name": "MEOS_ERR_GEOJSON_INPUT", + "value": 26 + }, + { + "name": "MEOS_ERR_GEOJSON_OUTPUT", + "value": 27 + } + ] + }, + { + "name": "meosType", + "file": "meos_catalog.h", + "values": [ + { + "name": "T_UNKNOWN", + "value": 0 + }, + { + "name": "T_BOOL", + "value": 1 + }, + { + "name": "T_DATE", + "value": 2 + }, + { + "name": "T_DATEMULTIRANGE", + "value": 3 + }, + { + "name": "T_DATERANGE", + "value": 4 + }, + { + "name": "T_DATESET", + "value": 5 + }, + { + "name": "T_DATESPAN", + "value": 6 + }, + { + "name": "T_DATESPANSET", + "value": 7 + }, + { + "name": "T_DOUBLE2", + "value": 8 + }, + { + "name": "T_DOUBLE3", + "value": 9 + }, + { + "name": "T_DOUBLE4", + "value": 10 + }, + { + "name": "T_FLOAT8", + "value": 11 + }, + { + "name": "T_FLOATSET", + "value": 12 + }, + { + "name": "T_FLOATSPAN", + "value": 13 + }, + { + "name": "T_FLOATSPANSET", + "value": 14 + }, + { + "name": "T_INT4", + "value": 15 + }, + { + "name": "T_INT4MULTIRANGE", + "value": 16 + }, + { + "name": "T_INT4RANGE", + "value": 17 + }, + { + "name": "T_INTSET", + "value": 18 + }, + { + "name": "T_INTSPAN", + "value": 19 + }, + { + "name": "T_INTSPANSET", + "value": 20 + }, + { + "name": "T_INT8", + "value": 21 + }, + { + "name": "T_INT8MULTIRANGE", + "value": 52 + }, + { + "name": "T_INT8RANGE", + "value": 53 + }, + { + "name": "T_BIGINTSET", + "value": 22 + }, + { + "name": "T_BIGINTSPAN", + "value": 23 + }, + { + "name": "T_BIGINTSPANSET", + "value": 24 + }, + { + "name": "T_STBOX", + "value": 25 + }, + { + "name": "T_TBOOL", + "value": 26 + }, + { + "name": "T_TBOX", + "value": 27 + }, + { + "name": "T_TDOUBLE2", + "value": 28 + }, + { + "name": "T_TDOUBLE3", + "value": 29 + }, + { + "name": "T_TDOUBLE4", + "value": 30 + }, + { + "name": "T_TEXT", + "value": 31 + }, + { + "name": "T_TEXTSET", + "value": 32 + }, + { + "name": "T_TFLOAT", + "value": 33 + }, + { + "name": "T_TIMESTAMPTZ", + "value": 34 + }, + { + "name": "T_TINT", + "value": 35 + }, + { + "name": "T_TSTZMULTIRANGE", + "value": 36 + }, + { + "name": "T_TSTZRANGE", + "value": 37 + }, + { + "name": "T_TSTZSET", + "value": 38 + }, + { + "name": "T_TSTZSPAN", + "value": 39 + }, + { + "name": "T_TSTZSPANSET", + "value": 40 + }, + { + "name": "T_TTEXT", + "value": 41 + }, + { + "name": "T_GEOMETRY", + "value": 42 + }, + { + "name": "T_GEOMSET", + "value": 43 + }, + { + "name": "T_GEOGRAPHY", + "value": 44 + }, + { + "name": "T_GEOGSET", + "value": 45 + }, + { + "name": "T_TGEOMPOINT", + "value": 46 + }, + { + "name": "T_TGEOGPOINT", + "value": 47 + }, + { + "name": "T_NPOINT", + "value": 48 + }, + { + "name": "T_NPOINTSET", + "value": 49 + }, + { + "name": "T_NSEGMENT", + "value": 50 + }, + { + "name": "T_TNPOINT", + "value": 51 + }, + { + "name": "T_POSE", + "value": 54 + }, + { + "name": "T_POSESET", + "value": 55 + }, + { + "name": "T_TPOSE", + "value": 56 + }, + { + "name": "T_CBUFFER", + "value": 57 + }, + { + "name": "T_CBUFFERSET", + "value": 58 + }, + { + "name": "T_TCBUFFER", + "value": 59 + }, + { + "name": "T_TGEOMETRY", + "value": 60 + }, + { + "name": "T_TGEOGRAPHY", + "value": 61 + }, + { + "name": "T_TRGEOMETRY", + "value": 62 + }, + { + "name": "NO_MEOS_TYPES", + "value": 63 + } + ] + }, + { + "name": "meosOper", + "file": "meos_catalog.h", + "values": [ + { + "name": "UNKNOWN_OP", + "value": 0 + }, + { + "name": "EQ_OP", + "value": 1 + }, + { + "name": "NE_OP", + "value": 2 + }, + { + "name": "LT_OP", + "value": 3 + }, + { + "name": "LE_OP", + "value": 4 + }, + { + "name": "GT_OP", + "value": 5 + }, + { + "name": "GE_OP", + "value": 6 + }, + { + "name": "ADJACENT_OP", + "value": 7 + }, + { + "name": "UNION_OP", + "value": 8 + }, + { + "name": "MINUS_OP", + "value": 9 + }, + { + "name": "INTERSECT_OP", + "value": 10 + }, + { + "name": "OVERLAPS_OP", + "value": 11 + }, + { + "name": "CONTAINS_OP", + "value": 12 + }, + { + "name": "CONTAINED_OP", + "value": 13 + }, + { + "name": "SAME_OP", + "value": 14 + }, + { + "name": "LEFT_OP", + "value": 15 + }, + { + "name": "OVERLEFT_OP", + "value": 16 + }, + { + "name": "RIGHT_OP", + "value": 17 + }, + { + "name": "OVERRIGHT_OP", + "value": 18 + }, + { + "name": "BELOW_OP", + "value": 19 + }, + { + "name": "OVERBELOW_OP", + "value": 20 + }, + { + "name": "ABOVE_OP", + "value": 21 + }, + { + "name": "OVERABOVE_OP", + "value": 22 + }, + { + "name": "FRONT_OP", + "value": 23 + }, + { + "name": "OVERFRONT_OP", + "value": 24 + }, + { + "name": "BACK_OP", + "value": 25 + }, + { + "name": "OVERBACK_OP", + "value": 26 + }, + { + "name": "BEFORE_OP", + "value": 27 + }, + { + "name": "OVERBEFORE_OP", + "value": 28 + }, + { + "name": "AFTER_OP", + "value": 29 + }, + { + "name": "OVERAFTER_OP", + "value": 30 + }, + { + "name": "EVEREQ_OP", + "value": 31 + }, + { + "name": "EVERNE_OP", + "value": 32 + }, + { + "name": "EVERLT_OP", + "value": 33 + }, + { + "name": "EVERLE_OP", + "value": 34 + }, + { + "name": "EVERGT_OP", + "value": 35 + }, + { + "name": "EVERGE_OP", + "value": 36 + }, + { + "name": "ALWAYSEQ_OP", + "value": 37 + }, + { + "name": "ALWAYSNE_OP", + "value": 38 + }, + { + "name": "ALWAYSLT_OP", + "value": 39 + }, + { + "name": "ALWAYSLE_OP", + "value": 40 + }, + { + "name": "ALWAYSGT_OP", + "value": 41 + }, + { + "name": "ALWAYSGE_OP", + "value": 42 + } + ] + }, + { + "name": "spatialRel", + "file": "meos_geo.h", + "values": [ + { + "name": "INTERSECTS", + "value": 0 + }, + { + "name": "CONTAINS", + "value": 1 + }, + { + "name": "TOUCHES", + "value": 2 + }, + { + "name": "COVERS", + "value": 3 + } + ] + }, + { + "name": "SkipListType", + "file": "meos_internal.h", + "values": [ + { + "name": "TEMPORAL", + "value": 0 + }, + { + "name": "KEYVALUE", + "value": 1 + } + ] + } + ] +} \ No newline at end of file From 4382ef4973add6b3998efdc5a254d8160a4e7f18 Mon Sep 17 00:00:00 2001 From: Esteban Zimanyi Date: Wed, 13 May 2026 18:22:27 +0200 Subject: [PATCH 3/6] Close 200 GoMEOS codegen TODOs with output-param and array heuristics Extends the codegen with name-driven classification so the bulk of the remaining unsupported shapes emit cleanly: output parameters named result / value lower to extra Go return values for scalar, wrapped opaque, and text **; counted-array inputs (T ** / const T * / text ** paired with int count or size_t size) lower to Go slices; counted-array returns (T ** paired with int *count or matching the length of an input slice) and uint8_t * byte buffers lower to Go slices via unsafe.Slice plus per-element conversion. char ** array returns, unsafe.Pointer for void * arguments, and additional opaque wrappers (Match, BOX3D, GBOX, AFFINE, PJ_CONTEXT, gsl_rng, TimeADT) round out the surface. Coverage rises from 1967 to 2167 idiomatic wrappers; the remaining 32 TODOs need a per-function metadata catalog (sibling- accessor lookups for length, parallel output arrays sharing a count, triple-pointer outputs, function-pointer hooks) that mirrors the output_parameters / result_parameters sets PyMEOS-CFFI carries. --- tools/.gitignore | 1 + tools/README.md | 54 +- tools/__pycache__/codegen.cpython-312.pyc | Bin 15326 -> 0 bytes tools/_preview/meos_meos.go | 931 +++++++++++++++++----- tools/_preview/meos_meos_geo.go | 467 ++++++++--- tools/_preview/meos_meos_internal.go | 326 ++++++-- tools/_preview/meos_meos_internal_geo.go | 94 ++- tools/_preview/meos_meos_npoint.go | 60 +- tools/codegen.py | 330 +++++++- 9 files changed, 1804 insertions(+), 459 deletions(-) create mode 100644 tools/.gitignore delete mode 100644 tools/__pycache__/codegen.cpython-312.pyc diff --git a/tools/.gitignore b/tools/.gitignore new file mode 100644 index 0000000..c18dd8d --- /dev/null +++ b/tools/.gitignore @@ -0,0 +1 @@ +__pycache__/ diff --git a/tools/README.md b/tools/README.md index b9be3f3..26e1b96 100644 --- a/tools/README.md +++ b/tools/README.md @@ -15,20 +15,48 @@ python3 tools/codegen.py ## Coverage today -2369 candidate functions across the six public headers; 1967 emit cleanly -under the scalar / wrapped-pointer rules, 170 are skipped as `Datum` +2369 candidate functions across the six public headers. 2167 emit +cleanly under the heuristic rules; 170 are skipped as `Datum`-bearing internal helpers (the hand-written surface exposes those through typed -overloads which the codegen cannot synthesise from the IDL), and 232 -remain as TODO until per-function metadata is encoded. - -The 232 TODOs are all output-parameter or counted-array shapes: -`int *`, `double *`, `bool *`, `TimestampTz *`, `size_t *` (typically -`count` accumulators), and double-pointer arrays like `Temporal **` / -`GSERIALIZED **` / `TInstant **` / `TSequence **`. Resolving them needs -a catalog of which parameters are outputs, which are array lengths, and -which are nullable, mirroring the `result_parameters` / -`output_parameters` / `nullable_parameters` sets PyMEOS-CFFI's -`build_pymeos_functions.py` carries. +overloads which the codegen cannot synthesise from the IDL); 32 remain +as TODO. + +The covered shapes are: scalar inputs, wrapped opaque pointers +(`Temporal`, `STBox`, `TBox`, `Span`, `SpanSet`, `Set`, `GSERIALIZED`, +`TInstant`, `TSequence`, `TSequenceSet`, `Npoint`, `Nsegment`, +`SkipList`, `RTree`, `Match`, `BOX3D`, `GBOX`, `AFFINE`, `PJ_CONTEXT`, +`gsl_rng`, `Interval`), C and PostgreSQL text strings, output +parameters named `result` / `value` (scalar and wrapped-pointer +out-params surfaced as additional Go return values), counted-array +inputs (`T **` / `const T *` paired with `int count` or `size_t size`) +lowered to Go slices, counted-array returns (`T **` paired with +`int *count` or matching the input slice length) lowered to Go slices +including byte buffers and `char **` string arrays, and +`unsafe.Pointer` for `void *` arguments. + +The remaining 32 TODOs need per-function metadata: + +* `*_values` / `*_insts_p` / `*_sps` (~12 funcs) — array returns whose + length comes from a sibling accessor (`set_num_values`, + `temporal_num_instants`, etc.) the codegen cannot guess from the IDL + alone. +* `*_split` family (`temporal_time_split`, `tfloat_value_split`, + `tint_value_time_split`, `tgeo_space_split`, etc.) — parallel output + arrays (`time_bins`, `value_bins`) sharing a single count, plus + `GSERIALIZED ***` triple-pointer outputs. +* `tpoint_as_mvtgeom`, `tpointseq_make_coords` — multi-array shapes + beyond a single counted-array companion. +* `tempsubtype_from_string`, `geom_min_bounding_radius` — output + parameters named `subtype` / `radius` rather than the canonical + `result` / `value` (could be hand-listed as named outputs once a + metadata catalog exists). +* `skiplist_*` (function pointers, `void **`) — internal helpers; the + hand-written surface does not expose them either. + +A metadata catalog of `output_parameters` / `result_parameters` / +`array_length_for` tuples (mirroring `build_pymeos_functions.py`'s +`output_parameters` / `result_parameters` / `nullable_parameters`) +would close the remaining shapes without false positives. ## Refreshing the IDL diff --git a/tools/__pycache__/codegen.cpython-312.pyc b/tools/__pycache__/codegen.cpython-312.pyc deleted file mode 100644 index 1e27c89afa416764c4fc68acf25f2e592c5f193c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15326 zcma)jZEzb$cHj&!_!*3M8nR zfk;ANj=OfwQuQ)t^URNkzA@$cLxY`2v4+Es^qHfQdf0F zOS!s4sk*xNdIlf-u(KnfKVHA?e*OA&_j|9Kf8}=b419qRZu*~JW0=3gO#bug3HHUu z9K(FVyu}b^lp!oJh1nU?sENh2Icy#^)0i9OXlxm^K+J`$GqzD1#j%9#GmcRQ%S-`3tjN@MD&g zQD_zoI=Zqk5rUED=D;+RFUcuXbpwdkXlk#0H#4^Zd< zB9Mj>+(rs*BnQc%5@?eFZQcSsOreKK3-OoWwo+&-IYQb>pzRdePC7_u3G@{T?IK6X zu@dO36#6}KoSZ0uo}|!va%#&cPE+Us@>=OA4A_|>%z(VU4RV&eLB5~wgW{Yc=SlY# zNDt{H7q&q9$VJk>1#*d8CIed_SI8i_`Y%GRkvF&Dlt9S!&zwJFN6W~Ntz3?ns?d5rV4 zj2?v2Lu5fZNEYj$x!+?*>~nLzAC{q|_n5F(+-jHrf!LSICfm&Lg` zNzUViBD2DT9GMYjq=?cUBH@l{1wbuxa)d;K5)sB11$9c|v4i$=*ZPGyQC1|`-ysNB zqv~8#6+(&-nU%0wNhFfo#!E9HRfT5Nh%h#0&?=G6 zu`xlMB`|_nB|1~+RhR-``@D=*W(7%}jLb%6pfM#XPl!Q@56vQNKvM9wI4KEoB%;Eo zhXGXJ0+JV+h3YDdR1Aj~g_+Q7XhsYJR0ydGP%A4i2o;$ID5oI_WZacxg^pVZieXW1 z2jos6GAG`NO6_wIY*22Gz~Gh839Uzmu<@C%0{^X<_&7|INAT!HDj5S5w$nT>z&E!DgPA=B(h&(OohZ*R%#OK5 z{_k=9_*u;<&H}k~rj$X*JBX-?!LX<(km0V0>XhFav!X0_OvTDD4g>)s9GQeXPxF&f z1kxUwrV|Nb0f34vfPjwWrodS`;~i6eljg+L5r~XWOF>nu=z~Sk9RXojP%na{hNXb2 zdFK`bk}OB$05T*j$=W`n<&YW@!=ae8wK!P1OBlyH`=Sk?pD+?L%7V&a0>y)s%)~^u zWHY3=Ldt@vMXTSYIfobLq${wvL$i~bSy5%pHW>-10F3dF6XL=ktW(Vz1db@GX2n$> z2oC;&)9iu3EC^a4pz(pg46J(?NI-K10(YWf*eLM?0wt^u1b)H1K*C@8JEtNuQm3S- z(zrO=smQ@jeK+ddK8G^wzYGnILPDv4;J2A)Ztwd8IahU-tA=o$tCp+tSQ>XX5+WL- zapNEjF}}M4rRcKp>sH9e_WqS!wc(}Z4JNNP5k z)LS)@v{fr+fLNDa&!Cpqp+yX!*T66crWgjrv<)E5z%Xc|7zS}x5`k@6(rgpqh^XqQ zI*8KgG{Aa)3d*pmaYzHUspl!89bpv9)+4IYxt?L`3K?3v zyaX^Dqad#ix;inTNP5HWe%yTLB4N4-!~g-h1OQ6E-pUpP+Nu2tYy^l9E9>sS)mT7w zXpOn>w1&e{&snkWBGkxLlTc872k2}Qkmtts zbW5`jzkRJYaOK=J*i-Gut%xj!W0l>q1Y(oVw;Y0V)lV_{p(hcCl`w8>?u>Xh*5N6~RbDHAR5b4jir(%YDtem04Q*q{s}kj?s>qJ{6`ps)oXJfe|UJ zim^JnEI`8;j-U|qATZD1n5}h?o^i3NW<9Z^Nk{9TB2A+15vys=CwIXbx*eJu2q}n_ zPwv37wq75WB?%Zy<89?0`7|B@V2d*{9&YmM5NH-U2O5XG);MIIW;0l*nSn!^vu~*P zdjGkB{?XnZ&7L2uX4S`|+4D4O_B>shMJJ=aD5Gi=v@u;=L1u5=(%d($pSyOg_j&;3 zbtq^UB0vzsSl|ceHTz-=5+A~8trkjGmEd5>fGQ$D^apqPT!z{6JcGW}}Y>KcL-evwR`w7c3 z_q|{>nEsu4p7onGUe`HsRcdT-P_6<*0Gm2q(O6Zpz(mW73hE<*uq@X={L*m-b45;otZt1&8x~Weq#LWst~WI>}fDC?l=%RR}b8ZVUh9Hvt&y{EawQM#6HzwwSiG-feW!jouxqIa&I_O#MQ6aclc=!_ zW+oiTV2^;g9ELMkp+=Ej``aumS!#zh2?ib7t8yedIVGT4LIkv7L7O9J`+-SJn=&ja zAxL$3!7%cnBGfNd0DDc<9R}23M#CHpHCY9v1Z}?=+LowL>rj}FM8ni_p8%Ci0zZN( zqEQBL`L-}0Qm3FYj7T>(C&f9XL$lCf%LBk?`3eNX^4pjkhTsC&aTaAR98y7WQF7#> z;0k&92`K^SB02*)fX*-ZJ-}RspK_fhHhISGNi-#08DCQ>nDMo4_+H8QUdj57W^6}6 znsRPm;^b=JIb*WauCO_$FCivv52rV(n={qT+3J=j&X%t$YBnuUylG`z<=-J_YtSKX zy}OAPxPeW1m(#Ri+W~sv%ZncFG1Iu)ZTrCCYY6O;2{3jMUIJF(Z_-2DG+}~Mgo|Cc zuDcq>##+X~6+!L8Ho2~09~s-CF`eZBicgKr&_oENUY>+T ze+Pa_9|X(HGke*CvemN0Lduu5AKI|DX6&t5d)xB4oXh>7Z?!Mc{n5a3Z_ep@aBB5b zVkp^|b?)169?UooW}Qu`XxiD9=Gt~np%ogZd&OtKSe!x?0Qv`eLAaQU)3cOLQsF?) zV}gM0g{j#EzUzdR2*fPh9nfh-I<|eZ&0XNXQJZF<$G)vW$i_`^^MrYbQQ=V2zc`Z@ zFZ4t%aZ8rCg>cmK+8gIoR~`?z@p>^Ar%DQ~VO_Gtt<#=7UNI(?e9MZ7SYf0#7^#)m zY1;t79MEIibv%xuNF%+Ayx$p14n!ii1@LEyLO0#t(0zvMuL}5=(2b z7+J&s87aFlzy%=pL!g1{MwC?r_fe=o5X8>tbr2n#Be06)3B<>m8W#lDuY%K$jKELd zG+hCM69MoK$`L647=FrML9onhx)^)e$F&(--BVX(VkG0*yTWeTnWM*kRr|-aiSkcs zAJ%S^H)P5iQis;K_44+|>WVejb@aPRJ>Cb4tBc9zRCC(XlD4-z^&L!I$oh`_;PP_M zN>k3}O0YkSCCFzpnd&1?YnxIeQ+s69y<$sLK5J^*XgZN;I`P=N-gM^S-Y<_pXRt$0 zKXD4Vs)m&dIZt)cn&N)$`iX08TvUzb` zVka3~lyLk9U`d$cW;ocbar1ZW-oyk8M2MSq6Xx%(neP=;^ON6JA9i@Ip82l+jqCIs0=Es0%aC-6?7BgTA-f#Ya%+r zyLHI?6ngk?OA@*oVIk^{O=Sj7b~bR9iX}U&u{SmLZH*n(O#MBY`O1Y$n)$}%^B4?k zTrVaug!HAMtAk+DT?aHU@2=jYwjM-Qr~^fV@-z&99yESVz6ELUrQsEZX2qL~S)y^% z;F0%pc+jA?QnP^msVbTo+~~UYz(J+rQn2GvKt%aNfd6~=DXS2`Ipgv@7+4)hR%BiK z;5^}7%iW+TJZJ2djurN6k2mM4dLn8Xgy@&UHyp+1LR=(y-MKd*RU%A>h%c0p#ALA;+1{23VI`hQY zkUXB|8mJJTtp}1c(_}<5g(fsJELzPBd!1&!E6T9QVIm*|53|NeVN6eecVFWsBWgtB z=xJ*i2es=qp2FZd(JTb*HO(T6vy#ExUu0tz>a zn*We4ho(XK4&*=!bOrjZ2CnylRX@_(17^er0H$Vyv7?pYG*U}LpUj^^`JW>WswB%y z&gTAjZ^pJS=c!7XSL12>o}9CM`HH?n07l^h+VJ~MpF4Wr&1V3MaF8nTx%cYVS*YsE zcwTB8l|T*^ZJAD?O#zPxXi|eRz9yh%Hl;x~!hVJ@4E{6xlyV5bC(gUy@6XY|UH*Yi zF~!-!Ry@TiTfyX@Y}IZ3r4qw9UfkA9TkW7FvuX?*^n!wti8qm`1uR+P-0}h3R&JjF z^6J%sY8p4Gg$)JlB1_ziQUf%nybUEU#-RTO#b_arHn=a@;1|bl|op8&_ z$KAijl-}mX%a(m{`|kL8s$lz`iI+{|`Md2S&UoQX$C4-RCN8Q0ohNSW?Q_$TH}2TA zZ7@A`AFTQ0|o)VlK93kbq>34Bk9&4$b%1H~ziHZ1T zIp82iM+PrY;w;cr`7JHj^DO{Q)#sL_3Xqh_c;z&%fo&hD{(y-)cDlvj=t3FAzN?_- zE^|t1;uT0uzAu)UJ^3w|wc9bj1+NY?-d$&!)aTd1)*i{8xCzDxRsw|kXu2|9j-!tI zAl(1ClN{KU$CY`iQI?5-;Zjwp%*U&WZ&Ba~Zyc2W2ylvKwOk9?SZx&U)aP)&2XoGF zK2Vjm#OjXuN|ETMD!gO`IfU)eQ^6bv24b9W`gI|;m!2g;cgF-caa*9GI3aah(=Wwa zVkW;oW@;1Yc^xx#cf4d<+xv#}Q+SUeIf10L9F3F&?X-FDVrLkwdqT?^B4`I(WnZsSH8X*xdexu{^PoY2ghZs;p;C)DGR=7_A?Z#iNyFu{yqc^(rfU)ZY z1%mVphm(+=n$)Qq&@Xl=F1!~|@S+E7kpNBG>Dz4 zNs{r*UdMWOK~sQp8(cHTS8pv}cv@DSxSK88zucGeR3_fdcp6j3GM>ZB7yrS^?DMbH zX7?V=aCOTUR?e-&;ILo*tz=7T;z@nmQ%`;J#2;Q-yPH1oW_tMD%!zlihi;_lt%hUSiR5V-P zzUo=wRwfc+&goe>^R!}ra{ib6qvPqwV+j28K`d+po@Wd6!**)mANH!&F zQf%r_sybcMvTpZ-60&j@uDUl|`!cS5N$D%sp=Y)Gf4}V0vXr{^R<`!oN12$Whp8(dWe{#SLa+1IPO*14{n z&67C(#8#KH`!?)#8GBvwd{RwLB#(S$Z+=#Q^`}T`BwgROZf`Fl_NS&dnonk$Pd=`E z9L+ZOrkgIL>-*O27ojI-*~;X~+v)1|wTZQxpnf0s=Dam4i{J`xN!F*jQa4ilYj16u zS;wo-__7E7Re$1AmOt=~#pDpMw(lF8+2PwXGZx1`xENPWVm`&Cq-=?A2o=@*hXyok zQ+cHj{m8IagJB4vxp?(Z^q>Ho``kt^YGQWd;f(OobXtfxc*yEI!jYDajt;+YPv~sj z@#+TNS>?U6t)0RW4;n9;C*TF8D<4#K5uToG+4BAal*<^DfxfM@Ljr6V9+pp{CE1u9 zNnQjlHB~&V*ps}FtvHzW9ZDa%jtm-RH_c{?m8zlQub^)J0hRG;N+LYp*~%XbPDTVG z%JblA>Ao;$y zTe}P|mZsWv;P85Du%kp5N;{4!awpx3^1XJJB9``A#Qc^nw;(`&#xR64ib`OI?3g-R zgf$|;9aD|lAjNk@J4)!=p&ih?uX>lJ@lD zu-kA-su{@^-qENZ-iy1{JL3iaC)frD(Gi3H;4QcHGj7RRO2@7L4LwjxiC7lcB?tU?u!6XF z-eQ8A4N3vc7rn4}TXo-~qO*m5#U25^M=fa4C2(sT-kirkcU^McZ&NFF)?9LZi%n3l zzd+-5O{4m>?USu&x6!uw`=fD(k#^i4<3Mwd^Ks{d8T`Kv%0(L*(vag9ObhgGF7CjZ zL6{Mv#91iex0SdGCC)7+ELc>wX}qT1_7Qj?U)0OdO2T)*OKuf)WBP%8vL~M|#>59U zhkd8bL3Qy8s*9J!-P8MuHS(!=Szd34x!;8Gv!oLH+znTSSHSvLtP{5mfn2iiTQbix z{;I)Yc-;cN7r1Q)rfY%j)$ZgG$S2-2%{(wVH##IJhFq`qjR$hZVIDYV=OmmDc z2J|Pmx{W|xYH2`_{|g3)D*soCkGowUX6l&IHF$H!WF%&SHEgUkz+vEdw4uPi3Wvt9&Z&Gd1xSrNnY0J^}CNvP+lRuAkQRLqPdP)@eu4|9q zeAMu(=09o9bX_wP`RZC${$p&%3I`bs!|w%8A)KM8(ZaQ;21>n10{Bo#v&`HkAz5=> z>^;{5k3BB*5A+UEeOxOay4(*BKzaff-Wu#4?!P)XMDMEUg(Fp6b>4~4k5(DLmm)?R z*RJ=TyK;V@SEkB5kB^w)whcRT1iHbqg?;!vnjM~8gBME$KO49!14xA#KpH!xdGHNJ z2p(9#+|dcf>ri@y26AB4XH%ofG+1_2p9Wo@9*_YPfqWYMPnuJQ>%w4?CNw+thOOfB zO0uZnMzT#|*R^$feiG#W1t_m0+n+!HSM;D|wXU`%Zf;Z^&Qu-FR{67hD|k#f=Z9B* za3y(Yt#bLwI@j^vU+@3x_DhdhP%M4Fkkaj!majsPE3Ztv0~ZQ-1A7V-ZKpR;z506c z>J#UYoNG_AH`V;bv_K$b)hTc=>o<1sR#7q zbx+Hd%I8O@eAt(?!f>NZ?L#wDbD>#jp!Hav*^CGkxXvyX%6edjY3=U41cJqJ@0KfnEx+aT>~Ze%<+R=AwqyJ6pxvF}Otd}VLg>;evLo@A`&>aGr?`wf5HS$9RaW`+Q1&C&lDhG)!Tqe1iFwoeD)(pVSO_+slcWso9+4xsl*Jp+Dg3GQF+Qp+m;8lgB} z@_#F&=t!_7f2(E-1V|*PKj@x_;@>9(0y5}ZjEt7HW|Ad%A-4#_hlMKAD;XzqFCl&=3%RbeRM{VpJCN31`-C3Fu*5l zMc?{M`x*T$`&s#)p#b(QM)@DW1F(Qt_PME?<^E4I!yf!Q#`!ml<8K)L*G$8&ncC-^ z&1+hAZB{eh;}F>yOHGbDxM?w0nbJ)8rk61}|F6l+)@(8myf8y{lV*JlhfFz+|8!64 z`lHJ9$Y{3iolP^qo>ADyqrK^ov22~VX#p6T&4~Hdqdn=7K(=md(}qy!%L&jTt^=Vw zV{rlW#-n}d5iwggzUf4$Ydh49&@#qSMsW`qxE_Rhx8s&0)VCd4fzZnBEmR@2nz6W{ z-J6g0r$@%Kb-~RVgw}3{)*-ZhJ9H01_v+BMv4vo^j%@Bj=zbkKf>6qx0|*ti)6js> zM#kdBv8B7t8-qIt;BO8w^-T!u(Scvr9l~69F&9W5znC5gW$UJ~Y&6|5<87-4vF+n?BZ?9+}A2O=9lmBVg%{%r`vtev|e$m8}a=%tG$@ITk2fwx@aF z1=GNqHgB>_eIJ{vyO^u%&(#g&>MrE!dg*_F^w0zV`)Da3T=?d2WxHwFo%Z-&FqN$7 zMTeOkW?#5?w){ms$F{#Ht7iAUIPPW}p9^MhFT3n|;WD$nf{gl5Mtubt^}TSNfJ!RM zvDVFMpPO5DY__;-xinMxLO9HpZw|8z=URz9G1q8K-)BZ-*_5J1EuQ|uc#l&05Q<(ABhOWw}ZwrnfLQ{dyf zlW6$b?oOBzU5SH<>q$1DBwJH&rn*z}Yj@UykE+vUC%>|v`o;`(Ha!eiPd9@952Ud6 A!vFvP diff --git a/tools/_preview/meos_meos.go b/tools/_preview/meos_meos.go index ba83a7c..221dc80 100644 --- a/tools/_preview/meos_meos.go +++ b/tools/_preview/meos_meos.go @@ -50,12 +50,20 @@ func IntervalOut(interv timeutil.Timedelta) string { } -// TODO time_in: unsupported return type TimeADT -// func TimeIn(...) { /* not yet handled by codegen */ } +// TimeIn wraps MEOS C function time_in. +func TimeIn(str string, typmod int32) int64 { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + res := C.time_in(_c_str, C.int32(typmod)) + return int64(res) +} -// TODO time_out: unsupported param TimeADT -// func TimeOut(...) { /* not yet handled by codegen */ } +// TimeOut wraps MEOS C function time_out. +func TimeOut(t int64) string { + res := C.time_out(C.TimeADT(t)) + return C.GoString(res) +} // TimestampIn wraps MEOS C function timestamp_in. @@ -145,12 +153,24 @@ func RtreeFree(rtree *RTree) { } -// TODO rtree_insert: unsupported param void * -// func RtreeInsert(...) { /* not yet handled by codegen */ } +// RtreeInsert wraps MEOS C function rtree_insert. +func RtreeInsert(rtree *RTree, box unsafe.Pointer, id int64) { + C.rtree_insert(rtree._inner, unsafe.Pointer(box), C.int64(id)) +} -// TODO rtree_search: unsupported return type int * -// func RtreeSearch(...) { /* not yet handled by codegen */ } +// RtreeSearch wraps MEOS C function rtree_search. +func RtreeSearch(rtree *RTree, query unsafe.Pointer) []int { + var _out_count C.int + res := C.rtree_search(rtree._inner, unsafe.Pointer(query), &_out_count) + _n := int(_out_count) + _slice := unsafe.Slice((*C.int)(unsafe.Pointer(res)), _n) + _out := make([]int, _n) + for _i, _e := range _slice { + _out[_i] = int(_e) + } + return _out +} // MeosError wraps MEOS C function meos_error. @@ -215,8 +235,13 @@ func MeosFinalizeWays() { } -// TODO meos_set_datestyle: unsupported param void * -// func MeosSetDatestyle(...) { /* not yet handled by codegen */ } +// MeosSetDatestyle wraps MEOS C function meos_set_datestyle. +func MeosSetDatestyle(newval string, extra unsafe.Pointer) bool { + _c_newval := C.CString(newval) + defer C.free(unsafe.Pointer(_c_newval)) + res := C.meos_set_datestyle(_c_newval, unsafe.Pointer(extra)) + return bool(res) +} // MeosSetIntervalstyle wraps MEOS C function meos_set_intervalstyle. @@ -803,12 +828,26 @@ func IntspansetOut(ss *SpanSet) string { } -// TODO set_as_hexwkb: unsupported param size_t * -// func SetAsHexwkb(...) { /* not yet handled by codegen */ } +// SetAsHexwkb wraps MEOS C function set_as_hexwkb. +func SetAsHexwkb(s *Set, variant uint8) (string, uint) { + var _out_size_out C.size_t + res := C.set_as_hexwkb(s._inner, C.uint8_t(variant), &_out_size_out) + return C.GoString(res), uint(_out_size_out) +} -// TODO set_as_wkb: unsupported return type uint8_t * -// func SetAsWKB(...) { /* not yet handled by codegen */ } +// SetAsWKB wraps MEOS C function set_as_wkb. +func SetAsWKB(s *Set, variant uint8) []uint8 { + var _out_size_out C.size_t + res := C.set_as_wkb(s._inner, C.uint8_t(variant), &_out_size_out) + _n := int(_out_size_out) + _slice := unsafe.Slice((*C.uint8_t)(unsafe.Pointer(res)), _n) + _out := make([]uint8, _n) + for _i, _e := range _slice { + _out[_i] = uint8(_e) + } + return _out +} // SetFromHexwkb wraps MEOS C function set_from_hexwkb. @@ -820,16 +859,33 @@ func SetFromHexwkb(hexwkb string) *Set { } -// TODO set_from_wkb: unsupported param const uint8_t * -// func SetFromWKB(...) { /* not yet handled by codegen */ } +// SetFromWKB wraps MEOS C function set_from_wkb. +func SetFromWKB(wkb []byte) *Set { + res := C.set_from_wkb((*C.uint8_t)(unsafe.Pointer(&wkb[0])), C.size_t(len(wkb))) + return &Set{_inner: res} +} -// TODO span_as_hexwkb: unsupported param size_t * -// func SpanAsHexwkb(...) { /* not yet handled by codegen */ } +// SpanAsHexwkb wraps MEOS C function span_as_hexwkb. +func SpanAsHexwkb(s *Span, variant uint8) (string, uint) { + var _out_size_out C.size_t + res := C.span_as_hexwkb(s._inner, C.uint8_t(variant), &_out_size_out) + return C.GoString(res), uint(_out_size_out) +} -// TODO span_as_wkb: unsupported return type uint8_t * -// func SpanAsWKB(...) { /* not yet handled by codegen */ } +// SpanAsWKB wraps MEOS C function span_as_wkb. +func SpanAsWKB(s *Span, variant uint8) []uint8 { + var _out_size_out C.size_t + res := C.span_as_wkb(s._inner, C.uint8_t(variant), &_out_size_out) + _n := int(_out_size_out) + _slice := unsafe.Slice((*C.uint8_t)(unsafe.Pointer(res)), _n) + _out := make([]uint8, _n) + for _i, _e := range _slice { + _out[_i] = uint8(_e) + } + return _out +} // SpanFromHexwkb wraps MEOS C function span_from_hexwkb. @@ -841,16 +897,33 @@ func SpanFromHexwkb(hexwkb string) *Span { } -// TODO span_from_wkb: unsupported param const uint8_t * -// func SpanFromWKB(...) { /* not yet handled by codegen */ } +// SpanFromWKB wraps MEOS C function span_from_wkb. +func SpanFromWKB(wkb []byte) *Span { + res := C.span_from_wkb((*C.uint8_t)(unsafe.Pointer(&wkb[0])), C.size_t(len(wkb))) + return &Span{_inner: res} +} -// TODO spanset_as_hexwkb: unsupported param size_t * -// func SpansetAsHexwkb(...) { /* not yet handled by codegen */ } +// SpansetAsHexwkb wraps MEOS C function spanset_as_hexwkb. +func SpansetAsHexwkb(ss *SpanSet, variant uint8) (string, uint) { + var _out_size_out C.size_t + res := C.spanset_as_hexwkb(ss._inner, C.uint8_t(variant), &_out_size_out) + return C.GoString(res), uint(_out_size_out) +} -// TODO spanset_as_wkb: unsupported return type uint8_t * -// func SpansetAsWKB(...) { /* not yet handled by codegen */ } +// SpansetAsWKB wraps MEOS C function spanset_as_wkb. +func SpansetAsWKB(ss *SpanSet, variant uint8) []uint8 { + var _out_size_out C.size_t + res := C.spanset_as_wkb(ss._inner, C.uint8_t(variant), &_out_size_out) + _n := int(_out_size_out) + _slice := unsafe.Slice((*C.uint8_t)(unsafe.Pointer(res)), _n) + _out := make([]uint8, _n) + for _i, _e := range _slice { + _out[_i] = uint8(_e) + } + return _out +} // SpansetFromHexwkb wraps MEOS C function spanset_from_hexwkb. @@ -862,8 +935,11 @@ func SpansetFromHexwkb(hexwkb string) *SpanSet { } -// TODO spanset_from_wkb: unsupported param const uint8_t * -// func SpansetFromWKB(...) { /* not yet handled by codegen */ } +// SpansetFromWKB wraps MEOS C function spanset_from_wkb. +func SpansetFromWKB(wkb []byte) *SpanSet { + res := C.spanset_from_wkb((*C.uint8_t)(unsafe.Pointer(&wkb[0])), C.size_t(len(wkb))) + return &SpanSet{_inner: res} +} // TextsetIn wraps MEOS C function textset_in. @@ -930,8 +1006,13 @@ func TstzspansetOut(ss *SpanSet) string { } -// TODO bigintset_make: unsupported param const int64 * -// func BigintsetMake(...) { /* not yet handled by codegen */ } +// BigintsetMake wraps MEOS C function bigintset_make. +func BigintsetMake(values []int64) *Set { + _c_values := make([]C.int64, len(values)) + for _i, _v := range values { _c_values[_i] = C.int64(_v) } + res := C.bigintset_make(&_c_values[0], C.int(len(values))) + return &Set{_inner: res} +} // BigintspanMake wraps MEOS C function bigintspan_make. @@ -941,8 +1022,13 @@ func BigintspanMake(lower int64, upper int64, lower_inc bool, upper_inc bool) *S } -// TODO dateset_make: unsupported param const DateADT * -// func DatesetMake(...) { /* not yet handled by codegen */ } +// DatesetMake wraps MEOS C function dateset_make. +func DatesetMake(values []int32) *Set { + _c_values := make([]C.DateADT, len(values)) + for _i, _v := range values { _c_values[_i] = C.DateADT(_v) } + res := C.dateset_make(&_c_values[0], C.int(len(values))) + return &Set{_inner: res} +} // DatespanMake wraps MEOS C function datespan_make. @@ -952,8 +1038,13 @@ func DatespanMake(lower int32, upper int32, lower_inc bool, upper_inc bool) *Spa } -// TODO floatset_make: unsupported param const double * -// func FloatsetMake(...) { /* not yet handled by codegen */ } +// FloatsetMake wraps MEOS C function floatset_make. +func FloatsetMake(values []float64) *Set { + _c_values := make([]C.double, len(values)) + for _i, _v := range values { _c_values[_i] = C.double(_v) } + res := C.floatset_make(&_c_values[0], C.int(len(values))) + return &Set{_inner: res} +} // FloatspanMake wraps MEOS C function floatspan_make. @@ -963,8 +1054,13 @@ func FloatspanMake(lower float64, upper float64, lower_inc bool, upper_inc bool) } -// TODO intset_make: unsupported param const int * -// func IntsetMake(...) { /* not yet handled by codegen */ } +// IntsetMake wraps MEOS C function intset_make. +func IntsetMake(values []int) *Set { + _c_values := make([]C.int, len(values)) + for _i, _v := range values { _c_values[_i] = C.int(_v) } + res := C.intset_make(&_c_values[0], C.int(len(values))) + return &Set{_inner: res} +} // IntspanMake wraps MEOS C function intspan_make. @@ -1002,12 +1098,22 @@ func SpansetMake(spans *Span, count int) *SpanSet { } -// TODO textset_make: unsupported param text ** -// func TextsetMake(...) { /* not yet handled by codegen */ } +// TextsetMake wraps MEOS C function textset_make. +func TextsetMake(values []string) *Set { + _c_values := make([]*C.text, len(values)) + for _i, _v := range values { _c_values[_i] = cstring2text(_v) } + res := C.textset_make((**C.text)(unsafe.Pointer(&_c_values[0])), C.int(len(values))) + return &Set{_inner: res} +} -// TODO tstzset_make: unsupported param const TimestampTz * -// func TstzsetMake(...) { /* not yet handled by codegen */ } +// TstzsetMake wraps MEOS C function tstzset_make. +func TstzsetMake(values []int64) *Set { + _c_values := make([]C.TimestampTz, len(values)) + for _i, _v := range values { _c_values[_i] = C.TimestampTz(_v) } + res := C.tstzset_make(&_c_values[0], C.int(len(values))) + return &Set{_inner: res} +} // TstzspanMake wraps MEOS C function tstzspan_make. @@ -1250,8 +1356,12 @@ func BigintsetStartValue(s *Set) int64 { } -// TODO bigintset_value_n: unsupported param int64 * -// func BigintsetValueN(...) { /* not yet handled by codegen */ } +// BigintsetValueN wraps MEOS C function bigintset_value_n. +func BigintsetValueN(s *Set, n int) (bool, int64) { + var _out_result C.int64 + res := C.bigintset_value_n(s._inner, C.int(n), &_out_result) + return bool(res), int64({}) +} // TODO bigintset_values: unsupported return type int64 * @@ -1314,8 +1424,12 @@ func DatesetStartValue(s *Set) int32 { } -// TODO dateset_value_n: unsupported param DateADT * -// func DatesetValueN(...) { /* not yet handled by codegen */ } +// DatesetValueN wraps MEOS C function dateset_value_n. +func DatesetValueN(s *Set, n int) (bool, int32) { + var _out_result C.DateADT + res := C.dateset_value_n(s._inner, C.int(n), &_out_result) + return bool(res), int32({}) +} // TODO dateset_values: unsupported return type DateADT * @@ -1343,8 +1457,12 @@ func DatespanUpper(s *Span) int32 { } -// TODO datespanset_date_n: unsupported param DateADT * -// func DatespansetDateN(...) { /* not yet handled by codegen */ } +// DatespansetDateN wraps MEOS C function datespanset_date_n. +func DatespansetDateN(ss *SpanSet, n int) (bool, int32) { + var _out_result C.DateADT + res := C.datespanset_date_n(ss._inner, C.int(n), &_out_result) + return bool(res), int32({}) +} // DatespansetDates wraps MEOS C function datespanset_dates. @@ -1396,8 +1514,12 @@ func FloatsetStartValue(s *Set) float64 { } -// TODO floatset_value_n: unsupported param double * -// func FloatsetValueN(...) { /* not yet handled by codegen */ } +// FloatsetValueN wraps MEOS C function floatset_value_n. +func FloatsetValueN(s *Set, n int) (bool, float64) { + var _out_result C.double + res := C.floatset_value_n(s._inner, C.int(n), &_out_result) + return bool(res), float64({}) +} // TODO floatset_values: unsupported return type double * @@ -1460,8 +1582,12 @@ func IntsetStartValue(s *Set) int { } -// TODO intset_value_n: unsupported param int * -// func IntsetValueN(...) { /* not yet handled by codegen */ } +// IntsetValueN wraps MEOS C function intset_value_n. +func IntsetValueN(s *Set, n int) (bool, int) { + var _out_result C.int + res := C.intset_value_n(s._inner, C.int(n), &_out_result) + return bool(res), int({}) +} // TODO intset_values: unsupported return type int * @@ -1640,8 +1766,12 @@ func TextsetStartValue(s *Set) string { } -// TODO textset_value_n: unsupported param text ** -// func TextsetValueN(...) { /* not yet handled by codegen */ } +// TextsetValueN wraps MEOS C function textset_value_n. +func TextsetValueN(s *Set, n int) (bool, string) { + var _out_result *C.text + res := C.textset_value_n(s._inner, C.int(n), &_out_result) + return bool(res), text2cstring(_out_result) +} // TODO textset_values: unsupported return type text ** @@ -1662,8 +1792,12 @@ func TstzsetStartValue(s *Set) int64 { } -// TODO tstzset_value_n: unsupported param TimestampTz * -// func TstzsetValueN(...) { /* not yet handled by codegen */ } +// TstzsetValueN wraps MEOS C function tstzset_value_n. +func TstzsetValueN(s *Set, n int) (bool, int64) { + var _out_result C.TimestampTz + res := C.tstzset_value_n(s._inner, C.int(n), &_out_result) + return bool(res), int64({}) +} // TODO tstzset_values: unsupported return type TimestampTz * @@ -1733,8 +1867,12 @@ func TstzspansetTimestamps(ss *SpanSet) *Set { } -// TODO tstzspanset_timestamptz_n: unsupported param TimestampTz * -// func TstzspansetTimestamptzN(...) { /* not yet handled by codegen */ } +// TstzspansetTimestamptzN wraps MEOS C function tstzspanset_timestamptz_n. +func TstzspansetTimestamptzN(ss *SpanSet, n int) (bool, int64) { + var _out_result C.TimestampTz + res := C.tstzspanset_timestamptz_n(ss._inner, C.int(n), &_out_result) + return bool(res), int64({}) +} // TstzspansetUpper wraps MEOS C function tstzspanset_upper. @@ -2182,12 +2320,20 @@ func SetSpans(s *Set) *Span { } -// TODO set_split_each_n_spans: unsupported param int * -// func SetSplitEachNSpans(...) { /* not yet handled by codegen */ } +// SetSplitEachNSpans wraps MEOS C function set_split_each_n_spans. +func SetSplitEachNSpans(s *Set, elems_per_span int) (*Span, int) { + var _out_count C.int + res := C.set_split_each_n_spans(s._inner, C.int(elems_per_span), &_out_count) + return &Span{_inner: res}, int(_out_count) +} -// TODO set_split_n_spans: unsupported param int * -// func SetSplitNSpans(...) { /* not yet handled by codegen */ } +// SetSplitNSpans wraps MEOS C function set_split_n_spans. +func SetSplitNSpans(s *Set, span_count int) (*Span, int) { + var _out_count C.int + res := C.set_split_n_spans(s._inner, C.int(span_count), &_out_count) + return &Span{_inner: res}, int(_out_count) +} // SpansetSpans wraps MEOS C function spanset_spans. @@ -2197,12 +2343,20 @@ func SpansetSpans(ss *SpanSet) *Span { } -// TODO spanset_split_each_n_spans: unsupported param int * -// func SpansetSplitEachNSpans(...) { /* not yet handled by codegen */ } +// SpansetSplitEachNSpans wraps MEOS C function spanset_split_each_n_spans. +func SpansetSplitEachNSpans(ss *SpanSet, elems_per_span int) (*Span, int) { + var _out_count C.int + res := C.spanset_split_each_n_spans(ss._inner, C.int(elems_per_span), &_out_count) + return &Span{_inner: res}, int(_out_count) +} -// TODO spanset_split_n_spans: unsupported param int * -// func SpansetSplitNSpans(...) { /* not yet handled by codegen */ } +// SpansetSplitNSpans wraps MEOS C function spanset_split_n_spans. +func SpansetSplitNSpans(ss *SpanSet, span_count int) (*Span, int) { + var _out_count C.int + res := C.spanset_split_n_spans(ss._inner, C.int(span_count), &_out_count) + return &Span{_inner: res}, int(_out_count) +} // AdjacentSpanBigint wraps MEOS C function adjacent_span_bigint. @@ -4794,12 +4948,20 @@ func BigintGetBin(value int64, vsize int64, vorigin int64) int64 { } -// TODO bigintspan_bins: unsupported param int * -// func BigintspanBins(...) { /* not yet handled by codegen */ } +// BigintspanBins wraps MEOS C function bigintspan_bins. +func BigintspanBins(s *Span, vsize int64, vorigin int64) (*Span, int) { + var _out_count C.int + res := C.bigintspan_bins(s._inner, C.int64(vsize), C.int64(vorigin), &_out_count) + return &Span{_inner: res}, int(_out_count) +} -// TODO bigintspanset_bins: unsupported param int * -// func BigintspansetBins(...) { /* not yet handled by codegen */ } +// BigintspansetBins wraps MEOS C function bigintspanset_bins. +func BigintspansetBins(ss *SpanSet, vsize int64, vorigin int64) (*Span, int) { + var _out_count C.int + res := C.bigintspanset_bins(ss._inner, C.int64(vsize), C.int64(vorigin), &_out_count) + return &Span{_inner: res}, int(_out_count) +} // DateGetBin wraps MEOS C function date_get_bin. @@ -4809,12 +4971,20 @@ func DateGetBin(d int32, duration timeutil.Timedelta, torigin int32) int32 { } -// TODO datespan_bins: unsupported param int * -// func DatespanBins(...) { /* not yet handled by codegen */ } +// DatespanBins wraps MEOS C function datespan_bins. +func DatespanBins(s *Span, duration timeutil.Timedelta, torigin int32) (*Span, int) { + var _out_count C.int + res := C.datespan_bins(s._inner, duration.Inner(), C.DateADT(torigin), &_out_count) + return &Span{_inner: res}, int(_out_count) +} -// TODO datespanset_bins: unsupported param int * -// func DatespansetBins(...) { /* not yet handled by codegen */ } +// DatespansetBins wraps MEOS C function datespanset_bins. +func DatespansetBins(ss *SpanSet, duration timeutil.Timedelta, torigin int32) (*Span, int) { + var _out_count C.int + res := C.datespanset_bins(ss._inner, duration.Inner(), C.DateADT(torigin), &_out_count) + return &Span{_inner: res}, int(_out_count) +} // FloatGetBin wraps MEOS C function float_get_bin. @@ -4824,12 +4994,20 @@ func FloatGetBin(value float64, vsize float64, vorigin float64) float64 { } -// TODO floatspan_bins: unsupported param int * -// func FloatspanBins(...) { /* not yet handled by codegen */ } +// FloatspanBins wraps MEOS C function floatspan_bins. +func FloatspanBins(s *Span, vsize float64, vorigin float64) (*Span, int) { + var _out_count C.int + res := C.floatspan_bins(s._inner, C.double(vsize), C.double(vorigin), &_out_count) + return &Span{_inner: res}, int(_out_count) +} -// TODO floatspanset_bins: unsupported param int * -// func FloatspansetBins(...) { /* not yet handled by codegen */ } +// FloatspansetBins wraps MEOS C function floatspanset_bins. +func FloatspansetBins(ss *SpanSet, vsize float64, vorigin float64) (*Span, int) { + var _out_count C.int + res := C.floatspanset_bins(ss._inner, C.double(vsize), C.double(vorigin), &_out_count) + return &Span{_inner: res}, int(_out_count) +} // IntGetBin wraps MEOS C function int_get_bin. @@ -4839,12 +5017,20 @@ func IntGetBin(value int, vsize int, vorigin int) int { } -// TODO intspan_bins: unsupported param int * -// func IntspanBins(...) { /* not yet handled by codegen */ } +// IntspanBins wraps MEOS C function intspan_bins. +func IntspanBins(s *Span, vsize int, vorigin int) (*Span, int) { + var _out_count C.int + res := C.intspan_bins(s._inner, C.int(vsize), C.int(vorigin), &_out_count) + return &Span{_inner: res}, int(_out_count) +} -// TODO intspanset_bins: unsupported param int * -// func IntspansetBins(...) { /* not yet handled by codegen */ } +// IntspansetBins wraps MEOS C function intspanset_bins. +func IntspansetBins(ss *SpanSet, vsize int, vorigin int) (*Span, int) { + var _out_count C.int + res := C.intspanset_bins(ss._inner, C.int(vsize), C.int(vorigin), &_out_count) + return &Span{_inner: res}, int(_out_count) +} // TimestamptzGetBin wraps MEOS C function timestamptz_get_bin. @@ -4854,20 +5040,42 @@ func TimestamptzGetBin(t int64, duration timeutil.Timedelta, torigin int64) int6 } -// TODO tstzspan_bins: unsupported param int * -// func TstzspanBins(...) { /* not yet handled by codegen */ } +// TstzspanBins wraps MEOS C function tstzspan_bins. +func TstzspanBins(s *Span, duration timeutil.Timedelta, origin int64) (*Span, int) { + var _out_count C.int + res := C.tstzspan_bins(s._inner, duration.Inner(), C.TimestampTz(origin), &_out_count) + return &Span{_inner: res}, int(_out_count) +} -// TODO tstzspanset_bins: unsupported param int * -// func TstzspansetBins(...) { /* not yet handled by codegen */ } +// TstzspansetBins wraps MEOS C function tstzspanset_bins. +func TstzspansetBins(ss *SpanSet, duration timeutil.Timedelta, torigin int64) (*Span, int) { + var _out_count C.int + res := C.tstzspanset_bins(ss._inner, duration.Inner(), C.TimestampTz(torigin), &_out_count) + return &Span{_inner: res}, int(_out_count) +} -// TODO tbox_as_hexwkb: unsupported param size_t * -// func TBOXAsHexwkb(...) { /* not yet handled by codegen */ } +// TBOXAsHexwkb wraps MEOS C function tbox_as_hexwkb. +func TBOXAsHexwkb(box *TBox, variant uint8) (string, uint) { + var _out_size C.size_t + res := C.tbox_as_hexwkb(box._inner, C.uint8_t(variant), &_out_size) + return C.GoString(res), uint(_out_size) +} -// TODO tbox_as_wkb: unsupported return type uint8_t * -// func TBOXAsWKB(...) { /* not yet handled by codegen */ } +// TBOXAsWKB wraps MEOS C function tbox_as_wkb. +func TBOXAsWKB(box *TBox, variant uint8) []uint8 { + var _out_size_out C.size_t + res := C.tbox_as_wkb(box._inner, C.uint8_t(variant), &_out_size_out) + _n := int(_out_size_out) + _slice := unsafe.Slice((*C.uint8_t)(unsafe.Pointer(res)), _n) + _out := make([]uint8, _n) + for _i, _e := range _slice { + _out[_i] = uint8(_e) + } + return _out +} // TBOXFromHexwkb wraps MEOS C function tbox_from_hexwkb. @@ -4879,8 +5087,11 @@ func TBOXFromHexwkb(hexwkb string) *TBox { } -// TODO tbox_from_wkb: unsupported param const uint8_t * -// func TBOXFromWKB(...) { /* not yet handled by codegen */ } +// TBOXFromWKB wraps MEOS C function tbox_from_wkb. +func TBOXFromWKB(wkb []byte) *TBox { + res := C.tbox_from_wkb((*C.uint8_t)(unsafe.Pointer(&wkb[0])), C.size_t(len(wkb))) + return &TBox{_inner: res} +} // TBOXIn wraps MEOS C function tbox_in. @@ -5046,52 +5257,100 @@ func TBOXHasx(box *TBox) bool { } -// TODO tbox_tmax: unsupported param TimestampTz * -// func TBOXTmax(...) { /* not yet handled by codegen */ } +// TBOXTmax wraps MEOS C function tbox_tmax. +func TBOXTmax(box *TBox) (bool, int64) { + var _out_result C.TimestampTz + res := C.tbox_tmax(box._inner, &_out_result) + return bool(res), int64({}) +} -// TODO tbox_tmax_inc: unsupported param bool * -// func TBOXTmaxInc(...) { /* not yet handled by codegen */ } +// TBOXTmaxInc wraps MEOS C function tbox_tmax_inc. +func TBOXTmaxInc(box *TBox) (bool, bool) { + var _out_result C.bool + res := C.tbox_tmax_inc(box._inner, &_out_result) + return bool(res), bool({}) +} -// TODO tbox_tmin: unsupported param TimestampTz * -// func TBOXTmin(...) { /* not yet handled by codegen */ } +// TBOXTmin wraps MEOS C function tbox_tmin. +func TBOXTmin(box *TBox) (bool, int64) { + var _out_result C.TimestampTz + res := C.tbox_tmin(box._inner, &_out_result) + return bool(res), int64({}) +} -// TODO tbox_tmin_inc: unsupported param bool * -// func TBOXTminInc(...) { /* not yet handled by codegen */ } +// TBOXTminInc wraps MEOS C function tbox_tmin_inc. +func TBOXTminInc(box *TBox) (bool, bool) { + var _out_result C.bool + res := C.tbox_tmin_inc(box._inner, &_out_result) + return bool(res), bool({}) +} -// TODO tbox_xmax: unsupported param double * -// func TBOXXmax(...) { /* not yet handled by codegen */ } +// TBOXXmax wraps MEOS C function tbox_xmax. +func TBOXXmax(box *TBox) (bool, float64) { + var _out_result C.double + res := C.tbox_xmax(box._inner, &_out_result) + return bool(res), float64({}) +} -// TODO tbox_xmax_inc: unsupported param bool * -// func TBOXXmaxInc(...) { /* not yet handled by codegen */ } +// TBOXXmaxInc wraps MEOS C function tbox_xmax_inc. +func TBOXXmaxInc(box *TBox) (bool, bool) { + var _out_result C.bool + res := C.tbox_xmax_inc(box._inner, &_out_result) + return bool(res), bool({}) +} -// TODO tbox_xmin: unsupported param double * -// func TBOXXmin(...) { /* not yet handled by codegen */ } +// TBOXXmin wraps MEOS C function tbox_xmin. +func TBOXXmin(box *TBox) (bool, float64) { + var _out_result C.double + res := C.tbox_xmin(box._inner, &_out_result) + return bool(res), float64({}) +} -// TODO tbox_xmin_inc: unsupported param bool * -// func TBOXXminInc(...) { /* not yet handled by codegen */ } +// TBOXXminInc wraps MEOS C function tbox_xmin_inc. +func TBOXXminInc(box *TBox) (bool, bool) { + var _out_result C.bool + res := C.tbox_xmin_inc(box._inner, &_out_result) + return bool(res), bool({}) +} -// TODO tboxfloat_xmax: unsupported param double * -// func TboxfloatXmax(...) { /* not yet handled by codegen */ } +// TboxfloatXmax wraps MEOS C function tboxfloat_xmax. +func TboxfloatXmax(box *TBox) (bool, float64) { + var _out_result C.double + res := C.tboxfloat_xmax(box._inner, &_out_result) + return bool(res), float64({}) +} -// TODO tboxfloat_xmin: unsupported param double * -// func TboxfloatXmin(...) { /* not yet handled by codegen */ } +// TboxfloatXmin wraps MEOS C function tboxfloat_xmin. +func TboxfloatXmin(box *TBox) (bool, float64) { + var _out_result C.double + res := C.tboxfloat_xmin(box._inner, &_out_result) + return bool(res), float64({}) +} -// TODO tboxint_xmax: unsupported param int * -// func TboxintXmax(...) { /* not yet handled by codegen */ } +// TboxintXmax wraps MEOS C function tboxint_xmax. +func TboxintXmax(box *TBox) (bool, int) { + var _out_result C.int + res := C.tboxint_xmax(box._inner, &_out_result) + return bool(res), int({}) +} -// TODO tboxint_xmin: unsupported param int * -// func TboxintXmin(...) { /* not yet handled by codegen */ } +// TboxintXmin wraps MEOS C function tboxint_xmin. +func TboxintXmin(box *TBox) (bool, int) { + var _out_result C.int + res := C.tboxint_xmin(box._inner, &_out_result) + return bool(res), int({}) +} // TBOXExpandTime wraps MEOS C function tbox_expand_time. @@ -5322,8 +5581,12 @@ func TboolOut(temp Temporal) string { } -// TODO temporal_as_hexwkb: unsupported param size_t * -// func TemporalAsHexwkb(...) { /* not yet handled by codegen */ } +// TemporalAsHexwkb wraps MEOS C function temporal_as_hexwkb. +func TemporalAsHexwkb(temp Temporal, variant uint8) (string, uint) { + var _out_size_out C.size_t + res := C.temporal_as_hexwkb(temp.Inner(), C.uint8_t(variant), &_out_size_out) + return C.GoString(res), uint(_out_size_out) +} // TemporalAsMFJSON wraps MEOS C function temporal_as_mfjson. @@ -5335,8 +5598,18 @@ func TemporalAsMFJSON(temp Temporal, with_bbox bool, flags int, precision int, s } -// TODO temporal_as_wkb: unsupported return type uint8_t * -// func TemporalAsWKB(...) { /* not yet handled by codegen */ } +// TemporalAsWKB wraps MEOS C function temporal_as_wkb. +func TemporalAsWKB(temp Temporal, variant uint8) []uint8 { + var _out_size_out C.size_t + res := C.temporal_as_wkb(temp.Inner(), C.uint8_t(variant), &_out_size_out) + _n := int(_out_size_out) + _slice := unsafe.Slice((*C.uint8_t)(unsafe.Pointer(res)), _n) + _out := make([]uint8, _n) + for _i, _e := range _slice { + _out[_i] = uint8(_e) + } + return _out +} // TemporalFromHexwkb wraps MEOS C function temporal_from_hexwkb. @@ -5348,8 +5621,11 @@ func TemporalFromHexwkb(hexwkb string) Temporal { } -// TODO temporal_from_wkb: unsupported param const uint8_t * -// func TemporalFromWKB(...) { /* not yet handled by codegen */ } +// TemporalFromWKB wraps MEOS C function temporal_from_wkb. +func TemporalFromWKB(wkb []byte) Temporal { + res := C.temporal_from_wkb((*C.uint8_t)(unsafe.Pointer(&wkb[0])), C.size_t(len(wkb))) + return CreateTemporal(res) +} // TfloatFromMFJSON wraps MEOS C function tfloat_from_mfjson. @@ -5539,16 +5815,31 @@ func TintseqsetFromBaseTstzspanset(i int, ss *SpanSet) TSequenceSet { } -// TODO tsequence_make: unsupported param TInstant ** -// func TsequenceMake(...) { /* not yet handled by codegen */ } +// TsequenceMake wraps MEOS C function tsequence_make. +func TsequenceMake(instants []TInstant, lower_inc bool, upper_inc bool, interp Interpolation, normalize bool) TSequence { + _c_instants := make([]*C.TInstant, len(instants)) + for _i, _v := range instants { _c_instants[_i] = _v._inner } + res := C.tsequence_make((**C.TInstant)(unsafe.Pointer(&_c_instants[0])), C.int(len(instants)), C.bool(lower_inc), C.bool(upper_inc), C.interpType(interp), C.bool(normalize)) + return TSequence{_inner: res} +} -// TODO tsequenceset_make: unsupported param TSequence ** -// func TsequencesetMake(...) { /* not yet handled by codegen */ } +// TsequencesetMake wraps MEOS C function tsequenceset_make. +func TsequencesetMake(sequences []TSequence, normalize bool) TSequenceSet { + _c_sequences := make([]*C.TSequence, len(sequences)) + for _i, _v := range sequences { _c_sequences[_i] = _v._inner } + res := C.tsequenceset_make((**C.TSequence)(unsafe.Pointer(&_c_sequences[0])), C.int(len(sequences)), C.bool(normalize)) + return TSequenceSet{_inner: res} +} -// TODO tsequenceset_make_gaps: unsupported param TInstant ** -// func TsequencesetMakeGaps(...) { /* not yet handled by codegen */ } +// TsequencesetMakeGaps wraps MEOS C function tsequenceset_make_gaps. +func TsequencesetMakeGaps(instants []TInstant, interp Interpolation, maxt timeutil.Timedelta, maxdist float64) TSequenceSet { + _c_instants := make([]*C.TInstant, len(instants)) + for _i, _v := range instants { _c_instants[_i] = _v._inner } + res := C.tsequenceset_make_gaps((**C.TInstant)(unsafe.Pointer(&_c_instants[0])), C.int(len(instants)), C.interpType(interp), maxt.Inner(), C.double(maxdist)) + return TSequenceSet{_inner: res} +} // TtextFromBaseTemp wraps MEOS C function ttext_from_base_temp. @@ -5652,16 +5943,34 @@ func TboolStartValue(temp Temporal) bool { } -// TODO tbool_value_at_timestamptz: unsupported param bool * -// func TboolValueAtTimestamptz(...) { /* not yet handled by codegen */ } +// TboolValueAtTimestamptz wraps MEOS C function tbool_value_at_timestamptz. +func TboolValueAtTimestamptz(temp Temporal, t int64, strict bool) (bool, bool) { + var _out_value C.bool + res := C.tbool_value_at_timestamptz(temp.Inner(), C.TimestampTz(t), C.bool(strict), &_out_value) + return bool(res), bool({}) +} -// TODO tbool_value_n: unsupported param bool * -// func TboolValueN(...) { /* not yet handled by codegen */ } +// TboolValueN wraps MEOS C function tbool_value_n. +func TboolValueN(temp Temporal, n int) (bool, bool) { + var _out_result C.bool + res := C.tbool_value_n(temp.Inner(), C.int(n), &_out_result) + return bool(res), bool({}) +} -// TODO tbool_values: unsupported return type bool * -// func TboolValues(...) { /* not yet handled by codegen */ } +// TboolValues wraps MEOS C function tbool_values. +func TboolValues(temp Temporal) []bool { + var _out_count C.int + res := C.tbool_values(temp.Inner(), &_out_count) + _n := int(_out_count) + _slice := unsafe.Slice((*C.bool)(unsafe.Pointer(res)), _n) + _out := make([]bool, _n) + for _i, _e := range _slice { + _out[_i] = bool(_e) + } + return _out +} // TemporalDuration wraps MEOS C function temporal_duration. @@ -5706,8 +6015,18 @@ func TemporalInstantN(temp Temporal, n int) TInstant { } -// TODO temporal_instants: unsupported return type TInstant ** -// func TemporalInstants(...) { /* not yet handled by codegen */ } +// TemporalInstants wraps MEOS C function temporal_instants. +func TemporalInstants(temp Temporal) []TInstant { + var _out_count C.int + res := C.temporal_instants(temp.Inner(), &_out_count) + _n := int(_out_count) + _slice := unsafe.Slice((**C.TInstant)(unsafe.Pointer(res)), _n) + _out := make([]TInstant, _n) + for _i, _e := range _slice { + _out[_i] = TInstant{_inner: _e} + } + return _out +} // TemporalInterp wraps MEOS C function temporal_interp. @@ -5766,8 +6085,18 @@ func TemporalSegmDuration(temp Temporal, duration timeutil.Timedelta, atleast bo } -// TODO temporal_segments: unsupported return type TSequence ** -// func TemporalSegments(...) { /* not yet handled by codegen */ } +// TemporalSegments wraps MEOS C function temporal_segments. +func TemporalSegments(temp Temporal) []TSequence { + var _out_count C.int + res := C.temporal_segments(temp.Inner(), &_out_count) + _n := int(_out_count) + _slice := unsafe.Slice((**C.TSequence)(unsafe.Pointer(res)), _n) + _out := make([]TSequence, _n) + for _i, _e := range _slice { + _out[_i] = TSequence{_inner: _e} + } + return _out +} // TemporalSequenceN wraps MEOS C function temporal_sequence_n. @@ -5777,8 +6106,18 @@ func TemporalSequenceN(temp Temporal, i int) TSequence { } -// TODO temporal_sequences: unsupported return type TSequence ** -// func TemporalSequences(...) { /* not yet handled by codegen */ } +// TemporalSequences wraps MEOS C function temporal_sequences. +func TemporalSequences(temp Temporal) []TSequence { + var _out_count C.int + res := C.temporal_sequences(temp.Inner(), &_out_count) + _n := int(_out_count) + _slice := unsafe.Slice((**C.TSequence)(unsafe.Pointer(res)), _n) + _out := make([]TSequence, _n) + for _i, _e := range _slice { + _out[_i] = TSequence{_inner: _e} + } + return _out +} // TemporalStartInstant wraps MEOS C function temporal_start_instant. @@ -5823,12 +6162,26 @@ func TemporalTime(temp Temporal) *SpanSet { } -// TODO temporal_timestamps: unsupported return type TimestampTz * -// func TemporalTimestamps(...) { /* not yet handled by codegen */ } +// TemporalTimestamps wraps MEOS C function temporal_timestamps. +func TemporalTimestamps(temp Temporal) []int64 { + var _out_count C.int + res := C.temporal_timestamps(temp.Inner(), &_out_count) + _n := int(_out_count) + _slice := unsafe.Slice((*C.TimestampTz)(unsafe.Pointer(res)), _n) + _out := make([]int64, _n) + for _i, _e := range _slice { + _out[_i] = int64(_e) + } + return _out +} -// TODO temporal_timestamptz_n: unsupported param TimestampTz * -// func TemporalTimestamptzN(...) { /* not yet handled by codegen */ } +// TemporalTimestamptzN wraps MEOS C function temporal_timestamptz_n. +func TemporalTimestamptzN(temp Temporal, n int) (bool, int64) { + var _out_result C.TimestampTz + res := C.temporal_timestamptz_n(temp.Inner(), C.int(n), &_out_result) + return bool(res), int64({}) +} // TemporalUpperInc wraps MEOS C function temporal_upper_inc. @@ -5873,16 +6226,34 @@ func TfloatStartValue(temp Temporal) float64 { } -// TODO tfloat_value_at_timestamptz: unsupported param double * -// func TfloatValueAtTimestamptz(...) { /* not yet handled by codegen */ } +// TfloatValueAtTimestamptz wraps MEOS C function tfloat_value_at_timestamptz. +func TfloatValueAtTimestamptz(temp Temporal, t int64, strict bool) (bool, float64) { + var _out_value C.double + res := C.tfloat_value_at_timestamptz(temp.Inner(), C.TimestampTz(t), C.bool(strict), &_out_value) + return bool(res), float64({}) +} -// TODO tfloat_value_n: unsupported param double * -// func TfloatValueN(...) { /* not yet handled by codegen */ } +// TfloatValueN wraps MEOS C function tfloat_value_n. +func TfloatValueN(temp Temporal, n int) (bool, float64) { + var _out_result C.double + res := C.tfloat_value_n(temp.Inner(), C.int(n), &_out_result) + return bool(res), float64({}) +} -// TODO tfloat_values: unsupported return type double * -// func TfloatValues(...) { /* not yet handled by codegen */ } +// TfloatValues wraps MEOS C function tfloat_values. +func TfloatValues(temp Temporal) []float64 { + var _out_count C.int + res := C.tfloat_values(temp.Inner(), &_out_count) + _n := int(_out_count) + _slice := unsafe.Slice((*C.double)(unsafe.Pointer(res)), _n) + _out := make([]float64, _n) + for _i, _e := range _slice { + _out[_i] = float64(_e) + } + return _out +} // TintEndValue wraps MEOS C function tint_end_value. @@ -5913,16 +6284,34 @@ func TintStartValue(temp Temporal) int { } -// TODO tint_value_at_timestamptz: unsupported param int * -// func TintValueAtTimestamptz(...) { /* not yet handled by codegen */ } +// TintValueAtTimestamptz wraps MEOS C function tint_value_at_timestamptz. +func TintValueAtTimestamptz(temp Temporal, t int64, strict bool) (bool, int) { + var _out_value C.int + res := C.tint_value_at_timestamptz(temp.Inner(), C.TimestampTz(t), C.bool(strict), &_out_value) + return bool(res), int({}) +} -// TODO tint_value_n: unsupported param int * -// func TintValueN(...) { /* not yet handled by codegen */ } +// TintValueN wraps MEOS C function tint_value_n. +func TintValueN(temp Temporal, n int) (bool, int) { + var _out_result C.int + res := C.tint_value_n(temp.Inner(), C.int(n), &_out_result) + return bool(res), int({}) +} -// TODO tint_values: unsupported return type int * -// func TintValues(...) { /* not yet handled by codegen */ } +// TintValues wraps MEOS C function tint_values. +func TintValues(temp Temporal) []int { + var _out_count C.int + res := C.tint_values(temp.Inner(), &_out_count) + _n := int(_out_count) + _slice := unsafe.Slice((*C.int)(unsafe.Pointer(res)), _n) + _out := make([]int, _n) + for _i, _e := range _slice { + _out[_i] = int(_e) + } + return _out +} // TnumberAvgValue wraps MEOS C function tnumber_avg_value. @@ -5981,12 +6370,20 @@ func TtextStartValue(temp Temporal) string { } -// TODO ttext_value_at_timestamptz: unsupported param text ** -// func TtextValueAtTimestamptz(...) { /* not yet handled by codegen */ } +// TtextValueAtTimestamptz wraps MEOS C function ttext_value_at_timestamptz. +func TtextValueAtTimestamptz(temp Temporal, t int64, strict bool) (bool, string) { + var _out_value *C.text + res := C.ttext_value_at_timestamptz(temp.Inner(), C.TimestampTz(t), C.bool(strict), &_out_value) + return bool(res), text2cstring(_out_value) +} -// TODO ttext_value_n: unsupported param text ** -// func TtextValueN(...) { /* not yet handled by codegen */ } +// TtextValueN wraps MEOS C function ttext_value_n. +func TtextValueN(temp Temporal, n int) (bool, string) { + var _out_result *C.text + res := C.ttext_value_n(temp.Inner(), C.int(n), &_out_result) + return bool(res), text2cstring(_out_result) +} // TODO ttext_values: unsupported return type text ** @@ -6000,8 +6397,19 @@ func FloatDegrees(value float64, normalize bool) float64 { } -// TODO temparr_round: unsupported return type Temporal ** -// func TemparrRound(...) { /* not yet handled by codegen */ } +// TemparrRound wraps MEOS C function temparr_round. +func TemparrRound(temp []Temporal, maxdd int) []Temporal { + _c_temp := make([]*C.Temporal, len(temp)) + for _i, _v := range temp { _c_temp[_i] = _v._inner } + res := C.temparr_round((**C.Temporal)(unsafe.Pointer(&_c_temp[0])), C.int(len(temp)), C.int(maxdd)) + _n := len(temp) + _slice := unsafe.Slice((**C.Temporal)(unsafe.Pointer(res)), _n) + _out := make([]Temporal, _n) + for _i, _e := range _slice { + _out[_i] = CreateTemporal(_e) + } + return _out +} // TemporalRound wraps MEOS C function temporal_round. @@ -6186,8 +6594,13 @@ func TemporalMerge(temp1 Temporal, temp2 Temporal) Temporal { } -// TODO temporal_merge_array: unsupported param Temporal ** -// func TemporalMergeArray(...) { /* not yet handled by codegen */ } +// TemporalMergeArray wraps MEOS C function temporal_merge_array. +func TemporalMergeArray(temparr []Temporal) Temporal { + _c_temparr := make([]*C.Temporal, len(temparr)) + for _i, _v := range temparr { _c_temparr[_i] = _v._inner } + res := C.temporal_merge_array((**C.Temporal)(unsafe.Pointer(&_c_temparr[0])), C.int(len(temparr))) + return CreateTemporal(res) +} // TemporalUpdate wraps MEOS C function temporal_update. @@ -7498,28 +7911,52 @@ func TneTtextText(temp Temporal, txt string) Temporal { } -// TODO temporal_spans: unsupported param int * -// func TemporalSpans(...) { /* not yet handled by codegen */ } +// TemporalSpans wraps MEOS C function temporal_spans. +func TemporalSpans(temp Temporal) (*Span, int) { + var _out_count C.int + res := C.temporal_spans(temp.Inner(), &_out_count) + return &Span{_inner: res}, int(_out_count) +} -// TODO temporal_split_each_n_spans: unsupported param int * -// func TemporalSplitEachNSpans(...) { /* not yet handled by codegen */ } +// TemporalSplitEachNSpans wraps MEOS C function temporal_split_each_n_spans. +func TemporalSplitEachNSpans(temp Temporal, elem_count int) (*Span, int) { + var _out_count C.int + res := C.temporal_split_each_n_spans(temp.Inner(), C.int(elem_count), &_out_count) + return &Span{_inner: res}, int(_out_count) +} -// TODO temporal_split_n_spans: unsupported param int * -// func TemporalSplitNSpans(...) { /* not yet handled by codegen */ } +// TemporalSplitNSpans wraps MEOS C function temporal_split_n_spans. +func TemporalSplitNSpans(temp Temporal, span_count int) (*Span, int) { + var _out_count C.int + res := C.temporal_split_n_spans(temp.Inner(), C.int(span_count), &_out_count) + return &Span{_inner: res}, int(_out_count) +} -// TODO tnumber_split_each_n_tboxes: unsupported param int * -// func TnumberSplitEachNTboxes(...) { /* not yet handled by codegen */ } +// TnumberSplitEachNTboxes wraps MEOS C function tnumber_split_each_n_tboxes. +func TnumberSplitEachNTboxes(temp Temporal, elem_count int) (*TBox, int) { + var _out_count C.int + res := C.tnumber_split_each_n_tboxes(temp.Inner(), C.int(elem_count), &_out_count) + return &TBox{_inner: res}, int(_out_count) +} -// TODO tnumber_split_n_tboxes: unsupported param int * -// func TnumberSplitNTboxes(...) { /* not yet handled by codegen */ } +// TnumberSplitNTboxes wraps MEOS C function tnumber_split_n_tboxes. +func TnumberSplitNTboxes(temp Temporal, box_count int) (*TBox, int) { + var _out_count C.int + res := C.tnumber_split_n_tboxes(temp.Inner(), C.int(box_count), &_out_count) + return &TBox{_inner: res}, int(_out_count) +} -// TODO tnumber_tboxes: unsupported param int * -// func TnumberTboxes(...) { /* not yet handled by codegen */ } +// TnumberTboxes wraps MEOS C function tnumber_tboxes. +func TnumberTboxes(temp Temporal) (*TBox, int) { + var _out_count C.int + res := C.tnumber_tboxes(temp.Inner(), &_out_count) + return &TBox{_inner: res}, int(_out_count) +} // AdjacentNumspanTnumber wraps MEOS C function adjacent_numspan_tnumber. @@ -8730,8 +9167,12 @@ func TemporalDyntimewarpDistance(temp1 Temporal, temp2 Temporal) float64 { } -// TODO temporal_dyntimewarp_path: unsupported return type Match * -// func TemporalDyntimewarpPath(...) { /* not yet handled by codegen */ } +// TemporalDyntimewarpPath wraps MEOS C function temporal_dyntimewarp_path. +func TemporalDyntimewarpPath(temp1 Temporal, temp2 Temporal) (*Match, int) { + var _out_count C.int + res := C.temporal_dyntimewarp_path(temp1.Inner(), temp2.Inner(), &_out_count) + return &Match{_inner: res}, int(_out_count) +} // TemporalFrechetDistance wraps MEOS C function temporal_frechet_distance. @@ -8741,8 +9182,12 @@ func TemporalFrechetDistance(temp1 Temporal, temp2 Temporal) float64 { } -// TODO temporal_frechet_path: unsupported return type Match * -// func TemporalFrechetPath(...) { /* not yet handled by codegen */ } +// TemporalFrechetPath wraps MEOS C function temporal_frechet_path. +func TemporalFrechetPath(temp1 Temporal, temp2 Temporal) (*Match, int) { + var _out_count C.int + res := C.temporal_frechet_path(temp1.Inner(), temp2.Inner(), &_out_count) + return &Match{_inner: res}, int(_out_count) +} // TemporalHausdorffDistance wraps MEOS C function temporal_hausdorff_distance. @@ -8752,82 +9197,142 @@ func TemporalHausdorffDistance(temp1 Temporal, temp2 Temporal) float64 { } -// TODO temporal_time_bins: unsupported param int * -// func TemporalTimeBins(...) { /* not yet handled by codegen */ } +// TemporalTimeBins wraps MEOS C function temporal_time_bins. +func TemporalTimeBins(temp Temporal, duration timeutil.Timedelta, origin int64) (*Span, int) { + var _out_count C.int + res := C.temporal_time_bins(temp.Inner(), duration.Inner(), C.TimestampTz(origin), &_out_count) + return &Span{_inner: res}, int(_out_count) +} -// TODO temporal_time_split: unsupported return type Temporal ** +// TODO temporal_time_split: unsupported param TimestampTz ** // func TemporalTimeSplit(...) { /* not yet handled by codegen */ } -// TODO tfloat_time_boxes: unsupported param int * -// func TfloatTimeBoxes(...) { /* not yet handled by codegen */ } +// TfloatTimeBoxes wraps MEOS C function tfloat_time_boxes. +func TfloatTimeBoxes(temp Temporal, duration timeutil.Timedelta, torigin int64) (*TBox, int) { + var _out_count C.int + res := C.tfloat_time_boxes(temp.Inner(), duration.Inner(), C.TimestampTz(torigin), &_out_count) + return &TBox{_inner: res}, int(_out_count) +} -// TODO tfloat_value_bins: unsupported param int * -// func TfloatValueBins(...) { /* not yet handled by codegen */ } +// TfloatValueBins wraps MEOS C function tfloat_value_bins. +func TfloatValueBins(temp Temporal, vsize float64, vorigin float64) (*Span, int) { + var _out_count C.int + res := C.tfloat_value_bins(temp.Inner(), C.double(vsize), C.double(vorigin), &_out_count) + return &Span{_inner: res}, int(_out_count) +} -// TODO tfloat_value_boxes: unsupported param int * -// func TfloatValueBoxes(...) { /* not yet handled by codegen */ } +// TfloatValueBoxes wraps MEOS C function tfloat_value_boxes. +func TfloatValueBoxes(temp Temporal, vsize float64, vorigin float64) (*TBox, int) { + var _out_count C.int + res := C.tfloat_value_boxes(temp.Inner(), C.double(vsize), C.double(vorigin), &_out_count) + return &TBox{_inner: res}, int(_out_count) +} -// TODO tfloat_value_split: unsupported return type Temporal ** +// TODO tfloat_value_split: unsupported param double ** // func TfloatValueSplit(...) { /* not yet handled by codegen */ } -// TODO tfloat_value_time_boxes: unsupported param int * -// func TfloatValueTimeBoxes(...) { /* not yet handled by codegen */ } +// TfloatValueTimeBoxes wraps MEOS C function tfloat_value_time_boxes. +func TfloatValueTimeBoxes(temp Temporal, vsize float64, duration timeutil.Timedelta, vorigin float64, torigin int64) (*TBox, int) { + var _out_count C.int + res := C.tfloat_value_time_boxes(temp.Inner(), C.double(vsize), duration.Inner(), C.double(vorigin), C.TimestampTz(torigin), &_out_count) + return &TBox{_inner: res}, int(_out_count) +} -// TODO tfloat_value_time_split: unsupported return type Temporal ** +// TODO tfloat_value_time_split: unsupported param double ** // func TfloatValueTimeSplit(...) { /* not yet handled by codegen */ } -// TODO tfloatbox_time_tiles: unsupported param int * -// func TfloatboxTimeTiles(...) { /* not yet handled by codegen */ } +// TfloatboxTimeTiles wraps MEOS C function tfloatbox_time_tiles. +func TfloatboxTimeTiles(box *TBox, duration timeutil.Timedelta, torigin int64) (*TBox, int) { + var _out_count C.int + res := C.tfloatbox_time_tiles(box._inner, duration.Inner(), C.TimestampTz(torigin), &_out_count) + return &TBox{_inner: res}, int(_out_count) +} -// TODO tfloatbox_value_tiles: unsupported param int * -// func TfloatboxValueTiles(...) { /* not yet handled by codegen */ } +// TfloatboxValueTiles wraps MEOS C function tfloatbox_value_tiles. +func TfloatboxValueTiles(box *TBox, vsize float64, vorigin float64) (*TBox, int) { + var _out_count C.int + res := C.tfloatbox_value_tiles(box._inner, C.double(vsize), C.double(vorigin), &_out_count) + return &TBox{_inner: res}, int(_out_count) +} -// TODO tfloatbox_value_time_tiles: unsupported param int * -// func TfloatboxValueTimeTiles(...) { /* not yet handled by codegen */ } +// TfloatboxValueTimeTiles wraps MEOS C function tfloatbox_value_time_tiles. +func TfloatboxValueTimeTiles(box *TBox, vsize float64, duration timeutil.Timedelta, vorigin float64, torigin int64) (*TBox, int) { + var _out_count C.int + res := C.tfloatbox_value_time_tiles(box._inner, C.double(vsize), duration.Inner(), C.double(vorigin), C.TimestampTz(torigin), &_out_count) + return &TBox{_inner: res}, int(_out_count) +} -// TODO tint_time_boxes: unsupported param int * -// func TintTimeBoxes(...) { /* not yet handled by codegen */ } +// TintTimeBoxes wraps MEOS C function tint_time_boxes. +func TintTimeBoxes(temp Temporal, duration timeutil.Timedelta, torigin int64) (*TBox, int) { + var _out_count C.int + res := C.tint_time_boxes(temp.Inner(), duration.Inner(), C.TimestampTz(torigin), &_out_count) + return &TBox{_inner: res}, int(_out_count) +} -// TODO tint_value_bins: unsupported param int * -// func TintValueBins(...) { /* not yet handled by codegen */ } +// TintValueBins wraps MEOS C function tint_value_bins. +func TintValueBins(temp Temporal, vsize int, vorigin int) (*Span, int) { + var _out_count C.int + res := C.tint_value_bins(temp.Inner(), C.int(vsize), C.int(vorigin), &_out_count) + return &Span{_inner: res}, int(_out_count) +} -// TODO tint_value_boxes: unsupported param int * -// func TintValueBoxes(...) { /* not yet handled by codegen */ } +// TintValueBoxes wraps MEOS C function tint_value_boxes. +func TintValueBoxes(temp Temporal, vsize int, vorigin int) (*TBox, int) { + var _out_count C.int + res := C.tint_value_boxes(temp.Inner(), C.int(vsize), C.int(vorigin), &_out_count) + return &TBox{_inner: res}, int(_out_count) +} -// TODO tint_value_split: unsupported return type Temporal ** +// TODO tint_value_split: unsupported param int ** // func TintValueSplit(...) { /* not yet handled by codegen */ } -// TODO tint_value_time_boxes: unsupported param int * -// func TintValueTimeBoxes(...) { /* not yet handled by codegen */ } +// TintValueTimeBoxes wraps MEOS C function tint_value_time_boxes. +func TintValueTimeBoxes(temp Temporal, vsize int, duration timeutil.Timedelta, vorigin int, torigin int64) (*TBox, int) { + var _out_count C.int + res := C.tint_value_time_boxes(temp.Inner(), C.int(vsize), duration.Inner(), C.int(vorigin), C.TimestampTz(torigin), &_out_count) + return &TBox{_inner: res}, int(_out_count) +} -// TODO tint_value_time_split: unsupported return type Temporal ** +// TODO tint_value_time_split: unsupported param int ** // func TintValueTimeSplit(...) { /* not yet handled by codegen */ } -// TODO tintbox_time_tiles: unsupported param int * -// func TintboxTimeTiles(...) { /* not yet handled by codegen */ } +// TintboxTimeTiles wraps MEOS C function tintbox_time_tiles. +func TintboxTimeTiles(box *TBox, duration timeutil.Timedelta, torigin int64) (*TBox, int) { + var _out_count C.int + res := C.tintbox_time_tiles(box._inner, duration.Inner(), C.TimestampTz(torigin), &_out_count) + return &TBox{_inner: res}, int(_out_count) +} -// TODO tintbox_value_tiles: unsupported param int * -// func TintboxValueTiles(...) { /* not yet handled by codegen */ } +// TintboxValueTiles wraps MEOS C function tintbox_value_tiles. +func TintboxValueTiles(box *TBox, xsize int, xorigin int) (*TBox, int) { + var _out_count C.int + res := C.tintbox_value_tiles(box._inner, C.int(xsize), C.int(xorigin), &_out_count) + return &TBox{_inner: res}, int(_out_count) +} -// TODO tintbox_value_time_tiles: unsupported param int * -// func TintboxValueTimeTiles(...) { /* not yet handled by codegen */ } +// TintboxValueTimeTiles wraps MEOS C function tintbox_value_time_tiles. +func TintboxValueTimeTiles(box *TBox, xsize int, duration timeutil.Timedelta, xorigin int, torigin int64) (*TBox, int) { + var _out_count C.int + res := C.tintbox_value_time_tiles(box._inner, C.int(xsize), duration.Inner(), C.int(xorigin), C.TimestampTz(torigin), &_out_count) + return &TBox{_inner: res}, int(_out_count) +} diff --git a/tools/_preview/meos_meos_geo.go b/tools/_preview/meos_meos_geo.go index 7551420..82f4204 100644 --- a/tools/_preview/meos_meos_geo.go +++ b/tools/_preview/meos_meos_geo.go @@ -18,8 +18,20 @@ func GeoGetSRID(g *Geom) int32 { } -// TODO geo_as_ewkb: unsupported return type uint8_t * -// func GeoAsEWKB(...) { /* not yet handled by codegen */ } +// GeoAsEWKB wraps MEOS C function geo_as_ewkb. +func GeoAsEWKB(gs *Geom, endian string) []uint8 { + _c_endian := C.CString(endian) + defer C.free(unsafe.Pointer(_c_endian)) + var _out_size C.size_t + res := C.geo_as_ewkb(gs._inner, _c_endian, &_out_size) + _n := int(_out_size) + _slice := unsafe.Slice((*C.uint8_t)(unsafe.Pointer(res)), _n) + _out := make([]uint8, _n) + for _i, _e := range _slice { + _out[_i] = uint8(_e) + } + return _out +} // GeoAsEWKT wraps MEOS C function geo_as_ewkt. @@ -54,8 +66,11 @@ func GeoAsText(gs *Geom, precision int) string { } -// TODO geo_from_ewkb: unsupported param const uint8_t * -// func GeoFromEWKB(...) { /* not yet handled by codegen */ } +// GeoFromEWKB wraps MEOS C function geo_from_ewkb. +func GeoFromEWKB(wkb []byte, srid int32) *Geom { + res := C.geo_from_ewkb((*C.uint8_t)(unsafe.Pointer(&wkb[0])), C.size_t(len(wkb)), C.int32(srid)) + return &Geom{_inner: res} +} // GeoFromGeojson wraps MEOS C function geo_from_geojson. @@ -128,20 +143,32 @@ func GeomIn(str string, typmod int32) *Geom { } -// TODO box3d_make: unsupported return type BOX3D * -// func Box3dMake(...) { /* not yet handled by codegen */ } +// Box3dMake wraps MEOS C function box3d_make. +func Box3dMake(xmin float64, xmax float64, ymin float64, ymax float64, zmin float64, zmax float64, srid int32) *Box3D { + res := C.box3d_make(C.double(xmin), C.double(xmax), C.double(ymin), C.double(ymax), C.double(zmin), C.double(zmax), C.int32_t(srid)) + return &Box3D{_inner: res} +} -// TODO box3d_out: unsupported param const BOX3D * -// func Box3dOut(...) { /* not yet handled by codegen */ } +// Box3dOut wraps MEOS C function box3d_out. +func Box3dOut(box *Box3D, maxdd int) string { + res := C.box3d_out(box._inner, C.int(maxdd)) + return C.GoString(res) +} -// TODO gbox_make: unsupported return type GBOX * -// func GboxMake(...) { /* not yet handled by codegen */ } +// GboxMake wraps MEOS C function gbox_make. +func GboxMake(hasz bool, xmin float64, xmax float64, ymin float64, ymax float64, zmin float64, zmax float64) *GBox { + res := C.gbox_make(C.bool(hasz), C.double(xmin), C.double(xmax), C.double(ymin), C.double(ymax), C.double(zmin), C.double(zmax)) + return &GBox{_inner: res} +} -// TODO gbox_out: unsupported param const GBOX * -// func GboxOut(...) { /* not yet handled by codegen */ } +// GboxOut wraps MEOS C function gbox_out. +func GboxOut(box *GBox, maxdd int) string { + res := C.gbox_out(box._inner, C.int(maxdd)) + return C.GoString(res) +} // GeoCopy wraps MEOS C function geo_copy. @@ -242,8 +269,12 @@ func GeogPerimeter(g *Geom, use_spheroid bool) float64 { } -// TODO geom_azimuth: unsupported param double * -// func GeomAzimuth(...) { /* not yet handled by codegen */ } +// GeomAzimuth wraps MEOS C function geom_azimuth. +func GeomAzimuth(gs1 *Geom, gs2 *Geom) (bool, float64) { + var _out_result C.double + res := C.geom_azimuth(gs1._inner, gs2._inner, &_out_result) + return bool(res), float64({}) +} // GeomLength wraps MEOS C function geom_length. @@ -318,12 +349,22 @@ func GeoTransformPipeline(gs *Geom, pipeline string, srid_to int32, is_forward b } -// TODO geo_collect_garray: unsupported param GSERIALIZED ** -// func GeoCollectGarray(...) { /* not yet handled by codegen */ } +// GeoCollectGarray wraps MEOS C function geo_collect_garray. +func GeoCollectGarray(gsarr []*Geom) *Geom { + _c_gsarr := make([]*C.GSERIALIZED, len(gsarr)) + for _i, _v := range gsarr { _c_gsarr[_i] = _v._inner } + res := C.geo_collect_garray((**C.GSERIALIZED)(unsafe.Pointer(&_c_gsarr[0])), C.int(len(gsarr))) + return &Geom{_inner: res} +} -// TODO geo_makeline_garray: unsupported param GSERIALIZED ** -// func GeoMakelineGarray(...) { /* not yet handled by codegen */ } +// GeoMakelineGarray wraps MEOS C function geo_makeline_garray. +func GeoMakelineGarray(gsarr []*Geom) *Geom { + _c_gsarr := make([]*C.GSERIALIZED, len(gsarr)) + for _i, _v := range gsarr { _c_gsarr[_i] = _v._inner } + res := C.geo_makeline_garray((**C.GSERIALIZED)(unsafe.Pointer(&_c_gsarr[0])), C.int(len(gsarr))) + return &Geom{_inner: res} +} // GeoNumPoints wraps MEOS C function geo_num_points. @@ -347,8 +388,18 @@ func GeoGeoN(geom *Geom, n int) *Geom { } -// TODO geo_pointarr: unsupported return type GSERIALIZED ** -// func GeoPointarr(...) { /* not yet handled by codegen */ } +// GeoPointarr wraps MEOS C function geo_pointarr. +func GeoPointarr(gs *Geom) []*Geom { + var _out_count C.int + res := C.geo_pointarr(gs._inner, &_out_count) + _n := int(_out_count) + _slice := unsafe.Slice((**C.GSERIALIZED)(unsafe.Pointer(res)), _n) + _out := make([]*Geom, _n) + for _i, _e := range _slice { + _out[_i] = &Geom{_inner: _e} + } + return _out +} // GeoPoints wraps MEOS C function geo_points. @@ -358,8 +409,13 @@ func GeoPoints(gs *Geom) *Geom { } -// TODO geom_array_union: unsupported param GSERIALIZED ** -// func GeomArrayUnion(...) { /* not yet handled by codegen */ } +// GeomArrayUnion wraps MEOS C function geom_array_union. +func GeomArrayUnion(gsarr []*Geom) *Geom { + _c_gsarr := make([]*C.GSERIALIZED, len(gsarr)) + for _i, _v := range gsarr { _c_gsarr[_i] = _v._inner } + res := C.geom_array_union((**C.GSERIALIZED)(unsafe.Pointer(&_c_gsarr[0])), C.int(len(gsarr))) + return &Geom{_inner: res} +} // GeomBoundary wraps MEOS C function geom_boundary. @@ -538,16 +594,28 @@ func GeomTouches(gs1 *Geom, gs2 *Geom) bool { } -// TODO geo_stboxes: unsupported param int * -// func GeoStboxes(...) { /* not yet handled by codegen */ } +// GeoStboxes wraps MEOS C function geo_stboxes. +func GeoStboxes(gs *Geom) (*STBox, int) { + var _out_count C.int + res := C.geo_stboxes(gs._inner, &_out_count) + return &STBox{_inner: res}, int(_out_count) +} -// TODO geo_split_each_n_stboxes: unsupported param int * -// func GeoSplitEachNStboxes(...) { /* not yet handled by codegen */ } +// GeoSplitEachNStboxes wraps MEOS C function geo_split_each_n_stboxes. +func GeoSplitEachNStboxes(gs *Geom, elem_count int) (*STBox, int) { + var _out_count C.int + res := C.geo_split_each_n_stboxes(gs._inner, C.int(elem_count), &_out_count) + return &STBox{_inner: res}, int(_out_count) +} -// TODO geo_split_n_stboxes: unsupported param int * -// func GeoSplitNStboxes(...) { /* not yet handled by codegen */ } +// GeoSplitNStboxes wraps MEOS C function geo_split_n_stboxes. +func GeoSplitNStboxes(gs *Geom, box_count int) (*STBox, int) { + var _out_count C.int + res := C.geo_split_n_stboxes(gs._inner, C.int(box_count), &_out_count) + return &STBox{_inner: res}, int(_out_count) +} // GeogDistance wraps MEOS C function geog_distance. @@ -617,8 +685,13 @@ func SpatialsetAsEWKT(set *Set, maxdd int) string { } -// TODO geoset_make: unsupported param GSERIALIZED ** -// func GeosetMake(...) { /* not yet handled by codegen */ } +// GeosetMake wraps MEOS C function geoset_make. +func GeosetMake(values []*Geom) *Set { + _c_values := make([]*C.GSERIALIZED, len(values)) + for _i, _v := range values { _c_values[_i] = _v._inner } + res := C.geoset_make((**C.GSERIALIZED)(unsafe.Pointer(&_c_values[0])), C.int(len(values))) + return &Set{_inner: res} +} // GeoToSet wraps MEOS C function geo_to_set. @@ -642,8 +715,12 @@ func GeosetStartValue(s *Set) *Geom { } -// TODO geoset_value_n: unsupported param GSERIALIZED ** -// func GeosetValueN(...) { /* not yet handled by codegen */ } +// GeosetValueN wraps MEOS C function geoset_value_n. +func GeosetValueN(s *Set, n int) (bool, *Geom) { + var _out_result *C.GSERIALIZED + res := C.geoset_value_n(s._inner, C.int(n), &_out_result) + return bool(res), &Geom{_inner: _out_result} +} // TODO geoset_values: unsupported return type GSERIALIZED ** @@ -743,12 +820,26 @@ func SpatialsetTransformPipeline(s *Set, pipelinestr string, srid int32, is_forw } -// TODO stbox_as_hexwkb: unsupported param size_t * -// func STBOXAsHexwkb(...) { /* not yet handled by codegen */ } +// STBOXAsHexwkb wraps MEOS C function stbox_as_hexwkb. +func STBOXAsHexwkb(box *STBox, variant uint8) (string, uint) { + var _out_size C.size_t + res := C.stbox_as_hexwkb(box._inner, C.uint8_t(variant), &_out_size) + return C.GoString(res), uint(_out_size) +} -// TODO stbox_as_wkb: unsupported return type uint8_t * -// func STBOXAsWKB(...) { /* not yet handled by codegen */ } +// STBOXAsWKB wraps MEOS C function stbox_as_wkb. +func STBOXAsWKB(box *STBox, variant uint8) []uint8 { + var _out_size_out C.size_t + res := C.stbox_as_wkb(box._inner, C.uint8_t(variant), &_out_size_out) + _n := int(_out_size_out) + _slice := unsafe.Slice((*C.uint8_t)(unsafe.Pointer(res)), _n) + _out := make([]uint8, _n) + for _i, _e := range _slice { + _out[_i] = uint8(_e) + } + return _out +} // STBOXFromHexwkb wraps MEOS C function stbox_from_hexwkb. @@ -760,8 +851,11 @@ func STBOXFromHexwkb(hexwkb string) *STBox { } -// TODO stbox_from_wkb: unsupported param const uint8_t * -// func STBOXFromWKB(...) { /* not yet handled by codegen */ } +// STBOXFromWKB wraps MEOS C function stbox_from_wkb. +func STBOXFromWKB(wkb []byte) *STBox { + res := C.stbox_from_wkb((*C.uint8_t)(unsafe.Pointer(&wkb[0])), C.size_t(len(wkb))) + return &STBox{_inner: res} +} // STBOXIn wraps MEOS C function stbox_in. @@ -822,12 +916,18 @@ func SpatialsetToSTBOX(s *Set) *STBox { } -// TODO stbox_to_box3d: unsupported return type BOX3D * -// func STBOXToBox3d(...) { /* not yet handled by codegen */ } +// STBOXToBox3d wraps MEOS C function stbox_to_box3d. +func STBOXToBox3d(box *STBox) *Box3D { + res := C.stbox_to_box3d(box._inner) + return &Box3D{_inner: res} +} -// TODO stbox_to_gbox: unsupported return type GBOX * -// func STBOXToGbox(...) { /* not yet handled by codegen */ } +// STBOXToGbox wraps MEOS C function stbox_to_gbox. +func STBOXToGbox(box *STBox) *GBox { + res := C.stbox_to_gbox(box._inner) + return &GBox{_inner: res} +} // STBOXToGeo wraps MEOS C function stbox_to_geo. @@ -928,20 +1028,36 @@ func STBOXPerimeter(box *STBox, spheroid bool) float64 { } -// TODO stbox_tmax: unsupported param TimestampTz * -// func STBOXTmax(...) { /* not yet handled by codegen */ } +// STBOXTmax wraps MEOS C function stbox_tmax. +func STBOXTmax(box *STBox) (bool, int64) { + var _out_result C.TimestampTz + res := C.stbox_tmax(box._inner, &_out_result) + return bool(res), int64({}) +} -// TODO stbox_tmax_inc: unsupported param bool * -// func STBOXTmaxInc(...) { /* not yet handled by codegen */ } +// STBOXTmaxInc wraps MEOS C function stbox_tmax_inc. +func STBOXTmaxInc(box *STBox) (bool, bool) { + var _out_result C.bool + res := C.stbox_tmax_inc(box._inner, &_out_result) + return bool(res), bool({}) +} -// TODO stbox_tmin: unsupported param TimestampTz * -// func STBOXTmin(...) { /* not yet handled by codegen */ } +// STBOXTmin wraps MEOS C function stbox_tmin. +func STBOXTmin(box *STBox) (bool, int64) { + var _out_result C.TimestampTz + res := C.stbox_tmin(box._inner, &_out_result) + return bool(res), int64({}) +} -// TODO stbox_tmin_inc: unsupported param bool * -// func STBOXTminInc(...) { /* not yet handled by codegen */ } +// STBOXTminInc wraps MEOS C function stbox_tmin_inc. +func STBOXTminInc(box *STBox) (bool, bool) { + var _out_result C.bool + res := C.stbox_tmin_inc(box._inner, &_out_result) + return bool(res), bool({}) +} // STBOXVolume wraps MEOS C function stbox_volume. @@ -951,28 +1067,52 @@ func STBOXVolume(box *STBox) float64 { } -// TODO stbox_xmax: unsupported param double * -// func STBOXXmax(...) { /* not yet handled by codegen */ } +// STBOXXmax wraps MEOS C function stbox_xmax. +func STBOXXmax(box *STBox) (bool, float64) { + var _out_result C.double + res := C.stbox_xmax(box._inner, &_out_result) + return bool(res), float64({}) +} -// TODO stbox_xmin: unsupported param double * -// func STBOXXmin(...) { /* not yet handled by codegen */ } +// STBOXXmin wraps MEOS C function stbox_xmin. +func STBOXXmin(box *STBox) (bool, float64) { + var _out_result C.double + res := C.stbox_xmin(box._inner, &_out_result) + return bool(res), float64({}) +} -// TODO stbox_ymax: unsupported param double * -// func STBOXYmax(...) { /* not yet handled by codegen */ } +// STBOXYmax wraps MEOS C function stbox_ymax. +func STBOXYmax(box *STBox) (bool, float64) { + var _out_result C.double + res := C.stbox_ymax(box._inner, &_out_result) + return bool(res), float64({}) +} -// TODO stbox_ymin: unsupported param double * -// func STBOXYmin(...) { /* not yet handled by codegen */ } +// STBOXYmin wraps MEOS C function stbox_ymin. +func STBOXYmin(box *STBox) (bool, float64) { + var _out_result C.double + res := C.stbox_ymin(box._inner, &_out_result) + return bool(res), float64({}) +} -// TODO stbox_zmax: unsupported param double * -// func STBOXZmax(...) { /* not yet handled by codegen */ } +// STBOXZmax wraps MEOS C function stbox_zmax. +func STBOXZmax(box *STBox) (bool, float64) { + var _out_result C.double + res := C.stbox_zmax(box._inner, &_out_result) + return bool(res), float64({}) +} -// TODO stbox_zmin: unsupported param double * -// func STBOXZmin(...) { /* not yet handled by codegen */ } +// STBOXZmin wraps MEOS C function stbox_zmin. +func STBOXZmin(box *STBox) (bool, float64) { + var _out_result C.double + res := C.stbox_zmin(box._inner, &_out_result) + return bool(res), float64({}) +} // STBOXExpandSpace wraps MEOS C function stbox_expand_space. @@ -996,8 +1136,12 @@ func STBOXGetSpace(box *STBox) *STBox { } -// TODO stbox_quad_split: unsupported param int * -// func STBOXQuadSplit(...) { /* not yet handled by codegen */ } +// STBOXQuadSplit wraps MEOS C function stbox_quad_split. +func STBOXQuadSplit(box *STBox) (*STBox, int) { + var _out_count C.int + res := C.stbox_quad_split(box._inner, &_out_count) + return &STBox{_inner: res}, int(_out_count) +} // STBOXRound wraps MEOS C function stbox_round. @@ -1428,12 +1572,18 @@ func TpointseqsetFromBaseTstzspanset(gs *Geom, ss *SpanSet, interp Interpolation } -// TODO box3d_to_stbox: unsupported param const BOX3D * -// func Box3dToSTBOX(...) { /* not yet handled by codegen */ } +// Box3dToSTBOX wraps MEOS C function box3d_to_stbox. +func Box3dToSTBOX(box *Box3D) *STBox { + res := C.box3d_to_stbox(box._inner) + return &STBox{_inner: res} +} -// TODO gbox_to_stbox: unsupported param const GBOX * -// func GboxToSTBOX(...) { /* not yet handled by codegen */ } +// GboxToSTBOX wraps MEOS C function gbox_to_stbox. +func GboxToSTBOX(box *GBox) *STBox { + res := C.gbox_to_stbox(box._inner) + return &STBox{_inner: res} +} // GeomeasToTpoint wraps MEOS C function geomeas_to_tpoint. @@ -1489,8 +1639,12 @@ func TgeompointToTgeometry(temp Temporal) Temporal { // func TpointAsMvtgeom(...) { /* not yet handled by codegen */ } -// TODO tpoint_tfloat_to_geomeas: unsupported param GSERIALIZED ** -// func TpointTfloatToGeomeas(...) { /* not yet handled by codegen */ } +// TpointTfloatToGeomeas wraps MEOS C function tpoint_tfloat_to_geomeas. +func TpointTfloatToGeomeas(tpoint Temporal, measure Temporal, segmentize bool) (bool, *Geom) { + var _out_result *C.GSERIALIZED + res := C.tpoint_tfloat_to_geomeas(tpoint.Inner(), measure.Inner(), C.bool(segmentize), &_out_result) + return bool(res), &Geom{_inner: _out_result} +} // TspatialToSTBOX wraps MEOS C function tspatial_to_stbox. @@ -1500,8 +1654,12 @@ func TspatialToSTBOX(temp Temporal) *STBox { } -// TODO bearing_point_point: unsupported param double * -// func BearingPointPoint(...) { /* not yet handled by codegen */ } +// BearingPointPoint wraps MEOS C function bearing_point_point. +func BearingPointPoint(gs1 *Geom, gs2 *Geom) (bool, float64) { + var _out_result C.double + res := C.bearing_point_point(gs1._inner, gs2._inner, &_out_result) + return bool(res), float64({}) +} // BearingTpointPoint wraps MEOS C function bearing_tpoint_point. @@ -1553,16 +1711,34 @@ func TgeoTraversedArea(temp Temporal, unary_union bool) *Geom { } -// TODO tgeo_value_at_timestamptz: unsupported param GSERIALIZED ** -// func TgeoValueAtTimestamptz(...) { /* not yet handled by codegen */ } +// TgeoValueAtTimestamptz wraps MEOS C function tgeo_value_at_timestamptz. +func TgeoValueAtTimestamptz(temp Temporal, t int64, strict bool) (bool, *Geom) { + var _out_value *C.GSERIALIZED + res := C.tgeo_value_at_timestamptz(temp.Inner(), C.TimestampTz(t), C.bool(strict), &_out_value) + return bool(res), &Geom{_inner: _out_value} +} -// TODO tgeo_value_n: unsupported param GSERIALIZED ** -// func TgeoValueN(...) { /* not yet handled by codegen */ } +// TgeoValueN wraps MEOS C function tgeo_value_n. +func TgeoValueN(temp Temporal, n int) (bool, *Geom) { + var _out_result *C.GSERIALIZED + res := C.tgeo_value_n(temp.Inner(), C.int(n), &_out_result) + return bool(res), &Geom{_inner: _out_result} +} -// TODO tgeo_values: unsupported return type GSERIALIZED ** -// func TgeoValues(...) { /* not yet handled by codegen */ } +// TgeoValues wraps MEOS C function tgeo_values. +func TgeoValues(temp Temporal) []*Geom { + var _out_count C.int + res := C.tgeo_values(temp.Inner(), &_out_count) + _n := int(_out_count) + _slice := unsafe.Slice((**C.GSERIALIZED)(unsafe.Pointer(res)), _n) + _out := make([]*Geom, _n) + for _i, _e := range _slice { + _out[_i] = &Geom{_inner: _e} + } + return _out +} // TpointAngularDifference wraps MEOS C function tpoint_angular_difference. @@ -1586,8 +1762,12 @@ func TpointCumulativeLength(temp Temporal) Temporal { } -// TODO tpoint_direction: unsupported param double * -// func TpointDirection(...) { /* not yet handled by codegen */ } +// TpointDirection wraps MEOS C function tpoint_direction. +func TpointDirection(temp Temporal) (bool, float64) { + var _out_result C.double + res := C.tpoint_direction(temp.Inner(), &_out_result) + return bool(res), float64({}) +} // TpointGetX wraps MEOS C function tpoint_get_x. @@ -1646,8 +1826,11 @@ func TpointTwcentroid(temp Temporal) *Geom { } -// TODO tgeo_affine: unsupported param const AFFINE * -// func TgeoAffine(...) { /* not yet handled by codegen */ } +// TgeoAffine wraps MEOS C function tgeo_affine. +func TgeoAffine(temp Temporal, a *AFFINE) Temporal { + res := C.tgeo_affine(temp.Inner(), a._inner) + return CreateTemporal(res) +} // TgeoScale wraps MEOS C function tgeo_scale. @@ -1657,8 +1840,18 @@ func TgeoScale(temp Temporal, scale *Geom, sorigin *Geom) Temporal { } -// TODO tpoint_make_simple: unsupported return type Temporal ** -// func TpointMakeSimple(...) { /* not yet handled by codegen */ } +// TpointMakeSimple wraps MEOS C function tpoint_make_simple. +func TpointMakeSimple(temp Temporal) []Temporal { + var _out_count C.int + res := C.tpoint_make_simple(temp.Inner(), &_out_count) + _n := int(_out_count) + _slice := unsafe.Slice((**C.Temporal)(unsafe.Pointer(res)), _n) + _out := make([]Temporal, _n) + for _i, _e := range _slice { + _out[_i] = CreateTemporal(_e) + } + return _out +} // TspatialSRID wraps MEOS C function tspatial_srid. @@ -1873,24 +2066,44 @@ func TneTgeoGeo(temp Temporal, gs *Geom) Temporal { } -// TODO tgeo_stboxes: unsupported param int * -// func TgeoStboxes(...) { /* not yet handled by codegen */ } +// TgeoStboxes wraps MEOS C function tgeo_stboxes. +func TgeoStboxes(temp Temporal) (*STBox, int) { + var _out_count C.int + res := C.tgeo_stboxes(temp.Inner(), &_out_count) + return &STBox{_inner: res}, int(_out_count) +} -// TODO tgeo_space_boxes: unsupported param int * -// func TgeoSpaceBoxes(...) { /* not yet handled by codegen */ } +// TgeoSpaceBoxes wraps MEOS C function tgeo_space_boxes. +func TgeoSpaceBoxes(temp Temporal, xsize float64, ysize float64, zsize float64, sorigin *Geom, bitmatrix bool, border_inc bool) (*STBox, int) { + var _out_count C.int + res := C.tgeo_space_boxes(temp.Inner(), C.double(xsize), C.double(ysize), C.double(zsize), sorigin._inner, C.bool(bitmatrix), C.bool(border_inc), &_out_count) + return &STBox{_inner: res}, int(_out_count) +} -// TODO tgeo_space_time_boxes: unsupported param int * -// func TgeoSpaceTimeBoxes(...) { /* not yet handled by codegen */ } +// TgeoSpaceTimeBoxes wraps MEOS C function tgeo_space_time_boxes. +func TgeoSpaceTimeBoxes(temp Temporal, xsize float64, ysize float64, zsize float64, duration timeutil.Timedelta, sorigin *Geom, torigin int64, bitmatrix bool, border_inc bool) (*STBox, int) { + var _out_count C.int + res := C.tgeo_space_time_boxes(temp.Inner(), C.double(xsize), C.double(ysize), C.double(zsize), duration.Inner(), sorigin._inner, C.TimestampTz(torigin), C.bool(bitmatrix), C.bool(border_inc), &_out_count) + return &STBox{_inner: res}, int(_out_count) +} -// TODO tgeo_split_each_n_stboxes: unsupported param int * -// func TgeoSplitEachNStboxes(...) { /* not yet handled by codegen */ } +// TgeoSplitEachNStboxes wraps MEOS C function tgeo_split_each_n_stboxes. +func TgeoSplitEachNStboxes(temp Temporal, elem_count int) (*STBox, int) { + var _out_count C.int + res := C.tgeo_split_each_n_stboxes(temp.Inner(), C.int(elem_count), &_out_count) + return &STBox{_inner: res}, int(_out_count) +} -// TODO tgeo_split_n_stboxes: unsupported param int * -// func TgeoSplitNStboxes(...) { /* not yet handled by codegen */ } +// TgeoSplitNStboxes wraps MEOS C function tgeo_split_n_stboxes. +func TgeoSplitNStboxes(temp Temporal, box_count int) (*STBox, int) { + var _out_count C.int + res := C.tgeo_split_n_stboxes(temp.Inner(), C.int(box_count), &_out_count) + return &STBox{_inner: res}, int(_out_count) +} // AdjacentSTBOXTspatial wraps MEOS C function adjacent_stbox_tspatial. @@ -2768,27 +2981,39 @@ func STBOXGetTimeTile(t int64, duration timeutil.Timedelta, torigin int64) *STBo } -// TODO stbox_space_tiles: unsupported param int * -// func STBOXSpaceTiles(...) { /* not yet handled by codegen */ } +// STBOXSpaceTiles wraps MEOS C function stbox_space_tiles. +func STBOXSpaceTiles(bounds *STBox, xsize float64, ysize float64, zsize float64, sorigin *Geom, border_inc bool) (*STBox, int) { + var _out_count C.int + res := C.stbox_space_tiles(bounds._inner, C.double(xsize), C.double(ysize), C.double(zsize), sorigin._inner, C.bool(border_inc), &_out_count) + return &STBox{_inner: res}, int(_out_count) +} -// TODO stbox_space_time_tiles: unsupported param int * -// func STBOXSpaceTimeTiles(...) { /* not yet handled by codegen */ } +// STBOXSpaceTimeTiles wraps MEOS C function stbox_space_time_tiles. +func STBOXSpaceTimeTiles(bounds *STBox, xsize float64, ysize float64, zsize float64, duration timeutil.Timedelta, sorigin *Geom, torigin int64, border_inc bool) (*STBox, int) { + var _out_count C.int + res := C.stbox_space_time_tiles(bounds._inner, C.double(xsize), C.double(ysize), C.double(zsize), duration.Inner(), sorigin._inner, C.TimestampTz(torigin), C.bool(border_inc), &_out_count) + return &STBox{_inner: res}, int(_out_count) +} -// TODO stbox_time_tiles: unsupported param int * -// func STBOXTimeTiles(...) { /* not yet handled by codegen */ } +// STBOXTimeTiles wraps MEOS C function stbox_time_tiles. +func STBOXTimeTiles(bounds *STBox, duration timeutil.Timedelta, torigin int64, border_inc bool) (*STBox, int) { + var _out_count C.int + res := C.stbox_time_tiles(bounds._inner, duration.Inner(), C.TimestampTz(torigin), C.bool(border_inc), &_out_count) + return &STBox{_inner: res}, int(_out_count) +} -// TODO tgeo_space_split: unsupported return type Temporal ** +// TODO tgeo_space_split: unsupported param GSERIALIZED *** // func TgeoSpaceSplit(...) { /* not yet handled by codegen */ } -// TODO tgeo_space_time_split: unsupported return type Temporal ** +// TODO tgeo_space_time_split: unsupported param GSERIALIZED *** // func TgeoSpaceTimeSplit(...) { /* not yet handled by codegen */ } -// TODO geo_cluster_kmeans: unsupported return type int * +// TODO geo_cluster_kmeans: unsupported param uint32_t // func GeoClusterKmeans(...) { /* not yet handled by codegen */ } @@ -2796,10 +3021,34 @@ func STBOXGetTimeTile(t int64, duration timeutil.Timedelta, torigin int64) *STBo // func GeoClusterDbscan(...) { /* not yet handled by codegen */ } -// TODO geo_cluster_intersecting: unsupported return type GSERIALIZED ** -// func GeoClusterIntersecting(...) { /* not yet handled by codegen */ } - - -// TODO geo_cluster_within: unsupported return type GSERIALIZED ** -// func GeoClusterWithin(...) { /* not yet handled by codegen */ } +// GeoClusterIntersecting wraps MEOS C function geo_cluster_intersecting. +func GeoClusterIntersecting(geoms []*Geom) []*Geom { + _c_geoms := make([]*C.GSERIALIZED, len(geoms)) + for _i, _v := range geoms { _c_geoms[_i] = _v._inner } + var _out_count C.int + res := C.geo_cluster_intersecting((**C.GSERIALIZED)(unsafe.Pointer(&_c_geoms[0])), C.uint32_t(len(geoms)), &_out_count) + _n := int(_out_count) + _slice := unsafe.Slice((**C.GSERIALIZED)(unsafe.Pointer(res)), _n) + _out := make([]*Geom, _n) + for _i, _e := range _slice { + _out[_i] = &Geom{_inner: _e} + } + return _out +} + + +// GeoClusterWithin wraps MEOS C function geo_cluster_within. +func GeoClusterWithin(geoms []*Geom, tolerance float64) []*Geom { + _c_geoms := make([]*C.GSERIALIZED, len(geoms)) + for _i, _v := range geoms { _c_geoms[_i] = _v._inner } + var _out_count C.int + res := C.geo_cluster_within((**C.GSERIALIZED)(unsafe.Pointer(&_c_geoms[0])), C.uint32_t(len(geoms)), C.double(tolerance), &_out_count) + _n := int(_out_count) + _slice := unsafe.Slice((**C.GSERIALIZED)(unsafe.Pointer(res)), _n) + _out := make([]*Geom, _n) + for _i, _e := range _slice { + _out[_i] = &Geom{_inner: _e} + } + return _out +} diff --git a/tools/_preview/meos_meos_internal.go b/tools/_preview/meos_meos_internal.go index 91e4f3e..a53d277 100644 --- a/tools/_preview/meos_meos_internal.go +++ b/tools/_preview/meos_meos_internal.go @@ -11,17 +11,25 @@ import ( var _ = unsafe.Pointer(nil) var _ = timeutil.Timedelta{} -// TODO gsl_get_generation_rng: unsupported return type gsl_rng * -// func GslGetGenerationRng(...) { /* not yet handled by codegen */ } +// GslGetGenerationRng wraps MEOS C function gsl_get_generation_rng. +func GslGetGenerationRng() *GslRng { + res := C.gsl_get_generation_rng() + return &GslRng{_inner: res} +} -// TODO gsl_get_aggregation_rng: unsupported return type gsl_rng * -// func GslGetAggregationRng(...) { /* not yet handled by codegen */ } +// GslGetAggregationRng wraps MEOS C function gsl_get_aggregation_rng. +func GslGetAggregationRng() *GslRng { + res := C.gsl_get_aggregation_rng() + return &GslRng{_inner: res} +} // FloatspanRoundSet wraps MEOS C function floatspan_round_set. -func FloatspanRoundSet(s *Span, maxdd int, result *Span) { - C.floatspan_round_set(s._inner, C.int(maxdd), result._inner) +func FloatspanRoundSet(s *Span, maxdd int) *Span { + var _out_result C.Span + C.floatspan_round_set(s._inner, C.int(maxdd), &_out_result) + return &Span{_inner: &_out_result} } @@ -109,14 +117,18 @@ func SetMemSize(s *Set) int { // SetSetSubspan wraps MEOS C function set_set_subspan. -func SetSetSubspan(s *Set, minidx int, maxidx int, result *Span) { - C.set_set_subspan(s._inner, C.int(minidx), C.int(maxidx), result._inner) +func SetSetSubspan(s *Set, minidx int, maxidx int) *Span { + var _out_result C.Span + C.set_set_subspan(s._inner, C.int(minidx), C.int(maxidx), &_out_result) + return &Span{_inner: &_out_result} } // SetSetSpan wraps MEOS C function set_set_span. -func SetSetSpan(s *Set, result *Span) { - C.set_set_span(s._inner, result._inner) +func SetSetSpan(s *Set) *Span { + var _out_result C.Span + C.set_set_span(s._inner, &_out_result) + return &Span{_inner: &_out_result} } @@ -219,31 +231,41 @@ func BboxMaxDims(bboxtype MeosType) int { } -// TODO temporal_bbox_eq: unsupported param const void * -// func TemporalBboxEq(...) { /* not yet handled by codegen */ } +// TemporalBboxEq wraps MEOS C function temporal_bbox_eq. +func TemporalBboxEq(box1 unsafe.Pointer, box2 unsafe.Pointer, temptype MeosType) bool { + res := C.temporal_bbox_eq(unsafe.Pointer(box1), unsafe.Pointer(box2), C.meosType(temptype)) + return bool(res) +} -// TODO temporal_bbox_cmp: unsupported param const void * -// func TemporalBboxCmp(...) { /* not yet handled by codegen */ } +// TemporalBboxCmp wraps MEOS C function temporal_bbox_cmp. +func TemporalBboxCmp(box1 unsafe.Pointer, box2 unsafe.Pointer, temptype MeosType) int { + res := C.temporal_bbox_cmp(unsafe.Pointer(box1), unsafe.Pointer(box2), C.meosType(temptype)) + return int(res) +} // BboxUnionSpanSpan wraps MEOS C function bbox_union_span_span. -func BboxUnionSpanSpan(s1 *Span, s2 *Span, result *Span) { - C.bbox_union_span_span(s1._inner, s2._inner, result._inner) +func BboxUnionSpanSpan(s1 *Span, s2 *Span) *Span { + var _out_result C.Span + C.bbox_union_span_span(s1._inner, s2._inner, &_out_result) + return &Span{_inner: &_out_result} } // InterSpanSpan wraps MEOS C function inter_span_span. -func InterSpanSpan(s1 *Span, s2 *Span, result *Span) bool { - res := C.inter_span_span(s1._inner, s2._inner, result._inner) - return bool(res) +func InterSpanSpan(s1 *Span, s2 *Span) (bool, *Span) { + var _out_result C.Span + res := C.inter_span_span(s1._inner, s2._inner, &_out_result) + return bool(res), &Span{_inner: &_out_result} } // MiSpanSpan wraps MEOS C function mi_span_span. -func MiSpanSpan(s1 *Span, s2 *Span, result *Span) int { - res := C.mi_span_span(s1._inner, s2._inner, result._inner) - return int(res) +func MiSpanSpan(s1 *Span, s2 *Span) (int, *Span) { + var _out_result C.Span + res := C.mi_span_span(s1._inner, s2._inner, &_out_result) + return int(res), &Span{_inner: &_out_result} } @@ -309,9 +331,10 @@ func TBOXExpand(box1 *TBox, box2 *TBox) { // InterTBOXTBOX wraps MEOS C function inter_tbox_tbox. -func InterTBOXTBOX(box1 *TBox, box2 *TBox, result *TBox) bool { - res := C.inter_tbox_tbox(box1._inner, box2._inner, result._inner) - return bool(res) +func InterTBOXTBOX(box1 *TBox, box2 *TBox) (bool, *TBox) { + var _out_result C.TBox + res := C.inter_tbox_tbox(box1._inner, box2._inner, &_out_result) + return bool(res), &TBox{_inner: &_out_result} } @@ -358,8 +381,19 @@ func TemporalOut(temp Temporal, maxdd int) string { } -// TODO temparr_out: unsupported return type char ** -// func TemparrOut(...) { /* not yet handled by codegen */ } +// TemparrOut wraps MEOS C function temparr_out. +func TemparrOut(temparr []Temporal, maxdd int) []string { + _c_temparr := make([]*C.Temporal, len(temparr)) + for _i, _v := range temparr { _c_temparr[_i] = _v._inner } + res := C.temparr_out((**C.Temporal)(unsafe.Pointer(&_c_temparr[0])), C.int(len(temparr)), C.int(maxdd)) + _n := len(temparr) + _slice := unsafe.Slice((**C.char)(unsafe.Pointer(res)), _n) + _out := make([]string, _n) + for _i, _e := range _slice { + _out[_i] = C.GoString(_e) + } + return _out +} // TfloatinstIn wraps MEOS C function tfloatinst_in. @@ -514,12 +548,22 @@ func TsequenceCopy(seq TSequence) TSequence { } -// TODO tsequence_make_exp: unsupported param TInstant ** -// func TsequenceMakeExp(...) { /* not yet handled by codegen */ } +// TsequenceMakeExp wraps MEOS C function tsequence_make_exp. +func TsequenceMakeExp(instants []TInstant, maxcount int, lower_inc bool, upper_inc bool, interp Interpolation, normalize bool) TSequence { + _c_instants := make([]*C.TInstant, len(instants)) + for _i, _v := range instants { _c_instants[_i] = _v._inner } + res := C.tsequence_make_exp((**C.TInstant)(unsafe.Pointer(&_c_instants[0])), C.int(len(instants)), C.int(maxcount), C.bool(lower_inc), C.bool(upper_inc), C.interpType(interp), C.bool(normalize)) + return TSequence{_inner: res} +} -// TODO tsequence_make_free: unsupported param TInstant ** -// func TsequenceMakeFree(...) { /* not yet handled by codegen */ } +// TsequenceMakeFree wraps MEOS C function tsequence_make_free. +func TsequenceMakeFree(instants []TInstant, lower_inc bool, upper_inc bool, interp Interpolation, normalize bool) TSequence { + _c_instants := make([]*C.TInstant, len(instants)) + for _i, _v := range instants { _c_instants[_i] = _v._inner } + res := C.tsequence_make_free((**C.TInstant)(unsafe.Pointer(&_c_instants[0])), C.int(len(instants)), C.bool(lower_inc), C.bool(upper_inc), C.interpType(interp), C.bool(normalize)) + return TSequence{_inner: res} +} // TsequencesetCopy wraps MEOS C function tsequenceset_copy. @@ -529,16 +573,31 @@ func TsequencesetCopy(ss TSequenceSet) TSequenceSet { } -// TODO tseqsetarr_to_tseqset: unsupported param TSequenceSet ** -// func TseqsetarrToTseqset(...) { /* not yet handled by codegen */ } +// TseqsetarrToTseqset wraps MEOS C function tseqsetarr_to_tseqset. +func TseqsetarrToTseqset(seqsets []TSequenceSet, totalseqs int) TSequenceSet { + _c_seqsets := make([]*C.TSequenceSet, len(seqsets)) + for _i, _v := range seqsets { _c_seqsets[_i] = _v._inner } + res := C.tseqsetarr_to_tseqset((**C.TSequenceSet)(unsafe.Pointer(&_c_seqsets[0])), C.int(len(seqsets)), C.int(totalseqs)) + return TSequenceSet{_inner: res} +} -// TODO tsequenceset_make_exp: unsupported param TSequence ** -// func TsequencesetMakeExp(...) { /* not yet handled by codegen */ } +// TsequencesetMakeExp wraps MEOS C function tsequenceset_make_exp. +func TsequencesetMakeExp(sequences []TSequence, maxcount int, normalize bool) TSequenceSet { + _c_sequences := make([]*C.TSequence, len(sequences)) + for _i, _v := range sequences { _c_sequences[_i] = _v._inner } + res := C.tsequenceset_make_exp((**C.TSequence)(unsafe.Pointer(&_c_sequences[0])), C.int(len(sequences)), C.int(maxcount), C.bool(normalize)) + return TSequenceSet{_inner: res} +} -// TODO tsequenceset_make_free: unsupported param TSequence ** -// func TsequencesetMakeFree(...) { /* not yet handled by codegen */ } +// TsequencesetMakeFree wraps MEOS C function tsequenceset_make_free. +func TsequencesetMakeFree(sequences []TSequence, normalize bool) TSequenceSet { + _c_sequences := make([]*C.TSequence, len(sequences)) + for _i, _v := range sequences { _c_sequences[_i] = _v._inner } + res := C.tsequenceset_make_free((**C.TSequence)(unsafe.Pointer(&_c_sequences[0])), C.int(len(sequences)), C.bool(normalize)) + return TSequenceSet{_inner: res} +} // TemporalSetTstzspan wraps MEOS C function temporal_set_tstzspan. @@ -603,8 +662,18 @@ func TemporalInstN(temp Temporal, n int) TInstant { } -// TODO temporal_insts_p: unsupported return type const TInstant ** -// func TemporalInstsP(...) { /* not yet handled by codegen */ } +// TemporalInstsP wraps MEOS C function temporal_insts_p. +func TemporalInstsP(temp Temporal) []TInstant { + var _out_count C.int + res := C.temporal_insts_p(temp.Inner(), &_out_count) + _n := int(_out_count) + _slice := unsafe.Slice((**C.TInstant)(unsafe.Pointer(res)), _n) + _out := make([]TInstant, _n) + for _i, _e := range _slice { + _out[_i] = TInstant{_inner: _e} + } + return _out +} // TemporalMaxInstP wraps MEOS C function temporal_max_inst_p. @@ -628,12 +697,24 @@ func TemporalMinInstP(temp Temporal) TInstant { } -// TODO temporal_sequences_p: unsupported return type const TSequence ** -// func TemporalSequencesP(...) { /* not yet handled by codegen */ } +// TemporalSequencesP wraps MEOS C function temporal_sequences_p. +func TemporalSequencesP(temp Temporal) []TSequence { + var _out_count C.int + res := C.temporal_sequences_p(temp.Inner(), &_out_count) + _n := int(_out_count) + _slice := unsafe.Slice((**C.TSequence)(unsafe.Pointer(res)), _n) + _out := make([]TSequence, _n) + for _i, _e := range _slice { + _out[_i] = TSequence{_inner: _e} + } + return _out +} -// TODO temporal_set_bbox: unsupported param void * -// func TemporalSetBbox(...) { /* not yet handled by codegen */ } +// TemporalSetBbox wraps MEOS C function temporal_set_bbox. +func TemporalSetBbox(temp Temporal, box unsafe.Pointer) { + C.temporal_set_bbox(temp.Inner(), unsafe.Pointer(box)) +} // TemporalStartInst wraps MEOS C function temporal_start_inst. @@ -650,12 +731,24 @@ func TinstantHash(inst TInstant) uint32 { } -// TODO tinstant_insts: unsupported return type const TInstant ** -// func TinstantInsts(...) { /* not yet handled by codegen */ } +// TinstantInsts wraps MEOS C function tinstant_insts. +func TinstantInsts(inst TInstant) []TInstant { + var _out_count C.int + res := C.tinstant_insts(inst.Inner(), &_out_count) + _n := int(_out_count) + _slice := unsafe.Slice((**C.TInstant)(unsafe.Pointer(res)), _n) + _out := make([]TInstant, _n) + for _i, _e := range _slice { + _out[_i] = TInstant{_inner: _e} + } + return _out +} -// TODO tinstant_set_bbox: unsupported param void * -// func TinstantSetBbox(...) { /* not yet handled by codegen */ } +// TinstantSetBbox wraps MEOS C function tinstant_set_bbox. +func TinstantSetBbox(inst TInstant, box unsafe.Pointer) { + C.tinstant_set_bbox(inst.Inner(), unsafe.Pointer(box)) +} // TinstantTime wraps MEOS C function tinstant_time. @@ -665,8 +758,18 @@ func TinstantTime(inst TInstant) *SpanSet { } -// TODO tinstant_timestamps: unsupported return type TimestampTz * -// func TinstantTimestamps(...) { /* not yet handled by codegen */ } +// TinstantTimestamps wraps MEOS C function tinstant_timestamps. +func TinstantTimestamps(inst TInstant) []int64 { + var _out_count C.int + res := C.tinstant_timestamps(inst.Inner(), &_out_count) + _n := int(_out_count) + _slice := unsafe.Slice((*C.TimestampTz)(unsafe.Pointer(res)), _n) + _out := make([]int64, _n) + for _i, _e := range _slice { + _out[_i] = int64(_e) + } + return _out +} // TnumberSetSpan wraps MEOS C function tnumber_set_span. @@ -749,12 +852,32 @@ func TsequenceMinInstP(seq TSequence) TInstant { } -// TODO tsequence_segments: unsupported return type TSequence ** -// func TsequenceSegments(...) { /* not yet handled by codegen */ } +// TsequenceSegments wraps MEOS C function tsequence_segments. +func TsequenceSegments(seq TSequence) []TSequence { + var _out_count C.int + res := C.tsequence_segments(seq.Inner(), &_out_count) + _n := int(_out_count) + _slice := unsafe.Slice((**C.TSequence)(unsafe.Pointer(res)), _n) + _out := make([]TSequence, _n) + for _i, _e := range _slice { + _out[_i] = TSequence{_inner: _e} + } + return _out +} -// TODO tsequence_seqs: unsupported return type const TSequence ** -// func TsequenceSeqs(...) { /* not yet handled by codegen */ } +// TsequenceSeqs wraps MEOS C function tsequence_seqs. +func TsequenceSeqs(seq TSequence) []TSequence { + var _out_count C.int + res := C.tsequence_seqs(seq.Inner(), &_out_count) + _n := int(_out_count) + _slice := unsafe.Slice((**C.TSequence)(unsafe.Pointer(res)), _n) + _out := make([]TSequence, _n) + for _i, _e := range _slice { + _out[_i] = TSequence{_inner: _e} + } + return _out +} // TsequenceStartTimestamptz wraps MEOS C function tsequence_start_timestamptz. @@ -771,8 +894,18 @@ func TsequenceTime(seq TSequence) *SpanSet { } -// TODO tsequence_timestamps: unsupported return type TimestampTz * -// func TsequenceTimestamps(...) { /* not yet handled by codegen */ } +// TsequenceTimestamps wraps MEOS C function tsequence_timestamps. +func TsequenceTimestamps(seq TSequence) []int64 { + var _out_count C.int + res := C.tsequence_timestamps(seq.Inner(), &_out_count) + _n := int(_out_count) + _slice := unsafe.Slice((*C.TimestampTz)(unsafe.Pointer(res)), _n) + _out := make([]int64, _n) + for _i, _e := range _slice { + _out[_i] = int64(_e) + } + return _out +} // TsequencesetDuration wraps MEOS C function tsequenceset_duration. @@ -835,8 +968,18 @@ func TsequencesetNumTimestamps(ss TSequenceSet) int { } -// TODO tsequenceset_segments: unsupported return type TSequence ** -// func TsequencesetSegments(...) { /* not yet handled by codegen */ } +// TsequencesetSegments wraps MEOS C function tsequenceset_segments. +func TsequencesetSegments(ss TSequenceSet) []TSequence { + var _out_count C.int + res := C.tsequenceset_segments(ss.Inner(), &_out_count) + _n := int(_out_count) + _slice := unsafe.Slice((**C.TSequence)(unsafe.Pointer(res)), _n) + _out := make([]TSequence, _n) + for _i, _e := range _slice { + _out[_i] = TSequence{_inner: _e} + } + return _out +} // TODO tsequenceset_sequences_p: unsupported return type const TSequence ** @@ -857,12 +1000,26 @@ func TsequencesetTime(ss TSequenceSet) *SpanSet { } -// TODO tsequenceset_timestamptz_n: unsupported param TimestampTz * -// func TsequencesetTimestamptzN(...) { /* not yet handled by codegen */ } +// TsequencesetTimestamptzN wraps MEOS C function tsequenceset_timestamptz_n. +func TsequencesetTimestamptzN(ss TSequenceSet, n int) (bool, int64) { + var _out_result C.TimestampTz + res := C.tsequenceset_timestamptz_n(ss.Inner(), C.int(n), &_out_result) + return bool(res), int64({}) +} -// TODO tsequenceset_timestamps: unsupported return type TimestampTz * -// func TsequencesetTimestamps(...) { /* not yet handled by codegen */ } +// TsequencesetTimestamps wraps MEOS C function tsequenceset_timestamps. +func TsequencesetTimestamps(ss TSequenceSet) []int64 { + var _out_count C.int + res := C.tsequenceset_timestamps(ss.Inner(), &_out_count) + _n := int(_out_count) + _slice := unsafe.Slice((*C.TimestampTz)(unsafe.Pointer(res)), _n) + _out := make([]int64, _n) + for _i, _e := range _slice { + _out[_i] = int64(_e) + } + return _out +} // TemporalRestart wraps MEOS C function temporal_restart. @@ -1030,8 +1187,13 @@ func TinstantMerge(inst1 TInstant, inst2 TInstant) Temporal { } -// TODO tinstant_merge_array: unsupported param TInstant ** -// func TinstantMergeArray(...) { /* not yet handled by codegen */ } +// TinstantMergeArray wraps MEOS C function tinstant_merge_array. +func TinstantMergeArray(instants []TInstant) Temporal { + _c_instants := make([]*C.TInstant, len(instants)) + for _i, _v := range instants { _c_instants[_i] = _v._inner } + res := C.tinstant_merge_array((**C.TInstant)(unsafe.Pointer(&_c_instants[0])), C.int(len(instants))) + return CreateTemporal(res) +} // TsequenceAppendTinstant wraps MEOS C function tsequence_append_tinstant. @@ -1090,8 +1252,13 @@ func TsequenceMerge(seq1 TSequence, seq2 TSequence) Temporal { } -// TODO tsequence_merge_array: unsupported param TSequence ** -// func TsequenceMergeArray(...) { /* not yet handled by codegen */ } +// TsequenceMergeArray wraps MEOS C function tsequence_merge_array. +func TsequenceMergeArray(sequences []TSequence) Temporal { + _c_sequences := make([]*C.TSequence, len(sequences)) + for _i, _v := range sequences { _c_sequences[_i] = _v._inner } + res := C.tsequence_merge_array((**C.TSequence)(unsafe.Pointer(&_c_sequences[0])), C.int(len(sequences))) + return CreateTemporal(res) +} // TsequencesetAppendTinstant wraps MEOS C function tsequenceset_append_tinstant. @@ -1150,8 +1317,13 @@ func TsequencesetMerge(ss1 TSequenceSet, ss2 TSequenceSet) TSequenceSet { } -// TODO tsequenceset_merge_array: unsupported param TSequenceSet ** -// func TsequencesetMergeArray(...) { /* not yet handled by codegen */ } +// TsequencesetMergeArray wraps MEOS C function tsequenceset_merge_array. +func TsequencesetMergeArray(seqsets []TSequenceSet) TSequenceSet { + _c_seqsets := make([]*C.TSequenceSet, len(seqsets)) + for _i, _v := range seqsets { _c_seqsets[_i] = _v._inner } + res := C.tsequenceset_merge_array((**C.TSequenceSet)(unsafe.Pointer(&_c_seqsets[0])), C.int(len(seqsets))) + return TSequenceSet{_inner: res} +} // TsequenceExpandBbox wraps MEOS C function tsequence_expand_bbox. @@ -1160,8 +1332,10 @@ func TsequenceExpandBbox(seq TSequence, inst TInstant) { } -// TODO tsequence_set_bbox: unsupported param void * -// func TsequenceSetBbox(...) { /* not yet handled by codegen */ } +// TsequenceSetBbox wraps MEOS C function tsequence_set_bbox. +func TsequenceSetBbox(seq TSequence, box unsafe.Pointer) { + C.tsequence_set_bbox(seq.Inner(), unsafe.Pointer(box)) +} // TsequencesetExpandBbox wraps MEOS C function tsequenceset_expand_bbox. @@ -1170,8 +1344,10 @@ func TsequencesetExpandBbox(ss TSequenceSet, seq TSequence) { } -// TODO tsequenceset_set_bbox: unsupported param void * -// func TsequencesetSetBbox(...) { /* not yet handled by codegen */ } +// TsequencesetSetBbox wraps MEOS C function tsequenceset_set_bbox. +func TsequencesetSetBbox(ss TSequenceSet, box unsafe.Pointer) { + C.tsequenceset_set_bbox(ss.Inner(), unsafe.Pointer(box)) +} // TcontseqAfterTimestamptz wraps MEOS C function tcontseq_after_timestamptz. @@ -1605,8 +1781,12 @@ func TemporalSkiplistMake() *SkipList { // func SkiplistMake(...) { /* not yet handled by codegen */ } -// TODO skiplist_search: unsupported param void * -// func SkiplistSearch(...) { /* not yet handled by codegen */ } +// SkiplistSearch wraps MEOS C function skiplist_search. +func SkiplistSearch(list *SkipList, key unsafe.Pointer) (int, ) { + var _out_value C.void + res := C.skiplist_search(list._inner, unsafe.Pointer(key), &_out_value) + return int(res), _out_value +} // SkiplistFree wraps MEOS C function skiplist_free. diff --git a/tools/_preview/meos_meos_internal_geo.go b/tools/_preview/meos_meos_internal_geo.go index 16d6619..8a27698 100644 --- a/tools/_preview/meos_meos_internal_geo.go +++ b/tools/_preview/meos_meos_internal_geo.go @@ -11,8 +11,11 @@ import ( var _ = unsafe.Pointer(nil) var _ = timeutil.Timedelta{} -// TODO proj_get_context: unsupported return type PJ_CONTEXT * -// func ProjGetContext(...) { /* not yet handled by codegen */ } +// ProjGetContext wraps MEOS C function proj_get_context. +func ProjGetContext() *PJContext { + res := C.proj_get_context() + return &PJContext{_inner: res} +} // PointRound wraps MEOS C function point_round. @@ -28,8 +31,12 @@ func STBOXSet(hasx bool, hasz bool, geodetic bool, srid int32, xmin float64, xma } -// TODO gbox_set_stbox: unsupported param const GBOX * -// func GboxSetSTBOX(...) { /* not yet handled by codegen */ } +// GboxSetSTBOX wraps MEOS C function gbox_set_stbox. +func GboxSetSTBOX(box *GBox, srid int32) *STBox { + var _out_result C.STBox + C.gbox_set_stbox(box._inner, C.int32_t(srid), &_out_result) + return &STBox{_inner: &_out_result} +} // GeoSetSTBOX wraps MEOS C function geo_set_stbox. @@ -45,12 +52,16 @@ func SpatialsetSetSTBOX(set *Set, box *STBox) { } -// TODO stbox_set_box3d: unsupported param BOX3D * -// func STBOXSetBox3d(...) { /* not yet handled by codegen */ } +// STBOXSetBox3d wraps MEOS C function stbox_set_box3d. +func STBOXSetBox3d(box *STBox, box3d *Box3D) { + C.stbox_set_box3d(box._inner, box3d._inner) +} -// TODO stbox_set_gbox: unsupported param GBOX * -// func STBOXSetGbox(...) { /* not yet handled by codegen */ } +// STBOXSetGbox wraps MEOS C function stbox_set_gbox. +func STBOXSetGbox(box *STBox, gbox *GBox) { + C.stbox_set_gbox(box._inner, gbox._inner) +} // TstzsetSetSTBOX wraps MEOS C function tstzset_set_stbox. @@ -78,9 +89,10 @@ func STBOXExpand(box1 *STBox, box2 *STBox) { // InterSTBOXSTBOX wraps MEOS C function inter_stbox_stbox. -func InterSTBOXSTBOX(box1 *STBox, box2 *STBox, result *STBox) bool { - res := C.inter_stbox_stbox(box1._inner, box2._inner, result._inner) - return bool(res) +func InterSTBOXSTBOX(box1 *STBox, box2 *STBox) (bool, *STBox) { + var _out_result C.STBox + res := C.inter_stbox_stbox(box1._inner, box2._inner, &_out_result) + return bool(res), &STBox{_inner: &_out_result} } @@ -321,12 +333,20 @@ func TpointseqLinearTrajectory(seq TSequence, unary_union bool) *Geom { } -// TODO tgeoseq_stboxes: unsupported param int * -// func TgeoseqStboxes(...) { /* not yet handled by codegen */ } +// TgeoseqStboxes wraps MEOS C function tgeoseq_stboxes. +func TgeoseqStboxes(seq TSequence) (*STBox, int) { + var _out_count C.int + res := C.tgeoseq_stboxes(seq.Inner(), &_out_count) + return &STBox{_inner: res}, int(_out_count) +} -// TODO tgeoseq_split_n_stboxes: unsupported param int * -// func TgeoseqSplitNStboxes(...) { /* not yet handled by codegen */ } +// TgeoseqSplitNStboxes wraps MEOS C function tgeoseq_split_n_stboxes. +func TgeoseqSplitNStboxes(seq TSequence, max_count int) (*STBox, int) { + var _out_count C.int + res := C.tgeoseq_split_n_stboxes(seq.Inner(), C.int(max_count), &_out_count) + return &STBox{_inner: res}, int(_out_count) +} // TpointseqsetAzimuth wraps MEOS C function tpointseqset_azimuth. @@ -357,12 +377,20 @@ func TpointseqsetLength(ss TSequenceSet) float64 { } -// TODO tgeoseqset_stboxes: unsupported param int * -// func TgeoseqsetStboxes(...) { /* not yet handled by codegen */ } +// TgeoseqsetStboxes wraps MEOS C function tgeoseqset_stboxes. +func TgeoseqsetStboxes(ss TSequenceSet) (*STBox, int) { + var _out_count C.int + res := C.tgeoseqset_stboxes(ss.Inner(), &_out_count) + return &STBox{_inner: res}, int(_out_count) +} -// TODO tgeoseqset_split_n_stboxes: unsupported param int * -// func TgeoseqsetSplitNStboxes(...) { /* not yet handled by codegen */ } +// TgeoseqsetSplitNStboxes wraps MEOS C function tgeoseqset_split_n_stboxes. +func TgeoseqsetSplitNStboxes(ss TSequenceSet, max_count int) (*STBox, int) { + var _out_count C.int + res := C.tgeoseqset_split_n_stboxes(ss.Inner(), C.int(max_count), &_out_count) + return &STBox{_inner: res}, int(_out_count) +} // TpointGetCoord wraps MEOS C function tpoint_get_coord. @@ -413,8 +441,18 @@ func TspatialinstSetSRID(inst TInstant, srid int32) { } -// TODO tpointseq_make_simple: unsupported return type TSequence ** -// func TpointseqMakeSimple(...) { /* not yet handled by codegen */ } +// TpointseqMakeSimple wraps MEOS C function tpointseq_make_simple. +func TpointseqMakeSimple(seq TSequence) []TSequence { + var _out_count C.int + res := C.tpointseq_make_simple(seq.Inner(), &_out_count) + _n := int(_out_count) + _slice := unsafe.Slice((**C.TSequence)(unsafe.Pointer(res)), _n) + _out := make([]TSequence, _n) + for _i, _e := range _slice { + _out[_i] = TSequence{_inner: _e} + } + return _out +} // TspatialseqSetSRID wraps MEOS C function tspatialseq_set_srid. @@ -423,8 +461,18 @@ func TspatialseqSetSRID(seq TSequence, srid int32) { } -// TODO tpointseqset_make_simple: unsupported return type TSequence ** -// func TpointseqsetMakeSimple(...) { /* not yet handled by codegen */ } +// TpointseqsetMakeSimple wraps MEOS C function tpointseqset_make_simple. +func TpointseqsetMakeSimple(ss TSequenceSet) []TSequence { + var _out_count C.int + res := C.tpointseqset_make_simple(ss.Inner(), &_out_count) + _n := int(_out_count) + _slice := unsafe.Slice((**C.TSequence)(unsafe.Pointer(res)), _n) + _out := make([]TSequence, _n) + for _i, _e := range _slice { + _out[_i] = TSequence{_inner: _e} + } + return _out +} // TspatialseqsetSetSRID wraps MEOS C function tspatialseqset_set_srid. diff --git a/tools/_preview/meos_meos_npoint.go b/tools/_preview/meos_meos_npoint.go index be49ff5..650d659 100644 --- a/tools/_preview/meos_meos_npoint.go +++ b/tools/_preview/meos_meos_npoint.go @@ -18,8 +18,12 @@ func NpointAsEWKT(np *Npoint, maxdd int) string { } -// TODO npoint_as_hexwkb: unsupported param size_t * -// func NpointAsHexwkb(...) { /* not yet handled by codegen */ } +// NpointAsHexwkb wraps MEOS C function npoint_as_hexwkb. +func NpointAsHexwkb(np *Npoint, variant uint8) (string, uint) { + var _out_size_out C.size_t + res := C.npoint_as_hexwkb(np._inner, C.uint8_t(variant), &_out_size_out) + return C.GoString(res), uint(_out_size_out) +} // NpointAsText wraps MEOS C function npoint_as_text. @@ -29,8 +33,18 @@ func NpointAsText(np *Npoint, maxdd int) string { } -// TODO npoint_as_wkb: unsupported return type uint8_t * -// func NpointAsWKB(...) { /* not yet handled by codegen */ } +// NpointAsWKB wraps MEOS C function npoint_as_wkb. +func NpointAsWKB(np *Npoint, variant uint8) []uint8 { + var _out_size_out C.size_t + res := C.npoint_as_wkb(np._inner, C.uint8_t(variant), &_out_size_out) + _n := int(_out_size_out) + _slice := unsafe.Slice((*C.uint8_t)(unsafe.Pointer(res)), _n) + _out := make([]uint8, _n) + for _i, _e := range _slice { + _out[_i] = uint8(_e) + } + return _out +} // NpointFromHexwkb wraps MEOS C function npoint_from_hexwkb. @@ -42,8 +56,11 @@ func NpointFromHexwkb(hexwkb string) *Npoint { } -// TODO npoint_from_wkb: unsupported param const uint8_t * -// func NpointFromWKB(...) { /* not yet handled by codegen */ } +// NpointFromWKB wraps MEOS C function npoint_from_wkb. +func NpointFromWKB(wkb []byte) *Npoint { + res := C.npoint_from_wkb((*C.uint8_t)(unsafe.Pointer(&wkb[0])), C.size_t(len(wkb))) + return &Npoint{_inner: res} +} // NpointIn wraps MEOS C function npoint_in. @@ -381,8 +398,13 @@ func NpointsetOut(s *Set, maxdd int) string { } -// TODO npointset_make: unsupported param Npoint ** -// func NpointsetMake(...) { /* not yet handled by codegen */ } +// NpointsetMake wraps MEOS C function npointset_make. +func NpointsetMake(values []*Npoint) *Set { + _c_values := make([]*C.Npoint, len(values)) + for _i, _v := range values { _c_values[_i] = _v._inner } + res := C.npointset_make((**C.Npoint)(unsafe.Pointer(&_c_values[0])), C.int(len(values))) + return &Set{_inner: res} +} // NpointToSet wraps MEOS C function npoint_to_set. @@ -413,8 +435,12 @@ func NpointsetStartValue(s *Set) *Npoint { } -// TODO npointset_value_n: unsupported param Npoint ** -// func NpointsetValueN(...) { /* not yet handled by codegen */ } +// NpointsetValueN wraps MEOS C function npointset_value_n. +func NpointsetValueN(s *Set, n int) (bool, *Npoint) { + var _out_result *C.Npoint + res := C.npointset_value_n(s._inner, C.int(n), &_out_result) + return bool(res), &Npoint{_inner: _out_result} +} // TODO npointset_values: unsupported return type Npoint ** @@ -535,8 +561,18 @@ func TnpointLength(temp Temporal) float64 { } -// TODO tnpoint_positions: unsupported return type Nsegment ** -// func TnpointPositions(...) { /* not yet handled by codegen */ } +// TnpointPositions wraps MEOS C function tnpoint_positions. +func TnpointPositions(temp Temporal) []*Nsegment { + var _out_count C.int + res := C.tnpoint_positions(temp.Inner(), &_out_count) + _n := int(_out_count) + _slice := unsafe.Slice((**C.Nsegment)(unsafe.Pointer(res)), _n) + _out := make([]*Nsegment, _n) + for _i, _e := range _slice { + _out[_i] = &Nsegment{_inner: _e} + } + return _out +} // TnpointRoute wraps MEOS C function tnpoint_route. diff --git a/tools/codegen.py b/tools/codegen.py index 32bf4dd..2989a59 100644 --- a/tools/codegen.py +++ b/tools/codegen.py @@ -76,7 +76,12 @@ class TypeMapping: "DateADT": TypeMapping("int32", "C.DateADT({})", "int32({})"), "Timestamp": TypeMapping("int64", "C.Timestamp({})", "int64({})"), "TimestampTz": TypeMapping("int64", "C.TimestampTz({})", "int64({})"), + "TimeADT": TypeMapping("int64", "C.TimeADT({})", "int64({})"), "TimeOffset": TypeMapping("int64", "C.TimeOffset({})", "int64({})"), + # Opaque ``void *`` arguments (e.g. ``rtree_insert``'s box) and + # ``const void *`` query buffers map straight to ``unsafe.Pointer``. + "void *": TypeMapping("unsafe.Pointer", "unsafe.Pointer({})", "unsafe.Pointer({})"), + "const void *": TypeMapping("unsafe.Pointer", "unsafe.Pointer({})", "unsafe.Pointer({})"), "interpType": TypeMapping("Interpolation", "C.interpType({})", "Interpolation({})"), "meosType": TypeMapping("MeosType", "C.meosType({})", "MeosType({})"), "meosOper": TypeMapping("MeosOper", "C.meosOper({})", "MeosOper({})"), @@ -116,6 +121,12 @@ class TypeMapping: "Nsegment": ("*Nsegment", "&Nsegment{_inner: $res}"), "SkipList": ("*SkipList", "&SkipList{_inner: $res}"), "RTree": ("*RTree", "&RTree{_inner: $res}"), + "Match": ("*Match", "&Match{_inner: $res}"), + "BOX3D": ("*Box3D", "&Box3D{_inner: $res}"), + "GBOX": ("*GBox", "&GBox{_inner: $res}"), + "AFFINE": ("*AFFINE", "&AFFINE{_inner: $res}"), + "PJ_CONTEXT": ("*PJContext", "&PJContext{_inner: $res}"), + "gsl_rng": ("*GslRng", "&GslRng{_inner: $res}"), } @@ -200,6 +211,62 @@ def _go_param_name(c_name: str) -> str: return c_name +# Parameter classification --------------------------------------------- + +# Param-name heuristics for the MEOS C convention: these names, paired with +# the right pointer level, signal an out-parameter or a length-of-array +# companion to the preceding pointer-of-pointers input. +_OUT_NAMES = {"result", "value"} +_LENGTH_NAMES = {"count", "size", "ngeoms", "wkb_size"} +_SIZE_OUT_NAMES = {"size_out", "size", "len"} + + +def _classify_param(p: dict, params: list[dict], i: int) -> str: + """Return one of ``INPUT`` / ``OUTPUT_SCALAR`` / ``OUTPUT_COUNT`` / + ``OUTPUT_SIZE`` / ``ARRAY_INPUT`` / ``ARRAY_LENGTH``. + + The classification follows the MEOS C convention: parameters named + ``count`` / ``size`` paired with a preceding double-pointer or array + pointer are array lengths; pointer parameters named ``result`` / + ``value`` are out-parameters; ``int *count`` / ``size_t *size_out`` at + the tail are count outputs.""" + name = p["name"] + ctype = p["cType"] + base, stars = _strip_qualifiers(ctype) + is_const = "const " in ctype + + # Integer-typed length companion at a length-name and preceded by an + # array pointer. Accepts the full int family because MEOS spells + # ``count`` variously as ``int``, ``uint32_t``, ``int64`` etc. + _INT_BASES = {"int", "size_t", "int32", "int32_t", "int64", "uint32", "uint32_t", "uint64"} + if stars == 0 and name in _LENGTH_NAMES and base in _INT_BASES and i > 0: + prev = params[i - 1] + prev_base, prev_stars = _strip_qualifiers(prev["cType"]) + prev_is_const = "const " in prev["cType"] + # ``T **`` non-const + ``count`` -> array input + if prev_stars == 2: + return "ARRAY_LENGTH" + # ``const T *`` + ``count`` for scalar slices (intset_make etc.) + if prev_stars == 1 and prev_is_const and prev_base in { + "int", "int64", "double", "DateADT", "TimestampTz", "uint8_t", + }: + return "ARRAY_LENGTH" + # ``const uint8_t *wkb`` + ``size`` byte buffer + if prev_stars == 1 and prev_is_const and prev_base == "uint8_t": + return "ARRAY_LENGTH" + + # Trailing ``int *count`` or ``size_t *size_out`` at the tail or with a + # name signal -> count output. + if stars == 1 and base in {"int", "size_t"} and name in _LENGTH_NAMES | _SIZE_OUT_NAMES: + return "OUTPUT_COUNT" + + # ``T *result`` / ``T *value`` with scalar base -> scalar out. + if stars >= 1 and name in _OUT_NAMES: + return "OUTPUT_SCALAR" + + return "INPUT" + + # Emission -------------------------------------------------------------- @dataclass @@ -209,23 +276,210 @@ class EmittedFunc: skipped: bool # true if emitted as a TODO stub +def _array_return_info(return_c: str): + """Return ``(base_type, ptr_level)`` for ``T **`` / ``T *`` returns that + pair with an OUTPUT_COUNT param, or ``None`` if the return is not an + array shape.""" + base, stars = _strip_qualifiers(return_c) + if stars in (1, 2): + return base, stars + return None + + +def _go_slice_elem(base: str, stars: int) -> tuple[str, str] | None: + """For an array return ``base`` + ``stars``, return ``(elem_go_type, + elem_ctor_template)`` where the template uses ``$x`` for the C element. + + The element type for a ``T **`` return is the wrapped pointer (``*Foo``); + for a ``T *`` return of scalar elements it is the Go primitive.""" + if stars == 2 and base in WRAPPER_TYPES: + go_type, ctor = WRAPPER_TYPES[base] + return go_type, ctor.replace("$res", "$x") + if stars == 2 and base == "char": + # ``char **`` -> []string; each element is a C string. + return "string", "C.GoString($x)" + if stars == 1: + scalar = TYPE_MAP.get(base) + if scalar is not None: + # Normalise the ``{}`` placeholder used inside TYPE_MAP to the + # ``$x`` placeholder the emitter substitutes per element. + ctor = (scalar.from_c or "$x").replace("{}", "$x") + return scalar.go_type, ctor + if base == "uint8_t": + # ``uint8_t *`` byte buffer return -> []byte handled separately. + return None + return None + + def emit_function(entry: dict) -> EmittedFunc: c_name = entry["name"] go_name = _go_name(c_name) return_c = entry["returnType"]["c"] + params = entry["params"] + + # Pre-classify every parameter so the input loop can skip ones that + # become outputs or array-length companions. + classes = [_classify_param(p, params, i) for i, p in enumerate(params)] + + # Identify a paired array return. Two shapes: + # (a) explicit OUTPUT_COUNT param -> slice length comes from C + # (b) an ARRAY_LENGTH input -> slice length matches the input slice + has_out_count = "OUTPUT_COUNT" in classes + has_in_length = "ARRAY_LENGTH" in classes + is_array_return = False + array_length_source: str | None = None # ``c_count`` or ``len(input_slice)`` + array_elem_go = array_elem_ctor = None + if (has_out_count or has_in_length) and return_c not in ("void",): + info = _array_return_info(return_c) + if info is not None: + base, stars = info + elem = _go_slice_elem(base, stars) + if elem is not None: + is_array_return = True + array_elem_go, array_elem_ctor = elem + elif stars == 1 and base == "uint8_t": + # WKB-style ``uint8_t *`` paired with ``size_t *size_out``. + is_array_return = True + array_elem_go = "byte" + array_elem_ctor = "byte($x)" + if is_array_return and not has_out_count: + # Length is taken from the input slice ``len(...)``; find the + # first ARRAY_LENGTH index and read the preceding param name. + length_idx = next(i for i, c in enumerate(classes) if c == "ARRAY_LENGTH") + array_length_source = f"len({_go_param_name(params[length_idx - 1]['name'])})" + + # Resolve the return type when not an array shape. + if is_array_return: + ret_go = f"[]{array_elem_go}" + ret_from_c = None + else: + ret_go, _, ret_from_c = _go_type_for(return_c) + if ret_go is None and return_c != "void": + return EmittedFunc(go_name, _todo_stub(c_name, "unsupported return type " + return_c), True) - # Resolve return type. - ret_go, _, ret_from_c = _go_type_for(return_c) - if ret_go is None and return_c != "void": - return EmittedFunc(go_name, _todo_stub(c_name, "unsupported return type " + return_c), True) - - # Resolve each parameter. + # Walk parameters, building Go-side signature args and C-side call args. go_args = [] inner_args = [] deferred = [] - for p in entry["params"]: + extra_returns: list[tuple[str, str, str]] = [] # (go_type, var_name, c_to_go expr) + array_length_for: list[int] = [] # indices of ARRAY_LENGTH params (skipped from sig) + array_count_local: str | None = None # the OUTPUT_COUNT local for array returns + + for i, p in enumerate(params): pname = _go_param_name(p["name"]) ptype = p["cType"] + cls = classes[i] + + if cls == "ARRAY_LENGTH": + # Length is derived from the preceding slice's len(); locate it. + prev_name = _go_param_name(params[i - 1]["name"]) + base, _ = _strip_qualifiers(ptype) + inner_args.append(f"C.{base}(len({prev_name}))") + array_length_for.append(i - 1) + continue + + if cls == "OUTPUT_COUNT": + base, _ = _strip_qualifiers(ptype) + local = f"_out_{pname}" + deferred.append(f"var {local} C.{base}") + inner_args.append(f"&{local}") + # If this count is paired with an array return, it is not + # surfaced as a separate Go return -- it controls the slice + # length. + if is_array_return: + array_count_local = local + else: + extra_returns.append( + ("int" if base == "int" else "uint", local, + f"int({local})" if base == "int" else f"uint({local})")) + continue + + if cls == "OUTPUT_SCALAR": + base, stars = _strip_qualifiers(ptype) + # Wrapped opaque output (e.g. ``GSERIALIZED ** result``). + if stars == 2 and base in WRAPPER_TYPES: + go_type, ctor = WRAPPER_TYPES[base] + local = f"_out_{pname}" + deferred.append(f"var {local} *C.{base}") + inner_args.append(f"&{local}") + extra_returns.append((go_type, local, ctor.replace("$res", local))) + continue + # text** -> string + if stars == 2 and base == "text": + local = f"_out_{pname}" + deferred.append(f"var {local} *C.text") + inner_args.append(f"&{local}") + extra_returns.append(("string", local, f"text2cstring({local})")) + continue + # Scalar slice output (``TimestampTz **time_bins`` and friends) + # is left as TODO: the parallel output array needs post-call + # unsafe.Slice + element conversion alongside the primary array + # return, and that wiring is not yet plumbed through the + # body-assembly pass. Affects the ``*_split`` and + # ``tpoint_as_mvtgeom`` families. + # Wrapped opaque single-pointer output (``Span *result`` etc.): + # MEOS writes into a caller-allocated struct; allocate one and + # surface the pointer back as the typed wrapper. + if stars == 1 and base in WRAPPER_TYPES: + go_type, ctor = WRAPPER_TYPES[base] + local = f"_out_{pname}" + deferred.append(f"var {local} C.{base}") + inner_args.append(f"&{local}") + extra_returns.append((go_type, local, ctor.replace("$res", f"&{local}"))) + continue + # Scalar output (`double * result`, `bool * value`, etc.) + if stars == 1 and base in TYPE_MAP: + go_type = TYPE_MAP[base].go_type + local = f"_out_{pname}" + deferred.append(f"var {local} C.{base}") + inner_args.append(f"&{local}") + from_c = TYPE_MAP[base].from_c or "$x" + extra_returns.append((go_type, local, from_c.replace("$x", local))) + continue + return EmittedFunc(go_name, _todo_stub(c_name, "unhandled OUTPUT_SCALAR shape " + ptype), True) + + # INPUT path ------------------------------------------------------- + base, stars = _strip_qualifiers(ptype) + + # Counted-array input: ``T ** xs`` paired with the next ``int + # count`` (already marked ARRAY_LENGTH). Lowered to a Go slice of + # the wrapped element. + if stars == 2 and base in WRAPPER_TYPES and i + 1 < len(params) and classes[i + 1] == "ARRAY_LENGTH": + elem_go, _ = WRAPPER_TYPES[base] + slice_go = f"[]{elem_go}" + local = f"_c_{pname}" + deferred.append(f"{local} := make([]*C.{base}, len({pname}))") + deferred.append(f"for _i, _v := range {pname} {{ {local}[_i] = _v._inner }}") + ptr_expr = f"(**C.{base})(unsafe.Pointer(&{local}[0]))" if base != "uint8_t" else f"&{local}[0]" + go_args.append(f"{pname} {slice_go}") + inner_args.append(ptr_expr) + continue + + # text** array input + count -> []string (textset_make and family). + if stars == 2 and base == "text" and i + 1 < len(params) and classes[i + 1] == "ARRAY_LENGTH": + local = f"_c_{pname}" + deferred.append(f"{local} := make([]*C.text, len({pname}))") + deferred.append(f"for _i, _v := range {pname} {{ {local}[_i] = cstring2text(_v) }}") + go_args.append(f"{pname} []string") + inner_args.append(f"(**C.text)(unsafe.Pointer(&{local}[0]))") + continue + + # Scalar slice input: ``const int *values`` etc. paired with count. + if stars == 1 and "const" in ptype and base in {"int", "int64", "double", "DateADT", "TimestampTz"} and i + 1 < len(params) and classes[i + 1] == "ARRAY_LENGTH": + slice_go = f"[]{TYPE_MAP[base].go_type}" + local = f"_c_{pname}" + deferred.append(f"{local} := make([]C.{base}, len({pname}))") + deferred.append(f"for _i, _v := range {pname} {{ {local}[_i] = C.{base}(_v) }}") + go_args.append(f"{pname} {slice_go}") + inner_args.append(f"&{local}[0]") + continue + + # Byte-buffer input: ``const uint8_t *wkb`` + ``size_t size``. + if stars == 1 and "const" in ptype and base == "uint8_t" and i + 1 < len(params) and classes[i + 1] == "ARRAY_LENGTH": + go_args.append(f"{pname} []byte") + inner_args.append(f"(*C.uint8_t)(unsafe.Pointer(&{pname}[0]))") + continue + go_t, c_cast, _ = _go_type_for(ptype) if go_t is None: return EmittedFunc(go_name, _todo_stub(c_name, "unsupported param " + ptype), True) @@ -234,8 +488,6 @@ def emit_function(entry: dict) -> EmittedFunc: inner_args.append(pname) else: cast_expr = c_cast.replace("$x", pname) - # Strings need a single C.CString allocation reused across the - # call and the deferred free; bind to a local to avoid leaking. if go_t == "string": local = f"_c_{pname}" deferred.append(f"{local} := {cast_expr}") @@ -244,19 +496,65 @@ def emit_function(entry: dict) -> EmittedFunc: else: inner_args.append(cast_expr) + # Assemble Go signature ---------------------------------------------- sig_args = ", ".join(go_args) - ret_sig = "" if return_c == "void" else f" {ret_go}" - call = f"C.{c_name}({', '.join(inner_args)})" + all_returns: list[str] = [] + if is_array_return: + all_returns.append(ret_go) + elif return_c != "void": + all_returns.append(ret_go) + for go_type, _, _ in extra_returns: + all_returns.append(go_type) + + if len(all_returns) == 0: + ret_sig = "" + elif len(all_returns) == 1: + ret_sig = f" {all_returns[0]}" + else: + ret_sig = f" ({', '.join(all_returns)})" + # Assemble Go body ---------------------------------------------------- body_lines = [] - # ``deferred`` emits as-is so the ordering of declarations (local bind - # then defer) is preserved. body_lines.extend("\t" + d for d in deferred) - if return_c == "void": - body_lines.append(f"\t{call}") + call = f"C.{c_name}({', '.join(inner_args)})" + + if is_array_return: + # Slice length: either the OUTPUT_COUNT C local, or ``len(input)`` + # when the C function takes a count input and returns an array of + # the same length. + count_expr = f"int({array_count_local})" if array_count_local else array_length_source + body_lines.append(f"\tres := {call}") + body_lines.append(f"\t_n := {count_expr}") + if array_elem_go == "byte": + # WKB byte buffer; cast (*C.uint8_t -> []byte via unsafe.Slice). + body_lines.append("\t_slice := unsafe.Slice((*byte)(unsafe.Pointer(res)), _n)") + body_lines.append("\t_out := make([]byte, _n)") + body_lines.append("\tcopy(_out, _slice)") + body_lines.append("\treturn _out") + else: + base, stars = _array_return_info(return_c) + elem_c = f"*C.{base}" if stars == 2 else f"C.{base}" + body_lines.append(f"\t_slice := unsafe.Slice((*{elem_c})(unsafe.Pointer(res)), _n)") + body_lines.append(f"\t_out := make({ret_go}, _n)") + body_lines.append("\tfor _i, _e := range _slice {") + body_lines.append(f"\t\t_out[_i] = {array_elem_ctor.replace('$x', '_e')}") + body_lines.append("\t}") + body_lines.append("\treturn _out") + elif return_c == "void": + if extra_returns: + body_lines.append(f"\t{call}") + tail = ", ".join(c2g for _, _, c2g in extra_returns) + body_lines.append(f"\treturn {tail}") + else: + body_lines.append(f"\t{call}") else: body_lines.append(f"\tres := {call}") - body_lines.append(f"\treturn {ret_from_c.replace('$x', 'res')}") + return_expr = ret_from_c.replace("$x", "res") + if extra_returns: + tail = ", ".join(c2g for _, _, c2g in extra_returns) + body_lines.append(f"\treturn {return_expr}, {tail}") + else: + body_lines.append(f"\treturn {return_expr}") code = ( f"// {go_name} wraps MEOS C function {c_name}.\n" From fe2a87bab7c5a5a9443526eed52016cfe3b85dda Mon Sep 17 00:00:00 2001 From: Esteban Zimanyi Date: Wed, 13 May 2026 18:42:32 +0200 Subject: [PATCH 4/6] Drive remaining shapes from meos-idl.json shape annotations Consumes the shape metadata MEOS-API now ships in meos-idl.json so the codegen no longer needs to second-guess every signature. arrayReturn with kind=accessor calls the named sibling on a wrapper input to recover the slice length (set_num_values, spanset_num_spans, with an optional castTo for the Temporal upcast used by tsequence_insts_p and friends). outputArrays declares parallel out-parameters and the body pass unpacks each as a Go slice sharing the primary length, covering the *_split family, the GSERIALIZED *** triple-pointer outputs of tgeo_space_split / tgeo_space_time_split, and tpoint_as_mvtgeom. arrayInputGroup folds the four parallel coordinate arrays of tpointseq_make_coords into Go slices with nullable handling for the optional ones. namedOutputs surfaces tempsubtype_from_string's subtype and geom_min_bounding_radius's radius as second Go return values. shape.skip excludes the skiplist function-pointer helpers. Coverage goes from 2167 emitted / 32 TODO to 2194 emitted / 0 TODO / 5 explicit-skip; uint32_t is now in the type map and text ** array returns lower to []string via text2cstring per element. --- tools/README.md | 68 +++--- tools/_preview/meos_meos.go | 234 ++++++++++++++---- tools/_preview/meos_meos_catalog.go | 10 +- tools/_preview/meos_meos_geo.go | 146 +++++++++--- tools/_preview/meos_meos_internal.go | 64 +++-- tools/_preview/meos_meos_npoint.go | 13 +- tools/codegen.py | 259 ++++++++++++++++++-- tools/meos-idl.json | 345 ++++++++++++++++++++++++--- 8 files changed, 967 insertions(+), 172 deletions(-) diff --git a/tools/README.md b/tools/README.md index 26e1b96..2547faf 100644 --- a/tools/README.md +++ b/tools/README.md @@ -15,11 +15,13 @@ python3 tools/codegen.py ## Coverage today -2369 candidate functions across the six public headers. 2167 emit -cleanly under the heuristic rules; 170 are skipped as `Datum`-bearing -internal helpers (the hand-written surface exposes those through typed -overloads which the codegen cannot synthesise from the IDL); 32 remain -as TODO. +2369 candidate functions across the six public headers. 2194 emit +cleanly; 170 are excluded as `Datum`-bearing internal helpers (the +hand-written surface exposes those through typed overloads which the +codegen cannot synthesise from the IDL); 5 are excluded by an explicit +`shape.skip` declaration in `meta/meos-meta.json` (the skiplist family +takes function-pointer arguments / returns `void **`). Zero unresolved +TODOs remain. The covered shapes are: scalar inputs, wrapped opaque pointers (`Temporal`, `STBox`, `TBox`, `Span`, `SpanSet`, `Set`, `GSERIALIZED`, @@ -31,32 +33,38 @@ out-params surfaced as additional Go return values), counted-array inputs (`T **` / `const T *` paired with `int count` or `size_t size`) lowered to Go slices, counted-array returns (`T **` paired with `int *count` or matching the input slice length) lowered to Go slices -including byte buffers and `char **` string arrays, and -`unsafe.Pointer` for `void *` arguments. +including byte buffers and `char **` / `text **` string arrays, +`unsafe.Pointer` for `void *` arguments, and metadata-driven shapes +described below. -The remaining 32 TODOs need per-function metadata: +## meta/meos-meta.json shape annotations -* `*_values` / `*_insts_p` / `*_sps` (~12 funcs) — array returns whose - length comes from a sibling accessor (`set_num_values`, - `temporal_num_instants`, etc.) the codegen cannot guess from the IDL - alone. -* `*_split` family (`temporal_time_split`, `tfloat_value_split`, - `tint_value_time_split`, `tgeo_space_split`, etc.) — parallel output - arrays (`time_bins`, `value_bins`) sharing a single count, plus - `GSERIALIZED ***` triple-pointer outputs. -* `tpoint_as_mvtgeom`, `tpointseq_make_coords` — multi-array shapes - beyond a single counted-array companion. -* `tempsubtype_from_string`, `geom_min_bounding_radius` — output - parameters named `subtype` / `radius` rather than the canonical - `result` / `value` (could be hand-listed as named outputs once a - metadata catalog exists). -* `skiplist_*` (function pointers, `void **`) — internal helpers; the - hand-written surface does not expose them either. +The remaining ecosystem-wide editorial decisions live in MEOS-API's +`meta/meos-meta.json` under each function's `shape` key, merged into +`meos-idl.json` at IDL-generation time. All bindings consume the same +catalog. -A metadata catalog of `output_parameters` / `result_parameters` / -`array_length_for` tuples (mirroring `build_pymeos_functions.py`'s -`output_parameters` / `result_parameters` / `nullable_parameters`) -would close the remaining shapes without false positives. +Annotation kinds: + +* `shape.arrayReturn.lengthFrom = { kind: "accessor", func, arg, castTo? }` — + the function returns an array whose length is obtained by calling a + sibling accessor on one of its inputs. Used by the `*_values` family + (`bigintset_values` -> `set_num_values(s)`), the `*_insts_p` / + `*_sequences_p` accessors (cast to `const Temporal *`), and the + `*_spanarr` / `*_sps` spanset accessors. +* `shape.arrayReturn.lengthFrom = { kind: "param", name }` — the + function returns an array whose length is written to an output + parameter of the same call. +* `shape.outputArrays = [{ param, ... }]` — additional parallel output + arrays sharing the primary length. Used by the `*_split` family + (`time_bins`, `value_bins`) including the triple-pointer + `GSERIALIZED ***` output of `tgeo_space_split` / `tgeo_space_time_split`. +* `shape.namedOutputs = ["subtype", "radius"]` — scalar out-parameters + whose name is neither `result` nor `value`. +* `shape.arrayInputGroup = { params, count, nullable }` — N parallel + input arrays sharing one count (`tpointseq_make_coords`). Nullable + members accept Go `nil`. +* `shape.skip = ""` — bindings omit the function entirely. ## Refreshing the IDL @@ -68,5 +76,9 @@ cp ../MEOS-API/output/meos-idl.json tools/meos-idl.json python3 tools/codegen.py ``` +The vendored IDL relies on MEOS-API PR #1 (the stdbool stub) being in +place so `bool` returns and `bool *` outputs do not get demoted to +`int`. + The vendored IDL relies on MEOS-API PR #1 (the stdbool stub) being in place so `bool` returns and `bool *` outputs do not get demoted to `int`. diff --git a/tools/_preview/meos_meos.go b/tools/_preview/meos_meos.go index 221dc80..e450d9c 100644 --- a/tools/_preview/meos_meos.go +++ b/tools/_preview/meos_meos.go @@ -1360,12 +1360,21 @@ func BigintsetStartValue(s *Set) int64 { func BigintsetValueN(s *Set, n int) (bool, int64) { var _out_result C.int64 res := C.bigintset_value_n(s._inner, C.int(n), &_out_result) - return bool(res), int64({}) + return bool(res), int64(_out_result) } -// TODO bigintset_values: unsupported return type int64 * -// func BigintsetValues(...) { /* not yet handled by codegen */ } +// BigintsetValues wraps MEOS C function bigintset_values. +func BigintsetValues(s *Set) []int64 { + res := C.bigintset_values(s._inner) + _n := int(C.set_num_values(s.Inner())) + _slice := unsafe.Slice((*C.int64)(unsafe.Pointer(res)), _n) + _out := make([]int64, _n) + for _i, _e := range _slice { + _out[_i] = int64(_e) + } + return _out +} // BigintspanLower wraps MEOS C function bigintspan_lower. @@ -1428,12 +1437,21 @@ func DatesetStartValue(s *Set) int32 { func DatesetValueN(s *Set, n int) (bool, int32) { var _out_result C.DateADT res := C.dateset_value_n(s._inner, C.int(n), &_out_result) - return bool(res), int32({}) + return bool(res), int32(_out_result) } -// TODO dateset_values: unsupported return type DateADT * -// func DatesetValues(...) { /* not yet handled by codegen */ } +// DatesetValues wraps MEOS C function dateset_values. +func DatesetValues(s *Set) []int32 { + res := C.dateset_values(s._inner) + _n := int(C.set_num_values(s.Inner())) + _slice := unsafe.Slice((*C.DateADT)(unsafe.Pointer(res)), _n) + _out := make([]int32, _n) + for _i, _e := range _slice { + _out[_i] = int32(_e) + } + return _out +} // DatespanDuration wraps MEOS C function datespan_duration. @@ -1461,7 +1479,7 @@ func DatespanUpper(s *Span) int32 { func DatespansetDateN(ss *SpanSet, n int) (bool, int32) { var _out_result C.DateADT res := C.datespanset_date_n(ss._inner, C.int(n), &_out_result) - return bool(res), int32({}) + return bool(res), int32(_out_result) } @@ -1518,12 +1536,21 @@ func FloatsetStartValue(s *Set) float64 { func FloatsetValueN(s *Set, n int) (bool, float64) { var _out_result C.double res := C.floatset_value_n(s._inner, C.int(n), &_out_result) - return bool(res), float64({}) + return bool(res), float64(_out_result) } -// TODO floatset_values: unsupported return type double * -// func FloatsetValues(...) { /* not yet handled by codegen */ } +// FloatsetValues wraps MEOS C function floatset_values. +func FloatsetValues(s *Set) []float64 { + res := C.floatset_values(s._inner) + _n := int(C.set_num_values(s.Inner())) + _slice := unsafe.Slice((*C.double)(unsafe.Pointer(res)), _n) + _out := make([]float64, _n) + for _i, _e := range _slice { + _out[_i] = float64(_e) + } + return _out +} // FloatspanLower wraps MEOS C function floatspan_lower. @@ -1586,12 +1613,21 @@ func IntsetStartValue(s *Set) int { func IntsetValueN(s *Set, n int) (bool, int) { var _out_result C.int res := C.intset_value_n(s._inner, C.int(n), &_out_result) - return bool(res), int({}) + return bool(res), int(_out_result) } -// TODO intset_values: unsupported return type int * -// func IntsetValues(...) { /* not yet handled by codegen */ } +// IntsetValues wraps MEOS C function intset_values. +func IntsetValues(s *Set) []int { + res := C.intset_values(s._inner) + _n := int(C.set_num_values(s.Inner())) + _slice := unsafe.Slice((*C.int)(unsafe.Pointer(res)), _n) + _out := make([]int, _n) + for _i, _e := range _slice { + _out[_i] = int(_e) + } + return _out +} // IntspanLower wraps MEOS C function intspan_lower. @@ -1734,8 +1770,17 @@ func SpansetSpanN(ss *SpanSet, i int) *Span { } -// TODO spanset_spanarr: unsupported return type Span ** -// func SpansetSpanarr(...) { /* not yet handled by codegen */ } +// SpansetSpanarr wraps MEOS C function spanset_spanarr. +func SpansetSpanarr(ss *SpanSet) []*Span { + res := C.spanset_spanarr(ss._inner) + _n := int(C.spanset_num_spans(ss.Inner())) + _slice := unsafe.Slice((**C.Span)(unsafe.Pointer(res)), _n) + _out := make([]*Span, _n) + for _i, _e := range _slice { + _out[_i] = &Span{_inner: _e} + } + return _out +} // SpansetStartSpan wraps MEOS C function spanset_start_span. @@ -1774,8 +1819,17 @@ func TextsetValueN(s *Set, n int) (bool, string) { } -// TODO textset_values: unsupported return type text ** -// func TextsetValues(...) { /* not yet handled by codegen */ } +// TextsetValues wraps MEOS C function textset_values. +func TextsetValues(s *Set) []string { + res := C.textset_values(s._inner) + _n := int(C.set_num_values(s.Inner())) + _slice := unsafe.Slice((**C.text)(unsafe.Pointer(res)), _n) + _out := make([]string, _n) + for _i, _e := range _slice { + _out[_i] = text2cstring(_e) + } + return _out +} // TstzsetEndValue wraps MEOS C function tstzset_end_value. @@ -1796,12 +1850,21 @@ func TstzsetStartValue(s *Set) int64 { func TstzsetValueN(s *Set, n int) (bool, int64) { var _out_result C.TimestampTz res := C.tstzset_value_n(s._inner, C.int(n), &_out_result) - return bool(res), int64({}) + return bool(res), int64(_out_result) } -// TODO tstzset_values: unsupported return type TimestampTz * -// func TstzsetValues(...) { /* not yet handled by codegen */ } +// TstzsetValues wraps MEOS C function tstzset_values. +func TstzsetValues(s *Set) []int64 { + res := C.tstzset_values(s._inner) + _n := int(C.set_num_values(s.Inner())) + _slice := unsafe.Slice((*C.TimestampTz)(unsafe.Pointer(res)), _n) + _out := make([]int64, _n) + for _i, _e := range _slice { + _out[_i] = int64(_e) + } + return _out +} // TstzspanDuration wraps MEOS C function tstzspan_duration. @@ -1871,7 +1934,7 @@ func TstzspansetTimestamps(ss *SpanSet) *Set { func TstzspansetTimestamptzN(ss *SpanSet, n int) (bool, int64) { var _out_result C.TimestampTz res := C.tstzspanset_timestamptz_n(ss._inner, C.int(n), &_out_result) - return bool(res), int64({}) + return bool(res), int64(_out_result) } @@ -5261,7 +5324,7 @@ func TBOXHasx(box *TBox) bool { func TBOXTmax(box *TBox) (bool, int64) { var _out_result C.TimestampTz res := C.tbox_tmax(box._inner, &_out_result) - return bool(res), int64({}) + return bool(res), int64(_out_result) } @@ -5269,7 +5332,7 @@ func TBOXTmax(box *TBox) (bool, int64) { func TBOXTmaxInc(box *TBox) (bool, bool) { var _out_result C.bool res := C.tbox_tmax_inc(box._inner, &_out_result) - return bool(res), bool({}) + return bool(res), bool(_out_result) } @@ -5277,7 +5340,7 @@ func TBOXTmaxInc(box *TBox) (bool, bool) { func TBOXTmin(box *TBox) (bool, int64) { var _out_result C.TimestampTz res := C.tbox_tmin(box._inner, &_out_result) - return bool(res), int64({}) + return bool(res), int64(_out_result) } @@ -5285,7 +5348,7 @@ func TBOXTmin(box *TBox) (bool, int64) { func TBOXTminInc(box *TBox) (bool, bool) { var _out_result C.bool res := C.tbox_tmin_inc(box._inner, &_out_result) - return bool(res), bool({}) + return bool(res), bool(_out_result) } @@ -5293,7 +5356,7 @@ func TBOXTminInc(box *TBox) (bool, bool) { func TBOXXmax(box *TBox) (bool, float64) { var _out_result C.double res := C.tbox_xmax(box._inner, &_out_result) - return bool(res), float64({}) + return bool(res), float64(_out_result) } @@ -5301,7 +5364,7 @@ func TBOXXmax(box *TBox) (bool, float64) { func TBOXXmaxInc(box *TBox) (bool, bool) { var _out_result C.bool res := C.tbox_xmax_inc(box._inner, &_out_result) - return bool(res), bool({}) + return bool(res), bool(_out_result) } @@ -5309,7 +5372,7 @@ func TBOXXmaxInc(box *TBox) (bool, bool) { func TBOXXmin(box *TBox) (bool, float64) { var _out_result C.double res := C.tbox_xmin(box._inner, &_out_result) - return bool(res), float64({}) + return bool(res), float64(_out_result) } @@ -5317,7 +5380,7 @@ func TBOXXmin(box *TBox) (bool, float64) { func TBOXXminInc(box *TBox) (bool, bool) { var _out_result C.bool res := C.tbox_xmin_inc(box._inner, &_out_result) - return bool(res), bool({}) + return bool(res), bool(_out_result) } @@ -5325,7 +5388,7 @@ func TBOXXminInc(box *TBox) (bool, bool) { func TboxfloatXmax(box *TBox) (bool, float64) { var _out_result C.double res := C.tboxfloat_xmax(box._inner, &_out_result) - return bool(res), float64({}) + return bool(res), float64(_out_result) } @@ -5333,7 +5396,7 @@ func TboxfloatXmax(box *TBox) (bool, float64) { func TboxfloatXmin(box *TBox) (bool, float64) { var _out_result C.double res := C.tboxfloat_xmin(box._inner, &_out_result) - return bool(res), float64({}) + return bool(res), float64(_out_result) } @@ -5341,7 +5404,7 @@ func TboxfloatXmin(box *TBox) (bool, float64) { func TboxintXmax(box *TBox) (bool, int) { var _out_result C.int res := C.tboxint_xmax(box._inner, &_out_result) - return bool(res), int({}) + return bool(res), int(_out_result) } @@ -5349,7 +5412,7 @@ func TboxintXmax(box *TBox) (bool, int) { func TboxintXmin(box *TBox) (bool, int) { var _out_result C.int res := C.tboxint_xmin(box._inner, &_out_result) - return bool(res), int({}) + return bool(res), int(_out_result) } @@ -5947,7 +6010,7 @@ func TboolStartValue(temp Temporal) bool { func TboolValueAtTimestamptz(temp Temporal, t int64, strict bool) (bool, bool) { var _out_value C.bool res := C.tbool_value_at_timestamptz(temp.Inner(), C.TimestampTz(t), C.bool(strict), &_out_value) - return bool(res), bool({}) + return bool(res), bool(_out_value) } @@ -5955,7 +6018,7 @@ func TboolValueAtTimestamptz(temp Temporal, t int64, strict bool) (bool, bool) { func TboolValueN(temp Temporal, n int) (bool, bool) { var _out_result C.bool res := C.tbool_value_n(temp.Inner(), C.int(n), &_out_result) - return bool(res), bool({}) + return bool(res), bool(_out_result) } @@ -6180,7 +6243,7 @@ func TemporalTimestamps(temp Temporal) []int64 { func TemporalTimestamptzN(temp Temporal, n int) (bool, int64) { var _out_result C.TimestampTz res := C.temporal_timestamptz_n(temp.Inner(), C.int(n), &_out_result) - return bool(res), int64({}) + return bool(res), int64(_out_result) } @@ -6230,7 +6293,7 @@ func TfloatStartValue(temp Temporal) float64 { func TfloatValueAtTimestamptz(temp Temporal, t int64, strict bool) (bool, float64) { var _out_value C.double res := C.tfloat_value_at_timestamptz(temp.Inner(), C.TimestampTz(t), C.bool(strict), &_out_value) - return bool(res), float64({}) + return bool(res), float64(_out_value) } @@ -6238,7 +6301,7 @@ func TfloatValueAtTimestamptz(temp Temporal, t int64, strict bool) (bool, float6 func TfloatValueN(temp Temporal, n int) (bool, float64) { var _out_result C.double res := C.tfloat_value_n(temp.Inner(), C.int(n), &_out_result) - return bool(res), float64({}) + return bool(res), float64(_out_result) } @@ -6288,7 +6351,7 @@ func TintStartValue(temp Temporal) int { func TintValueAtTimestamptz(temp Temporal, t int64, strict bool) (bool, int) { var _out_value C.int res := C.tint_value_at_timestamptz(temp.Inner(), C.TimestampTz(t), C.bool(strict), &_out_value) - return bool(res), int({}) + return bool(res), int(_out_value) } @@ -6296,7 +6359,7 @@ func TintValueAtTimestamptz(temp Temporal, t int64, strict bool) (bool, int) { func TintValueN(temp Temporal, n int) (bool, int) { var _out_result C.int res := C.tint_value_n(temp.Inner(), C.int(n), &_out_result) - return bool(res), int({}) + return bool(res), int(_out_result) } @@ -6386,8 +6449,18 @@ func TtextValueN(temp Temporal, n int) (bool, string) { } -// TODO ttext_values: unsupported return type text ** -// func TtextValues(...) { /* not yet handled by codegen */ } +// TtextValues wraps MEOS C function ttext_values. +func TtextValues(temp Temporal) []string { + var _out_count C.int + res := C.ttext_values(temp.Inner(), &_out_count) + _n := int(_out_count) + _slice := unsafe.Slice((**C.text)(unsafe.Pointer(res)), _n) + _out := make([]string, _n) + for _i, _e := range _slice { + _out[_i] = text2cstring(_e) + } + return _out +} // FloatDegrees wraps MEOS C function float_degrees. @@ -9205,8 +9278,19 @@ func TemporalTimeBins(temp Temporal, duration timeutil.Timedelta, origin int64) } -// TODO temporal_time_split: unsupported param TimestampTz ** -// func TemporalTimeSplit(...) { /* not yet handled by codegen */ } +// TemporalTimeSplit wraps MEOS C function temporal_time_split. +func TemporalTimeSplit(temp Temporal, duration timeutil.Timedelta, torigin int64) ([]Temporal, []int64) { + var _out_time_bins *C.TimestampTz + var _out_count C.int + res := C.temporal_time_split(temp.Inner(), duration.Inner(), C.TimestampTz(torigin), &_out_time_bins, &_out_count) + _n := int(_out_count) + _slice := unsafe.Slice((**C.Temporal)(unsafe.Pointer(res)), _n) + _out := make([]Temporal, _n) + for _i, _e := range _slice { + _out[_i] = CreateTemporal(_e) + } + return _out +} // TfloatTimeBoxes wraps MEOS C function tfloat_time_boxes. @@ -9233,8 +9317,19 @@ func TfloatValueBoxes(temp Temporal, vsize float64, vorigin float64) (*TBox, int } -// TODO tfloat_value_split: unsupported param double ** -// func TfloatValueSplit(...) { /* not yet handled by codegen */ } +// TfloatValueSplit wraps MEOS C function tfloat_value_split. +func TfloatValueSplit(temp Temporal, size float64, origin float64) ([]Temporal, []float64) { + var _out_bins *C.double + var _out_count C.int + res := C.tfloat_value_split(temp.Inner(), C.double(size), C.double(origin), &_out_bins, &_out_count) + _n := int(_out_count) + _slice := unsafe.Slice((**C.Temporal)(unsafe.Pointer(res)), _n) + _out := make([]Temporal, _n) + for _i, _e := range _slice { + _out[_i] = CreateTemporal(_e) + } + return _out +} // TfloatValueTimeBoxes wraps MEOS C function tfloat_value_time_boxes. @@ -9245,8 +9340,20 @@ func TfloatValueTimeBoxes(temp Temporal, vsize float64, duration timeutil.Timede } -// TODO tfloat_value_time_split: unsupported param double ** -// func TfloatValueTimeSplit(...) { /* not yet handled by codegen */ } +// TfloatValueTimeSplit wraps MEOS C function tfloat_value_time_split. +func TfloatValueTimeSplit(temp Temporal, vsize float64, duration timeutil.Timedelta, vorigin float64, torigin int64) ([]Temporal, []float64, []int64) { + var _out_value_bins *C.double + var _out_time_bins *C.TimestampTz + var _out_count C.int + res := C.tfloat_value_time_split(temp.Inner(), C.double(vsize), duration.Inner(), C.double(vorigin), C.TimestampTz(torigin), &_out_value_bins, &_out_time_bins, &_out_count) + _n := int(_out_count) + _slice := unsafe.Slice((**C.Temporal)(unsafe.Pointer(res)), _n) + _out := make([]Temporal, _n) + for _i, _e := range _slice { + _out[_i] = CreateTemporal(_e) + } + return _out +} // TfloatboxTimeTiles wraps MEOS C function tfloatbox_time_tiles. @@ -9297,8 +9404,19 @@ func TintValueBoxes(temp Temporal, vsize int, vorigin int) (*TBox, int) { } -// TODO tint_value_split: unsupported param int ** -// func TintValueSplit(...) { /* not yet handled by codegen */ } +// TintValueSplit wraps MEOS C function tint_value_split. +func TintValueSplit(temp Temporal, vsize int, vorigin int) ([]Temporal, []int) { + var _out_bins *C.int + var _out_count C.int + res := C.tint_value_split(temp.Inner(), C.int(vsize), C.int(vorigin), &_out_bins, &_out_count) + _n := int(_out_count) + _slice := unsafe.Slice((**C.Temporal)(unsafe.Pointer(res)), _n) + _out := make([]Temporal, _n) + for _i, _e := range _slice { + _out[_i] = CreateTemporal(_e) + } + return _out +} // TintValueTimeBoxes wraps MEOS C function tint_value_time_boxes. @@ -9309,8 +9427,20 @@ func TintValueTimeBoxes(temp Temporal, vsize int, duration timeutil.Timedelta, v } -// TODO tint_value_time_split: unsupported param int ** -// func TintValueTimeSplit(...) { /* not yet handled by codegen */ } +// TintValueTimeSplit wraps MEOS C function tint_value_time_split. +func TintValueTimeSplit(temp Temporal, size int, duration timeutil.Timedelta, vorigin int, torigin int64) ([]Temporal, []int, []int64) { + var _out_value_bins *C.int + var _out_time_bins *C.TimestampTz + var _out_count C.int + res := C.tint_value_time_split(temp.Inner(), C.int(size), duration.Inner(), C.int(vorigin), C.TimestampTz(torigin), &_out_value_bins, &_out_time_bins, &_out_count) + _n := int(_out_count) + _slice := unsafe.Slice((**C.Temporal)(unsafe.Pointer(res)), _n) + _out := make([]Temporal, _n) + for _i, _e := range _slice { + _out[_i] = CreateTemporal(_e) + } + return _out +} // TintboxTimeTiles wraps MEOS C function tintbox_time_tiles. diff --git a/tools/_preview/meos_meos_catalog.go b/tools/_preview/meos_meos_catalog.go index ea0d1d8..dff80fc 100644 --- a/tools/_preview/meos_meos_catalog.go +++ b/tools/_preview/meos_meos_catalog.go @@ -32,8 +32,14 @@ func TempsubtypeName(subtype TempSubtype) string { } -// TODO tempsubtype_from_string: unsupported param int16 * -// func TempsubtypeFromString(...) { /* not yet handled by codegen */ } +// TempsubtypeFromString wraps MEOS C function tempsubtype_from_string. +func TempsubtypeFromString(str string) (bool, int16) { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + var _out_subtype C.int16 + res := C.tempsubtype_from_string(_c_str, &_out_subtype) + return bool(res), int16(_out_subtype) +} // MeosoperName wraps MEOS C function meosoper_name. diff --git a/tools/_preview/meos_meos_geo.go b/tools/_preview/meos_meos_geo.go index 82f4204..b3d1721 100644 --- a/tools/_preview/meos_meos_geo.go +++ b/tools/_preview/meos_meos_geo.go @@ -273,7 +273,7 @@ func GeogPerimeter(g *Geom, use_spheroid bool) float64 { func GeomAzimuth(gs1 *Geom, gs2 *Geom) (bool, float64) { var _out_result C.double res := C.geom_azimuth(gs1._inner, gs2._inner, &_out_result) - return bool(res), float64({}) + return bool(res), float64(_out_result) } @@ -469,8 +469,12 @@ func GeomIntersection2dColl(gs1 *Geom, gs2 *Geom) *Geom { } -// TODO geom_min_bounding_radius: unsupported param double * -// func GeomMinBoundingRadius(...) { /* not yet handled by codegen */ } +// GeomMinBoundingRadius wraps MEOS C function geom_min_bounding_radius. +func GeomMinBoundingRadius(geom *Geom) (*Geom, float64) { + var _out_radius C.double + res := C.geom_min_bounding_radius(geom._inner, &_out_radius) + return &Geom{_inner: res}, float64(_out_radius) +} // GeomShortestline2d wraps MEOS C function geom_shortestline2d. @@ -723,8 +727,17 @@ func GeosetValueN(s *Set, n int) (bool, *Geom) { } -// TODO geoset_values: unsupported return type GSERIALIZED ** -// func GeosetValues(...) { /* not yet handled by codegen */ } +// GeosetValues wraps MEOS C function geoset_values. +func GeosetValues(s *Set) []*Geom { + res := C.geoset_values(s._inner) + _n := int(C.set_num_values(s.Inner())) + _slice := unsafe.Slice((**C.GSERIALIZED)(unsafe.Pointer(res)), _n) + _out := make([]*Geom, _n) + for _i, _e := range _slice { + _out[_i] = &Geom{_inner: _e} + } + return _out +} // ContainedGeoSet wraps MEOS C function contained_geo_set. @@ -1032,7 +1045,7 @@ func STBOXPerimeter(box *STBox, spheroid bool) float64 { func STBOXTmax(box *STBox) (bool, int64) { var _out_result C.TimestampTz res := C.stbox_tmax(box._inner, &_out_result) - return bool(res), int64({}) + return bool(res), int64(_out_result) } @@ -1040,7 +1053,7 @@ func STBOXTmax(box *STBox) (bool, int64) { func STBOXTmaxInc(box *STBox) (bool, bool) { var _out_result C.bool res := C.stbox_tmax_inc(box._inner, &_out_result) - return bool(res), bool({}) + return bool(res), bool(_out_result) } @@ -1048,7 +1061,7 @@ func STBOXTmaxInc(box *STBox) (bool, bool) { func STBOXTmin(box *STBox) (bool, int64) { var _out_result C.TimestampTz res := C.stbox_tmin(box._inner, &_out_result) - return bool(res), int64({}) + return bool(res), int64(_out_result) } @@ -1056,7 +1069,7 @@ func STBOXTmin(box *STBox) (bool, int64) { func STBOXTminInc(box *STBox) (bool, bool) { var _out_result C.bool res := C.stbox_tmin_inc(box._inner, &_out_result) - return bool(res), bool({}) + return bool(res), bool(_out_result) } @@ -1071,7 +1084,7 @@ func STBOXVolume(box *STBox) float64 { func STBOXXmax(box *STBox) (bool, float64) { var _out_result C.double res := C.stbox_xmax(box._inner, &_out_result) - return bool(res), float64({}) + return bool(res), float64(_out_result) } @@ -1079,7 +1092,7 @@ func STBOXXmax(box *STBox) (bool, float64) { func STBOXXmin(box *STBox) (bool, float64) { var _out_result C.double res := C.stbox_xmin(box._inner, &_out_result) - return bool(res), float64({}) + return bool(res), float64(_out_result) } @@ -1087,7 +1100,7 @@ func STBOXXmin(box *STBox) (bool, float64) { func STBOXYmax(box *STBox) (bool, float64) { var _out_result C.double res := C.stbox_ymax(box._inner, &_out_result) - return bool(res), float64({}) + return bool(res), float64(_out_result) } @@ -1095,7 +1108,7 @@ func STBOXYmax(box *STBox) (bool, float64) { func STBOXYmin(box *STBox) (bool, float64) { var _out_result C.double res := C.stbox_ymin(box._inner, &_out_result) - return bool(res), float64({}) + return bool(res), float64(_out_result) } @@ -1103,7 +1116,7 @@ func STBOXYmin(box *STBox) (bool, float64) { func STBOXZmax(box *STBox) (bool, float64) { var _out_result C.double res := C.stbox_zmax(box._inner, &_out_result) - return bool(res), float64({}) + return bool(res), float64(_out_result) } @@ -1111,7 +1124,7 @@ func STBOXZmax(box *STBox) (bool, float64) { func STBOXZmin(box *STBox) (bool, float64) { var _out_result C.double res := C.stbox_zmin(box._inner, &_out_result) - return bool(res), float64({}) + return bool(res), float64(_out_result) } @@ -1561,8 +1574,25 @@ func TpointseqFromBaseTstzspan(gs *Geom, s *Span, interp Interpolation) TSequenc } -// TODO tpointseq_make_coords: unsupported param const double * -// func TpointseqMakeCoords(...) { /* not yet handled by codegen */ } +// TpointseqMakeCoords wraps MEOS C function tpointseq_make_coords. +func TpointseqMakeCoords(xcoords []float64, ycoords []float64, zcoords []float64, times []int64, srid int32, geodetic bool, lower_inc bool, upper_inc bool, interp Interpolation, normalize bool) TSequence { + _c_xcoords := make([]C.double, len(xcoords)) + for _i, _v := range xcoords { _c_xcoords[_i] = C.double(_v) } + _c_ycoords := make([]C.double, len(ycoords)) + for _i, _v := range ycoords { _c_ycoords[_i] = C.double(_v) } + var _c_zcoords []C.double + if zcoords != nil { + _c_zcoords = make([]C.double, len(zcoords)) + for _i, _v := range zcoords { _c_zcoords[_i] = C.double(_v) } + } + var _c_times []C.TimestampTz + if times != nil { + _c_times = make([]C.TimestampTz, len(times)) + for _i, _v := range times { _c_times[_i] = C.TimestampTz(_v) } + } + res := C.tpointseq_make_coords(&_c_xcoords[0], &_c_ycoords[0], _ptr_or_nil_double(_c_zcoords), _ptr_or_nil_TimestampTz(_c_times), C.int(len(xcoords)), C.int32(srid), C.bool(geodetic), C.bool(lower_inc), C.bool(upper_inc), C.interpType(interp), C.bool(normalize)) + return TSequence{_inner: res} +} // TpointseqsetFromBaseTstzspanset wraps MEOS C function tpointseqset_from_base_tstzspanset. @@ -1635,8 +1665,20 @@ func TgeompointToTgeometry(temp Temporal) Temporal { } -// TODO tpoint_as_mvtgeom: unsupported param GSERIALIZED ** -// func TpointAsMvtgeom(...) { /* not yet handled by codegen */ } +// TpointAsMvtgeom wraps MEOS C function tpoint_as_mvtgeom. +func TpointAsMvtgeom(temp Temporal, bounds *STBox, extent int32, buffer int32, clip_geom bool) (bool, []*Geom, []int64, int) { + var _out_gsarr *C.GSERIALIZED + var _out_timesarr *C.int64 + var _out_count C.int + res := C.tpoint_as_mvtgeom(temp.Inner(), bounds._inner, C.int32_t(extent), C.int32_t(buffer), C.bool(clip_geom), &_out_gsarr, &_out_timesarr, &_out_count) + _slice__out_gsarr := unsafe.Slice(_out_gsarr, None) + _out_gsarr_go := make([]*Geom, None) + for _i, _e := range _slice__out_gsarr { _out_gsarr_go[_i] = &Geom{_inner: _e} } + _slice__out_timesarr := unsafe.Slice(_out_timesarr, None) + _out_timesarr_go := make([]int64, None) + for _i, _e := range _slice__out_timesarr { _out_timesarr_go[_i] = int64(_e) } + return bool(res), _out_gsarr_go, _out_timesarr_go, int(_out_count) +} // TpointTfloatToGeomeas wraps MEOS C function tpoint_tfloat_to_geomeas. @@ -1658,7 +1700,7 @@ func TspatialToSTBOX(temp Temporal) *STBox { func BearingPointPoint(gs1 *Geom, gs2 *Geom) (bool, float64) { var _out_result C.double res := C.bearing_point_point(gs1._inner, gs2._inner, &_out_result) - return bool(res), float64({}) + return bool(res), float64(_out_result) } @@ -1766,7 +1808,7 @@ func TpointCumulativeLength(temp Temporal) Temporal { func TpointDirection(temp Temporal) (bool, float64) { var _out_result C.double res := C.tpoint_direction(temp.Inner(), &_out_result) - return bool(res), float64({}) + return bool(res), float64(_out_result) } @@ -3005,20 +3047,66 @@ func STBOXTimeTiles(bounds *STBox, duration timeutil.Timedelta, torigin int64, b } -// TODO tgeo_space_split: unsupported param GSERIALIZED *** -// func TgeoSpaceSplit(...) { /* not yet handled by codegen */ } +// TgeoSpaceSplit wraps MEOS C function tgeo_space_split. +func TgeoSpaceSplit(temp Temporal, xsize float64, ysize float64, zsize float64, sorigin *Geom, bitmatrix bool, border_inc bool) ([]Temporal, []*Geom) { + var _out_space_bins **C.GSERIALIZED + var _out_count C.int + res := C.tgeo_space_split(temp.Inner(), C.double(xsize), C.double(ysize), C.double(zsize), sorigin._inner, C.bool(bitmatrix), C.bool(border_inc), &_out_space_bins, &_out_count) + _n := int(_out_count) + _slice := unsafe.Slice((**C.Temporal)(unsafe.Pointer(res)), _n) + _out := make([]Temporal, _n) + for _i, _e := range _slice { + _out[_i] = CreateTemporal(_e) + } + return _out +} -// TODO tgeo_space_time_split: unsupported param GSERIALIZED *** -// func TgeoSpaceTimeSplit(...) { /* not yet handled by codegen */ } +// TgeoSpaceTimeSplit wraps MEOS C function tgeo_space_time_split. +func TgeoSpaceTimeSplit(temp Temporal, xsize float64, ysize float64, zsize float64, duration timeutil.Timedelta, sorigin *Geom, torigin int64, bitmatrix bool, border_inc bool) ([]Temporal, []*Geom, []int64) { + var _out_space_bins **C.GSERIALIZED + var _out_time_bins *C.TimestampTz + var _out_count C.int + res := C.tgeo_space_time_split(temp.Inner(), C.double(xsize), C.double(ysize), C.double(zsize), duration.Inner(), sorigin._inner, C.TimestampTz(torigin), C.bool(bitmatrix), C.bool(border_inc), &_out_space_bins, &_out_time_bins, &_out_count) + _n := int(_out_count) + _slice := unsafe.Slice((**C.Temporal)(unsafe.Pointer(res)), _n) + _out := make([]Temporal, _n) + for _i, _e := range _slice { + _out[_i] = CreateTemporal(_e) + } + return _out +} -// TODO geo_cluster_kmeans: unsupported param uint32_t -// func GeoClusterKmeans(...) { /* not yet handled by codegen */ } +// GeoClusterKmeans wraps MEOS C function geo_cluster_kmeans. +func GeoClusterKmeans(geoms []*Geom, k uint32) []int { + _c_geoms := make([]*C.GSERIALIZED, len(geoms)) + for _i, _v := range geoms { _c_geoms[_i] = _v._inner } + res := C.geo_cluster_kmeans((**C.GSERIALIZED)(unsafe.Pointer(&_c_geoms[0])), C.uint32_t(len(geoms)), C.uint32_t(k)) + _n := len(geoms) + _slice := unsafe.Slice((*C.int)(unsafe.Pointer(res)), _n) + _out := make([]int, _n) + for _i, _e := range _slice { + _out[_i] = int(_e) + } + return _out +} -// TODO geo_cluster_dbscan: unsupported return type uint32_t * -// func GeoClusterDbscan(...) { /* not yet handled by codegen */ } +// GeoClusterDbscan wraps MEOS C function geo_cluster_dbscan. +func GeoClusterDbscan(geoms []*Geom, tolerance float64, minpoints int) []uint32 { + _c_geoms := make([]*C.GSERIALIZED, len(geoms)) + for _i, _v := range geoms { _c_geoms[_i] = _v._inner } + var _out_count C.int + res := C.geo_cluster_dbscan((**C.GSERIALIZED)(unsafe.Pointer(&_c_geoms[0])), C.uint32_t(len(geoms)), C.double(tolerance), C.int(minpoints), &_out_count) + _n := int(_out_count) + _slice := unsafe.Slice((*C.uint32_t)(unsafe.Pointer(res)), _n) + _out := make([]uint32, _n) + for _i, _e := range _slice { + _out[_i] = uint32(_e) + } + return _out +} // GeoClusterIntersecting wraps MEOS C function geo_cluster_intersecting. diff --git a/tools/_preview/meos_meos_internal.go b/tools/_preview/meos_meos_internal.go index a53d277..85a9b6f 100644 --- a/tools/_preview/meos_meos_internal.go +++ b/tools/_preview/meos_meos_internal.go @@ -139,8 +139,17 @@ func SpansetMemSize(ss *SpanSet) int { } -// TODO spanset_sps: unsupported return type const Span ** -// func SpansetSps(...) { /* not yet handled by codegen */ } +// SpansetSps wraps MEOS C function spanset_sps. +func SpansetSps(ss *SpanSet) []*Span { + res := C.spanset_sps(ss._inner) + _n := int(C.spanset_num_spans(ss.Inner())) + _slice := unsafe.Slice((**C.Span)(unsafe.Pointer(res)), _n) + _out := make([]*Span, _n) + for _i, _e := range _slice { + _out[_i] = &Span{_inner: _e} + } + return _out +} // DatespanSetTstzspan wraps MEOS C function datespan_set_tstzspan. @@ -834,8 +843,17 @@ func TsequenceHash(seq TSequence) uint32 { } -// TODO tsequence_insts_p: unsupported return type const TInstant ** -// func TsequenceInstsP(...) { /* not yet handled by codegen */ } +// TsequenceInstsP wraps MEOS C function tsequence_insts_p. +func TsequenceInstsP(seq TSequence) []TInstant { + res := C.tsequence_insts_p(seq.Inner()) + _n := int(C.temporal_num_instants((*C.Temporal)(unsafe.Pointer(seq.Inner())))) + _slice := unsafe.Slice((**C.TInstant)(unsafe.Pointer(res)), _n) + _out := make([]TInstant, _n) + for _i, _e := range _slice { + _out[_i] = TInstant{_inner: _e} + } + return _out +} // TsequenceMaxInstP wraps MEOS C function tsequence_max_inst_p. @@ -936,8 +954,17 @@ func TsequencesetInstN(ss TSequenceSet, n int) TInstant { } -// TODO tsequenceset_insts_p: unsupported return type const TInstant ** -// func TsequencesetInstsP(...) { /* not yet handled by codegen */ } +// TsequencesetInstsP wraps MEOS C function tsequenceset_insts_p. +func TsequencesetInstsP(ss TSequenceSet) []TInstant { + res := C.tsequenceset_insts_p(ss.Inner()) + _n := int(C.tsequenceset_num_instants(ss.Inner())) + _slice := unsafe.Slice((**C.TInstant)(unsafe.Pointer(res)), _n) + _out := make([]TInstant, _n) + for _i, _e := range _slice { + _out[_i] = TInstant{_inner: _e} + } + return _out +} // TsequencesetMaxInstP wraps MEOS C function tsequenceset_max_inst_p. @@ -982,8 +1009,17 @@ func TsequencesetSegments(ss TSequenceSet) []TSequence { } -// TODO tsequenceset_sequences_p: unsupported return type const TSequence ** -// func TsequencesetSequencesP(...) { /* not yet handled by codegen */ } +// TsequencesetSequencesP wraps MEOS C function tsequenceset_sequences_p. +func TsequencesetSequencesP(ss TSequenceSet) []TSequence { + res := C.tsequenceset_sequences_p(ss.Inner()) + _n := int(C.temporal_num_sequences((*C.Temporal)(unsafe.Pointer(ss.Inner())))) + _slice := unsafe.Slice((**C.TSequence)(unsafe.Pointer(res)), _n) + _out := make([]TSequence, _n) + for _i, _e := range _slice { + _out[_i] = TSequence{_inner: _e} + } + return _out +} // TsequencesetStartTimestamptz wraps MEOS C function tsequenceset_start_timestamptz. @@ -1004,7 +1040,7 @@ func TsequencesetTime(ss TSequenceSet) *SpanSet { func TsequencesetTimestamptzN(ss TSequenceSet, n int) (bool, int64) { var _out_result C.TimestampTz res := C.tsequenceset_timestamptz_n(ss.Inner(), C.int(n), &_out_result) - return bool(res), int64({}) + return bool(res), int64(_out_result) } @@ -1777,7 +1813,7 @@ func TemporalSkiplistMake() *SkipList { } -// TODO skiplist_make: unsupported param int (*)(void *, void *) +// TODO skiplist_make: skip: function-pointer args (comp_fn, merge_fn) // func SkiplistMake(...) { /* not yet handled by codegen */ } @@ -1795,19 +1831,19 @@ func SkiplistFree(list *SkipList) { } -// TODO skiplist_splice: unsupported param void ** +// TODO skiplist_splice: skip: function-pointer args (datum_func2) // func SkiplistSplice(...) { /* not yet handled by codegen */ } -// TODO temporal_skiplist_splice: unsupported param void ** +// TODO temporal_skiplist_splice: skip: function-pointer args (datum_func2) // func TemporalSkiplistSplice(...) { /* not yet handled by codegen */ } -// TODO skiplist_values: unsupported return type void ** +// TODO skiplist_values: skip: void ** internal helper // func SkiplistValues(...) { /* not yet handled by codegen */ } -// TODO skiplist_keys_values: unsupported return type void ** +// TODO skiplist_keys_values: skip: void ** internal helper // func SkiplistKeysValues(...) { /* not yet handled by codegen */ } diff --git a/tools/_preview/meos_meos_npoint.go b/tools/_preview/meos_meos_npoint.go index 650d659..c4773ed 100644 --- a/tools/_preview/meos_meos_npoint.go +++ b/tools/_preview/meos_meos_npoint.go @@ -443,8 +443,17 @@ func NpointsetValueN(s *Set, n int) (bool, *Npoint) { } -// TODO npointset_values: unsupported return type Npoint ** -// func NpointsetValues(...) { /* not yet handled by codegen */ } +// NpointsetValues wraps MEOS C function npointset_values. +func NpointsetValues(s *Set) []*Npoint { + res := C.npointset_values(s._inner) + _n := int(C.set_num_values(s.Inner())) + _slice := unsafe.Slice((**C.Npoint)(unsafe.Pointer(res)), _n) + _out := make([]*Npoint, _n) + for _i, _e := range _slice { + _out[_i] = &Npoint{_inner: _e} + } + return _out +} // ContainedNpointSet wraps MEOS C function contained_npoint_set. diff --git a/tools/codegen.py b/tools/codegen.py index 2989a59..824fda6 100644 --- a/tools/codegen.py +++ b/tools/codegen.py @@ -70,6 +70,7 @@ class TypeMapping: "uint8_t": TypeMapping("uint8", "C.uint8_t({})", "uint8({})"), "uint16": TypeMapping("uint16", "C.uint16({})", "uint16({})"), "uint32": TypeMapping("uint32", "C.uint32({})", "uint32({})"), + "uint32_t": TypeMapping("uint32", "C.uint32_t({})", "uint32({})"), "uint64": TypeMapping("uint64", "C.uint64({})", "uint64({})"), "double": TypeMapping("float64", "C.double({})", "float64({})"), "size_t": TypeMapping("uint", "C.size_t({})", "uint({})"), @@ -298,6 +299,9 @@ def _go_slice_elem(base: str, stars: int) -> tuple[str, str] | None: if stars == 2 and base == "char": # ``char **`` -> []string; each element is a C string. return "string", "C.GoString($x)" + if stars == 2 and base == "text": + # ``text **`` -> []string via text2cstring per element. + return "string", "text2cstring($x)" if stars == 1: scalar = TYPE_MAP.get(base) if scalar is not None: @@ -311,17 +315,112 @@ def _go_slice_elem(base: str, stars: int) -> tuple[str, str] | None: return None +def _emit_array_input_group(entry: dict, group: dict) -> EmittedFunc: + """Emit a wrapper for functions that take N parallel input arrays sharing + one count parameter (e.g. ``tpointseq_make_coords``). Each array param + becomes a Go slice; nullable members accept ``nil`` for the empty case.""" + c_name = entry["name"] + go_name = _go_name(c_name) + return_c = entry["returnType"]["c"] + params = entry["params"] + array_params = set(group["params"]) + count_param = group["count"] + nullable = set(group.get("nullable", [])) + + ret_go, _, ret_from_c = _go_type_for(return_c) + if ret_go is None and return_c != "void": + return EmittedFunc(go_name, _todo_stub(c_name, "arrayInputGroup return shape " + return_c), True) + + go_args, inner_args, deferred = [], [], [] + primary = None + for p in params: + pname = _go_param_name(p["name"]) + ptype = p["cType"] + base, stars = _strip_qualifiers(ptype) + if p["name"] in array_params: + primary = primary or pname + go_t = TYPE_MAP[base].go_type if base in TYPE_MAP else None + if go_t is None: + return EmittedFunc(go_name, _todo_stub(c_name, "arrayInputGroup element " + base), True) + go_args.append(f"{pname} []{go_t}") + local = f"_c_{pname}" + if p["name"] in nullable: + deferred.append(f"var {local} []C.{base}") + deferred.append(f"if {pname} != nil {{") + deferred.append(f"\t{local} = make([]C.{base}, len({pname}))") + deferred.append(f"\tfor _i, _v := range {pname} {{ {local}[_i] = C.{base}(_v) }}") + deferred.append(f"}}") + inner_args.append(f"_ptr_or_nil_{base}({local})") + else: + deferred.append(f"{local} := make([]C.{base}, len({pname}))") + deferred.append(f"for _i, _v := range {pname} {{ {local}[_i] = C.{base}(_v) }}") + inner_args.append(f"&{local}[0]") + elif p["name"] == count_param: + base, _ = _strip_qualifiers(ptype) + inner_args.append(f"C.{base}(len({primary}))") + else: + go_t, c_cast, _ = _go_type_for(ptype) + if go_t is None: + return EmittedFunc(go_name, _todo_stub(c_name, "arrayInputGroup other param " + ptype), True) + go_args.append(f"{pname} {go_t}") + inner_args.append(c_cast.replace("$x", pname) if c_cast else pname) + + sig_args = ", ".join(go_args) + call = f"C.{c_name}({', '.join(inner_args)})" + body = "\n".join("\t" + d for d in deferred) + ret_sig = "" if return_c == "void" else f" {ret_go}" + if return_c == "void": + tail = f"\t{call}" + else: + tail = f"\tres := {call}\n\treturn {ret_from_c.replace('$x', 'res')}" + code = ( + f"// {go_name} wraps MEOS C function {c_name}.\n" + f"func {go_name}({sig_args}){ret_sig} {{\n" + f"{body}\n{tail}\n}}\n" + ) + return EmittedFunc(go_name, code, False) + + def emit_function(entry: dict) -> EmittedFunc: c_name = entry["name"] go_name = _go_name(c_name) return_c = entry["returnType"]["c"] params = entry["params"] + shape = entry.get("shape", {}) + + # ``shape.skip`` (from meta/meos-meta.json) marks functions the codegen + # is told to omit entirely (function-pointer args, void ** internals). + if "skip" in shape: + return EmittedFunc(go_name, _todo_stub(c_name, "skip: " + shape["skip"]), True) + + # Metadata can mark scalar parameters as outputs even when their name is + # not the canonical ``result`` / ``value``. Carry the set down to + # ``_classify_param`` via a closure-friendly local override. + named_outputs = set(shape.get("namedOutputs", [])) + + # ``shape.arrayInputGroup`` describes N parallel input arrays that share + # one count. We hand-roll a separate emission path for these because + # the heuristic loop expects a single (array, count) pair. + if "arrayInputGroup" in shape: + return _emit_array_input_group(entry, shape["arrayInputGroup"]) + + # ``shape.outputArrays`` declares parallel out-parameters sharing the + # primary length. Hold the metadata for the param walk to recognise + # them and for the body-assembly pass to unpack them after the call. + declared_output_arrays = { + oa["param"]: oa for oa in shape.get("outputArrays", []) + } if shape else {} # Pre-classify every parameter so the input loop can skip ones that # become outputs or array-length companions. - classes = [_classify_param(p, params, i) for i, p in enumerate(params)] - - # Identify a paired array return. Two shapes: + def classify_one(p, i): + if p["name"] in named_outputs: + return "OUTPUT_SCALAR" + return _classify_param(p, params, i) + classes = [classify_one(p, i) for i, p in enumerate(params)] + + # Identify a paired array return. Three shapes, in priority order: + # (m) shape.arrayReturn metadata -> length from sibling accessor # (a) explicit OUTPUT_COUNT param -> slice length comes from C # (b) an ARRAY_LENGTH input -> slice length matches the input slice has_out_count = "OUTPUT_COUNT" in classes @@ -329,6 +428,30 @@ def emit_function(entry: dict) -> EmittedFunc: is_array_return = False array_length_source: str | None = None # ``c_count`` or ``len(input_slice)`` array_elem_go = array_elem_ctor = None + + array_meta = shape.get("arrayReturn", {}).get("lengthFrom") if shape else None + if array_meta and array_meta.get("kind") == "accessor" and return_c != "void": + info = _array_return_info(return_c) + if info is not None: + base, stars = info + elem = _go_slice_elem(base, stars) + if elem is None and stars == 2 and base == "text": + # ``text **`` array returns lower to []string. + elem = ("string", "text2cstring($x)") + if elem is not None: + is_array_return = True + array_elem_go, array_elem_ctor = elem + accessor_func = array_meta["func"] + accessor_arg = _go_param_name(array_meta["arg"]) + cast_to = array_meta.get("castTo") + arg_expr = f"{accessor_arg}.Inner()" if cast_to else f"{accessor_arg}.Inner()" + # When castTo is set, force the accessor's first param to that + # type via cgo's unsafe.Pointer ladder. Otherwise pass the + # wrapper's Inner() directly. + if cast_to: + cast_base = _strip_qualifiers(cast_to)[0] + arg_expr = f"(*C.{cast_base})(unsafe.Pointer({accessor_arg}.Inner()))" + array_length_source = f"int(C.{accessor_func}({arg_expr}))" if (has_out_count or has_in_length) and return_c not in ("void",): info = _array_return_info(return_c) if info is not None: @@ -433,11 +556,50 @@ def emit_function(entry: dict) -> EmittedFunc: local = f"_out_{pname}" deferred.append(f"var {local} C.{base}") inner_args.append(f"&{local}") - from_c = TYPE_MAP[base].from_c or "$x" + # TYPE_MAP entries use the legacy ``{}`` placeholder; the + # emitter's substitution dialect is ``$x``. + from_c = (TYPE_MAP[base].from_c or "$x").replace("{}", "$x") extra_returns.append((go_type, local, from_c.replace("$x", local))) continue return EmittedFunc(go_name, _todo_stub(c_name, "unhandled OUTPUT_SCALAR shape " + ptype), True) + # Metadata-declared output array (e.g. ``time_bins TimestampTz **``, + # ``space_bins GSERIALIZED ***``). Allocate the appropriately-typed + # local; the body-assembly pass below converts to a Go slice using + # the primary length. + if p["name"] in declared_output_arrays: + base, stars = _strip_qualifiers(ptype) + local = f"_out_{pname}" + if stars == 2 and base in TYPE_MAP and base != "text": + deferred.append(f"var {local} *C.{base}") + inner_args.append(f"&{local}") + extra_returns.append(( + f"[]{TYPE_MAP[base].go_type}", + local, + f"@SLICE_SCALAR:{local}:{base}", + )) + continue + if stars == 3 and base in WRAPPER_TYPES: + go_elem = WRAPPER_TYPES[base][0] + deferred.append(f"var {local} **C.{base}") + inner_args.append(f"&{local}") + extra_returns.append(( + f"[]{go_elem}", + local, + f"@SLICE_WRAPPED:{local}:{base}", + )) + continue + if stars == 2 and base in WRAPPER_TYPES: + go_elem = WRAPPER_TYPES[base][0] + deferred.append(f"var {local} *C.{base}") + inner_args.append(f"&{local}") + extra_returns.append(( + f"[]{go_elem}", + local, + f"@SLICE_WRAPPED_2:{local}:{base}", + )) + continue + # INPUT path ------------------------------------------------------- base, stars = _strip_qualifiers(ptype) @@ -519,10 +681,14 @@ def emit_function(entry: dict) -> EmittedFunc: call = f"C.{c_name}({', '.join(inner_args)})" if is_array_return: - # Slice length: either the OUTPUT_COUNT C local, or ``len(input)`` - # when the C function takes a count input and returns an array of - # the same length. - count_expr = f"int({array_count_local})" if array_count_local else array_length_source + # Slice length resolution order: + # 1. shape.arrayReturn metadata (array_length_source pre-set) + # 2. OUTPUT_COUNT C local captured during param walk + # 3. len() of an ARRAY_LENGTH input slice + if array_count_local: + count_expr = f"int({array_count_local})" + else: + count_expr = array_length_source body_lines.append(f"\tres := {call}") body_lines.append(f"\t_n := {count_expr}") if array_elem_go == "byte": @@ -544,6 +710,7 @@ def emit_function(entry: dict) -> EmittedFunc: if extra_returns: body_lines.append(f"\t{call}") tail = ", ".join(c2g for _, _, c2g in extra_returns) + tail = _expand_slice_markers(tail, body_lines, array_count_local, array_length_source) body_lines.append(f"\treturn {tail}") else: body_lines.append(f"\t{call}") @@ -552,6 +719,7 @@ def emit_function(entry: dict) -> EmittedFunc: return_expr = ret_from_c.replace("$x", "res") if extra_returns: tail = ", ".join(c2g for _, _, c2g in extra_returns) + tail = _expand_slice_markers(tail, body_lines, array_count_local, array_length_source) body_lines.append(f"\treturn {return_expr}, {tail}") else: body_lines.append(f"\treturn {return_expr}") @@ -565,6 +733,59 @@ def emit_function(entry: dict) -> EmittedFunc: return EmittedFunc(go_name, code, False) +def _expand_slice_markers(tail: str, body_lines: list[str], count_local: str | None, + array_length_source: str | None) -> str: + """Resolve ``@SLICE_*`` placeholders left by output-array emission. + + The marker carries everything we need (kind, C local, base type) to + synthesise both the unpacking statements and the final Go expression + used in the return tuple. Statements are appended to ``body_lines``; + the substituted expression replaces the marker in the tail string.""" + if "@SLICE_" not in tail: + return tail + length_expr = f"int({count_local})" if count_local else array_length_source + + def _resolve(marker: str) -> str: + kind, local, base = marker.split(":", 2) + out_local = f"{local}_go" + if kind == "@SLICE_SCALAR": + elem_c = f"C.{base}" + elem_go = TYPE_MAP[base].go_type + from_c = (TYPE_MAP[base].from_c or "$x").replace("{}", "$x").replace("$x", "_e") + body_lines.append(f"\t_slice_{local} := unsafe.Slice({local}, {length_expr})") + body_lines.append(f"\t{out_local} := make([]{elem_go}, {length_expr})") + body_lines.append(f"\tfor _i, _e := range _slice_{local} {{ {out_local}[_i] = {from_c} }}") + return out_local + if kind == "@SLICE_WRAPPED_2": + go_elem, ctor = WRAPPER_TYPES[base] + ctor_expr = ctor.replace("$res", "_e") + elem_c = f"*C.{base}" + body_lines.append(f"\t_slice_{local} := unsafe.Slice({local}, {length_expr})") + body_lines.append(f"\t{out_local} := make([]{go_elem}, {length_expr})") + body_lines.append(f"\tfor _i, _e := range _slice_{local} {{ {out_local}[_i] = {ctor_expr} }}") + return out_local + if kind == "@SLICE_WRAPPED": + # Triple pointer: ``T ***`` means the C function writes a + # ``T **`` (an array of N pointers) to ``*local``. + go_elem, ctor = WRAPPER_TYPES[base] + ctor_expr = ctor.replace("$res", "_e") + body_lines.append(f"\t_slice_{local} := unsafe.Slice({local}, {length_expr})") + body_lines.append(f"\t{out_local} := make([]{go_elem}, {length_expr})") + body_lines.append(f"\tfor _i, _e := range _slice_{local} {{ {out_local}[_i] = {ctor_expr} }}") + return out_local + return marker + + # Substitute every marker; ordering is preserved because we walk the + # comma-separated expression left to right. + out_pieces = [] + for piece in tail.split(", "): + if piece.startswith("@SLICE_"): + out_pieces.append(_resolve(piece)) + else: + out_pieces.append(piece) + return ", ".join(out_pieces) + + def _todo_stub(c_name: str, reason: str) -> str: return ( f"// TODO {c_name}: {reason}\n" @@ -621,10 +842,10 @@ def generate(idl_path: Path, out_dir: Path) -> dict: if entry["file"] in entries_by_file: entries_by_file[entry["file"]].append(entry) - stats = {"emitted": 0, "skipped": 0, "datum": 0, "by_header": {}} + stats = {"emitted": 0, "skipped": 0, "explicit_skip": 0, "datum": 0, "by_header": {}} for header in HEADER_FILES: emitted_funcs = [] - local_emit = local_skip = local_datum = 0 + local_emit = local_skip = local_explicit = local_datum = 0 for entry in entries_by_file[header]: if entry["name"] in SKIPPED_FUNCTIONS: continue @@ -636,12 +857,19 @@ def generate(idl_path: Path, out_dir: Path) -> dict: ef = emit_function(entry) emitted_funcs.append(ef) if ef.skipped: - local_skip += 1 + # Differentiate explicit meta-driven skips (declared + # non-wrappable) from honest TODOs (shape the generator + # could not resolve). + if "skip:" in ef.code: + local_explicit += 1 + else: + local_skip += 1 else: local_emit += 1 - stats["by_header"][header] = (local_emit, local_skip, local_datum) + stats["by_header"][header] = (local_emit, local_skip, local_explicit, local_datum) stats["emitted"] += local_emit stats["skipped"] += local_skip + stats["explicit_skip"] += local_explicit stats["datum"] += local_datum out_file = out_dir / f"meos_{header.replace('.h', '')}.go" @@ -663,7 +891,8 @@ def generate(idl_path: Path, out_dir: Path) -> dict: # are covered. stats = generate(here / "meos-idl.json", here / "_preview") print(f"Emitted {stats['emitted']} idiomatic wrappers") - print(f"Skipped {stats['skipped']} as TODO (unsupported signature shape)") + print(f"Skipped {stats['skipped']} as TODO (unresolved signature shape)") + print(f"Excluded {stats['explicit_skip']} via meta/meos-meta.json shape.skip declarations") print(f"Excluded {stats['datum']} as Datum-bearing internal helpers") - for h, (e, s, d) in stats["by_header"].items(): - print(f" {h}: {e} emitted, {s} TODO, {d} Datum") + for h, (e, s, sk, d) in stats["by_header"].items(): + print(f" {h}: {e} emitted, {s} TODO, {sk} explicit-skip, {d} Datum") diff --git a/tools/meos-idl.json b/tools/meos-idl.json index d945035..6605963 100644 --- a/tools/meos-idl.json +++ b/tools/meos-idl.json @@ -2972,7 +2972,16 @@ "cType": "const Set *", "canonical": "const Set *" } - ] + ], + "shape": { + "arrayReturn": { + "lengthFrom": { + "kind": "accessor", + "func": "set_num_values", + "arg": "s" + } + } + } }, { "name": "bigintspan_lower", @@ -3137,7 +3146,16 @@ "cType": "const Set *", "canonical": "const Set *" } - ] + ], + "shape": { + "arrayReturn": { + "lengthFrom": { + "kind": "accessor", + "func": "set_num_values", + "arg": "s" + } + } + } }, { "name": "datespan_duration", @@ -3357,7 +3375,16 @@ "cType": "const Set *", "canonical": "const Set *" } - ] + ], + "shape": { + "arrayReturn": { + "lengthFrom": { + "kind": "accessor", + "func": "set_num_values", + "arg": "s" + } + } + } }, { "name": "floatspan_lower", @@ -3522,7 +3549,16 @@ "cType": "const Set *", "canonical": "const Set *" } - ] + ], + "shape": { + "arrayReturn": { + "lengthFrom": { + "kind": "accessor", + "func": "set_num_values", + "arg": "s" + } + } + } }, { "name": "intspan_lower", @@ -3862,7 +3898,16 @@ "cType": "const SpanSet *", "canonical": "const SpanSet *" } - ] + ], + "shape": { + "arrayReturn": { + "lengthFrom": { + "kind": "accessor", + "func": "spanset_num_spans", + "arg": "ss" + } + } + } }, { "name": "spanset_start_span", @@ -3962,7 +4007,16 @@ "cType": "const Set *", "canonical": "const Set *" } - ] + ], + "shape": { + "arrayReturn": { + "lengthFrom": { + "kind": "accessor", + "func": "set_num_values", + "arg": "s" + } + } + } }, { "name": "tstzset_end_value", @@ -4032,7 +4086,16 @@ "cType": "const Set *", "canonical": "const Set *" } - ] + ], + "shape": { + "arrayReturn": { + "lengthFrom": { + "kind": "accessor", + "func": "set_num_values", + "arg": "s" + } + } + } }, { "name": "tstzspan_duration", @@ -16727,7 +16790,15 @@ "cType": "int *", "canonical": "int *" } - ] + ], + "shape": { + "arrayReturn": { + "lengthFrom": { + "kind": "param", + "name": "count" + } + } + } }, { "name": "float_degrees", @@ -24601,7 +24672,20 @@ "cType": "int *", "canonical": "int *" } - ] + ], + "shape": { + "arrayReturn": { + "lengthFrom": { + "kind": "param", + "name": "count" + } + }, + "outputArrays": [ + { + "param": "time_bins" + } + ] + } }, { "name": "tfloat_time_boxes", @@ -24726,7 +24810,20 @@ "cType": "int *", "canonical": "int *" } - ] + ], + "shape": { + "arrayReturn": { + "lengthFrom": { + "kind": "param", + "name": "count" + } + }, + "outputArrays": [ + { + "param": "bins" + } + ] + } }, { "name": "tfloat_value_time_boxes", @@ -24816,7 +24913,23 @@ "cType": "int *", "canonical": "int *" } - ] + ], + "shape": { + "arrayReturn": { + "lengthFrom": { + "kind": "param", + "name": "count" + } + }, + "outputArrays": [ + { + "param": "value_bins" + }, + { + "param": "time_bins" + } + ] + } }, { "name": "tfloatbox_time_tiles", @@ -25041,7 +25154,20 @@ "cType": "int *", "canonical": "int *" } - ] + ], + "shape": { + "arrayReturn": { + "lengthFrom": { + "kind": "param", + "name": "count" + } + }, + "outputArrays": [ + { + "param": "bins" + } + ] + } }, { "name": "tint_value_time_boxes", @@ -25131,7 +25257,23 @@ "cType": "int *", "canonical": "int *" } - ] + ], + "shape": { + "arrayReturn": { + "lengthFrom": { + "kind": "param", + "name": "count" + } + }, + "outputArrays": [ + { + "param": "value_bins" + }, + { + "param": "time_bins" + } + ] + } }, { "name": "tintbox_time_tiles", @@ -25296,7 +25438,12 @@ "cType": "int16 *", "canonical": "short *" } - ] + ], + "shape": { + "namedOutputs": [ + "subtype" + ] + } }, { "name": "meosoper_name", @@ -27551,7 +27698,12 @@ "cType": "double *", "canonical": "double *" } - ] + ], + "shape": { + "namedOutputs": [ + "radius" + ] + } }, { "name": "geom_shortestline2d", @@ -28276,7 +28428,16 @@ "cType": "const Set *", "canonical": "const Set *" } - ] + ], + "shape": { + "arrayReturn": { + "lengthFrom": { + "kind": "accessor", + "func": "set_num_values", + "arg": "s" + } + } + } }, { "name": "contained_geo_set", @@ -30556,7 +30717,22 @@ "cType": "bool", "canonical": "bool" } - ] + ], + "shape": { + "arrayInputGroup": { + "params": [ + "xcoords", + "ycoords", + "zcoords", + "times" + ], + "count": "count", + "nullable": [ + "zcoords", + "times" + ] + } + } }, { "name": "tpointseqset_from_base_tstzspanset", @@ -30766,7 +30942,25 @@ "cType": "int *", "canonical": "int *" } - ] + ], + "shape": { + "outputArrays": [ + { + "param": "gsarr", + "lengthFrom": { + "kind": "param", + "name": "count" + } + }, + { + "param": "timesarr", + "lengthFrom": { + "kind": "param", + "name": "count" + } + } + ] + } }, { "name": "tpoint_tfloat_to_geomeas", @@ -35055,7 +35249,20 @@ "cType": "int *", "canonical": "int *" } - ] + ], + "shape": { + "arrayReturn": { + "lengthFrom": { + "kind": "param", + "name": "count" + } + }, + "outputArrays": [ + { + "param": "space_bins" + } + ] + } }, { "name": "tgeo_space_time_split", @@ -35125,7 +35332,23 @@ "cType": "int *", "canonical": "int *" } - ] + ], + "shape": { + "arrayReturn": { + "lengthFrom": { + "kind": "param", + "name": "count" + } + }, + "outputArrays": [ + { + "param": "space_bins" + }, + { + "param": "time_bins" + } + ] + } }, { "name": "geo_cluster_kmeans", @@ -36118,7 +36341,16 @@ "cType": "const SpanSet *", "canonical": "const SpanSet *" } - ] + ], + "shape": { + "arrayReturn": { + "lengthFrom": { + "kind": "accessor", + "func": "spanset_num_spans", + "arg": "ss" + } + } + } }, { "name": "spanset_upper", @@ -40128,7 +40360,17 @@ "cType": "const TSequence *", "canonical": "const TSequence *" } - ] + ], + "shape": { + "arrayReturn": { + "lengthFrom": { + "kind": "accessor", + "func": "temporal_num_instants", + "arg": "seq", + "castTo": "const Temporal *" + } + } + } }, { "name": "tsequence_max_inst_p", @@ -40413,7 +40655,16 @@ "cType": "const TSequenceSet *", "canonical": "const TSequenceSet *" } - ] + ], + "shape": { + "arrayReturn": { + "lengthFrom": { + "kind": "accessor", + "func": "tsequenceset_num_instants", + "arg": "ss" + } + } + } }, { "name": "tsequenceset_max_inst_p", @@ -40538,7 +40789,17 @@ "cType": "const TSequenceSet *", "canonical": "const TSequenceSet *" } - ] + ], + "shape": { + "arrayReturn": { + "lengthFrom": { + "kind": "accessor", + "func": "temporal_num_sequences", + "arg": "ss", + "castTo": "const Temporal *" + } + } + } }, { "name": "tsequenceset_start_timestamptz", @@ -43772,7 +44033,10 @@ "cType": "void *(*)(void *, void *)", "canonical": "void *(*)(void *, void *)" } - ] + ], + "shape": { + "skip": "function-pointer args (comp_fn, merge_fn)" + } }, { "name": "skiplist_search", @@ -43857,7 +44121,10 @@ "cType": "SkipListType", "canonical": "SkipListType" } - ] + ], + "shape": { + "skip": "function-pointer args (datum_func2)" + } }, { "name": "temporal_skiplist_splice", @@ -43892,7 +44159,10 @@ "cType": "bool", "canonical": "bool" } - ] + ], + "shape": { + "skip": "function-pointer args (datum_func2)" + } }, { "name": "skiplist_values", @@ -43907,7 +44177,10 @@ "cType": "SkipList *", "canonical": "struct SkipList *" } - ] + ], + "shape": { + "skip": "void ** internal helper" + } }, { "name": "skiplist_keys_values", @@ -43927,7 +44200,10 @@ "cType": "void **", "canonical": "void **" } - ] + ], + "shape": { + "skip": "void ** internal helper" + } }, { "name": "temporal_app_tinst_transfn", @@ -47060,7 +47336,16 @@ "cType": "const Set *", "canonical": "const Set *" } - ] + ], + "shape": { + "arrayReturn": { + "lengthFrom": { + "kind": "accessor", + "func": "set_num_values", + "arg": "s" + } + } + } }, { "name": "contained_npoint_set", From 2518af41fcc5cc0f6bc91038fcbb7207f23fd280 Mon Sep 17 00:00:00 2001 From: Esteban Zimanyi Date: Wed, 13 May 2026 18:50:11 +0200 Subject: [PATCH 5/6] Wrap the skiplist primitives via unsafe.Pointer Aggregation depends on the skiplist API and the other bindings that consume meos-idl.json all expose its function-pointer and void ** arguments as raw pointers (PyMEOS-CFFI as _ffi.CData, MEOS.NET as IntPtr). GoMEOS now does the same: void **, const void **, datum_func2, error_handler_fn, and the two anonymous function-pointer typedefs (int (*)(void *, void *) and void *(*)(void *, void *)) map to unsafe.Pointer; SkipListType joins the enum group. The classifier no longer treats a count following void ** as ARRAY_LENGTH, so the count parameter of skiplist_splice / temporal_skiplist_splice stays a real Go input instead of being derived from a non-existent slice length. The five shape.skip entries the previous commit added are removed from meta/meos-meta.json; coverage rises to 2199 emitted / 0 TODO / 0 explicit-skip across 2369 candidates. --- tools/README.md | 15 ++++++++----- tools/_preview/meos_meos_internal.go | 33 +++++++++++++++++++--------- tools/codegen.py | 32 +++++++++++++++++++-------- tools/meos-idl.json | 25 +++++---------------- 4 files changed, 61 insertions(+), 44 deletions(-) diff --git a/tools/README.md b/tools/README.md index 2547faf..b7984b3 100644 --- a/tools/README.md +++ b/tools/README.md @@ -15,13 +15,16 @@ python3 tools/codegen.py ## Coverage today -2369 candidate functions across the six public headers. 2194 emit +2369 candidate functions across the six public headers. 2199 emit cleanly; 170 are excluded as `Datum`-bearing internal helpers (the hand-written surface exposes those through typed overloads which the -codegen cannot synthesise from the IDL); 5 are excluded by an explicit -`shape.skip` declaration in `meta/meos-meta.json` (the skiplist family -takes function-pointer arguments / returns `void **`). Zero unresolved -TODOs remain. +codegen cannot synthesise from the IDL). Zero unresolved TODOs and +zero explicit skips remain. The skiplist primitives that take +function-pointer arguments (`comp_fn`, `merge_fn`, `datum_func2`) or +operate on `void **` element arrays surface as `unsafe.Pointer`, +matching how PyMEOS-CFFI exposes them as `_ffi.CData` and MEOS.NET as +`IntPtr` — callers provide the raw pointer obtained from another +wrapped MEOS call (for example a typed comparator's address). The covered shapes are: scalar inputs, wrapped opaque pointers (`Temporal`, `STBox`, `TBox`, `Span`, `SpanSet`, `Set`, `GSERIALIZED`, @@ -65,6 +68,8 @@ Annotation kinds: input arrays sharing one count (`tpointseq_make_coords`). Nullable members accept Go `nil`. * `shape.skip = ""` — bindings omit the function entirely. + Retained as an escape hatch but no entries use it today; the + skiplist family now surfaces through `unsafe.Pointer` instead. ## Refreshing the IDL diff --git a/tools/_preview/meos_meos_internal.go b/tools/_preview/meos_meos_internal.go index 85a9b6f..8fe89bc 100644 --- a/tools/_preview/meos_meos_internal.go +++ b/tools/_preview/meos_meos_internal.go @@ -1813,8 +1813,11 @@ func TemporalSkiplistMake() *SkipList { } -// TODO skiplist_make: skip: function-pointer args (comp_fn, merge_fn) -// func SkiplistMake(...) { /* not yet handled by codegen */ } +// SkiplistMake wraps MEOS C function skiplist_make. +func SkiplistMake(key_size uint, value_size uint, comp_fn unsafe.Pointer, merge_fn unsafe.Pointer) *SkipList { + res := C.skiplist_make(C.size_t(key_size), C.size_t(value_size), comp_fn, merge_fn) + return &SkipList{_inner: res} +} // SkiplistSearch wraps MEOS C function skiplist_search. @@ -1831,20 +1834,30 @@ func SkiplistFree(list *SkipList) { } -// TODO skiplist_splice: skip: function-pointer args (datum_func2) -// func SkiplistSplice(...) { /* not yet handled by codegen */ } +// SkiplistSplice wraps MEOS C function skiplist_splice. +func SkiplistSplice(list *SkipList, keys unsafe.Pointer, values unsafe.Pointer, count int, func_ unsafe.Pointer, crossings bool, sktype SkipListType) { + C.skiplist_splice(list._inner, unsafe.Pointer(keys), unsafe.Pointer(values), C.int(count), func_, C.bool(crossings), C.SkipListType(sktype)) +} -// TODO temporal_skiplist_splice: skip: function-pointer args (datum_func2) -// func TemporalSkiplistSplice(...) { /* not yet handled by codegen */ } +// TemporalSkiplistSplice wraps MEOS C function temporal_skiplist_splice. +func TemporalSkiplistSplice(list *SkipList, values unsafe.Pointer, count int, func_ unsafe.Pointer, crossings bool) { + C.temporal_skiplist_splice(list._inner, unsafe.Pointer(values), C.int(count), func_, C.bool(crossings)) +} -// TODO skiplist_values: skip: void ** internal helper -// func SkiplistValues(...) { /* not yet handled by codegen */ } +// SkiplistValues wraps MEOS C function skiplist_values. +func SkiplistValues(list *SkipList) unsafe.Pointer { + res := C.skiplist_values(list._inner) + return unsafe.Pointer(res) +} -// TODO skiplist_keys_values: skip: void ** internal helper -// func SkiplistKeysValues(...) { /* not yet handled by codegen */ } +// SkiplistKeysValues wraps MEOS C function skiplist_keys_values. +func SkiplistKeysValues(list *SkipList, values unsafe.Pointer) unsafe.Pointer { + res := C.skiplist_keys_values(list._inner, unsafe.Pointer(values)) + return unsafe.Pointer(res) +} // TemporalAppTinstTransfn wraps MEOS C function temporal_app_tinst_transfn. diff --git a/tools/codegen.py b/tools/codegen.py index 824fda6..cb873af 100644 --- a/tools/codegen.py +++ b/tools/codegen.py @@ -79,15 +79,29 @@ class TypeMapping: "TimestampTz": TypeMapping("int64", "C.TimestampTz({})", "int64({})"), "TimeADT": TypeMapping("int64", "C.TimeADT({})", "int64({})"), "TimeOffset": TypeMapping("int64", "C.TimeOffset({})", "int64({})"), - # Opaque ``void *`` arguments (e.g. ``rtree_insert``'s box) and - # ``const void *`` query buffers map straight to ``unsafe.Pointer``. - "void *": TypeMapping("unsafe.Pointer", "unsafe.Pointer({})", "unsafe.Pointer({})"), - "const void *": TypeMapping("unsafe.Pointer", "unsafe.Pointer({})", "unsafe.Pointer({})"), + # Opaque pointer family. Every binding that consumes meos-idl.json + # (PyMEOS-CFFI as `_ffi.CData`, MEOS.NET as `IntPtr`, meos-rs as + # `*mut c_void`) surfaces these as raw pointers and lets the caller + # supply a value obtained elsewhere (typically another wrapped + # function's return). GoMEOS follows the same convention. + "void *": TypeMapping("unsafe.Pointer", "unsafe.Pointer({})", "unsafe.Pointer({})"), + "const void *": TypeMapping("unsafe.Pointer", "unsafe.Pointer({})", "unsafe.Pointer({})"), + "void **": TypeMapping("unsafe.Pointer", "unsafe.Pointer({})", "unsafe.Pointer({})"), + "const void **": TypeMapping("unsafe.Pointer", "unsafe.Pointer({})", "unsafe.Pointer({})"), + # Function-pointer typedefs. MEOS exposes these as opaque handles + # the caller obtains from another MEOS call (e.g. taking the address + # of a typed comparator). Skiplist primitives and the error handler + # are the only signatures that take one today. + "datum_func2": TypeMapping("unsafe.Pointer", "{}", "{}"), + "error_handler_fn": TypeMapping("unsafe.Pointer", "{}", "{}"), + "int (*)(void *, void *)": TypeMapping("unsafe.Pointer", "{}", "{}"), + "void *(*)(void *, void *)": TypeMapping("unsafe.Pointer", "{}", "{}"), "interpType": TypeMapping("Interpolation", "C.interpType({})", "Interpolation({})"), "meosType": TypeMapping("MeosType", "C.meosType({})", "MeosType({})"), "meosOper": TypeMapping("MeosOper", "C.meosOper({})", "MeosOper({})"), "tempSubtype": TypeMapping("TempSubtype", "C.tempSubtype({})", "TempSubtype({})"), "errorLevel": TypeMapping("ErrorLevel", "C.errorLevel({})", "ErrorLevel({})"), + "SkipListType": TypeMapping("SkipListType", "C.SkipListType({})", "SkipListType({})"), "char *": TypeMapping("string", "C.CString({})", "C.GoString({})"), "const char *": TypeMapping("string", "C.CString({})", "C.GoString({})"), # PostgreSQL ``text`` is a varlena envelope around a Go string. The @@ -244,17 +258,17 @@ def _classify_param(p: dict, params: list[dict], i: int) -> str: prev = params[i - 1] prev_base, prev_stars = _strip_qualifiers(prev["cType"]) prev_is_const = "const " in prev["cType"] - # ``T **`` non-const + ``count`` -> array input - if prev_stars == 2: + # ``T **`` where T is a wrappable element + ``count`` -> array input. + # ``void **`` is intentionally excluded: it maps to a raw + # unsafe.Pointer (not a Go slice), so the count is a real input + # the caller controls, not a length derived from len(). + if prev_stars == 2 and (prev_base in WRAPPER_TYPES or prev_base == "text"): return "ARRAY_LENGTH" # ``const T *`` + ``count`` for scalar slices (intset_make etc.) if prev_stars == 1 and prev_is_const and prev_base in { "int", "int64", "double", "DateADT", "TimestampTz", "uint8_t", }: return "ARRAY_LENGTH" - # ``const uint8_t *wkb`` + ``size`` byte buffer - if prev_stars == 1 and prev_is_const and prev_base == "uint8_t": - return "ARRAY_LENGTH" # Trailing ``int *count`` or ``size_t *size_out`` at the tail or with a # name signal -> count output. diff --git a/tools/meos-idl.json b/tools/meos-idl.json index 6605963..3304fec 100644 --- a/tools/meos-idl.json +++ b/tools/meos-idl.json @@ -44033,10 +44033,7 @@ "cType": "void *(*)(void *, void *)", "canonical": "void *(*)(void *, void *)" } - ], - "shape": { - "skip": "function-pointer args (comp_fn, merge_fn)" - } + ] }, { "name": "skiplist_search", @@ -44121,10 +44118,7 @@ "cType": "SkipListType", "canonical": "SkipListType" } - ], - "shape": { - "skip": "function-pointer args (datum_func2)" - } + ] }, { "name": "temporal_skiplist_splice", @@ -44159,10 +44153,7 @@ "cType": "bool", "canonical": "bool" } - ], - "shape": { - "skip": "function-pointer args (datum_func2)" - } + ] }, { "name": "skiplist_values", @@ -44177,10 +44168,7 @@ "cType": "SkipList *", "canonical": "struct SkipList *" } - ], - "shape": { - "skip": "void ** internal helper" - } + ] }, { "name": "skiplist_keys_values", @@ -44200,10 +44188,7 @@ "cType": "void **", "canonical": "void **" } - ], - "shape": { - "skip": "void ** internal helper" - } + ] }, { "name": "temporal_app_tinst_transfn", From 3b1da6601cb85967b80909d82f81fae9c1c762f1 Mon Sep 17 00:00:00 2001 From: Esteban Zimanyi Date: Thu, 14 May 2026 09:10:05 +0200 Subject: [PATCH 6/6] Re-vendor meos-idl.json to pick up shape.nullable additions The metadata extension on MEOS-API #2 added shape.nullable across 38 functions and shape.outputArrays on tpoint_as_mvtgeom / *_hexwkb / *_time_tiles. Re-vendoring keeps GoMEOS in sync with the ecosystem catalog; the generated wrappers in tools/_preview/ are byte-identical because the GoMEOS codegen does not yet consume shape.nullable (nullability in Go is expressed via type rather than at the call site). --- tools/meos-idl.json | 307 ++++++++++++++++++++++++++++++++++++++------ 1 file changed, 268 insertions(+), 39 deletions(-) diff --git a/tools/meos-idl.json b/tools/meos-idl.json index 3304fec..4b9cb35 100644 --- a/tools/meos-idl.json +++ b/tools/meos-idl.json @@ -486,7 +486,12 @@ "cType": "int", "canonical": "int" } - ] + ], + "shape": { + "nullable": [ + "extra" + ] + } }, { "name": "meos_get_datestyle", @@ -528,7 +533,12 @@ "c": "void", "canonical": "void" }, - "params": [] + "params": [], + "shape": { + "nullable": [ + "tz_str" + ] + } }, { "name": "meos_finalize", @@ -5105,7 +5115,13 @@ "cType": "const Interval *", "canonical": "const Interval *" } - ] + ], + "shape": { + "nullable": [ + "shift", + "duration" + ] + } }, { "name": "tstzset_tprecision", @@ -5155,7 +5171,13 @@ "cType": "const Interval *", "canonical": "const Interval *" } - ] + ], + "shape": { + "nullable": [ + "shift", + "duration" + ] + } }, { "name": "tstzspan_tprecision", @@ -5205,7 +5227,13 @@ "cType": "const Interval *", "canonical": "const Interval *" } - ] + ], + "shape": { + "nullable": [ + "shift", + "duration" + ] + } }, { "name": "tstzspanset_tprecision", @@ -13030,7 +13058,12 @@ "cType": "TimestampTz", "canonical": "long" } - ] + ], + "shape": { + "nullable": [ + "p" + ] + } }, { "name": "timestamptz_union_transfn", @@ -13500,7 +13533,14 @@ "cType": "size_t *", "canonical": "unsigned long *" } - ] + ], + "shape": { + "outputArrays": [ + { + "param": "size" + } + ] + } }, { "name": "tbox_as_wkb", @@ -13750,7 +13790,13 @@ "cType": "const Span *", "canonical": "const Span *" } - ] + ], + "shape": { + "nullable": [ + "p", + "s" + ] + } }, { "name": "float_to_tbox", @@ -14255,7 +14301,13 @@ "cType": "const Interval *", "canonical": "const Interval *" } - ] + ], + "shape": { + "nullable": [ + "shift", + "duration" + ] + } }, { "name": "tfloatbox_expand", @@ -14915,7 +14967,12 @@ "cType": "const char *", "canonical": "const char *" } - ] + ], + "shape": { + "nullable": [ + "srs" + ] + } }, { "name": "temporal_as_wkb", @@ -15540,7 +15597,12 @@ "cType": "double", "canonical": "double" } - ] + ], + "shape": { + "nullable": [ + "maxt" + ] + } }, { "name": "ttext_from_base_temp", @@ -16928,7 +16990,13 @@ "cType": "const Interval *", "canonical": "const Interval *" } - ] + ], + "shape": { + "nullable": [ + "shift", + "duration" + ] + } }, { "name": "temporal_shift_time", @@ -17238,7 +17306,12 @@ "cType": "bool", "canonical": "bool" } - ] + ], + "shape": { + "nullable": [ + "maxt" + ] + } }, { "name": "temporal_append_tsequence", @@ -23807,7 +23880,12 @@ "cType": "const Temporal *", "canonical": "const Temporal *" } - ] + ], + "shape": { + "nullable": [ + "state" + ] + } }, { "name": "tbool_tor_transfn", @@ -23827,7 +23905,12 @@ "cType": "const Temporal *", "canonical": "const Temporal *" } - ] + ], + "shape": { + "nullable": [ + "state" + ] + } }, { "name": "temporal_extent_transfn", @@ -23847,7 +23930,12 @@ "cType": "const Temporal *", "canonical": "const Temporal *" } - ] + ], + "shape": { + "nullable": [ + "p" + ] + } }, { "name": "temporal_tagg_finalfn", @@ -23882,7 +23970,13 @@ "cType": "const Temporal *", "canonical": "const Temporal *" } - ] + ], + "shape": { + "nullable": [ + "state", + "interval" + ] + } }, { "name": "tfloat_tmax_transfn", @@ -23902,7 +23996,12 @@ "cType": "const Temporal *", "canonical": "const Temporal *" } - ] + ], + "shape": { + "nullable": [ + "state" + ] + } }, { "name": "tfloat_tmin_transfn", @@ -23922,7 +24021,12 @@ "cType": "const Temporal *", "canonical": "const Temporal *" } - ] + ], + "shape": { + "nullable": [ + "state" + ] + } }, { "name": "tfloat_tsum_transfn", @@ -23942,7 +24046,12 @@ "cType": "const Temporal *", "canonical": "const Temporal *" } - ] + ], + "shape": { + "nullable": [ + "state" + ] + } }, { "name": "tfloat_wmax_transfn", @@ -24037,7 +24146,13 @@ "cType": "TimestampTz", "canonical": "long" } - ] + ], + "shape": { + "nullable": [ + "state", + "interval" + ] + } }, { "name": "tint_tmax_transfn", @@ -24057,7 +24172,12 @@ "cType": "const Temporal *", "canonical": "const Temporal *" } - ] + ], + "shape": { + "nullable": [ + "state" + ] + } }, { "name": "tint_tmin_transfn", @@ -24077,7 +24197,12 @@ "cType": "const Temporal *", "canonical": "const Temporal *" } - ] + ], + "shape": { + "nullable": [ + "state" + ] + } }, { "name": "tint_tsum_transfn", @@ -24097,7 +24222,12 @@ "cType": "const Temporal *", "canonical": "const Temporal *" } - ] + ], + "shape": { + "nullable": [ + "state" + ] + } }, { "name": "tint_wmax_transfn", @@ -24192,7 +24322,12 @@ "cType": "const Temporal *", "canonical": "const Temporal *" } - ] + ], + "shape": { + "nullable": [ + "box" + ] + } }, { "name": "tnumber_tavg_finalfn", @@ -24227,7 +24362,12 @@ "cType": "const Temporal *", "canonical": "const Temporal *" } - ] + ], + "shape": { + "nullable": [ + "state" + ] + } }, { "name": "tnumber_wavg_transfn", @@ -24272,7 +24412,13 @@ "cType": "const Set *", "canonical": "const Set *" } - ] + ], + "shape": { + "nullable": [ + "state", + "interval" + ] + } }, { "name": "tstzspan_tcount_transfn", @@ -24292,7 +24438,13 @@ "cType": "const Span *", "canonical": "const Span *" } - ] + ], + "shape": { + "nullable": [ + "state", + "interval" + ] + } }, { "name": "tstzspanset_tcount_transfn", @@ -24312,7 +24464,13 @@ "cType": "const SpanSet *", "canonical": "const SpanSet *" } - ] + ], + "shape": { + "nullable": [ + "state", + "interval" + ] + } }, { "name": "ttext_tmax_transfn", @@ -24332,7 +24490,12 @@ "cType": "const Temporal *", "canonical": "const Temporal *" } - ] + ], + "shape": { + "nullable": [ + "state" + ] + } }, { "name": "ttext_tmin_transfn", @@ -24352,7 +24515,12 @@ "cType": "const Temporal *", "canonical": "const Temporal *" } - ] + ], + "shape": { + "nullable": [ + "state" + ] + } }, { "name": "temporal_simplify_dp", @@ -25029,7 +25197,18 @@ "cType": "int *", "canonical": "int *" } - ] + ], + "shape": { + "outputArrays": [ + { + "param": "count" + } + ], + "nullable": [ + "xorigin", + "torigin" + ] + } }, { "name": "tint_time_boxes", @@ -25373,7 +25552,18 @@ "cType": "int *", "canonical": "int *" } - ] + ], + "shape": { + "outputArrays": [ + { + "param": "count" + } + ], + "nullable": [ + "xorigin", + "torigin" + ] + } }, { "name": "temptype_subtype", @@ -26583,7 +26773,12 @@ "cType": "const char *", "canonical": "const char *" } - ] + ], + "shape": { + "nullable": [ + "srs" + ] + } }, { "name": "geo_as_hexewkb", @@ -28727,7 +28922,14 @@ "cType": "size_t *", "canonical": "unsigned long *" } - ] + ], + "shape": { + "outputArrays": [ + { + "param": "size" + } + ] + } }, { "name": "stbox_as_wkb", @@ -28942,7 +29144,13 @@ "cType": "const Span *", "canonical": "const Span *" } - ] + ], + "shape": { + "nullable": [ + "p", + "s" + ] + } }, { "name": "geo_to_stbox", @@ -29562,7 +29770,13 @@ "cType": "const Interval *", "canonical": "const Interval *" } - ] + ], + "shape": { + "nullable": [ + "shift", + "duration" + ] + } }, { "name": "stboxarr_round", @@ -34949,7 +35163,12 @@ "cType": "const Temporal *", "canonical": "const Temporal *" } - ] + ], + "shape": { + "nullable": [ + "box" + ] + } }, { "name": "stbox_get_space_tile", @@ -35159,7 +35378,17 @@ "cType": "int *", "canonical": "int *" } - ] + ], + "shape": { + "outputArrays": [ + { + "param": "count" + } + ], + "nullable": [ + "duration" + ] + } }, { "name": "stbox_time_tiles",