Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:122684 X-Original-To: internals@lists.php.net Delivered-To: internals@lists.php.net Received: from php-smtp4.php.net (php-smtp4.php.net [45.112.84.5]) by qa.php.net (Postfix) with ESMTPS id DEAC61AD8F6 for ; Tue, 19 Mar 2024 00:05:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1710806733; bh=ui1c+kGGWOpaGe5pPZBeM+ANaSVuyLfEm4MPD47vAU4=; h=Date:Subject:To:References:From:In-Reply-To:From; b=iirFt8AUitURfosxzSjV3nOsUHVPryNcZYAAufNnDai+SJH2AB9GgmEitRbr7ZX/9 x7g3SQzhUqwKp+WFd03cxcOTBdsRkiIm7Ba5QlSjnxPvjqxNqevlgRbuTbr9Zmm32y 9uqrWIhT5v4+G5aSrszRP+sD0/ejcFQg+2dptVQ9Zv9Uet3UJz8chu9k5spu1ObAAl xixc3yDSCh6x2FXIQVYp9d7j49xNMrT5JBpo/4tr9Jpe9SPQX/II0rUHHTzlLHeV8p jOuu11wtzZV3BD71IzXaHSQZYGHid7Z4bEw19C4n+tGaCH1Toymw9xF4+J4Kuz6ieT JcdJm56+y8qtw== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id D240E1801D4 for ; Tue, 19 Mar 2024 00:05:32 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_50, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS, FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=4.0.0 X-Spam-Virus: No X-Envelope-From: Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-db3eur04olkn2030.outbound.protection.outlook.com [40.92.74.30]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Tue, 19 Mar 2024 00:05:32 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=J1AGKRMXTPoyV2BkDEbBtuvsoQdsokvya1JAR+y0zFpeTA2A4g8P1ayCmHHhXyVFB87AP6MNbyn0xPupkD1Nb6h6Hw3HfQTuxcWv4188Oc3hrrK4cfpJffoGCnBF1X0Pl5hUhxT8FItH5t/hnuIYB/0XFtYEOauoTnP0lPc02W1sLYNLVJAsFC4mVDJN6cTjO4nEjt6gqVr3IFZRcEd91alMDJOzHyZM/ZiiBRn6cB11+W5lb866+o5ZP4yMUmfwox5Y7C2+ScUKQ1qas7QCwJWCavHUFKaqVrBFPg5cLb8QOsDTUIGyxYE45rd2ZWTnYBVv2PaZRP5aVqEehAEkrg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=4jO80vSU1d3whbSWXMiIXy99/T61ymTbMbRYW6gGa7Q=; b=U2AzppxDqMh6P1WGPP5fhAwrJxYWWKy1MT6QD1ds3fU6mZGjodZVH29TkJk1YWeBWbnUt2Gt4o8qdt/1WwjmIoElaJ4SHREjb5Wej+Ku4RMQ2B4kwoCy2UC3C+caPOkzp3G6qmOUI2NsUJ7QTXW4l+kZgfHVmqmiOcs+d/JujC+51H0selwANso9SXlwHId453mUjrGoYUcy6j1tfk75cZnl25fH22d5d4cuceis+pcnQGOzscevOTO9pamHHoKL0HQPxigrB1jzuHkKc8cFKc6mJdvga1r2Pk15Isd6YI6xllsmivfZbKnThiZxyp7ZlCU14UtYD3ep7lKL2fBSlg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=4jO80vSU1d3whbSWXMiIXy99/T61ymTbMbRYW6gGa7Q=; b=SlZjNbloJTAG7gp506bvglBi3dNyEOdMGqu9QBJuNMAAQFKtBuIBhSvv3vkwowaf7j1UCtXmdDwNXp6wtq+4FZHMZjg0SAUz+fMdqIewIHt/OCsaw731T7AMg3zHm33IfbCBp7v8dDlA+SYyUNOjJOBOQLk3ofLMLjaM25+p+glxLJvZucNbab5N1jxWhVqOCuiw9eU8K3TjJsUhOvOAiTJSNbhWNGZEUUwYGd9ZDinm3ntx59WZ+Bb/eu3mFPiRsAaPmOTFNDceYkngnzBjxylnPOd2X11GQz2fa+7fvR/C6DahE639bWej401JfuuYW/xEpxakB1h0w+zaUBxbwQ== Received: from AM8P250MB0170.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:321::21) by AS4P250MB0462.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:4b1::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7386.27; Tue, 19 Mar 2024 00:05:10 +0000 Received: from AM8P250MB0170.EURP250.PROD.OUTLOOK.COM ([fe80::1bef:dd6c:81a8:c5fd]) by AM8P250MB0170.EURP250.PROD.OUTLOOK.COM ([fe80::1bef:dd6c:81a8:c5fd%4]) with mapi id 15.20.7386.025; Tue, 19 Mar 2024 00:05:10 +0000 Message-ID: Date: Tue, 19 Mar 2024 01:05:08 +0100 User-Agent: Mozilla Thunderbird Subject: Re: [PHP-DEV] Re: [RFC] [Discussion] [VOTE] Rounding Integers as int Content-Language: en-US To: Marc Bennewitz , internals@lists.php.net References: <1295818d-5b01-4c94-ac21-d6645d784de4@mabe.berlin> <4ffaf3a6-aa95-4c01-a4ce-edebbd4ec11a@mabe.berlin> In-Reply-To: <4ffaf3a6-aa95-4c01-a4ce-edebbd4ec11a@mabe.berlin> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-TMN: [x3D+FhiUAmOm0RoaTtJFXrEjfdpQ//xZVk2IY6QJc4RlpXAiI7m/3EoYSRc+hxT1] X-ClientProxiedBy: FR0P281CA0106.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a8::7) To AM8P250MB0170.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:321::21) X-Microsoft-Original-Message-ID: <21a5b2c2-02f3-43f1-92a9-e3b26c9092aa@hotmail.com> Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM8P250MB0170:EE_|AS4P250MB0462:EE_ X-MS-Office365-Filtering-Correlation-Id: 29225c2b-fbf8-430c-85c1-08dc47a83dd0 X-MS-Exchange-SLBlob-MailProps: YfhX3sd/0TVtq4avcNPNE0XRC8HkTjezpnNHt+HC0SapwlBxyHd/YMMDZwKs7qT45q/TQlYxXfGplJT3ZWck7oL8yMn29Rwc9UiKzT14VMXEx+76sJRsr+FRvkL2FxDD6YC4HIKu/rOr362yKyTDW5anYGMGA/VqvUA+6HIjrm/dGAfJchgAIkLyT1NtKmmWyEeWpN/9ATQtJAwQbyRzwI4lOPCTwIppwMY42KZC/+fnc3gKKFLJE1TW83z+vMmj/Nkqe++4qAoyoiq2fIcdvqLpPjf1DQM3qXCAQ3nopS4/nW/rV3KhAWTPMQStbsfCHB+DxoqHNvhWiYaVixjEYBXGwlwfoHYDTBpoo/TajGtvPQdHQPgwdnUoIZ1yaeWiPqy780gULo2GXHangoZRZZpYmcJ3fw6h9smFJTd05zJ0DW8L1ynM/a3LLkOXSAtg88y/1GPfis8Jwnsn3zsThTWlkDf1729Mr5x01wJxlxVsTw5uKORq8icDEGaGw+22uKeqQf0tPUAKW/emlCgZNwJWXwr7WSkRPzWXaje/XCOjx3yz4TxAS4w+RQQlJyTf5DWnrqmZus7Y3vcpwj1FwnJDLG9l86xKp/KosTf4W3z0a6vEdsFXry1D6UMKgtqv/68SRb4OIOxon2ntRsYNrL8B+hkYyPmuQy6zp0BkfZLf9QhdPYE9PqTOg6uT1LMdfhklUBfmziOLIvLXJHAPwLHsv7JR10CvIRYFtuayARFoQtNbVkY/KOl+An2bKX91UzUcuOhU1TksH7Gvx7m/l8uudE/MzxJhk47A45DoYHQ= X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: AjpCIC7RvfkCDfO40FvVvc7CT00Dp92xMHgMDIvtPqQdBU2/n2CN99WfJ9xARorrCpUxDtlRlQeN6EZKMZ/OtBXA9kXO0mIkeDko9GPCfNh6i8DkkZL5G6WEnBOVZpfqSkPzqAKWzqNadKhOQ2oIC+1N79Kph2xwVOH22tafkKD5C5P3IjbkjPHBzK9vmR0c8OnfHnafd0f5Nb7jVC+E1j9m6iEMMsUCWcN3pMlY5ik0eifwZr2n0tK+jl2XNzStXB80LTH/rh0UFCaUs2emJWWBTgO2/hndimvU3fg8eeUtQeOD0690tGiHC3I6PqeyJPsQlAdjYy+j2XB8o2PkZ0tZCMpBTwhQtDvbd3znBJ4nvL1zWBg51fdkwxrWAjrjYtcAksxb/m6O5Bbi6+ES6WXJ6vMFS9cok2i19TzIQ0OhUtpktPCgmjXGkqCDTg58GJa2gxws9T3o0nfF0wTT1uuVwDMLvKXe+Bq1wvTtjhrasmPborCL+s37I4yChKkX/WIKgL2djAh9Cy8yDhkN2rJqvRhsRrDcjRmDP1gtmF9z0WRyUWJ54Ef5jH1mh2KwNXOst+QZx0ze0vQvBt+3RApeIG+PlyqagWar8V+EL5s8JbhnewgLftkc69EURcRoKo1hlnlBbTo2CeTY8c6auy8OAat6UfQunkeWiXCmd6M= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?cHhwNkpSUVBDUXhqNVB0NUFFNStWOFVNU05FT2lMZFBsaE9jaGpQL3ZOSjUz?= =?utf-8?B?V3ZJYmZxenovYi9kck9oaWtyNjMvZkJGdmNHYW5kQXNoM29FU05FVVBCckx3?= =?utf-8?B?eStjK2lsanNobGhhdU80MlZ0ZTliblFZOUhMTlRXelIydWFiNS9JYXorRjcx?= =?utf-8?B?QzJBSFI2YjJDell1Nkg2VDE1SDVzc0FCT1ZkN2NuK3NwWXBCQmJ4d05XWkpW?= =?utf-8?B?OURxQXRUZGIzV3BHcldIVnZlRmJyQzhEYWwwOXJiS0JLTDhzS3BKYzhzOUJQ?= =?utf-8?B?RmNRSmtiRm9vRExpRUlnMElsZXJGNGVWZ0xicWdIcS9mUGp0ZjhyaTg3a0pY?= =?utf-8?B?SWU2YXdwUGd2T2o5VmxmZ2NJcE1Ob2I5RWNrZGJNWnkxN0lBZGc0dXBCb2tI?= =?utf-8?B?L1ptK1YzRkkwYUNOa3ZlaTNtdmJFV2lhWStZZlVDT084NERwelorYmhYQnJZ?= =?utf-8?B?MU56VzRKOFBNTHFrS3ZoczZISWxoZ2pkaWNPSWtSZTAxSkFaMWlPRUh4STZQ?= =?utf-8?B?KzJnU1ZPS3duZHlpRVA3YnZ3RW9TRFRsWkFsYVROK0tRUE1CWUpEMG5uNnVB?= =?utf-8?B?bHdyQVc2YU5vbmtSOGJYTGRPS0JiQ2NwMkpLZ2g4ZjBJazMzVkZFM2ZDMXhs?= =?utf-8?B?a3BUSFRqYjZLTzBkNzlwSUY4WVQzdDJoODh4T3dDdHhZcm01WitlYUVBeUdn?= =?utf-8?B?b2ZKN2pKTmVyYjFCOU1QNzhJblpiM0ZYaUh4dW5jVEdsRkVna2xpZW0rYlVZ?= =?utf-8?B?cnN4ZXF4Y2RtRkVJaXZEZDNBZ01xRkJDNGQrbFE2OE5MSnY4emdOWGU2NHIx?= =?utf-8?B?RGc2TDlDZ0pVUW5lMjZSY3dLUzhjSDVSL2RXekI3QWZkOUlvTW1LWUdOZkVa?= =?utf-8?B?ajJXQjcraWtSdVVzQzV2Sm5OSFRYSjJSdDZ2SFZldDRFclB2NWpjeGNiTlY2?= =?utf-8?B?eUpwVGc5Ym9tQmNIdnRzK0pXdGtCRE96bnBBcDY4bENBckt0ZGJ4ZjJtWmVL?= =?utf-8?B?eDJ3Wjk5Z3FQZEcvQTNRcVBRbXlLdmFLTks4RE9CaG9LZW52dlVNQnhOamtz?= =?utf-8?B?UHpRQlhhL3hmNzlXdDBnVWQrZk5tZUR3NmxEUVBWU3dyRUxoZkxVc1A4ZTEz?= =?utf-8?B?N0M5L3F5M29pT1VuUWErUHVuMlZTZXRReUVZbWcrc1pHN3FtVUhJU2VCVlVT?= =?utf-8?B?eHcrYnF5eVp1S0RScHk1MDJnelY5blFQV3FzK1dTOFdHaVBpc0NYS2QvSFo0?= =?utf-8?B?NURuTElLcWJPTGxLUlZMcFpiMEp3WmxQQUNzWTNVRXEvTW1HaituQmgraE8v?= =?utf-8?B?cUVFaHE3a0psMDZFK0piVkFpL0l0eDdQVlRKdGt6Ymt4TWh0dDBvZDY5YytF?= =?utf-8?B?amsvNStFVjFIek9IYTBLNFpqeExHUzJ0QUd4UzFFYWN1WnJ5UE9sdklBNkgz?= =?utf-8?B?UmtWNVRqaVhsRUE4S1dhMlN5c2pUVmJISE8rOXRaUXhpMjQzclZqY29qaGE5?= =?utf-8?B?ZERqN1FGazdLNW8yN0szNDNPNDBRaG04d0o1L0plRHhKdForNmNwYUF3NUlq?= =?utf-8?B?RVl1L01Dc0N2UjNVU3E2VTdGTjJVdmhnVmo4Z1g0dXlZRitVVjJScDUySU5q?= =?utf-8?B?K0N2V3lSbENXV1lFWk5iYWgxekFVcXNrNmhBUDJQcTJyMElEMFVLZ2NDZTZi?= =?utf-8?B?cFF2bW9ITW5MZUpUUzVacXlZRmxRMGNVTEVxdDJtSlBCQmVzLzZ3b3c4SWsw?= =?utf-8?Q?RhfIeWmTpll0ltmdUw=3D?= X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-e3d53.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: 29225c2b-fbf8-430c-85c1-08dc47a83dd0 X-MS-Exchange-CrossTenant-AuthSource: AM8P250MB0170.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Mar 2024 00:05:10.0761 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4P250MB0462 From: bobwei9@hotmail.com (Bob Weinand) Hey Marc, On 18.3.2024 08:53:01, Marc Bennewitz wrote: > Hi Bob, > > On 17.03.24 14:59, Bob Weinand wrote: >> On 17.3.2024 13:23:04, Marc Bennewitz wrote: >>> Hello internals, >>> >>> I have opened the vote for the "Rounding Integers as int" RFC: >>> https://wiki.php.net/rfc/integer-rounding >>> >>> Do to Easter weekend the vote will run for two weeks and two days >>> until Tue the 2nd of April 2024. >>> >>> Best regards, >>> >>> Marc Bennewitz >> >> Hey Marc, >> >> I've voted no; it should be just changed without any force_float >> parameter. Just always return int when possible (and the input was int). >> If users wish to have the old behaviour, they should just explicitly >> cast via (float). >> >> The effective BC break of that would be quite small if some things >> which return float today now would return int. I cannot imagine many >> cases where this would actually be unwanted. And as said, explicit >> (float) casts are always possible. >> >> I also dislike force_float, as it cannot just be added to a function >> in any code which shall be backwards compatible to 8.3 and older. It >> would just emit Uncaught Error: Unknown named parameter $force_float. > > Changing the return type from float to int is a non trivial quite hard > to find behavior change. > > Imaging code like this: > > $x = 800; > $y = 800; > round($x/$y) === 1.0; > > This will return false instead of true especially because we teach > users to use strict comparison. > Such behavior change should be done in a major version. I see, here we disagree: - Strict comparison should be avoided when working with numbers. Strict comparisons are generally for strings and booleans. - There's no reason to artificially wait years here. > With the additional parameter it's possible to opt-in into the new > behavior already in 8.4 while in PHP 9.0 the default behavior will > change but previously opted in code does not need to get touched again. > > Just changing the behavior means waiting for PHP 9.0 without a way to > opt-in in 8.4 already. If you are not interested in opting in in 8.4 > already you can just ignore the additional argument as this will be > the default in 9.0. I'm not interested in having an additional parameter I have to carry forward for quite some years. > To mimic the previous behavior in a fully BC way it's as simple as > explicitly casting the value to float. I would rather have preferred to see a static analysis solution how often round()ed results are compared strictly, assess the actual BC impact and possibly encourage tools like Rector to recognize such patterns. >> >> Bob >> > Regards, > Marc Bob