Fix gist bug.

This commit is contained in:
totaj
2023-04-17 21:48:50 +08:00
committed by zhang_xubo
parent ce3d38fcd3
commit 8276338efe
6 changed files with 121 additions and 74 deletions

View File

@ -1842,4 +1842,7 @@ extern Datum pg_read_binary_file_blocks(PG_FUNCTION_ARGS);
extern char *pg_ultostr(char *str, uint32 value);
extern char *pg_ultostr_zeropad(char *str, uint32 value, int32 minwidth);
/* float.cpp */
extern int float8_cmp_internal(float8 a, float8 b);
#endif /* BUILTINS_H */

View File

@ -33,20 +33,20 @@
#ifdef EPSILON
#define FPzero(A) (fabs(A) <= EPSILON)
#define FPeq(A, B) (fabs((A) - (B)) <= EPSILON)
#define FPne(A, B) (fabs((A) - (B)) > EPSILON)
#define FPlt(A, B) ((B) - (A) > EPSILON)
#define FPle(A, B) ((A) - (B) <= EPSILON)
#define FPgt(A, B) ((A) - (B) > EPSILON)
#define FPge(A, B) ((B) - (A) <= EPSILON)
#define FPeq(A, B) (fabs((A) - (B)) <= EPSILON || (isnan(A) && isnan(B)))
#define FPne(A, B) !FPeq(A, B)
#define FPlt(A, B) ((B) - (A) > EPSILON || (isnan(B) && !isnan(A)))
#define FPle(A, B) ((A) - (B) <= EPSILON || isnan(B))
#define FPgt(A, B) ((A) - (B) > EPSILON || (isnan(A) && !isnan(B)))
#define FPge(A, B) ((B) - (A) <= EPSILON || isnan(A))
#else
#define FPzero(A) ((A) == 0)
#define FPeq(A, B) ((A) == (B))
#define FPne(A, B) ((A) != (B))
#define FPlt(A, B) ((A) < (B))
#define FPle(A, B) ((A) <= (B))
#define FPgt(A, B) ((A) > (B))
#define FPge(A, B) ((A) >= (B))
#define FPeq(A, B) ((A) == (B) || (isnan(A) && isnan(B)))
#define FPne(A, B) !FPeq(A, B)
#define FPlt(A, B) ((A) < (B) || (isnan(B) && !isnan(A)))
#define FPle(A, B) ((A) <= (B) || isnan(B))
#define FPgt(A, B) ((A) > (B) || (isnan(A) && !isnan(B)))
#define FPge(A, B) ((A) >= (B) || isnan(A))
#endif
#define HYPOT(A, B) pg_hypot(A, B)