Coverage Report

Created: 2026-08-14 06:37

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/postgres/src/include/utils/float.h
Line
Count
Source
1
/*-------------------------------------------------------------------------
2
 *
3
 * float.h
4
 *    Definitions for the built-in floating-point types
5
 *
6
 * Portions Copyright (c) 1996-2026, PostgreSQL Global Development Group
7
 * Portions Copyright (c) 1994, Regents of the University of California
8
 *
9
 *
10
 * IDENTIFICATION
11
 *    src/include/utils/float.h
12
 *
13
 *-------------------------------------------------------------------------
14
 */
15
#ifndef FLOAT_H
16
#define FLOAT_H
17
18
#include <math.h>
19
20
/* X/Open (XSI) requires <math.h> to provide M_PI, but core POSIX does not */
21
#ifndef M_PI
22
#define M_PI 3.14159265358979323846
23
#endif
24
25
/* Radians per degree, a.k.a. PI / 180 */
26
0
#define RADIANS_PER_DEGREE 0.0174532925199432957692
27
28
extern PGDLLIMPORT int extra_float_digits;
29
30
/*
31
 * Utility functions in float.c
32
 */
33
pg_noreturn extern void float_overflow_error(void);
34
pg_noreturn extern void float_underflow_error(void);
35
pg_noreturn extern void float_zero_divide_error(void);
36
extern float8 float_overflow_error_ext(struct Node *escontext);
37
extern float8 float_underflow_error_ext(struct Node *escontext);
38
extern float8 float_zero_divide_error_ext(struct Node *escontext);
39
extern int  is_infinite(float8 val);
40
extern float8 float8in_internal(char *num, char **endptr_p,
41
                const char *type_name, const char *orig_string,
42
                struct Node *escontext);
43
extern float4 float4in_internal(char *num, char **endptr_p,
44
                const char *type_name, const char *orig_string,
45
                struct Node *escontext);
46
extern char *float8out_internal(float8 num);
47
extern int  float4_cmp_internal(float4 a, float4 b);
48
extern int  float8_cmp_internal(float8 a, float8 b);
49
50
/*
51
 * Postgres requires IEEE-standard float arithmetic, including infinities
52
 * and NaNs.  We used to support pre-C99 compilers on which <math.h> might
53
 * not supply the standard macros INFINITY and NAN.  We no longer do so,
54
 * but these wrapper functions are still preferred over using those macros
55
 * directly.
56
 *
57
 * If you change these functions, see copies in interfaces/ecpg/ecpglib/data.c.
58
 */
59
60
static inline float4
61
get_float4_infinity(void)
62
0
{
63
  /* C99 standard way */
64
0
  return (float4) INFINITY;
65
0
}
Unexecuted instantiation: brin_minmax_multi.c:get_float4_infinity
Unexecuted instantiation: gistget.c:get_float4_infinity
Unexecuted instantiation: gistproc.c:get_float4_infinity
Unexecuted instantiation: gistscan.c:get_float4_infinity
Unexecuted instantiation: gistutil.c:get_float4_infinity
Unexecuted instantiation: hashfunc.c:get_float4_infinity
Unexecuted instantiation: spgkdtreeproc.c:get_float4_infinity
Unexecuted instantiation: spgproc.c:get_float4_infinity
Unexecuted instantiation: spgquadtreeproc.c:get_float4_infinity
Unexecuted instantiation: spgscan.c:get_float4_infinity
Unexecuted instantiation: cash.c:get_float4_infinity
Unexecuted instantiation: float.c:get_float4_infinity
Unexecuted instantiation: geo_ops.c:get_float4_infinity
Unexecuted instantiation: geo_spgist.c:get_float4_infinity
Unexecuted instantiation: jsonpath_exec.c:get_float4_infinity
Unexecuted instantiation: multirangetypes_selfuncs.c:get_float4_infinity
Unexecuted instantiation: numeric.c:get_float4_infinity
Unexecuted instantiation: pg_dependencies.c:get_float4_infinity
Unexecuted instantiation: rangetypes_gist.c:get_float4_infinity
Unexecuted instantiation: rangetypes_selfuncs.c:get_float4_infinity
Unexecuted instantiation: rangetypes_typanalyze.c:get_float4_infinity
Unexecuted instantiation: timestamp.c:get_float4_infinity
Unexecuted instantiation: guc_tables.c:get_float4_infinity
66
67
static inline float8
68
get_float8_infinity(void)
69
0
{
70
  /* C99 standard way */
71
0
  return (float8) INFINITY;
72
0
}
Unexecuted instantiation: brin_minmax_multi.c:get_float8_infinity
Unexecuted instantiation: gistget.c:get_float8_infinity
Unexecuted instantiation: gistproc.c:get_float8_infinity
Unexecuted instantiation: gistscan.c:get_float8_infinity
Unexecuted instantiation: gistutil.c:get_float8_infinity
Unexecuted instantiation: hashfunc.c:get_float8_infinity
Unexecuted instantiation: spgkdtreeproc.c:get_float8_infinity
Unexecuted instantiation: spgproc.c:get_float8_infinity
Unexecuted instantiation: spgquadtreeproc.c:get_float8_infinity
Unexecuted instantiation: spgscan.c:get_float8_infinity
Unexecuted instantiation: cash.c:get_float8_infinity
Unexecuted instantiation: float.c:get_float8_infinity
Unexecuted instantiation: geo_ops.c:get_float8_infinity
Unexecuted instantiation: geo_spgist.c:get_float8_infinity
Unexecuted instantiation: jsonpath_exec.c:get_float8_infinity
Unexecuted instantiation: multirangetypes_selfuncs.c:get_float8_infinity
Unexecuted instantiation: numeric.c:get_float8_infinity
Unexecuted instantiation: pg_dependencies.c:get_float8_infinity
Unexecuted instantiation: rangetypes_gist.c:get_float8_infinity
Unexecuted instantiation: rangetypes_selfuncs.c:get_float8_infinity
Unexecuted instantiation: rangetypes_typanalyze.c:get_float8_infinity
Unexecuted instantiation: timestamp.c:get_float8_infinity
Unexecuted instantiation: guc_tables.c:get_float8_infinity
73
74
/* The C standard allows implementations to omit NAN, but we don't */
75
#ifndef NAN
76
#error "Postgres requires support for IEEE quiet NaNs"
77
#endif
78
79
static inline float4
80
get_float4_nan(void)
81
0
{
82
  /* C99 standard way */
83
0
  return (float4) NAN;
84
0
}
Unexecuted instantiation: brin_minmax_multi.c:get_float4_nan
Unexecuted instantiation: gistget.c:get_float4_nan
Unexecuted instantiation: gistproc.c:get_float4_nan
Unexecuted instantiation: gistscan.c:get_float4_nan
Unexecuted instantiation: gistutil.c:get_float4_nan
Unexecuted instantiation: hashfunc.c:get_float4_nan
Unexecuted instantiation: spgkdtreeproc.c:get_float4_nan
Unexecuted instantiation: spgproc.c:get_float4_nan
Unexecuted instantiation: spgquadtreeproc.c:get_float4_nan
Unexecuted instantiation: spgscan.c:get_float4_nan
Unexecuted instantiation: cash.c:get_float4_nan
Unexecuted instantiation: float.c:get_float4_nan
Unexecuted instantiation: geo_ops.c:get_float4_nan
Unexecuted instantiation: geo_spgist.c:get_float4_nan
Unexecuted instantiation: jsonpath_exec.c:get_float4_nan
Unexecuted instantiation: multirangetypes_selfuncs.c:get_float4_nan
Unexecuted instantiation: numeric.c:get_float4_nan
Unexecuted instantiation: pg_dependencies.c:get_float4_nan
Unexecuted instantiation: rangetypes_gist.c:get_float4_nan
Unexecuted instantiation: rangetypes_selfuncs.c:get_float4_nan
Unexecuted instantiation: rangetypes_typanalyze.c:get_float4_nan
Unexecuted instantiation: timestamp.c:get_float4_nan
Unexecuted instantiation: guc_tables.c:get_float4_nan
85
86
static inline float8
87
get_float8_nan(void)
88
0
{
89
  /* C99 standard way */
90
0
  return (float8) NAN;
91
0
}
Unexecuted instantiation: brin_minmax_multi.c:get_float8_nan
Unexecuted instantiation: gistget.c:get_float8_nan
Unexecuted instantiation: gistproc.c:get_float8_nan
Unexecuted instantiation: gistscan.c:get_float8_nan
Unexecuted instantiation: gistutil.c:get_float8_nan
Unexecuted instantiation: hashfunc.c:get_float8_nan
Unexecuted instantiation: spgkdtreeproc.c:get_float8_nan
Unexecuted instantiation: spgproc.c:get_float8_nan
Unexecuted instantiation: spgquadtreeproc.c:get_float8_nan
Unexecuted instantiation: spgscan.c:get_float8_nan
Unexecuted instantiation: cash.c:get_float8_nan
Unexecuted instantiation: float.c:get_float8_nan
Unexecuted instantiation: geo_ops.c:get_float8_nan
Unexecuted instantiation: geo_spgist.c:get_float8_nan
Unexecuted instantiation: jsonpath_exec.c:get_float8_nan
Unexecuted instantiation: multirangetypes_selfuncs.c:get_float8_nan
Unexecuted instantiation: numeric.c:get_float8_nan
Unexecuted instantiation: pg_dependencies.c:get_float8_nan
Unexecuted instantiation: rangetypes_gist.c:get_float8_nan
Unexecuted instantiation: rangetypes_selfuncs.c:get_float8_nan
Unexecuted instantiation: rangetypes_typanalyze.c:get_float8_nan
Unexecuted instantiation: timestamp.c:get_float8_nan
Unexecuted instantiation: guc_tables.c:get_float8_nan
92
93
/*
94
 * Floating-point arithmetic with overflow/underflow reported as errors
95
 *
96
 * There isn't any way to check for underflow of addition/subtraction
97
 * because numbers near the underflow value have already been rounded to
98
 * the point where we can't detect that the two values were originally
99
 * different, e.g. on x86, '1e-45'::float4 == '2e-45'::float4 ==
100
 * 1.4013e-45.
101
 */
