![]() |
MobilityDB 1.3
|
Internal types used in particular for computing the average and centroid temporal aggregates. More...
#include "temporal/doublen.h"
#include <assert.h>
#include <postgres.h>
#include <meos.h>
#include "temporal/postgres_types.h"
#include "temporal/temporal.h"
Functions | |
double2 * | double2_add (const double2 *d1, const double2 *d2) |
Return the addition of the double2 values. More... | |
bool | double2_collinear (const double2 *x1, const double2 *x2, const double2 *x3, double ratio) |
Return true if the three double2 values are collinear. More... | |
bool | double2_eq (const double2 *d1, const double2 *d2) |
Return true if the double2 values are equal. More... | |
double2 * | double2_make (double a, double b) |
Create a double2 value from the double values. More... | |
char * | double2_out (const double2 *d, int maxdd) |
Output function for double2 values. More... | |
void | double2_set (double a, double b, double2 *result) |
Set a double2 value from the double values. More... | |
double2 * | double2segm_interpolate (const double2 *start, const double2 *end, long double ratio) |
Return a double2 interpolated from a double2 segment with respect to a fraction of its total length. More... | |
double3 * | double3_add (const double3 *d1, const double3 *d2) |
Return the addition of the double3 values. More... | |
bool | double3_collinear (const double3 *x1, const double3 *x2, const double3 *x3, double ratio) |
Return true if the three values are collinear. More... | |
bool | double3_eq (const double3 *d1, const double3 *d2) |
Return true if the double3 values are equal. More... | |
double3 * | double3_make (double a, double b, double c) |
Create a double3 value from the double values. More... | |
char * | double3_out (const double3 *d, int maxdd) |
Output function for double3 values. More... | |
void | double3_set (double a, double b, double c, double3 *result) |
Set a double3 value from the double values. More... | |
double3 * | double3segm_interpolate (const double3 *start, const double3 *end, long double ratio) |
Return a double3 interpolated from a double3 segment with respect to a fraction of its total length. More... | |
double4 * | double4_add (const double4 *d1, const double4 *d2) |
Return the addition of the double4 values. More... | |
bool | double4_collinear (const double4 *x1, const double4 *x2, const double4 *x3, double ratio) |
Return true if the three values are collinear. More... | |
bool | double4_eq (const double4 *d1, const double4 *d2) |
Return true if the double4 values are equal. More... | |
double4 * | double4_make (double a, double b, double c, double d) |
Create a double2 value from the double values. More... | |
char * | double4_out (const double4 *d, int maxdd) |
Output function for double4 values. More... | |
void | double4_set (double a, double b, double c, double d, double4 *result) |
Set a double4 value from the double values. More... | |
double4 * | double4segm_interpolate (const double4 *start, const double4 *end, long double ratio) |
Return a double4 interpolated from a double4 segment with respect to a fraction of its total length. More... | |
Internal types used in particular for computing the average and centroid temporal aggregates.
The double2
, double3
, and double4
types are base types composed, respectively, of two, three, and four double
values. The tdouble2
, tdouble3
, and tdouble4
types are the corresponding temporal types. The in/out functions of all these types are stubs since all access should be internal. These types are used for the transition function of the aggregates, where the first components of the doubleN
values store the sum and the last one stores the count of the values. The final function computes the average from the doubleN
values.