summaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
authorBruce Momjian2002-10-19 02:08:19 +0000
committerBruce Momjian2002-10-19 02:08:19 +0000
commitbab3d29fbab48e803e9dec09733a388aa1bbba22 (patch)
tree2ddcdc3283080b626a1012e5edbfd1a895118fe3 /src/test
parent5c6a5fe18b2e8d1b4ec128c0441aca6d13d44121 (diff)
This patch adds some missing functions for float8 math operations,
specifically ceil(), floor(), and sign(). There may be other functions that need to be added, but this is a start. I've included some simple regression tests. Neil Conway
Diffstat (limited to 'src/test')
-rw-r--r--src/test/regress/expected/float8.out35
-rw-r--r--src/test/regress/sql/float8.sql11
2 files changed, 44 insertions, 2 deletions
diff --git a/src/test/regress/expected/float8.out b/src/test/regress/expected/float8.out
index 6449e6e2176..d91427c6ffa 100644
--- a/src/test/regress/expected/float8.out
+++ b/src/test/regress/expected/float8.out
@@ -149,13 +149,46 @@ SELECT '' AS five, f.f1, f.f1 % AS round_f1
| 1.2345678901234e-200 | 0
(5 rows)
+-- ceil
+select ceil(f1) as ceil_f1 from float8_tbl f;
+ ceil_f1
+----------------------
+ 0
+ 1005
+ -34
+ 1.2345678901234e+200
+ 1
+(5 rows)
+
+-- floor
+select floor(f1) as floor_f1 from float8_tbl f;
+ floor_f1
+----------------------
+ 0
+ 1004
+ -35
+ 1.2345678901234e+200
+ 0
+(5 rows)
+
+-- sign
+select sign(f1) as sign_f1 from float8_tbl f;
+ sign_f1
+---------
+ 0
+ 1
+ -1
+ 1
+ 1
+(5 rows)
+
+-- square root
SELECT sqrt(float8 '64') AS eight;
eight
-------
8
(1 row)
--- square root
SELECT |/ float8 '64' AS eight;
eight
-------
diff --git a/src/test/regress/sql/float8.sql b/src/test/regress/sql/float8.sql
index 8314f5cac9d..2cdb64a75a9 100644
--- a/src/test/regress/sql/float8.sql
+++ b/src/test/regress/sql/float8.sql
@@ -60,9 +60,18 @@ SELECT '' AS five, f.f1, %f.f1 AS trunc_f1
SELECT '' AS five, f.f1, f.f1 % AS round_f1
FROM FLOAT8_TBL f;
-SELECT sqrt(float8 '64') AS eight;
+-- ceil
+select ceil(f1) as ceil_f1 from float8_tbl f;
+
+-- floor
+select floor(f1) as floor_f1 from float8_tbl f;
+
+-- sign
+select sign(f1) as sign_f1 from float8_tbl f;
-- square root
+SELECT sqrt(float8 '64') AS eight;
+
SELECT |/ float8 '64' AS eight;
SELECT '' AS three, f.f1, |/f.f1 AS sqrt_f1