]> granicus.if.org Git - php/commitdiff
Forgotten file (sorry)
authorDmitry Stogov <dmitry@php.net>
Wed, 18 Mar 2009 11:53:10 +0000 (11:53 +0000)
committerDmitry Stogov <dmitry@php.net>
Wed, 18 Mar 2009 11:53:10 +0000 (11:53 +0000)
Zend/zend_float.c [new file with mode: 0644]

diff --git a/Zend/zend_float.c b/Zend/zend_float.c
new file mode 100644 (file)
index 0000000..0928fe1
--- /dev/null
@@ -0,0 +1,64 @@
+/*
+   +----------------------------------------------------------------------+
+   | Zend Engine                                                          |
+   +----------------------------------------------------------------------+
+   | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+   +----------------------------------------------------------------------+
+   | This source file is subject to version 2.00 of the Zend license,     |
+   | that is bundled with this package in the file LICENSE, and is        | 
+   | available through the world-wide-web at the following url:           |
+   | http://www.zend.com/license/2_00.txt.                                |
+   | If you did not receive a copy of the Zend license and are unable to  |
+   | obtain it through the world-wide-web, please send a note to          |
+   | license@zend.com so we can mail you a copy immediately.              |
+   +----------------------------------------------------------------------+
+   | Authors: Christian Seiler <chris_se@gmx.net>                         |
+   +----------------------------------------------------------------------+
+*/
+
+/* $Id$ */
+
+#include "zend.h"
+#include "zend_compile.h"
+#include "zend_float.h"
+
+ZEND_API void zend_init_fpu(TSRMLS_D) /* {{{ */
+{
+#if XPFPA_HAVE_CW
+       XPFPA_DECLARE
+       
+       if (!EG(saved_fpu_cw)) {
+               EG(saved_fpu_cw) = emalloc(sizeof(XPFPA_CW_DATATYPE));
+       }
+       XPFPA_STORE_CW(EG(saved_fpu_cw));
+       XPFPA_SWITCH_DOUBLE();
+#else
+       if (EG(saved_fpu_cw)) {
+               efree(EG(saved_fpu_cw));
+       }
+       EG(saved_fpu_cw) = NULL;
+#endif
+}
+/* }}} */
+
+ZEND_API void zend_shutdown_fpu(TSRMLS_D) /* {{{ */
+{
+#if XPFPA_HAVE_CW
+       if (EG(saved_fpu_cw)) {
+               XPFPA_RESTORE_CW(EG(saved_fpu_cw));
+       }
+#endif
+       if (EG(saved_fpu_cw)) {
+               efree(EG(saved_fpu_cw));
+               EG(saved_fpu_cw) = NULL;
+       }
+}
+/* }}} */
+
+ZEND_API void zend_ensure_fpu_mode(TSRMLS_D) /* {{{ */
+{
+       XPFPA_DECLARE
+       
+       XPFPA_SWITCH_DOUBLE();
+}
+/* }}} */