/* Case distinction; exit early for the easy cases. */
if (ieeeExponent == ((1u << DOUBLE_EXPONENT_BITS) - 1u) || (ieeeExponent == 0 && ieeeMantissa == 0))
{
- return copy_special_str(result, ieeeSign, ieeeExponent, ieeeMantissa);
+ return copy_special_str(result, ieeeSign, (ieeeExponent != 0), (ieeeMantissa != 0));
}
floating_decimal_64 v;
/* Case distinction; exit early for the easy cases. */
if (ieeeExponent == ((1u << FLOAT_EXPONENT_BITS) - 1u) || (ieeeExponent == 0 && ieeeMantissa == 0))
{
- return copy_special_str(result, ieeeSign, ieeeExponent, ieeeMantissa);
+ return copy_special_str(result, ieeeSign, (ieeeExponent != 0), (ieeeMantissa != 0));
}
floating_decimal_32 v;
+-- deal with numeric instability of ts_rank
+SET extra_float_digits = 0;
--Base tsvector test
SELECT '1'::tsvector;
tsvector
--ranking
SELECT ts_rank(' a:1 s:2C d g'::tsvector, 'a | s');
- ts_rank
--------------
- 0.091189064
+ ts_rank
+-----------
+ 0.0911891
(1 row)
SELECT ts_rank(' a:1 sa:2C d g'::tsvector, 'a | s');
- ts_rank
--------------
- 0.030396355
+ ts_rank
+-----------
+ 0.0303964
(1 row)
SELECT ts_rank(' a:1 sa:2C d g'::tsvector, 'a | s:*');
- ts_rank
--------------
- 0.091189064
+ ts_rank
+-----------
+ 0.0911891
(1 row)
SELECT ts_rank(' a:1 sa:2C d g'::tsvector, 'a | sa:*');
- ts_rank
--------------
- 0.091189064
+ ts_rank
+-----------
+ 0.0911891
(1 row)
SELECT ts_rank(' a:1 s:2B d g'::tsvector, 'a | s');
- ts_rank
-------------
- 0.15198177
+ ts_rank
+----------
+ 0.151982
(1 row)
SELECT ts_rank(' a:1 s:2 d g'::tsvector, 'a | s');
- ts_rank
-------------
- 0.06079271
+ ts_rank
+-----------
+ 0.0607927
(1 row)
SELECT ts_rank(' a:1 s:2C d g'::tsvector, 'a & s');
- ts_rank
-------------
- 0.14015312
+ ts_rank
+----------
+ 0.140153
(1 row)
SELECT ts_rank(' a:1 s:2B d g'::tsvector, 'a & s');
- ts_rank
-------------
- 0.19820644
+ ts_rank
+----------
+ 0.198206
(1 row)
SELECT ts_rank(' a:1 s:2 d g'::tsvector, 'a & s');
- ts_rank
-------------
- 0.09910322
+ ts_rank
+-----------
+ 0.0991032
(1 row)
SELECT ts_rank_cd(' a:1 s:2C d g'::tsvector, 'a | s');
SELECT ts_rank_cd(' a:1 s:2C d g'::tsvector, 'a & s');
ts_rank_cd
------------
- 0.13333334
+ 0.133333
(1 row)
SELECT ts_rank_cd(' a:1 s:2B d g'::tsvector, 'a & s');
SELECT ts_rank_cd(' a:1 s:2A d g'::tsvector, 'a <-> s');
ts_rank_cd
------------
- 0.18181819
+ 0.181818
(1 row)
SELECT ts_rank_cd(' a:1 s:2C d g'::tsvector, 'a <-> s');
ts_rank_cd
------------
- 0.13333334
+ 0.133333
(1 row)
SELECT ts_rank_cd(' a:1 s:2 d g'::tsvector, 'a <-> s');
SELECT ts_rank_cd(' a:1 s:2,3A d:2A g'::tsvector, 'a <2> s:A');
ts_rank_cd
------------
- 0.09090909
+ 0.0909091
(1 row)
SELECT ts_rank_cd(' a:1 b:2 s:3A d:2A g'::tsvector, 'a <2> s:A');
ts_rank_cd
------------
- 0.09090909
+ 0.0909091
(1 row)
SELECT ts_rank_cd(' a:1 sa:2D sb:2A g'::tsvector, 'a <-> s:*');