postgres.git / summary / log / commit / refs

commit    74294c7301340eeb477343dd26d98d2f3e33bd20
Author:   Tomas Vondra <tomas.vondra@postgresql.org>
Date:     Sun Jul 29 18:35:18 2018 +0000

    Restore handling of -0 in the C field of lines in line_construct().
    
    Commit a7dc63d904 inadvertedly removed this bit originally introduced
    by 43fe90f66a, causing regression test failures on some platforms,
    due to producing {1,-1,-0} instead of {1,-1,0}.


src/backend/utils/adt/geo_ops.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/backend/utils/adt/geo_ops.c b/src/backend/utils/adt/geo_ops.c index 1fb2ff2603c..621b5c33ef1 100644 --- a/src/backend/utils/adt/geo_ops.c +++ b/src/backend/utils/adt/geo_ops.c @@ -1024,6 +1024,9 @@ line_construct(LINE *result, Point *pt, float8 m) result->A = m; result->B = -1.0; result->C = pt->y - m * pt->x; + /* on some platforms, the preceding expression tends to produce -0 */ + if (result->C == 0.0) + result->C = 0.0; } } [parent: fb17eabf1b51]