MobilityDB 1.1
doublen.h
Go to the documentation of this file.
1/*****************************************************************************
2 *
3 * This MobilityDB code is provided under The PostgreSQL License.
4 * Copyright (c) 2016-2023, Université libre de Bruxelles and MobilityDB
5 * contributors
6 *
7 * MobilityDB includes portions of PostGIS version 3 source code released
8 * under the GNU General Public License (GPLv2 or later).
9 * Copyright (c) 2001-2023, PostGIS contributors
10 *
11 * Permission to use, copy, modify, and distribute this software and its
12 * documentation for any purpose, without fee, and without a written
13 * agreement is hereby granted, provided that the above copyright notice and
14 * this paragraph and the following two paragraphs appear in all copies.
15 *
16 * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR
17 * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING
18 * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION,
19 * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY
20 * OF SUCH DAMAGE.
21 *
22 * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES,
23 * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
24 * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON
25 * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO
26 * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 
27 *
28 *****************************************************************************/
29
35#ifndef __DOUBLEN_H__
36#define __DOUBLEN_H__
37
38/* MEOS */
39#include "general/temporal.h"
40
41/*****************************************************************************/
42
43extern void double2_set(double a, double b, double2 *result);
44extern double2 *double2_add(const double2 *d1, const double2 *d2);
45extern bool double2_eq(const double2 *d1, const double2 *d2);
46extern int double2_cmp(const double2 *d1, const double2 *d2);
47
48extern void double3_set(double a, double b, double c, double3 *result);
49extern double3 *double3_add(const double3 *d1, const double3 *d2);
50extern bool double3_eq(const double3 *d1, const double3 *d2);
51extern int double3_cmp(const double3 *d1, const double3 *d2);
52
53extern void double4_set(double a, double b, double c, double d, double4 *result);
54extern double4 *double4_add(const double4 *d1, const double4 *d2);
55extern bool double4_eq(const double4 *d1, const double4 *d2);
56extern int double4_cmp(const double4 *d1, const double4 *d2);
57
58/*****************************************************************************/
59
60#endif /* __DOUBLEN_H__ */
void double2_set(double a, double b, double2 *result)
Internal types used in particular for computing the average and centroid temporal aggregates.
Definition: doublen.c:90
bool double3_eq(const double3 *d1, const double3 *d2)
Return true if the double3 values are equal.
Definition: doublen.c:197
double2 * double2_add(const double2 *d1, const double2 *d2)
Return the addition of the double2 values.
Definition: doublen.c:102
double4 * double4_add(const double4 *d1, const double4 *d2)
Return the addition of the double4 values.
Definition: doublen.c:275
int double4_cmp(const double4 *d1, const double4 *d2)
Return -1, 0, or 1 depending on whether the first double4 is less than, equal, or greater than the se...
Definition: doublen.c:300
void double4_set(double a, double b, double c, double d, double4 *result)
Set a double4 value from the double values.
Definition: doublen.c:261
void double3_set(double a, double b, double c, double3 *result)
Set a double3 value from the double values.
Definition: doublen.c:171
double3 * double3_add(const double3 *d1, const double3 *d2)
Return the addition of the double3 values.
Definition: doublen.c:184
int double2_cmp(const double2 *d1, const double2 *d2)
Return -1, 0, or 1 depending on whether the first double2 is less than, equal, or greater than the se...
Definition: doublen.c:124
bool double4_eq(const double4 *d1, const double4 *d2)
Return true if the double4 values are equal.
Definition: doublen.c:289
int double3_cmp(const double3 *d1, const double3 *d2)
Return -1, 0, or 1 depending on whether the first double3 is less than, equal, or greater than the se...
Definition: doublen.c:207
bool double2_eq(const double2 *d1, const double2 *d2)
Return true if the double2 values are equal.
Definition: doublen.c:114
Structure to represent values of the internal type for computing aggregates for temporal number types...
Definition: temporal.h:325
Structure to represent values of the internal type for computing aggregates for 2D temporal point typ...
Definition: temporal.h:335
Structure to represent values of the internal type for computing aggregates for 3D temporal point typ...
Definition: temporal.h:346