/
opt
/
alt
/
php56
/
usr
/
include
/
php
/
Zend
/
/opt/alt/php56/usr/include/php/Zend
mkdir
upload
Name
Size
Mode
Actions
zend.h
26918
0644
edit
dl
rm
zend_alloc.h
12384
0644
edit
dl
rm
zend_API.h
42067
0644
edit
dl
rm
zend_ast.h
2389
0644
edit
dl
rm
zend_build.h
1627
0644
edit
dl
rm
zend_builtin_functions.h
1627
0644
edit
dl
rm
zend_closures.h
1859
0644
edit
dl
rm
zend_compile.h
35384
0644
edit
dl
rm
zend_config.h
107
0644
edit
dl
rm
zend_config.nw.h
2502
0644
edit
dl
rm
zend_config.w32.h
3271
0644
edit
dl
rm
zend_constants.h
6233
0644
edit
dl
rm
zend_dtrace.h
2048
0644
edit
dl
rm
zend_dynamic_array.h
1906
0644
edit
dl
rm
zend_errors.h
2159
0644
edit
dl
rm
zend_exceptions.h
3045
0644
edit
dl
rm
zend_execute.h
14477
0644
edit
dl
rm
zend_extensions.h
4617
0644
edit
dl
rm
zend_float.h
15875
0644
edit
dl
rm
zend_gc.h
7407
0644
edit
dl
rm
zend_generators.h
2666
0644
edit
dl
rm
zend_globals.h
7479
0644
edit
dl
rm
zend_globals_macros.h
3226
0644
edit
dl
rm
zend_hash.h
18195
0644
edit
dl
rm
zend_highlight.h
2419
0644
edit
dl
rm
zend_indent.h
1470
0644
edit
dl
rm
zend_ini.h
10003
0644
edit
dl
rm
zend_ini_parser.h
3298
0644
edit
dl
rm
zend_ini_scanner.h
2003
0644
edit
dl
rm
zend_ini_scanner_defs.h
225
0644
edit
dl
rm
zend_interfaces.h
4044
0644
edit
dl
rm
zend_istdiostream.h
1646
0644
edit
dl
rm
zend_iterators.h
3771
0644
edit
dl
rm
zend_language_parser.h
9085
0644
edit
dl
rm
zend_language_scanner.h
2696
0644
edit
dl
rm
zend_language_scanner_defs.h
297
0644
edit
dl
rm
zend_list.h
5218
0644
edit
dl
rm
zend_llist.h
3977
0644
edit
dl
rm
zend_modules.h
5094
0644
edit
dl
rm
zend_multibyte.h
5105
0644
edit
dl
rm
zend_multiply.h
3746
0644
edit
dl
rm
zend_objects.h
2215
0644
edit
dl
rm
zend_objects_API.h
4387
0644
edit
dl
rm
zend_object_handlers.h
9713
0644
edit
dl
rm
zend_operators.h
32479
0644
edit
dl
rm
zend_ptr_stack.h
4314
0644
edit
dl
rm
zend_qsort.h
1655
0644
edit
dl
rm
zend_signal.h
4084
0644
edit
dl
rm
zend_stack.h
2381
0644
edit
dl
rm
zend_static_allocator.h
1857
0644
edit
dl
rm
zend_stream.h
2950
0644
edit
dl
rm
zend_string.h
2909
0644
edit
dl
rm
zend_strtod.h
1867
0644
edit
dl
rm
zend_ts_hash.h
6941
0644
edit
dl
rm
zend_types.h
2358
0644
edit
dl
rm
zend_variables.h
3850
0644
edit
dl
rm
zend_virtual_cwd.h
12130
0644
edit
dl
rm
zend_vm.h
1422
0644
edit
dl
rm
zend_vm_def.h
166855
0644
edit
dl
rm
zend_vm_execute.h
1388429
0644
edit
dl
rm
zend_vm_opcodes.h
8807
0644
edit
dl
rm
Edit:
/opt/alt/php56/usr/include/php/Zend/zend_multiply.h
(3746B)
/* +----------------------------------------------------------------------+ | Zend Engine | +----------------------------------------------------------------------+ | Copyright (c) 1998-2016 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 <sascha@schumann.cx> | | Ard Biesheuvel <ard.biesheuvel@linaro.org> | +----------------------------------------------------------------------+ */ /* $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 defined(__arm__) && defined(__GNUC__) #define ZEND_SIGNED_MULTIPLY_LONG(a, b, lval, dval, usedval) do { \ long __tmpvar; \ __asm__("smull %0, %1, %2, %3\n" \ "sub %1, %1, %0, asr #31" \ : "=r"(__tmpvar), "=r"(usedval) \ : "r"(a), "r"(b)); \ if (usedval) (dval) = (double) (a) * (double) (b); \ else (lval) = __tmpvar; \ } while (0) #elif defined(__aarch64__) && defined(__GNUC__) #define ZEND_SIGNED_MULTIPLY_LONG(a, b, lval, dval, usedval) do { \ long __tmpvar; \ __asm__("mul %0, %2, %3\n" \ "smulh %1, %2, %3\n" \ "sub %1, %1, %0, asr #63\n" \ : "=X"(__tmpvar), "=X"(usedval) \ : "X"(a), "X"(b)); \ 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
Save
cmd:
run