102
103
static inline float4
104
float4_pl(const float4 val1, const float4 val2)
105
0
{
106
0
  float4    result;
107
108
0
  result = val1 + val2;
109
0
  if (unlikely(isinf(result)) && !isinf(val1) && !isinf(val2))
110
0
    float_overflow_error();
111
112
0
  return result;
113
0
}
Unexecuted instantiation: brin_minmax_multi.c:float4_pl
Unexecuted instantiation: gistget.c:float4_pl
Unexecuted instantiation: gistproc.c:float4_pl
Unexecuted instantiation: gistscan.c:float4_pl
Unexecuted instantiation: gistutil.c:float4_pl
Unexecuted instantiation: hashfunc.c:float4_pl
Unexecuted instantiation: spgkdtreeproc.c:float4_pl
Unexecuted instantiation: spgproc.c:float4_pl
Unexecuted instantiation: spgquadtreeproc.c:float4_pl
Unexecuted instantiation: spgscan.c:float4_pl
Unexecuted instantiation: cash.c:float4_pl
Unexecuted instantiation: float.c:float4_pl
Unexecuted instantiation: geo_ops.c:float4_pl
Unexecuted instantiation: geo_spgist.c:float4_pl
Unexecuted instantiation: jsonpath_exec.c:float4_pl
Unexecuted instantiation: multirangetypes_selfuncs.c:float4_pl
Unexecuted instantiation: numeric.c:float4_pl
Unexecuted instantiation: pg_dependencies.c:float4_pl
Unexecuted instantiation: rangetypes_gist.c:float4_pl
Unexecuted instantiation: rangetypes_selfuncs.c:float4_pl
Unexecuted instantiation: rangetypes_typanalyze.c:float4_pl
Unexecuted instantiation: timestamp.c:float4_pl
Unexecuted instantiation: guc_tables.c:float4_pl
114
115
static inline float8
116
float8_pl_safe(const float8 val1, const float8 val2, struct Node *escontext)
117
0
{
118
0
  float8    result;
119
120
0
  result = val1 + val2;
121
0
  if (unlikely(isinf(result)) && !isinf(val1) && !isinf(val2))
122
0
    return float_overflow_error_ext(escontext);
123
124
0
  return result;
125
0
}
Unexecuted instantiation: brin_minmax_multi.c:float8_pl_safe
Unexecuted instantiation: gistget.c:float8_pl_safe
Unexecuted instantiation: gistproc.c:float8_pl_safe
Unexecuted instantiation: gistscan.c:float8_pl_safe
Unexecuted instantiation: gistutil.c:float8_pl_safe
Unexecuted instantiation: hashfunc.c:float8_pl_safe
Unexecuted instantiation: spgkdtreeproc.c:float8_pl_safe
Unexecuted instantiation: spgproc.c:float8_pl_safe
Unexecuted instantiation: spgquadtreeproc.c:float8_pl_safe
Unexecuted instantiation: spgscan.c:float8_pl_safe
Unexecuted instantiation: cash.c:float8_pl_safe
Unexecuted instantiation: float.c:float8_pl_safe
Unexecuted instantiation: geo_ops.c:float8_pl_safe
Unexecuted instantiation: geo_spgist.c:float8_pl_safe
Unexecuted instantiation: jsonpath_exec.c:float8_pl_safe
Unexecuted instantiation: multirangetypes_selfuncs.c:float8_pl_safe
Unexecuted instantiation: numeric.c:float8_pl_safe
Unexecuted instantiation: pg_dependencies.c:float8_pl_safe
Unexecuted instantiation: rangetypes_gist.c:float8_pl_safe
Unexecuted instantiation: rangetypes_selfuncs.c:float8_pl_safe
Unexecuted instantiation: rangetypes_typanalyze.c:float8_pl_safe
Unexecuted instantiation: timestamp.c:float8_pl_safe
Unexecuted instantiation: guc_tables.c:float8_pl_safe
126
127
static inline float8
128
float8_pl(const float8 val1, const float8 val2)
129
0
{
130
0
  return float8_pl_safe(val1, val2, NULL);
131
0
}
Unexecuted instantiation: brin_minmax_multi.c:float8_pl
Unexecuted instantiation: gistget.c:float8_pl
Unexecuted instantiation: gistproc.c:float8_pl
Unexecuted instantiation: gistscan.c:float8_pl
Unexecuted instantiation: gistutil.c:float8_pl
Unexecuted instantiation: hashfunc.c:float8_pl
Unexecuted instantiation: spgkdtreeproc.c:float8_pl
Unexecuted instantiation: spgproc.c:float8_pl
Unexecuted instantiation: spgquadtreeproc.c:float8_pl
Unexecuted instantiation: spgscan.c:float8_pl
Unexecuted instantiation: cash.c:float8_pl
Unexecuted instantiation: float.c:float8_pl
Unexecuted instantiation: geo_ops.c:float8_pl
Unexecuted instantiation: geo_spgist.c:float8_pl
Unexecuted instantiation: jsonpath_exec.c:float8_pl
Unexecuted instantiation: multirangetypes_selfuncs.c:float8_pl
Unexecuted instantiation: numeric.c:float8_pl
Unexecuted instantiation: pg_dependencies.c:float8_pl
Unexecuted instantiation: rangetypes_gist.c:float8_pl
Unexecuted instantiation: rangetypes_selfuncs.c:float8_pl
Unexecuted instantiation: rangetypes_typanalyze.c:float8_pl
Unexecuted instantiation: timestamp.c:float8_pl
Unexecuted instantiation: guc_tables.c:float8_pl
132
133
static inline float4
134
float4_mi(const float4 val1, const float4 val2)
135
0
{
136
0
  float4    result;
137
138
0
  result = val1 - val2;
139
0
  if (unlikely(isinf(result)) && !isinf(val1) && !isinf(val2))
140
0
    float_overflow_error();
141
142
0
  return result;
143
0
}
Unexecuted instantiation: brin_minmax_multi.c:float4_mi
Unexecuted instantiation: gistget.c:float4_mi
Unexecuted instantiation: gistproc.c:float4_mi
Unexecuted instantiation: gistscan.c:float4_mi
Unexecuted instantiation: gistutil.c:float4_mi
Unexecuted instantiation: hashfunc.c:float4_mi
Unexecuted instantiation: spgkdtreeproc.c:float4_mi
Unexecuted instantiation: spgproc.c:float4_mi
Unexecuted instantiation: spgquadtreeproc.c:float4_mi
Unexecuted instantiation: spgscan.c:float4_mi
Unexecuted instantiation: cash.c:float4_mi
Unexecuted instantiation: float.c:float4_mi
Unexecuted instantiation: geo_ops.c:float4_mi
Unexecuted instantiation: geo_spgist.c:float4_mi
Unexecuted instantiation: jsonpath_exec.c:float4_mi
Unexecuted instantiation: multirangetypes_selfuncs.c:float4_mi
Unexecuted instantiation: numeric.c:float4_mi
Unexecuted instantiation: pg_dependencies.c:float4_mi
Unexecuted instantiation: rangetypes_gist.c:float4_mi
Unexecuted instantiation: rangetypes_selfuncs.c:float4_mi
Unexecuted instantiation: rangetypes_typanalyze.c:float4_mi
Unexecuted instantiation: timestamp.c:float4_mi
Unexecuted instantiation: guc_tables.c:float4_mi
144
145
static inline float8
146
float8_mi_safe(const float8 val1, const float8 val2, struct Node *escontext)
147
0
{
148
0
  float8    result;
149
150
0
  result = val1 - val2;
151
0
  if (unlikely(isinf(result)) && !isinf(val1) && !isinf(val2))
152
0
    return float_overflow_error_ext(escontext);
153
154
0
  return result;
155
0
}
Unexecuted instantiation: brin_minmax_multi.c:float8_mi_safe
Unexecuted instantiation: gistget.c:float8_mi_safe
Unexecuted instantiation: gistproc.c:float8_mi_safe
Unexecuted instantiation: gistscan.c:float8_mi_safe
Unexecuted instantiation: gistutil.c:float8_mi_safe
Unexecuted instantiation: hashfunc.c:float8_mi_safe
Unexecuted instantiation: spgkdtreeproc.c:float8_mi_safe
Unexecuted instantiation: spgproc.c:float8_mi_safe
Unexecuted instantiation: spgquadtreeproc.c:float8_mi_safe
Unexecuted instantiation: spgscan.c:float8_mi_safe
Unexecuted instantiation: cash.c:float8_mi_safe
Unexecuted instantiation: float.c:float8_mi_safe
Unexecuted instantiation: geo_ops.c:float8_mi_safe
Unexecuted instantiation: geo_spgist.c:float8_mi_safe
Unexecuted instantiation: jsonpath_exec.c:float8_mi_safe
Unexecuted instantiation: multirangetypes_selfuncs.c:float8_mi_safe
Unexecuted instantiation: numeric.c:float8_mi_safe
Unexecuted instantiation: pg_dependencies.c:float8_mi_safe
Unexecuted instantiation: rangetypes_gist.c:float8_mi_safe
Unexecuted instantiation: rangetypes_selfuncs.c:float8_mi_safe
Unexecuted instantiation: rangetypes_typanalyze.c:float8_mi_safe
Unexecuted instantiation: timestamp.c:float8_mi_safe
Unexecuted instantiation: guc_tables.c:float8_mi_safe
156
157
static inline float8
158
float8_mi(const float8 val1, const float8 val2)
159
0
{
160
0
  return float8_mi_safe(val1, val2, NULL);
161
0
}
Unexecuted instantiation: brin_minmax_multi.c:float8_mi
Unexecuted instantiation: gistget.c:float8_mi
Unexecuted instantiation: gistproc.c:float8_mi
Unexecuted instantiation: gistscan.c:float8_mi
Unexecuted instantiation: gistutil.c:float8_mi
Unexecuted instantiation: hashfunc.c:float8_mi
Unexecuted instantiation: spgkdtreeproc.c:float8_mi
Unexecuted instantiation: spgproc.c:float8_mi
Unexecuted instantiation: spgquadtreeproc.c:float8_mi
Unexecuted instantiation: spgscan.c:float8_mi
Unexecuted instantiation: cash.c:float8_mi
Unexecuted instantiation: float.c:float8_mi
Unexecuted instantiation: geo_ops.c:float8_mi
Unexecuted instantiation: geo_spgist.c:float8_mi
Unexecuted instantiation: jsonpath_exec.c:float8_mi
Unexecuted instantiation: multirangetypes_selfuncs.c:float8_mi
Unexecuted instantiation: numeric.c:float8_mi
Unexecuted instantiation: pg_dependencies.c:float8_mi
Unexecuted instantiation: rangetypes_gist.c:float8_mi
Unexecuted instantiation: rangetypes_selfuncs.c:float8_mi
Unexecuted instantiation: rangetypes_typanalyze.c:float8_mi
Unexecuted instantiation: timestamp.c:float8_mi
Unexecuted instantiation: guc_tables.c:float8_mi
162
163
static inline float4
164
float4_mul(const float4 val1, const float4 val2)
165
0
{
166
0
  float4    result;
167
168
0
  result = val1 * val2;
169
0
  if (unlikely(isinf(result)) && !isinf(val1) && !isinf(val2))
170
0
    float_overflow_error();
171
0
  if (unlikely(result == 0.0f) && val1 != 0.0f && val2 != 0.0f)
172
0
    float_underflow_error();
173
174
0
  return result;
175
0
}
Unexecuted instantiation: brin_minmax_multi.c:float4_mul
Unexecuted instantiation: gistget.c:float4_mul
Unexecuted instantiation: gistproc.c:float4_mul
Unexecuted instantiation: gistscan.c:float4_mul
Unexecuted instantiation: gistutil.c:float4_mul
Unexecuted instantiation: hashfunc.c:float4_mul
Unexecuted instantiation: spgkdtreeproc.c:float4_mul
Unexecuted instantiation: spgproc.c:float4_mul
Unexecuted instantiation: spgquadtreeproc.c:float4_mul
Unexecuted instantiation: spgscan.c:float4_mul
Unexecuted instantiation: cash.c:float4_mul
Unexecuted instantiation: float.c:float4_mul
Unexecuted instantiation: geo_ops.c:float4_mul
Unexecuted instantiation: geo_spgist.c:float4_mul
Unexecuted instantiation: jsonpath_exec.c:float4_mul
Unexecuted instantiation: multirangetypes_selfuncs.c:float4_mul
Unexecuted instantiation: numeric.c:float4_mul
Unexecuted instantiation: pg_dependencies.c:float4_mul
Unexecuted instantiation: rangetypes_gist.c:float4_mul
Unexecuted instantiation: rangetypes_selfuncs.c:float4_mul
Unexecuted instantiation: rangetypes_typanalyze.c:float4_mul
Unexecuted instantiation: timestamp.c:float4_mul
Unexecuted instantiation: guc_tables.c:float4_mul
176
177
static inline float8
178
float8_mul_safe(const float8 val1, const float8 val2, struct Node *escontext)
179
0
{
180
0
  float8    result;
181
182
0
  result = val1 * val2;
183
0
  if (unlikely(isinf(result)) && !isinf(val1) && !isinf(val2))
184
0
    return float_overflow_error_ext(escontext);
185
0
  if (unlikely(result == 0.0) && val1 != 0.0 && val2 != 0.0)
186
0
    return float_underflow_error_ext(escontext);
187
188
0
  return result;
189
0
}
Unexecuted instantiation: brin_minmax_multi.c:float8_mul_safe
Unexecuted instantiation: gistget.c:float8_mul_safe
Unexecuted instantiation: gistproc.c:float8_mul_safe
Unexecuted instantiation: gistscan.c:float8_mul_safe
Unexecuted instantiation: gistutil.c:float8_mul_safe
Unexecuted instantiation: hashfunc.c:float8_mul_safe
Unexecuted instantiation: spgkdtreeproc.c:float8_mul_safe
Unexecuted instantiation: spgproc.c:float8_mul_safe
Unexecuted instantiation: spgquadtreeproc.c:float8_mul_safe
Unexecuted instantiation: spgscan.c:float8_mul_safe
Unexecuted instantiation: cash.c:float8_mul_safe
Unexecuted instantiation: float.c:float8_mul_safe
Unexecuted instantiation: geo_ops.c:float8_mul_safe
Unexecuted instantiation: geo_spgist.c:float8_mul_safe
Unexecuted instantiation: jsonpath_exec.c:float8_mul_safe
Unexecuted instantiation: multirangetypes_selfuncs.c:float8_mul_safe
Unexecuted instantiation: numeric.c:float8_mul_safe
Unexecuted instantiation: pg_dependencies.c:float8_mul_safe
Unexecuted instantiation: rangetypes_gist.c:float8_mul_safe
Unexecuted instantiation: rangetypes_selfuncs.c:float8_mul_safe
Unexecuted instantiation: rangetypes_typanalyze.c:float8_mul_safe
Unexecuted instantiation: timestamp.c:float8_mul_safe
Unexecuted instantiation: guc_tables.c:float8_mul_safe
190
191
static inline float8
192
float8_mul(const float8 val1, const float8 val2)
193
0
{
194
0
  return float8_mul_safe(val1, val2, NULL);
195
0
}
Unexecuted instantiation: brin_minmax_multi.c:float8_mul
Unexecuted instantiation: gistget.c:float8_mul
Unexecuted instantiation: gistproc.c:float8_mul
Unexecuted instantiation: gistscan.c:float8_mul
Unexecuted instantiation: gistutil.c:float8_mul
Unexecuted instantiation: hashfunc.c:float8_mul
Unexecuted instantiation: spgkdtreeproc.c:float8_mul
Unexecuted instantiation: spgproc.c:float8_mul
Unexecuted instantiation: spgquadtreeproc.c:float8_mul
Unexecuted instantiation: spgscan.c:float8_mul
Unexecuted instantiation: cash.c:float8_mul
Unexecuted instantiation: float.c:float8_mul
Unexecuted instantiation: geo_ops.c:float8_mul
Unexecuted instantiation: geo_spgist.c:float8_mul
Unexecuted instantiation: jsonpath_exec.c:float8_mul
Unexecuted instantiation: multirangetypes_selfuncs.c:float8_mul
Unexecuted instantiation: numeric.c:float8_mul
Unexecuted instantiation: pg_dependencies.c:float8_mul
Unexecuted instantiation: rangetypes_gist.c:float8_mul
Unexecuted instantiation: rangetypes_selfuncs.c:float8_mul
Unexecuted instantiation: rangetypes_typanalyze.c:float8_mul
Unexecuted instantiation: timestamp.c:float8_mul
Unexecuted instantiation: guc_tables.c:float8_mul
196
197
static inline float4
198
float4_div(const float4 val1, const float4 val2)
199
0
{
200
0
  float4    result;
201
202
0
  if (unlikely(val2 == 0.0f) && !isnan(val1))
203
0
    float_zero_divide_error();
204
0
  result = val1 / val2;
205
0
  if (unlikely(isinf(result)) && !isinf(val1))
206
0
    float_overflow_error();
207
0
  if (unlikely(result == 0.0f) && val1 != 0.0f && !isinf(val2))
208
0
    float_underflow_error();
209
210
0
  return result;
211
0
}
Unexecuted instantiation: brin_minmax_multi.c:float4_div
Unexecuted instantiation: gistget.c:float4_div
Unexecuted instantiation: gistproc.c:float4_div
Unexecuted instantiation: gistscan.c:float4_div
Unexecuted instantiation: gistutil.c:float4_div
Unexecuted instantiation: hashfunc.c:float4_div
Unexecuted instantiation: spgkdtreeproc.c:float4_div
Unexecuted instantiation: spgproc.c:float4_div
Unexecuted instantiation: spgquadtreeproc.c:float4_div
Unexecuted instantiation: spgscan.c:float4_div
Unexecuted instantiation: cash.c:float4_div
Unexecuted instantiation: float.c:float4_div
Unexecuted instantiation: geo_ops.c:float4_div
Unexecuted instantiation: geo_spgist.c:float4_div
Unexecuted instantiation: jsonpath_exec.c:float4_div
Unexecuted instantiation: multirangetypes_selfuncs.c:float4_div
Unexecuted instantiation: numeric.c:float4_div
Unexecuted instantiation: pg_dependencies.c:float4_div
Unexecuted instantiation: rangetypes_gist.c:float4_div
Unexecuted instantiation: rangetypes_selfuncs.c:float4_div
Unexecuted instantiation: rangetypes_typanalyze.c:float4_div
Unexecuted instantiation: timestamp.c:float4_div
Unexecuted instantiation: guc_tables.c:float4_div
212
213
static inline float8
214
float8_div_safe(const float8 val1, const float8 val2, struct Node *escontext)
215
0
{
216
0
  float8    result;
217
218
0
  if (unlikely(val2 == 0.0) && !isnan(val1))
219
0
    return float_zero_divide_error_ext(escontext);
220
0
  result = val1 / val2;
221
0
  if (unlikely(isinf(result)) && !isinf(val1))
222
0
    return float_overflow_error_ext(escontext);
223
0
  if (unlikely(result == 0.0) && val1 != 0.0 && !isinf(val2))
224
0
    return float_underflow_error_ext(escontext);
225
226
0
  return result;
227
0
}
Unexecuted instantiation: brin_minmax_multi.c:float8_div_safe
Unexecuted instantiation: gistget.c:float8_div_safe
Unexecuted instantiation: gistproc.c:float8_div_safe
Unexecuted instantiation: gistscan.c:float8_div_safe
Unexecuted instantiation: gistutil.c:float8_div_safe
Unexecuted instantiation: hashfunc.c:float8_div_safe
Unexecuted instantiation: spgkdtreeproc.c:float8_div_safe
Unexecuted instantiation: spgproc.c:float8_div_safe
Unexecuted instantiation: spgquadtreeproc.c:float8_div_safe
Unexecuted instantiation: spgscan.c:float8_div_safe
Unexecuted instantiation: cash.c:float8_div_safe
Unexecuted instantiation: float.c:float8_div_safe
Unexecuted instantiation: geo_ops.c:float8_div_safe
Unexecuted instantiation: geo_spgist.c:float8_div_safe
Unexecuted instantiation: jsonpath_exec.c:float8_div_safe
Unexecuted instantiation: multirangetypes_selfuncs.c:float8_div_safe
Unexecuted instantiation: numeric.c:float8_div_safe
Unexecuted instantiation: pg_dependencies.c:float8_div_safe
Unexecuted instantiation: rangetypes_gist.c:float8_div_safe
Unexecuted instantiation: rangetypes_selfuncs.c:float8_div_safe
Unexecuted instantiation: rangetypes_typanalyze.c:float8_div_safe
Unexecuted instantiation: timestamp.c:float8_div_safe
Unexecuted instantiation: guc_tables.c:float8_div_safe
228
229
static inline float8
230
float8_div(const float8 val1, const float8 val2)
231
0
{
232
0
  return float8_div_safe(val1, val2, NULL);
233
0
}
Unexecuted instantiation: brin_minmax_multi.c:float8_div
Unexecuted instantiation: gistget.c:float8_div
Unexecuted instantiation: gistproc.c:float8_div
Unexecuted instantiation: gistscan.c:float8_div
Unexecuted instantiation: gistutil.c:float8_div
Unexecuted instantiation: hashfunc.c:float8_div
Unexecuted instantiation: spgkdtreeproc.c:float8_div
Unexecuted instantiation: spgproc.c:float8_div
Unexecuted instantiation: spgquadtreeproc.c:float8_div
Unexecuted instantiation: spgscan.c:float8_div
Unexecuted instantiation: cash.c:float8_div
Unexecuted instantiation: float.c:float8_div
Unexecuted instantiation: geo_ops.c:float8_div
Unexecuted instantiation: geo_spgist.c:float8_div
Unexecuted instantiation: jsonpath_exec.c:float8_div
Unexecuted instantiation: multirangetypes_selfuncs.c:float8_div
Unexecuted instantiation: numeric.c:float8_div
Unexecuted instantiation: pg_dependencies.c:float8_div
Unexecuted instantiation: rangetypes_gist.c:float8_div
Unexecuted instantiation: rangetypes_selfuncs.c:float8_div
Unexecuted instantiation: rangetypes_typanalyze.c:float8_div
Unexecuted instantiation: timestamp.c:float8_div
Unexecuted instantiation: guc_tables.c:float8_div
234
235
/*
236
 * Routines for NaN-aware comparisons
237
 *
238
 * We consider all NaNs to be equal and larger than any non-NaN. This is
239
 * somewhat arbitrary; the important thing is to have a consistent sort
240
 * order.
241
 */
