/opt/alt/php54/usr/include/php/Zend
NameSizeModeActions
zend.h263910644editdlrm
zend_alloc.h120140644editdlrm
zend_API.h415730644editdlrm
zend_build.h16270644editdlrm
zend_builtin_functions.h16270644editdlrm
zend_closures.h19010644editdlrm
zend_compile.h330490644editdlrm
zend_config.h1070644editdlrm
zend_config.nw.h25020644editdlrm
zend_config.w32.h30700644editdlrm
zend_constants.h51010644editdlrm
zend_dtrace.h19930644editdlrm
zend_dynamic_array.h19060644editdlrm
zend_errors.h21590644editdlrm
zend_exceptions.h30210644editdlrm
zend_execute.h149340644editdlrm
zend_extensions.h46080644editdlrm
zend_float.h156570644editdlrm
zend_gc.h74070644editdlrm
zend_globals.h73380644editdlrm
zend_globals_macros.h32260644editdlrm
zend_hash.h175070644editdlrm
zend_highlight.h24190644editdlrm
zend_indent.h14700644editdlrm
zend_ini.h100030644editdlrm
zend_ini_parser.h31580644editdlrm
zend_ini_scanner.h19510644editdlrm
zend_ini_scanner_defs.h2540644editdlrm
zend_interfaces.h40830644editdlrm
zend_istdiostream.h16460644editdlrm
zend_iterators.h36930644editdlrm
zend_language_parser.h85790644editdlrm
zend_language_scanner.h25730644editdlrm
zend_language_scanner_defs.h3260644editdlrm
zend_list.h52180644editdlrm
zend_llist.h39770644editdlrm
zend_modules.h50940644editdlrm
zend_multibyte.h51050644editdlrm
zend_multiply.h29100644editdlrm
zend_objects.h22150644editdlrm
zend_objects_API.h43870644editdlrm
zend_object_handlers.h94190644editdlrm
zend_operators.h293040644editdlrm
zend_ptr_stack.h42030644editdlrm
zend_qsort.h14620644editdlrm
zend_signal.h40840644editdlrm
zend_stack.h23810644editdlrm
zend_static_allocator.h18570644editdlrm
zend_stream.h29500644editdlrm
zend_string.h23860644editdlrm
zend_strtod.h18670644editdlrm
zend_ts_hash.h70250644editdlrm
zend_types.h23240644editdlrm
zend_variables.h38500644editdlrm
zend_vm.h13880644editdlrm
zend_vm_def.h1525160644editdlrm
zend_vm_execute.h12392000644editdlrm
zend_vm_opcodes.h83320644editdlrm
Edit: /opt/alt/php54/usr/include/php/Zend/zend_multiply.h (2910B)
/* +----------------------------------------------------------------------+ | Zend Engine | +----------------------------------------------------------------------+ | Copyright (c) 1998-2014 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: Sascha Schumann | | Ard Biesheuvel | +----------------------------------------------------------------------+ */ /* $Id$ */ #if defined(__i386__) && defined(__GNUC__) #define ZEND_SIGNED_MULTIPLY_LONG(a, b, lval, dval, usedval) do { \ long __tmpvar; \ __asm__ ("imul %3,%0\n" \ "adc $0,%1" \ : "=r"(__tmpvar),"=r"(usedval) \ : "0"(a), "r"(b), "1"(0)); \ if (usedval) (dval) = (double) (a) * (double) (b); \ else (lval) = __tmpvar; \ } while (0) #elif defined(__x86_64__) && defined(__GNUC__) #define ZEND_SIGNED_MULTIPLY_LONG(a, b, lval, dval, usedval) do { \ long __tmpvar; \ __asm__ ("imul %3,%0\n" \ "adc $0,%1" \ : "=r"(__tmpvar),"=r"(usedval) \ : "0"(a), "r"(b), "1"(0)); \ if (usedval) (dval) = (double) (a) * (double) (b); \ else (lval) = __tmpvar; \ } while (0) #elif SIZEOF_LONG == 4 && defined(HAVE_ZEND_LONG64) #define ZEND_SIGNED_MULTIPLY_LONG(a, b, lval, dval, usedval) do { \ zend_long64 __result = (zend_long64) (a) * (zend_long64) (b); \ if (__result > LONG_MAX || __result < LONG_MIN) { \ (dval) = (double) __result; \ (usedval) = 1; \ } else { \ (lval) = (long) __result; \ (usedval) = 0; \ } \ } while (0) #else #define ZEND_SIGNED_MULTIPLY_LONG(a, b, lval, dval, usedval) do { \ long __lres = (a) * (b); \ long double __dres = (long double)(a) * (long double)(b); \ long double __delta = (long double) __lres - __dres; \ if ( ((usedval) = (( __dres + __delta ) != __dres))) { \ (dval) = __dres; \ } else { \ (lval) = __lres; \ } \ } while (0) #endif