MobilityDB  1.0
doublen.h
Go to the documentation of this file.
1 /*****************************************************************************
2  *
3  * This MobilityDB code is provided under The PostgreSQL License.
4  *
5  * Copyright (c) 2016-2021, Université libre de Bruxelles and MobilityDB
6  * contributors
7  *
8  * MobilityDB includes portions of PostGIS version 3 source code released
9  * under the GNU General Public License (GPLv2 or later).
10  * Copyright (c) 2001-2021, PostGIS contributors
11  *
12  * Permission to use, copy, modify, and distribute this software and its
13  * documentation for any purpose, without fee, and without a written
14  * agreement is hereby granted, provided that the above copyright notice and
15  * this paragraph and the following two paragraphs appear in all copies.
16  *
17  * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR
18  * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING
19  * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION,
20  * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY
21  * OF SUCH DAMAGE.
22  *
23  * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES,
24  * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
25  * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON
26  * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO
27  * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 
28  *
29  *****************************************************************************/
30 
37 #ifndef __DOUBLEN_H__
38 #define __DOUBLEN_H__
39 
40 #include <postgres.h>
41 #include <catalog/pg_type.h>
42 
43 #include "temporal.h"
44 
45 /*****************************************************************************/
46 
47 extern Datum double2_in(PG_FUNCTION_ARGS);
48 extern Datum double2_out(PG_FUNCTION_ARGS);
49 extern Datum double2_recv(PG_FUNCTION_ARGS);
50 extern Datum double2_send(PG_FUNCTION_ARGS);
51 
52 extern void double2_set(double2 *result, double a, double b);
53 extern double2 *double2_add(double2 *d1, double2 *d2);
54 extern bool double2_eq(double2 *d1, double2 *d2);
55 /* extern int double2_cmp(double2 *d1, double2 *d2); */
56 
57 extern Datum double3_in(PG_FUNCTION_ARGS);
58 extern Datum double3_out(PG_FUNCTION_ARGS);
59 extern Datum double3_recv(PG_FUNCTION_ARGS);
60 extern Datum double3_send(PG_FUNCTION_ARGS);
61 
62 extern void double3_set(double3 *result, double a, double b, double c);
63 extern double3 *double3_add(double3 *d1, double3 *d2);
64 extern bool double3_eq(double3 *d1, double3 *d2);
65 /* extern int double3_cmp(double3 *d1, double3 *d2); */
66 
67 extern Datum double4_in(PG_FUNCTION_ARGS);
68 extern Datum double4_out(PG_FUNCTION_ARGS);
69 extern Datum double4_recv(PG_FUNCTION_ARGS);
70 extern Datum double4_send(PG_FUNCTION_ARGS);
71 
72 extern void double4_set(double4 *result, double a, double b, double c, double d);
73 extern double4 *double4_add(double4 *d1, double4 *d2);
74 extern bool double4_eq(double4 *d1, double4 *d2);
75 
76 extern Datum tdouble2_in(PG_FUNCTION_ARGS);
77 extern Datum tdouble3_in(PG_FUNCTION_ARGS);
78 extern Datum tdouble4_in(PG_FUNCTION_ARGS);
79 
80 /*****************************************************************************/
81 
82 #endif
bool double2_eq(double2 *d1, double2 *d2)
Returns true if the double2 values are equal.
Definition: doublen.c:144
Datum double4_in(PG_FUNCTION_ARGS)
Input function for double4 values (stub only)
Definition: doublen.c:285
double4 * double4_add(double4 *d1, double4 *d2)
Returns the addition of the double4 values.
Definition: doublen.c:354
Datum double3_recv(PG_FUNCTION_ARGS)
Receive function for double3 values.
Definition: doublen.c:198
Datum double4_out(PG_FUNCTION_ARGS)
Output function for double4 values (stub only)
Definition: doublen.c:297
void double2_set(double2 *result, double a, double b)
Set a double2 value from the double values.
Definition: doublen.c:122
Datum double2_recv(PG_FUNCTION_ARGS)
Receive function for double2 values.
Definition: doublen.c:91
Structure to represent values of the internal type for computing aggregates for temporal number types...
Definition: temporal.h:318
Basic functions for temporal types of any subtype.
Datum tdouble3_in(PG_FUNCTION_ARGS)
Input function for the temporal double3 type (stub only)
Definition: doublen.c:393
Datum double4_recv(PG_FUNCTION_ARGS)
Receive function for double4 values.
Definition: doublen.c:311
double2 * double2_add(double2 *d1, double2 *d2)
Returns the addition of the double2 values.
Definition: doublen.c:132
Datum double2_send(PG_FUNCTION_ARGS)
Send function for double2 values.
Definition: doublen.c:105
void double4_set(double4 *result, double a, double b, double c, double d)
Set a double4 value from the double values.
Definition: doublen.c:342
double3 * double3_add(double3 *d1, double3 *d2)
Returns the addition of the double3 values.
Definition: doublen.c:240
Datum tdouble4_in(PG_FUNCTION_ARGS)
Input function for the temporal double4 type (stub only)
Definition: doublen.c:405
Structure to represent values of the internal type for computing aggregates for 2D temporal point typ...
Definition: temporal.h:328
Datum double4_send(PG_FUNCTION_ARGS)
Send function for double3 values.
Definition: doublen.c:325
Datum tdouble2_in(PG_FUNCTION_ARGS)
Input function for the temporal double2 type (stub only)
Definition: doublen.c:381
bool double3_eq(double3 *d1, double3 *d2)
Returns true if the double3 values are equal.
Definition: doublen.c:253
Datum double3_out(PG_FUNCTION_ARGS)
Output function for double3 values (stub only)
Definition: doublen.c:184
Datum double2_in(PG_FUNCTION_ARGS)
Input function for double2 values (stub only)
Definition: doublen.c:65
void double3_set(double3 *result, double a, double b, double c)
Set a double3 value from the double values.
Definition: doublen.c:229
Datum double3_in(PG_FUNCTION_ARGS)
Input function for double2 values (stub only)
Definition: doublen.c:172
bool double4_eq(double4 *d1, double4 *d2)
Returns true if the double4 values are equal.
Definition: doublen.c:368
Datum double2_out(PG_FUNCTION_ARGS)
Output function for double2 values (stub only)
Definition: doublen.c:77
Structure to represent values of the internal type for computing aggregates for 3D temporal point typ...
Definition: temporal.h:339
Datum double3_send(PG_FUNCTION_ARGS)
Send function for double3 values.
Definition: doublen.c:212