Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:70916 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 10145 invoked from network); 30 Dec 2013 10:03:22 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 30 Dec 2013 10:03:22 -0000 Authentication-Results: pb1.pair.com smtp.mail=yohgaki@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=yohgaki@gmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.215.44 as permitted sender) X-PHP-List-Original-Sender: yohgaki@gmail.com X-Host-Fingerprint: 209.85.215.44 mail-la0-f44.google.com Received: from [209.85.215.44] ([209.85.215.44:41728] helo=mail-la0-f44.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 39/90-06988-8E441C25 for ; Mon, 30 Dec 2013 05:03:21 -0500 Received: by mail-la0-f44.google.com with SMTP id ep20so5495830lab.3 for ; Mon, 30 Dec 2013 02:03:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc:content-type; bh=vFBiJGNVK7o2XQQV+kh1Nmp8fDZDzylMPnWag+xvMgY=; b=hX+MvKaSytsV9ybUqAMcaRV3BG4UKAPnkU8id59VJ3Bwh3KYt+YaHFh6FrsPX0O3Aj YlwUYoM5Lh3GduRpcB1SIPwJH09wv59YYn/Ns1hEP1sEjd5PMhessl70yiKBVPzcX8cB 44ZBeDenKzA8YmodsIvhQNWZBjB3dlnSb0OpQAe7YzWdi1vVhu8X33piKUoJXiXecAla 1bQB+nIavNm30scvrFvftow+54sS+lXywsOwKmwR8mxj4dC2GS3B3Fps9S9PO7llL1CW fQuu26o+nxNBHISsJG/dhafPHkWTXhIgripHnCOxmVUxvu7XJ4TwuWdr6k1jU075Juvm zCbw== X-Received: by 10.112.168.131 with SMTP id zw3mr51772lbb.85.1388397797153; Mon, 30 Dec 2013 02:03:17 -0800 (PST) MIME-Version: 1.0 Sender: yohgaki@gmail.com Received: by 10.112.6.68 with HTTP; Mon, 30 Dec 2013 02:02:36 -0800 (PST) In-Reply-To: References: Date: Mon, 30 Dec 2013 19:02:36 +0900 X-Google-Sender-Auth: SlUvSLQUOA2zfjYHjXrA8XpgSWU Message-ID: To: Tjerk Meesters Cc: "internals@lists.php.net" Content-Type: multipart/alternative; boundary=001a11c344e281a07904eebd8d68 Subject: Re: [PHP-DEV] Re: GMP and empty() From: yohgaki@ohgaki.net (Yasuo Ohgaki) --001a11c344e281a07904eebd8d68 Content-Type: text/plain; charset=UTF-8 On Mon, Dec 30, 2013 at 6:47 PM, Yasuo Ohgaki wrote: > And I was expecting > > [yohgaki@dev php-src]$ ./php-bin -d error_reporting=-1 -r > '$f=2.2;$v=gmp_init($f); var_dump($v);' > > Warning: gmp_init(): Unable to convert variable to GMP - wrong type in > Command line code on line 1 > bool(false) > > this kind of behavior for literal, too. ;) > > Why is PHP not raising error for float literal? > ZEND_FUNCTION(gmp_init) { zval *number_arg; mpz_ptr gmpnumber; long base = 0; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z|l", &number_arg, &base) == FAILURE) { return; } if (base && (base < 2 || base > MAX_BASE)) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "Bad base for conversion: %ld (should be between 2 and %d)", base, MAX_BASE); RETURN_FALSE; } INIT_GMP_RETVAL(gmpnumber); if (convert_to_gmp(gmpnumber, number_arg, base TSRMLS_CC) == FAILURE) { zval_dtor(return_value); RETURN_FALSE; } } Apparently, we need type check and/or float support in GMP. Are there any technical reasons not to support GMP float? https://gmplib.org/manual/Initializing-Floats.html#Initializing-Floats -- Yasuo Ohgaki yohgaki@ohgaki.net --001a11c344e281a07904eebd8d68--