Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:122771 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 11BB31A009C for ; Wed, 27 Mar 2024 06:34:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1711521319; bh=pRPDmCwsXpcelr8Q2ecIGq8Dwx/cSpHBqt3a6AAILko=; h=Date:Subject:To:References:From:In-Reply-To:From; b=Qa0UukSE8TDvUw988VpNykxa1r2wsrQZDeUni9E/u6FdCPDHuenGnHJ148TS/jRmz f0x24/O+GmR7oUBX6ousQq4v6pTP3FyiqBnOps7+00zxf8bJuyDL4CPVY8gvAt8FI/ 32+5xX50gPbFWzjs9Ggn/FEmPSkzMtf+LCCIyuYh5Mca27qWCfn5N/GL8GERPXt0go y4iJuuBpzqdNo8pb/bjnwijtRs36G83WBSLn3NFCnFlWwx7angsELPnPfDglnqocgy Me28P/RrU6XnVOKfJuDuZP2y3NuaQtrArFT34vHrdH3qLhYhhhwpRIPFbRdtC16hl/ aAlv0mOO554Yw== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 684DC180047 for ; Wed, 27 Mar 2024 06:35:16 +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=BAYES_50,DKIM_SIGNED, DKIM_VALID,DMARC_MISSING,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=4.0.0 X-Spam-Virus: No X-Envelope-From: Received: from mx.kolabnow.com (mx.kolabnow.com [212.103.80.154]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Wed, 27 Mar 2024 06:35:15 +0000 (UTC) Received: from localhost (unknown [127.0.0.1]) by mx.kolabnow.com (Postfix) with ESMTP id 79765308B447 for ; Wed, 27 Mar 2024 07:34:48 +0100 (CET) Authentication-Results: ext-mx-out013.mykolab.com (amavis); dkim=pass (4096-bit key) reason="pass (just generated, assumed good)" header.d=kolabnow.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kolabnow.com; h= content-transfer-encoding:content-type:content-type:in-reply-to :from:from:content-language:references:subject:subject :mime-version:date:date:message-id:received:received:received; s=dkim20160331; t=1711521285; x=1713335686; bh=TUGou3nWX1real1M EGp1v0t/83NAz72COvvfrMzCC7U=; b=kX9HIupeBwJBEXfE7BgWdqM4Wb03fu0s ZyjqSpNTvCFxCNRkepBRMemyNtQ97f6d+j5J9223XUb/0paRY9oSpv6yybhkpuWg +KI75zbFdZ51Qdql4VqyR2kXe1Q1rfwVN6zaXVRX7FFEPhEDK+ZmxC9vHphO2jHE W3RZqky1ehNSoqhhDtCGNfRqNCjm4AG0NaHDqFOHlZH0E1/UF9v2EEUv6WUMdD+k CFy7U63P8/fN9YSVV5IowHi69J6MohSHJiNecCuQqo8uKI/DAIMc4yOSswbIv+F9 jaP8k7V8foKGOxBCZPr1ilkv/MAVBRA8SCd+JCYQ70SlfUhuEIw78OVVluiCNc/9 nYoyamPzNtwSqfUHn03ryuOTrJRHR/K7rBCgjtBZBTs9TVm3PImjPZZ/nxLhh/sb WZrgsotVMBIHPilRJtH+ERpXkl3qOUBm/9DlAGKBijZ+HDrL+gs85XWkBB5NTlYL CRj17g495v4Gvp6R71FhWsB60/92mRPM2QYhUyjF6yra7Go60Dg6jyBQnY4P2liZ 9M6fb537MGAQTi/Mq9QJ1/x2b1KGbfO4A0cqUFOtFPvFQNzZOKdlSh2xNccgKWSQ qsanV3DlEu8I+LLYpQdMHmCIXZ02vR5WV2ITk1sMrIgoaz4PA/HiDpNBhMsx+fyP 7GEgdHBBPLs= X-Virus-Scanned: amavis at mykolab.com Received: from mx.kolabnow.com ([127.0.0.1]) by localhost (ext-mx-out013.mykolab.com [127.0.0.1]) (amavis, port 10024) with ESMTP id Rj6UuSbU43nU for ; Wed, 27 Mar 2024 07:34:45 +0100 (CET) Received: from int-mx009.mykolab.com (unknown [10.9.13.9]) by mx.kolabnow.com (Postfix) with ESMTPS id 994DA3085BFF for ; Wed, 27 Mar 2024 07:34:45 +0100 (CET) Received: from ext-subm010.mykolab.com (unknown [10.9.6.10]) by int-mx009.mykolab.com (Postfix) with ESMTPS id DBEC220D6ACF for ; Wed, 27 Mar 2024 07:34:44 +0100 (CET) Message-ID: <11f6db0b-7889-49e7-9042-9f70efad84da@alec.pl> Date: Wed, 27 Mar 2024 07:34:44 +0100 Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net MIME-Version: 1.0 Subject: Re: [PHP-DEV] [RFC] [Discussion] Support object type in BCMath To: internals@lists.php.net References: <4F094EDA-5058-407D-AF39-06FD934FDE1F@sakiot.com> <23c22396-4389-405a-ab24-b66070f58c01@alec.pl> <9094EA74-584A-45EF-A887-5776F132C4BF@sakiot.com> Content-Language: en-US Autocrypt: addr=alec@alec.pl; keydata= xsBNBEy9TtkBCAC4ef0IJaqTDQNQZ5CPrHvNs5kcACvtffwydrTcRJ28dHwjZD8daSxfVYEo acyARevTOvsp36Vgq8Yt7ATu6y7MPBaPj9Lq0kwX7HM8QDn8jTfufAgMjxcw5bD+JNR5+8G9 hUF3F35gVuAd471hS+QB/Ug/PezcNx9H5yFUMuvrO3ybyIDhw5qJI2RoJMjMr5DPKUG7z810 1e/NW7y9FfHq+Ony7A70w+vcfv1L+LLX5gfrpKI3m0zKm7cj1vyxZfC9RijIzWZN3GgExexI KJdbkcg9F/zigKo72TJhgvjy6YZP03HmWZVcpsd3aIT3Tweg0cCivaKVBNcFR1oda6XvABEB AAHNFkEuTC5FLkMgPGFsZWNAYWxlYy5wbD7CwHsEEwECACUCGyMGCwkIBwMCBhUIAgkKCwQW AgMBAh4BAheABQJMvVAwAhkBAAoJEL7mdKAZNZ3BEhkH/1eAuCOSXsWg8YwZzmABoKKZfNpJ Z3QTwAMxXyCPjJMwLMLHsrVO+VbGupFcIW/q/3bvt1r8LwPB73rg0TFiHoYzeQzdnOVYFW7w OYz9BDVjLE4goDk6xN5Nj1CpBMXzQFdr3HVKyuRK1CLd9p13CofiBlLsQ4JqtosnlvSCEjTL yIajACU3kY2je1e58N5VHzZ+VMeg2xbuQJ3q1iTkYggZ+xRC1muw4Xgt2vxgfWjn7u3dmjYM T3H2WFprLZwliejHgzhWdYABdyCU5VuGCLOV+xk2UCADya0hvVVIezA/4YG3w01yjsljRrKy HFJUqw+MqagA6dsfflZSvmROKMbOwE0ETL1O2QEIANHbid+rMQ/IX0/UyVtnLWunDEg6Yl2B twHTecZ4Ym3tBxc1sbPDoYpY0DZ86gYi9DCbolrdjnrRK9ldYItVJ8rJUkEIDz/2yhjcr3s3 p2SyI94bocoG0WW+VRlssJMxTB2ihblihkY5HqT+9PgOFxnpSqz1ksTaI3JOVcokidhoB7MJ muyb28rNtZCJP7upRUwBSoZfHiL83w3Ad1Fn49QVO7kshH11lNyJ9jB17BTl1I0sj7RPqAor JcMxsSOJXW71ZcipXWym+GacY/qziQw7bT9CQYSmr4SiRV7GahD91enDkdv+pUAnb8NEifQ1 LT26XcL6Ng9EbG5AT4qI46kAEQEAAcLAXwQYAQIACQUCTL1O2QIbDAAKCRC+5nSgGTWdwe2T CACaux3lHitD8IIO5fy6RxPqym6vMlKiN0IyilahtJ0A2htNqwbFb6TukpzKw04DGSPEOGPa o4hdsLtQtqAPwqrR+FGJDc6V/jD0rPjThC3NcvkJuoi622ZLCsi8TAL5kBmF2NYd7ejszB31 5EzvpXSeES8+9pv6yshzUborEg9QKhPxW0yvrdj2OwFUlRr6/jLpKmMLzSx5F0yEg10urvfe 9Sttk5TVzHycOa1nKSzj79F1jXTl/mji/i082s1nlwb8d6LNVrm0e1tGMxSk/WpghFVVSm4O MvUvMkEEDkwGsm+mPcmX4UPcvq/wU3hGhDeVlpkfVTJQGvDbEUzTXbz6 In-Reply-To: <9094EA74-584A-45EF-A887-5776F132C4BF@sakiot.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit From: alec@alec.pl (Aleksander Machniak) On 27.03.2024 01:36, Saki Takamachi wrote: > On the other hand, if allow the calculation method to specify a scale, we can write it like this: > ``` > $num = new Number('1.23'); > $num2 = new Number('4.56'); > > $result = $num->add($num2, 4); > $result->value; // '5.7900' > $result->scale; // 4 > ``` > > It's just one less line, but that's the only reason to support the `$scale` argument. If you write it as: $result = $num->withScale(4)->add($num2); it's not an extra line anymore. I also think that withScale() use will be rare, as we have the scale in constructor. I think the intention is more clear here, and I think it applies to all cases you mentioned, including div or pow. If you know you need to change the scale just add ->withScale(X) before. -- Aleksander Machniak Kolab Groupware Developer [https://kolab.org] Roundcube Webmail Developer [https://roundcube.net] ---------------------------------------------------- PGP: 19359DC1 # Blog: https://kolabian.wordpress.com