Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lZcbb-00039X-08 for pgsql-docs@arkaria.postgresql.org; Thu, 22 Apr 2021 16:55:07 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1lZcbZ-0000bA-Lz for pgsql-docs@arkaria.postgresql.org; Thu, 22 Apr 2021 16:55:05 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lZcbZ-0000b2-BA for pgsql-docs@lists.postgresql.org; Thu, 22 Apr 2021 16:55:05 +0000 Received: from mail-wr1-x42f.google.com ([2a00:1450:4864:20::42f]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1lZcbS-0005g6-31 for pgsql-docs@lists.postgresql.org; Thu, 22 Apr 2021 16:55:04 +0000 Received: by mail-wr1-x42f.google.com with SMTP id h4so36460958wrt.12 for ; Thu, 22 Apr 2021 09:54:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cybertec-at.20150623.gappssmtp.com; s=20150623; h=message-id:subject:from:to:date:in-reply-to:references:user-agent :mime-version; bh=ziefYtRnqcXoXkCpr583v3X4v1HhNdQTMtzX6hVPBTs=; b=aveZ8ejkQ5KOeqhhdtcT4+rnapMUY+tfZRXn5aN4urx+xD3ORJZsVSJfyz6FNTjlvp FaQmWrxR+Ni8B5jyXjrp9XtfFqIXJRQWYJ/gUEeWUQ3+APUBcguNrJS1d2s495IZAqCB JzHkeCth9Ac/6MTVI7DHunaHSKHR+iqWfbeAgBq1yDuA0/um7gEoDyYmm0WmPQevgGjw kSg6ycebgRo4UTKZfsIYeLivqDM3ZvaoyXWitT4EVh3IG5QfLjWHOtDVvht5vS6mshuS Sa8Ja7RJaB8wpVQSouE7RZBdtyKR2xdhy8JS6zDXBNxjNQIEGpWA9uuLEa1SS6sRMN+M jW7w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:message-id:subject:from:to:date:in-reply-to :references:user-agent:mime-version; bh=ziefYtRnqcXoXkCpr583v3X4v1HhNdQTMtzX6hVPBTs=; b=OTVfvppG03qC6z8O86jRpv08Mf26IRq1NRHicnTJYVfQdzu4urLLwdmOtaxt+vVBo6 LN5xIvj6MZSi/Lwl71YU0y5OTKXLBEVqF2RIjyRhPoZk4lPRNnBctazgEvEgSR3QWA1F 7xAhO8uZnRxUv2ZSxmlDTUSNPCw/Xg1l7VXVjrSYsbcYTc+3NW5ugMxKJU9gZKgUMnSS TENG6DJ/cUrZXmaVsz0Cg4HhY78Dzr7BeRKxjp6Gueazg+LQpkdrFTWdyij2+ZDHh1iK Kv/o2AJ4/RD5UHivUR1H6lvpihCAifbqk9OcdpguNoWRUOQRbAmZS8oFmBV92NLeyP11 QOIA== X-Gm-Message-State: AOAM532B/bdQ5CHDxf4obm9o3mPOnuyXVr22Ahrhf/TPSEZAaIWMoyP1 NjavCNUqwYwkWBnKEfWlo5YoIw== X-Google-Smtp-Source: ABdhPJwhwJX16fUpg6QwaqTZxgZ0Mf+sObkoM78XJ8i39xUlgpY1hQMXL5UfhnVQPPUuAHlaP4UIyA== X-Received: by 2002:a05:6000:1816:: with SMTP id m22mr5401324wrh.260.1619110495918; Thu, 22 Apr 2021 09:54:55 -0700 (PDT) Received: from localhost.localdomain (217-149-164-106.nat.highway.telekom.at. [217.149.164.106]) by smtp.gmail.com with ESMTPSA id s83sm4052775wms.16.2021.04.22.09.54.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 22 Apr 2021 09:54:55 -0700 (PDT) Message-ID: Subject: Re: Rounding strategy From: Laurenz Albe To: rudolphfroger@dreamsolution.nl, pgsql-docs@lists.postgresql.org Date: Thu, 22 Apr 2021 18:54:54 +0200 In-Reply-To: <40dea1e0254dc00213f0dd10afa5e668abf0d020.camel@cybertec.at> References: <161881920775.685.12293798764864559341@wrigleys.postgresql.org> <40dea1e0254dc00213f0dd10afa5e668abf0d020.camel@cybertec.at> Content-Type: multipart/mixed; boundary="=-XnRDfRTR5K86J6wSbh5L" User-Agent: Evolution 3.36.5 (3.36.5-2.fc32) MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --=-XnRDfRTR5K86J6wSbh5L Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit On Mon, 2021-04-19 at 08:00 +0000, PG Doc comments form wrote: > The 'round' mathematical function documentation doesn't specify its rounding > strategy. If this would be documented then users can rely on its rounding > behavior. For double precision the rounding probably depends on your > platform. For numeric the function seems to round to nearest with ties going > away from zero (sometimes referred to as "round half up). 6.5 -> 7.0 and > -6.5 -> -7.0. Here is a proposed patch. Yours, Laurenz Albe --=-XnRDfRTR5K86J6wSbh5L Content-Disposition: attachment; filename="0001-Document-tie-breaking-behavior-of-round.patch" Content-Transfer-Encoding: base64 Content-Type: text/x-patch; name="0001-Document-tie-breaking-behavior-of-round.patch"; charset="UTF-8" RnJvbSBhMGM0MGZkNDMxODIwZjZkMWNlOTZmNWJjM2Y0MWJkNzY2NTAyOGJlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBMYXVyZW56IEFsYmUgPGxhdXJlbnouYWxiZUBjeWJlcnRlYy5h dD4KRGF0ZTogVGh1LCAyMiBBcHIgMjAyMSAxODo1MzoxNCArMDIwMApTdWJqZWN0OiBbUEFUQ0hd IERvY3VtZW50IHRpZSBicmVha2luZyBiZWhhdmlvciBvZiByb3VuZCgpCgotLS0KIGRvYy9zcmMv c2dtbC9mdW5jLnNnbWwgfCA2ICsrKystLQogMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygr KSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvZnVuYy5zZ21sIGIv ZG9jL3NyYy9zZ21sL2Z1bmMuc2dtbAppbmRleCA2N2Q4MDJiMDJjLi5mY2MwOWQ1MjMxIDEwMDY0 NAotLS0gYS9kb2Mvc3JjL3NnbWwvZnVuYy5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9mdW5jLnNn bWwKQEAgLTE1NjgsNyArMTU2OCw5IEBAIHJlcGVhdCgnUGcnLCA0KSA8cmV0dXJudmFsdWU+UGdQ Z1BnUGc8L3JldHVybnZhbHVlPgogICAgICAgICA8cmV0dXJudmFsdWU+ZG91YmxlIHByZWNpc2lv bjwvcmV0dXJudmFsdWU+CiAgICAgICAgPC9wYXJhPgogICAgICAgIDxwYXJhPgotICAgICAgICBS b3VuZHMgdG8gbmVhcmVzdCBpbnRlZ2VyCisgICAgICAgIFJvdW5kcyB0byBuZWFyZXN0IGludGVn ZXIuICBGb3IgPHR5cGU+bnVtZXJpYzwvdHlwZT4sIHRpZXMgYXJlCisgICAgICAgIGJyb2tlbiBi eSByb3VuZGluZyBhd2F5IGZyb20gMC4gIEZvciA8dHlwZT5kb3VibGUgcHJlY2lzaW9uPC90eXBl PiwKKyAgICAgICAgdGhlIHRpZSBicmVha2luZyBiZWhhdmlvciBpcyBhcmNoaXRlY3R1cmUgZGVw ZW5kZW50LgogICAgICAgIDwvcGFyYT4KICAgICAgICA8cGFyYT4KICAgICAgICAgPGxpdGVyYWw+ cm91bmQoNDIuNCk8L2xpdGVyYWw+CkBAIC0xNTgzLDcgKzE1ODUsNyBAQCByZXBlYXQoJ1BnJywg NCkgPHJldHVybnZhbHVlPlBnUGdQZ1BnPC9yZXR1cm52YWx1ZT4KICAgICAgICA8L3BhcmE+CiAg ICAgICAgPHBhcmE+CiAgICAgICAgIFJvdW5kcyA8cGFyYW1ldGVyPnY8L3BhcmFtZXRlcj4gdG8g PHBhcmFtZXRlcj5zPC9wYXJhbWV0ZXI+IGRlY2ltYWwKLSAgICAgICAgcGxhY2VzCisgICAgICAg IHBsYWNlcy4gIFRpZXMgYXJlIGJyb2tlbiBieSByb3VuZGluZyBhd2F5IGZyb20gMC4KICAgICAg ICA8L3BhcmE+CiAgICAgICAgPHBhcmE+CiAgICAgICAgIDxsaXRlcmFsPnJvdW5kKDQyLjQzODIs IDIpPC9saXRlcmFsPgotLSAKMi4yNi4zCgo= --=-XnRDfRTR5K86J6wSbh5L--