1 /* 2 +----------------------------------------------------------------------+ 3 | Zend Engine | 4 +----------------------------------------------------------------------+ 5 | Copyright (c) 1998-2014 Zend Technologies Ltd. (http://www.zend.com) | 6 +----------------------------------------------------------------------+ 7 | This source file is subject to version 2.00 of the Zend license, | 8 | that is bundled with this package in the file LICENSE, and is | 9 | available through the world-wide-web at the following url: | 10 | http://www.zend.com/license/2_00.txt. | 11 | If you did not receive a copy of the Zend license and are unable to | 12 | obtain it through the world-wide-web, please send a note to | 13 | license@zend.com so we can mail you a copy immediately. | 14 +----------------------------------------------------------------------+ 15 | Authors: Christian Seiler <chris_se@gmx.net> | 16 +----------------------------------------------------------------------+ 17 */ 18 19 /* $Id$ */ 20 21 #include "zend.h" 22 #include "zend_compile.h" 23 #include "zend_float.h" 24 zend_init_fpu(TSRMLS_D)25ZEND_API void zend_init_fpu(TSRMLS_D) /* {{{ */ 26 { 27 #if XPFPA_HAVE_CW 28 XPFPA_DECLARE 29 30 if (!EG(saved_fpu_cw_ptr)) { 31 EG(saved_fpu_cw_ptr) = (void*)&EG(saved_fpu_cw); 32 } 33 XPFPA_STORE_CW(EG(saved_fpu_cw_ptr)); 34 XPFPA_SWITCH_DOUBLE(); 35 #else 36 EG(saved_fpu_cw_ptr) = NULL; 37 #endif 38 } 39 /* }}} */ 40 zend_shutdown_fpu(TSRMLS_D)41ZEND_API void zend_shutdown_fpu(TSRMLS_D) /* {{{ */ 42 { 43 #if XPFPA_HAVE_CW 44 if (EG(saved_fpu_cw_ptr)) { 45 XPFPA_RESTORE_CW(EG(saved_fpu_cw_ptr)); 46 } 47 #endif 48 EG(saved_fpu_cw_ptr) = NULL; 49 } 50 /* }}} */ 51 zend_ensure_fpu_mode(TSRMLS_D)52ZEND_API void zend_ensure_fpu_mode(TSRMLS_D) /* {{{ */ 53 { 54 XPFPA_DECLARE 55 56 XPFPA_SWITCH_DOUBLE(); 57 } 58 /* }}} */ 59