242
243
static inline bool
244
float4_eq(const float4 val1, const float4 val2)
245
0
{
246
0
  return isnan(val1) ? isnan(val2) : !isnan(val2) && val1 == val2;
247
0
}
Unexecuted instantiation: brin_minmax_multi.c:float4_eq
Unexecuted instantiation: gistget.c:float4_eq
Unexecuted instantiation: gistproc.c:float4_eq
Unexecuted instantiation: gistscan.c:float4_eq
Unexecuted instantiation: gistutil.c:float4_eq
Unexecuted instantiation: hashfunc.c:float4_eq
Unexecuted instantiation: spgkdtreeproc.c:float4_eq
Unexecuted instantiation: spgproc.c:float4_eq
Unexecuted instantiation: spgquadtreeproc.c:float4_eq
Unexecuted instantiation: spgscan.c:float4_eq
Unexecuted instantiation: cash.c:float4_eq
Unexecuted instantiation: float.c:float4_eq
Unexecuted instantiation: geo_ops.c:float4_eq
Unexecuted instantiation: geo_spgist.c:float4_eq
Unexecuted instantiation: jsonpath_exec.c:float4_eq
Unexecuted instantiation: multirangetypes_selfuncs.c:float4_eq
Unexecuted instantiation: numeric.c:float4_eq
Unexecuted instantiation: pg_dependencies.c:float4_eq
Unexecuted instantiation: rangetypes_gist.c:float4_eq
Unexecuted instantiation: rangetypes_selfuncs.c:float4_eq
Unexecuted instantiation: rangetypes_typanalyze.c:float4_eq
Unexecuted instantiation: timestamp.c:float4_eq
Unexecuted instantiation: guc_tables.c:float4_eq
248
249
static inline bool
250
float8_eq(const float8 val1, const float8 val2)
251
0
{
252
0
  return isnan(val1) ? isnan(val2) : !isnan(val2) && val1 == val2;
253
0
}
Unexecuted instantiation: brin_minmax_multi.c:float8_eq
Unexecuted instantiation: gistget.c:float8_eq
Unexecuted instantiation: gistproc.c:float8_eq
Unexecuted instantiation: gistscan.c:float8_eq
Unexecuted instantiation: gistutil.c:float8_eq
Unexecuted instantiation: hashfunc.c:float8_eq
Unexecuted instantiation: spgkdtreeproc.c:float8_eq
Unexecuted instantiation: spgproc.c:float8_eq
Unexecuted instantiation: spgquadtreeproc.c:float8_eq
Unexecuted instantiation: spgscan.c:float8_eq
Unexecuted instantiation: cash.c:float8_eq
Unexecuted instantiation: float.c:float8_eq
Unexecuted instantiation: geo_ops.c:float8_eq
Unexecuted instantiation: geo_spgist.c:float8_eq
Unexecuted instantiation: jsonpath_exec.c:float8_eq
Unexecuted instantiation: multirangetypes_selfuncs.c:float8_eq
Unexecuted instantiation: numeric.c:float8_eq
Unexecuted instantiation: pg_dependencies.c:float8_eq
Unexecuted instantiation: rangetypes_gist.c:float8_eq
Unexecuted instantiation: rangetypes_selfuncs.c:float8_eq
Unexecuted instantiation: rangetypes_typanalyze.c:float8_eq
Unexecuted instantiation: timestamp.c:float8_eq
Unexecuted instantiation: guc_tables.c:float8_eq
254
255
static inline bool
256
float4_ne(const float4 val1, const float4 val2)
257
0
{
258
0
  return isnan(val1) ? !isnan(val2) : isnan(val2) || val1 != val2;
259
0
}
Unexecuted instantiation: brin_minmax_multi.c:float4_ne
Unexecuted instantiation: gistget.c:float4_ne
Unexecuted instantiation: gistproc.c:float4_ne
Unexecuted instantiation: gistscan.c:float4_ne
Unexecuted instantiation: gistutil.c:float4_ne
Unexecuted instantiation: hashfunc.c:float4_ne
Unexecuted instantiation: spgkdtreeproc.c:float4_ne
Unexecuted instantiation: spgproc.c:float4_ne
Unexecuted instantiation: spgquadtreeproc.c:float4_ne
Unexecuted instantiation: spgscan.c:float4_ne
Unexecuted instantiation: cash.c:float4_ne
Unexecuted instantiation: float.c:float4_ne
Unexecuted instantiation: geo_ops.c:float4_ne
Unexecuted instantiation: geo_spgist.c:float4_ne
Unexecuted instantiation: jsonpath_exec.c:float4_ne
Unexecuted instantiation: multirangetypes_selfuncs.c:float4_ne
Unexecuted instantiation: numeric.c:float4_ne
Unexecuted instantiation: pg_dependencies.c:float4_ne
Unexecuted instantiation: rangetypes_gist.c:float4_ne
Unexecuted instantiation: rangetypes_selfuncs.c:float4_ne
Unexecuted instantiation: rangetypes_typanalyze.c:float4_ne
Unexecuted instantiation: timestamp.c:float4_ne
Unexecuted instantiation: guc_tables.c:float4_ne
260
261
static inline bool
262
float8_ne(const float8 val1, const float8 val2)
263
0
{
264
0
  return isnan(val1) ? !isnan(val2) : isnan(val2) || val1 != val2;
265
0
}
Unexecuted instantiation: brin_minmax_multi.c:float8_ne
Unexecuted instantiation: gistget.c:float8_ne
Unexecuted instantiation: gistproc.c:float8_ne
Unexecuted instantiation: gistscan.c:float8_ne
Unexecuted instantiation: gistutil.c:float8_ne
Unexecuted instantiation: hashfunc.c:float8_ne
Unexecuted instantiation: spgkdtreeproc.c:float8_ne
Unexecuted instantiation: spgproc.c:float8_ne
Unexecuted instantiation: spgquadtreeproc.c:float8_ne
Unexecuted instantiation: spgscan.c:float8_ne
Unexecuted instantiation: cash.c:float8_ne
Unexecuted instantiation: float.c:float8_ne
Unexecuted instantiation: geo_ops.c:float8_ne
Unexecuted instantiation: geo_spgist.c:float8_ne
Unexecuted instantiation: jsonpath_exec.c:float8_ne
Unexecuted instantiation: multirangetypes_selfuncs.c:float8_ne
Unexecuted instantiation: numeric.c:float8_ne
Unexecuted instantiation: pg_dependencies.c:float8_ne
Unexecuted instantiation: rangetypes_gist.c:float8_ne
Unexecuted instantiation: rangetypes_selfuncs.c:float8_ne
Unexecuted instantiation: rangetypes_typanalyze.c:float8_ne
Unexecuted instantiation: timestamp.c:float8_ne
Unexecuted instantiation: guc_tables.c:float8_ne
266
267
static inline bool
268
float4_lt(const float4 val1, const float4 val2)
269
0
{
270
0
  return !isnan(val1) && (isnan(val2) || val1 < val2);
271
0
}
Unexecuted instantiation: brin_minmax_multi.c:float4_lt
Unexecuted instantiation: gistget.c:float4_lt
Unexecuted instantiation: gistproc.c:float4_lt
Unexecuted instantiation: gistscan.c:float4_lt
Unexecuted instantiation: gistutil.c:float4_lt
Unexecuted instantiation: hashfunc.c:float4_lt
Unexecuted instantiation: spgkdtreeproc.c:float4_lt
Unexecuted instantiation: spgproc.c:float4_lt
Unexecuted instantiation: spgquadtreeproc.c:float4_lt
Unexecuted instantiation: spgscan.c:float4_lt
Unexecuted instantiation: cash.c:float4_lt
Unexecuted instantiation: float.c:float4_lt
Unexecuted instantiation: geo_ops.c:float4_lt
Unexecuted instantiation: geo_spgist.c:float4_lt
Unexecuted instantiation: jsonpath_exec.c:float4_lt
Unexecuted instantiation: multirangetypes_selfuncs.c:float4_lt
Unexecuted instantiation: numeric.c:float4_lt
Unexecuted instantiation: pg_dependencies.c:float4_lt
Unexecuted instantiation: rangetypes_gist.c:float4_lt
Unexecuted instantiation: rangetypes_selfuncs.c:float4_lt
Unexecuted instantiation: rangetypes_typanalyze.c:float4_lt
Unexecuted instantiation: timestamp.c:float4_lt
Unexecuted instantiation: guc_tables.c:float4_lt
272
273
static inline bool
274
float8_lt(const float8 val1, const float8 val2)
275
0
{
276
0
  return !isnan(val1) && (isnan(val2) || val1 < val2);
277
0
}
Unexecuted instantiation: brin_minmax_multi.c:float8_lt
Unexecuted instantiation: gistget.c:float8_lt
Unexecuted instantiation: gistproc.c:float8_lt
Unexecuted instantiation: gistscan.c:float8_lt
Unexecuted instantiation: gistutil.c:float8_lt
Unexecuted instantiation: hashfunc.c:float8_lt
Unexecuted instantiation: spgkdtreeproc.c:float8_lt
Unexecuted instantiation: spgproc.c:float8_lt
Unexecuted instantiation: spgquadtreeproc.c:float8_lt
Unexecuted instantiation: spgscan.c:float8_lt
Unexecuted instantiation: cash.c:float8_lt
Unexecuted instantiation: float.c:float8_lt
Unexecuted instantiation: geo_ops.c:float8_lt
Unexecuted instantiation: geo_spgist.c:float8_lt
Unexecuted instantiation: jsonpath_exec.c:float8_lt
Unexecuted instantiation: multirangetypes_selfuncs.c:float8_lt
Unexecuted instantiation: numeric.c:float8_lt
Unexecuted instantiation: pg_dependencies.c:float8_lt
Unexecuted instantiation: rangetypes_gist.c:float8_lt
Unexecuted instantiation: rangetypes_selfuncs.c:float8_lt
Unexecuted instantiation: rangetypes_typanalyze.c:float8_lt
Unexecuted instantiation: timestamp.c:float8_lt
Unexecuted instantiation: guc_tables.c:float8_lt
278
279
static inline bool
280
float4_le(const float4 val1, const float4 val2)
281
0
{
282
0
  return isnan(val2) || (!isnan(val1) && val1 <= val2);
283
0
}
Unexecuted instantiation: brin_minmax_multi.c:float4_le
Unexecuted instantiation: gistget.c:float4_le
Unexecuted instantiation: gistproc.c:float4_le
Unexecuted instantiation: gistscan.c:float4_le
Unexecuted instantiation: gistutil.c:float4_le
Unexecuted instantiation: hashfunc.c:float4_le
Unexecuted instantiation: spgkdtreeproc.c:float4_le
Unexecuted instantiation: spgproc.c:float4_le
Unexecuted instantiation: spgquadtreeproc.c:float4_le
Unexecuted instantiation: spgscan.c:float4_le
Unexecuted instantiation: cash.c:float4_le
Unexecuted instantiation: float.c:float4_le
Unexecuted instantiation: geo_ops.c:float4_le
Unexecuted instantiation: geo_spgist.c:float4_le
Unexecuted instantiation: jsonpath_exec.c:float4_le
Unexecuted instantiation: multirangetypes_selfuncs.c:float4_le
Unexecuted instantiation: numeric.c:float4_le
Unexecuted instantiation: pg_dependencies.c:float4_le
Unexecuted instantiation: rangetypes_gist.c:float4_le
Unexecuted instantiation: rangetypes_selfuncs.c:float4_le
Unexecuted instantiation: rangetypes_typanalyze.c:float4_le
Unexecuted instantiation: timestamp.c:float4_le
Unexecuted instantiation: guc_tables.c:float4_le
284
285
static inline bool
286
float8_le(const float8 val1, const float8 val2)
287
0
{
288
0
  return isnan(val2) || (!isnan(val1) && val1 <= val2);
289
0
}
Unexecuted instantiation: brin_minmax_multi.c:float8_le
Unexecuted instantiation: gistget.c:float8_le
Unexecuted instantiation: gistproc.c:float8_le
Unexecuted instantiation: gistscan.c:float8_le
Unexecuted instantiation: gistutil.c:float8_le
Unexecuted instantiation: hashfunc.c:float8_le
Unexecuted instantiation: spgkdtreeproc.c:float8_le
Unexecuted instantiation: spgproc.c:float8_le
Unexecuted instantiation: spgquadtreeproc.c:float8_le
Unexecuted instantiation: spgscan.c:float8_le
Unexecuted instantiation: cash.c:float8_le
Unexecuted instantiation: float.c:float8_le
Unexecuted instantiation: geo_ops.c:float8_le
Unexecuted instantiation: geo_spgist.c:float8_le
Unexecuted instantiation: jsonpath_exec.c:float8_le
Unexecuted instantiation: multirangetypes_selfuncs.c:float8_le
Unexecuted instantiation: numeric.c:float8_le
Unexecuted instantiation: pg_dependencies.c:float8_le
Unexecuted instantiation: rangetypes_gist.c:float8_le
Unexecuted instantiation: rangetypes_selfuncs.c:float8_le
Unexecuted instantiation: rangetypes_typanalyze.c:float8_le
Unexecuted instantiation: timestamp.c:float8_le
Unexecuted instantiation: guc_tables.c:float8_le
290
291
static inline bool
292
float4_gt(const float4 val1, const float4 val2)
293
0
{
294
0
  return !isnan(val2) && (isnan(val1) || val1 > val2);
295
0
}
Unexecuted instantiation: brin_minmax_multi.c:float4_gt
Unexecuted instantiation: gistget.c:float4_gt
Unexecuted instantiation: gistproc.c:float4_gt
Unexecuted instantiation: gistscan.c:float4_gt
Unexecuted instantiation: gistutil.c:float4_gt
Unexecuted instantiation: hashfunc.c:float4_gt
Unexecuted instantiation: spgkdtreeproc.c:float4_gt
Unexecuted instantiation: spgproc.c:float4_gt
Unexecuted instantiation: spgquadtreeproc.c:float4_gt
Unexecuted instantiation: spgscan.c:float4_gt
Unexecuted instantiation: cash.c:float4_gt
Unexecuted instantiation: float.c:float4_gt
Unexecuted instantiation: geo_ops.c:float4_gt
Unexecuted instantiation: geo_spgist.c:float4_gt
Unexecuted instantiation: jsonpath_exec.c:float4_gt
Unexecuted instantiation: multirangetypes_selfuncs.c:float4_gt
Unexecuted instantiation: numeric.c:float4_gt
Unexecuted instantiation: pg_dependencies.c:float4_gt
Unexecuted instantiation: rangetypes_gist.c:float4_gt
Unexecuted instantiation: rangetypes_selfuncs.c:float4_gt
Unexecuted instantiation: rangetypes_typanalyze.c:float4_gt
Unexecuted instantiation: timestamp.c:float4_gt
Unexecuted instantiation: guc_tables.c:float4_gt
296
297
static inline bool
298
float8_gt(const float8 val1, const float8 val2)
299
0
{
300
0
  return !isnan(val2) && (isnan(val1) || val1 > val2);
301
0
}
Unexecuted instantiation: brin_minmax_multi.c:float8_gt
Unexecuted instantiation: gistget.c:float8_gt
Unexecuted instantiation: gistproc.c:float8_gt
Unexecuted instantiation: gistscan.c:float8_gt
Unexecuted instantiation: gistutil.c:float8_gt
Unexecuted instantiation: hashfunc.c:float8_gt
Unexecuted instantiation: spgkdtreeproc.c:float8_gt
Unexecuted instantiation: spgproc.c:float8_gt
Unexecuted instantiation: spgquadtreeproc.c:float8_gt
Unexecuted instantiation: spgscan.c:float8_gt
Unexecuted instantiation: cash.c:float8_gt
Unexecuted instantiation: float.c:float8_gt
Unexecuted instantiation: geo_ops.c:float8_gt
Unexecuted instantiation: geo_spgist.c:float8_gt
Unexecuted instantiation: jsonpath_exec.c:float8_gt
Unexecuted instantiation: multirangetypes_selfuncs.c:float8_gt
Unexecuted instantiation: numeric.c:float8_gt
Unexecuted instantiation: pg_dependencies.c:float8_gt
Unexecuted instantiation: rangetypes_gist.c:float8_gt
Unexecuted instantiation: rangetypes_selfuncs.c:float8_gt
Unexecuted instantiation: rangetypes_typanalyze.c:float8_gt
Unexecuted instantiation: timestamp.c:float8_gt
Unexecuted instantiation: guc_tables.c:float8_gt
302
303
static inline bool
304
float4_ge(const float4 val1, const float4 val2)
305
0
{
306
0
  return isnan(val1) || (!isnan(val2) && val1 >= val2);
307
0
}
Unexecuted instantiation: brin_minmax_multi.c:float4_ge
Unexecuted instantiation: gistget.c:float4_ge
Unexecuted instantiation: gistproc.c:float4_ge
Unexecuted instantiation: gistscan.c:float4_ge
Unexecuted instantiation: gistutil.c:float4_ge
Unexecuted instantiation: hashfunc.c:float4_ge
Unexecuted instantiation: spgkdtreeproc.c:float4_ge
Unexecuted instantiation: spgproc.c:float4_ge
Unexecuted instantiation: spgquadtreeproc.c:float4_ge
Unexecuted instantiation: spgscan.c:float4_ge
Unexecuted instantiation: cash.c:float4_ge
Unexecuted instantiation: float.c:float4_ge
Unexecuted instantiation: geo_ops.c:float4_ge
Unexecuted instantiation: geo_spgist.c:float4_ge
Unexecuted instantiation: jsonpath_exec.c:float4_ge
Unexecuted instantiation: multirangetypes_selfuncs.c:float4_ge
Unexecuted instantiation: numeric.c:float4_ge
Unexecuted instantiation: pg_dependencies.c:float4_ge
Unexecuted instantiation: rangetypes_gist.c:float4_ge
Unexecuted instantiation: rangetypes_selfuncs.c:float4_ge
Unexecuted instantiation: rangetypes_typanalyze.c:float4_ge
Unexecuted instantiation: timestamp.c:float4_ge
Unexecuted instantiation: guc_tables.c:float4_ge
308
309
static inline bool
310
float8_ge(const float8 val1, const float8 val2)
311
0
{
312
0
  return isnan(val1) || (!isnan(val2) && val1 >= val2);
313
0
}
Unexecuted instantiation: brin_minmax_multi.c:float8_ge
Unexecuted instantiation: gistget.c:float8_ge
Unexecuted instantiation: gistproc.c:float8_ge
Unexecuted instantiation: gistscan.c:float8_ge
Unexecuted instantiation: gistutil.c:float8_ge
Unexecuted instantiation: hashfunc.c:float8_ge
Unexecuted instantiation: spgkdtreeproc.c:float8_ge
Unexecuted instantiation: spgproc.c:float8_ge
Unexecuted instantiation: spgquadtreeproc.c:float8_ge
Unexecuted instantiation: spgscan.c:float8_ge
Unexecuted instantiation: cash.c:float8_ge
Unexecuted instantiation: float.c:float8_ge
Unexecuted instantiation: geo_ops.c:float8_ge
Unexecuted instantiation: geo_spgist.c:float8_ge
Unexecuted instantiation: jsonpath_exec.c:float8_ge
Unexecuted instantiation: multirangetypes_selfuncs.c:float8_ge
Unexecuted instantiation: numeric.c:float8_ge
Unexecuted instantiation: pg_dependencies.c:float8_ge
Unexecuted instantiation: rangetypes_gist.c:float8_ge
Unexecuted instantiation: rangetypes_selfuncs.c:float8_ge
Unexecuted instantiation: rangetypes_typanalyze.c:float8_ge
Unexecuted instantiation: timestamp.c:float8_ge
Unexecuted instantiation: guc_tables.c:float8_ge
314
315
static inline float4
316
float4_min(const float4 val1, const float4 val2)
317
0
{
318
0
  return float4_lt(val1, val2) ? val1 : val2;
319
0
}
Unexecuted instantiation: brin_minmax_multi.c:float4_min
Unexecuted instantiation: gistget.c:float4_min
Unexecuted instantiation: gistproc.c:float4_min
Unexecuted instantiation: gistscan.c:float4_min
Unexecuted instantiation: gistutil.c:float4_min
Unexecuted instantiation: hashfunc.c:float4_min
Unexecuted instantiation: spgkdtreeproc.c:float4_min
Unexecuted instantiation: spgproc.c:float4_min
Unexecuted instantiation: spgquadtreeproc.c:float4_min
Unexecuted instantiation: spgscan.c:float4_min
Unexecuted instantiation: cash.c:float4_min
Unexecuted instantiation: float.c:float4_min
Unexecuted instantiation: geo_ops.c:float4_min
Unexecuted instantiation: geo_spgist.c:float4_min
Unexecuted instantiation: jsonpath_exec.c:float4_min
Unexecuted instantiation: multirangetypes_selfuncs.c:float4_min
Unexecuted instantiation: numeric.c:float4_min
Unexecuted instantiation: pg_dependencies.c:float4_min
Unexecuted instantiation: rangetypes_gist.c:float4_min
Unexecuted instantiation: rangetypes_selfuncs.c:float4_min
Unexecuted instantiation: rangetypes_typanalyze.c:float4_min
Unexecuted instantiation: timestamp.c:float4_min
Unexecuted instantiation: guc_tables.c:float4_min
320
321
static inline float8
322
float8_min(const float8 val1, const float8 val2)
323
0
{
324
0
  return float8_lt(val1, val2) ? val1 : val2;
325
0
}
Unexecuted instantiation: brin_minmax_multi.c:float8_min
Unexecuted instantiation: gistget.c:float8_min
Unexecuted instantiation: gistproc.c:float8_min
Unexecuted instantiation: gistscan.c:float8_min
Unexecuted instantiation: gistutil.c:float8_min
Unexecuted instantiation: hashfunc.c:float8_min
Unexecuted instantiation: spgkdtreeproc.c:float8_min
Unexecuted instantiation: spgproc.c:float8_min
Unexecuted instantiation: spgquadtreeproc.c:float8_min
Unexecuted instantiation: spgscan.c:float8_min
Unexecuted instantiation: cash.c:float8_min
Unexecuted instantiation: float.c:float8_min
Unexecuted instantiation: geo_ops.c:float8_min
Unexecuted instantiation: geo_spgist.c:float8_min
Unexecuted instantiation: jsonpath_exec.c:float8_min
Unexecuted instantiation: multirangetypes_selfuncs.c:float8_min
Unexecuted instantiation: numeric.c:float8_min
Unexecuted instantiation: pg_dependencies.c:float8_min
Unexecuted instantiation: rangetypes_gist.c:float8_min
Unexecuted instantiation: rangetypes_selfuncs.c:float8_min
Unexecuted instantiation: rangetypes_typanalyze.c:float8_min
Unexecuted instantiation: timestamp.c:float8_min
Unexecuted instantiation: guc_tables.c:float8_min
326
327
static inline float4
328
float4_max(const float4 val1, const float4 val2)
329
0
{
330
0
  return float4_gt(val1, val2) ? val1 : val2;
331
0
}
Unexecuted instantiation: brin_minmax_multi.c:float4_max
Unexecuted instantiation: gistget.c:float4_max
Unexecuted instantiation: gistproc.c:float4_max
Unexecuted instantiation: gistscan.c:float4_max
Unexecuted instantiation: gistutil.c:float4_max
Unexecuted instantiation: hashfunc.c:float4_max
Unexecuted instantiation: spgkdtreeproc.c:float4_max
Unexecuted instantiation: spgproc.c:float4_max
Unexecuted instantiation: spgquadtreeproc.c:float4_max
Unexecuted instantiation: spgscan.c:float4_max
Unexecuted instantiation: cash.c:float4_max
Unexecuted instantiation: float.c:float4_max
Unexecuted instantiation: geo_ops.c:float4_max
Unexecuted instantiation: geo_spgist.c:float4_max
Unexecuted instantiation: jsonpath_exec.c:float4_max
Unexecuted instantiation: multirangetypes_selfuncs.c:float4_max
Unexecuted instantiation: numeric.c:float4_max
Unexecuted instantiation: pg_dependencies.c:float4_max
Unexecuted instantiation: rangetypes_gist.c:float4_max
Unexecuted instantiation: rangetypes_selfuncs.c:float4_max
Unexecuted instantiation: rangetypes_typanalyze.c:float4_max
Unexecuted instantiation: timestamp.c:float4_max
Unexecuted instantiation: guc_tables.c:float4_max
332
333
static inline float8
334
float8_max(const float8 val1, const float8 val2)
335
0
{
336
0
  return float8_gt(val1, val2) ? val1 : val2;
337
0
}
Unexecuted instantiation: brin_minmax_multi.c:float8_max
Unexecuted instantiation: gistget.c:float8_max
Unexecuted instantiation: gistproc.c:float8_max
Unexecuted instantiation: gistscan.c:float8_max
Unexecuted instantiation: gistutil.c:float8_max
Unexecuted instantiation: hashfunc.c:float8_max
Unexecuted instantiation: spgkdtreeproc.c:float8_max
Unexecuted instantiation: spgproc.c:float8_max
Unexecuted instantiation: spgquadtreeproc.c:float8_max
Unexecuted instantiation: spgscan.c:float8_max
Unexecuted instantiation: cash.c:float8_max
Unexecuted instantiation: float.c:float8_max
Unexecuted instantiation: geo_ops.c:float8_max
Unexecuted instantiation: geo_spgist.c:float8_max
Unexecuted instantiation: jsonpath_exec.c:float8_max
Unexecuted instantiation: multirangetypes_selfuncs.c:float8_max
Unexecuted instantiation: numeric.c:float8_max
Unexecuted instantiation: pg_dependencies.c:float8_max
Unexecuted instantiation: rangetypes_gist.c:float8_max
Unexecuted instantiation: rangetypes_selfuncs.c:float8_max
Unexecuted instantiation: rangetypes_typanalyze.c:float8_max
Unexecuted instantiation: timestamp.c:float8_max
Unexecuted instantiation: guc_tables.c:float8_max
338
339
#endif              /* FLOAT_H */