Changes in / [25a1cb0:8d8ac3b]
- Files:
-
- 10 added
- 32 deleted
- 69 edited
-
.gitignore (modified) (1 diff)
-
Makefile.am (modified) (3 diffs)
-
benchmark/Makefile.am (modified) (3 diffs)
-
configure.ac (modified) (4 diffs)
-
libcfa/Makefile.dist.am (deleted)
-
libcfa/prelude/Makefile.am (modified) (1 diff)
-
libcfa/src/Makefile.am (modified) (4 diffs)
-
libcfa/src/bitmanip.hfa (modified) (3 diffs)
-
libcfa/src/bits/defs.hfa (modified) (3 diffs)
-
libcfa/src/concurrency/CtxSwitch-arm.S (added)
-
libcfa/src/concurrency/CtxSwitch-arm32.S (deleted)
-
libcfa/src/concurrency/CtxSwitch-arm64.S (deleted)
-
libcfa/src/concurrency/asyncio.hfa (added)
-
libcfa/src/concurrency/coroutine.cfa (modified) (1 diff)
-
libcfa/src/concurrency/exception.cfa (deleted)
-
libcfa/src/concurrency/exception.hfa (deleted)
-
libcfa/src/concurrency/invoke.c (modified) (2 diffs)
-
libcfa/src/concurrency/invoke.h (modified) (1 diff)
-
libcfa/src/concurrency/io/setup.cfa (modified) (1 diff)
-
libcfa/src/concurrency/kernel.cfa (modified) (3 diffs)
-
libcfa/src/concurrency/kernel/startup.cfa (modified) (4 diffs)
-
libcfa/src/concurrency/preemption.cfa (modified) (2 diffs)
-
libcfa/src/concurrency/ready_queue.cfa (modified) (11 diffs)
-
libcfa/src/exception.c (modified) (7 diffs)
-
libcfa/src/heap.cfa (modified) (3 diffs)
-
libcfa/src/iostream.cfa (modified) (3 diffs)
-
libcfa/src/math.hfa (modified) (2 diffs)
-
libcfa/src/stdlib.hfa (modified) (1 diff)
-
src/AST/Convert.cpp (modified) (2 diffs)
-
src/AST/Copy.hpp (modified) (1 diff)
-
src/AST/Expr.hpp (modified) (1 diff)
-
src/AST/Pass.hpp (modified) (1 diff)
-
src/AST/Pass.impl.hpp (modified) (10 diffs)
-
src/AST/Pass.proto.hpp (modified) (1 diff)
-
src/AST/Print.cpp (modified) (2 diffs)
-
src/AST/TypeSubstitution.hpp (modified) (3 diffs)
-
src/AST/module.mk (modified) (1 diff)
-
src/CodeGen/module.mk (modified) (1 diff)
-
src/CodeTools/module.mk (modified) (1 diff)
-
src/Common/module.mk (modified) (1 diff)
-
src/Concurrency/module.mk (modified) (1 diff)
-
src/ControlStruct/module.mk (modified) (1 diff)
-
src/GenPoly/module.mk (modified) (1 diff)
-
src/InitTweak/module.mk (modified) (1 diff)
-
src/Makefile.am (modified) (2 diffs)
-
src/Parser/module.mk (modified) (1 diff)
-
src/ResolvExpr/CandidateFinder.cpp (modified) (1 diff)
-
src/ResolvExpr/Unify.cc (modified) (3 diffs)
-
src/ResolvExpr/module.mk (modified) (2 diffs)
-
src/SymTab/module.mk (modified) (1 diff)
-
src/SynTree/Expression.cc (modified) (3 diffs)
-
src/SynTree/Expression.h (modified) (1 diff)
-
src/SynTree/module.mk (modified) (3 diffs)
-
src/Tuples/module.mk (modified) (1 diff)
-
src/Validate/module.mk (modified) (1 diff)
-
src/Virtual/module.mk (modified) (1 diff)
-
tests/.expect/abs.arm64.txt (deleted)
-
tests/.expect/abs.txt (added)
-
tests/.expect/abs.x64.txt (deleted)
-
tests/.expect/abs.x86.txt (deleted)
-
tests/.expect/ato.arm64.txt (deleted)
-
tests/.expect/ato.txt (added)
-
tests/.expect/ato.x64.txt (deleted)
-
tests/.expect/ato.x86.txt (deleted)
-
tests/.expect/bitmanip3.x64.txt (modified) (2 diffs)
-
tests/.expect/bitmanip3.x86.txt (modified) (2 diffs)
-
tests/.expect/castError.txt (modified) (7 diffs)
-
tests/.expect/init1.txt (modified) (6 diffs)
-
tests/.expect/manipulatorsOutput1.arm64.txt (deleted)
-
tests/.expect/manipulatorsOutput1.txt (added)
-
tests/.expect/manipulatorsOutput1.x64.txt (deleted)
-
tests/.expect/manipulatorsOutput1.x86.txt (deleted)
-
tests/.expect/math1.arm64.txt (deleted)
-
tests/.expect/math1.txt (added)
-
tests/.expect/math1.x64.txt (deleted)
-
tests/.expect/math1.x86.txt (deleted)
-
tests/.expect/math2.arm64.txt (deleted)
-
tests/.expect/math2.txt (added)
-
tests/.expect/math2.x64.txt (deleted)
-
tests/.expect/math2.x86.txt (deleted)
-
tests/.expect/math3.arm64.txt (deleted)
-
tests/.expect/math3.txt (added)
-
tests/.expect/math3.x64.txt (deleted)
-
tests/.expect/math3.x86.txt (deleted)
-
tests/.expect/math4.txt (added)
-
tests/.expect/math4.x64.txt (deleted)
-
tests/.expect/math4.x86.txt (deleted)
-
tests/.expect/random.arm64.txt (deleted)
-
tests/.expect/random.txt (added)
-
tests/.expect/random.x64.txt (deleted)
-
tests/.expect/random.x86.txt (deleted)
-
tests/Makefile.am (modified) (1 diff)
-
tests/alloc.cfa (modified) (22 diffs)
-
tests/alloc2.cfa (deleted)
-
tests/bitmanip3.cfa (modified) (21 diffs)
-
tests/concurrent/.expect/cluster.txt (deleted)
-
tests/concurrent/cluster.cfa (deleted)
-
tests/copyfile.cfa (modified) (2 diffs)
-
tests/errors/.expect/completeType.x64.txt (modified) (4 diffs)
-
tests/exceptions/polymorphic.cfa (modified) (1 diff)
-
tests/literals.cfa (modified) (3 diffs)
-
tests/malloc.cfa (deleted)
-
tests/math4.cfa (modified) (4 diffs)
-
tests/pybin/settings.py (modified) (1 diff)
-
tests/pybin/tools.py (modified) (1 diff)
-
tests/raii/.expect/ctor-autogen-ERR1.txt (modified) (4 diffs)
-
tests/test.py (modified) (1 diff)
-
tests/warnings/.expect/self-assignment.txt (modified) (3 diffs)
-
tools/Makefile.am (modified) (1 diff)
-
tools/build/cfa.m4 (modified) (2 diffs)
-
tools/prettyprinter/Makefile.am (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
.gitignore
r25a1cb0 r8d8ac3b 18 18 **/Makefile 19 19 **/Makefile.in 20 **/Makefile.dist.in21 20 /version 22 21 -
Makefile.am
r25a1cb0 r8d8ac3b 21 21 22 22 SUBDIRS = driver src . @LIBCFA_TARGET_DIRS@ 23 DIST_SUBDIRS = driver src . libcfa benchmark longrun_tests tests tools tools/prettyprinter24 23 25 24 @LIBCFA_TARGET_MAKEFILES@ : Makefile $(srcdir)/libcfa/configure … … 27 26 @ls $(config_file) || (echo "Missing config.data, re-run configure script again" && false) 28 27 @$(eval config_data = $(shell cat $(config_file))) 29 @echo "Configuring libcfa ($(abs_top_srcdir)/libcfa/configure) with '$(config_data)' from $(shell pwd) / $(dir $@)"28 @echo "Configuring libcfa with '$(config_data)''" 30 29 @cd $(dir $@) && $(abs_top_srcdir)/libcfa/configure $(config_data) 31 30 … … 33 32 34 33 man1_MANS = doc/man/cfa.1 35 36 EXTRA_DIST = LICENSE doc/man/cfa.1 libcfa/configure libcfa/Makefile.dist.am libcfa/Makefile.dist.in37 34 38 35 debug=yes -
benchmark/Makefile.am
r25a1cb0 r8d8ac3b 66 66 # Dummy hack tricks 67 67 EXTRA_PROGRAMS = dummy # build but do not install 68 nodist_dummy_SOURCES = dummyC.c dummyCXX.cpp68 dummy_SOURCES = dummyC.c dummyCXX.cpp 69 69 70 70 dummyC.c: … … 80 80 ## ========================================================================================================= 81 81 82 # all is used by make dist so ignore it 83 all: 84 85 all-bench : basic$(EXEEXT) ctxswitch$(EXEEXT) mutex$(EXEEXT) schedint$(EXEEXT) schedext$(EXEEXT) creation$(EXEEXT) 82 all : basic$(EXEEXT) ctxswitch$(EXEEXT) mutex$(EXEEXT) schedint$(EXEEXT) schedext$(EXEEXT) creation$(EXEEXT) 86 83 87 84 basic_loop_DURATION = 15000000000 … … 479 476 ## ========================================================================================================= 480 477 481 bcompile$(EXEEXT) : \478 compile$(EXEEXT) : \ 482 479 compile-array.make \ 483 480 compile-attributes.make \ -
configure.ac
r25a1cb0 r8d8ac3b 137 137 \'--enable-gprofiler=*) ;; 138 138 \'--disable-gprofiler) ;; 139 140 # skip this, it only causes problems141 \'--srcdir=*) ;;142 139 143 140 # append all other arguments to the sub configure arguments … … 205 202 206 203 LIBCFA_TARGET_DIRS="${LIBCFA_TARGET_DIRS} ${lib_dir}" 207 LIBCFA_1TARGET_DIR="${lib_dir}"208 204 LIBCFA_TARGET_MAKEFILES="${LIBCFA_TARGET_MAKEFILES} ${lib_dir}/Makefile" 209 205 … … 217 213 218 214 AC_SUBST(LIBCFA_TARGET_DIRS) 219 AC_SUBST(LIBCFA_1TARGET_DIR)220 215 AC_SUBST(LIBCFA_TARGET_MAKEFILES) 221 216 … … 283 278 driver/Makefile 284 279 src/Makefile 285 libcfa/Makefile:libcfa/Makefile.dist.in280 benchmark/Makefile 286 281 tests/Makefile 287 282 longrun_tests/Makefile 288 benchmark/Makefile289 283 tools/Makefile 290 284 tools/prettyprinter/Makefile -
libcfa/prelude/Makefile.am
r25a1cb0 r8d8ac3b 22 22 cfalibdir = ${CFA_LIBDIR} 23 23 cfalib_DATA = gcc-builtins.cf builtins.cf extras.cf prelude.cfa bootloader.c defines.hfa 24 25 EXTRA_DIST = bootloader.cf builtins.c builtins.def extras.c extras.regx extras.regx2 prelude-gen.cc prototypes.awk prototypes.c prototypes.sed sync-builtins.cf26 24 27 25 CC = @LOCAL_CFACC@ -
libcfa/src/Makefile.am
r25a1cb0 r8d8ac3b 31 31 # AM_CFAFLAGS for only cfa source 32 32 # use -no-include-stdhdr to prevent rebuild cycles 33 # The built sources must not depend on the installed inst_headers_src34 AM_CFAFLAGS = -quiet -cfalib -I$(srcdir)/stdhdr -I$(srcdir)/concurrency$(if $(findstring ${gdbwaittarget}, ${@}), -XCFA --gdb) @CONFIG_CFAFLAGS@33 # The built sources must not depend on the installed headers 34 AM_CFAFLAGS = -quiet -cfalib -I$(srcdir)/stdhdr $(if $(findstring ${gdbwaittarget}, ${@}), -XCFA --gdb) @CONFIG_CFAFLAGS@ 35 35 AM_CFLAGS = -g -Wall -Wno-unused-function -fPIC -fexceptions -pthread @ARCH_FLAGS@ @CONFIG_CFLAGS@ 36 36 AM_CCASFLAGS = -g -Wall -Wno-unused-function @ARCH_FLAGS@ @CONFIG_CFLAGS@ … … 39 39 #---------------------------------------------------------------------------------------------------------------- 40 40 if BUILDLIB 41 inst_headers_nosrc = \ 42 bitmanip.hfa \ 43 clock.hfa \ 44 exception.hfa \ 45 gmp.hfa \ 46 math.hfa \ 47 time_t.hfa \ 48 bits/align.hfa \ 49 bits/containers.hfa \ 50 bits/debug.hfa \ 51 bits/defs.hfa \ 52 bits/locks.hfa \ 53 concurrency/iofwd.hfa \ 54 containers/list.hfa \ 55 containers/stackLockFree.hfa 41 headers_nosrc = bitmanip.hfa exception.hfa math.hfa gmp.hfa time_t.hfa clock.hfa \ 42 bits/align.hfa bits/containers.hfa bits/defs.hfa bits/debug.hfa bits/locks.hfa \ 43 containers/list.hfa containers/stackLockFree.hfa concurrency/iofwd.hfa 56 44 57 inst_headers_src = \ 58 common.hfa \ 59 fstream.hfa \ 60 heap.hfa \ 61 iostream.hfa \ 62 iterator.hfa \ 63 limits.hfa \ 64 parseargs.hfa \ 65 rational.hfa \ 66 stdlib.hfa \ 67 time.hfa \ 68 containers/maybe.hfa \ 69 containers/pair.hfa \ 70 containers/result.hfa \ 71 containers/vector.hfa 45 headers = common.hfa fstream.hfa heap.hfa iostream.hfa iterator.hfa limits.hfa rational.hfa \ 46 time.hfa stdlib.hfa parseargs.hfa \ 47 containers/maybe.hfa containers/pair.hfa containers/result.hfa containers/vector.hfa 72 48 73 libsrc = ${inst_headers_src} ${inst_headers_src:.hfa=.cfa} \ 74 assert.cfa \ 75 bits/algorithm.hfa \ 76 bits/debug.cfa \ 77 exception.c \ 78 exception.h \ 79 interpose.cfa \ 80 lsda.h \ 81 startup.cfa \ 82 startup.hfa \ 83 virtual.c \ 84 virtual.h 49 libsrc = startup.cfa interpose.cfa bits/debug.cfa assert.cfa exception.c virtual.c ${headers:.hfa=.cfa} 85 50 86 51 # not all platforms support concurrency, add option do disable it 87 inst_thread_headers_nosrc = \ 88 bits/random.hfa \ 89 concurrency/invoke.h \ 90 concurrency/kernel/fwd.hfa 52 thread_headers_nosrc = bits/random.hfa concurrency/invoke.h concurrency/kernel/fwd.hfa 91 53 92 inst_thread_headers_src = \ 93 concurrency/coroutine.hfa \ 94 concurrency/exception.hfa \ 95 concurrency/kernel.hfa \ 96 concurrency/monitor.hfa \ 97 concurrency/mutex.hfa \ 98 concurrency/thread.hfa 54 thread_headers = concurrency/coroutine.hfa concurrency/thread.hfa concurrency/kernel.hfa \ 55 concurrency/monitor.hfa concurrency/mutex.hfa 99 56 100 thread_libsrc = ${inst_thread_headers_src} ${inst_thread_headers_src:.hfa=.cfa} \ 101 bits/signal.hfa \ 102 concurrency/alarm.cfa \ 103 concurrency/alarm.hfa \ 104 concurrency/CtxSwitch-@ARCHITECTURE@.S \ 105 concurrency/invoke.c \ 106 concurrency/io.cfa \ 107 concurrency/io/setup.cfa \ 108 concurrency/io/types.hfa \ 109 concurrency/iocall.cfa \ 110 concurrency/iofwd.hfa \ 111 concurrency/kernel_private.hfa \ 112 concurrency/kernel/startup.cfa \ 113 concurrency/preemption.cfa \ 114 concurrency/preemption.hfa \ 115 concurrency/ready_queue.cfa \ 116 concurrency/ready_subqueue.hfa \ 117 concurrency/snzi.hfa \ 118 concurrency/stats.cfa \ 119 concurrency/stats.hfa \ 120 concurrency/stats.hfa 121 57 thread_libsrc = concurrency/CtxSwitch-@ARCHITECTURE@.S concurrency/alarm.cfa \ 58 concurrency/invoke.c concurrency/io.cfa concurrency/iocall.cfa \ 59 concurrency/io/setup.cfa \ 60 concurrency/kernel/startup.cfa concurrency/preemption.cfa \ 61 concurrency/ready_queue.cfa concurrency/stats.cfa \ 62 ${thread_headers:.hfa=.cfa} 122 63 else 123 inst_headers_src=124 inst_thread_headers_src=125 inst_headers_nosrc =126 inst_thread_headers_nosrc =64 headers = 65 thread_headers = 66 headers_nosrc = 67 thread_headers_nosrc = 127 68 libsrc = 128 69 endif … … 174 115 175 116 #---------------------------------------------------------------------------------------------------------------- 176 libcfa_la_SOURCES = ${libsrc} 177 nodist_libcfa_la_SOURCES = prelude.cfa 117 libcfa_la_SOURCES = prelude.cfa ${libsrc} 178 118 libcfa_la_LDFLAGS = -version-info @CFA_VERSION@ 179 119 … … 184 124 185 125 cfa_includedir = $(CFA_INCDIR) 186 nobase_cfa_include_HEADERS = ${stdhdr} ${inst_headers_src} ${inst_headers_nosrc} ${inst_thread_headers_src} ${inst_thread_headers_nosrc} 187 EXTRA_DIST = stdhdr 126 nobase_cfa_include_HEADERS = ${stdhdr} ${headers} ${headers_nosrc} ${thread_headers} ${thread_headers_nosrc} 188 127 189 128 #---------------------------------------------------------------------------------------------------------------- -
libcfa/src/bitmanip.hfa
r25a1cb0 r8d8ac3b 11 11 // Created On : Sat Mar 14 18:12:27 2020 12 12 // Last Modified By : Peter A. Buhr 13 // Last Modified On : Sun Aug 23 21:39:28202014 // Update Count : 1 4013 // Last Modified On : Mon Aug 10 09:21:02 2020 14 // Update Count : 139 15 15 // 16 16 … … 103 103 // T floor2( T n, T align ) { verify( is_pow2( align ) ); return n & -align; } 104 104 105 signed char floor( signed char n, signed char align ) { return n / align * align; } 106 unsigned char floor( unsigned char n, unsigned char align ) { return n / align * align; } 107 short int floor( short int n, short int align ) { return n / align * align; } 108 unsigned short int floor( unsigned short int n, unsigned short int align ) { return n / align * align; } 109 int floor( int n, int align ) { return n / align * align; } 110 unsigned int floor( unsigned int n, unsigned int align ) { return n / align * align; } 111 long int floor( long int n, long int align ) { return n / align * align; } 112 unsigned long int floor( unsigned long int n, unsigned long int align ) { return n / align * align; } 113 long long int floor( long long int n, long long int align ) { return n / align * align; } 114 unsigned long long int floor( unsigned long long int n, unsigned long long int align ) { return n / align * align; } 115 116 // forall( otype T | { T ?/?( T, T ); T ?*?( T, T ); } ) 117 // T floor( T n, T align ) { return n / align * align; } 118 105 119 // Returns n aligned at the ceiling of align, negate, round down, negate is the same as round up. 106 120 signed char ceiling2( signed char n, signed char align ) { verify( is_pow2( align ) ); return -floor2( -n, align ); } … … 117 131 // forall( otype T | { T floor2( T, T ); T -?( T ); } ) 118 132 // T ceiling2( T n, T align ) { verify( is_pow2( align ) ); return -floor2( -n, align ); } 133 134 signed char ceiling_div( signed char n, char align ) { return (n + (align - 1)) / align; } 135 unsigned char ceiling_div( unsigned char n, unsigned char align ) { return (n + (align - 1)) / align; } 136 short int ceiling_div( short int n, short int align ) { return (n + (align - 1)) / align; } 137 unsigned short int ceiling_div( unsigned short int n, unsigned short int align ) { return (n + (align - 1)) / align; } 138 int ceiling_div( int n, int align ) { return (n + (align - 1)) / align; } 139 unsigned int ceiling_div( unsigned int n, unsigned int align ) { return (n + (align - 1)) / align; } 140 long int ceiling_div( long int n, long int align ) { return (n + (align - 1)) / align; } 141 unsigned long int ceiling_div( unsigned long int n, unsigned long int align ) { return (n + (align - 1)) / align; } 142 long long int ceiling_div( long long int n, long long int align ) { return (n + (align - 1)) / align; } 143 unsigned long long int ceiling_div( unsigned long long int n, unsigned long long int align ) { return (n + (align - 1)) / align; } 144 145 // forall( otype T | { T ?+?( T, T ); T ?-?( T, T ); T ?%?( T, T ); } ) 146 // T ceiling_div( T n, T align ) { verify( is_pow2( align ) );return (n + (align - 1)) / align; } 147 148 // gcc notices the div/mod pair and saves both so only one div. 149 signed char ceiling( signed char n, signed char align ) { return floor( n + (n % align != 0 ? align - 1 : 0), align ); } 150 unsigned char ceiling( unsigned char n, unsigned char align ) { return floor( n + (n % align != 0 ? align - 1 : 0), align ); } 151 short int ceiling( short int n, short int align ) { return floor( n + (n % align != 0 ? align - 1 : 0), align ); } 152 unsigned short int ceiling( unsigned short int n, unsigned short int align ) { return floor( n + (n % align != 0 ? align - 1 : 0), align ); } 153 int ceiling( int n, int align ) { return floor( n + (n % align != 0 ? align - 1 : 0), align ); } 154 unsigned int ceiling( unsigned int n, unsigned int align ) { return floor( n + (n % align != 0 ? align - 1 : 0), align ); } 155 long int ceiling( long int n, long int align ) { return floor( n + (n % align != 0 ? align - 1 : 0), align ); } 156 unsigned long int ceiling( unsigned long int n, unsigned long int align ) { return floor( n + (n % align != 0 ? align - 1 : 0) , align); } 157 long long int ceiling( long long int n, long long int align ) { return floor( n + (n % align != 0 ? align - 1 : 0), align ); } 158 unsigned long long int ceiling( unsigned long long int n, unsigned long long int align ) { return floor( n + (n % align != 0 ? align - 1 : 0), align ); } 159 160 // forall( otype T | { void ?{}( T &, one_t ); T ?+?( T, T ); T ?-?( T, T ); T ?/?( T, T ); } ) 161 // T ceiling( T n, T align ) { return return floor( n + (n % align != 0 ? align - 1 : 0), align ); *} 119 162 } // distribution 120 163 -
libcfa/src/bits/defs.hfa
r25a1cb0 r8d8ac3b 10 10 // Created On : Thu Nov 9 13:24:10 2017 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Aug 26 16:22:32202013 // Update Count : 2012 // Last Modified On : Thu Aug 13 22:00:23 2020 13 // Update Count : 19 14 14 // 15 15 … … 49 49 50 50 static inline long long int rdtscl(void) { 51 #if defined( __i386 ) || defined( __x86_64 ) 52 unsigned int lo, hi; 53 __asm__ __volatile__ ("rdtsc" : "=a"(lo), "=d"(hi)); 54 return ( (unsigned long long)lo)|( ((unsigned long long)hi)<<32 ); 55 #elif defined( __aarch64__ ) || defined( __arm__ ) 51 #if defined( __aarch64__ ) 56 52 // https://github.com/google/benchmark/blob/v1.1.0/src/cycleclock.h#L116 57 53 long long int virtual_timer_value; … … 59 55 return virtual_timer_value; 60 56 #else 61 #error unsupported hardware architecture 57 unsigned int lo, hi; 58 __asm__ __volatile__ ("rdtsc" : "=a"(lo), "=d"(hi)); 59 return ( (unsigned long long)lo)|( ((unsigned long long)hi)<<32 ); 62 60 #endif // __ARM_ARCH 63 61 } -
libcfa/src/concurrency/coroutine.cfa
r25a1cb0 r8d8ac3b 215 215 return cor; 216 216 } 217 218 struct $coroutine * __cfactx_cor_active(void) { 219 return active_coroutine(); 220 } 217 221 } 218 222 -
libcfa/src/concurrency/invoke.c
r25a1cb0 r8d8ac3b 29 29 // Called from the kernel when starting a coroutine or task so must switch back to user mode. 30 30 31 extern struct $coroutine * __cfactx_cor_active(void); 31 32 extern struct $coroutine * __cfactx_cor_finish(void); 32 33 extern void __cfactx_cor_leave ( struct $coroutine * ); … … 35 36 extern void disable_interrupts() OPTIONAL_THREAD; 36 37 extern void enable_interrupts( __cfaabi_dbg_ctx_param ); 38 39 struct exception_context_t * this_exception_context() { 40 return &__get_stack( __cfactx_cor_active() )->exception_context; 41 } 37 42 38 43 void __cfactx_invoke_coroutine( -
libcfa/src/concurrency/invoke.h
r25a1cb0 r8d8ac3b 98 98 } 99 99 100 struct exception_context_t * this_exception_context(); 101 100 102 // struct which calls the monitor is accepting 101 103 struct __waitfor_mask_t { -
libcfa/src/concurrency/io/setup.cfa
r25a1cb0 r8d8ac3b 384 384 /* paranoid */ verify( is_pow2( params_in.num_ready ) || (params_in.num_ready < 8) ); 385 385 sq.ready_cnt = max( params_in.num_ready, 8 ); 386 sq.ready = alloc ( sq.ready_cnt, 64`align);386 sq.ready = alloc_align( 64, sq.ready_cnt ); 387 387 for(i; sq.ready_cnt) { 388 388 sq.ready[i] = -1ul32; -
libcfa/src/concurrency/kernel.cfa
r25a1cb0 r8d8ac3b 10 10 // Created On : Tue Jan 17 12:27:26 2017 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Aug 31 07:08:20 202013 // Update Count : 7112 // Last Modified On : Fri Aug 14 15:23:00 2020 13 // Update Count : 69 14 14 // 15 15 … … 74 74 ) 75 75 76 #elif defined( __arm__ ) 77 #define __x87_store 78 #define __x87_load 79 80 #elif defined( __aarch64__ ) 76 #elif defined( __ARM_ARCH ) 81 77 #define __x87_store \ 82 78 uint32_t __fpcntl[2]; \ … … 97 93 98 94 #else 99 #error un supportedhardware architecture95 #error unknown hardware architecture 100 96 #endif 101 97 -
libcfa/src/concurrency/kernel/startup.cfa
r25a1cb0 r8d8ac3b 579 579 580 580 // Lock the RWlock so no-one pushes/pops while we are changing the queue 581 disable_interrupts();582 581 uint_fast32_t last_size = ready_mutate_lock(); 583 582 … … 587 586 // Unlock the RWlock 588 587 ready_mutate_unlock( last_size ); 589 enable_interrupts_noPoll(); // Don't poll, could be in main cluster590 591 588 592 589 this.io.cnt = num_io; … … 604 601 605 602 // Lock the RWlock so no-one pushes/pops while we are changing the queue 606 disable_interrupts();607 603 uint_fast32_t last_size = ready_mutate_lock(); 608 604 … … 612 608 // Unlock the RWlock 613 609 ready_mutate_unlock( last_size ); 614 enable_interrupts_noPoll(); // Don't poll, could be in main cluster615 610 616 611 #if !defined(__CFA_NO_STATISTICS__) -
libcfa/src/concurrency/preemption.cfa
r25a1cb0 r8d8ac3b 10 10 // Created On : Mon Jun 5 14:20:42 2017 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Aug 26 16:46:03202013 // Update Count : 5 312 // Last Modified On : Fri Aug 21 13:45:32 2020 13 // Update Count : 52 14 14 // 15 15 … … 56 56 #elif defined( __x86_64 ) 57 57 #define CFA_REG_IP gregs[REG_RIP] 58 #elif defined( __arm__ ) 59 #define CFA_REG_IP arm_pc 60 #elif defined( __aarch64__ ) 58 #elif defined( __ARM_ARCH ) 61 59 #define CFA_REG_IP pc 62 60 #else 63 #error un supportedhardware architecture61 #error unknown hardware architecture 64 62 #endif 65 63 -
libcfa/src/concurrency/ready_queue.cfa
r25a1cb0 r8d8ac3b 215 215 } 216 216 217 static inline [unsigned, bool] idx_from_r(unsigned r, unsigned preferred) {218 unsigned i;219 bool local;220 #if defined(BIAS)221 unsigned rlow = r % BIAS;222 unsigned rhigh = r / BIAS;223 if((0 != rlow) && preferred >= 0) {224 // (BIAS - 1) out of BIAS chances225 // Use perferred queues226 i = preferred + (rhigh % 4);227 local = true;228 }229 else {230 // 1 out of BIAS chances231 // Use all queues232 i = rhigh;233 local = false;234 }235 #else236 i = r;237 local = false;238 #endif239 return [i, local];240 }241 242 217 //----------------------------------------------------------------------- 243 218 __attribute__((hot)) bool push(struct cluster * cltr, struct $thread * thrd) with (cltr->ready_queue) { … … 247 222 thrd->link.ts = rdtscl(); 248 223 249 __attribute__((unused)) bool local; 250 __attribute__((unused)) int preferred; 251 #if defined(BIAS) 252 preferred = 224 #if defined(BIAS) && !defined(__CFA_NO_STATISTICS__) 225 bool local = false; 226 int preferred = 253 227 //* 254 228 kernelTLS.this_processor ? kernelTLS.this_processor->id * 4 : -1; … … 256 230 thrd->link.preferred * 4; 257 231 //*/ 232 233 258 234 #endif 259 235 … … 262 238 do { 263 239 // Pick the index of a lane 264 // unsigned r = __tls_rand(); 265 unsigned r = __tls_rand_fwd(); 266 [i, local] = idx_from_r(r, preferred); 267 268 #if !defined(__CFA_NO_STATISTICS__) 269 if(local) { 270 __tls_stats()->ready.pick.push.local++; 271 } 240 #if defined(BIAS) 241 unsigned r = __tls_rand(); 242 unsigned rlow = r % BIAS; 243 unsigned rhigh = r / BIAS; 244 if((0 != rlow) && preferred >= 0) { 245 // (BIAS - 1) out of BIAS chances 246 // Use perferred queues 247 i = preferred + (rhigh % 4); 248 249 #if !defined(__CFA_NO_STATISTICS__) 250 local = true; 251 __tls_stats()->ready.pick.push.local++; 252 #endif 253 } 254 else { 255 // 1 out of BIAS chances 256 // Use all queues 257 i = rhigh; 258 local = false; 259 } 260 #else 261 i = __tls_rand(); 272 262 #endif 273 263 … … 284 274 285 275 // Actually push it 286 #ifdef USE_SNZI 287 bool lane_first = 288 #endif 289 290 push(lanes.data[i], thrd); 276 bool lane_first = push(lanes.data[i], thrd); 291 277 292 278 #ifdef USE_SNZI … … 301 287 #endif 302 288 303 __tls_rand_advance_bck();304 305 289 // Unlock and return 306 290 __atomic_unlock( &lanes.data[i].lock ); … … 327 311 /* paranoid */ verify( lanes.count > 0 ); 328 312 unsigned count = __atomic_load_n( &lanes.count, __ATOMIC_RELAXED ); 329 int preferred;330 313 #if defined(BIAS) 331 314 // Don't bother trying locally too much 332 315 int local_tries = 8; 333 preferred = kernelTLS.this_processor->id * 4; 334 #endif 335 316 #endif 336 317 337 318 // As long as the list is not empty, try finding a lane that isn't empty and pop from it … … 342 323 #endif 343 324 // Pick two lists at random 344 // unsigned ri = __tls_rand(); 345 // unsigned rj = __tls_rand(); 346 unsigned ri = __tls_rand_bck(); 347 unsigned rj = __tls_rand_bck(); 348 349 unsigned i, j; 350 __attribute__((unused)) bool locali, localj; 351 [i, locali] = idx_from_r(ri, preferred); 352 [j, localj] = idx_from_r(rj, preferred); 353 354 #if !defined(__CFA_NO_STATISTICS__) 355 if(locali) { 356 __tls_stats()->ready.pick.pop.local++; 357 } 358 if(localj) { 359 __tls_stats()->ready.pick.pop.local++; 360 } 325 unsigned i,j; 326 #if defined(BIAS) 327 #if !defined(__CFA_NO_STATISTICS__) 328 bool local = false; 329 #endif 330 uint64_t r = __tls_rand(); 331 unsigned rlow = r % BIAS; 332 uint64_t rhigh = r / BIAS; 333 if(local_tries && 0 != rlow) { 334 // (BIAS - 1) out of BIAS chances 335 // Use perferred queues 336 unsigned pid = kernelTLS.this_processor->id * 4; 337 i = pid + (rhigh % 4); 338 j = pid + ((rhigh >> 32ull) % 4); 339 340 // count the tries 341 local_tries--; 342 343 #if !defined(__CFA_NO_STATISTICS__) 344 local = true; 345 __tls_stats()->ready.pick.pop.local++; 346 #endif 347 } 348 else { 349 // 1 out of BIAS chances 350 // Use all queues 351 i = rhigh; 352 j = rhigh >> 32ull; 353 } 354 #else 355 i = __tls_rand(); 356 j = __tls_rand(); 361 357 #endif 362 358 … … 368 364 if(thrd) { 369 365 #if defined(BIAS) && !defined(__CFA_NO_STATISTICS__) 370 if( local i || localj) __tls_stats()->ready.pick.pop.lsuccess++;366 if( local ) __tls_stats()->ready.pick.pop.lsuccess++; 371 367 #endif 372 368 return thrd; … … 547 543 548 544 // Allocate new array (uses realloc and memcpies the data) 549 lanes.data = alloc( ncount, lanes.data`realloc);545 lanes.data = alloc(lanes.data, ncount); 550 546 551 547 // Fix the moved data … … 638 634 639 635 // Allocate new array (uses realloc and memcpies the data) 640 lanes.data = alloc( lanes.count, lanes.data`realloc);636 lanes.data = alloc(lanes.data, lanes.count); 641 637 642 638 // Fix the moved data -
libcfa/src/exception.c
r25a1cb0 r8d8ac3b 10 10 // Created On : Mon Jun 26 15:13:00 2017 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Aug 29 15:52:22202013 // Update Count : 3412 // Last Modified On : Fri Aug 21 11:27:56 2020 13 // Update Count : 29 14 14 // 15 15 … … 18 18 19 19 #include "exception.h" 20 21 // Implementation of the secret header is hardware dependent. 22 #if defined( __x86_64 ) || defined( __i386 ) 23 #elif defined( __ARM_ARCH ) 24 #warning FIX ME: check if anything needed for ARM 25 #else 26 #warning Exception Handling: No known architecture detected. 27 #endif 20 28 21 29 #include <stdlib.h> … … 26 34 #include "stdhdr/assert.h" 27 35 28 #if defined( __ARM_ARCH ) 29 #warning FIX ME: temporary hack to keep ARM build working 36 // FIX ME: temporary hack to keep ARM build working 30 37 #ifndef _URC_FATAL_PHASE1_ERROR 31 38 #define _URC_FATAL_PHASE1_ERROR 3 … … 34 41 #define _URC_FATAL_PHASE2_ERROR 2 35 42 #endif // ! _URC_FATAL_PHASE2_ERROR 36 #endif // __ARM_ARCH37 43 38 44 #include "lsda.h" … … 203 209 void * stop_param) { 204 210 // Verify actions follow the rules we expect. 205 verify(actions & _UA_CLEANUP_PHASE); 206 verify(actions & _UA_FORCE_UNWIND); 207 verify(!(actions & _UA_SEARCH_PHASE)); 208 verify(!(actions & _UA_HANDLER_FRAME)); 211 verify((actions & _UA_CLEANUP_PHASE) && (actions & _UA_FORCE_UNWIND)); 212 verify(!(actions & (_UA_SEARCH_PHASE | _UA_HANDLER_FRAME))); 209 213 210 214 if ( actions & _UA_END_OF_STACK ) { 211 abort();215 exit(1); 212 216 } else { 213 217 return _URC_NO_REASON; … … 215 219 } 216 220 217 __attribute__((weak)) _Unwind_Reason_Code 218 __cfaehm_cancellation_unwind( struct _Unwind_Exception * exception ) { 219 return _Unwind_ForcedUnwind( exception, _Stop_Fn, (void*)0x22 ); 220 } 221 static struct _Unwind_Exception cancel_exception_storage; 221 222 222 223 // Cancel the current stack, prefroming approprate clean-up and messaging. 223 224 void __cfaehm_cancel_stack( exception_t * exception ) { 224 __cfaehm_allocate_exception( exception ); 225 226 struct exception_context_t * context = this_exception_context(); 227 struct __cfaehm_node * node = EXCEPT_TO_NODE(context->current_exception); 228 229 // Preform clean-up of any extra active exceptions. 230 while ( node->next ) { 231 struct __cfaehm_node * to_free = node->next; 232 node->next = to_free->next; 233 exception_t * except = NODE_TO_EXCEPT( to_free ); 234 except->virtual_table->free( except ); 235 free( to_free ); 236 } 237 225 // TODO: Detect current stack and pick a particular stop-function. 238 226 _Unwind_Reason_Code ret; 239 ret = _ _cfaehm_cancellation_unwind( &node->unwind_exception);227 ret = _Unwind_ForcedUnwind( &cancel_exception_storage, _Stop_Fn, (void*)0x22 ); 240 228 printf("UNWIND ERROR %d after force unwind\n", ret); 241 229 abort(); … … 620 608 621 609 #pragma GCC pop_options 622 623 #elif defined( __ARM_ARCH )624 _Unwind_Reason_Code __gcfa_personality_v0(625 int version,626 _Unwind_Action actions,627 unsigned long long exception_class,628 struct _Unwind_Exception * unwind_exception,629 struct _Unwind_Context * unwind_context) {630 return _URC_CONTINUE_UNWIND;631 }632 633 __attribute__((noinline))634 void __cfaehm_try_terminate(void (*try_block)(),635 void (*catch_block)(int index, exception_t * except),636 __attribute__((unused)) int (*match_block)(exception_t * except)) {637 }638 #else639 #error unsupported hardware architecture640 610 #endif // __x86_64 || __i386 -
libcfa/src/heap.cfa
r25a1cb0 r8d8ac3b 10 10 // Created On : Tue Dec 19 21:58:35 2017 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Aug 24 20:29:24202013 // Update Count : 9 2612 // Last Modified On : Wed Aug 12 16:43:38 2020 13 // Update Count : 902 14 14 // 15 15 … … 27 27 #include "bits/locks.hfa" // __spinlock_t 28 28 #include "startup.hfa" // STARTUP_PRIORITY_MEMORY 29 #include "math.hfa" // ceiling 30 #include "bitmanip.hfa" // is_pow2, ceiling229 //#include "stdlib.hfa" // bsearchl 30 #include "bitmanip.hfa" // ceiling 31 31 32 32 #define MIN(x, y) (y > x ? x : y) … … 651 651 #else 652 652 // for ( HeapManager.Storage * p = top( freeLists[i].freeList ); p != 0p; p = (p)`next->top ) { 653 // for ( HeapManager.Storage * p = top( freeLists[i].freeList ); p != 0p; /* p = getNext( p )->top */) { 654 for ( HeapManager.Storage * p ;; /* p = getNext( p )->top */) { 655 HeapManager.Storage * temp = p->header.kind.real.next.top; // FIX ME: direct assignent fails, initialization works` 656 // typeof(p) temp = (( p )`next)->top; // FIX ME: direct assignent fails, initialization works` 657 // p = temp; 653 for ( HeapManager.Storage * p = top( freeLists[i].freeList ); p != 0p; /* p = getNext( p )->top */) { 654 typeof(p) temp = (( p )`next)->top; // FIX ME: direct assignent fails, initialization works 655 p = temp; 658 656 #endif // BUCKETLOCK 659 657 total += size; -
libcfa/src/iostream.cfa
r25a1cb0 r8d8ac3b 10 10 // Created On : Wed May 27 17:56:53 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Aug 24 08:31:35202013 // Update Count : 11 3012 // Last Modified On : Tue Aug 11 22:16:33 2020 13 // Update Count : 1128 14 14 // 15 15 … … 20 20 #include <stdint.h> // UINT64_MAX 21 21 #include <float.h> // DBL_DIG, LDBL_DIG 22 #include <math.h> // isfinite 22 23 #include <complex.h> // creal, cimag 23 //#include <string.h> // strlen, strcmp , memcpy24 //#include <string.h> // strlen, strcmp 24 25 extern "C" { 25 26 extern size_t strlen (const char *__s) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); … … 29 30 } // extern "C" 30 31 31 #include "math.hfa" // isfinite, floor, ceiling_div 32 #include "bitmanip.hfa" // high1 32 #include <bitmanip.hfa> // high1 33 33 34 34 -
libcfa/src/math.hfa
r25a1cb0 r8d8ac3b 10 10 // Created On : Mon Apr 18 23:37:04 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Aug 24 08:56:20202013 // Update Count : 1 2612 // Last Modified On : Tue Feb 4 10:27:11 2020 13 // Update Count : 117 14 14 // 15 15 … … 19 19 #include <complex.h> 20 20 21 //---------------------- General ---------------------- 22 23 static inline float ?%?( float x, float y ) { return fmodf( x, y ); } 24 static inline float fmod( float x, float y ) { return fmodf( x, y ); } 25 static inline double ?%?( double x, double y ) { return fmod( x, y ); } 26 // extern "C" { double fmod( double, double ); } 27 static inline long double ?%?( long double x, long double y ) { return fmodl( x, y ); } 28 static inline long double fmod( long double x, long double y ) { return fmodl( x, y ); } 29 30 static inline float remainder( float x, float y ) { return remainderf( x, y ); } 31 // extern "C" { double remainder( double, double ); } 32 static inline long double remainder( long double x, long double y ) { return remainderl( x, y ); } 33 34 static inline float remquo( float x, float y, int * quo ) { return remquof( x, y, quo ); } 35 // extern "C" { double remquo( double x, double y, int * quo ); } 36 static inline long double remquo( long double x, long double y, int * quo ) { return remquol( x, y, quo ); } 37 static inline [ int, float ] remquo( float x, float y ) { int quo; x = remquof( x, y, &quo ); return [ quo, x ]; } 38 static inline [ int, double ] remquo( double x, double y ) { int quo; x = remquo( x, y, &quo ); return [ quo, x ]; } 39 static inline [ int, long double ] remquo( long double x, long double y ) { int quo; x = remquol( x, y, &quo ); return [ quo, x ]; } 40 41 static inline [ float, float ] div( float x, float y ) { y = modff( x / y, &x ); return [ x, y ]; } 42 static inline [ double, double ] div( double x, double y ) { y = modf( x / y, &x ); return [ x, y ]; } 43 static inline [ long double, long double ] div( long double x, long double y ) { y = modfl( x / y, &x ); return [ x, y ]; } 44 45 static inline float fma( float x, float y, float z ) { return fmaf( x, y, z ); } 46 // extern "C" { double fma( double, double, double ); } 47 static inline long double fma( long double x, long double y, long double z ) { return fmal( x, y, z ); } 48 49 static inline float fdim( float x, float y ) { return fdimf( x, y ); } 50 // extern "C" { double fdim( double, double ); } 51 static inline long double fdim( long double x, long double y ) { return fdiml( x, y ); } 52 53 static inline float nan( const char tag[] ) { return nanf( tag ); } 54 // extern "C" { double nan( const char [] ); } 55 static inline long double nan( const char tag[] ) { return nanl( tag ); } 56 57 //---------------------- Exponential ---------------------- 58 59 static inline float exp( float x ) { return expf( x ); } 60 // extern "C" { double exp( double ); } 61 static inline long double exp( long double x ) { return expl( x ); } 62 static inline float _Complex exp( float _Complex x ) { return cexpf( x ); } 63 static inline double _Complex exp( double _Complex x ) { return cexp( x ); } 64 static inline long double _Complex exp( long double _Complex x ) { return cexpl( x ); } 65 66 static inline float exp2( float x ) { return exp2f( x ); } 67 // extern "C" { double exp2( double ); } 68 static inline long double exp2( long double x ) { return exp2l( x ); } 69 //static inline float _Complex exp2( float _Complex x ) { return cexp2f( x ); } 70 //static inline double _Complex exp2( double _Complex x ) { return cexp2( x ); } 71 //static inline long double _Complex exp2( long double _Complex x ) { return cexp2l( x ); } 72 73 static inline float expm1( float x ) { return expm1f( x ); } 74 // extern "C" { double expm1( double ); } 75 static inline long double expm1( long double x ) { return expm1l( x ); } 76 77 static inline float pow( float x, float y ) { return powf( x, y ); } 78 // extern "C" { double pow( double, double ); } 79 static inline long double pow( long double x, long double y ) { return powl( x, y ); } 80 static inline float _Complex pow( float _Complex x, float _Complex y ) { return cpowf( x, y ); } 81 static inline double _Complex pow( double _Complex x, double _Complex y ) { return cpow( x, y ); } 82 static inline long double _Complex pow( long double _Complex x, long double _Complex y ) { return cpowl( x, y ); } 83 84 //---------------------- Logarithm ---------------------- 85 86 static inline float log( float x ) { return logf( x ); } 87 // extern "C" { double log( double ); } 88 static inline long double log( long double x ) { return logl( x ); } 89 static inline float _Complex log( float _Complex x ) { return clogf( x ); } 90 static inline double _Complex log( double _Complex x ) { return clog( x ); } 91 static inline long double _Complex log( long double _Complex x ) { return clogl( x ); } 92 93 static inline float log2( float x ) { return log2f( x ); } 94 // extern "C" { double log2( double ); } 95 static inline long double log2( long double x ) { return log2l( x ); } 96 // static inline float _Complex log2( float _Complex x ) { return clog2f( x ); } 97 // static inline double _Complex log2( double _Complex x ) { return clog2( x ); } 98 // static inline long double _Complex log2( long double _Complex x ) { return clog2l( x ); } 99 100 static inline float log10( float x ) { return log10f( x ); } 101 // extern "C" { double log10( double ); } 102 static inline long double log10( long double x ) { return log10l( x ); } 103 // static inline float _Complex log10( float _Complex x ) { return clog10f( x ); } 104 // static inline double _Complex log10( double _Complex x ) { return clog10( x ); } 105 // static inline long double _Complex log10( long double _Complex x ) { return clog10l( x ); } 106 107 static inline float log1p( float x ) { return log1pf( x ); } 108 // extern "C" { double log1p( double ); } 109 static inline long double log1p( long double x ) { return log1pl( x ); } 110 111 static inline int ilogb( float x ) { return ilogbf( x ); } 112 // extern "C" { int ilogb( double ); } 113 static inline int ilogb( long double x ) { return ilogbl( x ); } 114 115 static inline float logb( float x ) { return logbf( x ); } 116 // extern "C" { double logb( double ); } 117 static inline long double logb( long double x ) { return logbl( x ); } 118 119 static inline float sqrt( float x ) { return sqrtf( x ); } 120 // extern "C" { double sqrt( double ); } 121 static inline long double sqrt( long double x ) { return sqrtl( x ); } 122 static inline float _Complex sqrt( float _Complex x ) { return csqrtf( x ); } 123 static inline double _Complex sqrt( double _Complex x ) { return csqrt( x ); } 124 static inline long double _Complex sqrt( long double _Complex x ) { return csqrtl( x ); } 125 126 static inline float cbrt( float x ) { return cbrtf( x ); } 127 // extern "C" { double cbrt( double ); } 128 static inline long double cbrt( long double x ) { return cbrtl( x ); } 129 130 static inline float hypot( float x, float y ) { return hypotf( x, y ); } 131 // extern "C" { double hypot( double, double ); } 132 static inline long double hypot( long double x, long double y ) { return hypotl( x, y ); } 133 134 //---------------------- Trigonometric ---------------------- 135 136 static inline float sin( float x ) { return sinf( x ); } 137 // extern "C" { double sin( double ); } 138 static inline long double sin( long double x ) { return sinl( x ); } 139 static inline float _Complex sin( float _Complex x ) { return csinf( x ); } 140 static inline double _Complex sin( double _Complex x ) { return csin( x ); } 141 static inline long double _Complex sin( long double _Complex x ) { return csinl( x ); } 142 143 static inline float cos( float x ) { return cosf( x ); } 144 // extern "C" { double cos( double ); } 145 static inline long double cos( long double x ) { return cosl( x ); } 146 static inline float _Complex cos( float _Complex x ) { return ccosf( x ); } 147 static inline double _Complex cos( double _Complex x ) { return ccos( x ); } 148 static inline long double _Complex cos( long double _Complex x ) { return ccosl( x ); } 149 150 static inline float tan( float x ) { return tanf( x ); } 151 // extern "C" { double tan( double ); } 152 static inline long double tan( long double x ) { return tanl( x ); } 153 static inline float _Complex tan( float _Complex x ) { return ctanf( x ); } 154 static inline double _Complex tan( double _Complex x ) { return ctan( x ); } 155 static inline long double _Complex tan( long double _Complex x ) { return ctanl( x ); } 156 157 static inline float asin( float x ) { return asinf( x ); } 158 // extern "C" { double asin( double ); } 159 static inline long double asin( long double x ) { return asinl( x ); } 160 static inline float _Complex asin( float _Complex x ) { return casinf( x ); } 161 static inline double _Complex asin( double _Complex x ) { return casin( x ); } 162 static inline long double _Complex asin( long double _Complex x ) { return casinl( x ); } 163 164 static inline float acos( float x ) { return acosf( x ); } 165 // extern "C" { double acos( double ); } 166 static inline long double acos( long double x ) { return acosl( x ); } 167 static inline float _Complex acos( float _Complex x ) { return cacosf( x ); } 168 static inline double _Complex acos( double _Complex x ) { return cacos( x ); } 169 static inline long double _Complex acos( long double _Complex x ) { return cacosl( x ); } 170 171 static inline float atan( float x ) { return atanf( x ); } 172 // extern "C" { double atan( double ); } 173 static inline long double atan( long double x ) { return atanl( x ); } 174 static inline float _Complex atan( float _Complex x ) { return catanf( x ); } 175 static inline double _Complex atan( double _Complex x ) { return catan( x ); } 176 static inline long double _Complex atan( long double _Complex x ) { return catanl( x ); } 177 178 static inline float atan2( float x, float y ) { return atan2f( x, y ); } 179 // extern "C" { double atan2( double, double ); } 180 static inline long double atan2( long double x, long double y ) { return atan2l( x, y ); } 181 182 // alternative name for atan2 183 static inline float atan( float x, float y ) { return atan2f( x, y ); } 184 static inline double atan( double x, double y ) { return atan2( x, y ); } 185 static inline long double atan( long double x, long double y ) { return atan2l( x, y ); } 186 187 //---------------------- Hyperbolic ---------------------- 188 189 static inline float sinh( float x ) { return sinhf( x ); } 190 // extern "C" { double sinh( double ); } 191 static inline long double sinh( long double x ) { return sinhl( x ); } 192 static inline float _Complex sinh( float _Complex x ) { return csinhf( x ); } 193 static inline double _Complex sinh( double _Complex x ) { return csinh( x ); } 194 static inline long double _Complex sinh( long double _Complex x ) { return csinhl( x ); } 195 196 static inline float cosh( float x ) { return coshf( x ); } 197 // extern "C" { double cosh( double ); } 198 static inline long double cosh( long double x ) { return coshl( x ); } 199 static inline float _Complex cosh( float _Complex x ) { return ccoshf( x ); } 200 static inline double _Complex cosh( double _Complex x ) { return ccosh( x ); } 201 static inline long double _Complex cosh( long double _Complex x ) { return ccoshl( x ); } 202 203 static inline float tanh( float x ) { return tanhf( x ); } 204 // extern "C" { double tanh( double ); } 205 static inline long double tanh( long double x ) { return tanhl( x ); } 206 static inline float _Complex tanh( float _Complex x ) { return ctanhf( x ); } 207 static inline double _Complex tanh( double _Complex x ) { return ctanh( x ); } 208 static inline long double _Complex tanh( long double _Complex x ) { return ctanhl( x ); } 209 210 static inline float asinh( float x ) { return asinhf( x ); } 211 // extern "C" { double asinh( double ); } 212 static inline long double asinh( long double x ) { return asinhl( x ); } 213 static inline float _Complex asinh( float _Complex x ) { return casinhf( x ); } 214 static inline double _Complex asinh( double _Complex x ) { return casinh( x ); } 215 static inline long double _Complex asinh( long double _Complex x ) { return casinhl( x ); } 216 217 static inline float acosh( float x ) { return acoshf( x ); } 218 // extern "C" { double acosh( double ); } 219 static inline long double acosh( long double x ) { return acoshl( x ); } 220 static inline float _Complex acosh( float _Complex x ) { return cacoshf( x ); } 221 static inline double _Complex acosh( double _Complex x ) { return cacosh( x ); } 222 static inline long double _Complex acosh( long double _Complex x ) { return cacoshl( x ); } 223 224 static inline float atanh( float x ) { return atanhf( x ); } 225 // extern "C" { double atanh( double ); } 226 static inline long double atanh( long double x ) { return atanhl( x ); } 227 static inline float _Complex atanh( float _Complex x ) { return catanhf( x ); } 228 static inline double _Complex atanh( double _Complex x ) { return catanh( x ); } 229 static inline long double _Complex atanh( long double _Complex x ) { return catanhl( x ); } 230 231 //---------------------- Error / Gamma ---------------------- 232 233 static inline float erf( float x ) { return erff( x ); } 234 // extern "C" { double erf( double ); } 235 static inline long double erf( long double x ) { return erfl( x ); } 236 // float _Complex erf( float _Complex ); 237 // double _Complex erf( double _Complex ); 238 // long double _Complex erf( long double _Complex ); 239 240 static inline float erfc( float x ) { return erfcf( x ); } 241 // extern "C" { double erfc( double ); } 242 static inline long double erfc( long double x ) { return erfcl( x ); } 243 // float _Complex erfc( float _Complex ); 244 // double _Complex erfc( double _Complex ); 245 // long double _Complex erfc( long double _Complex ); 246 247 static inline float lgamma( float x ) { return lgammaf( x ); } 248 // extern "C" { double lgamma( double ); } 249 static inline long double lgamma( long double x ) { return lgammal( x ); } 250 static inline float lgamma( float x, int * sign ) { return lgammaf_r( x, sign ); } 251 static inline double lgamma( double x, int * sign ) { return lgamma_r( x, sign ); } 252 static inline long double lgamma( long double x, int * sign ) { return lgammal_r( x, sign ); } 253 254 static inline float tgamma( float x ) { return tgammaf( x ); } 255 // extern "C" { double tgamma( double ); } 256 static inline long double tgamma( long double x ) { return tgammal( x ); } 257 258 //---------------------- Nearest Integer ---------------------- 259 260 static inline float floor( float x ) { return floorf( x ); } 261 // extern "C" { double floor( double ); } 262 static inline long double floor( long double x ) { return floorl( x ); } 263 264 static inline float ceil( float x ) { return ceilf( x ); } 265 // extern "C" { double ceil( double ); } 266 static inline long double ceil( long double x ) { return ceill( x ); } 267 268 static inline float trunc( float x ) { return truncf( x ); } 269 // extern "C" { double trunc( double ); } 270 static inline long double trunc( long double x ) { return truncl( x ); } 271 272 static inline float rint( float x ) { return rintf( x ); } 273 // extern "C" { double rint( double x ); } 274 static inline long double rint( long double x ) { return rintl( x ); } 275 static inline long int rint( float x ) { return lrintf( x ); } 276 static inline long int rint( double x ) { return lrint( x ); } 277 static inline long int rint( long double x ) { return lrintl( x ); } 278 static inline long long int rint( float x ) { return llrintf( x ); } 279 static inline long long int rint( double x ) { return llrint( x ); } 280 static inline long long int rint( long double x ) { return llrintl( x ); } 281 282 static inline long int lrint( float x ) { return lrintf( x ); } 283 // extern "C" { long int lrint( double ); } 284 static inline long int lrint( long double x ) { return lrintl( x ); } 285 static inline long long int llrint( float x ) { return llrintf( x ); } 286 // extern "C" { long long int llrint( double ); } 287 static inline long long int llrint( long double x ) { return llrintl( x ); } 288 289 static inline float nearbyint( float x ) { return nearbyintf( x ); } 290 // extern "C" { double nearbyint( double ); } 291 static inline long double nearbyint( long double x ) { return nearbyintl( x ); } 292 293 static inline float round( float x ) { return roundf( x ); } 294 // extern "C" { double round( double x ); } 295 static inline long double round( long double x ) { return roundl( x ); } 296 static inline long int round( float x ) { return lroundf( x ); } 297 static inline long int round( double x ) { return lround( x ); } 298 static inline long int round( long double x ) { return lroundl( x ); } 299 static inline long long int round( float x ) { return llroundf( x ); } 300 static inline long long int round( double x ) { return llround( x ); } 301 static inline long long int round( long double x ) { return llroundl( x ); } 302 303 static inline long int lround( float x ) { return lroundf( x ); } 304 // extern "C" { long int lround( double ); } 305 static inline long int lround( long double x ) { return lroundl( x ); } 306 static inline long long int llround( float x ) { return llroundf( x ); } 307 // extern "C" { long long int llround( double ); } 308 static inline long long int llround( long double x ) { return llroundl( x ); } 309 310 //---------------------- Manipulation ---------------------- 311 312 static inline float copysign( float x, float y ) { return copysignf( x, y ); } 313 // extern "C" { double copysign( double, double ); } 314 static inline long double copysign( long double x, long double y ) { return copysignl( x, y ); } 315 316 static inline float frexp( float x, int * ip ) { return frexpf( x, ip ); } 317 // extern "C" { double frexp( double, int * ); } 318 static inline long double frexp( long double x, int * ip ) { return frexpl( x, ip ); } 319 320 static inline float ldexp( float x, int exp2 ) { return ldexpf( x, exp2 ); } 321 // extern "C" { double ldexp( double, int ); } 322 static inline long double ldexp( long double x, int exp2 ) { return ldexpl( x, exp2 ); } 323 324 static inline [ float, float ] modf( float x ) { float i; x = modff( x, &i ); return [ i, x ]; } 325 static inline float modf( float x, float * i ) { return modff( x, i ); } 326 static inline [ double, double ] modf( double x ) { double i; x = modf( x, &i ); return [ i, x ]; } 327 // extern "C" { double modf( double, double * ); } 328 static inline [ long double, long double ] modf( long double x ) { long double i; x = modfl( x, &i ); return [ i, x ]; } 329 static inline long double modf( long double x, long double * i ) { return modfl( x, i ); } 330 331 static inline float nextafter( float x, float y ) { return nextafterf( x, y ); } 332 // extern "C" { double nextafter( double, double ); } 333 static inline long double nextafter( long double x, long double y ) { return nextafterl( x, y ); } 334 335 static inline float nexttoward( float x, long double y ) { return nexttowardf( x, y ); } 336 // extern "C" { double nexttoward( double, long double ); } 337 static inline long double nexttoward( long double x, long double y ) { return nexttowardl( x, y ); } 338 339 static inline float scalbn( float x, int exp ) { return scalbnf( x, exp ); } 340 // extern "C" { double scalbn( double, int ); } 341 static inline long double scalbn( long double x, int exp ) { return scalbnl( x, exp ); } 342 static inline float scalbn( float x, long int exp ) { return scalblnf( x, exp ); } 343 static inline double scalbn( double x, long int exp ) { return scalbln( x, exp ); } 344 static inline long double scalbn( long double x, long int exp ) { return scalblnl( x, exp ); } 345 346 static inline float scalbln( float x, long int exp ) { return scalblnf( x, exp ); } 347 // extern "C" { double scalbln( double, long int ); } 348 static inline long double scalbln( long double x, long int exp ) { return scalblnl( x, exp ); } 349 21 350 //--------------------------------------- 22 351 23 352 #include "common.hfa" 24 353 25 //---------------------- General ----------------------26 27 static inline {28 float ?%?( float x, float y ) { return fmodf( x, y ); }29 float fmod( float x, float y ) { return fmodf( x, y ); }30 double ?%?( double x, double y ) { return fmod( x, y ); }31 // extern "C" { double fmod( double, double ); }32 long double ?%?( long double x, long double y ) { return fmodl( x, y ); }33 long double fmod( long double x, long double y ) { return fmodl( x, y ); }34 35 float remainder( float x, float y ) { return remainderf( x, y ); }36 // extern "C" { double remainder( double, double ); }37 long double remainder( long double x, long double y ) { return remainderl( x, y ); }38 39 float remquo( float x, float y, int * quo ) { return remquof( x, y, quo ); }40 // extern "C" { double remquo( double x, double y, int * quo ); }41 long double remquo( long double x, long double y, int * quo ) { return remquol( x, y, quo ); }42 [ int, float ] remquo( float x, float y ) { int quo; x = remquof( x, y, &quo ); return [ quo, x ]; }43 [ int, double ] remquo( double x, double y ) { int quo; x = remquo( x, y, &quo ); return [ quo, x ]; }44 [ int, long double ] remquo( long double x, long double y ) { int quo; x = remquol( x, y, &quo ); return [ quo, x ]; }45 46 [ float, float ] div( float x, float y ) { y = modff( x / y, &x ); return [ x, y ]; }47 [ double, double ] div( double x, double y ) { y = modf( x / y, &x ); return [ x, y ]; }48 [ long double, long double ] div( long double x, long double y ) { y = modfl( x / y, &x ); return [ x, y ]; }49 50 float fma( float x, float y, float z ) { return fmaf( x, y, z ); }51 // extern "C" { double fma( double, double, double ); }52 long double fma( long double x, long double y, long double z ) { return fmal( x, y, z ); }53 54 float fdim( float x, float y ) { return fdimf( x, y ); }55 // extern "C" { double fdim( double, double ); }56 long double fdim( long double x, long double y ) { return fdiml( x, y ); }57 58 float nan( const char tag[] ) { return nanf( tag ); }59 // extern "C" { double nan( const char [] ); }60 long double nan( const char tag[] ) { return nanl( tag ); }61 } // distribution62 63 //---------------------- Exponential ----------------------64 65 static inline {66 float exp( float x ) { return expf( x ); }67 // extern "C" { double exp( double ); }68 long double exp( long double x ) { return expl( x ); }69 float _Complex exp( float _Complex x ) { return cexpf( x ); }70 double _Complex exp( double _Complex x ) { return cexp( x ); }71 long double _Complex exp( long double _Complex x ) { return cexpl( x ); }72 73 float exp2( float x ) { return exp2f( x ); }74 // extern "C" { double exp2( double ); }75 long double exp2( long double x ) { return exp2l( x ); }76 //float _Complex exp2( float _Complex x ) { return cexp2f( x ); }77 //double _Complex exp2( double _Complex x ) { return cexp2( x ); }78 //long double _Complex exp2( long double _Complex x ) { return cexp2l( x ); }79 80 float expm1( float x ) { return expm1f( x ); }81 // extern "C" { double expm1( double ); }82 long double expm1( long double x ) { return expm1l( x ); }83 84 float pow( float x, float y ) { return powf( x, y ); }85 // extern "C" { double pow( double, double ); }86 long double pow( long double x, long double y ) { return powl( x, y ); }87 float _Complex pow( float _Complex x, float _Complex y ) { return cpowf( x, y ); }88 double _Complex pow( double _Complex x, double _Complex y ) { return cpow( x, y ); }89 long double _Complex pow( long double _Complex x, long double _Complex y ) { return cpowl( x, y ); }90 } // distribution91 92 //---------------------- Logarithm ----------------------93 94 static inline {95 float log( float x ) { return logf( x ); }96 // extern "C" { double log( double ); }97 long double log( long double x ) { return logl( x ); }98 float _Complex log( float _Complex x ) { return clogf( x ); }99 double _Complex log( double _Complex x ) { return clog( x ); }100 long double _Complex log( long double _Complex x ) { return clogl( x ); }101 102 float log2( float x ) { return log2f( x ); }103 // extern "C" { double log2( double ); }104 long double log2( long double x ) { return log2l( x ); }105 // float _Complex log2( float _Complex x ) { return clog2f( x ); }106 // double _Complex log2( double _Complex x ) { return clog2( x ); }107 // long double _Complex log2( long double _Complex x ) { return clog2l( x ); }108 109 float log10( float x ) { return log10f( x ); }110 // extern "C" { double log10( double ); }111 long double log10( long double x ) { return log10l( x ); }112 // float _Complex log10( float _Complex x ) { return clog10f( x ); }113 // double _Complex log10( double _Complex x ) { return clog10( x ); }114 // long double _Complex log10( long double _Complex x ) { return clog10l( x ); }115 116 float log1p( float x ) { return log1pf( x ); }117 // extern "C" { double log1p( double ); }118 long double log1p( long double x ) { return log1pl( x ); }119 120 int ilogb( float x ) { return ilogbf( x ); }121 // extern "C" { int ilogb( double ); }122 int ilogb( long double x ) { return ilogbl( x ); }123 124 float logb( float x ) { return logbf( x ); }125 // extern "C" { double logb( double ); }126 long double logb( long double x ) { return logbl( x ); }127 128 float sqrt( float x ) { return sqrtf( x ); }129 // extern "C" { double sqrt( double ); }130 long double sqrt( long double x ) { return sqrtl( x ); }131 float _Complex sqrt( float _Complex x ) { return csqrtf( x ); }132 double _Complex sqrt( double _Complex x ) { return csqrt( x ); }133 long double _Complex sqrt( long double _Complex x ) { return csqrtl( x ); }134 135 float cbrt( float x ) { return cbrtf( x ); }136 // extern "C" { double cbrt( double ); }137 long double cbrt( long double x ) { return cbrtl( x ); }138 139 float hypot( float x, float y ) { return hypotf( x, y ); }140 // extern "C" { double hypot( double, double ); }141 long double hypot( long double x, long double y ) { return hypotl( x, y ); }142 } // distribution143 144 //---------------------- Trigonometric ----------------------145 146 static inline {147 float sin( float x ) { return sinf( x ); }148 // extern "C" { double sin( double ); }149 long double sin( long double x ) { return sinl( x ); }150 float _Complex sin( float _Complex x ) { return csinf( x ); }151 double _Complex sin( double _Complex x ) { return csin( x ); }152 long double _Complex sin( long double _Complex x ) { return csinl( x ); }153 154 float cos( float x ) { return cosf( x ); }155 // extern "C" { double cos( double ); }156 long double cos( long double x ) { return cosl( x ); }157 float _Complex cos( float _Complex x ) { return ccosf( x ); }158 double _Complex cos( double _Complex x ) { return ccos( x ); }159 long double _Complex cos( long double _Complex x ) { return ccosl( x ); }160 161 float tan( float x ) { return tanf( x ); }162 // extern "C" { double tan( double ); }163 long double tan( long double x ) { return tanl( x ); }164 float _Complex tan( float _Complex x ) { return ctanf( x ); }165 double _Complex tan( double _Complex x ) { return ctan( x ); }166 long double _Complex tan( long double _Complex x ) { return ctanl( x ); }167 168 float asin( float x ) { return asinf( x ); }169 // extern "C" { double asin( double ); }170 long double asin( long double x ) { return asinl( x ); }171 float _Complex asin( float _Complex x ) { return casinf( x ); }172 double _Complex asin( double _Complex x ) { return casin( x ); }173 long double _Complex asin( long double _Complex x ) { return casinl( x ); }174 175 float acos( float x ) { return acosf( x ); }176 // extern "C" { double acos( double ); }177 long double acos( long double x ) { return acosl( x ); }178 float _Complex acos( float _Complex x ) { return cacosf( x ); }179 double _Complex acos( double _Complex x ) { return cacos( x ); }180 long double _Complex acos( long double _Complex x ) { return cacosl( x ); }181 182 float atan( float x ) { return atanf( x ); }183 // extern "C" { double atan( double ); }184 long double atan( long double x ) { return atanl( x ); }185 float _Complex atan( float _Complex x ) { return catanf( x ); }186 double _Complex atan( double _Complex x ) { return catan( x ); }187 long double _Complex atan( long double _Complex x ) { return catanl( x ); }188 189 float atan2( float x, float y ) { return atan2f( x, y ); }190 // extern "C" { double atan2( double, double ); }191 long double atan2( long double x, long double y ) { return atan2l( x, y ); }192 193 // alternative name for atan2194 float atan( float x, float y ) { return atan2f( x, y ); }195 double atan( double x, double y ) { return atan2( x, y ); }196 long double atan( long double x, long double y ) { return atan2l( x, y ); }197 } // distribution198 199 //---------------------- Hyperbolic ----------------------200 201 static inline {202 float sinh( float x ) { return sinhf( x ); }203 // extern "C" { double sinh( double ); }204 long double sinh( long double x ) { return sinhl( x ); }205 float _Complex sinh( float _Complex x ) { return csinhf( x ); }206 double _Complex sinh( double _Complex x ) { return csinh( x ); }207 long double _Complex sinh( long double _Complex x ) { return csinhl( x ); }208 209 float cosh( float x ) { return coshf( x ); }210 // extern "C" { double cosh( double ); }211 long double cosh( long double x ) { return coshl( x ); }212 float _Complex cosh( float _Complex x ) { return ccoshf( x ); }213 double _Complex cosh( double _Complex x ) { return ccosh( x ); }214 long double _Complex cosh( long double _Complex x ) { return ccoshl( x ); }215 216 float tanh( float x ) { return tanhf( x ); }217 // extern "C" { double tanh( double ); }218 long double tanh( long double x ) { return tanhl( x ); }219 float _Complex tanh( float _Complex x ) { return ctanhf( x ); }220 double _Complex tanh( double _Complex x ) { return ctanh( x ); }221 long double _Complex tanh( long double _Complex x ) { return ctanhl( x ); }222 223 float asinh( float x ) { return asinhf( x ); }224 // extern "C" { double asinh( double ); }225 long double asinh( long double x ) { return asinhl( x ); }226 float _Complex asinh( float _Complex x ) { return casinhf( x ); }227 double _Complex asinh( double _Complex x ) { return casinh( x ); }228 long double _Complex asinh( long double _Complex x ) { return casinhl( x ); }229 230 float acosh( float x ) { return acoshf( x ); }231 // extern "C" { double acosh( double ); }232 long double acosh( long double x ) { return acoshl( x ); }233 float _Complex acosh( float _Complex x ) { return cacoshf( x ); }234 double _Complex acosh( double _Complex x ) { return cacosh( x ); }235 long double _Complex acosh( long double _Complex x ) { return cacoshl( x ); }236 237 float atanh( float x ) { return atanhf( x ); }238 // extern "C" { double atanh( double ); }239 long double atanh( long double x ) { return atanhl( x ); }240 float _Complex atanh( float _Complex x ) { return catanhf( x ); }241 double _Complex atanh( double _Complex x ) { return catanh( x ); }242 long double _Complex atanh( long double _Complex x ) { return catanhl( x ); }243 } // distribution244 245 //---------------------- Error / Gamma ----------------------246 247 static inline {248 float erf( float x ) { return erff( x ); }249 // extern "C" { double erf( double ); }250 long double erf( long double x ) { return erfl( x ); }251 // float _Complex erf( float _Complex );252 // double _Complex erf( double _Complex );253 // long double _Complex erf( long double _Complex );254 255 float erfc( float x ) { return erfcf( x ); }256 // extern "C" { double erfc( double ); }257 long double erfc( long double x ) { return erfcl( x ); }258 // float _Complex erfc( float _Complex );259 // double _Complex erfc( double _Complex );260 // long double _Complex erfc( long double _Complex );261 262 float lgamma( float x ) { return lgammaf( x ); }263 // extern "C" { double lgamma( double ); }264 long double lgamma( long double x ) { return lgammal( x ); }265 float lgamma( float x, int * sign ) { return lgammaf_r( x, sign ); }266 double lgamma( double x, int * sign ) { return lgamma_r( x, sign ); }267 long double lgamma( long double x, int * sign ) { return lgammal_r( x, sign ); }268 269 float tgamma( float x ) { return tgammaf( x ); }270 // extern "C" { double tgamma( double ); }271 long double tgamma( long double x ) { return tgammal( x ); }272 } // distribution273 274 //---------------------- Nearest Integer ----------------------275 276 static inline {277 signed char floor( signed char n, signed char align ) { return n / align * align; }278 unsigned char floor( unsigned char n, unsigned char align ) { return n / align * align; }279 short int floor( short int n, short int align ) { return n / align * align; }280 unsigned short int floor( unsigned short int n, unsigned short int align ) { return n / align * align; }281 int floor( int n, int align ) { return n / align * align; }282 unsigned int floor( unsigned int n, unsigned int align ) { return n / align * align; }283 long int floor( long int n, long int align ) { return n / align * align; }284 unsigned long int floor( unsigned long int n, unsigned long int align ) { return n / align * align; }285 long long int floor( long long int n, long long int align ) { return n / align * align; }286 unsigned long long int floor( unsigned long long int n, unsigned long long int align ) { return n / align * align; }287 288 // forall( otype T | { T ?/?( T, T ); T ?*?( T, T ); } )289 // T floor( T n, T align ) { return n / align * align; }290 291 signed char ceiling_div( signed char n, char align ) { return (n + (align - 1)) / align; }292 unsigned char ceiling_div( unsigned char n, unsigned char align ) { return (n + (align - 1)) / align; }293 short int ceiling_div( short int n, short int align ) { return (n + (align - 1)) / align; }294 unsigned short int ceiling_div( unsigned short int n, unsigned short int align ) { return (n + (align - 1)) / align; }295 int ceiling_div( int n, int align ) { return (n + (align - 1)) / align; }296 unsigned int ceiling_div( unsigned int n, unsigned int align ) { return (n + (align - 1)) / align; }297 long int ceiling_div( long int n, long int align ) { return (n + (align - 1)) / align; }298 unsigned long int ceiling_div( unsigned long int n, unsigned long int align ) { return (n + (align - 1)) / align; }299 long long int ceiling_div( long long int n, long long int align ) { return (n + (align - 1)) / align; }300 unsigned long long int ceiling_div( unsigned long long int n, unsigned long long int align ) { return (n + (align - 1)) / align; }301 302 // forall( otype T | { T ?+?( T, T ); T ?-?( T, T ); T ?%?( T, T ); } )303 // T ceiling_div( T n, T align ) { verify( is_pow2( align ) );return (n + (align - 1)) / align; }304 305 // gcc notices the div/mod pair and saves both so only one div.306 signed char ceiling( signed char n, signed char align ) { return floor( n + (n % align != 0 ? align - 1 : 0), align ); }307 unsigned char ceiling( unsigned char n, unsigned char align ) { return floor( n + (n % align != 0 ? align - 1 : 0), align ); }308 short int ceiling( short int n, short int align ) { return floor( n + (n % align != 0 ? align - 1 : 0), align ); }309 unsigned short int ceiling( unsigned short int n, unsigned short int align ) { return floor( n + (n % align != 0 ? align - 1 : 0), align ); }310 int ceiling( int n, int align ) { return floor( n + (n % align != 0 ? align - 1 : 0), align ); }311 unsigned int ceiling( unsigned int n, unsigned int align ) { return floor( n + (n % align != 0 ? align - 1 : 0), align ); }312 long int ceiling( long int n, long int align ) { return floor( n + (n % align != 0 ? align - 1 : 0), align ); }313 unsigned long int ceiling( unsigned long int n, unsigned long int align ) { return floor( n + (n % align != 0 ? align - 1 : 0) , align); }314 long long int ceiling( long long int n, long long int align ) { return floor( n + (n % align != 0 ? align - 1 : 0), align ); }315 unsigned long long int ceiling( unsigned long long int n, unsigned long long int align ) { return floor( n + (n % align != 0 ? align - 1 : 0), align ); }316 317 // forall( otype T | { void ?{}( T &, one_t ); T ?+?( T, T ); T ?-?( T, T ); T ?/?( T, T ); } )318 // T ceiling( T n, T align ) { return return floor( n + (n % align != 0 ? align - 1 : 0), align ); *}319 320 float floor( float x ) { return floorf( x ); }321 // extern "C" { double floor( double ); }322 long double floor( long double x ) { return floorl( x ); }323 324 float ceil( float x ) { return ceilf( x ); }325 // extern "C" { double ceil( double ); }326 long double ceil( long double x ) { return ceill( x ); }327 328 float trunc( float x ) { return truncf( x ); }329 // extern "C" { double trunc( double ); }330 long double trunc( long double x ) { return truncl( x ); }331 332 float rint( float x ) { return rintf( x ); }333 // extern "C" { double rint( double x ); }334 long double rint( long double x ) { return rintl( x ); }335 long int rint( float x ) { return lrintf( x ); }336 long int rint( double x ) { return lrint( x ); }337 long int rint( long double x ) { return lrintl( x ); }338 long long int rint( float x ) { return llrintf( x ); }339 long long int rint( double x ) { return llrint( x ); }340 long long int rint( long double x ) { return llrintl( x ); }341 342 long int lrint( float x ) { return lrintf( x ); }343 // extern "C" { long int lrint( double ); }344 long int lrint( long double x ) { return lrintl( x ); }345 long long int llrint( float x ) { return llrintf( x ); }346 // extern "C" { long long int llrint( double ); }347 long long int llrint( long double x ) { return llrintl( x ); }348 349 float nearbyint( float x ) { return nearbyintf( x ); }350 // extern "C" { double nearbyint( double ); }351 long double nearbyint( long double x ) { return nearbyintl( x ); }352 353 float round( float x ) { return roundf( x ); }354 // extern "C" { double round( double x ); }355 long double round( long double x ) { return roundl( x ); }356 long int round( float x ) { return lroundf( x ); }357 long int round( double x ) { return lround( x ); }358 long int round( long double x ) { return lroundl( x ); }359 long long int round( float x ) { return llroundf( x ); }360 long long int round( double x ) { return llround( x ); }361 long long int round( long double x ) { return llroundl( x ); }362 363 long int lround( float x ) { return lroundf( x ); }364 // extern "C" { long int lround( double ); }365 long int lround( long double x ) { return lroundl( x ); }366 long long int llround( float x ) { return llroundf( x ); }367 // extern "C" { long long int llround( double ); }368 long long int llround( long double x ) { return llroundl( x ); }369 } // distribution370 371 //---------------------- Manipulation ----------------------372 373 static inline {374 float copysign( float x, float y ) { return copysignf( x, y ); }375 // extern "C" { double copysign( double, double ); }376 long double copysign( long double x, long double y ) { return copysignl( x, y ); }377 378 float frexp( float x, int * ip ) { return frexpf( x, ip ); }379 // extern "C" { double frexp( double, int * ); }380 long double frexp( long double x, int * ip ) { return frexpl( x, ip ); }381 382 float ldexp( float x, int exp2 ) { return ldexpf( x, exp2 ); }383 // extern "C" { double ldexp( double, int ); }384 long double ldexp( long double x, int exp2 ) { return ldexpl( x, exp2 ); }385 386 [ float, float ] modf( float x ) { float i; x = modff( x, &i ); return [ i, x ]; }387 float modf( float x, float * i ) { return modff( x, i ); }388 [ double, double ] modf( double x ) { double i; x = modf( x, &i ); return [ i, x ]; }389 // extern "C" { double modf( double, double * ); }390 [ long double, long double ] modf( long double x ) { long double i; x = modfl( x, &i ); return [ i, x ]; }391 long double modf( long double x, long double * i ) { return modfl( x, i ); }392 393 float nextafter( float x, float y ) { return nextafterf( x, y ); }394 // extern "C" { double nextafter( double, double ); }395 long double nextafter( long double x, long double y ) { return nextafterl( x, y ); }396 397 float nexttoward( float x, long double y ) { return nexttowardf( x, y ); }398 // extern "C" { double nexttoward( double, long double ); }399 long double nexttoward( long double x, long double y ) { return nexttowardl( x, y ); }400 401 float scalbn( float x, int exp ) { return scalbnf( x, exp ); }402 // extern "C" { double scalbn( double, int ); }403 long double scalbn( long double x, int exp ) { return scalbnl( x, exp ); }404 float scalbn( float x, long int exp ) { return scalblnf( x, exp ); }405 double scalbn( double x, long int exp ) { return scalbln( x, exp ); }406 long double scalbn( long double x, long int exp ) { return scalblnl( x, exp ); }407 408 float scalbln( float x, long int exp ) { return scalblnf( x, exp ); }409 // extern "C" { double scalbln( double, long int ); }410 long double scalbln( long double x, long int exp ) { return scalblnl( x, exp ); }411 } // distribution412 413 354 //--------------------------------------- 414 355 415 static inline { 416 forall( otype T | { void ?{}( T &, one_t ); T ?+?( T, T ); T ?-?( T, T );T ?*?( T, T ); } ) 417 T lerp( T x, T y, T a ) { return x * ((T){1} - a) + y * a; } 418 419 forall( otype T | { void ?{}( T &, zero_t ); void ?{}( T &, one_t ); int ?<?( T, T ); } ) 420 T step( T edge, T x ) { return x < edge ? (T){0} : (T){1}; } 421 422 forall( otype T | { void ?{}( T &, int ); T clamp( T, T, T ); T ?-?( T, T ); T ?*?( T, T ); T ?/?( T, T ); } ) 423 T smoothstep( T edge0, T edge1, T x ) { T t = clamp( (x - edge0) / (edge1 - edge0), (T){0}, (T){1} ); return t * t * ((T){3} - (T){2} * t); } 424 } // distribution 356 forall( otype T | { void ?{}( T &, one_t ); T ?+?( T, T ); T ?-?( T, T );T ?*?( T, T ); } ) 357 T lerp( T x, T y, T a ) { return x * ((T){1} - a) + y * a; } 358 359 forall( otype T | { void ?{}( T &, zero_t ); void ?{}( T &, one_t ); int ?<?( T, T ); } ) 360 T step( T edge, T x ) { return x < edge ? (T){0} : (T){1}; } 361 362 forall( otype T | { void ?{}( T &, int ); T clamp( T, T, T ); T ?-?( T, T ); T ?*?( T, T ); T ?/?( T, T ); } ) 363 T smoothstep( T edge0, T edge1, T x ) { T t = clamp( (x - edge0) / (edge1 - edge0), (T){0}, (T){1} ); return t * t * ((T){3} - (T){2} * t); } 425 364 426 365 // Local Variables: // -
libcfa/src/stdlib.hfa
r25a1cb0 r8d8ac3b 114 114 } // distribution 115 115 116 /* 117 FIX ME : fix alloc interface after Ticker Number 214 is resolved, define and add union to S_fill. Then, modify postfix-fill functions to support T * with nmemb, char, and T object of any size. Finally, change alloc_internal. 118 Or, just follow the instructions below for that. 119 120 1. Replace the current forall-block that contains defintions of S_fill and S_realloc with following: 121 forall( dtype T | sized(T) ) { 122 union U_fill { char c; T * a; T t; }; 123 struct S_fill { char tag; char c; size_t size; T * at; char t[50]; }; 124 struct S_realloc { inline T *; }; 125 } 126 127 2. Replace all current postfix-fill functions with following for updated S_fill: 128 S_fill(T) ?`fill( char a ) { S_fill(T) ret = {'c'}; ret.fill.c = a; return ret; } 129 S_fill(T) ?`fill( T a ) { S_fill(T) ret = {'t'}; memcpy(&ret.fill.t, &a, sizeof(T)); return ret; } 130 S_fill(T) ?`fill( T a[], size_t nmemb ) { S_fill(T) ret = {'a', nmemb}; ret.fill.a = a; return ret; } 131 132 3. Replace the $alloc_internal function which is outside ttype forall-block with following function: 133 T * $alloc_internal( void * Resize, T * Realloc, size_t Align, size_t Dim, S_fill(T) Fill) { 134 T * ptr = NULL; 135 size_t size = sizeof(T); 136 size_t copy_end = 0; 137 138 if(Resize) { 139 ptr = (T*) (void *) resize( (int *)Resize, Align, Dim * size ); 140 } else if (Realloc) { 141 if (Fill.tag != '0') copy_end = min(malloc_size( Realloc ), Dim * size); 142 ptr = (T*) (void *) realloc( (int *)Realloc, Align, Dim * size ); 143 } else { 144 ptr = (T*) (void *) memalign( Align, Dim * size ); 145 } 146 147 if(Fill.tag == 'c') { 148 memset( (char *)ptr + copy_end, (int)Fill.fill.c, Dim * size - copy_end ); 149 } else if(Fill.tag == 't') { 150 for ( int i = copy_end; i <= Dim * size - size ; i += size ) { 151 memcpy( (char *)ptr + i, &Fill.fill.t, size ); 152 } 153 } else if(Fill.tag == 'a') { 154 memcpy( (char *)ptr + copy_end, Fill.fill.a, min(Dim * size - copy_end, size * Fill.nmemb) ); 155 } 156 157 return ptr; 158 } // $alloc_internal 159 */ 160 161 typedef struct S_align { inline size_t; } T_align; 162 typedef struct S_resize { inline void *; } T_resize; 163 164 forall( dtype T ) { 165 struct S_fill { char tag; char c; size_t size; T * at; char t[50]; }; 166 struct S_realloc { inline T *; }; 167 } 168 169 static inline T_align ?`align ( size_t a ) { return (T_align){a}; } 170 static inline T_resize ?`resize ( void * a ) { return (T_resize){a}; } 171 static inline forall( dtype T | sized(T) ) { 172 173 S_fill(T) ?`fill ( T t ) { 174 S_fill(T) ret = { 't' }; 175 size_t size = sizeof(T); 176 if(size > sizeof(ret.t)) { printf("ERROR: const object of size greater than 50 bytes given for dynamic memory fill\n"); exit(1); } 177 memcpy( &ret.t, &t, size ); 178 return ret; 179 } 180 S_fill(T) ?`fill ( char c ) { return (S_fill(T)){ 'c', c }; } 181 S_fill(T) ?`fill ( T * a ) { return (S_fill(T)){ 'T', '0', 0, a }; } 182 S_fill(T) ?`fill ( T a[], size_t nmemb ) { return (S_fill(T)){ 'a', '0', nmemb * sizeof(T), a }; } 183 184 S_realloc(T) ?`realloc ( T * a ) { return (S_realloc(T)){a}; } 185 186 T * $alloc_internal( void * Resize, T * Realloc, size_t Align, size_t Dim, S_fill(T) Fill) { 187 T * ptr = NULL; 188 size_t size = sizeof(T); 189 size_t copy_end = 0; 190 191 if(Resize) { 192 ptr = (T*) (void *) resize( (int *)Resize, Align, Dim * size ); 193 } else if (Realloc) { 194 if (Fill.tag != '0') copy_end = min(malloc_size( Realloc ), Dim * size); 195 ptr = (T*) (void *) realloc( (int *)Realloc, Align, Dim * size ); 116 static inline forall( dtype T | sized(T) ) { 117 // Cforall safe general allocation, fill, resize, array 118 119 T * alloc( void ) { 120 return malloc(); 121 } // alloc 122 123 T * alloc( size_t dim ) { 124 return aalloc( dim ); 125 } // alloc 126 127 forall( dtype S | sized(S) ) 128 T * alloc( S ptr[], size_t dim = 1 ) { // singleton/array resize 129 return resize( (T *)ptr, dim * sizeof(T) ); // CFA resize 130 } // alloc 131 132 T * alloc( T ptr[], size_t dim = 1, bool copy = true ) { 133 if ( copy ) { 134 return realloc( ptr, dim * sizeof(T) ); // CFA realloc 196 135 } else { 197 ptr = (T*) (void *) memalign( Align, Dim * size ); 198 } 199 200 if(Fill.tag == 'c') { 201 memset( (char *)ptr + copy_end, (int)Fill.c, Dim * size - copy_end ); 202 } else if(Fill.tag == 't') { 203 for ( int i = copy_end; i < Dim * size; i += size ) { 204 memcpy( (char *)ptr + i, &Fill.t, size ); 205 } 206 } else if(Fill.tag == 'a') { 207 memcpy( (char *)ptr + copy_end, Fill.at, min(Dim * size - copy_end, Fill.size) ); 208 } else if(Fill.tag == 'T') { 209 for ( int i = copy_end; i < Dim * size; i += size ) { 210 memcpy( (char *)ptr + i, Fill.at, size ); 211 } 212 } 213 214 return ptr; 215 } // $alloc_internal 216 217 forall( ttype TT | { T * $alloc_internal( void *, T *, size_t, size_t, S_fill(T), TT ); } ) { 218 219 T * $alloc_internal( void * , T * Realloc, size_t Align, size_t Dim, S_fill(T) Fill, T_resize Resize, TT rest) { 220 return $alloc_internal( Resize, (T*)0p, Align, Dim, Fill, rest); 221 } 222 223 T * $alloc_internal( void * Resize, T * , size_t Align, size_t Dim, S_fill(T) Fill, S_realloc(T) Realloc, TT rest) { 224 return $alloc_internal( (void*)0p, Realloc, Align, Dim, Fill, rest); 225 } 226 227 T * $alloc_internal( void * Resize, T * Realloc, size_t , size_t Dim, S_fill(T) Fill, T_align Align, TT rest) { 228 return $alloc_internal( Resize, Realloc, Align, Dim, Fill, rest); 229 } 230 231 T * $alloc_internal( void * Resize, T * Realloc, size_t Align, size_t Dim, S_fill(T) , S_fill(T) Fill, TT rest) { 232 return $alloc_internal( Resize, Realloc, Align, Dim, Fill, rest); 233 } 234 235 T * alloc( TT all ) { 236 return $alloc_internal( (void*)0p, (T*)0p, (_Alignof(T) > libAlign() ? _Alignof(T) : libAlign()), (size_t)1, (S_fill(T)){'0'}, all); 237 } 238 239 T * alloc( size_t dim, TT all ) { 240 return $alloc_internal( (void*)0p, (T*)0p, (_Alignof(T) > libAlign() ? _Alignof(T) : libAlign()), dim, (S_fill(T)){'0'}, all); 241 } 242 243 } // distribution TT 244 245 } // distribution T 136 return resize( ptr, dim * sizeof(T) ); // CFA resize 137 } // if 138 } // alloc 139 140 T * alloc_set( char fill ) { 141 return (T *)memset( (T *)alloc(), (int)fill, sizeof(T) ); // initialize with fill value 142 } // alloc_set 143 144 T * alloc_set( const T & fill ) { 145 return (T *)memcpy( (T *)alloc(), &fill, sizeof(T) ); // initialize with fill value 146 } // alloc_set 147 148 T * alloc_set( size_t dim, char fill ) { 149 return (T *)memset( (T *)alloc( dim ), (int)fill, dim * sizeof(T) ); // initialize with fill value 150 } // alloc_set 151 152 T * alloc_set( size_t dim, const T & fill ) { 153 T * r = (T *)alloc( dim ); 154 for ( i; dim ) { memcpy( &r[i], &fill, sizeof(T) ); } // initialize with fill value 155 return r; 156 } // alloc_set 157 158 T * alloc_set( size_t dimNew, const T fill[], size_t dimOld ) { 159 return (T *)memcpy( (T *)alloc( dimNew ), fill, min( dimNew, dimOld ) * sizeof(T) ); // initialize with fill value 160 } // alloc_set 161 162 T * alloc_set( T ptr[], size_t dim, char fill ) { // realloc array with fill 163 size_t osize = malloc_size( ptr ); // current allocation 164 size_t nsize = dim * sizeof(T); // new allocation 165 T * nptr = realloc( ptr, nsize ); // CFA realloc 166 if ( nsize > osize ) { // larger ? 167 memset( (char *)nptr + osize, (int)fill, nsize - osize ); // initialize added storage 168 } // if 169 return nptr; 170 } // alloc_set 171 172 T * alloc_set( T ptr[], size_t dim, const T & fill ) { // realloc array with fill 173 size_t odim = malloc_size( ptr ) / sizeof(T); // current dimension 174 size_t nsize = dim * sizeof(T); // new allocation 175 size_t ndim = nsize / sizeof(T); // new dimension 176 T * nptr = realloc( ptr, nsize ); // CFA realloc 177 if ( ndim > odim ) { // larger ? 178 for ( i; odim ~ ndim ) { 179 memcpy( &nptr[i], &fill, sizeof(T) ); // initialize with fill value 180 } // for 181 } // if 182 return nptr; 183 } // alloc_set 184 } // distribution 185 186 static inline forall( dtype T | sized(T) ) { 187 T * alloc_align( size_t align ) { 188 return (T *)memalign( align, sizeof(T) ); 189 } // alloc_align 190 191 T * alloc_align( size_t align, size_t dim ) { 192 return (T *)memalign( align, dim * sizeof(T) ); 193 } // alloc_align 194 195 T * alloc_align( T * ptr, size_t align ) { // aligned realloc array 196 return (T *)(void *)realloc( (void *)ptr, align, sizeof(T) ); // CFA C realloc 197 } // alloc_align 198 199 forall( dtype S | sized(S) ) 200 T * alloc_align( S ptr[], size_t align ) { // aligned reuse array 201 return (T *)(void *)resize( (void *)ptr, align, sizeof(T) ); // CFA realloc 202 } // alloc_align 203 204 T * alloc_align( T ptr[], size_t align, size_t dim ) { // aligned realloc array 205 return (T *)(void *)realloc( (void *)ptr, align, dim * sizeof(T) ); // CFA realloc 206 } // alloc_align 207 208 T * alloc_align_set( size_t align, char fill ) { 209 return (T *)memset( (T *)alloc_align( align ), (int)fill, sizeof(T) ); // initialize with fill value 210 } // alloc_align_set 211 212 T * alloc_align_set( size_t align, const T & fill ) { 213 return (T *)memcpy( (T *)alloc_align( align ), &fill, sizeof(T) ); // initialize with fill value 214 } // alloc_align_set 215 216 T * alloc_align_set( size_t align, size_t dim, char fill ) { 217 return (T *)memset( (T *)alloc_align( align, dim ), (int)fill, dim * sizeof(T) ); // initialize with fill value 218 } // alloc_align_set 219 220 T * alloc_align_set( size_t align, size_t dim, const T & fill ) { 221 T * r = (T *)alloc_align( align, dim ); 222 for ( i; dim ) { memcpy( &r[i], &fill, sizeof(T) ); } // initialize with fill value 223 return r; 224 } // alloc_align_set 225 226 T * alloc_align_set( size_t align, size_t dimNew, const T fill[], size_t dimOld ) { 227 return (T *)memcpy( (T *)alloc_align( align, dimNew ), fill, min( dimNew, dimOld ) * sizeof(T) ); 228 } // alloc_align_set 229 230 T * alloc_align_set( T ptr[], size_t align, size_t dim, char fill ) { 231 size_t osize = malloc_size( ptr ); // current allocation 232 size_t nsize = dim * sizeof(T); // new allocation 233 T * nptr = alloc_align( ptr, align, nsize ); 234 if ( nsize > osize ) { // larger ? 235 memset( (char *)nptr + osize, (int)fill, nsize - osize ); // initialize added storage 236 } // if 237 return nptr; 238 } // alloc_align_set 239 240 T * alloc_align_set( T ptr[], size_t align, size_t dim, const T & fill ) { 241 size_t odim = malloc_size( ptr ) / sizeof(T); // current dimension 242 size_t nsize = dim * sizeof(T); // new allocation 243 size_t ndim = nsize / sizeof(T); // new dimension 244 T * nptr = alloc_align( ptr, align, nsize ); 245 if ( ndim > odim ) { // larger ? 246 for ( i; odim ~ ndim ) { 247 memcpy( &nptr[i], &fill, sizeof(T) ); // initialize with fill value 248 } // for 249 } // if 250 return nptr; 251 } // alloc_align_set 252 } // distribution 246 253 247 254 static inline forall( dtype T | sized(T) ) { -
src/AST/Convert.cpp
r25a1cb0 r8d8ac3b 705 705 new KeywordCastExpr( 706 706 get<Expression>().accept1(node->arg), 707 castTarget, 708 {node->concrete_target.field, node->concrete_target.getter} 707 castTarget 709 708 ) 710 709 ); … … 2088 2087 old->location, 2089 2088 GET_ACCEPT_1(arg, Expr), 2090 castTarget, 2091 {old->concrete_target.field, old->concrete_target.getter} 2089 castTarget 2092 2090 ) 2093 2091 ); -
src/AST/Copy.hpp
r25a1cb0 r8d8ac3b 21 21 #include "Stmt.hpp" 22 22 #include "Type.hpp" 23 #include <unordered_set>24 #include <unordered_map>25 23 26 24 namespace ast { -
src/AST/Expr.hpp
r25a1cb0 r8d8ac3b 312 312 public: 313 313 ptr<Expr> arg; 314 struct Concrete {315 std::string field;316 std::string getter;317 318 Concrete() = default;319 Concrete(const Concrete &) = default;320 };321 314 ast::AggregateDecl::Aggregate target; 322 Concrete concrete_target;323 324 315 325 316 KeywordCastExpr( const CodeLocation & loc, const Expr * a, ast::AggregateDecl::Aggregate t ) 326 317 : Expr( loc ), arg( a ), target( t ) {} 327 328 KeywordCastExpr( const CodeLocation & loc, const Expr * a, ast::AggregateDecl::Aggregate t, const Concrete & ct )329 : Expr( loc ), arg( a ), target( t ), concrete_target( ct ) {}330 318 331 319 /// Get a name for the target type -
src/AST/Pass.hpp
r25a1cb0 r8d8ac3b 266 266 267 267 /// Keep track of the polymorphic const TypeSubstitution * env for the current expression 268 269 /// marker to force shallow copies in pass visit270 struct PureVisitor {};271 272 268 struct WithConstTypeSubstitution { 273 269 const TypeSubstitution * env = nullptr; -
src/AST/Pass.impl.hpp
r25a1cb0 r8d8ac3b 21 21 22 22 #include "AST/TypeSubstitution.hpp" 23 // #include "AST/Copy.hpp"24 23 25 24 #define VISIT_START( node ) \ … … 58 57 59 58 namespace ast { 60 template<typename node_t>61 node_t * shallowCopy( const node_t * node );62 63 59 namespace __pass { 64 60 // Check if this is either a null pointer or a pointer to an empty container … … 66 62 static inline bool empty( T * ptr ) { 67 63 return !ptr || ptr->empty(); 68 }69 70 template< typename core_t, typename node_t >71 static inline node_t* mutate(const node_t *node) {72 return std::is_base_of<PureVisitor, core_t>::value ? ::ast::shallowCopy(node) : ::ast::mutate(node);73 64 } 74 65 … … 329 320 330 321 if( __pass::differs(old_val, new_val) ) { 331 // auto new_parent = mutate(parent); 332 auto new_parent = __pass::mutate<core_t>(parent); 322 auto new_parent = mutate(parent); 333 323 new_parent->*child = new_val; 334 324 parent = new_parent; … … 344 334 if ( node->forall.empty() ) return; 345 335 346 node_t * mut = __pass::mutate<core_t>( node );336 node_t * mut = mutate( node ); 347 337 mut->forall = subs->clone( node->forall, *this ); 348 338 node = mut; … … 904 894 905 895 if(mutated) { 906 auto n = __pass::mutate<core_t>(node);896 auto n = mutate(node); 907 897 n->clauses = std::move( new_clauses ); 908 898 node = n; … … 914 904 auto nval = call_accept( node->field ); \ 915 905 if(nval != node->field ) { \ 916 auto nparent = __pass::mutate<core_t>(node); \906 auto nparent = mutate(node); \ 917 907 nparent->field = nval; \ 918 908 node = nparent; \ … … 1620 1610 1621 1611 if(mutated) { 1622 auto n = __pass::mutate<core_t>(node);1612 auto n = mutate(node); 1623 1613 n->associations = std::move( new_kids ); 1624 1614 node = n; … … 1950 1940 } 1951 1941 if (mutated) { 1952 auto new_node = __pass::mutate<core_t>( node );1942 auto new_node = mutate( node ); 1953 1943 new_node->typeEnv.swap( new_map ); 1954 1944 node = new_node; … … 1966 1956 } 1967 1957 if (mutated) { 1968 auto new_node = __pass::mutate<core_t>( node );1958 auto new_node = mutate( node ); 1969 1959 new_node->varEnv.swap( new_map ); 1970 1960 node = new_node; -
src/AST/Pass.proto.hpp
r25a1cb0 r8d8ac3b 22 22 template<typename core_t> 23 23 class Pass; 24 25 struct PureVisitor;26 24 27 25 namespace __pass { -
src/AST/Print.cpp
r25a1cb0 r8d8ac3b 21 21 #include "Type.hpp" 22 22 #include "TypeSubstitution.hpp" 23 #include "CompilationState.h"24 23 25 24 #include "Common/utility.h" // for group_iterate … … 240 239 241 240 if ( node->result ) { 242 if (!deterministic_output) { 243 os << endl << indent << "... with resolved type:" << endl; 244 ++indent; 245 os << indent; 246 node->result->accept( *this ); 247 --indent; 248 } 241 os << endl << indent << "... with resolved type:" << endl; 242 ++indent; 243 os << indent; 244 node->result->accept( *this ); 245 --indent; 249 246 } 250 247 -
src/AST/TypeSubstitution.hpp
r25a1cb0 r8d8ac3b 159 159 160 160 // definitition must happen after PassVisitor is included so that WithGuards can be used 161 struct TypeSubstitution::Substituter : public WithGuards, public WithVisitorRef<Substituter> , public PureVisitor{161 struct TypeSubstitution::Substituter : public WithGuards, public WithVisitorRef<Substituter> { 162 162 static size_t traceId; 163 163 … … 187 187 assert( input ); 188 188 Pass<Substituter> sub( *this, false ); 189 // input = strict_dynamic_cast< const SynTreeClass * >( deepCopy(input)->accept( sub ) ); 190 input = strict_dynamic_cast< const SynTreeClass * >( input->accept( sub ) ); 189 input = strict_dynamic_cast< const SynTreeClass * >( deepCopy(input)->accept( sub ) ); 191 190 return { input, sub.core.subCount }; 192 191 } … … 196 195 assert( input ); 197 196 Pass<Substituter> sub( *this, true ); 198 // input = strict_dynamic_cast< const SynTreeClass * >( deepCopy(input)->accept( sub ) ); 199 input = strict_dynamic_cast< const SynTreeClass * >( input->accept( sub ) ); 197 input = strict_dynamic_cast< const SynTreeClass * >( deepCopy(input)->accept( sub ) ); 200 198 return { input, sub.core.subCount }; 201 199 } -
src/AST/module.mk
r25a1cb0 r8d8ac3b 17 17 SRC_AST = \ 18 18 AST/AssertAcyclic.cpp \ 19 AST/AssertAcyclic.hpp \20 19 AST/Attribute.cpp \ 21 AST/Attribute.hpp \22 AST/Bitfield.hpp \23 AST/Chain.hpp \24 20 AST/Convert.cpp \ 25 AST/Convert.hpp \26 AST/Copy.hpp \27 AST/CVQualifiers.hpp \28 21 AST/Decl.cpp \ 29 AST/Decl.hpp \30 22 AST/DeclReplacer.cpp \ 31 AST/DeclReplacer.hpp \32 AST/Eval.hpp \33 23 AST/Expr.cpp \ 34 AST/Expr.hpp \35 24 AST/ForallSubstitutionTable.cpp \ 36 AST/ForallSubstitutionTable.hpp \37 AST/ForallSubstitutor.hpp \38 AST/FunctionSpec.hpp \39 AST/Fwd.hpp \40 25 AST/GenericSubstitution.cpp \ 41 AST/GenericSubstitution.hpp \42 26 AST/Init.cpp \ 43 AST/Init.hpp \44 AST/Label.hpp \45 27 AST/LinkageSpec.cpp \ 46 AST/LinkageSpec.hpp \47 28 AST/Node.cpp \ 48 AST/Node.hpp \49 AST/ParseNode.hpp \50 29 AST/Pass.cpp \ 51 AST/Pass.hpp \52 AST/Pass.impl.hpp \53 AST/Pass.proto.hpp \54 30 AST/Print.cpp \ 55 AST/Print.hpp \56 31 AST/Stmt.cpp \ 57 AST/Stmt.hpp \58 AST/StorageClasses.hpp \59 32 AST/SymbolTable.cpp \ 60 AST/SymbolTable.hpp \61 33 AST/Type.cpp \ 62 AST/Type.hpp \63 34 AST/TypeEnvironment.cpp \ 64 AST/TypeEnvironment.hpp \ 65 AST/TypeSubstitution.cpp \ 66 AST/TypeSubstitution.hpp \ 67 AST/Visitor.hpp 35 AST/TypeSubstitution.cpp 68 36 69 37 SRC += $(SRC_AST) -
src/CodeGen/module.mk
r25a1cb0 r8d8ac3b 20 20 SRC_CODEGEN = \ 21 21 CodeGen/CodeGenerator.cc \ 22 CodeGen/CodeGenerator.h \23 22 CodeGen/FixMain.cc \ 24 CodeGen/FixMain.h \25 23 CodeGen/GenType.cc \ 26 CodeGen/GenType.h \ 27 CodeGen/OperatorTable.cc \ 28 CodeGen/OperatorTable.h \ 29 CodeGen/Options.h 24 CodeGen/OperatorTable.cc 30 25 31 SRC += $(SRC_CODEGEN) CodeGen/Generate.cc CodeGen/ Generate.h CodeGen/FixNames.cc CodeGen/FixNames.h26 SRC += $(SRC_CODEGEN) CodeGen/Generate.cc CodeGen/FixNames.cc 32 27 SRCDEMANGLE += $(SRC_CODEGEN) -
src/CodeTools/module.mk
r25a1cb0 r8d8ac3b 15 15 ############################################################################### 16 16 17 SRC += \ 18 CodeTools/DeclStats.cc \ 19 CodeTools/DeclStats.h \ 17 SRC += CodeTools/DeclStats.cc \ 20 18 CodeTools/ResolvProtoDump.cc \ 21 CodeTools/ResolvProtoDump.h \ 22 CodeTools/TrackLoc.cc \ 23 CodeTools/TrackLoc.h 19 CodeTools/TrackLoc.cc -
src/Common/module.mk
r25a1cb0 r8d8ac3b 17 17 SRC_COMMON = \ 18 18 Common/Assert.cc \ 19 Common/CodeLocation.h \20 Common/CompilerError.h \21 Common/Debug.h \22 Common/ErrorObjects.h \23 19 Common/Eval.cc \ 24 Common/FilterCombos.h \25 Common/Indenter.h \26 20 Common/PassVisitor.cc \ 27 Common/PassVisitor.h \28 Common/PassVisitor.impl.h \29 Common/PassVisitor.proto.h \30 Common/PersistentMap.h \31 Common/ScopedMap.h \32 21 Common/SemanticError.cc \ 33 Common/SemanticError.h \34 Common/Stats.h \35 Common/Stats/Base.h \36 22 Common/Stats/Counter.cc \ 37 Common/Stats/Counter.h \38 23 Common/Stats/Heap.cc \ 39 Common/Stats/Heap.h \40 24 Common/Stats/Stats.cc \ 41 25 Common/Stats/Time.cc \ 42 Common/Stats/Time.h \ 43 Common/UnimplementedError.h \ 44 Common/UniqueName.cc \ 45 Common/UniqueName.h \ 46 Common/utility.h \ 47 Common/VectorMap.h 26 Common/UniqueName.cc 48 27 49 28 SRC += $(SRC_COMMON) Common/DebugMalloc.cc -
src/Concurrency/module.mk
r25a1cb0 r8d8ac3b 15 15 ############################################################################### 16 16 17 SRC += Concurrency/Keywords.cc Concurrency/ Keywords.h Concurrency/Waitfor.cc Concurrency/Waitfor.h17 SRC += Concurrency/Keywords.cc Concurrency/Waitfor.cc 18 18 SRCDEMANGLE += Concurrency/Keywords.cc 19 19 -
src/ControlStruct/module.mk
r25a1cb0 r8d8ac3b 17 17 SRC_CONTROLSTRUCT = \ 18 18 ControlStruct/ForExprMutator.cc \ 19 ControlStruct/ForExprMutator.h \20 19 ControlStruct/LabelFixer.cc \ 21 ControlStruct/LabelFixer.h \22 20 ControlStruct/LabelGenerator.cc \ 23 ControlStruct/LabelGenerator.h \24 21 ControlStruct/MLEMutator.cc \ 25 ControlStruct/MLEMutator.h \ 26 ControlStruct/Mutate.cc \ 27 ControlStruct/Mutate.h 22 ControlStruct/Mutate.cc 28 23 29 SRC += $(SRC_CONTROLSTRUCT) ControlStruct/ExceptTranslate.cc ControlStruct/ExceptTranslate.h24 SRC += $(SRC_CONTROLSTRUCT) ControlStruct/ExceptTranslate.cc 30 25 SRCDEMANGLE += $(SRC_CONTROLSTRUCT) 31 26 -
src/GenPoly/module.mk
r25a1cb0 r8d8ac3b 16 16 17 17 SRC += GenPoly/Box.cc \ 18 GenPoly/Box.h \ 19 GenPoly/ErasableScopedMap.h \ 18 GenPoly/GenPoly.cc \ 19 GenPoly/ScrubTyVars.cc \ 20 GenPoly/Lvalue.cc \ 21 GenPoly/Specialize.cc \ 20 22 GenPoly/FindFunction.cc \ 21 GenPoly/FindFunction.h \ 22 GenPoly/GenPoly.cc \ 23 GenPoly/GenPoly.h \ 24 GenPoly/InstantiateGeneric.cc \ 25 GenPoly/InstantiateGeneric.h \ 26 GenPoly/Lvalue.cc \ 27 GenPoly/Lvalue.h \ 28 GenPoly/ScopedSet.h \ 29 GenPoly/ScrubTyVars.cc \ 30 GenPoly/ScrubTyVars.h \ 31 GenPoly/Specialize.cc \ 32 GenPoly/Specialize.h 23 GenPoly/InstantiateGeneric.cc 33 24 34 SRCDEMANGLE += GenPoly/GenPoly.cc GenPoly/ GenPoly.h GenPoly/Lvalue.cc GenPoly/Lvalue.h25 SRCDEMANGLE += GenPoly/GenPoly.cc GenPoly/Lvalue.cc 35 26 -
src/InitTweak/module.mk
r25a1cb0 r8d8ac3b 15 15 ############################################################################### 16 16 17 SRC += \ 17 SRC += InitTweak/GenInit.cc \ 18 InitTweak/FixInit.cc \ 18 19 InitTweak/FixGlobalInit.cc \ 19 InitTweak/FixGlobalInit.h \ 20 InitTweak/FixInit.cc \ 21 InitTweak/FixInit.h \ 22 InitTweak/GenInit.cc \ 23 InitTweak/GenInit.h \ 24 InitTweak/InitTweak.cc \ 25 InitTweak/InitTweak.h 20 InitTweak/InitTweak.cc 26 21 27 SRCDEMANGLE += \ 28 InitTweak/GenInit.cc \ 29 InitTweak/GenInit.h \ 30 InitTweak/InitTweak.cc \ 31 InitTweak/InitTweak.h 22 SRCDEMANGLE += InitTweak/GenInit.cc \ 23 InitTweak/InitTweak.cc 32 24 -
src/Makefile.am
r25a1cb0 r8d8ac3b 20 20 21 21 SRC = main.cc \ 22 CompilationState.cc \23 CompilationState.h \24 22 MakeLibCfa.cc \ 25 MakeLibCfa.h 23 CompilationState.cc 26 24 27 25 SRCDEMANGLE = CompilationState.cc … … 68 66 ___driver_cfa_cpp_SOURCES = $(SRC) 69 67 ___driver_cfa_cpp_LDADD = -ldl $(LIBPROFILER) $(LIBTCMALLOC) 70 EXTRA_DIST = include/cassert include/optional BasicTypes-gen.cc71 68 72 69 AM_CXXFLAGS = @HOST_FLAGS@ -Wno-deprecated -Wall -Wextra -DDEBUG_ALL -I./Parser -I$(srcdir)/Parser -I$(srcdir)/include -DYY_NO_INPUT -O3 -g -std=c++14 $(TCMALLOCFLAG) -
src/Parser/module.mk
r25a1cb0 r8d8ac3b 23 23 Parser/ExpressionNode.cc \ 24 24 Parser/InitializerNode.cc \ 25 Parser/lex.ll \26 25 Parser/ParseNode.cc \ 27 Parser/ParseNode.h \28 Parser/parser.yy \29 Parser/ParserTypes.h \30 Parser/parserutility.cc \31 Parser/parserutility.h \32 26 Parser/StatementNode.cc \ 33 27 Parser/TypeData.cc \ 34 Parser/TypeData.h \35 28 Parser/TypedefTable.cc \ 36 Parser/TypedefTable.h 29 Parser/lex.ll \ 30 Parser/parser.yy \ 31 Parser/parserutility.cc 37 32 38 33 MOSTLYCLEANFILES += Parser/lex.cc Parser/parser.cc Parser/parser.hh Parser/parser.output -
src/ResolvExpr/CandidateFinder.cpp
r25a1cb0 r8d8ac3b 1089 1089 } 1090 1090 1091 void postvisit( const ast::KeywordCastExpr * castExpr ) {1092 const auto & loc = castExpr->location;1093 assertf( castExpr->result, "Cast target should have been set in Validate." );1094 auto ref = castExpr->result.strict_as<ast::ReferenceType>();1095 auto inst = ref->base.strict_as<ast::StructInstType>();1096 auto target = inst->base.get();1097 1098 CandidateFinder finder{ symtab, tenv };1099 1100 auto pick_alternatives = [target, this](CandidateList & found, bool expect_ref) {1101 for(auto & cand : found) {1102 const ast::Type * expr = cand->expr->result.get();1103 if(expect_ref) {1104 auto res = dynamic_cast<const ast::ReferenceType*>(expr);1105 if(!res) { continue; }1106 expr = res->base.get();1107 }1108 1109 if(auto insttype = dynamic_cast<const ast::TypeInstType*>(expr)) {1110 auto td = cand->env.lookup(insttype->name);1111 if(!td) { continue; }1112 expr = td->bound.get();1113 }1114 1115 if(auto base = dynamic_cast<const ast::StructInstType*>(expr)) {1116 if(base->base == target) {1117 candidates.push_back( std::move(cand) );1118 reason.code = NoReason;1119 }1120 }1121 }1122 };1123 1124 try {1125 // Attempt 1 : turn (thread&)X into ($thread&)X.__thrd1126 // Clone is purely for memory management1127 std::unique_ptr<const ast::Expr> tech1 { new ast::UntypedMemberExpr(loc, new ast::NameExpr(loc, castExpr->concrete_target.field), castExpr->arg) };1128 1129 // don't prune here, since it's guaranteed all alternatives will have the same type1130 finder.find( tech1.get(), ResolvMode::withoutPrune() );1131 pick_alternatives(finder.candidates, false);1132 1133 return;1134 } catch(SemanticErrorException & ) {}1135 1136 // Fallback : turn (thread&)X into ($thread&)get_thread(X)1137 std::unique_ptr<const ast::Expr> fallback { ast::UntypedExpr::createDeref(loc, new ast::UntypedExpr(loc, new ast::NameExpr(loc, castExpr->concrete_target.getter), { castExpr->arg })) };1138 // don't prune here, since it's guaranteed all alternatives will have the same type1139 finder.find( fallback.get(), ResolvMode::withoutPrune() );1140 1141 pick_alternatives(finder.candidates, true);1142 1143 // Whatever happens here, we have no more fallbacks1144 }1145 1146 1091 void postvisit( const ast::UntypedMemberExpr * memberExpr ) { 1147 1092 CandidateFinder aggFinder{ symtab, tenv }; -
src/ResolvExpr/Unify.cc
r25a1cb0 r8d8ac3b 767 767 /// If this isn't done when satifying ttype assertions, then argument lists can have 768 768 /// different size and structure when they should be compatible. 769 struct TtypeExpander_new : public ast::WithShortCircuiting , public ast::PureVisitor{769 struct TtypeExpander_new : public ast::WithShortCircuiting { 770 770 ast::TypeEnvironment & tenv; 771 771 … … 793 793 // TtypeExpander pass is impure (may mutate nodes in place) 794 794 // need to make nodes shared to prevent accidental mutation 795 ast::ptr<ast::DeclWithType> dc = d->accept(expander); 795 ast::ptr<ast::DeclWithType> dc = d; 796 dc = dc->accept( expander ); 796 797 auto types = flatten( dc->get_type() ); 797 798 for ( ast::ptr< ast::Type > & t : types ) { … … 1113 1114 ast::Pass<TtypeExpander_new> expander{ tenv }; 1114 1115 1115 //ast::ptr<ast::TupleType> tuplec = tuple;1116 //ast::ptr<ast::TupleType> tuple2c = tuple2;1117 const ast::Type * flat = tuple ->accept( expander );1118 const ast::Type * flat2 = tuple2 ->accept( expander );1116 ast::ptr<ast::TupleType> tuplec = tuple; 1117 ast::ptr<ast::TupleType> tuple2c = tuple2; 1118 const ast::Type * flat = tuplec->accept( expander ); 1119 const ast::Type * flat2 = tuple2c->accept( expander ); 1119 1120 1120 1121 auto types = flatten( flat ); -
src/ResolvExpr/module.mk
r25a1cb0 r8d8ac3b 19 19 ResolvExpr/Alternative.cc \ 20 20 ResolvExpr/AlternativeFinder.cc \ 21 ResolvExpr/AlternativeFinder.h \22 ResolvExpr/Alternative.h \23 21 ResolvExpr/Candidate.cpp \ 24 22 ResolvExpr/CandidateFinder.cpp \ 25 ResolvExpr/CandidateFinder.hpp \26 ResolvExpr/Candidate.hpp \27 23 ResolvExpr/CastCost.cc \ 28 24 ResolvExpr/CommonType.cc \ 29 25 ResolvExpr/ConversionCost.cc \ 30 ResolvExpr/ConversionCost.h \31 ResolvExpr/Cost.h \32 26 ResolvExpr/CurrentObject.cc \ 33 ResolvExpr/CurrentObject.h \34 27 ResolvExpr/ExplodedActual.cc \ 35 ResolvExpr/ExplodedActual.h \36 28 ResolvExpr/ExplodedArg.cpp \ 37 ResolvExpr/ExplodedArg.hpp \38 29 ResolvExpr/FindOpenVars.cc \ 39 ResolvExpr/FindOpenVars.h \40 30 ResolvExpr/Occurs.cc \ 41 31 ResolvExpr/PolyCost.cc \ … … 43 33 ResolvExpr/PtrsCastable.cc \ 44 34 ResolvExpr/RenameVars.cc \ 45 ResolvExpr/RenameVars.h \46 35 ResolvExpr/ResolveAssertions.cc \ 47 ResolvExpr/ResolveAssertions.h \48 36 ResolvExpr/Resolver.cc \ 49 ResolvExpr/Resolver.h \50 37 ResolvExpr/ResolveTypeof.cc \ 51 ResolvExpr/ResolveTypeof.h \52 ResolvExpr/ResolvMode.h \53 38 ResolvExpr/SatisfyAssertions.cpp \ 54 ResolvExpr/SatisfyAssertions.hpp \55 39 ResolvExpr/SpecCost.cc \ 56 40 ResolvExpr/TypeEnvironment.cc \ 57 ResolvExpr/TypeEnvironment.h \ 58 ResolvExpr/typeops.h \ 59 ResolvExpr/Unify.cc \ 60 ResolvExpr/Unify.h \ 61 ResolvExpr/WidenMode.h 41 ResolvExpr/Unify.cc 62 42 63 64 SRC += $(SRC_RESOLVEXPR) ResolvExpr/AlternativePrinter.cc ResolvExpr/AlternativePrinter.h 43 SRC += $(SRC_RESOLVEXPR) ResolvExpr/AlternativePrinter.cc 65 44 SRCDEMANGLE += $(SRC_RESOLVEXPR) -
src/SymTab/module.mk
r25a1cb0 r8d8ac3b 17 17 SRC_SYMTAB = \ 18 18 SymTab/Autogen.cc \ 19 SymTab/Autogen.h \20 19 SymTab/FixFunction.cc \ 21 SymTab/FixFunction.h \22 20 SymTab/Indexer.cc \ 23 SymTab/Indexer.h \24 21 SymTab/Mangler.cc \ 25 22 SymTab/ManglerCommon.cc \ 26 SymTab/Mangler.h \ 27 SymTab/Validate.cc \ 28 SymTab/Validate.h 23 SymTab/Validate.cc 29 24 30 25 SRC += $(SRC_SYMTAB) -
src/SynTree/Expression.cc
r25a1cb0 r8d8ac3b 30 30 #include "Type.h" // for Type, BasicType, Type::Qualifiers 31 31 #include "TypeSubstitution.h" // for TypeSubstitution 32 #include "CompilationState.h" // for deterministic_output33 32 34 33 #include "GenPoly/Lvalue.h" … … 72 71 73 72 if ( result ) { 74 if (!deterministic_output) { 75 os << std::endl << indent << "with resolved type:" << std::endl; 76 os << (indent+1); 77 result->print( os, indent+1 ); 78 } 73 os << std::endl << indent << "with resolved type:" << std::endl; 74 os << (indent+1); 75 result->print( os, indent+1 ); 79 76 } 80 77 … … 302 299 } 303 300 304 KeywordCastExpr::KeywordCastExpr( Expression * arg, AggregateDecl::Aggregate target ) : Expression(), arg(arg), target( target ) {} 305 KeywordCastExpr::KeywordCastExpr( Expression * arg, AggregateDecl::Aggregate target, const KeywordCastExpr::Concrete & concrete_target ) : Expression(), arg(arg), target( target ), concrete_target(concrete_target) {} 306 307 KeywordCastExpr::KeywordCastExpr( const KeywordCastExpr & other ) : Expression( other ), arg( maybeClone( other.arg ) ), target( other.target ) {} 301 KeywordCastExpr::KeywordCastExpr( Expression * arg, AggregateDecl::Aggregate target ) : Expression(), arg(arg), target( target ) { 302 } 303 304 KeywordCastExpr::KeywordCastExpr( const KeywordCastExpr & other ) : Expression( other ), arg( maybeClone( other.arg ) ), target( other.target ) { 305 } 308 306 309 307 KeywordCastExpr::~KeywordCastExpr() { -
src/SynTree/Expression.h
r25a1cb0 r8d8ac3b 248 248 249 249 KeywordCastExpr( Expression * arg, AggregateDecl::Aggregate target ); 250 KeywordCastExpr( Expression * arg, AggregateDecl::Aggregate target, const Concrete & concrete_target );251 250 KeywordCastExpr( const KeywordCastExpr & other ); 252 251 virtual ~KeywordCastExpr(); -
src/SynTree/module.mk
r25a1cb0 r8d8ac3b 20 20 SynTree/ApplicationExpr.cc \ 21 21 SynTree/ArrayType.cc \ 22 SynTree/AttrType.cc \ 22 23 SynTree/Attribute.cc \ 23 SynTree/Attribute.h \24 SynTree/AttrType.cc \25 SynTree/BaseSyntaxNode.h \26 24 SynTree/BasicType.cc \ 27 25 SynTree/CommaExpr.cc \ 28 26 SynTree/CompoundStmt.cc \ 29 27 SynTree/Constant.cc \ 30 SynTree/Constant.h \ 28 SynTree/DeclReplacer.cc \ 29 SynTree/DeclStmt.cc \ 31 30 SynTree/Declaration.cc \ 32 SynTree/Declaration.h \33 31 SynTree/DeclarationWithType.cc \ 34 SynTree/DeclReplacer.cc \35 SynTree/DeclReplacer.h \36 SynTree/DeclStmt.cc \37 32 SynTree/Expression.cc \ 38 SynTree/Expression.h \39 33 SynTree/FunctionDecl.cc \ 40 34 SynTree/FunctionType.cc \ 41 35 SynTree/Initializer.cc \ 42 SynTree/Initializer.h \43 SynTree/Label.h \44 36 SynTree/LinkageSpec.cc \ 45 SynTree/LinkageSpec.h \46 SynTree/Mutator.h \47 37 SynTree/NamedTypeDecl.cc \ 48 38 SynTree/ObjectDecl.cc \ … … 51 41 SynTree/ReferenceType.cc \ 52 42 SynTree/Statement.cc \ 53 SynTree/Statement.h \54 SynTree/SynTree.h \55 43 SynTree/TupleExpr.cc \ 56 44 SynTree/TupleType.cc \ … … 58 46 SynTree/TypeDecl.cc \ 59 47 SynTree/TypeExpr.cc \ 60 SynTree/Type .h\48 SynTree/TypeSubstitution.cc \ 61 49 SynTree/TypeofType.cc \ 62 SynTree/TypeSubstitution.cc \63 SynTree/TypeSubstitution.h \64 50 SynTree/VarArgsType.cc \ 65 SynTree/Visitor.h \66 51 SynTree/VoidType.cc \ 67 52 SynTree/ZeroOneType.cc -
src/Tuples/module.mk
r25a1cb0 r8d8ac3b 15 15 ############################################################################### 16 16 17 SRC_TUPLES = \ 18 Tuples/Explode.cc \ 19 Tuples/Explode.h \ 20 Tuples/TupleAssignment.cc \ 21 Tuples/TupleExpansion.cc \ 22 Tuples/Tuples.cc \ 23 Tuples/Tuples.h 24 25 26 SRC += $(SRC_TUPLES) 27 SRCDEMANGLE += $(SRC_TUPLES) 17 SRC += Tuples/TupleAssignment.cc Tuples/TupleExpansion.cc Tuples/Explode.cc \ 18 Tuples/Tuples.cc 19 SRCDEMANGLE += Tuples/TupleAssignment.cc Tuples/TupleExpansion.cc Tuples/Explode.cc \ 20 Tuples/Tuples.cc -
src/Validate/module.mk
r25a1cb0 r8d8ac3b 15 15 ############################################################################### 16 16 17 SRC += Validate/HandleAttributes.cc Validate/ HandleAttributes.h Validate/FindSpecialDecls.cc Validate/FindSpecialDecls.h18 SRCDEMANGLE += Validate/HandleAttributes.cc Validate/ HandleAttributes.h Validate/FindSpecialDecls.cc Validate/FindSpecialDecls.h17 SRC += Validate/HandleAttributes.cc Validate/FindSpecialDecls.cc 18 SRCDEMANGLE += Validate/HandleAttributes.cc Validate/FindSpecialDecls.cc -
src/Virtual/module.mk
r25a1cb0 r8d8ac3b 15 15 ############################################################################### 16 16 17 SRC += Virtual/ExpandCasts.cc Virtual/ExpandCasts.h17 SRC += Virtual/ExpandCasts.cc -
tests/.expect/bitmanip3.x64.txt
r25a1cb0 r8d8ac3b 792 792 793 793 794 floor 795 796 signed char 797 floor(1, 1) = 1, floor(3, 1) = 3, floor(-3, 1) = -3 798 floor(2, 2) = 2, floor(4, 2) = 4, floor(-4, 2) = -4 799 floor(4, 4) = 4, floor(6, 4) = 4, floor(-6, 4) = -4 800 floor(8, 8) = 8, floor(10, 8) = 8, floor(-10, 8) = -8 801 floor(16, 16) = 16, floor(18, 16) = 16, floor(-18, 16) = -16 802 floor(32, 32) = 32, floor(34, 32) = 32, floor(-34, 32) = -32 803 floor(64, 64) = 64, floor(66, 64) = 64, floor(-66, 64) = -64 804 floor(-128, -128) = -128, floor(-126, -128) = 0, floor(126, -128) = 0 805 806 unsigned char 807 floor(1, 1) = 1, floor(3, 1) = 3, floor(253, 1) = 253 808 floor(2, 2) = 2, floor(4, 2) = 4, floor(252, 2) = 252 809 floor(4, 4) = 4, floor(6, 4) = 4, floor(250, 4) = 248 810 floor(8, 8) = 8, floor(10, 8) = 8, floor(246, 8) = 240 811 floor(16, 16) = 16, floor(18, 16) = 16, floor(238, 16) = 224 812 floor(32, 32) = 32, floor(34, 32) = 32, floor(222, 32) = 192 813 floor(64, 64) = 64, floor(66, 64) = 64, floor(190, 64) = 128 814 floor(128, 128) = 128, floor(130, 128) = 128, floor(126, 128) = 0 815 816 short int 817 floor(1, 1) = 1, floor(3, 1) = 3, floor(-3, 1) = -3 818 floor(2, 2) = 2, floor(4, 2) = 4, floor(-4, 2) = -4 819 floor(4, 4) = 4, floor(6, 4) = 4, floor(-6, 4) = -4 820 floor(8, 8) = 8, floor(10, 8) = 8, floor(-10, 8) = -8 821 floor(16, 16) = 16, floor(18, 16) = 16, floor(-18, 16) = -16 822 floor(32, 32) = 32, floor(34, 32) = 32, floor(-34, 32) = -32 823 floor(64, 64) = 64, floor(66, 64) = 64, floor(-66, 64) = -64 824 floor(128, 128) = 128, floor(130, 128) = 128, floor(-130, 128) = -128 825 floor(256, 256) = 256, floor(258, 256) = 256, floor(-258, 256) = -256 826 floor(512, 512) = 512, floor(514, 512) = 512, floor(-514, 512) = -512 827 floor(1024, 1024) = 1024, floor(1026, 1024) = 1024, floor(-1026, 1024) = -1024 828 floor(2048, 2048) = 2048, floor(2050, 2048) = 2048, floor(-2050, 2048) = -2048 829 floor(4096, 4096) = 4096, floor(4098, 4096) = 4096, floor(-4098, 4096) = -4096 830 floor(8192, 8192) = 8192, floor(8194, 8192) = 8192, floor(-8194, 8192) = -8192 831 floor(16384, 16384) = 16384, floor(16386, 16384) = 16384, floor(-16386, 16384) = -16384 832 floor(-32768, -32768) = -32768, floor(-32766, -32768) = 0, floor(32766, -32768) = 0 833 834 unsigned short int 835 floor(1, 1) = 1, floor(3, 1) = 3, floor(65533, 1) = 65533 836 floor(2, 2) = 2, floor(4, 2) = 4, floor(65532, 2) = 65532 837 floor(4, 4) = 4, floor(6, 4) = 4, floor(65530, 4) = 65528 838 floor(8, 8) = 8, floor(10, 8) = 8, floor(65526, 8) = 65520 839 floor(16, 16) = 16, floor(18, 16) = 16, floor(65518, 16) = 65504 840 floor(32, 32) = 32, floor(34, 32) = 32, floor(65502, 32) = 65472 841 floor(64, 64) = 64, floor(66, 64) = 64, floor(65470, 64) = 65408 842 floor(128, 128) = 128, floor(130, 128) = 128, floor(65406, 128) = 65280 843 floor(256, 256) = 256, floor(258, 256) = 256, floor(65278, 256) = 65024 844 floor(512, 512) = 512, floor(514, 512) = 512, floor(65022, 512) = 64512 845 floor(1024, 1024) = 1024, floor(1026, 1024) = 1024, floor(64510, 1024) = 63488 846 floor(2048, 2048) = 2048, floor(2050, 2048) = 2048, floor(63486, 2048) = 61440 847 floor(4096, 4096) = 4096, floor(4098, 4096) = 4096, floor(61438, 4096) = 57344 848 floor(8192, 8192) = 8192, floor(8194, 8192) = 8192, floor(57342, 8192) = 49152 849 floor(16384, 16384) = 16384, floor(16386, 16384) = 16384, floor(49150, 16384) = 32768 850 floor(32768, 32768) = 32768, floor(32770, 32768) = 32768, floor(32766, 32768) = 0 851 852 int 853 floor(1, 1) = 1, floor(3, 1) = 3, floor(-3, 1) = -3 854 floor(2, 2) = 2, floor(4, 2) = 4, floor(-4, 2) = -4 855 floor(4, 4) = 4, floor(6, 4) = 4, floor(-6, 4) = -4 856 floor(8, 8) = 8, floor(10, 8) = 8, floor(-10, 8) = -8 857 floor(16, 16) = 16, floor(18, 16) = 16, floor(-18, 16) = -16 858 floor(32, 32) = 32, floor(34, 32) = 32, floor(-34, 32) = -32 859 floor(64, 64) = 64, floor(66, 64) = 64, floor(-66, 64) = -64 860 floor(128, 128) = 128, floor(130, 128) = 128, floor(-130, 128) = -128 861 floor(256, 256) = 256, floor(258, 256) = 256, floor(-258, 256) = -256 862 floor(512, 512) = 512, floor(514, 512) = 512, floor(-514, 512) = -512 863 floor(1024, 1024) = 1024, floor(1026, 1024) = 1024, floor(-1026, 1024) = -1024 864 floor(2048, 2048) = 2048, floor(2050, 2048) = 2048, floor(-2050, 2048) = -2048 865 floor(4096, 4096) = 4096, floor(4098, 4096) = 4096, floor(-4098, 4096) = -4096 866 floor(8192, 8192) = 8192, floor(8194, 8192) = 8192, floor(-8194, 8192) = -8192 867 floor(16384, 16384) = 16384, floor(16386, 16384) = 16384, floor(-16386, 16384) = -16384 868 floor(32768, 32768) = 32768, floor(32770, 32768) = 32768, floor(-32770, 32768) = -32768 869 floor(65536, 65536) = 65536, floor(65538, 65536) = 65536, floor(-65538, 65536) = -65536 870 floor(131072, 131072) = 131072, floor(131074, 131072) = 131072, floor(-131074, 131072) = -131072 871 floor(262144, 262144) = 262144, floor(262146, 262144) = 262144, floor(-262146, 262144) = -262144 872 floor(524288, 524288) = 524288, floor(524290, 524288) = 524288, floor(-524290, 524288) = -524288 873 floor(1048576, 1048576) = 1048576, floor(1048578, 1048576) = 1048576, floor(-1048578, 1048576) = -1048576 874 floor(2097152, 2097152) = 2097152, floor(2097154, 2097152) = 2097152, floor(-2097154, 2097152) = -2097152 875 floor(4194304, 4194304) = 4194304, floor(4194306, 4194304) = 4194304, floor(-4194306, 4194304) = -4194304 876 floor(8388608, 8388608) = 8388608, floor(8388610, 8388608) = 8388608, floor(-8388610, 8388608) = -8388608 877 floor(16777216, 16777216) = 16777216, floor(16777218, 16777216) = 16777216, floor(-16777218, 16777216) = -16777216 878 floor(33554432, 33554432) = 33554432, floor(33554434, 33554432) = 33554432, floor(-33554434, 33554432) = -33554432 879 floor(67108864, 67108864) = 67108864, floor(67108866, 67108864) = 67108864, floor(-67108866, 67108864) = -67108864 880 floor(134217728, 134217728) = 134217728, floor(134217730, 134217728) = 134217728, floor(-134217730, 134217728) = -134217728 881 floor(268435456, 268435456) = 268435456, floor(268435458, 268435456) = 268435456, floor(-268435458, 268435456) = -268435456 882 floor(536870912, 536870912) = 536870912, floor(536870914, 536870912) = 536870912, floor(-536870914, 536870912) = -536870912 883 floor(1073741824, 1073741824) = 1073741824, floor(1073741826, 1073741824) = 1073741824, floor(-1073741826, 1073741824) = -1073741824 884 floor(-2147483648, -2147483648) = -2147483648, floor(-2147483646, -2147483648) = 0, floor(2147483646, -2147483648) = 0 885 886 unsigned int 887 floor(1, 1) = 1, floor(3, 1) = 3, floor(4294967293, 1) = 4294967293 888 floor(2, 2) = 2, floor(4, 2) = 4, floor(4294967292, 2) = 4294967292 889 floor(4, 4) = 4, floor(6, 4) = 4, floor(4294967290, 4) = 4294967288 890 floor(8, 8) = 8, floor(10, 8) = 8, floor(4294967286, 8) = 4294967280 891 floor(16, 16) = 16, floor(18, 16) = 16, floor(4294967278, 16) = 4294967264 892 floor(32, 32) = 32, floor(34, 32) = 32, floor(4294967262, 32) = 4294967232 893 floor(64, 64) = 64, floor(66, 64) = 64, floor(4294967230, 64) = 4294967168 894 floor(128, 128) = 128, floor(130, 128) = 128, floor(4294967166, 128) = 4294967040 895 floor(256, 256) = 256, floor(258, 256) = 256, floor(4294967038, 256) = 4294966784 896 floor(512, 512) = 512, floor(514, 512) = 512, floor(4294966782, 512) = 4294966272 897 floor(1024, 1024) = 1024, floor(1026, 1024) = 1024, floor(4294966270, 1024) = 4294965248 898 floor(2048, 2048) = 2048, floor(2050, 2048) = 2048, floor(4294965246, 2048) = 4294963200 899 floor(4096, 4096) = 4096, floor(4098, 4096) = 4096, floor(4294963198, 4096) = 4294959104 900 floor(8192, 8192) = 8192, floor(8194, 8192) = 8192, floor(4294959102, 8192) = 4294950912 901 floor(16384, 16384) = 16384, floor(16386, 16384) = 16384, floor(4294950910, 16384) = 4294934528 902 floor(32768, 32768) = 32768, floor(32770, 32768) = 32768, floor(4294934526, 32768) = 4294901760 903 floor(65536, 65536) = 65536, floor(65538, 65536) = 65536, floor(4294901758, 65536) = 4294836224 904 floor(131072, 131072) = 131072, floor(131074, 131072) = 131072, floor(4294836222, 131072) = 4294705152 905 floor(262144, 262144) = 262144, floor(262146, 262144) = 262144, floor(4294705150, 262144) = 4294443008 906 floor(524288, 524288) = 524288, floor(524290, 524288) = 524288, floor(4294443006, 524288) = 4293918720 907 floor(1048576, 1048576) = 1048576, floor(1048578, 1048576) = 1048576, floor(4293918718, 1048576) = 4292870144 908 floor(2097152, 2097152) = 2097152, floor(2097154, 2097152) = 2097152, floor(4292870142, 2097152) = 4290772992 909 floor(4194304, 4194304) = 4194304, floor(4194306, 4194304) = 4194304, floor(4290772990, 4194304) = 4286578688 910 floor(8388608, 8388608) = 8388608, floor(8388610, 8388608) = 8388608, floor(4286578686, 8388608) = 4278190080 911 floor(16777216, 16777216) = 16777216, floor(16777218, 16777216) = 16777216, floor(4278190078, 16777216) = 4261412864 912 floor(33554432, 33554432) = 33554432, floor(33554434, 33554432) = 33554432, floor(4261412862, 33554432) = 4227858432 913 floor(67108864, 67108864) = 67108864, floor(67108866, 67108864) = 67108864, floor(4227858430, 67108864) = 4160749568 914 floor(134217728, 134217728) = 134217728, floor(134217730, 134217728) = 134217728, floor(4160749566, 134217728) = 4026531840 915 floor(268435456, 268435456) = 268435456, floor(268435458, 268435456) = 268435456, floor(4026531838, 268435456) = 3758096384 916 floor(536870912, 536870912) = 536870912, floor(536870914, 536870912) = 536870912, floor(3758096382, 536870912) = 3221225472 917 floor(1073741824, 1073741824) = 1073741824, floor(1073741826, 1073741824) = 1073741824, floor(3221225470, 1073741824) = 2147483648 918 floor(2147483648, 2147483648) = 2147483648, floor(2147483650, 2147483648) = 2147483648, floor(2147483646, 2147483648) = 0 919 920 long int 921 floor(1, 1) = 1, floor(3, 1) = 3, floor(-3, 1) = -3 922 floor(2, 2) = 2, floor(4, 2) = 4, floor(-4, 2) = -4 923 floor(4, 4) = 4, floor(6, 4) = 4, floor(-6, 4) = -4 924 floor(8, 8) = 8, floor(10, 8) = 8, floor(-10, 8) = -8 925 floor(16, 16) = 16, floor(18, 16) = 16, floor(-18, 16) = -16 926 floor(32, 32) = 32, floor(34, 32) = 32, floor(-34, 32) = -32 927 floor(64, 64) = 64, floor(66, 64) = 64, floor(-66, 64) = -64 928 floor(128, 128) = 128, floor(130, 128) = 128, floor(-130, 128) = -128 929 floor(256, 256) = 256, floor(258, 256) = 256, floor(-258, 256) = -256 930 floor(512, 512) = 512, floor(514, 512) = 512, floor(-514, 512) = -512 931 floor(1024, 1024) = 1024, floor(1026, 1024) = 1024, floor(-1026, 1024) = -1024 932 floor(2048, 2048) = 2048, floor(2050, 2048) = 2048, floor(-2050, 2048) = -2048 933 floor(4096, 4096) = 4096, floor(4098, 4096) = 4096, floor(-4098, 4096) = -4096 934 floor(8192, 8192) = 8192, floor(8194, 8192) = 8192, floor(-8194, 8192) = -8192 935 floor(16384, 16384) = 16384, floor(16386, 16384) = 16384, floor(-16386, 16384) = -16384 936 floor(32768, 32768) = 32768, floor(32770, 32768) = 32768, floor(-32770, 32768) = -32768 937 floor(65536, 65536) = 65536, floor(65538, 65536) = 65536, floor(-65538, 65536) = -65536 938 floor(131072, 131072) = 131072, floor(131074, 131072) = 131072, floor(-131074, 131072) = -131072 939 floor(262144, 262144) = 262144, floor(262146, 262144) = 262144, floor(-262146, 262144) = -262144 940 floor(524288, 524288) = 524288, floor(524290, 524288) = 524288, floor(-524290, 524288) = -524288 941 floor(1048576, 1048576) = 1048576, floor(1048578, 1048576) = 1048576, floor(-1048578, 1048576) = -1048576 942 floor(2097152, 2097152) = 2097152, floor(2097154, 2097152) = 2097152, floor(-2097154, 2097152) = -2097152 943 floor(4194304, 4194304) = 4194304, floor(4194306, 4194304) = 4194304, floor(-4194306, 4194304) = -4194304 944 floor(8388608, 8388608) = 8388608, floor(8388610, 8388608) = 8388608, floor(-8388610, 8388608) = -8388608 945 floor(16777216, 16777216) = 16777216, floor(16777218, 16777216) = 16777216, floor(-16777218, 16777216) = -16777216 946 floor(33554432, 33554432) = 33554432, floor(33554434, 33554432) = 33554432, floor(-33554434, 33554432) = -33554432 947 floor(67108864, 67108864) = 67108864, floor(67108866, 67108864) = 67108864, floor(-67108866, 67108864) = -67108864 948 floor(134217728, 134217728) = 134217728, floor(134217730, 134217728) = 134217728, floor(-134217730, 134217728) = -134217728 949 floor(268435456, 268435456) = 268435456, floor(268435458, 268435456) = 268435456, floor(-268435458, 268435456) = -268435456 950 floor(536870912, 536870912) = 536870912, floor(536870914, 536870912) = 536870912, floor(-536870914, 536870912) = -536870912 951 floor(1073741824, 1073741824) = 1073741824, floor(1073741826, 1073741824) = 1073741824, floor(-1073741826, 1073741824) = -1073741824 952 floor(2147483648, 2147483648) = 2147483648, floor(2147483650, 2147483648) = 2147483648, floor(-2147483650, 2147483648) = -2147483648 953 floor(4294967296, 4294967296) = 4294967296, floor(4294967298, 4294967296) = 4294967296, floor(-4294967298, 4294967296) = -4294967296 954 floor(8589934592, 8589934592) = 8589934592, floor(8589934594, 8589934592) = 8589934592, floor(-8589934594, 8589934592) = -8589934592 955 floor(17179869184, 17179869184) = 17179869184, floor(17179869186, 17179869184) = 17179869184, floor(-17179869186, 17179869184) = -17179869184 956 floor(34359738368, 34359738368) = 34359738368, floor(34359738370, 34359738368) = 34359738368, floor(-34359738370, 34359738368) = -34359738368 957 floor(68719476736, 68719476736) = 68719476736, floor(68719476738, 68719476736) = 68719476736, floor(-68719476738, 68719476736) = -68719476736 958 floor(137438953472, 137438953472) = 137438953472, floor(137438953474, 137438953472) = 137438953472, floor(-137438953474, 137438953472) = -137438953472 959 floor(274877906944, 274877906944) = 274877906944, floor(274877906946, 274877906944) = 274877906944, floor(-274877906946, 274877906944) = -274877906944 960 floor(549755813888, 549755813888) = 549755813888, floor(549755813890, 549755813888) = 549755813888, floor(-549755813890, 549755813888) = -549755813888 961 floor(1099511627776, 1099511627776) = 1099511627776, floor(1099511627778, 1099511627776) = 1099511627776, floor(-1099511627778, 1099511627776) = -1099511627776 962 floor(2199023255552, 2199023255552) = 2199023255552, floor(2199023255554, 2199023255552) = 2199023255552, floor(-2199023255554, 2199023255552) = -2199023255552 963 floor(4398046511104, 4398046511104) = 4398046511104, floor(4398046511106, 4398046511104) = 4398046511104, floor(-4398046511106, 4398046511104) = -4398046511104 964 floor(8796093022208, 8796093022208) = 8796093022208, floor(8796093022210, 8796093022208) = 8796093022208, floor(-8796093022210, 8796093022208) = -8796093022208 965 floor(17592186044416, 17592186044416) = 17592186044416, floor(17592186044418, 17592186044416) = 17592186044416, floor(-17592186044418, 17592186044416) = -17592186044416 966 floor(35184372088832, 35184372088832) = 35184372088832, floor(35184372088834, 35184372088832) = 35184372088832, floor(-35184372088834, 35184372088832) = -35184372088832 967 floor(70368744177664, 70368744177664) = 70368744177664, floor(70368744177666, 70368744177664) = 70368744177664, floor(-70368744177666, 70368744177664) = -70368744177664 968 floor(140737488355328, 140737488355328) = 140737488355328, floor(140737488355330, 140737488355328) = 140737488355328, floor(-140737488355330, 140737488355328) = -140737488355328 969 floor(281474976710656, 281474976710656) = 281474976710656, floor(281474976710658, 281474976710656) = 281474976710656, floor(-281474976710658, 281474976710656) = -281474976710656 970 floor(562949953421312, 562949953421312) = 562949953421312, floor(562949953421314, 562949953421312) = 562949953421312, floor(-562949953421314, 562949953421312) = -562949953421312 971 floor(1125899906842624, 1125899906842624) = 1125899906842624, floor(1125899906842626, 1125899906842624) = 1125899906842624, floor(-1125899906842626, 1125899906842624) = -1125899906842624 972 floor(2251799813685248, 2251799813685248) = 2251799813685248, floor(2251799813685250, 2251799813685248) = 2251799813685248, floor(-2251799813685250, 2251799813685248) = -2251799813685248 973 floor(4503599627370496, 4503599627370496) = 4503599627370496, floor(4503599627370498, 4503599627370496) = 4503599627370496, floor(-4503599627370498, 4503599627370496) = -4503599627370496 974 floor(9007199254740992, 9007199254740992) = 9007199254740992, floor(9007199254740994, 9007199254740992) = 9007199254740992, floor(-9007199254740994, 9007199254740992) = -9007199254740992 975 floor(18014398509481984, 18014398509481984) = 18014398509481984, floor(18014398509481986, 18014398509481984) = 18014398509481984, floor(-18014398509481986, 18014398509481984) = -18014398509481984 976 floor(36028797018963968, 36028797018963968) = 36028797018963968, floor(36028797018963970, 36028797018963968) = 36028797018963968, floor(-36028797018963970, 36028797018963968) = -36028797018963968 977 floor(72057594037927936, 72057594037927936) = 72057594037927936, floor(72057594037927938, 72057594037927936) = 72057594037927936, floor(-72057594037927938, 72057594037927936) = -72057594037927936 978 floor(144115188075855872, 144115188075855872) = 144115188075855872, floor(144115188075855874, 144115188075855872) = 144115188075855872, floor(-144115188075855874, 144115188075855872) = -144115188075855872 979 floor(288230376151711744, 288230376151711744) = 288230376151711744, floor(288230376151711746, 288230376151711744) = 288230376151711744, floor(-288230376151711746, 288230376151711744) = -288230376151711744 980 floor(576460752303423488, 576460752303423488) = 576460752303423488, floor(576460752303423490, 576460752303423488) = 576460752303423488, floor(-576460752303423490, 576460752303423488) = -576460752303423488 981 floor(1152921504606846976, 1152921504606846976) = 1152921504606846976, floor(1152921504606846978, 1152921504606846976) = 1152921504606846976, floor(-1152921504606846978, 1152921504606846976) = -1152921504606846976 982 floor(2305843009213693952, 2305843009213693952) = 2305843009213693952, floor(2305843009213693954, 2305843009213693952) = 2305843009213693952, floor(-2305843009213693954, 2305843009213693952) = -2305843009213693952 983 floor(4611686018427387904, 4611686018427387904) = 4611686018427387904, floor(4611686018427387906, 4611686018427387904) = 4611686018427387904, floor(-4611686018427387906, 4611686018427387904) = -4611686018427387904 984 floor(-9223372036854775808, -9223372036854775808) = -9223372036854775808, floor(-9223372036854775806, -9223372036854775808) = 0, floor(9223372036854775806, -9223372036854775808) = 0 985 986 unsigned long int 987 floor(1, 1) = 1, floor(3, 1) = 3, floor(18446744073709551613, 1) = 18446744073709551613 988 floor(2, 2) = 2, floor(4, 2) = 4, floor(18446744073709551612, 2) = 18446744073709551612 989 floor(4, 4) = 4, floor(6, 4) = 4, floor(18446744073709551610, 4) = 18446744073709551608 990 floor(8, 8) = 8, floor(10, 8) = 8, floor(18446744073709551606, 8) = 18446744073709551600 991 floor(16, 16) = 16, floor(18, 16) = 16, floor(18446744073709551598, 16) = 18446744073709551584 992 floor(32, 32) = 32, floor(34, 32) = 32, floor(18446744073709551582, 32) = 18446744073709551552 993 floor(64, 64) = 64, floor(66, 64) = 64, floor(18446744073709551550, 64) = 18446744073709551488 994 floor(128, 128) = 128, floor(130, 128) = 128, floor(18446744073709551486, 128) = 18446744073709551360 995 floor(256, 256) = 256, floor(258, 256) = 256, floor(18446744073709551358, 256) = 18446744073709551104 996 floor(512, 512) = 512, floor(514, 512) = 512, floor(18446744073709551102, 512) = 18446744073709550592 997 floor(1024, 1024) = 1024, floor(1026, 1024) = 1024, floor(18446744073709550590, 1024) = 18446744073709549568 998 floor(2048, 2048) = 2048, floor(2050, 2048) = 2048, floor(18446744073709549566, 2048) = 18446744073709547520 999 floor(4096, 4096) = 4096, floor(4098, 4096) = 4096, floor(18446744073709547518, 4096) = 18446744073709543424 1000 floor(8192, 8192) = 8192, floor(8194, 8192) = 8192, floor(18446744073709543422, 8192) = 18446744073709535232 1001 floor(16384, 16384) = 16384, floor(16386, 16384) = 16384, floor(18446744073709535230, 16384) = 18446744073709518848 1002 floor(32768, 32768) = 32768, floor(32770, 32768) = 32768, floor(18446744073709518846, 32768) = 18446744073709486080 1003 floor(65536, 65536) = 65536, floor(65538, 65536) = 65536, floor(18446744073709486078, 65536) = 18446744073709420544 1004 floor(131072, 131072) = 131072, floor(131074, 131072) = 131072, floor(18446744073709420542, 131072) = 18446744073709289472 1005 floor(262144, 262144) = 262144, floor(262146, 262144) = 262144, floor(18446744073709289470, 262144) = 18446744073709027328 1006 floor(524288, 524288) = 524288, floor(524290, 524288) = 524288, floor(18446744073709027326, 524288) = 18446744073708503040 1007 floor(1048576, 1048576) = 1048576, floor(1048578, 1048576) = 1048576, floor(18446744073708503038, 1048576) = 18446744073707454464 1008 floor(2097152, 2097152) = 2097152, floor(2097154, 2097152) = 2097152, floor(18446744073707454462, 2097152) = 18446744073705357312 1009 floor(4194304, 4194304) = 4194304, floor(4194306, 4194304) = 4194304, floor(18446744073705357310, 4194304) = 18446744073701163008 1010 floor(8388608, 8388608) = 8388608, floor(8388610, 8388608) = 8388608, floor(18446744073701163006, 8388608) = 18446744073692774400 1011 floor(16777216, 16777216) = 16777216, floor(16777218, 16777216) = 16777216, floor(18446744073692774398, 16777216) = 18446744073675997184 1012 floor(33554432, 33554432) = 33554432, floor(33554434, 33554432) = 33554432, floor(18446744073675997182, 33554432) = 18446744073642442752 1013 floor(67108864, 67108864) = 67108864, floor(67108866, 67108864) = 67108864, floor(18446744073642442750, 67108864) = 18446744073575333888 1014 floor(134217728, 134217728) = 134217728, floor(134217730, 134217728) = 134217728, floor(18446744073575333886, 134217728) = 18446744073441116160 1015 floor(268435456, 268435456) = 268435456, floor(268435458, 268435456) = 268435456, floor(18446744073441116158, 268435456) = 18446744073172680704 1016 floor(536870912, 536870912) = 536870912, floor(536870914, 536870912) = 536870912, floor(18446744073172680702, 536870912) = 18446744072635809792 1017 floor(1073741824, 1073741824) = 1073741824, floor(1073741826, 1073741824) = 1073741824, floor(18446744072635809790, 1073741824) = 18446744071562067968 1018 floor(2147483648, 2147483648) = 2147483648, floor(2147483650, 2147483648) = 2147483648, floor(18446744071562067966, 2147483648) = 18446744069414584320 1019 floor(4294967296, 4294967296) = 4294967296, floor(4294967298, 4294967296) = 4294967296, floor(18446744069414584318, 4294967296) = 18446744065119617024 1020 floor(8589934592, 8589934592) = 8589934592, floor(8589934594, 8589934592) = 8589934592, floor(18446744065119617022, 8589934592) = 18446744056529682432 1021 floor(17179869184, 17179869184) = 17179869184, floor(17179869186, 17179869184) = 17179869184, floor(18446744056529682430, 17179869184) = 18446744039349813248 1022 floor(34359738368, 34359738368) = 34359738368, floor(34359738370, 34359738368) = 34359738368, floor(18446744039349813246, 34359738368) = 18446744004990074880 1023 floor(68719476736, 68719476736) = 68719476736, floor(68719476738, 68719476736) = 68719476736, floor(18446744004990074878, 68719476736) = 18446743936270598144 1024 floor(137438953472, 137438953472) = 137438953472, floor(137438953474, 137438953472) = 137438953472, floor(18446743936270598142, 137438953472) = 18446743798831644672 1025 floor(274877906944, 274877906944) = 274877906944, floor(274877906946, 274877906944) = 274877906944, floor(18446743798831644670, 274877906944) = 18446743523953737728 1026 floor(549755813888, 549755813888) = 549755813888, floor(549755813890, 549755813888) = 549755813888, floor(18446743523953737726, 549755813888) = 18446742974197923840 1027 floor(1099511627776, 1099511627776) = 1099511627776, floor(1099511627778, 1099511627776) = 1099511627776, floor(18446742974197923838, 1099511627776) = 18446741874686296064 1028 floor(2199023255552, 2199023255552) = 2199023255552, floor(2199023255554, 2199023255552) = 2199023255552, floor(18446741874686296062, 2199023255552) = 18446739675663040512 1029 floor(4398046511104, 4398046511104) = 4398046511104, floor(4398046511106, 4398046511104) = 4398046511104, floor(18446739675663040510, 4398046511104) = 18446735277616529408 1030 floor(8796093022208, 8796093022208) = 8796093022208, floor(8796093022210, 8796093022208) = 8796093022208, floor(18446735277616529406, 8796093022208) = 18446726481523507200 1031 floor(17592186044416, 17592186044416) = 17592186044416, floor(17592186044418, 17592186044416) = 17592186044416, floor(18446726481523507198, 17592186044416) = 18446708889337462784 1032 floor(35184372088832, 35184372088832) = 35184372088832, floor(35184372088834, 35184372088832) = 35184372088832, floor(18446708889337462782, 35184372088832) = 18446673704965373952 1033 floor(70368744177664, 70368744177664) = 70368744177664, floor(70368744177666, 70368744177664) = 70368744177664, floor(18446673704965373950, 70368744177664) = 18446603336221196288 1034 floor(140737488355328, 140737488355328) = 140737488355328, floor(140737488355330, 140737488355328) = 140737488355328, floor(18446603336221196286, 140737488355328) = 18446462598732840960 1035 floor(281474976710656, 281474976710656) = 281474976710656, floor(281474976710658, 281474976710656) = 281474976710656, floor(18446462598732840958, 281474976710656) = 18446181123756130304 1036 floor(562949953421312, 562949953421312) = 562949953421312, floor(562949953421314, 562949953421312) = 562949953421312, floor(18446181123756130302, 562949953421312) = 18445618173802708992 1037 floor(1125899906842624, 1125899906842624) = 1125899906842624, floor(1125899906842626, 1125899906842624) = 1125899906842624, floor(18445618173802708990, 1125899906842624) = 18444492273895866368 1038 floor(2251799813685248, 2251799813685248) = 2251799813685248, floor(2251799813685250, 2251799813685248) = 2251799813685248, floor(18444492273895866366, 2251799813685248) = 18442240474082181120 1039 floor(4503599627370496, 4503599627370496) = 4503599627370496, floor(4503599627370498, 4503599627370496) = 4503599627370496, floor(18442240474082181118, 4503599627370496) = 18437736874454810624 1040 floor(9007199254740992, 9007199254740992) = 9007199254740992, floor(9007199254740994, 9007199254740992) = 9007199254740992, floor(18437736874454810622, 9007199254740992) = 18428729675200069632 1041 floor(18014398509481984, 18014398509481984) = 18014398509481984, floor(18014398509481986, 18014398509481984) = 18014398509481984, floor(18428729675200069630, 18014398509481984) = 18410715276690587648 1042 floor(36028797018963968, 36028797018963968) = 36028797018963968, floor(36028797018963970, 36028797018963968) = 36028797018963968, floor(18410715276690587646, 36028797018963968) = 18374686479671623680 1043 floor(72057594037927936, 72057594037927936) = 72057594037927936, floor(72057594037927938, 72057594037927936) = 72057594037927936, floor(18374686479671623678, 72057594037927936) = 18302628885633695744 1044 floor(144115188075855872, 144115188075855872) = 144115188075855872, floor(144115188075855874, 144115188075855872) = 144115188075855872, floor(18302628885633695742, 144115188075855872) = 18158513697557839872 1045 floor(288230376151711744, 288230376151711744) = 288230376151711744, floor(288230376151711746, 288230376151711744) = 288230376151711744, floor(18158513697557839870, 288230376151711744) = 17870283321406128128 1046 floor(576460752303423488, 576460752303423488) = 576460752303423488, floor(576460752303423490, 576460752303423488) = 576460752303423488, floor(17870283321406128126, 576460752303423488) = 17293822569102704640 1047 floor(1152921504606846976, 1152921504606846976) = 1152921504606846976, floor(1152921504606846978, 1152921504606846976) = 1152921504606846976, floor(17293822569102704638, 1152921504606846976) = 16140901064495857664 1048 floor(2305843009213693952, 2305843009213693952) = 2305843009213693952, floor(2305843009213693954, 2305843009213693952) = 2305843009213693952, floor(16140901064495857662, 2305843009213693952) = 13835058055282163712 1049 floor(4611686018427387904, 4611686018427387904) = 4611686018427387904, floor(4611686018427387906, 4611686018427387904) = 4611686018427387904, floor(13835058055282163710, 4611686018427387904) = 9223372036854775808 1050 floor(9223372036854775808, 9223372036854775808) = 9223372036854775808, floor(9223372036854775810, 9223372036854775808) = 9223372036854775808, floor(9223372036854775806, 9223372036854775808) = 0 1051 1052 long long int 1053 floor(1, 1) = 1, floor(3, 1) = 3, floor(-3, 1) = -3 1054 floor(2, 2) = 2, floor(4, 2) = 4, floor(-4, 2) = -4 1055 floor(4, 4) = 4, floor(6, 4) = 4, floor(-6, 4) = -4 1056 floor(8, 8) = 8, floor(10, 8) = 8, floor(-10, 8) = -8 1057 floor(16, 16) = 16, floor(18, 16) = 16, floor(-18, 16) = -16 1058 floor(32, 32) = 32, floor(34, 32) = 32, floor(-34, 32) = -32 1059 floor(64, 64) = 64, floor(66, 64) = 64, floor(-66, 64) = -64 1060 floor(128, 128) = 128, floor(130, 128) = 128, floor(-130, 128) = -128 1061 floor(256, 256) = 256, floor(258, 256) = 256, floor(-258, 256) = -256 1062 floor(512, 512) = 512, floor(514, 512) = 512, floor(-514, 512) = -512 1063 floor(1024, 1024) = 1024, floor(1026, 1024) = 1024, floor(-1026, 1024) = -1024 1064 floor(2048, 2048) = 2048, floor(2050, 2048) = 2048, floor(-2050, 2048) = -2048 1065 floor(4096, 4096) = 4096, floor(4098, 4096) = 4096, floor(-4098, 4096) = -4096 1066 floor(8192, 8192) = 8192, floor(8194, 8192) = 8192, floor(-8194, 8192) = -8192 1067 floor(16384, 16384) = 16384, floor(16386, 16384) = 16384, floor(-16386, 16384) = -16384 1068 floor(32768, 32768) = 32768, floor(32770, 32768) = 32768, floor(-32770, 32768) = -32768 1069 floor(65536, 65536) = 65536, floor(65538, 65536) = 65536, floor(-65538, 65536) = -65536 1070 floor(131072, 131072) = 131072, floor(131074, 131072) = 131072, floor(-131074, 131072) = -131072 1071 floor(262144, 262144) = 262144, floor(262146, 262144) = 262144, floor(-262146, 262144) = -262144 1072 floor(524288, 524288) = 524288, floor(524290, 524288) = 524288, floor(-524290, 524288) = -524288 1073 floor(1048576, 1048576) = 1048576, floor(1048578, 1048576) = 1048576, floor(-1048578, 1048576) = -1048576 1074 floor(2097152, 2097152) = 2097152, floor(2097154, 2097152) = 2097152, floor(-2097154, 2097152) = -2097152 1075 floor(4194304, 4194304) = 4194304, floor(4194306, 4194304) = 4194304, floor(-4194306, 4194304) = -4194304 1076 floor(8388608, 8388608) = 8388608, floor(8388610, 8388608) = 8388608, floor(-8388610, 8388608) = -8388608 1077 floor(16777216, 16777216) = 16777216, floor(16777218, 16777216) = 16777216, floor(-16777218, 16777216) = -16777216 1078 floor(33554432, 33554432) = 33554432, floor(33554434, 33554432) = 33554432, floor(-33554434, 33554432) = -33554432 1079 floor(67108864, 67108864) = 67108864, floor(67108866, 67108864) = 67108864, floor(-67108866, 67108864) = -67108864 1080 floor(134217728, 134217728) = 134217728, floor(134217730, 134217728) = 134217728, floor(-134217730, 134217728) = -134217728 1081 floor(268435456, 268435456) = 268435456, floor(268435458, 268435456) = 268435456, floor(-268435458, 268435456) = -268435456 1082 floor(536870912, 536870912) = 536870912, floor(536870914, 536870912) = 536870912, floor(-536870914, 536870912) = -536870912 1083 floor(1073741824, 1073741824) = 1073741824, floor(1073741826, 1073741824) = 1073741824, floor(-1073741826, 1073741824) = -1073741824 1084 floor(2147483648, 2147483648) = 2147483648, floor(2147483650, 2147483648) = 2147483648, floor(-2147483650, 2147483648) = -2147483648 1085 floor(4294967296, 4294967296) = 4294967296, floor(4294967298, 4294967296) = 4294967296, floor(-4294967298, 4294967296) = -4294967296 1086 floor(8589934592, 8589934592) = 8589934592, floor(8589934594, 8589934592) = 8589934592, floor(-8589934594, 8589934592) = -8589934592 1087 floor(17179869184, 17179869184) = 17179869184, floor(17179869186, 17179869184) = 17179869184, floor(-17179869186, 17179869184) = -17179869184 1088 floor(34359738368, 34359738368) = 34359738368, floor(34359738370, 34359738368) = 34359738368, floor(-34359738370, 34359738368) = -34359738368 1089 floor(68719476736, 68719476736) = 68719476736, floor(68719476738, 68719476736) = 68719476736, floor(-68719476738, 68719476736) = -68719476736 1090 floor(137438953472, 137438953472) = 137438953472, floor(137438953474, 137438953472) = 137438953472, floor(-137438953474, 137438953472) = -137438953472 1091 floor(274877906944, 274877906944) = 274877906944, floor(274877906946, 274877906944) = 274877906944, floor(-274877906946, 274877906944) = -274877906944 1092 floor(549755813888, 549755813888) = 549755813888, floor(549755813890, 549755813888) = 549755813888, floor(-549755813890, 549755813888) = -549755813888 1093 floor(1099511627776, 1099511627776) = 1099511627776, floor(1099511627778, 1099511627776) = 1099511627776, floor(-1099511627778, 1099511627776) = -1099511627776 1094 floor(2199023255552, 2199023255552) = 2199023255552, floor(2199023255554, 2199023255552) = 2199023255552, floor(-2199023255554, 2199023255552) = -2199023255552 1095 floor(4398046511104, 4398046511104) = 4398046511104, floor(4398046511106, 4398046511104) = 4398046511104, floor(-4398046511106, 4398046511104) = -4398046511104 1096 floor(8796093022208, 8796093022208) = 8796093022208, floor(8796093022210, 8796093022208) = 8796093022208, floor(-8796093022210, 8796093022208) = -8796093022208 1097 floor(17592186044416, 17592186044416) = 17592186044416, floor(17592186044418, 17592186044416) = 17592186044416, floor(-17592186044418, 17592186044416) = -17592186044416 1098 floor(35184372088832, 35184372088832) = 35184372088832, floor(35184372088834, 35184372088832) = 35184372088832, floor(-35184372088834, 35184372088832) = -35184372088832 1099 floor(70368744177664, 70368744177664) = 70368744177664, floor(70368744177666, 70368744177664) = 70368744177664, floor(-70368744177666, 70368744177664) = -70368744177664 1100 floor(140737488355328, 140737488355328) = 140737488355328, floor(140737488355330, 140737488355328) = 140737488355328, floor(-140737488355330, 140737488355328) = -140737488355328 1101 floor(281474976710656, 281474976710656) = 281474976710656, floor(281474976710658, 281474976710656) = 281474976710656, floor(-281474976710658, 281474976710656) = -281474976710656 1102 floor(562949953421312, 562949953421312) = 562949953421312, floor(562949953421314, 562949953421312) = 562949953421312, floor(-562949953421314, 562949953421312) = -562949953421312 1103 floor(1125899906842624, 1125899906842624) = 1125899906842624, floor(1125899906842626, 1125899906842624) = 1125899906842624, floor(-1125899906842626, 1125899906842624) = -1125899906842624 1104 floor(2251799813685248, 2251799813685248) = 2251799813685248, floor(2251799813685250, 2251799813685248) = 2251799813685248, floor(-2251799813685250, 2251799813685248) = -2251799813685248 1105 floor(4503599627370496, 4503599627370496) = 4503599627370496, floor(4503599627370498, 4503599627370496) = 4503599627370496, floor(-4503599627370498, 4503599627370496) = -4503599627370496 1106 floor(9007199254740992, 9007199254740992) = 9007199254740992, floor(9007199254740994, 9007199254740992) = 9007199254740992, floor(-9007199254740994, 9007199254740992) = -9007199254740992 1107 floor(18014398509481984, 18014398509481984) = 18014398509481984, floor(18014398509481986, 18014398509481984) = 18014398509481984, floor(-18014398509481986, 18014398509481984) = -18014398509481984 1108 floor(36028797018963968, 36028797018963968) = 36028797018963968, floor(36028797018963970, 36028797018963968) = 36028797018963968, floor(-36028797018963970, 36028797018963968) = -36028797018963968 1109 floor(72057594037927936, 72057594037927936) = 72057594037927936, floor(72057594037927938, 72057594037927936) = 72057594037927936, floor(-72057594037927938, 72057594037927936) = -72057594037927936 1110 floor(144115188075855872, 144115188075855872) = 144115188075855872, floor(144115188075855874, 144115188075855872) = 144115188075855872, floor(-144115188075855874, 144115188075855872) = -144115188075855872 1111 floor(288230376151711744, 288230376151711744) = 288230376151711744, floor(288230376151711746, 288230376151711744) = 288230376151711744, floor(-288230376151711746, 288230376151711744) = -288230376151711744 1112 floor(576460752303423488, 576460752303423488) = 576460752303423488, floor(576460752303423490, 576460752303423488) = 576460752303423488, floor(-576460752303423490, 576460752303423488) = -576460752303423488 1113 floor(1152921504606846976, 1152921504606846976) = 1152921504606846976, floor(1152921504606846978, 1152921504606846976) = 1152921504606846976, floor(-1152921504606846978, 1152921504606846976) = -1152921504606846976 1114 floor(2305843009213693952, 2305843009213693952) = 2305843009213693952, floor(2305843009213693954, 2305843009213693952) = 2305843009213693952, floor(-2305843009213693954, 2305843009213693952) = -2305843009213693952 1115 floor(4611686018427387904, 4611686018427387904) = 4611686018427387904, floor(4611686018427387906, 4611686018427387904) = 4611686018427387904, floor(-4611686018427387906, 4611686018427387904) = -4611686018427387904 1116 floor(-9223372036854775808, -9223372036854775808) = -9223372036854775808, floor(-9223372036854775806, -9223372036854775808) = 0, floor(9223372036854775806, -9223372036854775808) = 0 1117 1118 unsigned long long int 1119 floor(1, 1) = 1, floor(3, 1) = 3, floor(18446744073709551613, 1) = 18446744073709551613 1120 floor(2, 2) = 2, floor(4, 2) = 4, floor(18446744073709551612, 2) = 18446744073709551612 1121 floor(4, 4) = 4, floor(6, 4) = 4, floor(18446744073709551610, 4) = 18446744073709551608 1122 floor(8, 8) = 8, floor(10, 8) = 8, floor(18446744073709551606, 8) = 18446744073709551600 1123 floor(16, 16) = 16, floor(18, 16) = 16, floor(18446744073709551598, 16) = 18446744073709551584 1124 floor(32, 32) = 32, floor(34, 32) = 32, floor(18446744073709551582, 32) = 18446744073709551552 1125 floor(64, 64) = 64, floor(66, 64) = 64, floor(18446744073709551550, 64) = 18446744073709551488 1126 floor(128, 128) = 128, floor(130, 128) = 128, floor(18446744073709551486, 128) = 18446744073709551360 1127 floor(256, 256) = 256, floor(258, 256) = 256, floor(18446744073709551358, 256) = 18446744073709551104 1128 floor(512, 512) = 512, floor(514, 512) = 512, floor(18446744073709551102, 512) = 18446744073709550592 1129 floor(1024, 1024) = 1024, floor(1026, 1024) = 1024, floor(18446744073709550590, 1024) = 18446744073709549568 1130 floor(2048, 2048) = 2048, floor(2050, 2048) = 2048, floor(18446744073709549566, 2048) = 18446744073709547520 1131 floor(4096, 4096) = 4096, floor(4098, 4096) = 4096, floor(18446744073709547518, 4096) = 18446744073709543424 1132 floor(8192, 8192) = 8192, floor(8194, 8192) = 8192, floor(18446744073709543422, 8192) = 18446744073709535232 1133 floor(16384, 16384) = 16384, floor(16386, 16384) = 16384, floor(18446744073709535230, 16384) = 18446744073709518848 1134 floor(32768, 32768) = 32768, floor(32770, 32768) = 32768, floor(18446744073709518846, 32768) = 18446744073709486080 1135 floor(65536, 65536) = 65536, floor(65538, 65536) = 65536, floor(18446744073709486078, 65536) = 18446744073709420544 1136 floor(131072, 131072) = 131072, floor(131074, 131072) = 131072, floor(18446744073709420542, 131072) = 18446744073709289472 1137 floor(262144, 262144) = 262144, floor(262146, 262144) = 262144, floor(18446744073709289470, 262144) = 18446744073709027328 1138 floor(524288, 524288) = 524288, floor(524290, 524288) = 524288, floor(18446744073709027326, 524288) = 18446744073708503040 1139 floor(1048576, 1048576) = 1048576, floor(1048578, 1048576) = 1048576, floor(18446744073708503038, 1048576) = 18446744073707454464 1140 floor(2097152, 2097152) = 2097152, floor(2097154, 2097152) = 2097152, floor(18446744073707454462, 2097152) = 18446744073705357312 1141 floor(4194304, 4194304) = 4194304, floor(4194306, 4194304) = 4194304, floor(18446744073705357310, 4194304) = 18446744073701163008 1142 floor(8388608, 8388608) = 8388608, floor(8388610, 8388608) = 8388608, floor(18446744073701163006, 8388608) = 18446744073692774400 1143 floor(16777216, 16777216) = 16777216, floor(16777218, 16777216) = 16777216, floor(18446744073692774398, 16777216) = 18446744073675997184 1144 floor(33554432, 33554432) = 33554432, floor(33554434, 33554432) = 33554432, floor(18446744073675997182, 33554432) = 18446744073642442752 1145 floor(67108864, 67108864) = 67108864, floor(67108866, 67108864) = 67108864, floor(18446744073642442750, 67108864) = 18446744073575333888 1146 floor(134217728, 134217728) = 134217728, floor(134217730, 134217728) = 134217728, floor(18446744073575333886, 134217728) = 18446744073441116160 1147 floor(268435456, 268435456) = 268435456, floor(268435458, 268435456) = 268435456, floor(18446744073441116158, 268435456) = 18446744073172680704 1148 floor(536870912, 536870912) = 536870912, floor(536870914, 536870912) = 536870912, floor(18446744073172680702, 536870912) = 18446744072635809792 1149 floor(1073741824, 1073741824) = 1073741824, floor(1073741826, 1073741824) = 1073741824, floor(18446744072635809790, 1073741824) = 18446744071562067968 1150 floor(2147483648, 2147483648) = 2147483648, floor(2147483650, 2147483648) = 2147483648, floor(18446744071562067966, 2147483648) = 18446744069414584320 1151 floor(4294967296, 4294967296) = 4294967296, floor(4294967298, 4294967296) = 4294967296, floor(18446744069414584318, 4294967296) = 18446744065119617024 1152 floor(8589934592, 8589934592) = 8589934592, floor(8589934594, 8589934592) = 8589934592, floor(18446744065119617022, 8589934592) = 18446744056529682432 1153 floor(17179869184, 17179869184) = 17179869184, floor(17179869186, 17179869184) = 17179869184, floor(18446744056529682430, 17179869184) = 18446744039349813248 1154 floor(34359738368, 34359738368) = 34359738368, floor(34359738370, 34359738368) = 34359738368, floor(18446744039349813246, 34359738368) = 18446744004990074880 1155 floor(68719476736, 68719476736) = 68719476736, floor(68719476738, 68719476736) = 68719476736, floor(18446744004990074878, 68719476736) = 18446743936270598144 1156 floor(137438953472, 137438953472) = 137438953472, floor(137438953474, 137438953472) = 137438953472, floor(18446743936270598142, 137438953472) = 18446743798831644672 1157 floor(274877906944, 274877906944) = 274877906944, floor(274877906946, 274877906944) = 274877906944, floor(18446743798831644670, 274877906944) = 18446743523953737728 1158 floor(549755813888, 549755813888) = 549755813888, floor(549755813890, 549755813888) = 549755813888, floor(18446743523953737726, 549755813888) = 18446742974197923840 1159 floor(1099511627776, 1099511627776) = 1099511627776, floor(1099511627778, 1099511627776) = 1099511627776, floor(18446742974197923838, 1099511627776) = 18446741874686296064 1160 floor(2199023255552, 2199023255552) = 2199023255552, floor(2199023255554, 2199023255552) = 2199023255552, floor(18446741874686296062, 2199023255552) = 18446739675663040512 1161 floor(4398046511104, 4398046511104) = 4398046511104, floor(4398046511106, 4398046511104) = 4398046511104, floor(18446739675663040510, 4398046511104) = 18446735277616529408 1162 floor(8796093022208, 8796093022208) = 8796093022208, floor(8796093022210, 8796093022208) = 8796093022208, floor(18446735277616529406, 8796093022208) = 18446726481523507200 1163 floor(17592186044416, 17592186044416) = 17592186044416, floor(17592186044418, 17592186044416) = 17592186044416, floor(18446726481523507198, 17592186044416) = 18446708889337462784 1164 floor(35184372088832, 35184372088832) = 35184372088832, floor(35184372088834, 35184372088832) = 35184372088832, floor(18446708889337462782, 35184372088832) = 18446673704965373952 1165 floor(70368744177664, 70368744177664) = 70368744177664, floor(70368744177666, 70368744177664) = 70368744177664, floor(18446673704965373950, 70368744177664) = 18446603336221196288 1166 floor(140737488355328, 140737488355328) = 140737488355328, floor(140737488355330, 140737488355328) = 140737488355328, floor(18446603336221196286, 140737488355328) = 18446462598732840960 1167 floor(281474976710656, 281474976710656) = 281474976710656, floor(281474976710658, 281474976710656) = 281474976710656, floor(18446462598732840958, 281474976710656) = 18446181123756130304 1168 floor(562949953421312, 562949953421312) = 562949953421312, floor(562949953421314, 562949953421312) = 562949953421312, floor(18446181123756130302, 562949953421312) = 18445618173802708992 1169 floor(1125899906842624, 1125899906842624) = 1125899906842624, floor(1125899906842626, 1125899906842624) = 1125899906842624, floor(18445618173802708990, 1125899906842624) = 18444492273895866368 1170 floor(2251799813685248, 2251799813685248) = 2251799813685248, floor(2251799813685250, 2251799813685248) = 2251799813685248, floor(18444492273895866366, 2251799813685248) = 18442240474082181120 1171 floor(4503599627370496, 4503599627370496) = 4503599627370496, floor(4503599627370498, 4503599627370496) = 4503599627370496, floor(18442240474082181118, 4503599627370496) = 18437736874454810624 1172 floor(9007199254740992, 9007199254740992) = 9007199254740992, floor(9007199254740994, 9007199254740992) = 9007199254740992, floor(18437736874454810622, 9007199254740992) = 18428729675200069632 1173 floor(18014398509481984, 18014398509481984) = 18014398509481984, floor(18014398509481986, 18014398509481984) = 18014398509481984, floor(18428729675200069630, 18014398509481984) = 18410715276690587648 1174 floor(36028797018963968, 36028797018963968) = 36028797018963968, floor(36028797018963970, 36028797018963968) = 36028797018963968, floor(18410715276690587646, 36028797018963968) = 18374686479671623680 1175 floor(72057594037927936, 72057594037927936) = 72057594037927936, floor(72057594037927938, 72057594037927936) = 72057594037927936, floor(18374686479671623678, 72057594037927936) = 18302628885633695744 1176 floor(144115188075855872, 144115188075855872) = 144115188075855872, floor(144115188075855874, 144115188075855872) = 144115188075855872, floor(18302628885633695742, 144115188075855872) = 18158513697557839872 1177 floor(288230376151711744, 288230376151711744) = 288230376151711744, floor(288230376151711746, 288230376151711744) = 288230376151711744, floor(18158513697557839870, 288230376151711744) = 17870283321406128128 1178 floor(576460752303423488, 576460752303423488) = 576460752303423488, floor(576460752303423490, 576460752303423488) = 576460752303423488, floor(17870283321406128126, 576460752303423488) = 17293822569102704640 1179 floor(1152921504606846976, 1152921504606846976) = 1152921504606846976, floor(1152921504606846978, 1152921504606846976) = 1152921504606846976, floor(17293822569102704638, 1152921504606846976) = 16140901064495857664 1180 floor(2305843009213693952, 2305843009213693952) = 2305843009213693952, floor(2305843009213693954, 2305843009213693952) = 2305843009213693952, floor(16140901064495857662, 2305843009213693952) = 13835058055282163712 1181 floor(4611686018427387904, 4611686018427387904) = 4611686018427387904, floor(4611686018427387906, 4611686018427387904) = 4611686018427387904, floor(13835058055282163710, 4611686018427387904) = 9223372036854775808 1182 floor(9223372036854775808, 9223372036854775808) = 9223372036854775808, floor(9223372036854775810, 9223372036854775808) = 9223372036854775808, floor(9223372036854775806, 9223372036854775808) = 0 1183 1184 794 1185 ceiling2 795 1186 … … 1182 1573 ceiling2(9223372036854775808, 9223372036854775808) = 9223372036854775808, ceiling2(9223372036854775810, 9223372036854775808) = 0, ceiling2(9223372036854775806, 9223372036854775808) = 9223372036854775808 1183 1574 1575 1576 ceiling_div 1577 1578 signed char 1579 ceiling_div(1, 1) = 1, ceiling_div(3, 1) = 3, ceiling_div(-3, 1) = -3 1580 ceiling_div(2, 2) = 1, ceiling_div(4, 2) = 2, ceiling_div(-4, 2) = -1 1581 ceiling_div(4, 4) = 1, ceiling_div(6, 4) = 2, ceiling_div(-6, 4) = 0 1582 ceiling_div(8, 8) = 1, ceiling_div(10, 8) = 2, ceiling_div(-10, 8) = 0 1583 ceiling_div(16, 16) = 1, ceiling_div(18, 16) = 2, ceiling_div(-18, 16) = 0 1584 ceiling_div(32, 32) = 1, ceiling_div(34, 32) = 2, ceiling_div(-34, 32) = 0 1585 ceiling_div(64, 64) = 1, ceiling_div(66, 64) = 2, ceiling_div(-66, 64) = 0 1586 ceiling_div(-128, -128) = 2, ceiling_div(-126, -128) = 1, ceiling_div(126, -128) = 0 1587 1588 unsigned char 1589 ceiling_div(1, 1) = 1, ceiling_div(3, 1) = 3, ceiling_div(253, 1) = 253 1590 ceiling_div(2, 2) = 1, ceiling_div(4, 2) = 2, ceiling_div(252, 2) = 126 1591 ceiling_div(4, 4) = 1, ceiling_div(6, 4) = 2, ceiling_div(250, 4) = 63 1592 ceiling_div(8, 8) = 1, ceiling_div(10, 8) = 2, ceiling_div(246, 8) = 31 1593 ceiling_div(16, 16) = 1, ceiling_div(18, 16) = 2, ceiling_div(238, 16) = 15 1594 ceiling_div(32, 32) = 1, ceiling_div(34, 32) = 2, ceiling_div(222, 32) = 7 1595 ceiling_div(64, 64) = 1, ceiling_div(66, 64) = 2, ceiling_div(190, 64) = 3 1596 ceiling_div(128, 128) = 1, ceiling_div(130, 128) = 2, ceiling_div(126, 128) = 1 1597 1598 short int 1599 ceiling_div(1, 1) = 1, ceiling_div(3, 1) = 3, ceiling_div(-3, 1) = -3 1600 ceiling_div(2, 2) = 1, ceiling_div(4, 2) = 2, ceiling_div(-4, 2) = -1 1601 ceiling_div(4, 4) = 1, ceiling_div(6, 4) = 2, ceiling_div(-6, 4) = 0 1602 ceiling_div(8, 8) = 1, ceiling_div(10, 8) = 2, ceiling_div(-10, 8) = 0 1603 ceiling_div(16, 16) = 1, ceiling_div(18, 16) = 2, ceiling_div(-18, 16) = 0 1604 ceiling_div(32, 32) = 1, ceiling_div(34, 32) = 2, ceiling_div(-34, 32) = 0 1605 ceiling_div(64, 64) = 1, ceiling_div(66, 64) = 2, ceiling_div(-66, 64) = 0 1606 ceiling_div(128, 128) = 1, ceiling_div(130, 128) = 2, ceiling_div(-130, 128) = 0 1607 ceiling_div(256, 256) = 1, ceiling_div(258, 256) = 2, ceiling_div(-258, 256) = 0 1608 ceiling_div(512, 512) = 1, ceiling_div(514, 512) = 2, ceiling_div(-514, 512) = 0 1609 ceiling_div(1024, 1024) = 1, ceiling_div(1026, 1024) = 2, ceiling_div(-1026, 1024) = 0 1610 ceiling_div(2048, 2048) = 1, ceiling_div(2050, 2048) = 2, ceiling_div(-2050, 2048) = 0 1611 ceiling_div(4096, 4096) = 1, ceiling_div(4098, 4096) = 2, ceiling_div(-4098, 4096) = 0 1612 ceiling_div(8192, 8192) = 1, ceiling_div(8194, 8192) = 2, ceiling_div(-8194, 8192) = 0 1613 ceiling_div(16384, 16384) = 1, ceiling_div(16386, 16384) = 2, ceiling_div(-16386, 16384) = 0 1614 ceiling_div(-32768, -32768) = 2, ceiling_div(-32766, -32768) = 1, ceiling_div(32766, -32768) = 0 1615 1616 unsigned short int 1617 ceiling_div(1, 1) = 1, ceiling_div(3, 1) = 3, ceiling_div(65533, 1) = 65533 1618 ceiling_div(2, 2) = 1, ceiling_div(4, 2) = 2, ceiling_div(65532, 2) = 32766 1619 ceiling_div(4, 4) = 1, ceiling_div(6, 4) = 2, ceiling_div(65530, 4) = 16383 1620 ceiling_div(8, 8) = 1, ceiling_div(10, 8) = 2, ceiling_div(65526, 8) = 8191 1621 ceiling_div(16, 16) = 1, ceiling_div(18, 16) = 2, ceiling_div(65518, 16) = 4095 1622 ceiling_div(32, 32) = 1, ceiling_div(34, 32) = 2, ceiling_div(65502, 32) = 2047 1623 ceiling_div(64, 64) = 1, ceiling_div(66, 64) = 2, ceiling_div(65470, 64) = 1023 1624 ceiling_div(128, 128) = 1, ceiling_div(130, 128) = 2, ceiling_div(65406, 128) = 511 1625 ceiling_div(256, 256) = 1, ceiling_div(258, 256) = 2, ceiling_div(65278, 256) = 255 1626 ceiling_div(512, 512) = 1, ceiling_div(514, 512) = 2, ceiling_div(65022, 512) = 127 1627 ceiling_div(1024, 1024) = 1, ceiling_div(1026, 1024) = 2, ceiling_div(64510, 1024) = 63 1628 ceiling_div(2048, 2048) = 1, ceiling_div(2050, 2048) = 2, ceiling_div(63486, 2048) = 31 1629 ceiling_div(4096, 4096) = 1, ceiling_div(4098, 4096) = 2, ceiling_div(61438, 4096) = 15 1630 ceiling_div(8192, 8192) = 1, ceiling_div(8194, 8192) = 2, ceiling_div(57342, 8192) = 7 1631 ceiling_div(16384, 16384) = 1, ceiling_div(16386, 16384) = 2, ceiling_div(49150, 16384) = 3 1632 ceiling_div(32768, 32768) = 1, ceiling_div(32770, 32768) = 2, ceiling_div(32766, 32768) = 1 1633 1634 int 1635 ceiling_div(1, 1) = 1, ceiling_div(3, 1) = 3, ceiling_div(-3, 1) = -3 1636 ceiling_div(2, 2) = 1, ceiling_div(4, 2) = 2, ceiling_div(-4, 2) = -1 1637 ceiling_div(4, 4) = 1, ceiling_div(6, 4) = 2, ceiling_div(-6, 4) = 0 1638 ceiling_div(8, 8) = 1, ceiling_div(10, 8) = 2, ceiling_div(-10, 8) = 0 1639 ceiling_div(16, 16) = 1, ceiling_div(18, 16) = 2, ceiling_div(-18, 16) = 0 1640 ceiling_div(32, 32) = 1, ceiling_div(34, 32) = 2, ceiling_div(-34, 32) = 0 1641 ceiling_div(64, 64) = 1, ceiling_div(66, 64) = 2, ceiling_div(-66, 64) = 0 1642 ceiling_div(128, 128) = 1, ceiling_div(130, 128) = 2, ceiling_div(-130, 128) = 0 1643 ceiling_div(256, 256) = 1, ceiling_div(258, 256) = 2, ceiling_div(-258, 256) = 0 1644 ceiling_div(512, 512) = 1, ceiling_div(514, 512) = 2, ceiling_div(-514, 512) = 0 1645 ceiling_div(1024, 1024) = 1, ceiling_div(1026, 1024) = 2, ceiling_div(-1026, 1024) = 0 1646 ceiling_div(2048, 2048) = 1, ceiling_div(2050, 2048) = 2, ceiling_div(-2050, 2048) = 0 1647 ceiling_div(4096, 4096) = 1, ceiling_div(4098, 4096) = 2, ceiling_div(-4098, 4096) = 0 1648 ceiling_div(8192, 8192) = 1, ceiling_div(8194, 8192) = 2, ceiling_div(-8194, 8192) = 0 1649 ceiling_div(16384, 16384) = 1, ceiling_div(16386, 16384) = 2, ceiling_div(-16386, 16384) = 0 1650 ceiling_div(32768, 32768) = 1, ceiling_div(32770, 32768) = 2, ceiling_div(-32770, 32768) = 0 1651 ceiling_div(65536, 65536) = 1, ceiling_div(65538, 65536) = 2, ceiling_div(-65538, 65536) = 0 1652 ceiling_div(131072, 131072) = 1, ceiling_div(131074, 131072) = 2, ceiling_div(-131074, 131072) = 0 1653 ceiling_div(262144, 262144) = 1, ceiling_div(262146, 262144) = 2, ceiling_div(-262146, 262144) = 0 1654 ceiling_div(524288, 524288) = 1, ceiling_div(524290, 524288) = 2, ceiling_div(-524290, 524288) = 0 1655 ceiling_div(1048576, 1048576) = 1, ceiling_div(1048578, 1048576) = 2, ceiling_div(-1048578, 1048576) = 0 1656 ceiling_div(2097152, 2097152) = 1, ceiling_div(2097154, 2097152) = 2, ceiling_div(-2097154, 2097152) = 0 1657 ceiling_div(4194304, 4194304) = 1, ceiling_div(4194306, 4194304) = 2, ceiling_div(-4194306, 4194304) = 0 1658 ceiling_div(8388608, 8388608) = 1, ceiling_div(8388610, 8388608) = 2, ceiling_div(-8388610, 8388608) = 0 1659 ceiling_div(16777216, 16777216) = 1, ceiling_div(16777218, 16777216) = 2, ceiling_div(-16777218, 16777216) = 0 1660 ceiling_div(33554432, 33554432) = 1, ceiling_div(33554434, 33554432) = 2, ceiling_div(-33554434, 33554432) = 0 1661 ceiling_div(67108864, 67108864) = 1, ceiling_div(67108866, 67108864) = 2, ceiling_div(-67108866, 67108864) = 0 1662 ceiling_div(134217728, 134217728) = 1, ceiling_div(134217730, 134217728) = 2, ceiling_div(-134217730, 134217728) = 0 1663 ceiling_div(268435456, 268435456) = 1, ceiling_div(268435458, 268435456) = 2, ceiling_div(-268435458, 268435456) = 0 1664 ceiling_div(536870912, 536870912) = 1, ceiling_div(536870914, 536870912) = 2, ceiling_div(-536870914, 536870912) = 0 1665 ceiling_div(1073741824, 1073741824) = 1, ceiling_div(1073741826, 1073741824) = -1, ceiling_div(-1073741826, 1073741824) = 0 1666 ceiling_div(-2147483648, -2147483648) = 0, ceiling_div(-2147483646, -2147483648) = 0, ceiling_div(2147483646, -2147483648) = 0 1667 1668 unsigned int 1669 ceiling_div(1, 1) = 1, ceiling_div(3, 1) = 3, ceiling_div(4294967293, 1) = 4294967293 1670 ceiling_div(2, 2) = 1, ceiling_div(4, 2) = 2, ceiling_div(4294967292, 2) = 2147483646 1671 ceiling_div(4, 4) = 1, ceiling_div(6, 4) = 2, ceiling_div(4294967290, 4) = 1073741823 1672 ceiling_div(8, 8) = 1, ceiling_div(10, 8) = 2, ceiling_div(4294967286, 8) = 536870911 1673 ceiling_div(16, 16) = 1, ceiling_div(18, 16) = 2, ceiling_div(4294967278, 16) = 268435455 1674 ceiling_div(32, 32) = 1, ceiling_div(34, 32) = 2, ceiling_div(4294967262, 32) = 134217727 1675 ceiling_div(64, 64) = 1, ceiling_div(66, 64) = 2, ceiling_div(4294967230, 64) = 67108863 1676 ceiling_div(128, 128) = 1, ceiling_div(130, 128) = 2, ceiling_div(4294967166, 128) = 33554431 1677 ceiling_div(256, 256) = 1, ceiling_div(258, 256) = 2, ceiling_div(4294967038, 256) = 16777215 1678 ceiling_div(512, 512) = 1, ceiling_div(514, 512) = 2, ceiling_div(4294966782, 512) = 8388607 1679 ceiling_div(1024, 1024) = 1, ceiling_div(1026, 1024) = 2, ceiling_div(4294966270, 1024) = 4194303 1680 ceiling_div(2048, 2048) = 1, ceiling_div(2050, 2048) = 2, ceiling_div(4294965246, 2048) = 2097151 1681 ceiling_div(4096, 4096) = 1, ceiling_div(4098, 4096) = 2, ceiling_div(4294963198, 4096) = 1048575 1682 ceiling_div(8192, 8192) = 1, ceiling_div(8194, 8192) = 2, ceiling_div(4294959102, 8192) = 524287 1683 ceiling_div(16384, 16384) = 1, ceiling_div(16386, 16384) = 2, ceiling_div(4294950910, 16384) = 262143 1684 ceiling_div(32768, 32768) = 1, ceiling_div(32770, 32768) = 2, ceiling_div(4294934526, 32768) = 131071 1685 ceiling_div(65536, 65536) = 1, ceiling_div(65538, 65536) = 2, ceiling_div(4294901758, 65536) = 65535 1686 ceiling_div(131072, 131072) = 1, ceiling_div(131074, 131072) = 2, ceiling_div(4294836222, 131072) = 32767 1687 ceiling_div(262144, 262144) = 1, ceiling_div(262146, 262144) = 2, ceiling_div(4294705150, 262144) = 16383 1688 ceiling_div(524288, 524288) = 1, ceiling_div(524290, 524288) = 2, ceiling_div(4294443006, 524288) = 8191 1689 ceiling_div(1048576, 1048576) = 1, ceiling_div(1048578, 1048576) = 2, ceiling_div(4293918718, 1048576) = 4095 1690 ceiling_div(2097152, 2097152) = 1, ceiling_div(2097154, 2097152) = 2, ceiling_div(4292870142, 2097152) = 2047 1691 ceiling_div(4194304, 4194304) = 1, ceiling_div(4194306, 4194304) = 2, ceiling_div(4290772990, 4194304) = 1023 1692 ceiling_div(8388608, 8388608) = 1, ceiling_div(8388610, 8388608) = 2, ceiling_div(4286578686, 8388608) = 511 1693 ceiling_div(16777216, 16777216) = 1, ceiling_div(16777218, 16777216) = 2, ceiling_div(4278190078, 16777216) = 255 1694 ceiling_div(33554432, 33554432) = 1, ceiling_div(33554434, 33554432) = 2, ceiling_div(4261412862, 33554432) = 127 1695 ceiling_div(67108864, 67108864) = 1, ceiling_div(67108866, 67108864) = 2, ceiling_div(4227858430, 67108864) = 63 1696 ceiling_div(134217728, 134217728) = 1, ceiling_div(134217730, 134217728) = 2, ceiling_div(4160749566, 134217728) = 31 1697 ceiling_div(268435456, 268435456) = 1, ceiling_div(268435458, 268435456) = 2, ceiling_div(4026531838, 268435456) = 15 1698 ceiling_div(536870912, 536870912) = 1, ceiling_div(536870914, 536870912) = 2, ceiling_div(3758096382, 536870912) = 7 1699 ceiling_div(1073741824, 1073741824) = 1, ceiling_div(1073741826, 1073741824) = 2, ceiling_div(3221225470, 1073741824) = 3 1700 ceiling_div(2147483648, 2147483648) = 1, ceiling_div(2147483650, 2147483648) = 0, ceiling_div(2147483646, 2147483648) = 1 1701 1702 long int 1703 ceiling_div(1, 1) = 1, ceiling_div(3, 1) = 3, ceiling_div(-3, 1) = -3 1704 ceiling_div(2, 2) = 1, ceiling_div(4, 2) = 2, ceiling_div(-4, 2) = -1 1705 ceiling_div(4, 4) = 1, ceiling_div(6, 4) = 2, ceiling_div(-6, 4) = 0 1706 ceiling_div(8, 8) = 1, ceiling_div(10, 8) = 2, ceiling_div(-10, 8) = 0 1707 ceiling_div(16, 16) = 1, ceiling_div(18, 16) = 2, ceiling_div(-18, 16) = 0 1708 ceiling_div(32, 32) = 1, ceiling_div(34, 32) = 2, ceiling_div(-34, 32) = 0 1709 ceiling_div(64, 64) = 1, ceiling_div(66, 64) = 2, ceiling_div(-66, 64) = 0 1710 ceiling_div(128, 128) = 1, ceiling_div(130, 128) = 2, ceiling_div(-130, 128) = 0 1711 ceiling_div(256, 256) = 1, ceiling_div(258, 256) = 2, ceiling_div(-258, 256) = 0 1712 ceiling_div(512, 512) = 1, ceiling_div(514, 512) = 2, ceiling_div(-514, 512) = 0 1713 ceiling_div(1024, 1024) = 1, ceiling_div(1026, 1024) = 2, ceiling_div(-1026, 1024) = 0 1714 ceiling_div(2048, 2048) = 1, ceiling_div(2050, 2048) = 2, ceiling_div(-2050, 2048) = 0 1715 ceiling_div(4096, 4096) = 1, ceiling_div(4098, 4096) = 2, ceiling_div(-4098, 4096) = 0 1716 ceiling_div(8192, 8192) = 1, ceiling_div(8194, 8192) = 2, ceiling_div(-8194, 8192) = 0 1717 ceiling_div(16384, 16384) = 1, ceiling_div(16386, 16384) = 2, ceiling_div(-16386, 16384) = 0 1718 ceiling_div(32768, 32768) = 1, ceiling_div(32770, 32768) = 2, ceiling_div(-32770, 32768) = 0 1719 ceiling_div(65536, 65536) = 1, ceiling_div(65538, 65536) = 2, ceiling_div(-65538, 65536) = 0 1720 ceiling_div(131072, 131072) = 1, ceiling_div(131074, 131072) = 2, ceiling_div(-131074, 131072) = 0 1721 ceiling_div(262144, 262144) = 1, ceiling_div(262146, 262144) = 2, ceiling_div(-262146, 262144) = 0 1722 ceiling_div(524288, 524288) = 1, ceiling_div(524290, 524288) = 2, ceiling_div(-524290, 524288) = 0 1723 ceiling_div(1048576, 1048576) = 1, ceiling_div(1048578, 1048576) = 2, ceiling_div(-1048578, 1048576) = 0 1724 ceiling_div(2097152, 2097152) = 1, ceiling_div(2097154, 2097152) = 2, ceiling_div(-2097154, 2097152) = 0 1725 ceiling_div(4194304, 4194304) = 1, ceiling_div(4194306, 4194304) = 2, ceiling_div(-4194306, 4194304) = 0 1726 ceiling_div(8388608, 8388608) = 1, ceiling_div(8388610, 8388608) = 2, ceiling_div(-8388610, 8388608) = 0 1727 ceiling_div(16777216, 16777216) = 1, ceiling_div(16777218, 16777216) = 2, ceiling_div(-16777218, 16777216) = 0 1728 ceiling_div(33554432, 33554432) = 1, ceiling_div(33554434, 33554432) = 2, ceiling_div(-33554434, 33554432) = 0 1729 ceiling_div(67108864, 67108864) = 1, ceiling_div(67108866, 67108864) = 2, ceiling_div(-67108866, 67108864) = 0 1730 ceiling_div(134217728, 134217728) = 1, ceiling_div(134217730, 134217728) = 2, ceiling_div(-134217730, 134217728) = 0 1731 ceiling_div(268435456, 268435456) = 1, ceiling_div(268435458, 268435456) = 2, ceiling_div(-268435458, 268435456) = 0 1732 ceiling_div(536870912, 536870912) = 1, ceiling_div(536870914, 536870912) = 2, ceiling_div(-536870914, 536870912) = 0 1733 ceiling_div(1073741824, 1073741824) = 1, ceiling_div(1073741826, 1073741824) = 2, ceiling_div(-1073741826, 1073741824) = 0 1734 ceiling_div(2147483648, 2147483648) = 1, ceiling_div(2147483650, 2147483648) = 2, ceiling_div(-2147483650, 2147483648) = 0 1735 ceiling_div(4294967296, 4294967296) = 1, ceiling_div(4294967298, 4294967296) = 2, ceiling_div(-4294967298, 4294967296) = 0 1736 ceiling_div(8589934592, 8589934592) = 1, ceiling_div(8589934594, 8589934592) = 2, ceiling_div(-8589934594, 8589934592) = 0 1737 ceiling_div(17179869184, 17179869184) = 1, ceiling_div(17179869186, 17179869184) = 2, ceiling_div(-17179869186, 17179869184) = 0 1738 ceiling_div(34359738368, 34359738368) = 1, ceiling_div(34359738370, 34359738368) = 2, ceiling_div(-34359738370, 34359738368) = 0 1739 ceiling_div(68719476736, 68719476736) = 1, ceiling_div(68719476738, 68719476736) = 2, ceiling_div(-68719476738, 68719476736) = 0 1740 ceiling_div(137438953472, 137438953472) = 1, ceiling_div(137438953474, 137438953472) = 2, ceiling_div(-137438953474, 137438953472) = 0 1741 ceiling_div(274877906944, 274877906944) = 1, ceiling_div(274877906946, 274877906944) = 2, ceiling_div(-274877906946, 274877906944) = 0 1742 ceiling_div(549755813888, 549755813888) = 1, ceiling_div(549755813890, 549755813888) = 2, ceiling_div(-549755813890, 549755813888) = 0 1743 ceiling_div(1099511627776, 1099511627776) = 1, ceiling_div(1099511627778, 1099511627776) = 2, ceiling_div(-1099511627778, 1099511627776) = 0 1744 ceiling_div(2199023255552, 2199023255552) = 1, ceiling_div(2199023255554, 2199023255552) = 2, ceiling_div(-2199023255554, 2199023255552) = 0 1745 ceiling_div(4398046511104, 4398046511104) = 1, ceiling_div(4398046511106, 4398046511104) = 2, ceiling_div(-4398046511106, 4398046511104) = 0 1746 ceiling_div(8796093022208, 8796093022208) = 1, ceiling_div(8796093022210, 8796093022208) = 2, ceiling_div(-8796093022210, 8796093022208) = 0 1747 ceiling_div(17592186044416, 17592186044416) = 1, ceiling_div(17592186044418, 17592186044416) = 2, ceiling_div(-17592186044418, 17592186044416) = 0 1748 ceiling_div(35184372088832, 35184372088832) = 1, ceiling_div(35184372088834, 35184372088832) = 2, ceiling_div(-35184372088834, 35184372088832) = 0 1749 ceiling_div(70368744177664, 70368744177664) = 1, ceiling_div(70368744177666, 70368744177664) = 2, ceiling_div(-70368744177666, 70368744177664) = 0 1750 ceiling_div(140737488355328, 140737488355328) = 1, ceiling_div(140737488355330, 140737488355328) = 2, ceiling_div(-140737488355330, 140737488355328) = 0 1751 ceiling_div(281474976710656, 281474976710656) = 1, ceiling_div(281474976710658, 281474976710656) = 2, ceiling_div(-281474976710658, 281474976710656) = 0 1752 ceiling_div(562949953421312, 562949953421312) = 1, ceiling_div(562949953421314, 562949953421312) = 2, ceiling_div(-562949953421314, 562949953421312) = 0 1753 ceiling_div(1125899906842624, 1125899906842624) = 1, ceiling_div(1125899906842626, 1125899906842624) = 2, ceiling_div(-1125899906842626, 1125899906842624) = 0 1754 ceiling_div(2251799813685248, 2251799813685248) = 1, ceiling_div(2251799813685250, 2251799813685248) = 2, ceiling_div(-2251799813685250, 2251799813685248) = 0 1755 ceiling_div(4503599627370496, 4503599627370496) = 1, ceiling_div(4503599627370498, 4503599627370496) = 2, ceiling_div(-4503599627370498, 4503599627370496) = 0 1756 ceiling_div(9007199254740992, 9007199254740992) = 1, ceiling_div(9007199254740994, 9007199254740992) = 2, ceiling_div(-9007199254740994, 9007199254740992) = 0 1757 ceiling_div(18014398509481984, 18014398509481984) = 1, ceiling_div(18014398509481986, 18014398509481984) = 2, ceiling_div(-18014398509481986, 18014398509481984) = 0 1758 ceiling_div(36028797018963968, 36028797018963968) = 1, ceiling_div(36028797018963970, 36028797018963968) = 2, ceiling_div(-36028797018963970, 36028797018963968) = 0 1759 ceiling_div(72057594037927936, 72057594037927936) = 1, ceiling_div(72057594037927938, 72057594037927936) = 2, ceiling_div(-72057594037927938, 72057594037927936) = 0 1760 ceiling_div(144115188075855872, 144115188075855872) = 1, ceiling_div(144115188075855874, 144115188075855872) = 2, ceiling_div(-144115188075855874, 144115188075855872) = 0 1761 ceiling_div(288230376151711744, 288230376151711744) = 1, ceiling_div(288230376151711746, 288230376151711744) = 2, ceiling_div(-288230376151711746, 288230376151711744) = 0 1762 ceiling_div(576460752303423488, 576460752303423488) = 1, ceiling_div(576460752303423490, 576460752303423488) = 2, ceiling_div(-576460752303423490, 576460752303423488) = 0 1763 ceiling_div(1152921504606846976, 1152921504606846976) = 1, ceiling_div(1152921504606846978, 1152921504606846976) = 2, ceiling_div(-1152921504606846978, 1152921504606846976) = 0 1764 ceiling_div(2305843009213693952, 2305843009213693952) = 1, ceiling_div(2305843009213693954, 2305843009213693952) = 2, ceiling_div(-2305843009213693954, 2305843009213693952) = 0 1765 ceiling_div(4611686018427387904, 4611686018427387904) = 1, ceiling_div(4611686018427387906, 4611686018427387904) = -1, ceiling_div(-4611686018427387906, 4611686018427387904) = 0 1766 ceiling_div(-9223372036854775808, -9223372036854775808) = 0, ceiling_div(-9223372036854775806, -9223372036854775808) = 0, ceiling_div(9223372036854775806, -9223372036854775808) = 0 1767 1768 unsigned long int 1769 ceiling_div(1, 1) = 1, ceiling_div(3, 1) = 3, ceiling_div(18446744073709551613, 1) = 18446744073709551613 1770 ceiling_div(2, 2) = 1, ceiling_div(4, 2) = 2, ceiling_div(18446744073709551612, 2) = 9223372036854775806 1771 ceiling_div(4, 4) = 1, ceiling_div(6, 4) = 2, ceiling_div(18446744073709551610, 4) = 4611686018427387903 1772 ceiling_div(8, 8) = 1, ceiling_div(10, 8) = 2, ceiling_div(18446744073709551606, 8) = 2305843009213693951 1773 ceiling_div(16, 16) = 1, ceiling_div(18, 16) = 2, ceiling_div(18446744073709551598, 16) = 1152921504606846975 1774 ceiling_div(32, 32) = 1, ceiling_div(34, 32) = 2, ceiling_div(18446744073709551582, 32) = 576460752303423487 1775 ceiling_div(64, 64) = 1, ceiling_div(66, 64) = 2, ceiling_div(18446744073709551550, 64) = 288230376151711743 1776 ceiling_div(128, 128) = 1, ceiling_div(130, 128) = 2, ceiling_div(18446744073709551486, 128) = 144115188075855871 1777 ceiling_div(256, 256) = 1, ceiling_div(258, 256) = 2, ceiling_div(18446744073709551358, 256) = 72057594037927935 1778 ceiling_div(512, 512) = 1, ceiling_div(514, 512) = 2, ceiling_div(18446744073709551102, 512) = 36028797018963967 1779 ceiling_div(1024, 1024) = 1, ceiling_div(1026, 1024) = 2, ceiling_div(18446744073709550590, 1024) = 18014398509481983 1780 ceiling_div(2048, 2048) = 1, ceiling_div(2050, 2048) = 2, ceiling_div(18446744073709549566, 2048) = 9007199254740991 1781 ceiling_div(4096, 4096) = 1, ceiling_div(4098, 4096) = 2, ceiling_div(18446744073709547518, 4096) = 4503599627370495 1782 ceiling_div(8192, 8192) = 1, ceiling_div(8194, 8192) = 2, ceiling_div(18446744073709543422, 8192) = 2251799813685247 1783 ceiling_div(16384, 16384) = 1, ceiling_div(16386, 16384) = 2, ceiling_div(18446744073709535230, 16384) = 1125899906842623 1784 ceiling_div(32768, 32768) = 1, ceiling_div(32770, 32768) = 2, ceiling_div(18446744073709518846, 32768) = 562949953421311 1785 ceiling_div(65536, 65536) = 1, ceiling_div(65538, 65536) = 2, ceiling_div(18446744073709486078, 65536) = 281474976710655 1786 ceiling_div(131072, 131072) = 1, ceiling_div(131074, 131072) = 2, ceiling_div(18446744073709420542, 131072) = 140737488355327 1787 ceiling_div(262144, 262144) = 1, ceiling_div(262146, 262144) = 2, ceiling_div(18446744073709289470, 262144) = 70368744177663 1788 ceiling_div(524288, 524288) = 1, ceiling_div(524290, 524288) = 2, ceiling_div(18446744073709027326, 524288) = 35184372088831 1789 ceiling_div(1048576, 1048576) = 1, ceiling_div(1048578, 1048576) = 2, ceiling_div(18446744073708503038, 1048576) = 17592186044415 1790 ceiling_div(2097152, 2097152) = 1, ceiling_div(2097154, 2097152) = 2, ceiling_div(18446744073707454462, 2097152) = 8796093022207 1791 ceiling_div(4194304, 4194304) = 1, ceiling_div(4194306, 4194304) = 2, ceiling_div(18446744073705357310, 4194304) = 4398046511103 1792 ceiling_div(8388608, 8388608) = 1, ceiling_div(8388610, 8388608) = 2, ceiling_div(18446744073701163006, 8388608) = 2199023255551 1793 ceiling_div(16777216, 16777216) = 1, ceiling_div(16777218, 16777216) = 2, ceiling_div(18446744073692774398, 16777216) = 1099511627775 1794 ceiling_div(33554432, 33554432) = 1, ceiling_div(33554434, 33554432) = 2, ceiling_div(18446744073675997182, 33554432) = 549755813887 1795 ceiling_div(67108864, 67108864) = 1, ceiling_div(67108866, 67108864) = 2, ceiling_div(18446744073642442750, 67108864) = 274877906943 1796 ceiling_div(134217728, 134217728) = 1, ceiling_div(134217730, 134217728) = 2, ceiling_div(18446744073575333886, 134217728) = 137438953471 1797 ceiling_div(268435456, 268435456) = 1, ceiling_div(268435458, 268435456) = 2, ceiling_div(18446744073441116158, 268435456) = 68719476735 1798 ceiling_div(536870912, 536870912) = 1, ceiling_div(536870914, 536870912) = 2, ceiling_div(18446744073172680702, 536870912) = 34359738367 1799 ceiling_div(1073741824, 1073741824) = 1, ceiling_div(1073741826, 1073741824) = 2, ceiling_div(18446744072635809790, 1073741824) = 17179869183 1800 ceiling_div(2147483648, 2147483648) = 1, ceiling_div(2147483650, 2147483648) = 2, ceiling_div(18446744071562067966, 2147483648) = 8589934591 1801 ceiling_div(4294967296, 4294967296) = 1, ceiling_div(4294967298, 4294967296) = 2, ceiling_div(18446744069414584318, 4294967296) = 4294967295 1802 ceiling_div(8589934592, 8589934592) = 1, ceiling_div(8589934594, 8589934592) = 2, ceiling_div(18446744065119617022, 8589934592) = 2147483647 1803 ceiling_div(17179869184, 17179869184) = 1, ceiling_div(17179869186, 17179869184) = 2, ceiling_div(18446744056529682430, 17179869184) = 1073741823 1804 ceiling_div(34359738368, 34359738368) = 1, ceiling_div(34359738370, 34359738368) = 2, ceiling_div(18446744039349813246, 34359738368) = 536870911 1805 ceiling_div(68719476736, 68719476736) = 1, ceiling_div(68719476738, 68719476736) = 2, ceiling_div(18446744004990074878, 68719476736) = 268435455 1806 ceiling_div(137438953472, 137438953472) = 1, ceiling_div(137438953474, 137438953472) = 2, ceiling_div(18446743936270598142, 137438953472) = 134217727 1807 ceiling_div(274877906944, 274877906944) = 1, ceiling_div(274877906946, 274877906944) = 2, ceiling_div(18446743798831644670, 274877906944) = 67108863 1808 ceiling_div(549755813888, 549755813888) = 1, ceiling_div(549755813890, 549755813888) = 2, ceiling_div(18446743523953737726, 549755813888) = 33554431 1809 ceiling_div(1099511627776, 1099511627776) = 1, ceiling_div(1099511627778, 1099511627776) = 2, ceiling_div(18446742974197923838, 1099511627776) = 16777215 1810 ceiling_div(2199023255552, 2199023255552) = 1, ceiling_div(2199023255554, 2199023255552) = 2, ceiling_div(18446741874686296062, 2199023255552) = 8388607 1811 ceiling_div(4398046511104, 4398046511104) = 1, ceiling_div(4398046511106, 4398046511104) = 2, ceiling_div(18446739675663040510, 4398046511104) = 4194303 1812 ceiling_div(8796093022208, 8796093022208) = 1, ceiling_div(8796093022210, 8796093022208) = 2, ceiling_div(18446735277616529406, 8796093022208) = 2097151 1813 ceiling_div(17592186044416, 17592186044416) = 1, ceiling_div(17592186044418, 17592186044416) = 2, ceiling_div(18446726481523507198, 17592186044416) = 1048575 1814 ceiling_div(35184372088832, 35184372088832) = 1, ceiling_div(35184372088834, 35184372088832) = 2, ceiling_div(18446708889337462782, 35184372088832) = 524287 1815 ceiling_div(70368744177664, 70368744177664) = 1, ceiling_div(70368744177666, 70368744177664) = 2, ceiling_div(18446673704965373950, 70368744177664) = 262143 1816 ceiling_div(140737488355328, 140737488355328) = 1, ceiling_div(140737488355330, 140737488355328) = 2, ceiling_div(18446603336221196286, 140737488355328) = 131071 1817 ceiling_div(281474976710656, 281474976710656) = 1, ceiling_div(281474976710658, 281474976710656) = 2, ceiling_div(18446462598732840958, 281474976710656) = 65535 1818 ceiling_div(562949953421312, 562949953421312) = 1, ceiling_div(562949953421314, 562949953421312) = 2, ceiling_div(18446181123756130302, 562949953421312) = 32767 1819 ceiling_div(1125899906842624, 1125899906842624) = 1, ceiling_div(1125899906842626, 1125899906842624) = 2, ceiling_div(18445618173802708990, 1125899906842624) = 16383 1820 ceiling_div(2251799813685248, 2251799813685248) = 1, ceiling_div(2251799813685250, 2251799813685248) = 2, ceiling_div(18444492273895866366, 2251799813685248) = 8191 1821 ceiling_div(4503599627370496, 4503599627370496) = 1, ceiling_div(4503599627370498, 4503599627370496) = 2, ceiling_div(18442240474082181118, 4503599627370496) = 4095 1822 ceiling_div(9007199254740992, 9007199254740992) = 1, ceiling_div(9007199254740994, 9007199254740992) = 2, ceiling_div(18437736874454810622, 9007199254740992) = 2047 1823 ceiling_div(18014398509481984, 18014398509481984) = 1, ceiling_div(18014398509481986, 18014398509481984) = 2, ceiling_div(18428729675200069630, 18014398509481984) = 1023 1824 ceiling_div(36028797018963968, 36028797018963968) = 1, ceiling_div(36028797018963970, 36028797018963968) = 2, ceiling_div(18410715276690587646, 36028797018963968) = 511 1825 ceiling_div(72057594037927936, 72057594037927936) = 1, ceiling_div(72057594037927938, 72057594037927936) = 2, ceiling_div(18374686479671623678, 72057594037927936) = 255 1826 ceiling_div(144115188075855872, 144115188075855872) = 1, ceiling_div(144115188075855874, 144115188075855872) = 2, ceiling_div(18302628885633695742, 144115188075855872) = 127 1827 ceiling_div(288230376151711744, 288230376151711744) = 1, ceiling_div(288230376151711746, 288230376151711744) = 2, ceiling_div(18158513697557839870, 288230376151711744) = 63 1828 ceiling_div(576460752303423488, 576460752303423488) = 1, ceiling_div(576460752303423490, 576460752303423488) = 2, ceiling_div(17870283321406128126, 576460752303423488) = 31 1829 ceiling_div(1152921504606846976, 1152921504606846976) = 1, ceiling_div(1152921504606846978, 1152921504606846976) = 2, ceiling_div(17293822569102704638, 1152921504606846976) = 15 1830 ceiling_div(2305843009213693952, 2305843009213693952) = 1, ceiling_div(2305843009213693954, 2305843009213693952) = 2, ceiling_div(16140901064495857662, 2305843009213693952) = 7 1831 ceiling_div(4611686018427387904, 4611686018427387904) = 1, ceiling_div(4611686018427387906, 4611686018427387904) = 2, ceiling_div(13835058055282163710, 4611686018427387904) = 3 1832 ceiling_div(9223372036854775808, 9223372036854775808) = 1, ceiling_div(9223372036854775810, 9223372036854775808) = 0, ceiling_div(9223372036854775806, 9223372036854775808) = 1 1833 1834 long long int 1835 ceiling_div(1, 1) = 1, ceiling_div(3, 1) = 3, ceiling_div(-3, 1) = -3 1836 ceiling_div(2, 2) = 1, ceiling_div(4, 2) = 2, ceiling_div(-4, 2) = -1 1837 ceiling_div(4, 4) = 1, ceiling_div(6, 4) = 2, ceiling_div(-6, 4) = 0 1838 ceiling_div(8, 8) = 1, ceiling_div(10, 8) = 2, ceiling_div(-10, 8) = 0 1839 ceiling_div(16, 16) = 1, ceiling_div(18, 16) = 2, ceiling_div(-18, 16) = 0 1840 ceiling_div(32, 32) = 1, ceiling_div(34, 32) = 2, ceiling_div(-34, 32) = 0 1841 ceiling_div(64, 64) = 1, ceiling_div(66, 64) = 2, ceiling_div(-66, 64) = 0 1842 ceiling_div(128, 128) = 1, ceiling_div(130, 128) = 2, ceiling_div(-130, 128) = 0 1843 ceiling_div(256, 256) = 1, ceiling_div(258, 256) = 2, ceiling_div(-258, 256) = 0 1844 ceiling_div(512, 512) = 1, ceiling_div(514, 512) = 2, ceiling_div(-514, 512) = 0 1845 ceiling_div(1024, 1024) = 1, ceiling_div(1026, 1024) = 2, ceiling_div(-1026, 1024) = 0 1846 ceiling_div(2048, 2048) = 1, ceiling_div(2050, 2048) = 2, ceiling_div(-2050, 2048) = 0 1847 ceiling_div(4096, 4096) = 1, ceiling_div(4098, 4096) = 2, ceiling_div(-4098, 4096) = 0 1848 ceiling_div(8192, 8192) = 1, ceiling_div(8194, 8192) = 2, ceiling_div(-8194, 8192) = 0 1849 ceiling_div(16384, 16384) = 1, ceiling_div(16386, 16384) = 2, ceiling_div(-16386, 16384) = 0 1850 ceiling_div(32768, 32768) = 1, ceiling_div(32770, 32768) = 2, ceiling_div(-32770, 32768) = 0 1851 ceiling_div(65536, 65536) = 1, ceiling_div(65538, 65536) = 2, ceiling_div(-65538, 65536) = 0 1852 ceiling_div(131072, 131072) = 1, ceiling_div(131074, 131072) = 2, ceiling_div(-131074, 131072) = 0 1853 ceiling_div(262144, 262144) = 1, ceiling_div(262146, 262144) = 2, ceiling_div(-262146, 262144) = 0 1854 ceiling_div(524288, 524288) = 1, ceiling_div(524290, 524288) = 2, ceiling_div(-524290, 524288) = 0 1855 ceiling_div(1048576, 1048576) = 1, ceiling_div(1048578, 1048576) = 2, ceiling_div(-1048578, 1048576) = 0 1856 ceiling_div(2097152, 2097152) = 1, ceiling_div(2097154, 2097152) = 2, ceiling_div(-2097154, 2097152) = 0 1857 ceiling_div(4194304, 4194304) = 1, ceiling_div(4194306, 4194304) = 2, ceiling_div(-4194306, 4194304) = 0 1858 ceiling_div(8388608, 8388608) = 1, ceiling_div(8388610, 8388608) = 2, ceiling_div(-8388610, 8388608) = 0 1859 ceiling_div(16777216, 16777216) = 1, ceiling_div(16777218, 16777216) = 2, ceiling_div(-16777218, 16777216) = 0 1860 ceiling_div(33554432, 33554432) = 1, ceiling_div(33554434, 33554432) = 2, ceiling_div(-33554434, 33554432) = 0 1861 ceiling_div(67108864, 67108864) = 1, ceiling_div(67108866, 67108864) = 2, ceiling_div(-67108866, 67108864) = 0 1862 ceiling_div(134217728, 134217728) = 1, ceiling_div(134217730, 134217728) = 2, ceiling_div(-134217730, 134217728) = 0 1863 ceiling_div(268435456, 268435456) = 1, ceiling_div(268435458, 268435456) = 2, ceiling_div(-268435458, 268435456) = 0 1864 ceiling_div(536870912, 536870912) = 1, ceiling_div(536870914, 536870912) = 2, ceiling_div(-536870914, 536870912) = 0 1865 ceiling_div(1073741824, 1073741824) = 1, ceiling_div(1073741826, 1073741824) = 2, ceiling_div(-1073741826, 1073741824) = 0 1866 ceiling_div(2147483648, 2147483648) = 1, ceiling_div(2147483650, 2147483648) = 2, ceiling_div(-2147483650, 2147483648) = 0 1867 ceiling_div(4294967296, 4294967296) = 1, ceiling_div(4294967298, 4294967296) = 2, ceiling_div(-4294967298, 4294967296) = 0 1868 ceiling_div(8589934592, 8589934592) = 1, ceiling_div(8589934594, 8589934592) = 2, ceiling_div(-8589934594, 8589934592) = 0 1869 ceiling_div(17179869184, 17179869184) = 1, ceiling_div(17179869186, 17179869184) = 2, ceiling_div(-17179869186, 17179869184) = 0 1870 ceiling_div(34359738368, 34359738368) = 1, ceiling_div(34359738370, 34359738368) = 2, ceiling_div(-34359738370, 34359738368) = 0 1871 ceiling_div(68719476736, 68719476736) = 1, ceiling_div(68719476738, 68719476736) = 2, ceiling_div(-68719476738, 68719476736) = 0 1872 ceiling_div(137438953472, 137438953472) = 1, ceiling_div(137438953474, 137438953472) = 2, ceiling_div(-137438953474, 137438953472) = 0 1873 ceiling_div(274877906944, 274877906944) = 1, ceiling_div(274877906946, 274877906944) = 2, ceiling_div(-274877906946, 274877906944) = 0 1874 ceiling_div(549755813888, 549755813888) = 1, ceiling_div(549755813890, 549755813888) = 2, ceiling_div(-549755813890, 549755813888) = 0 1875 ceiling_div(1099511627776, 1099511627776) = 1, ceiling_div(1099511627778, 1099511627776) = 2, ceiling_div(-1099511627778, 1099511627776) = 0 1876 ceiling_div(2199023255552, 2199023255552) = 1, ceiling_div(2199023255554, 2199023255552) = 2, ceiling_div(-2199023255554, 2199023255552) = 0 1877 ceiling_div(4398046511104, 4398046511104) = 1, ceiling_div(4398046511106, 4398046511104) = 2, ceiling_div(-4398046511106, 4398046511104) = 0 1878 ceiling_div(8796093022208, 8796093022208) = 1, ceiling_div(8796093022210, 8796093022208) = 2, ceiling_div(-8796093022210, 8796093022208) = 0 1879 ceiling_div(17592186044416, 17592186044416) = 1, ceiling_div(17592186044418, 17592186044416) = 2, ceiling_div(-17592186044418, 17592186044416) = 0 1880 ceiling_div(35184372088832, 35184372088832) = 1, ceiling_div(35184372088834, 35184372088832) = 2, ceiling_div(-35184372088834, 35184372088832) = 0 1881 ceiling_div(70368744177664, 70368744177664) = 1, ceiling_div(70368744177666, 70368744177664) = 2, ceiling_div(-70368744177666, 70368744177664) = 0 1882 ceiling_div(140737488355328, 140737488355328) = 1, ceiling_div(140737488355330, 140737488355328) = 2, ceiling_div(-140737488355330, 140737488355328) = 0 1883 ceiling_div(281474976710656, 281474976710656) = 1, ceiling_div(281474976710658, 281474976710656) = 2, ceiling_div(-281474976710658, 281474976710656) = 0 1884 ceiling_div(562949953421312, 562949953421312) = 1, ceiling_div(562949953421314, 562949953421312) = 2, ceiling_div(-562949953421314, 562949953421312) = 0 1885 ceiling_div(1125899906842624, 1125899906842624) = 1, ceiling_div(1125899906842626, 1125899906842624) = 2, ceiling_div(-1125899906842626, 1125899906842624) = 0 1886 ceiling_div(2251799813685248, 2251799813685248) = 1, ceiling_div(2251799813685250, 2251799813685248) = 2, ceiling_div(-2251799813685250, 2251799813685248) = 0 1887 ceiling_div(4503599627370496, 4503599627370496) = 1, ceiling_div(4503599627370498, 4503599627370496) = 2, ceiling_div(-4503599627370498, 4503599627370496) = 0 1888 ceiling_div(9007199254740992, 9007199254740992) = 1, ceiling_div(9007199254740994, 9007199254740992) = 2, ceiling_div(-9007199254740994, 9007199254740992) = 0 1889 ceiling_div(18014398509481984, 18014398509481984) = 1, ceiling_div(18014398509481986, 18014398509481984) = 2, ceiling_div(-18014398509481986, 18014398509481984) = 0 1890 ceiling_div(36028797018963968, 36028797018963968) = 1, ceiling_div(36028797018963970, 36028797018963968) = 2, ceiling_div(-36028797018963970, 36028797018963968) = 0 1891 ceiling_div(72057594037927936, 72057594037927936) = 1, ceiling_div(72057594037927938, 72057594037927936) = 2, ceiling_div(-72057594037927938, 72057594037927936) = 0 1892 ceiling_div(144115188075855872, 144115188075855872) = 1, ceiling_div(144115188075855874, 144115188075855872) = 2, ceiling_div(-144115188075855874, 144115188075855872) = 0 1893 ceiling_div(288230376151711744, 288230376151711744) = 1, ceiling_div(288230376151711746, 288230376151711744) = 2, ceiling_div(-288230376151711746, 288230376151711744) = 0 1894 ceiling_div(576460752303423488, 576460752303423488) = 1, ceiling_div(576460752303423490, 576460752303423488) = 2, ceiling_div(-576460752303423490, 576460752303423488) = 0 1895 ceiling_div(1152921504606846976, 1152921504606846976) = 1, ceiling_div(1152921504606846978, 1152921504606846976) = 2, ceiling_div(-1152921504606846978, 1152921504606846976) = 0 1896 ceiling_div(2305843009213693952, 2305843009213693952) = 1, ceiling_div(2305843009213693954, 2305843009213693952) = 2, ceiling_div(-2305843009213693954, 2305843009213693952) = 0 1897 ceiling_div(4611686018427387904, 4611686018427387904) = 1, ceiling_div(4611686018427387906, 4611686018427387904) = -1, ceiling_div(-4611686018427387906, 4611686018427387904) = 0 1898 ceiling_div(-9223372036854775808, -9223372036854775808) = 0, ceiling_div(-9223372036854775806, -9223372036854775808) = 0, ceiling_div(9223372036854775806, -9223372036854775808) = 0 1899 1900 unsigned long long int 1901 ceiling_div(1, 1) = 1, ceiling_div(3, 1) = 3, ceiling_div(18446744073709551613, 1) = 18446744073709551613 1902 ceiling_div(2, 2) = 1, ceiling_div(4, 2) = 2, ceiling_div(18446744073709551612, 2) = 9223372036854775806 1903 ceiling_div(4, 4) = 1, ceiling_div(6, 4) = 2, ceiling_div(18446744073709551610, 4) = 4611686018427387903 1904 ceiling_div(8, 8) = 1, ceiling_div(10, 8) = 2, ceiling_div(18446744073709551606, 8) = 2305843009213693951 1905 ceiling_div(16, 16) = 1, ceiling_div(18, 16) = 2, ceiling_div(18446744073709551598, 16) = 1152921504606846975 1906 ceiling_div(32, 32) = 1, ceiling_div(34, 32) = 2, ceiling_div(18446744073709551582, 32) = 576460752303423487 1907 ceiling_div(64, 64) = 1, ceiling_div(66, 64) = 2, ceiling_div(18446744073709551550, 64) = 288230376151711743 1908 ceiling_div(128, 128) = 1, ceiling_div(130, 128) = 2, ceiling_div(18446744073709551486, 128) = 144115188075855871 1909 ceiling_div(256, 256) = 1, ceiling_div(258, 256) = 2, ceiling_div(18446744073709551358, 256) = 72057594037927935 1910 ceiling_div(512, 512) = 1, ceiling_div(514, 512) = 2, ceiling_div(18446744073709551102, 512) = 36028797018963967 1911 ceiling_div(1024, 1024) = 1, ceiling_div(1026, 1024) = 2, ceiling_div(18446744073709550590, 1024) = 18014398509481983 1912 ceiling_div(2048, 2048) = 1, ceiling_div(2050, 2048) = 2, ceiling_div(18446744073709549566, 2048) = 9007199254740991 1913 ceiling_div(4096, 4096) = 1, ceiling_div(4098, 4096) = 2, ceiling_div(18446744073709547518, 4096) = 4503599627370495 1914 ceiling_div(8192, 8192) = 1, ceiling_div(8194, 8192) = 2, ceiling_div(18446744073709543422, 8192) = 2251799813685247 1915 ceiling_div(16384, 16384) = 1, ceiling_div(16386, 16384) = 2, ceiling_div(18446744073709535230, 16384) = 1125899906842623 1916 ceiling_div(32768, 32768) = 1, ceiling_div(32770, 32768) = 2, ceiling_div(18446744073709518846, 32768) = 562949953421311 1917 ceiling_div(65536, 65536) = 1, ceiling_div(65538, 65536) = 2, ceiling_div(18446744073709486078, 65536) = 281474976710655 1918 ceiling_div(131072, 131072) = 1, ceiling_div(131074, 131072) = 2, ceiling_div(18446744073709420542, 131072) = 140737488355327 1919 ceiling_div(262144, 262144) = 1, ceiling_div(262146, 262144) = 2, ceiling_div(18446744073709289470, 262144) = 70368744177663 1920 ceiling_div(524288, 524288) = 1, ceiling_div(524290, 524288) = 2, ceiling_div(18446744073709027326, 524288) = 35184372088831 1921 ceiling_div(1048576, 1048576) = 1, ceiling_div(1048578, 1048576) = 2, ceiling_div(18446744073708503038, 1048576) = 17592186044415 1922 ceiling_div(2097152, 2097152) = 1, ceiling_div(2097154, 2097152) = 2, ceiling_div(18446744073707454462, 2097152) = 8796093022207 1923 ceiling_div(4194304, 4194304) = 1, ceiling_div(4194306, 4194304) = 2, ceiling_div(18446744073705357310, 4194304) = 4398046511103 1924 ceiling_div(8388608, 8388608) = 1, ceiling_div(8388610, 8388608) = 2, ceiling_div(18446744073701163006, 8388608) = 2199023255551 1925 ceiling_div(16777216, 16777216) = 1, ceiling_div(16777218, 16777216) = 2, ceiling_div(18446744073692774398, 16777216) = 1099511627775 1926 ceiling_div(33554432, 33554432) = 1, ceiling_div(33554434, 33554432) = 2, ceiling_div(18446744073675997182, 33554432) = 549755813887 1927 ceiling_div(67108864, 67108864) = 1, ceiling_div(67108866, 67108864) = 2, ceiling_div(18446744073642442750, 67108864) = 274877906943 1928 ceiling_div(134217728, 134217728) = 1, ceiling_div(134217730, 134217728) = 2, ceiling_div(18446744073575333886, 134217728) = 137438953471 1929 ceiling_div(268435456, 268435456) = 1, ceiling_div(268435458, 268435456) = 2, ceiling_div(18446744073441116158, 268435456) = 68719476735 1930 ceiling_div(536870912, 536870912) = 1, ceiling_div(536870914, 536870912) = 2, ceiling_div(18446744073172680702, 536870912) = 34359738367 1931 ceiling_div(1073741824, 1073741824) = 1, ceiling_div(1073741826, 1073741824) = 2, ceiling_div(18446744072635809790, 1073741824) = 17179869183 1932 ceiling_div(2147483648, 2147483648) = 1, ceiling_div(2147483650, 2147483648) = 2, ceiling_div(18446744071562067966, 2147483648) = 8589934591 1933 ceiling_div(4294967296, 4294967296) = 1, ceiling_div(4294967298, 4294967296) = 2, ceiling_div(18446744069414584318, 4294967296) = 4294967295 1934 ceiling_div(8589934592, 8589934592) = 1, ceiling_div(8589934594, 8589934592) = 2, ceiling_div(18446744065119617022, 8589934592) = 2147483647 1935 ceiling_div(17179869184, 17179869184) = 1, ceiling_div(17179869186, 17179869184) = 2, ceiling_div(18446744056529682430, 17179869184) = 1073741823 1936 ceiling_div(34359738368, 34359738368) = 1, ceiling_div(34359738370, 34359738368) = 2, ceiling_div(18446744039349813246, 34359738368) = 536870911 1937 ceiling_div(68719476736, 68719476736) = 1, ceiling_div(68719476738, 68719476736) = 2, ceiling_div(18446744004990074878, 68719476736) = 268435455 1938 ceiling_div(137438953472, 137438953472) = 1, ceiling_div(137438953474, 137438953472) = 2, ceiling_div(18446743936270598142, 137438953472) = 134217727 1939 ceiling_div(274877906944, 274877906944) = 1, ceiling_div(274877906946, 274877906944) = 2, ceiling_div(18446743798831644670, 274877906944) = 67108863 1940 ceiling_div(549755813888, 549755813888) = 1, ceiling_div(549755813890, 549755813888) = 2, ceiling_div(18446743523953737726, 549755813888) = 33554431 1941 ceiling_div(1099511627776, 1099511627776) = 1, ceiling_div(1099511627778, 1099511627776) = 2, ceiling_div(18446742974197923838, 1099511627776) = 16777215 1942 ceiling_div(2199023255552, 2199023255552) = 1, ceiling_div(2199023255554, 2199023255552) = 2, ceiling_div(18446741874686296062, 2199023255552) = 8388607 1943 ceiling_div(4398046511104, 4398046511104) = 1, ceiling_div(4398046511106, 4398046511104) = 2, ceiling_div(18446739675663040510, 4398046511104) = 4194303 1944 ceiling_div(8796093022208, 8796093022208) = 1, ceiling_div(8796093022210, 8796093022208) = 2, ceiling_div(18446735277616529406, 8796093022208) = 2097151 1945 ceiling_div(17592186044416, 17592186044416) = 1, ceiling_div(17592186044418, 17592186044416) = 2, ceiling_div(18446726481523507198, 17592186044416) = 1048575 1946 ceiling_div(35184372088832, 35184372088832) = 1, ceiling_div(35184372088834, 35184372088832) = 2, ceiling_div(18446708889337462782, 35184372088832) = 524287 1947 ceiling_div(70368744177664, 70368744177664) = 1, ceiling_div(70368744177666, 70368744177664) = 2, ceiling_div(18446673704965373950, 70368744177664) = 262143 1948 ceiling_div(140737488355328, 140737488355328) = 1, ceiling_div(140737488355330, 140737488355328) = 2, ceiling_div(18446603336221196286, 140737488355328) = 131071 1949 ceiling_div(281474976710656, 281474976710656) = 1, ceiling_div(281474976710658, 281474976710656) = 2, ceiling_div(18446462598732840958, 281474976710656) = 65535 1950 ceiling_div(562949953421312, 562949953421312) = 1, ceiling_div(562949953421314, 562949953421312) = 2, ceiling_div(18446181123756130302, 562949953421312) = 32767 1951 ceiling_div(1125899906842624, 1125899906842624) = 1, ceiling_div(1125899906842626, 1125899906842624) = 2, ceiling_div(18445618173802708990, 1125899906842624) = 16383 1952 ceiling_div(2251799813685248, 2251799813685248) = 1, ceiling_div(2251799813685250, 2251799813685248) = 2, ceiling_div(18444492273895866366, 2251799813685248) = 8191 1953 ceiling_div(4503599627370496, 4503599627370496) = 1, ceiling_div(4503599627370498, 4503599627370496) = 2, ceiling_div(18442240474082181118, 4503599627370496) = 4095 1954 ceiling_div(9007199254740992, 9007199254740992) = 1, ceiling_div(9007199254740994, 9007199254740992) = 2, ceiling_div(18437736874454810622, 9007199254740992) = 2047 1955 ceiling_div(18014398509481984, 18014398509481984) = 1, ceiling_div(18014398509481986, 18014398509481984) = 2, ceiling_div(18428729675200069630, 18014398509481984) = 1023 1956 ceiling_div(36028797018963968, 36028797018963968) = 1, ceiling_div(36028797018963970, 36028797018963968) = 2, ceiling_div(18410715276690587646, 36028797018963968) = 511 1957 ceiling_div(72057594037927936, 72057594037927936) = 1, ceiling_div(72057594037927938, 72057594037927936) = 2, ceiling_div(18374686479671623678, 72057594037927936) = 255 1958 ceiling_div(144115188075855872, 144115188075855872) = 1, ceiling_div(144115188075855874, 144115188075855872) = 2, ceiling_div(18302628885633695742, 144115188075855872) = 127 1959 ceiling_div(288230376151711744, 288230376151711744) = 1, ceiling_div(288230376151711746, 288230376151711744) = 2, ceiling_div(18158513697557839870, 288230376151711744) = 63 1960 ceiling_div(576460752303423488, 576460752303423488) = 1, ceiling_div(576460752303423490, 576460752303423488) = 2, ceiling_div(17870283321406128126, 576460752303423488) = 31 1961 ceiling_div(1152921504606846976, 1152921504606846976) = 1, ceiling_div(1152921504606846978, 1152921504606846976) = 2, ceiling_div(17293822569102704638, 1152921504606846976) = 15 1962 ceiling_div(2305843009213693952, 2305843009213693952) = 1, ceiling_div(2305843009213693954, 2305843009213693952) = 2, ceiling_div(16140901064495857662, 2305843009213693952) = 7 1963 ceiling_div(4611686018427387904, 4611686018427387904) = 1, ceiling_div(4611686018427387906, 4611686018427387904) = 2, ceiling_div(13835058055282163710, 4611686018427387904) = 3 1964 ceiling_div(9223372036854775808, 9223372036854775808) = 1, ceiling_div(9223372036854775810, 9223372036854775808) = 0, ceiling_div(9223372036854775806, 9223372036854775808) = 1 1965 1966 1967 ceiling 1968 1969 signed char 1970 ceiling(1, 1) = 1, ceiling(3, 1) = 3, ceiling(-3, 1) = -3 1971 ceiling(2, 2) = 2, ceiling(4, 2) = 4, ceiling(-4, 2) = -4 1972 ceiling(4, 4) = 4, ceiling(6, 4) = 8, ceiling(-6, 4) = 0 1973 ceiling(8, 8) = 8, ceiling(10, 8) = 16, ceiling(-10, 8) = 0 1974 ceiling(16, 16) = 16, ceiling(18, 16) = 32, ceiling(-18, 16) = 0 1975 ceiling(32, 32) = 32, ceiling(34, 32) = 64, ceiling(-34, 32) = 0 1976 ceiling(64, 64) = 64, ceiling(66, 64) = -128, ceiling(-66, 64) = 0 1977 ceiling(-128, -128) = -128, ceiling(-126, -128) = -128, ceiling(126, -128) = 0 1978 1979 unsigned char 1980 ceiling(1, 1) = 1, ceiling(3, 1) = 3, ceiling(253, 1) = 253 1981 ceiling(2, 2) = 2, ceiling(4, 2) = 4, ceiling(252, 2) = 252 1982 ceiling(4, 4) = 4, ceiling(6, 4) = 8, ceiling(250, 4) = 252 1983 ceiling(8, 8) = 8, ceiling(10, 8) = 16, ceiling(246, 8) = 248 1984 ceiling(16, 16) = 16, ceiling(18, 16) = 32, ceiling(238, 16) = 240 1985 ceiling(32, 32) = 32, ceiling(34, 32) = 64, ceiling(222, 32) = 224 1986 ceiling(64, 64) = 64, ceiling(66, 64) = 128, ceiling(190, 64) = 192 1987 ceiling(128, 128) = 128, ceiling(130, 128) = 0, ceiling(126, 128) = 128 1988 1989 short int 1990 ceiling(1, 1) = 1, ceiling(3, 1) = 3, ceiling(-3, 1) = -3 1991 ceiling(2, 2) = 2, ceiling(4, 2) = 4, ceiling(-4, 2) = -4 1992 ceiling(4, 4) = 4, ceiling(6, 4) = 8, ceiling(-6, 4) = 0 1993 ceiling(8, 8) = 8, ceiling(10, 8) = 16, ceiling(-10, 8) = 0 1994 ceiling(16, 16) = 16, ceiling(18, 16) = 32, ceiling(-18, 16) = 0 1995 ceiling(32, 32) = 32, ceiling(34, 32) = 64, ceiling(-34, 32) = 0 1996 ceiling(64, 64) = 64, ceiling(66, 64) = 128, ceiling(-66, 64) = 0 1997 ceiling(128, 128) = 128, ceiling(130, 128) = 256, ceiling(-130, 128) = 0 1998 ceiling(256, 256) = 256, ceiling(258, 256) = 512, ceiling(-258, 256) = 0 1999 ceiling(512, 512) = 512, ceiling(514, 512) = 1024, ceiling(-514, 512) = 0 2000 ceiling(1024, 1024) = 1024, ceiling(1026, 1024) = 2048, ceiling(-1026, 1024) = 0 2001 ceiling(2048, 2048) = 2048, ceiling(2050, 2048) = 4096, ceiling(-2050, 2048) = 0 2002 ceiling(4096, 4096) = 4096, ceiling(4098, 4096) = 8192, ceiling(-4098, 4096) = 0 2003 ceiling(8192, 8192) = 8192, ceiling(8194, 8192) = 16384, ceiling(-8194, 8192) = 0 2004 ceiling(16384, 16384) = 16384, ceiling(16386, 16384) = -32768, ceiling(-16386, 16384) = 0 2005 ceiling(-32768, -32768) = -32768, ceiling(-32766, -32768) = -32768, ceiling(32766, -32768) = 0 2006 2007 unsigned short int 2008 ceiling(1, 1) = 1, ceiling(3, 1) = 3, ceiling(65533, 1) = 65533 2009 ceiling(2, 2) = 2, ceiling(4, 2) = 4, ceiling(65532, 2) = 65532 2010 ceiling(4, 4) = 4, ceiling(6, 4) = 8, ceiling(65530, 4) = 65532 2011 ceiling(8, 8) = 8, ceiling(10, 8) = 16, ceiling(65526, 8) = 65528 2012 ceiling(16, 16) = 16, ceiling(18, 16) = 32, ceiling(65518, 16) = 65520 2013 ceiling(32, 32) = 32, ceiling(34, 32) = 64, ceiling(65502, 32) = 65504 2014 ceiling(64, 64) = 64, ceiling(66, 64) = 128, ceiling(65470, 64) = 65472 2015 ceiling(128, 128) = 128, ceiling(130, 128) = 256, ceiling(65406, 128) = 65408 2016 ceiling(256, 256) = 256, ceiling(258, 256) = 512, ceiling(65278, 256) = 65280 2017 ceiling(512, 512) = 512, ceiling(514, 512) = 1024, ceiling(65022, 512) = 65024 2018 ceiling(1024, 1024) = 1024, ceiling(1026, 1024) = 2048, ceiling(64510, 1024) = 64512 2019 ceiling(2048, 2048) = 2048, ceiling(2050, 2048) = 4096, ceiling(63486, 2048) = 63488 2020 ceiling(4096, 4096) = 4096, ceiling(4098, 4096) = 8192, ceiling(61438, 4096) = 61440 2021 ceiling(8192, 8192) = 8192, ceiling(8194, 8192) = 16384, ceiling(57342, 8192) = 57344 2022 ceiling(16384, 16384) = 16384, ceiling(16386, 16384) = 32768, ceiling(49150, 16384) = 49152 2023 ceiling(32768, 32768) = 32768, ceiling(32770, 32768) = 0, ceiling(32766, 32768) = 32768 2024 2025 int 2026 ceiling(1, 1) = 1, ceiling(3, 1) = 3, ceiling(-3, 1) = -3 2027 ceiling(2, 2) = 2, ceiling(4, 2) = 4, ceiling(-4, 2) = -4 2028 ceiling(4, 4) = 4, ceiling(6, 4) = 8, ceiling(-6, 4) = 0 2029 ceiling(8, 8) = 8, ceiling(10, 8) = 16, ceiling(-10, 8) = 0 2030 ceiling(16, 16) = 16, ceiling(18, 16) = 32, ceiling(-18, 16) = 0 2031 ceiling(32, 32) = 32, ceiling(34, 32) = 64, ceiling(-34, 32) = 0 2032 ceiling(64, 64) = 64, ceiling(66, 64) = 128, ceiling(-66, 64) = 0 2033 ceiling(128, 128) = 128, ceiling(130, 128) = 256, ceiling(-130, 128) = 0 2034 ceiling(256, 256) = 256, ceiling(258, 256) = 512, ceiling(-258, 256) = 0 2035 ceiling(512, 512) = 512, ceiling(514, 512) = 1024, ceiling(-514, 512) = 0 2036 ceiling(1024, 1024) = 1024, ceiling(1026, 1024) = 2048, ceiling(-1026, 1024) = 0 2037 ceiling(2048, 2048) = 2048, ceiling(2050, 2048) = 4096, ceiling(-2050, 2048) = 0 2038 ceiling(4096, 4096) = 4096, ceiling(4098, 4096) = 8192, ceiling(-4098, 4096) = 0 2039 ceiling(8192, 8192) = 8192, ceiling(8194, 8192) = 16384, ceiling(-8194, 8192) = 0 2040 ceiling(16384, 16384) = 16384, ceiling(16386, 16384) = 32768, ceiling(-16386, 16384) = 0 2041 ceiling(32768, 32768) = 32768, ceiling(32770, 32768) = 65536, ceiling(-32770, 32768) = 0 2042 ceiling(65536, 65536) = 65536, ceiling(65538, 65536) = 131072, ceiling(-65538, 65536) = 0 2043 ceiling(131072, 131072) = 131072, ceiling(131074, 131072) = 262144, ceiling(-131074, 131072) = 0 2044 ceiling(262144, 262144) = 262144, ceiling(262146, 262144) = 524288, ceiling(-262146, 262144) = 0 2045 ceiling(524288, 524288) = 524288, ceiling(524290, 524288) = 1048576, ceiling(-524290, 524288) = 0 2046 ceiling(1048576, 1048576) = 1048576, ceiling(1048578, 1048576) = 2097152, ceiling(-1048578, 1048576) = 0 2047 ceiling(2097152, 2097152) = 2097152, ceiling(2097154, 2097152) = 4194304, ceiling(-2097154, 2097152) = 0 2048 ceiling(4194304, 4194304) = 4194304, ceiling(4194306, 4194304) = 8388608, ceiling(-4194306, 4194304) = 0 2049 ceiling(8388608, 8388608) = 8388608, ceiling(8388610, 8388608) = 16777216, ceiling(-8388610, 8388608) = 0 2050 ceiling(16777216, 16777216) = 16777216, ceiling(16777218, 16777216) = 33554432, ceiling(-16777218, 16777216) = 0 2051 ceiling(33554432, 33554432) = 33554432, ceiling(33554434, 33554432) = 67108864, ceiling(-33554434, 33554432) = 0 2052 ceiling(67108864, 67108864) = 67108864, ceiling(67108866, 67108864) = 134217728, ceiling(-67108866, 67108864) = 0 2053 ceiling(134217728, 134217728) = 134217728, ceiling(134217730, 134217728) = 268435456, ceiling(-134217730, 134217728) = 0 2054 ceiling(268435456, 268435456) = 268435456, ceiling(268435458, 268435456) = 536870912, ceiling(-268435458, 268435456) = 0 2055 ceiling(536870912, 536870912) = 536870912, ceiling(536870914, 536870912) = 1073741824, ceiling(-536870914, 536870912) = 0 2056 ceiling(1073741824, 1073741824) = 1073741824, ceiling(1073741826, 1073741824) = -1073741824, ceiling(-1073741826, 1073741824) = 0 2057 ceiling(-2147483648, -2147483648) = -2147483648, ceiling(-2147483646, -2147483648) = 0, ceiling(2147483646, -2147483648) = 0 2058 2059 unsigned int 2060 ceiling(1, 1) = 1, ceiling(3, 1) = 3, ceiling(4294967293, 1) = 4294967293 2061 ceiling(2, 2) = 2, ceiling(4, 2) = 4, ceiling(4294967292, 2) = 4294967292 2062 ceiling(4, 4) = 4, ceiling(6, 4) = 8, ceiling(4294967290, 4) = 4294967292 2063 ceiling(8, 8) = 8, ceiling(10, 8) = 16, ceiling(4294967286, 8) = 4294967288 2064 ceiling(16, 16) = 16, ceiling(18, 16) = 32, ceiling(4294967278, 16) = 4294967280 2065 ceiling(32, 32) = 32, ceiling(34, 32) = 64, ceiling(4294967262, 32) = 4294967264 2066 ceiling(64, 64) = 64, ceiling(66, 64) = 128, ceiling(4294967230, 64) = 4294967232 2067 ceiling(128, 128) = 128, ceiling(130, 128) = 256, ceiling(4294967166, 128) = 4294967168 2068 ceiling(256, 256) = 256, ceiling(258, 256) = 512, ceiling(4294967038, 256) = 4294967040 2069 ceiling(512, 512) = 512, ceiling(514, 512) = 1024, ceiling(4294966782, 512) = 4294966784 2070 ceiling(1024, 1024) = 1024, ceiling(1026, 1024) = 2048, ceiling(4294966270, 1024) = 4294966272 2071 ceiling(2048, 2048) = 2048, ceiling(2050, 2048) = 4096, ceiling(4294965246, 2048) = 4294965248 2072 ceiling(4096, 4096) = 4096, ceiling(4098, 4096) = 8192, ceiling(4294963198, 4096) = 4294963200 2073 ceiling(8192, 8192) = 8192, ceiling(8194, 8192) = 16384, ceiling(4294959102, 8192) = 4294959104 2074 ceiling(16384, 16384) = 16384, ceiling(16386, 16384) = 32768, ceiling(4294950910, 16384) = 4294950912 2075 ceiling(32768, 32768) = 32768, ceiling(32770, 32768) = 65536, ceiling(4294934526, 32768) = 4294934528 2076 ceiling(65536, 65536) = 65536, ceiling(65538, 65536) = 131072, ceiling(4294901758, 65536) = 4294901760 2077 ceiling(131072, 131072) = 131072, ceiling(131074, 131072) = 262144, ceiling(4294836222, 131072) = 4294836224 2078 ceiling(262144, 262144) = 262144, ceiling(262146, 262144) = 524288, ceiling(4294705150, 262144) = 4294705152 2079 ceiling(524288, 524288) = 524288, ceiling(524290, 524288) = 1048576, ceiling(4294443006, 524288) = 4294443008 2080 ceiling(1048576, 1048576) = 1048576, ceiling(1048578, 1048576) = 2097152, ceiling(4293918718, 1048576) = 4293918720 2081 ceiling(2097152, 2097152) = 2097152, ceiling(2097154, 2097152) = 4194304, ceiling(4292870142, 2097152) = 4292870144 2082 ceiling(4194304, 4194304) = 4194304, ceiling(4194306, 4194304) = 8388608, ceiling(4290772990, 4194304) = 4290772992 2083 ceiling(8388608, 8388608) = 8388608, ceiling(8388610, 8388608) = 16777216, ceiling(4286578686, 8388608) = 4286578688 2084 ceiling(16777216, 16777216) = 16777216, ceiling(16777218, 16777216) = 33554432, ceiling(4278190078, 16777216) = 4278190080 2085 ceiling(33554432, 33554432) = 33554432, ceiling(33554434, 33554432) = 67108864, ceiling(4261412862, 33554432) = 4261412864 2086 ceiling(67108864, 67108864) = 67108864, ceiling(67108866, 67108864) = 134217728, ceiling(4227858430, 67108864) = 4227858432 2087 ceiling(134217728, 134217728) = 134217728, ceiling(134217730, 134217728) = 268435456, ceiling(4160749566, 134217728) = 4160749568 2088 ceiling(268435456, 268435456) = 268435456, ceiling(268435458, 268435456) = 536870912, ceiling(4026531838, 268435456) = 4026531840 2089 ceiling(536870912, 536870912) = 536870912, ceiling(536870914, 536870912) = 1073741824, ceiling(3758096382, 536870912) = 3758096384 2090 ceiling(1073741824, 1073741824) = 1073741824, ceiling(1073741826, 1073741824) = 2147483648, ceiling(3221225470, 1073741824) = 3221225472 2091 ceiling(2147483648, 2147483648) = 2147483648, ceiling(2147483650, 2147483648) = 0, ceiling(2147483646, 2147483648) = 2147483648 2092 2093 long int 2094 ceiling(1, 1) = 1, ceiling(3, 1) = 3, ceiling(-3, 1) = -3 2095 ceiling(2, 2) = 2, ceiling(4, 2) = 4, ceiling(-4, 2) = -4 2096 ceiling(4, 4) = 4, ceiling(6, 4) = 8, ceiling(-6, 4) = 0 2097 ceiling(8, 8) = 8, ceiling(10, 8) = 16, ceiling(-10, 8) = 0 2098 ceiling(16, 16) = 16, ceiling(18, 16) = 32, ceiling(-18, 16) = 0 2099 ceiling(32, 32) = 32, ceiling(34, 32) = 64, ceiling(-34, 32) = 0 2100 ceiling(64, 64) = 64, ceiling(66, 64) = 128, ceiling(-66, 64) = 0 2101 ceiling(128, 128) = 128, ceiling(130, 128) = 256, ceiling(-130, 128) = 0 2102 ceiling(256, 256) = 256, ceiling(258, 256) = 512, ceiling(-258, 256) = 0 2103 ceiling(512, 512) = 512, ceiling(514, 512) = 1024, ceiling(-514, 512) = 0 2104 ceiling(1024, 1024) = 1024, ceiling(1026, 1024) = 2048, ceiling(-1026, 1024) = 0 2105 ceiling(2048, 2048) = 2048, ceiling(2050, 2048) = 4096, ceiling(-2050, 2048) = 0 2106 ceiling(4096, 4096) = 4096, ceiling(4098, 4096) = 8192, ceiling(-4098, 4096) = 0 2107 ceiling(8192, 8192) = 8192, ceiling(8194, 8192) = 16384, ceiling(-8194, 8192) = 0 2108 ceiling(16384, 16384) = 16384, ceiling(16386, 16384) = 32768, ceiling(-16386, 16384) = 0 2109 ceiling(32768, 32768) = 32768, ceiling(32770, 32768) = 65536, ceiling(-32770, 32768) = 0 2110 ceiling(65536, 65536) = 65536, ceiling(65538, 65536) = 131072, ceiling(-65538, 65536) = 0 2111 ceiling(131072, 131072) = 131072, ceiling(131074, 131072) = 262144, ceiling(-131074, 131072) = 0 2112 ceiling(262144, 262144) = 262144, ceiling(262146, 262144) = 524288, ceiling(-262146, 262144) = 0 2113 ceiling(524288, 524288) = 524288, ceiling(524290, 524288) = 1048576, ceiling(-524290, 524288) = 0 2114 ceiling(1048576, 1048576) = 1048576, ceiling(1048578, 1048576) = 2097152, ceiling(-1048578, 1048576) = 0 2115 ceiling(2097152, 2097152) = 2097152, ceiling(2097154, 2097152) = 4194304, ceiling(-2097154, 2097152) = 0 2116 ceiling(4194304, 4194304) = 4194304, ceiling(4194306, 4194304) = 8388608, ceiling(-4194306, 4194304) = 0 2117 ceiling(8388608, 8388608) = 8388608, ceiling(8388610, 8388608) = 16777216, ceiling(-8388610, 8388608) = 0 2118 ceiling(16777216, 16777216) = 16777216, ceiling(16777218, 16777216) = 33554432, ceiling(-16777218, 16777216) = 0 2119 ceiling(33554432, 33554432) = 33554432, ceiling(33554434, 33554432) = 67108864, ceiling(-33554434, 33554432) = 0 2120 ceiling(67108864, 67108864) = 67108864, ceiling(67108866, 67108864) = 134217728, ceiling(-67108866, 67108864) = 0 2121 ceiling(134217728, 134217728) = 134217728, ceiling(134217730, 134217728) = 268435456, ceiling(-134217730, 134217728) = 0 2122 ceiling(268435456, 268435456) = 268435456, ceiling(268435458, 268435456) = 536870912, ceiling(-268435458, 268435456) = 0 2123 ceiling(536870912, 536870912) = 536870912, ceiling(536870914, 536870912) = 1073741824, ceiling(-536870914, 536870912) = 0 2124 ceiling(1073741824, 1073741824) = 1073741824, ceiling(1073741826, 1073741824) = 2147483648, ceiling(-1073741826, 1073741824) = 0 2125 ceiling(2147483648, 2147483648) = 2147483648, ceiling(2147483650, 2147483648) = 4294967296, ceiling(-2147483650, 2147483648) = 0 2126 ceiling(4294967296, 4294967296) = 4294967296, ceiling(4294967298, 4294967296) = 8589934592, ceiling(-4294967298, 4294967296) = 0 2127 ceiling(8589934592, 8589934592) = 8589934592, ceiling(8589934594, 8589934592) = 17179869184, ceiling(-8589934594, 8589934592) = 0 2128 ceiling(17179869184, 17179869184) = 17179869184, ceiling(17179869186, 17179869184) = 34359738368, ceiling(-17179869186, 17179869184) = 0 2129 ceiling(34359738368, 34359738368) = 34359738368, ceiling(34359738370, 34359738368) = 68719476736, ceiling(-34359738370, 34359738368) = 0 2130 ceiling(68719476736, 68719476736) = 68719476736, ceiling(68719476738, 68719476736) = 137438953472, ceiling(-68719476738, 68719476736) = 0 2131 ceiling(137438953472, 137438953472) = 137438953472, ceiling(137438953474, 137438953472) = 274877906944, ceiling(-137438953474, 137438953472) = 0 2132 ceiling(274877906944, 274877906944) = 274877906944, ceiling(274877906946, 274877906944) = 549755813888, ceiling(-274877906946, 274877906944) = 0 2133 ceiling(549755813888, 549755813888) = 549755813888, ceiling(549755813890, 549755813888) = 1099511627776, ceiling(-549755813890, 549755813888) = 0 2134 ceiling(1099511627776, 1099511627776) = 1099511627776, ceiling(1099511627778, 1099511627776) = 2199023255552, ceiling(-1099511627778, 1099511627776) = 0 2135 ceiling(2199023255552, 2199023255552) = 2199023255552, ceiling(2199023255554, 2199023255552) = 4398046511104, ceiling(-2199023255554, 2199023255552) = 0 2136 ceiling(4398046511104, 4398046511104) = 4398046511104, ceiling(4398046511106, 4398046511104) = 8796093022208, ceiling(-4398046511106, 4398046511104) = 0 2137 ceiling(8796093022208, 8796093022208) = 8796093022208, ceiling(8796093022210, 8796093022208) = 17592186044416, ceiling(-8796093022210, 8796093022208) = 0 2138 ceiling(17592186044416, 17592186044416) = 17592186044416, ceiling(17592186044418, 17592186044416) = 35184372088832, ceiling(-17592186044418, 17592186044416) = 0 2139 ceiling(35184372088832, 35184372088832) = 35184372088832, ceiling(35184372088834, 35184372088832) = 70368744177664, ceiling(-35184372088834, 35184372088832) = 0 2140 ceiling(70368744177664, 70368744177664) = 70368744177664, ceiling(70368744177666, 70368744177664) = 140737488355328, ceiling(-70368744177666, 70368744177664) = 0 2141 ceiling(140737488355328, 140737488355328) = 140737488355328, ceiling(140737488355330, 140737488355328) = 281474976710656, ceiling(-140737488355330, 140737488355328) = 0 2142 ceiling(281474976710656, 281474976710656) = 281474976710656, ceiling(281474976710658, 281474976710656) = 562949953421312, ceiling(-281474976710658, 281474976710656) = 0 2143 ceiling(562949953421312, 562949953421312) = 562949953421312, ceiling(562949953421314, 562949953421312) = 1125899906842624, ceiling(-562949953421314, 562949953421312) = 0 2144 ceiling(1125899906842624, 1125899906842624) = 1125899906842624, ceiling(1125899906842626, 1125899906842624) = 2251799813685248, ceiling(-1125899906842626, 1125899906842624) = 0 2145 ceiling(2251799813685248, 2251799813685248) = 2251799813685248, ceiling(2251799813685250, 2251799813685248) = 4503599627370496, ceiling(-2251799813685250, 2251799813685248) = 0 2146 ceiling(4503599627370496, 4503599627370496) = 4503599627370496, ceiling(4503599627370498, 4503599627370496) = 9007199254740992, ceiling(-4503599627370498, 4503599627370496) = 0 2147 ceiling(9007199254740992, 9007199254740992) = 9007199254740992, ceiling(9007199254740994, 9007199254740992) = 18014398509481984, ceiling(-9007199254740994, 9007199254740992) = 0 2148 ceiling(18014398509481984, 18014398509481984) = 18014398509481984, ceiling(18014398509481986, 18014398509481984) = 36028797018963968, ceiling(-18014398509481986, 18014398509481984) = 0 2149 ceiling(36028797018963968, 36028797018963968) = 36028797018963968, ceiling(36028797018963970, 36028797018963968) = 72057594037927936, ceiling(-36028797018963970, 36028797018963968) = 0 2150 ceiling(72057594037927936, 72057594037927936) = 72057594037927936, ceiling(72057594037927938, 72057594037927936) = 144115188075855872, ceiling(-72057594037927938, 72057594037927936) = 0 2151 ceiling(144115188075855872, 144115188075855872) = 144115188075855872, ceiling(144115188075855874, 144115188075855872) = 288230376151711744, ceiling(-144115188075855874, 144115188075855872) = 0 2152 ceiling(288230376151711744, 288230376151711744) = 288230376151711744, ceiling(288230376151711746, 288230376151711744) = 576460752303423488, ceiling(-288230376151711746, 288230376151711744) = 0 2153 ceiling(576460752303423488, 576460752303423488) = 576460752303423488, ceiling(576460752303423490, 576460752303423488) = 1152921504606846976, ceiling(-576460752303423490, 576460752303423488) = 0 2154 ceiling(1152921504606846976, 1152921504606846976) = 1152921504606846976, ceiling(1152921504606846978, 1152921504606846976) = 2305843009213693952, ceiling(-1152921504606846978, 1152921504606846976) = 0 2155 ceiling(2305843009213693952, 2305843009213693952) = 2305843009213693952, ceiling(2305843009213693954, 2305843009213693952) = 4611686018427387904, ceiling(-2305843009213693954, 2305843009213693952) = 0 2156 ceiling(4611686018427387904, 4611686018427387904) = 4611686018427387904, ceiling(4611686018427387906, 4611686018427387904) = -4611686018427387904, ceiling(-4611686018427387906, 4611686018427387904) = 0 2157 ceiling(-9223372036854775808, -9223372036854775808) = -9223372036854775808, ceiling(-9223372036854775806, -9223372036854775808) = 0, ceiling(9223372036854775806, -9223372036854775808) = 0 2158 2159 unsigned long int 2160 ceiling(1, 1) = 1, ceiling(3, 1) = 3, ceiling(18446744073709551613, 1) = 18446744073709551613 2161 ceiling(2, 2) = 2, ceiling(4, 2) = 4, ceiling(18446744073709551612, 2) = 18446744073709551612 2162 ceiling(4, 4) = 4, ceiling(6, 4) = 8, ceiling(18446744073709551610, 4) = 18446744073709551612 2163 ceiling(8, 8) = 8, ceiling(10, 8) = 16, ceiling(18446744073709551606, 8) = 18446744073709551608 2164 ceiling(16, 16) = 16, ceiling(18, 16) = 32, ceiling(18446744073709551598, 16) = 18446744073709551600 2165 ceiling(32, 32) = 32, ceiling(34, 32) = 64, ceiling(18446744073709551582, 32) = 18446744073709551584 2166 ceiling(64, 64) = 64, ceiling(66, 64) = 128, ceiling(18446744073709551550, 64) = 18446744073709551552 2167 ceiling(128, 128) = 128, ceiling(130, 128) = 256, ceiling(18446744073709551486, 128) = 18446744073709551488 2168 ceiling(256, 256) = 256, ceiling(258, 256) = 512, ceiling(18446744073709551358, 256) = 18446744073709551360 2169 ceiling(512, 512) = 512, ceiling(514, 512) = 1024, ceiling(18446744073709551102, 512) = 18446744073709551104 2170 ceiling(1024, 1024) = 1024, ceiling(1026, 1024) = 2048, ceiling(18446744073709550590, 1024) = 18446744073709550592 2171 ceiling(2048, 2048) = 2048, ceiling(2050, 2048) = 4096, ceiling(18446744073709549566, 2048) = 18446744073709549568 2172 ceiling(4096, 4096) = 4096, ceiling(4098, 4096) = 8192, ceiling(18446744073709547518, 4096) = 18446744073709547520 2173 ceiling(8192, 8192) = 8192, ceiling(8194, 8192) = 16384, ceiling(18446744073709543422, 8192) = 18446744073709543424 2174 ceiling(16384, 16384) = 16384, ceiling(16386, 16384) = 32768, ceiling(18446744073709535230, 16384) = 18446744073709535232 2175 ceiling(32768, 32768) = 32768, ceiling(32770, 32768) = 65536, ceiling(18446744073709518846, 32768) = 18446744073709518848 2176 ceiling(65536, 65536) = 65536, ceiling(65538, 65536) = 131072, ceiling(18446744073709486078, 65536) = 18446744073709486080 2177 ceiling(131072, 131072) = 131072, ceiling(131074, 131072) = 262144, ceiling(18446744073709420542, 131072) = 18446744073709420544 2178 ceiling(262144, 262144) = 262144, ceiling(262146, 262144) = 524288, ceiling(18446744073709289470, 262144) = 18446744073709289472 2179 ceiling(524288, 524288) = 524288, ceiling(524290, 524288) = 1048576, ceiling(18446744073709027326, 524288) = 18446744073709027328 2180 ceiling(1048576, 1048576) = 1048576, ceiling(1048578, 1048576) = 2097152, ceiling(18446744073708503038, 1048576) = 18446744073708503040 2181 ceiling(2097152, 2097152) = 2097152, ceiling(2097154, 2097152) = 4194304, ceiling(18446744073707454462, 2097152) = 18446744073707454464 2182 ceiling(4194304, 4194304) = 4194304, ceiling(4194306, 4194304) = 8388608, ceiling(18446744073705357310, 4194304) = 18446744073705357312 2183 ceiling(8388608, 8388608) = 8388608, ceiling(8388610, 8388608) = 16777216, ceiling(18446744073701163006, 8388608) = 18446744073701163008 2184 ceiling(16777216, 16777216) = 16777216, ceiling(16777218, 16777216) = 33554432, ceiling(18446744073692774398, 16777216) = 18446744073692774400 2185 ceiling(33554432, 33554432) = 33554432, ceiling(33554434, 33554432) = 67108864, ceiling(18446744073675997182, 33554432) = 18446744073675997184 2186 ceiling(67108864, 67108864) = 67108864, ceiling(67108866, 67108864) = 134217728, ceiling(18446744073642442750, 67108864) = 18446744073642442752 2187 ceiling(134217728, 134217728) = 134217728, ceiling(134217730, 134217728) = 268435456, ceiling(18446744073575333886, 134217728) = 18446744073575333888 2188 ceiling(268435456, 268435456) = 268435456, ceiling(268435458, 268435456) = 536870912, ceiling(18446744073441116158, 268435456) = 18446744073441116160 2189 ceiling(536870912, 536870912) = 536870912, ceiling(536870914, 536870912) = 1073741824, ceiling(18446744073172680702, 536870912) = 18446744073172680704 2190 ceiling(1073741824, 1073741824) = 1073741824, ceiling(1073741826, 1073741824) = 2147483648, ceiling(18446744072635809790, 1073741824) = 18446744072635809792 2191 ceiling(2147483648, 2147483648) = 2147483648, ceiling(2147483650, 2147483648) = 4294967296, ceiling(18446744071562067966, 2147483648) = 18446744071562067968 2192 ceiling(4294967296, 4294967296) = 4294967296, ceiling(4294967298, 4294967296) = 8589934592, ceiling(18446744069414584318, 4294967296) = 18446744069414584320 2193 ceiling(8589934592, 8589934592) = 8589934592, ceiling(8589934594, 8589934592) = 17179869184, ceiling(18446744065119617022, 8589934592) = 18446744065119617024 2194 ceiling(17179869184, 17179869184) = 17179869184, ceiling(17179869186, 17179869184) = 34359738368, ceiling(18446744056529682430, 17179869184) = 18446744056529682432 2195 ceiling(34359738368, 34359738368) = 34359738368, ceiling(34359738370, 34359738368) = 68719476736, ceiling(18446744039349813246, 34359738368) = 18446744039349813248 2196 ceiling(68719476736, 68719476736) = 68719476736, ceiling(68719476738, 68719476736) = 137438953472, ceiling(18446744004990074878, 68719476736) = 18446744004990074880 2197 ceiling(137438953472, 137438953472) = 137438953472, ceiling(137438953474, 137438953472) = 274877906944, ceiling(18446743936270598142, 137438953472) = 18446743936270598144 2198 ceiling(274877906944, 274877906944) = 274877906944, ceiling(274877906946, 274877906944) = 549755813888, ceiling(18446743798831644670, 274877906944) = 18446743798831644672 2199 ceiling(549755813888, 549755813888) = 549755813888, ceiling(549755813890, 549755813888) = 1099511627776, ceiling(18446743523953737726, 549755813888) = 18446743523953737728 2200 ceiling(1099511627776, 1099511627776) = 1099511627776, ceiling(1099511627778, 1099511627776) = 2199023255552, ceiling(18446742974197923838, 1099511627776) = 18446742974197923840 2201 ceiling(2199023255552, 2199023255552) = 2199023255552, ceiling(2199023255554, 2199023255552) = 4398046511104, ceiling(18446741874686296062, 2199023255552) = 18446741874686296064 2202 ceiling(4398046511104, 4398046511104) = 4398046511104, ceiling(4398046511106, 4398046511104) = 8796093022208, ceiling(18446739675663040510, 4398046511104) = 18446739675663040512 2203 ceiling(8796093022208, 8796093022208) = 8796093022208, ceiling(8796093022210, 8796093022208) = 17592186044416, ceiling(18446735277616529406, 8796093022208) = 18446735277616529408 2204 ceiling(17592186044416, 17592186044416) = 17592186044416, ceiling(17592186044418, 17592186044416) = 35184372088832, ceiling(18446726481523507198, 17592186044416) = 18446726481523507200 2205 ceiling(35184372088832, 35184372088832) = 35184372088832, ceiling(35184372088834, 35184372088832) = 70368744177664, ceiling(18446708889337462782, 35184372088832) = 18446708889337462784 2206 ceiling(70368744177664, 70368744177664) = 70368744177664, ceiling(70368744177666, 70368744177664) = 140737488355328, ceiling(18446673704965373950, 70368744177664) = 18446673704965373952 2207 ceiling(140737488355328, 140737488355328) = 140737488355328, ceiling(140737488355330, 140737488355328) = 281474976710656, ceiling(18446603336221196286, 140737488355328) = 18446603336221196288 2208 ceiling(281474976710656, 281474976710656) = 281474976710656, ceiling(281474976710658, 281474976710656) = 562949953421312, ceiling(18446462598732840958, 281474976710656) = 18446462598732840960 2209 ceiling(562949953421312, 562949953421312) = 562949953421312, ceiling(562949953421314, 562949953421312) = 1125899906842624, ceiling(18446181123756130302, 562949953421312) = 18446181123756130304 2210 ceiling(1125899906842624, 1125899906842624) = 1125899906842624, ceiling(1125899906842626, 1125899906842624) = 2251799813685248, ceiling(18445618173802708990, 1125899906842624) = 18445618173802708992 2211 ceiling(2251799813685248, 2251799813685248) = 2251799813685248, ceiling(2251799813685250, 2251799813685248) = 4503599627370496, ceiling(18444492273895866366, 2251799813685248) = 18444492273895866368 2212 ceiling(4503599627370496, 4503599627370496) = 4503599627370496, ceiling(4503599627370498, 4503599627370496) = 9007199254740992, ceiling(18442240474082181118, 4503599627370496) = 18442240474082181120 2213 ceiling(9007199254740992, 9007199254740992) = 9007199254740992, ceiling(9007199254740994, 9007199254740992) = 18014398509481984, ceiling(18437736874454810622, 9007199254740992) = 18437736874454810624 2214 ceiling(18014398509481984, 18014398509481984) = 18014398509481984, ceiling(18014398509481986, 18014398509481984) = 36028797018963968, ceiling(18428729675200069630, 18014398509481984) = 18428729675200069632 2215 ceiling(36028797018963968, 36028797018963968) = 36028797018963968, ceiling(36028797018963970, 36028797018963968) = 72057594037927936, ceiling(18410715276690587646, 36028797018963968) = 18410715276690587648 2216 ceiling(72057594037927936, 72057594037927936) = 72057594037927936, ceiling(72057594037927938, 72057594037927936) = 144115188075855872, ceiling(18374686479671623678, 72057594037927936) = 18374686479671623680 2217 ceiling(144115188075855872, 144115188075855872) = 144115188075855872, ceiling(144115188075855874, 144115188075855872) = 288230376151711744, ceiling(18302628885633695742, 144115188075855872) = 18302628885633695744 2218 ceiling(288230376151711744, 288230376151711744) = 288230376151711744, ceiling(288230376151711746, 288230376151711744) = 576460752303423488, ceiling(18158513697557839870, 288230376151711744) = 18158513697557839872 2219 ceiling(576460752303423488, 576460752303423488) = 576460752303423488, ceiling(576460752303423490, 576460752303423488) = 1152921504606846976, ceiling(17870283321406128126, 576460752303423488) = 17870283321406128128 2220 ceiling(1152921504606846976, 1152921504606846976) = 1152921504606846976, ceiling(1152921504606846978, 1152921504606846976) = 2305843009213693952, ceiling(17293822569102704638, 1152921504606846976) = 17293822569102704640 2221 ceiling(2305843009213693952, 2305843009213693952) = 2305843009213693952, ceiling(2305843009213693954, 2305843009213693952) = 4611686018427387904, ceiling(16140901064495857662, 2305843009213693952) = 16140901064495857664 2222 ceiling(4611686018427387904, 4611686018427387904) = 4611686018427387904, ceiling(4611686018427387906, 4611686018427387904) = 9223372036854775808, ceiling(13835058055282163710, 4611686018427387904) = 13835058055282163712 2223 ceiling(9223372036854775808, 9223372036854775808) = 9223372036854775808, ceiling(9223372036854775810, 9223372036854775808) = 0, ceiling(9223372036854775806, 9223372036854775808) = 9223372036854775808 2224 2225 long long int 2226 ceiling(1, 1) = 1, ceiling(3, 1) = 3, ceiling(-3, 1) = -3 2227 ceiling(2, 2) = 2, ceiling(4, 2) = 4, ceiling(-4, 2) = -4 2228 ceiling(4, 4) = 4, ceiling(6, 4) = 8, ceiling(-6, 4) = 0 2229 ceiling(8, 8) = 8, ceiling(10, 8) = 16, ceiling(-10, 8) = 0 2230 ceiling(16, 16) = 16, ceiling(18, 16) = 32, ceiling(-18, 16) = 0 2231 ceiling(32, 32) = 32, ceiling(34, 32) = 64, ceiling(-34, 32) = 0 2232 ceiling(64, 64) = 64, ceiling(66, 64) = 128, ceiling(-66, 64) = 0 2233 ceiling(128, 128) = 128, ceiling(130, 128) = 256, ceiling(-130, 128) = 0 2234 ceiling(256, 256) = 256, ceiling(258, 256) = 512, ceiling(-258, 256) = 0 2235 ceiling(512, 512) = 512, ceiling(514, 512) = 1024, ceiling(-514, 512) = 0 2236 ceiling(1024, 1024) = 1024, ceiling(1026, 1024) = 2048, ceiling(-1026, 1024) = 0 2237 ceiling(2048, 2048) = 2048, ceiling(2050, 2048) = 4096, ceiling(-2050, 2048) = 0 2238 ceiling(4096, 4096) = 4096, ceiling(4098, 4096) = 8192, ceiling(-4098, 4096) = 0 2239 ceiling(8192, 8192) = 8192, ceiling(8194, 8192) = 16384, ceiling(-8194, 8192) = 0 2240 ceiling(16384, 16384) = 16384, ceiling(16386, 16384) = 32768, ceiling(-16386, 16384) = 0 2241 ceiling(32768, 32768) = 32768, ceiling(32770, 32768) = 65536, ceiling(-32770, 32768) = 0 2242 ceiling(65536, 65536) = 65536, ceiling(65538, 65536) = 131072, ceiling(-65538, 65536) = 0 2243 ceiling(131072, 131072) = 131072, ceiling(131074, 131072) = 262144, ceiling(-131074, 131072) = 0 2244 ceiling(262144, 262144) = 262144, ceiling(262146, 262144) = 524288, ceiling(-262146, 262144) = 0 2245 ceiling(524288, 524288) = 524288, ceiling(524290, 524288) = 1048576, ceiling(-524290, 524288) = 0 2246 ceiling(1048576, 1048576) = 1048576, ceiling(1048578, 1048576) = 2097152, ceiling(-1048578, 1048576) = 0 2247 ceiling(2097152, 2097152) = 2097152, ceiling(2097154, 2097152) = 4194304, ceiling(-2097154, 2097152) = 0 2248 ceiling(4194304, 4194304) = 4194304, ceiling(4194306, 4194304) = 8388608, ceiling(-4194306, 4194304) = 0 2249 ceiling(8388608, 8388608) = 8388608, ceiling(8388610, 8388608) = 16777216, ceiling(-8388610, 8388608) = 0 2250 ceiling(16777216, 16777216) = 16777216, ceiling(16777218, 16777216) = 33554432, ceiling(-16777218, 16777216) = 0 2251 ceiling(33554432, 33554432) = 33554432, ceiling(33554434, 33554432) = 67108864, ceiling(-33554434, 33554432) = 0 2252 ceiling(67108864, 67108864) = 67108864, ceiling(67108866, 67108864) = 134217728, ceiling(-67108866, 67108864) = 0 2253 ceiling(134217728, 134217728) = 134217728, ceiling(134217730, 134217728) = 268435456, ceiling(-134217730, 134217728) = 0 2254 ceiling(268435456, 268435456) = 268435456, ceiling(268435458, 268435456) = 536870912, ceiling(-268435458, 268435456) = 0 2255 ceiling(536870912, 536870912) = 536870912, ceiling(536870914, 536870912) = 1073741824, ceiling(-536870914, 536870912) = 0 2256 ceiling(1073741824, 1073741824) = 1073741824, ceiling(1073741826, 1073741824) = 2147483648, ceiling(-1073741826, 1073741824) = 0 2257 ceiling(2147483648, 2147483648) = 2147483648, ceiling(2147483650, 2147483648) = 4294967296, ceiling(-2147483650, 2147483648) = 0 2258 ceiling(4294967296, 4294967296) = 4294967296, ceiling(4294967298, 4294967296) = 8589934592, ceiling(-4294967298, 4294967296) = 0 2259 ceiling(8589934592, 8589934592) = 8589934592, ceiling(8589934594, 8589934592) = 17179869184, ceiling(-8589934594, 8589934592) = 0 2260 ceiling(17179869184, 17179869184) = 17179869184, ceiling(17179869186, 17179869184) = 34359738368, ceiling(-17179869186, 17179869184) = 0 2261 ceiling(34359738368, 34359738368) = 34359738368, ceiling(34359738370, 34359738368) = 68719476736, ceiling(-34359738370, 34359738368) = 0 2262 ceiling(68719476736, 68719476736) = 68719476736, ceiling(68719476738, 68719476736) = 137438953472, ceiling(-68719476738, 68719476736) = 0 2263 ceiling(137438953472, 137438953472) = 137438953472, ceiling(137438953474, 137438953472) = 274877906944, ceiling(-137438953474, 137438953472) = 0 2264 ceiling(274877906944, 274877906944) = 274877906944, ceiling(274877906946, 274877906944) = 549755813888, ceiling(-274877906946, 274877906944) = 0 2265 ceiling(549755813888, 549755813888) = 549755813888, ceiling(549755813890, 549755813888) = 1099511627776, ceiling(-549755813890, 549755813888) = 0 2266 ceiling(1099511627776, 1099511627776) = 1099511627776, ceiling(1099511627778, 1099511627776) = 2199023255552, ceiling(-1099511627778, 1099511627776) = 0 2267 ceiling(2199023255552, 2199023255552) = 2199023255552, ceiling(2199023255554, 2199023255552) = 4398046511104, ceiling(-2199023255554, 2199023255552) = 0 2268 ceiling(4398046511104, 4398046511104) = 4398046511104, ceiling(4398046511106, 4398046511104) = 8796093022208, ceiling(-4398046511106, 4398046511104) = 0 2269 ceiling(8796093022208, 8796093022208) = 8796093022208, ceiling(8796093022210, 8796093022208) = 17592186044416, ceiling(-8796093022210, 8796093022208) = 0 2270 ceiling(17592186044416, 17592186044416) = 17592186044416, ceiling(17592186044418, 17592186044416) = 35184372088832, ceiling(-17592186044418, 17592186044416) = 0 2271 ceiling(35184372088832, 35184372088832) = 35184372088832, ceiling(35184372088834, 35184372088832) = 70368744177664, ceiling(-35184372088834, 35184372088832) = 0 2272 ceiling(70368744177664, 70368744177664) = 70368744177664, ceiling(70368744177666, 70368744177664) = 140737488355328, ceiling(-70368744177666, 70368744177664) = 0 2273 ceiling(140737488355328, 140737488355328) = 140737488355328, ceiling(140737488355330, 140737488355328) = 281474976710656, ceiling(-140737488355330, 140737488355328) = 0 2274 ceiling(281474976710656, 281474976710656) = 281474976710656, ceiling(281474976710658, 281474976710656) = 562949953421312, ceiling(-281474976710658, 281474976710656) = 0 2275 ceiling(562949953421312, 562949953421312) = 562949953421312, ceiling(562949953421314, 562949953421312) = 1125899906842624, ceiling(-562949953421314, 562949953421312) = 0 2276 ceiling(1125899906842624, 1125899906842624) = 1125899906842624, ceiling(1125899906842626, 1125899906842624) = 2251799813685248, ceiling(-1125899906842626, 1125899906842624) = 0 2277 ceiling(2251799813685248, 2251799813685248) = 2251799813685248, ceiling(2251799813685250, 2251799813685248) = 4503599627370496, ceiling(-2251799813685250, 2251799813685248) = 0 2278 ceiling(4503599627370496, 4503599627370496) = 4503599627370496, ceiling(4503599627370498, 4503599627370496) = 9007199254740992, ceiling(-4503599627370498, 4503599627370496) = 0 2279 ceiling(9007199254740992, 9007199254740992) = 9007199254740992, ceiling(9007199254740994, 9007199254740992) = 18014398509481984, ceiling(-9007199254740994, 9007199254740992) = 0 2280 ceiling(18014398509481984, 18014398509481984) = 18014398509481984, ceiling(18014398509481986, 18014398509481984) = 36028797018963968, ceiling(-18014398509481986, 18014398509481984) = 0 2281 ceiling(36028797018963968, 36028797018963968) = 36028797018963968, ceiling(36028797018963970, 36028797018963968) = 72057594037927936, ceiling(-36028797018963970, 36028797018963968) = 0 2282 ceiling(72057594037927936, 72057594037927936) = 72057594037927936, ceiling(72057594037927938, 72057594037927936) = 144115188075855872, ceiling(-72057594037927938, 72057594037927936) = 0 2283 ceiling(144115188075855872, 144115188075855872) = 144115188075855872, ceiling(144115188075855874, 144115188075855872) = 288230376151711744, ceiling(-144115188075855874, 144115188075855872) = 0 2284 ceiling(288230376151711744, 288230376151711744) = 288230376151711744, ceiling(288230376151711746, 288230376151711744) = 576460752303423488, ceiling(-288230376151711746, 288230376151711744) = 0 2285 ceiling(576460752303423488, 576460752303423488) = 576460752303423488, ceiling(576460752303423490, 576460752303423488) = 1152921504606846976, ceiling(-576460752303423490, 576460752303423488) = 0 2286 ceiling(1152921504606846976, 1152921504606846976) = 1152921504606846976, ceiling(1152921504606846978, 1152921504606846976) = 2305843009213693952, ceiling(-1152921504606846978, 1152921504606846976) = 0 2287 ceiling(2305843009213693952, 2305843009213693952) = 2305843009213693952, ceiling(2305843009213693954, 2305843009213693952) = 4611686018427387904, ceiling(-2305843009213693954, 2305843009213693952) = 0 2288 ceiling(4611686018427387904, 4611686018427387904) = 4611686018427387904, ceiling(4611686018427387906, 4611686018427387904) = -4611686018427387904, ceiling(-4611686018427387906, 4611686018427387904) = 0 2289 ceiling(-9223372036854775808, -9223372036854775808) = -9223372036854775808, ceiling(-9223372036854775806, -9223372036854775808) = 0, ceiling(9223372036854775806, -9223372036854775808) = 0 2290 2291 unsigned long long int 2292 ceiling(1, 1) = 1, ceiling(3, 1) = 3, ceiling(18446744073709551613, 1) = 18446744073709551613 2293 ceiling(2, 2) = 2, ceiling(4, 2) = 4, ceiling(18446744073709551612, 2) = 18446744073709551612 2294 ceiling(4, 4) = 4, ceiling(6, 4) = 8, ceiling(18446744073709551610, 4) = 18446744073709551612 2295 ceiling(8, 8) = 8, ceiling(10, 8) = 16, ceiling(18446744073709551606, 8) = 18446744073709551608 2296 ceiling(16, 16) = 16, ceiling(18, 16) = 32, ceiling(18446744073709551598, 16) = 18446744073709551600 2297 ceiling(32, 32) = 32, ceiling(34, 32) = 64, ceiling(18446744073709551582, 32) = 18446744073709551584 2298 ceiling(64, 64) = 64, ceiling(66, 64) = 128, ceiling(18446744073709551550, 64) = 18446744073709551552 2299 ceiling(128, 128) = 128, ceiling(130, 128) = 256, ceiling(18446744073709551486, 128) = 18446744073709551488 2300 ceiling(256, 256) = 256, ceiling(258, 256) = 512, ceiling(18446744073709551358, 256) = 18446744073709551360 2301 ceiling(512, 512) = 512, ceiling(514, 512) = 1024, ceiling(18446744073709551102, 512) = 18446744073709551104 2302 ceiling(1024, 1024) = 1024, ceiling(1026, 1024) = 2048, ceiling(18446744073709550590, 1024) = 18446744073709550592 2303 ceiling(2048, 2048) = 2048, ceiling(2050, 2048) = 4096, ceiling(18446744073709549566, 2048) = 18446744073709549568 2304 ceiling(4096, 4096) = 4096, ceiling(4098, 4096) = 8192, ceiling(18446744073709547518, 4096) = 18446744073709547520 2305 ceiling(8192, 8192) = 8192, ceiling(8194, 8192) = 16384, ceiling(18446744073709543422, 8192) = 18446744073709543424 2306 ceiling(16384, 16384) = 16384, ceiling(16386, 16384) = 32768, ceiling(18446744073709535230, 16384) = 18446744073709535232 2307 ceiling(32768, 32768) = 32768, ceiling(32770, 32768) = 65536, ceiling(18446744073709518846, 32768) = 18446744073709518848 2308 ceiling(65536, 65536) = 65536, ceiling(65538, 65536) = 131072, ceiling(18446744073709486078, 65536) = 18446744073709486080 2309 ceiling(131072, 131072) = 131072, ceiling(131074, 131072) = 262144, ceiling(18446744073709420542, 131072) = 18446744073709420544 2310 ceiling(262144, 262144) = 262144, ceiling(262146, 262144) = 524288, ceiling(18446744073709289470, 262144) = 18446744073709289472 2311 ceiling(524288, 524288) = 524288, ceiling(524290, 524288) = 1048576, ceiling(18446744073709027326, 524288) = 18446744073709027328 2312 ceiling(1048576, 1048576) = 1048576, ceiling(1048578, 1048576) = 2097152, ceiling(18446744073708503038, 1048576) = 18446744073708503040 2313 ceiling(2097152, 2097152) = 2097152, ceiling(2097154, 2097152) = 4194304, ceiling(18446744073707454462, 2097152) = 18446744073707454464 2314 ceiling(4194304, 4194304) = 4194304, ceiling(4194306, 4194304) = 8388608, ceiling(18446744073705357310, 4194304) = 18446744073705357312 2315 ceiling(8388608, 8388608) = 8388608, ceiling(8388610, 8388608) = 16777216, ceiling(18446744073701163006, 8388608) = 18446744073701163008 2316 ceiling(16777216, 16777216) = 16777216, ceiling(16777218, 16777216) = 33554432, ceiling(18446744073692774398, 16777216) = 18446744073692774400 2317 ceiling(33554432, 33554432) = 33554432, ceiling(33554434, 33554432) = 67108864, ceiling(18446744073675997182, 33554432) = 18446744073675997184 2318 ceiling(67108864, 67108864) = 67108864, ceiling(67108866, 67108864) = 134217728, ceiling(18446744073642442750, 67108864) = 18446744073642442752 2319 ceiling(134217728, 134217728) = 134217728, ceiling(134217730, 134217728) = 268435456, ceiling(18446744073575333886, 134217728) = 18446744073575333888 2320 ceiling(268435456, 268435456) = 268435456, ceiling(268435458, 268435456) = 536870912, ceiling(18446744073441116158, 268435456) = 18446744073441116160 2321 ceiling(536870912, 536870912) = 536870912, ceiling(536870914, 536870912) = 1073741824, ceiling(18446744073172680702, 536870912) = 18446744073172680704 2322 ceiling(1073741824, 1073741824) = 1073741824, ceiling(1073741826, 1073741824) = 2147483648, ceiling(18446744072635809790, 1073741824) = 18446744072635809792 2323 ceiling(2147483648, 2147483648) = 2147483648, ceiling(2147483650, 2147483648) = 4294967296, ceiling(18446744071562067966, 2147483648) = 18446744071562067968 2324 ceiling(4294967296, 4294967296) = 4294967296, ceiling(4294967298, 4294967296) = 8589934592, ceiling(18446744069414584318, 4294967296) = 18446744069414584320 2325 ceiling(8589934592, 8589934592) = 8589934592, ceiling(8589934594, 8589934592) = 17179869184, ceiling(18446744065119617022, 8589934592) = 18446744065119617024 2326 ceiling(17179869184, 17179869184) = 17179869184, ceiling(17179869186, 17179869184) = 34359738368, ceiling(18446744056529682430, 17179869184) = 18446744056529682432 2327 ceiling(34359738368, 34359738368) = 34359738368, ceiling(34359738370, 34359738368) = 68719476736, ceiling(18446744039349813246, 34359738368) = 18446744039349813248 2328 ceiling(68719476736, 68719476736) = 68719476736, ceiling(68719476738, 68719476736) = 137438953472, ceiling(18446744004990074878, 68719476736) = 18446744004990074880 2329 ceiling(137438953472, 137438953472) = 137438953472, ceiling(137438953474, 137438953472) = 274877906944, ceiling(18446743936270598142, 137438953472) = 18446743936270598144 2330 ceiling(274877906944, 274877906944) = 274877906944, ceiling(274877906946, 274877906944) = 549755813888, ceiling(18446743798831644670, 274877906944) = 18446743798831644672 2331 ceiling(549755813888, 549755813888) = 549755813888, ceiling(549755813890, 549755813888) = 1099511627776, ceiling(18446743523953737726, 549755813888) = 18446743523953737728 2332 ceiling(1099511627776, 1099511627776) = 1099511627776, ceiling(1099511627778, 1099511627776) = 2199023255552, ceiling(18446742974197923838, 1099511627776) = 18446742974197923840 2333 ceiling(2199023255552, 2199023255552) = 2199023255552, ceiling(2199023255554, 2199023255552) = 4398046511104, ceiling(18446741874686296062, 2199023255552) = 18446741874686296064 2334 ceiling(4398046511104, 4398046511104) = 4398046511104, ceiling(4398046511106, 4398046511104) = 8796093022208, ceiling(18446739675663040510, 4398046511104) = 18446739675663040512 2335 ceiling(8796093022208, 8796093022208) = 8796093022208, ceiling(8796093022210, 8796093022208) = 17592186044416, ceiling(18446735277616529406, 8796093022208) = 18446735277616529408 2336 ceiling(17592186044416, 17592186044416) = 17592186044416, ceiling(17592186044418, 17592186044416) = 35184372088832, ceiling(18446726481523507198, 17592186044416) = 18446726481523507200 2337 ceiling(35184372088832, 35184372088832) = 35184372088832, ceiling(35184372088834, 35184372088832) = 70368744177664, ceiling(18446708889337462782, 35184372088832) = 18446708889337462784 2338 ceiling(70368744177664, 70368744177664) = 70368744177664, ceiling(70368744177666, 70368744177664) = 140737488355328, ceiling(18446673704965373950, 70368744177664) = 18446673704965373952 2339 ceiling(140737488355328, 140737488355328) = 140737488355328, ceiling(140737488355330, 140737488355328) = 281474976710656, ceiling(18446603336221196286, 140737488355328) = 18446603336221196288 2340 ceiling(281474976710656, 281474976710656) = 281474976710656, ceiling(281474976710658, 281474976710656) = 562949953421312, ceiling(18446462598732840958, 281474976710656) = 18446462598732840960 2341 ceiling(562949953421312, 562949953421312) = 562949953421312, ceiling(562949953421314, 562949953421312) = 1125899906842624, ceiling(18446181123756130302, 562949953421312) = 18446181123756130304 2342 ceiling(1125899906842624, 1125899906842624) = 1125899906842624, ceiling(1125899906842626, 1125899906842624) = 2251799813685248, ceiling(18445618173802708990, 1125899906842624) = 18445618173802708992 2343 ceiling(2251799813685248, 2251799813685248) = 2251799813685248, ceiling(2251799813685250, 2251799813685248) = 4503599627370496, ceiling(18444492273895866366, 2251799813685248) = 18444492273895866368 2344 ceiling(4503599627370496, 4503599627370496) = 4503599627370496, ceiling(4503599627370498, 4503599627370496) = 9007199254740992, ceiling(18442240474082181118, 4503599627370496) = 18442240474082181120 2345 ceiling(9007199254740992, 9007199254740992) = 9007199254740992, ceiling(9007199254740994, 9007199254740992) = 18014398509481984, ceiling(18437736874454810622, 9007199254740992) = 18437736874454810624 2346 ceiling(18014398509481984, 18014398509481984) = 18014398509481984, ceiling(18014398509481986, 18014398509481984) = 36028797018963968, ceiling(18428729675200069630, 18014398509481984) = 18428729675200069632 2347 ceiling(36028797018963968, 36028797018963968) = 36028797018963968, ceiling(36028797018963970, 36028797018963968) = 72057594037927936, ceiling(18410715276690587646, 36028797018963968) = 18410715276690587648 2348 ceiling(72057594037927936, 72057594037927936) = 72057594037927936, ceiling(72057594037927938, 72057594037927936) = 144115188075855872, ceiling(18374686479671623678, 72057594037927936) = 18374686479671623680 2349 ceiling(144115188075855872, 144115188075855872) = 144115188075855872, ceiling(144115188075855874, 144115188075855872) = 288230376151711744, ceiling(18302628885633695742, 144115188075855872) = 18302628885633695744 2350 ceiling(288230376151711744, 288230376151711744) = 288230376151711744, ceiling(288230376151711746, 288230376151711744) = 576460752303423488, ceiling(18158513697557839870, 288230376151711744) = 18158513697557839872 2351 ceiling(576460752303423488, 576460752303423488) = 576460752303423488, ceiling(576460752303423490, 576460752303423488) = 1152921504606846976, ceiling(17870283321406128126, 576460752303423488) = 17870283321406128128 2352 ceiling(1152921504606846976, 1152921504606846976) = 1152921504606846976, ceiling(1152921504606846978, 1152921504606846976) = 2305843009213693952, ceiling(17293822569102704638, 1152921504606846976) = 17293822569102704640 2353 ceiling(2305843009213693952, 2305843009213693952) = 2305843009213693952, ceiling(2305843009213693954, 2305843009213693952) = 4611686018427387904, ceiling(16140901064495857662, 2305843009213693952) = 16140901064495857664 2354 ceiling(4611686018427387904, 4611686018427387904) = 4611686018427387904, ceiling(4611686018427387906, 4611686018427387904) = 9223372036854775808, ceiling(13835058055282163710, 4611686018427387904) = 13835058055282163712 2355 ceiling(9223372036854775808, 9223372036854775808) = 9223372036854775808, ceiling(9223372036854775810, 9223372036854775808) = 0, ceiling(9223372036854775806, 9223372036854775808) = 9223372036854775808 2356 -
tests/.expect/bitmanip3.x86.txt
r25a1cb0 r8d8ac3b 664 664 665 665 666 floor 667 668 signed char 669 floor(1, 1) = 1, floor(3, 1) = 3, floor(-3, 1) = -3 670 floor(2, 2) = 2, floor(4, 2) = 4, floor(-4, 2) = -4 671 floor(4, 4) = 4, floor(6, 4) = 4, floor(-6, 4) = -4 672 floor(8, 8) = 8, floor(10, 8) = 8, floor(-10, 8) = -8 673 floor(16, 16) = 16, floor(18, 16) = 16, floor(-18, 16) = -16 674 floor(32, 32) = 32, floor(34, 32) = 32, floor(-34, 32) = -32 675 floor(64, 64) = 64, floor(66, 64) = 64, floor(-66, 64) = -64 676 floor(-128, -128) = -128, floor(-126, -128) = 0, floor(126, -128) = 0 677 678 unsigned char 679 floor(1, 1) = 1, floor(3, 1) = 3, floor(253, 1) = 253 680 floor(2, 2) = 2, floor(4, 2) = 4, floor(252, 2) = 252 681 floor(4, 4) = 4, floor(6, 4) = 4, floor(250, 4) = 248 682 floor(8, 8) = 8, floor(10, 8) = 8, floor(246, 8) = 240 683 floor(16, 16) = 16, floor(18, 16) = 16, floor(238, 16) = 224 684 floor(32, 32) = 32, floor(34, 32) = 32, floor(222, 32) = 192 685 floor(64, 64) = 64, floor(66, 64) = 64, floor(190, 64) = 128 686 floor(128, 128) = 128, floor(130, 128) = 128, floor(126, 128) = 0 687 688 short int 689 floor(1, 1) = 1, floor(3, 1) = 3, floor(-3, 1) = -3 690 floor(2, 2) = 2, floor(4, 2) = 4, floor(-4, 2) = -4 691 floor(4, 4) = 4, floor(6, 4) = 4, floor(-6, 4) = -4 692 floor(8, 8) = 8, floor(10, 8) = 8, floor(-10, 8) = -8 693 floor(16, 16) = 16, floor(18, 16) = 16, floor(-18, 16) = -16 694 floor(32, 32) = 32, floor(34, 32) = 32, floor(-34, 32) = -32 695 floor(64, 64) = 64, floor(66, 64) = 64, floor(-66, 64) = -64 696 floor(128, 128) = 128, floor(130, 128) = 128, floor(-130, 128) = -128 697 floor(256, 256) = 256, floor(258, 256) = 256, floor(-258, 256) = -256 698 floor(512, 512) = 512, floor(514, 512) = 512, floor(-514, 512) = -512 699 floor(1024, 1024) = 1024, floor(1026, 1024) = 1024, floor(-1026, 1024) = -1024 700 floor(2048, 2048) = 2048, floor(2050, 2048) = 2048, floor(-2050, 2048) = -2048 701 floor(4096, 4096) = 4096, floor(4098, 4096) = 4096, floor(-4098, 4096) = -4096 702 floor(8192, 8192) = 8192, floor(8194, 8192) = 8192, floor(-8194, 8192) = -8192 703 floor(16384, 16384) = 16384, floor(16386, 16384) = 16384, floor(-16386, 16384) = -16384 704 floor(-32768, -32768) = -32768, floor(-32766, -32768) = 0, floor(32766, -32768) = 0 705 706 unsigned short int 707 floor(1, 1) = 1, floor(3, 1) = 3, floor(65533, 1) = 65533 708 floor(2, 2) = 2, floor(4, 2) = 4, floor(65532, 2) = 65532 709 floor(4, 4) = 4, floor(6, 4) = 4, floor(65530, 4) = 65528 710 floor(8, 8) = 8, floor(10, 8) = 8, floor(65526, 8) = 65520 711 floor(16, 16) = 16, floor(18, 16) = 16, floor(65518, 16) = 65504 712 floor(32, 32) = 32, floor(34, 32) = 32, floor(65502, 32) = 65472 713 floor(64, 64) = 64, floor(66, 64) = 64, floor(65470, 64) = 65408 714 floor(128, 128) = 128, floor(130, 128) = 128, floor(65406, 128) = 65280 715 floor(256, 256) = 256, floor(258, 256) = 256, floor(65278, 256) = 65024 716 floor(512, 512) = 512, floor(514, 512) = 512, floor(65022, 512) = 64512 717 floor(1024, 1024) = 1024, floor(1026, 1024) = 1024, floor(64510, 1024) = 63488 718 floor(2048, 2048) = 2048, floor(2050, 2048) = 2048, floor(63486, 2048) = 61440 719 floor(4096, 4096) = 4096, floor(4098, 4096) = 4096, floor(61438, 4096) = 57344 720 floor(8192, 8192) = 8192, floor(8194, 8192) = 8192, floor(57342, 8192) = 49152 721 floor(16384, 16384) = 16384, floor(16386, 16384) = 16384, floor(49150, 16384) = 32768 722 floor(32768, 32768) = 32768, floor(32770, 32768) = 32768, floor(32766, 32768) = 0 723 724 int 725 floor(1, 1) = 1, floor(3, 1) = 3, floor(-3, 1) = -3 726 floor(2, 2) = 2, floor(4, 2) = 4, floor(-4, 2) = -4 727 floor(4, 4) = 4, floor(6, 4) = 4, floor(-6, 4) = -4 728 floor(8, 8) = 8, floor(10, 8) = 8, floor(-10, 8) = -8 729 floor(16, 16) = 16, floor(18, 16) = 16, floor(-18, 16) = -16 730 floor(32, 32) = 32, floor(34, 32) = 32, floor(-34, 32) = -32 731 floor(64, 64) = 64, floor(66, 64) = 64, floor(-66, 64) = -64 732 floor(128, 128) = 128, floor(130, 128) = 128, floor(-130, 128) = -128 733 floor(256, 256) = 256, floor(258, 256) = 256, floor(-258, 256) = -256 734 floor(512, 512) = 512, floor(514, 512) = 512, floor(-514, 512) = -512 735 floor(1024, 1024) = 1024, floor(1026, 1024) = 1024, floor(-1026, 1024) = -1024 736 floor(2048, 2048) = 2048, floor(2050, 2048) = 2048, floor(-2050, 2048) = -2048 737 floor(4096, 4096) = 4096, floor(4098, 4096) = 4096, floor(-4098, 4096) = -4096 738 floor(8192, 8192) = 8192, floor(8194, 8192) = 8192, floor(-8194, 8192) = -8192 739 floor(16384, 16384) = 16384, floor(16386, 16384) = 16384, floor(-16386, 16384) = -16384 740 floor(32768, 32768) = 32768, floor(32770, 32768) = 32768, floor(-32770, 32768) = -32768 741 floor(65536, 65536) = 65536, floor(65538, 65536) = 65536, floor(-65538, 65536) = -65536 742 floor(131072, 131072) = 131072, floor(131074, 131072) = 131072, floor(-131074, 131072) = -131072 743 floor(262144, 262144) = 262144, floor(262146, 262144) = 262144, floor(-262146, 262144) = -262144 744 floor(524288, 524288) = 524288, floor(524290, 524288) = 524288, floor(-524290, 524288) = -524288 745 floor(1048576, 1048576) = 1048576, floor(1048578, 1048576) = 1048576, floor(-1048578, 1048576) = -1048576 746 floor(2097152, 2097152) = 2097152, floor(2097154, 2097152) = 2097152, floor(-2097154, 2097152) = -2097152 747 floor(4194304, 4194304) = 4194304, floor(4194306, 4194304) = 4194304, floor(-4194306, 4194304) = -4194304 748 floor(8388608, 8388608) = 8388608, floor(8388610, 8388608) = 8388608, floor(-8388610, 8388608) = -8388608 749 floor(16777216, 16777216) = 16777216, floor(16777218, 16777216) = 16777216, floor(-16777218, 16777216) = -16777216 750 floor(33554432, 33554432) = 33554432, floor(33554434, 33554432) = 33554432, floor(-33554434, 33554432) = -33554432 751 floor(67108864, 67108864) = 67108864, floor(67108866, 67108864) = 67108864, floor(-67108866, 67108864) = -67108864 752 floor(134217728, 134217728) = 134217728, floor(134217730, 134217728) = 134217728, floor(-134217730, 134217728) = -134217728 753 floor(268435456, 268435456) = 268435456, floor(268435458, 268435456) = 268435456, floor(-268435458, 268435456) = -268435456 754 floor(536870912, 536870912) = 536870912, floor(536870914, 536870912) = 536870912, floor(-536870914, 536870912) = -536870912 755 floor(1073741824, 1073741824) = 1073741824, floor(1073741826, 1073741824) = 1073741824, floor(-1073741826, 1073741824) = -1073741824 756 floor(-2147483648, -2147483648) = -2147483648, floor(-2147483646, -2147483648) = 0, floor(2147483646, -2147483648) = 0 757 758 unsigned int 759 floor(1, 1) = 1, floor(3, 1) = 3, floor(4294967293, 1) = 4294967293 760 floor(2, 2) = 2, floor(4, 2) = 4, floor(4294967292, 2) = 4294967292 761 floor(4, 4) = 4, floor(6, 4) = 4, floor(4294967290, 4) = 4294967288 762 floor(8, 8) = 8, floor(10, 8) = 8, floor(4294967286, 8) = 4294967280 763 floor(16, 16) = 16, floor(18, 16) = 16, floor(4294967278, 16) = 4294967264 764 floor(32, 32) = 32, floor(34, 32) = 32, floor(4294967262, 32) = 4294967232 765 floor(64, 64) = 64, floor(66, 64) = 64, floor(4294967230, 64) = 4294967168 766 floor(128, 128) = 128, floor(130, 128) = 128, floor(4294967166, 128) = 4294967040 767 floor(256, 256) = 256, floor(258, 256) = 256, floor(4294967038, 256) = 4294966784 768 floor(512, 512) = 512, floor(514, 512) = 512, floor(4294966782, 512) = 4294966272 769 floor(1024, 1024) = 1024, floor(1026, 1024) = 1024, floor(4294966270, 1024) = 4294965248 770 floor(2048, 2048) = 2048, floor(2050, 2048) = 2048, floor(4294965246, 2048) = 4294963200 771 floor(4096, 4096) = 4096, floor(4098, 4096) = 4096, floor(4294963198, 4096) = 4294959104 772 floor(8192, 8192) = 8192, floor(8194, 8192) = 8192, floor(4294959102, 8192) = 4294950912 773 floor(16384, 16384) = 16384, floor(16386, 16384) = 16384, floor(4294950910, 16384) = 4294934528 774 floor(32768, 32768) = 32768, floor(32770, 32768) = 32768, floor(4294934526, 32768) = 4294901760 775 floor(65536, 65536) = 65536, floor(65538, 65536) = 65536, floor(4294901758, 65536) = 4294836224 776 floor(131072, 131072) = 131072, floor(131074, 131072) = 131072, floor(4294836222, 131072) = 4294705152 777 floor(262144, 262144) = 262144, floor(262146, 262144) = 262144, floor(4294705150, 262144) = 4294443008 778 floor(524288, 524288) = 524288, floor(524290, 524288) = 524288, floor(4294443006, 524288) = 4293918720 779 floor(1048576, 1048576) = 1048576, floor(1048578, 1048576) = 1048576, floor(4293918718, 1048576) = 4292870144 780 floor(2097152, 2097152) = 2097152, floor(2097154, 2097152) = 2097152, floor(4292870142, 2097152) = 4290772992 781 floor(4194304, 4194304) = 4194304, floor(4194306, 4194304) = 4194304, floor(4290772990, 4194304) = 4286578688 782 floor(8388608, 8388608) = 8388608, floor(8388610, 8388608) = 8388608, floor(4286578686, 8388608) = 4278190080 783 floor(16777216, 16777216) = 16777216, floor(16777218, 16777216) = 16777216, floor(4278190078, 16777216) = 4261412864 784 floor(33554432, 33554432) = 33554432, floor(33554434, 33554432) = 33554432, floor(4261412862, 33554432) = 4227858432 785 floor(67108864, 67108864) = 67108864, floor(67108866, 67108864) = 67108864, floor(4227858430, 67108864) = 4160749568 786 floor(134217728, 134217728) = 134217728, floor(134217730, 134217728) = 134217728, floor(4160749566, 134217728) = 4026531840 787 floor(268435456, 268435456) = 268435456, floor(268435458, 268435456) = 268435456, floor(4026531838, 268435456) = 3758096384 788 floor(536870912, 536870912) = 536870912, floor(536870914, 536870912) = 536870912, floor(3758096382, 536870912) = 3221225472 789 floor(1073741824, 1073741824) = 1073741824, floor(1073741826, 1073741824) = 1073741824, floor(3221225470, 1073741824) = 2147483648 790 floor(2147483648, 2147483648) = 2147483648, floor(2147483650, 2147483648) = 2147483648, floor(2147483646, 2147483648) = 0 791 792 long int 793 floor(1, 1) = 1, floor(3, 1) = 3, floor(-3, 1) = -3 794 floor(2, 2) = 2, floor(4, 2) = 4, floor(-4, 2) = -4 795 floor(4, 4) = 4, floor(6, 4) = 4, floor(-6, 4) = -4 796 floor(8, 8) = 8, floor(10, 8) = 8, floor(-10, 8) = -8 797 floor(16, 16) = 16, floor(18, 16) = 16, floor(-18, 16) = -16 798 floor(32, 32) = 32, floor(34, 32) = 32, floor(-34, 32) = -32 799 floor(64, 64) = 64, floor(66, 64) = 64, floor(-66, 64) = -64 800 floor(128, 128) = 128, floor(130, 128) = 128, floor(-130, 128) = -128 801 floor(256, 256) = 256, floor(258, 256) = 256, floor(-258, 256) = -256 802 floor(512, 512) = 512, floor(514, 512) = 512, floor(-514, 512) = -512 803 floor(1024, 1024) = 1024, floor(1026, 1024) = 1024, floor(-1026, 1024) = -1024 804 floor(2048, 2048) = 2048, floor(2050, 2048) = 2048, floor(-2050, 2048) = -2048 805 floor(4096, 4096) = 4096, floor(4098, 4096) = 4096, floor(-4098, 4096) = -4096 806 floor(8192, 8192) = 8192, floor(8194, 8192) = 8192, floor(-8194, 8192) = -8192 807 floor(16384, 16384) = 16384, floor(16386, 16384) = 16384, floor(-16386, 16384) = -16384 808 floor(32768, 32768) = 32768, floor(32770, 32768) = 32768, floor(-32770, 32768) = -32768 809 floor(65536, 65536) = 65536, floor(65538, 65536) = 65536, floor(-65538, 65536) = -65536 810 floor(131072, 131072) = 131072, floor(131074, 131072) = 131072, floor(-131074, 131072) = -131072 811 floor(262144, 262144) = 262144, floor(262146, 262144) = 262144, floor(-262146, 262144) = -262144 812 floor(524288, 524288) = 524288, floor(524290, 524288) = 524288, floor(-524290, 524288) = -524288 813 floor(1048576, 1048576) = 1048576, floor(1048578, 1048576) = 1048576, floor(-1048578, 1048576) = -1048576 814 floor(2097152, 2097152) = 2097152, floor(2097154, 2097152) = 2097152, floor(-2097154, 2097152) = -2097152 815 floor(4194304, 4194304) = 4194304, floor(4194306, 4194304) = 4194304, floor(-4194306, 4194304) = -4194304 816 floor(8388608, 8388608) = 8388608, floor(8388610, 8388608) = 8388608, floor(-8388610, 8388608) = -8388608 817 floor(16777216, 16777216) = 16777216, floor(16777218, 16777216) = 16777216, floor(-16777218, 16777216) = -16777216 818 floor(33554432, 33554432) = 33554432, floor(33554434, 33554432) = 33554432, floor(-33554434, 33554432) = -33554432 819 floor(67108864, 67108864) = 67108864, floor(67108866, 67108864) = 67108864, floor(-67108866, 67108864) = -67108864 820 floor(134217728, 134217728) = 134217728, floor(134217730, 134217728) = 134217728, floor(-134217730, 134217728) = -134217728 821 floor(268435456, 268435456) = 268435456, floor(268435458, 268435456) = 268435456, floor(-268435458, 268435456) = -268435456 822 floor(536870912, 536870912) = 536870912, floor(536870914, 536870912) = 536870912, floor(-536870914, 536870912) = -536870912 823 floor(1073741824, 1073741824) = 1073741824, floor(1073741826, 1073741824) = 1073741824, floor(-1073741826, 1073741824) = -1073741824 824 floor(-2147483648, -2147483648) = -2147483648, floor(-2147483646, -2147483648) = 0, floor(2147483646, -2147483648) = 0 825 826 unsigned long int 827 floor(1, 1) = 1, floor(3, 1) = 3, floor(4294967293, 1) = 4294967293 828 floor(2, 2) = 2, floor(4, 2) = 4, floor(4294967292, 2) = 4294967292 829 floor(4, 4) = 4, floor(6, 4) = 4, floor(4294967290, 4) = 4294967288 830 floor(8, 8) = 8, floor(10, 8) = 8, floor(4294967286, 8) = 4294967280 831 floor(16, 16) = 16, floor(18, 16) = 16, floor(4294967278, 16) = 4294967264 832 floor(32, 32) = 32, floor(34, 32) = 32, floor(4294967262, 32) = 4294967232 833 floor(64, 64) = 64, floor(66, 64) = 64, floor(4294967230, 64) = 4294967168 834 floor(128, 128) = 128, floor(130, 128) = 128, floor(4294967166, 128) = 4294967040 835 floor(256, 256) = 256, floor(258, 256) = 256, floor(4294967038, 256) = 4294966784 836 floor(512, 512) = 512, floor(514, 512) = 512, floor(4294966782, 512) = 4294966272 837 floor(1024, 1024) = 1024, floor(1026, 1024) = 1024, floor(4294966270, 1024) = 4294965248 838 floor(2048, 2048) = 2048, floor(2050, 2048) = 2048, floor(4294965246, 2048) = 4294963200 839 floor(4096, 4096) = 4096, floor(4098, 4096) = 4096, floor(4294963198, 4096) = 4294959104 840 floor(8192, 8192) = 8192, floor(8194, 8192) = 8192, floor(4294959102, 8192) = 4294950912 841 floor(16384, 16384) = 16384, floor(16386, 16384) = 16384, floor(4294950910, 16384) = 4294934528 842 floor(32768, 32768) = 32768, floor(32770, 32768) = 32768, floor(4294934526, 32768) = 4294901760 843 floor(65536, 65536) = 65536, floor(65538, 65536) = 65536, floor(4294901758, 65536) = 4294836224 844 floor(131072, 131072) = 131072, floor(131074, 131072) = 131072, floor(4294836222, 131072) = 4294705152 845 floor(262144, 262144) = 262144, floor(262146, 262144) = 262144, floor(4294705150, 262144) = 4294443008 846 floor(524288, 524288) = 524288, floor(524290, 524288) = 524288, floor(4294443006, 524288) = 4293918720 847 floor(1048576, 1048576) = 1048576, floor(1048578, 1048576) = 1048576, floor(4293918718, 1048576) = 4292870144 848 floor(2097152, 2097152) = 2097152, floor(2097154, 2097152) = 2097152, floor(4292870142, 2097152) = 4290772992 849 floor(4194304, 4194304) = 4194304, floor(4194306, 4194304) = 4194304, floor(4290772990, 4194304) = 4286578688 850 floor(8388608, 8388608) = 8388608, floor(8388610, 8388608) = 8388608, floor(4286578686, 8388608) = 4278190080 851 floor(16777216, 16777216) = 16777216, floor(16777218, 16777216) = 16777216, floor(4278190078, 16777216) = 4261412864 852 floor(33554432, 33554432) = 33554432, floor(33554434, 33554432) = 33554432, floor(4261412862, 33554432) = 4227858432 853 floor(67108864, 67108864) = 67108864, floor(67108866, 67108864) = 67108864, floor(4227858430, 67108864) = 4160749568 854 floor(134217728, 134217728) = 134217728, floor(134217730, 134217728) = 134217728, floor(4160749566, 134217728) = 4026531840 855 floor(268435456, 268435456) = 268435456, floor(268435458, 268435456) = 268435456, floor(4026531838, 268435456) = 3758096384 856 floor(536870912, 536870912) = 536870912, floor(536870914, 536870912) = 536870912, floor(3758096382, 536870912) = 3221225472 857 floor(1073741824, 1073741824) = 1073741824, floor(1073741826, 1073741824) = 1073741824, floor(3221225470, 1073741824) = 2147483648 858 floor(2147483648, 2147483648) = 2147483648, floor(2147483650, 2147483648) = 2147483648, floor(2147483646, 2147483648) = 0 859 860 long long int 861 floor(1, 1) = 1, floor(3, 1) = 3, floor(-3, 1) = -3 862 floor(2, 2) = 2, floor(4, 2) = 4, floor(-4, 2) = -4 863 floor(4, 4) = 4, floor(6, 4) = 4, floor(-6, 4) = -4 864 floor(8, 8) = 8, floor(10, 8) = 8, floor(-10, 8) = -8 865 floor(16, 16) = 16, floor(18, 16) = 16, floor(-18, 16) = -16 866 floor(32, 32) = 32, floor(34, 32) = 32, floor(-34, 32) = -32 867 floor(64, 64) = 64, floor(66, 64) = 64, floor(-66, 64) = -64 868 floor(128, 128) = 128, floor(130, 128) = 128, floor(-130, 128) = -128 869 floor(256, 256) = 256, floor(258, 256) = 256, floor(-258, 256) = -256 870 floor(512, 512) = 512, floor(514, 512) = 512, floor(-514, 512) = -512 871 floor(1024, 1024) = 1024, floor(1026, 1024) = 1024, floor(-1026, 1024) = -1024 872 floor(2048, 2048) = 2048, floor(2050, 2048) = 2048, floor(-2050, 2048) = -2048 873 floor(4096, 4096) = 4096, floor(4098, 4096) = 4096, floor(-4098, 4096) = -4096 874 floor(8192, 8192) = 8192, floor(8194, 8192) = 8192, floor(-8194, 8192) = -8192 875 floor(16384, 16384) = 16384, floor(16386, 16384) = 16384, floor(-16386, 16384) = -16384 876 floor(32768, 32768) = 32768, floor(32770, 32768) = 32768, floor(-32770, 32768) = -32768 877 floor(65536, 65536) = 65536, floor(65538, 65536) = 65536, floor(-65538, 65536) = -65536 878 floor(131072, 131072) = 131072, floor(131074, 131072) = 131072, floor(-131074, 131072) = -131072 879 floor(262144, 262144) = 262144, floor(262146, 262144) = 262144, floor(-262146, 262144) = -262144 880 floor(524288, 524288) = 524288, floor(524290, 524288) = 524288, floor(-524290, 524288) = -524288 881 floor(1048576, 1048576) = 1048576, floor(1048578, 1048576) = 1048576, floor(-1048578, 1048576) = -1048576 882 floor(2097152, 2097152) = 2097152, floor(2097154, 2097152) = 2097152, floor(-2097154, 2097152) = -2097152 883 floor(4194304, 4194304) = 4194304, floor(4194306, 4194304) = 4194304, floor(-4194306, 4194304) = -4194304 884 floor(8388608, 8388608) = 8388608, floor(8388610, 8388608) = 8388608, floor(-8388610, 8388608) = -8388608 885 floor(16777216, 16777216) = 16777216, floor(16777218, 16777216) = 16777216, floor(-16777218, 16777216) = -16777216 886 floor(33554432, 33554432) = 33554432, floor(33554434, 33554432) = 33554432, floor(-33554434, 33554432) = -33554432 887 floor(67108864, 67108864) = 67108864, floor(67108866, 67108864) = 67108864, floor(-67108866, 67108864) = -67108864 888 floor(134217728, 134217728) = 134217728, floor(134217730, 134217728) = 134217728, floor(-134217730, 134217728) = -134217728 889 floor(268435456, 268435456) = 268435456, floor(268435458, 268435456) = 268435456, floor(-268435458, 268435456) = -268435456 890 floor(536870912, 536870912) = 536870912, floor(536870914, 536870912) = 536870912, floor(-536870914, 536870912) = -536870912 891 floor(1073741824, 1073741824) = 1073741824, floor(1073741826, 1073741824) = 1073741824, floor(-1073741826, 1073741824) = -1073741824 892 floor(2147483648, 2147483648) = 2147483648, floor(2147483650, 2147483648) = 2147483648, floor(-2147483650, 2147483648) = -2147483648 893 floor(4294967296, 4294967296) = 4294967296, floor(4294967298, 4294967296) = 4294967296, floor(-4294967298, 4294967296) = -4294967296 894 floor(8589934592, 8589934592) = 8589934592, floor(8589934594, 8589934592) = 8589934592, floor(-8589934594, 8589934592) = -8589934592 895 floor(17179869184, 17179869184) = 17179869184, floor(17179869186, 17179869184) = 17179869184, floor(-17179869186, 17179869184) = -17179869184 896 floor(34359738368, 34359738368) = 34359738368, floor(34359738370, 34359738368) = 34359738368, floor(-34359738370, 34359738368) = -34359738368 897 floor(68719476736, 68719476736) = 68719476736, floor(68719476738, 68719476736) = 68719476736, floor(-68719476738, 68719476736) = -68719476736 898 floor(137438953472, 137438953472) = 137438953472, floor(137438953474, 137438953472) = 137438953472, floor(-137438953474, 137438953472) = -137438953472 899 floor(274877906944, 274877906944) = 274877906944, floor(274877906946, 274877906944) = 274877906944, floor(-274877906946, 274877906944) = -274877906944 900 floor(549755813888, 549755813888) = 549755813888, floor(549755813890, 549755813888) = 549755813888, floor(-549755813890, 549755813888) = -549755813888 901 floor(1099511627776, 1099511627776) = 1099511627776, floor(1099511627778, 1099511627776) = 1099511627776, floor(-1099511627778, 1099511627776) = -1099511627776 902 floor(2199023255552, 2199023255552) = 2199023255552, floor(2199023255554, 2199023255552) = 2199023255552, floor(-2199023255554, 2199023255552) = -2199023255552 903 floor(4398046511104, 4398046511104) = 4398046511104, floor(4398046511106, 4398046511104) = 4398046511104, floor(-4398046511106, 4398046511104) = -4398046511104 904 floor(8796093022208, 8796093022208) = 8796093022208, floor(8796093022210, 8796093022208) = 8796093022208, floor(-8796093022210, 8796093022208) = -8796093022208 905 floor(17592186044416, 17592186044416) = 17592186044416, floor(17592186044418, 17592186044416) = 17592186044416, floor(-17592186044418, 17592186044416) = -17592186044416 906 floor(35184372088832, 35184372088832) = 35184372088832, floor(35184372088834, 35184372088832) = 35184372088832, floor(-35184372088834, 35184372088832) = -35184372088832 907 floor(70368744177664, 70368744177664) = 70368744177664, floor(70368744177666, 70368744177664) = 70368744177664, floor(-70368744177666, 70368744177664) = -70368744177664 908 floor(140737488355328, 140737488355328) = 140737488355328, floor(140737488355330, 140737488355328) = 140737488355328, floor(-140737488355330, 140737488355328) = -140737488355328 909 floor(281474976710656, 281474976710656) = 281474976710656, floor(281474976710658, 281474976710656) = 281474976710656, floor(-281474976710658, 281474976710656) = -281474976710656 910 floor(562949953421312, 562949953421312) = 562949953421312, floor(562949953421314, 562949953421312) = 562949953421312, floor(-562949953421314, 562949953421312) = -562949953421312 911 floor(1125899906842624, 1125899906842624) = 1125899906842624, floor(1125899906842626, 1125899906842624) = 1125899906842624, floor(-1125899906842626, 1125899906842624) = -1125899906842624 912 floor(2251799813685248, 2251799813685248) = 2251799813685248, floor(2251799813685250, 2251799813685248) = 2251799813685248, floor(-2251799813685250, 2251799813685248) = -2251799813685248 913 floor(4503599627370496, 4503599627370496) = 4503599627370496, floor(4503599627370498, 4503599627370496) = 4503599627370496, floor(-4503599627370498, 4503599627370496) = -4503599627370496 914 floor(9007199254740992, 9007199254740992) = 9007199254740992, floor(9007199254740994, 9007199254740992) = 9007199254740992, floor(-9007199254740994, 9007199254740992) = -9007199254740992 915 floor(18014398509481984, 18014398509481984) = 18014398509481984, floor(18014398509481986, 18014398509481984) = 18014398509481984, floor(-18014398509481986, 18014398509481984) = -18014398509481984 916 floor(36028797018963968, 36028797018963968) = 36028797018963968, floor(36028797018963970, 36028797018963968) = 36028797018963968, floor(-36028797018963970, 36028797018963968) = -36028797018963968 917 floor(72057594037927936, 72057594037927936) = 72057594037927936, floor(72057594037927938, 72057594037927936) = 72057594037927936, floor(-72057594037927938, 72057594037927936) = -72057594037927936 918 floor(144115188075855872, 144115188075855872) = 144115188075855872, floor(144115188075855874, 144115188075855872) = 144115188075855872, floor(-144115188075855874, 144115188075855872) = -144115188075855872 919 floor(288230376151711744, 288230376151711744) = 288230376151711744, floor(288230376151711746, 288230376151711744) = 288230376151711744, floor(-288230376151711746, 288230376151711744) = -288230376151711744 920 floor(576460752303423488, 576460752303423488) = 576460752303423488, floor(576460752303423490, 576460752303423488) = 576460752303423488, floor(-576460752303423490, 576460752303423488) = -576460752303423488 921 floor(1152921504606846976, 1152921504606846976) = 1152921504606846976, floor(1152921504606846978, 1152921504606846976) = 1152921504606846976, floor(-1152921504606846978, 1152921504606846976) = -1152921504606846976 922 floor(2305843009213693952, 2305843009213693952) = 2305843009213693952, floor(2305843009213693954, 2305843009213693952) = 2305843009213693952, floor(-2305843009213693954, 2305843009213693952) = -2305843009213693952 923 floor(4611686018427387904, 4611686018427387904) = 4611686018427387904, floor(4611686018427387906, 4611686018427387904) = 4611686018427387904, floor(-4611686018427387906, 4611686018427387904) = -4611686018427387904 924 floor(-9223372036854775808, -9223372036854775808) = -9223372036854775808, floor(-9223372036854775806, -9223372036854775808) = 0, floor(9223372036854775806, -9223372036854775808) = 0 925 926 unsigned long long int 927 floor(1, 1) = 1, floor(3, 1) = 3, floor(18446744073709551613, 1) = 18446744073709551613 928 floor(2, 2) = 2, floor(4, 2) = 4, floor(18446744073709551612, 2) = 18446744073709551612 929 floor(4, 4) = 4, floor(6, 4) = 4, floor(18446744073709551610, 4) = 18446744073709551608 930 floor(8, 8) = 8, floor(10, 8) = 8, floor(18446744073709551606, 8) = 18446744073709551600 931 floor(16, 16) = 16, floor(18, 16) = 16, floor(18446744073709551598, 16) = 18446744073709551584 932 floor(32, 32) = 32, floor(34, 32) = 32, floor(18446744073709551582, 32) = 18446744073709551552 933 floor(64, 64) = 64, floor(66, 64) = 64, floor(18446744073709551550, 64) = 18446744073709551488 934 floor(128, 128) = 128, floor(130, 128) = 128, floor(18446744073709551486, 128) = 18446744073709551360 935 floor(256, 256) = 256, floor(258, 256) = 256, floor(18446744073709551358, 256) = 18446744073709551104 936 floor(512, 512) = 512, floor(514, 512) = 512, floor(18446744073709551102, 512) = 18446744073709550592 937 floor(1024, 1024) = 1024, floor(1026, 1024) = 1024, floor(18446744073709550590, 1024) = 18446744073709549568 938 floor(2048, 2048) = 2048, floor(2050, 2048) = 2048, floor(18446744073709549566, 2048) = 18446744073709547520 939 floor(4096, 4096) = 4096, floor(4098, 4096) = 4096, floor(18446744073709547518, 4096) = 18446744073709543424 940 floor(8192, 8192) = 8192, floor(8194, 8192) = 8192, floor(18446744073709543422, 8192) = 18446744073709535232 941 floor(16384, 16384) = 16384, floor(16386, 16384) = 16384, floor(18446744073709535230, 16384) = 18446744073709518848 942 floor(32768, 32768) = 32768, floor(32770, 32768) = 32768, floor(18446744073709518846, 32768) = 18446744073709486080 943 floor(65536, 65536) = 65536, floor(65538, 65536) = 65536, floor(18446744073709486078, 65536) = 18446744073709420544 944 floor(131072, 131072) = 131072, floor(131074, 131072) = 131072, floor(18446744073709420542, 131072) = 18446744073709289472 945 floor(262144, 262144) = 262144, floor(262146, 262144) = 262144, floor(18446744073709289470, 262144) = 18446744073709027328 946 floor(524288, 524288) = 524288, floor(524290, 524288) = 524288, floor(18446744073709027326, 524288) = 18446744073708503040 947 floor(1048576, 1048576) = 1048576, floor(1048578, 1048576) = 1048576, floor(18446744073708503038, 1048576) = 18446744073707454464 948 floor(2097152, 2097152) = 2097152, floor(2097154, 2097152) = 2097152, floor(18446744073707454462, 2097152) = 18446744073705357312 949 floor(4194304, 4194304) = 4194304, floor(4194306, 4194304) = 4194304, floor(18446744073705357310, 4194304) = 18446744073701163008 950 floor(8388608, 8388608) = 8388608, floor(8388610, 8388608) = 8388608, floor(18446744073701163006, 8388608) = 18446744073692774400 951 floor(16777216, 16777216) = 16777216, floor(16777218, 16777216) = 16777216, floor(18446744073692774398, 16777216) = 18446744073675997184 952 floor(33554432, 33554432) = 33554432, floor(33554434, 33554432) = 33554432, floor(18446744073675997182, 33554432) = 18446744073642442752 953 floor(67108864, 67108864) = 67108864, floor(67108866, 67108864) = 67108864, floor(18446744073642442750, 67108864) = 18446744073575333888 954 floor(134217728, 134217728) = 134217728, floor(134217730, 134217728) = 134217728, floor(18446744073575333886, 134217728) = 18446744073441116160 955 floor(268435456, 268435456) = 268435456, floor(268435458, 268435456) = 268435456, floor(18446744073441116158, 268435456) = 18446744073172680704 956 floor(536870912, 536870912) = 536870912, floor(536870914, 536870912) = 536870912, floor(18446744073172680702, 536870912) = 18446744072635809792 957 floor(1073741824, 1073741824) = 1073741824, floor(1073741826, 1073741824) = 1073741824, floor(18446744072635809790, 1073741824) = 18446744071562067968 958 floor(2147483648, 2147483648) = 2147483648, floor(2147483650, 2147483648) = 2147483648, floor(18446744071562067966, 2147483648) = 18446744069414584320 959 floor(4294967296, 4294967296) = 4294967296, floor(4294967298, 4294967296) = 4294967296, floor(18446744069414584318, 4294967296) = 18446744065119617024 960 floor(8589934592, 8589934592) = 8589934592, floor(8589934594, 8589934592) = 8589934592, floor(18446744065119617022, 8589934592) = 18446744056529682432 961 floor(17179869184, 17179869184) = 17179869184, floor(17179869186, 17179869184) = 17179869184, floor(18446744056529682430, 17179869184) = 18446744039349813248 962 floor(34359738368, 34359738368) = 34359738368, floor(34359738370, 34359738368) = 34359738368, floor(18446744039349813246, 34359738368) = 18446744004990074880 963 floor(68719476736, 68719476736) = 68719476736, floor(68719476738, 68719476736) = 68719476736, floor(18446744004990074878, 68719476736) = 18446743936270598144 964 floor(137438953472, 137438953472) = 137438953472, floor(137438953474, 137438953472) = 137438953472, floor(18446743936270598142, 137438953472) = 18446743798831644672 965 floor(274877906944, 274877906944) = 274877906944, floor(274877906946, 274877906944) = 274877906944, floor(18446743798831644670, 274877906944) = 18446743523953737728 966 floor(549755813888, 549755813888) = 549755813888, floor(549755813890, 549755813888) = 549755813888, floor(18446743523953737726, 549755813888) = 18446742974197923840 967 floor(1099511627776, 1099511627776) = 1099511627776, floor(1099511627778, 1099511627776) = 1099511627776, floor(18446742974197923838, 1099511627776) = 18446741874686296064 968 floor(2199023255552, 2199023255552) = 2199023255552, floor(2199023255554, 2199023255552) = 2199023255552, floor(18446741874686296062, 2199023255552) = 18446739675663040512 969 floor(4398046511104, 4398046511104) = 4398046511104, floor(4398046511106, 4398046511104) = 4398046511104, floor(18446739675663040510, 4398046511104) = 18446735277616529408 970 floor(8796093022208, 8796093022208) = 8796093022208, floor(8796093022210, 8796093022208) = 8796093022208, floor(18446735277616529406, 8796093022208) = 18446726481523507200 971 floor(17592186044416, 17592186044416) = 17592186044416, floor(17592186044418, 17592186044416) = 17592186044416, floor(18446726481523507198, 17592186044416) = 18446708889337462784 972 floor(35184372088832, 35184372088832) = 35184372088832, floor(35184372088834, 35184372088832) = 35184372088832, floor(18446708889337462782, 35184372088832) = 18446673704965373952 973 floor(70368744177664, 70368744177664) = 70368744177664, floor(70368744177666, 70368744177664) = 70368744177664, floor(18446673704965373950, 70368744177664) = 18446603336221196288 974 floor(140737488355328, 140737488355328) = 140737488355328, floor(140737488355330, 140737488355328) = 140737488355328, floor(18446603336221196286, 140737488355328) = 18446462598732840960 975 floor(281474976710656, 281474976710656) = 281474976710656, floor(281474976710658, 281474976710656) = 281474976710656, floor(18446462598732840958, 281474976710656) = 18446181123756130304 976 floor(562949953421312, 562949953421312) = 562949953421312, floor(562949953421314, 562949953421312) = 562949953421312, floor(18446181123756130302, 562949953421312) = 18445618173802708992 977 floor(1125899906842624, 1125899906842624) = 1125899906842624, floor(1125899906842626, 1125899906842624) = 1125899906842624, floor(18445618173802708990, 1125899906842624) = 18444492273895866368 978 floor(2251799813685248, 2251799813685248) = 2251799813685248, floor(2251799813685250, 2251799813685248) = 2251799813685248, floor(18444492273895866366, 2251799813685248) = 18442240474082181120 979 floor(4503599627370496, 4503599627370496) = 4503599627370496, floor(4503599627370498, 4503599627370496) = 4503599627370496, floor(18442240474082181118, 4503599627370496) = 18437736874454810624 980 floor(9007199254740992, 9007199254740992) = 9007199254740992, floor(9007199254740994, 9007199254740992) = 9007199254740992, floor(18437736874454810622, 9007199254740992) = 18428729675200069632 981 floor(18014398509481984, 18014398509481984) = 18014398509481984, floor(18014398509481986, 18014398509481984) = 18014398509481984, floor(18428729675200069630, 18014398509481984) = 18410715276690587648 982 floor(36028797018963968, 36028797018963968) = 36028797018963968, floor(36028797018963970, 36028797018963968) = 36028797018963968, floor(18410715276690587646, 36028797018963968) = 18374686479671623680 983 floor(72057594037927936, 72057594037927936) = 72057594037927936, floor(72057594037927938, 72057594037927936) = 72057594037927936, floor(18374686479671623678, 72057594037927936) = 18302628885633695744 984 floor(144115188075855872, 144115188075855872) = 144115188075855872, floor(144115188075855874, 144115188075855872) = 144115188075855872, floor(18302628885633695742, 144115188075855872) = 18158513697557839872 985 floor(288230376151711744, 288230376151711744) = 288230376151711744, floor(288230376151711746, 288230376151711744) = 288230376151711744, floor(18158513697557839870, 288230376151711744) = 17870283321406128128 986 floor(576460752303423488, 576460752303423488) = 576460752303423488, floor(576460752303423490, 576460752303423488) = 576460752303423488, floor(17870283321406128126, 576460752303423488) = 17293822569102704640 987 floor(1152921504606846976, 1152921504606846976) = 1152921504606846976, floor(1152921504606846978, 1152921504606846976) = 1152921504606846976, floor(17293822569102704638, 1152921504606846976) = 16140901064495857664 988 floor(2305843009213693952, 2305843009213693952) = 2305843009213693952, floor(2305843009213693954, 2305843009213693952) = 2305843009213693952, floor(16140901064495857662, 2305843009213693952) = 13835058055282163712 989 floor(4611686018427387904, 4611686018427387904) = 4611686018427387904, floor(4611686018427387906, 4611686018427387904) = 4611686018427387904, floor(13835058055282163710, 4611686018427387904) = 9223372036854775808 990 floor(9223372036854775808, 9223372036854775808) = 9223372036854775808, floor(9223372036854775810, 9223372036854775808) = 9223372036854775808, floor(9223372036854775806, 9223372036854775808) = 0 991 992 666 993 ceiling2 667 994 … … 990 1317 ceiling2(9223372036854775808, 9223372036854775808) = 9223372036854775808, ceiling2(9223372036854775810, 9223372036854775808) = 0, ceiling2(9223372036854775806, 9223372036854775808) = 9223372036854775808 991 1318 1319 1320 ceiling_div 1321 1322 signed char 1323 ceiling_div(1, 1) = 1, ceiling_div(3, 1) = 3, ceiling_div(-3, 1) = -3 1324 ceiling_div(2, 2) = 1, ceiling_div(4, 2) = 2, ceiling_div(-4, 2) = -1 1325 ceiling_div(4, 4) = 1, ceiling_div(6, 4) = 2, ceiling_div(-6, 4) = 0 1326 ceiling_div(8, 8) = 1, ceiling_div(10, 8) = 2, ceiling_div(-10, 8) = 0 1327 ceiling_div(16, 16) = 1, ceiling_div(18, 16) = 2, ceiling_div(-18, 16) = 0 1328 ceiling_div(32, 32) = 1, ceiling_div(34, 32) = 2, ceiling_div(-34, 32) = 0 1329 ceiling_div(64, 64) = 1, ceiling_div(66, 64) = 2, ceiling_div(-66, 64) = 0 1330 ceiling_div(-128, -128) = 2, ceiling_div(-126, -128) = 1, ceiling_div(126, -128) = 0 1331 1332 unsigned char 1333 ceiling_div(1, 1) = 1, ceiling_div(3, 1) = 3, ceiling_div(253, 1) = 253 1334 ceiling_div(2, 2) = 1, ceiling_div(4, 2) = 2, ceiling_div(252, 2) = 126 1335 ceiling_div(4, 4) = 1, ceiling_div(6, 4) = 2, ceiling_div(250, 4) = 63 1336 ceiling_div(8, 8) = 1, ceiling_div(10, 8) = 2, ceiling_div(246, 8) = 31 1337 ceiling_div(16, 16) = 1, ceiling_div(18, 16) = 2, ceiling_div(238, 16) = 15 1338 ceiling_div(32, 32) = 1, ceiling_div(34, 32) = 2, ceiling_div(222, 32) = 7 1339 ceiling_div(64, 64) = 1, ceiling_div(66, 64) = 2, ceiling_div(190, 64) = 3 1340 ceiling_div(128, 128) = 1, ceiling_div(130, 128) = 2, ceiling_div(126, 128) = 1 1341 1342 short int 1343 ceiling_div(1, 1) = 1, ceiling_div(3, 1) = 3, ceiling_div(-3, 1) = -3 1344 ceiling_div(2, 2) = 1, ceiling_div(4, 2) = 2, ceiling_div(-4, 2) = -1 1345 ceiling_div(4, 4) = 1, ceiling_div(6, 4) = 2, ceiling_div(-6, 4) = 0 1346 ceiling_div(8, 8) = 1, ceiling_div(10, 8) = 2, ceiling_div(-10, 8) = 0 1347 ceiling_div(16, 16) = 1, ceiling_div(18, 16) = 2, ceiling_div(-18, 16) = 0 1348 ceiling_div(32, 32) = 1, ceiling_div(34, 32) = 2, ceiling_div(-34, 32) = 0 1349 ceiling_div(64, 64) = 1, ceiling_div(66, 64) = 2, ceiling_div(-66, 64) = 0 1350 ceiling_div(128, 128) = 1, ceiling_div(130, 128) = 2, ceiling_div(-130, 128) = 0 1351 ceiling_div(256, 256) = 1, ceiling_div(258, 256) = 2, ceiling_div(-258, 256) = 0 1352 ceiling_div(512, 512) = 1, ceiling_div(514, 512) = 2, ceiling_div(-514, 512) = 0 1353 ceiling_div(1024, 1024) = 1, ceiling_div(1026, 1024) = 2, ceiling_div(-1026, 1024) = 0 1354 ceiling_div(2048, 2048) = 1, ceiling_div(2050, 2048) = 2, ceiling_div(-2050, 2048) = 0 1355 ceiling_div(4096, 4096) = 1, ceiling_div(4098, 4096) = 2, ceiling_div(-4098, 4096) = 0 1356 ceiling_div(8192, 8192) = 1, ceiling_div(8194, 8192) = 2, ceiling_div(-8194, 8192) = 0 1357 ceiling_div(16384, 16384) = 1, ceiling_div(16386, 16384) = 2, ceiling_div(-16386, 16384) = 0 1358 ceiling_div(-32768, -32768) = 2, ceiling_div(-32766, -32768) = 1, ceiling_div(32766, -32768) = 0 1359 1360 unsigned short int 1361 ceiling_div(1, 1) = 1, ceiling_div(3, 1) = 3, ceiling_div(65533, 1) = 65533 1362 ceiling_div(2, 2) = 1, ceiling_div(4, 2) = 2, ceiling_div(65532, 2) = 32766 1363 ceiling_div(4, 4) = 1, ceiling_div(6, 4) = 2, ceiling_div(65530, 4) = 16383 1364 ceiling_div(8, 8) = 1, ceiling_div(10, 8) = 2, ceiling_div(65526, 8) = 8191 1365 ceiling_div(16, 16) = 1, ceiling_div(18, 16) = 2, ceiling_div(65518, 16) = 4095 1366 ceiling_div(32, 32) = 1, ceiling_div(34, 32) = 2, ceiling_div(65502, 32) = 2047 1367 ceiling_div(64, 64) = 1, ceiling_div(66, 64) = 2, ceiling_div(65470, 64) = 1023 1368 ceiling_div(128, 128) = 1, ceiling_div(130, 128) = 2, ceiling_div(65406, 128) = 511 1369 ceiling_div(256, 256) = 1, ceiling_div(258, 256) = 2, ceiling_div(65278, 256) = 255 1370 ceiling_div(512, 512) = 1, ceiling_div(514, 512) = 2, ceiling_div(65022, 512) = 127 1371 ceiling_div(1024, 1024) = 1, ceiling_div(1026, 1024) = 2, ceiling_div(64510, 1024) = 63 1372 ceiling_div(2048, 2048) = 1, ceiling_div(2050, 2048) = 2, ceiling_div(63486, 2048) = 31 1373 ceiling_div(4096, 4096) = 1, ceiling_div(4098, 4096) = 2, ceiling_div(61438, 4096) = 15 1374 ceiling_div(8192, 8192) = 1, ceiling_div(8194, 8192) = 2, ceiling_div(57342, 8192) = 7 1375 ceiling_div(16384, 16384) = 1, ceiling_div(16386, 16384) = 2, ceiling_div(49150, 16384) = 3 1376 ceiling_div(32768, 32768) = 1, ceiling_div(32770, 32768) = 2, ceiling_div(32766, 32768) = 1 1377 1378 int 1379 ceiling_div(1, 1) = 1, ceiling_div(3, 1) = 3, ceiling_div(-3, 1) = -3 1380 ceiling_div(2, 2) = 1, ceiling_div(4, 2) = 2, ceiling_div(-4, 2) = -1 1381 ceiling_div(4, 4) = 1, ceiling_div(6, 4) = 2, ceiling_div(-6, 4) = 0 1382 ceiling_div(8, 8) = 1, ceiling_div(10, 8) = 2, ceiling_div(-10, 8) = 0 1383 ceiling_div(16, 16) = 1, ceiling_div(18, 16) = 2, ceiling_div(-18, 16) = 0 1384 ceiling_div(32, 32) = 1, ceiling_div(34, 32) = 2, ceiling_div(-34, 32) = 0 1385 ceiling_div(64, 64) = 1, ceiling_div(66, 64) = 2, ceiling_div(-66, 64) = 0 1386 ceiling_div(128, 128) = 1, ceiling_div(130, 128) = 2, ceiling_div(-130, 128) = 0 1387 ceiling_div(256, 256) = 1, ceiling_div(258, 256) = 2, ceiling_div(-258, 256) = 0 1388 ceiling_div(512, 512) = 1, ceiling_div(514, 512) = 2, ceiling_div(-514, 512) = 0 1389 ceiling_div(1024, 1024) = 1, ceiling_div(1026, 1024) = 2, ceiling_div(-1026, 1024) = 0 1390 ceiling_div(2048, 2048) = 1, ceiling_div(2050, 2048) = 2, ceiling_div(-2050, 2048) = 0 1391 ceiling_div(4096, 4096) = 1, ceiling_div(4098, 4096) = 2, ceiling_div(-4098, 4096) = 0 1392 ceiling_div(8192, 8192) = 1, ceiling_div(8194, 8192) = 2, ceiling_div(-8194, 8192) = 0 1393 ceiling_div(16384, 16384) = 1, ceiling_div(16386, 16384) = 2, ceiling_div(-16386, 16384) = 0 1394 ceiling_div(32768, 32768) = 1, ceiling_div(32770, 32768) = 2, ceiling_div(-32770, 32768) = 0 1395 ceiling_div(65536, 65536) = 1, ceiling_div(65538, 65536) = 2, ceiling_div(-65538, 65536) = 0 1396 ceiling_div(131072, 131072) = 1, ceiling_div(131074, 131072) = 2, ceiling_div(-131074, 131072) = 0 1397 ceiling_div(262144, 262144) = 1, ceiling_div(262146, 262144) = 2, ceiling_div(-262146, 262144) = 0 1398 ceiling_div(524288, 524288) = 1, ceiling_div(524290, 524288) = 2, ceiling_div(-524290, 524288) = 0 1399 ceiling_div(1048576, 1048576) = 1, ceiling_div(1048578, 1048576) = 2, ceiling_div(-1048578, 1048576) = 0 1400 ceiling_div(2097152, 2097152) = 1, ceiling_div(2097154, 2097152) = 2, ceiling_div(-2097154, 2097152) = 0 1401 ceiling_div(4194304, 4194304) = 1, ceiling_div(4194306, 4194304) = 2, ceiling_div(-4194306, 4194304) = 0 1402 ceiling_div(8388608, 8388608) = 1, ceiling_div(8388610, 8388608) = 2, ceiling_div(-8388610, 8388608) = 0 1403 ceiling_div(16777216, 16777216) = 1, ceiling_div(16777218, 16777216) = 2, ceiling_div(-16777218, 16777216) = 0 1404 ceiling_div(33554432, 33554432) = 1, ceiling_div(33554434, 33554432) = 2, ceiling_div(-33554434, 33554432) = 0 1405 ceiling_div(67108864, 67108864) = 1, ceiling_div(67108866, 67108864) = 2, ceiling_div(-67108866, 67108864) = 0 1406 ceiling_div(134217728, 134217728) = 1, ceiling_div(134217730, 134217728) = 2, ceiling_div(-134217730, 134217728) = 0 1407 ceiling_div(268435456, 268435456) = 1, ceiling_div(268435458, 268435456) = 2, ceiling_div(-268435458, 268435456) = 0 1408 ceiling_div(536870912, 536870912) = 1, ceiling_div(536870914, 536870912) = 2, ceiling_div(-536870914, 536870912) = 0 1409 ceiling_div(1073741824, 1073741824) = 1, ceiling_div(1073741826, 1073741824) = -1, ceiling_div(-1073741826, 1073741824) = 0 1410 ceiling_div(-2147483648, -2147483648) = 0, ceiling_div(-2147483646, -2147483648) = 0, ceiling_div(2147483646, -2147483648) = 0 1411 1412 unsigned int 1413 ceiling_div(1, 1) = 1, ceiling_div(3, 1) = 3, ceiling_div(4294967293, 1) = 4294967293 1414 ceiling_div(2, 2) = 1, ceiling_div(4, 2) = 2, ceiling_div(4294967292, 2) = 2147483646 1415 ceiling_div(4, 4) = 1, ceiling_div(6, 4) = 2, ceiling_div(4294967290, 4) = 1073741823 1416 ceiling_div(8, 8) = 1, ceiling_div(10, 8) = 2, ceiling_div(4294967286, 8) = 536870911 1417 ceiling_div(16, 16) = 1, ceiling_div(18, 16) = 2, ceiling_div(4294967278, 16) = 268435455 1418 ceiling_div(32, 32) = 1, ceiling_div(34, 32) = 2, ceiling_div(4294967262, 32) = 134217727 1419 ceiling_div(64, 64) = 1, ceiling_div(66, 64) = 2, ceiling_div(4294967230, 64) = 67108863 1420 ceiling_div(128, 128) = 1, ceiling_div(130, 128) = 2, ceiling_div(4294967166, 128) = 33554431 1421 ceiling_div(256, 256) = 1, ceiling_div(258, 256) = 2, ceiling_div(4294967038, 256) = 16777215 1422 ceiling_div(512, 512) = 1, ceiling_div(514, 512) = 2, ceiling_div(4294966782, 512) = 8388607 1423 ceiling_div(1024, 1024) = 1, ceiling_div(1026, 1024) = 2, ceiling_div(4294966270, 1024) = 4194303 1424 ceiling_div(2048, 2048) = 1, ceiling_div(2050, 2048) = 2, ceiling_div(4294965246, 2048) = 2097151 1425 ceiling_div(4096, 4096) = 1, ceiling_div(4098, 4096) = 2, ceiling_div(4294963198, 4096) = 1048575 1426 ceiling_div(8192, 8192) = 1, ceiling_div(8194, 8192) = 2, ceiling_div(4294959102, 8192) = 524287 1427 ceiling_div(16384, 16384) = 1, ceiling_div(16386, 16384) = 2, ceiling_div(4294950910, 16384) = 262143 1428 ceiling_div(32768, 32768) = 1, ceiling_div(32770, 32768) = 2, ceiling_div(4294934526, 32768) = 131071 1429 ceiling_div(65536, 65536) = 1, ceiling_div(65538, 65536) = 2, ceiling_div(4294901758, 65536) = 65535 1430 ceiling_div(131072, 131072) = 1, ceiling_div(131074, 131072) = 2, ceiling_div(4294836222, 131072) = 32767 1431 ceiling_div(262144, 262144) = 1, ceiling_div(262146, 262144) = 2, ceiling_div(4294705150, 262144) = 16383 1432 ceiling_div(524288, 524288) = 1, ceiling_div(524290, 524288) = 2, ceiling_div(4294443006, 524288) = 8191 1433 ceiling_div(1048576, 1048576) = 1, ceiling_div(1048578, 1048576) = 2, ceiling_div(4293918718, 1048576) = 4095 1434 ceiling_div(2097152, 2097152) = 1, ceiling_div(2097154, 2097152) = 2, ceiling_div(4292870142, 2097152) = 2047 1435 ceiling_div(4194304, 4194304) = 1, ceiling_div(4194306, 4194304) = 2, ceiling_div(4290772990, 4194304) = 1023 1436 ceiling_div(8388608, 8388608) = 1, ceiling_div(8388610, 8388608) = 2, ceiling_div(4286578686, 8388608) = 511 1437 ceiling_div(16777216, 16777216) = 1, ceiling_div(16777218, 16777216) = 2, ceiling_div(4278190078, 16777216) = 255 1438 ceiling_div(33554432, 33554432) = 1, ceiling_div(33554434, 33554432) = 2, ceiling_div(4261412862, 33554432) = 127 1439 ceiling_div(67108864, 67108864) = 1, ceiling_div(67108866, 67108864) = 2, ceiling_div(4227858430, 67108864) = 63 1440 ceiling_div(134217728, 134217728) = 1, ceiling_div(134217730, 134217728) = 2, ceiling_div(4160749566, 134217728) = 31 1441 ceiling_div(268435456, 268435456) = 1, ceiling_div(268435458, 268435456) = 2, ceiling_div(4026531838, 268435456) = 15 1442 ceiling_div(536870912, 536870912) = 1, ceiling_div(536870914, 536870912) = 2, ceiling_div(3758096382, 536870912) = 7 1443 ceiling_div(1073741824, 1073741824) = 1, ceiling_div(1073741826, 1073741824) = 2, ceiling_div(3221225470, 1073741824) = 3 1444 ceiling_div(2147483648, 2147483648) = 1, ceiling_div(2147483650, 2147483648) = 0, ceiling_div(2147483646, 2147483648) = 1 1445 1446 long int 1447 ceiling_div(1, 1) = 1, ceiling_div(3, 1) = 3, ceiling_div(-3, 1) = -3 1448 ceiling_div(2, 2) = 1, ceiling_div(4, 2) = 2, ceiling_div(-4, 2) = -1 1449 ceiling_div(4, 4) = 1, ceiling_div(6, 4) = 2, ceiling_div(-6, 4) = 0 1450 ceiling_div(8, 8) = 1, ceiling_div(10, 8) = 2, ceiling_div(-10, 8) = 0 1451 ceiling_div(16, 16) = 1, ceiling_div(18, 16) = 2, ceiling_div(-18, 16) = 0 1452 ceiling_div(32, 32) = 1, ceiling_div(34, 32) = 2, ceiling_div(-34, 32) = 0 1453 ceiling_div(64, 64) = 1, ceiling_div(66, 64) = 2, ceiling_div(-66, 64) = 0 1454 ceiling_div(128, 128) = 1, ceiling_div(130, 128) = 2, ceiling_div(-130, 128) = 0 1455 ceiling_div(256, 256) = 1, ceiling_div(258, 256) = 2, ceiling_div(-258, 256) = 0 1456 ceiling_div(512, 512) = 1, ceiling_div(514, 512) = 2, ceiling_div(-514, 512) = 0 1457 ceiling_div(1024, 1024) = 1, ceiling_div(1026, 1024) = 2, ceiling_div(-1026, 1024) = 0 1458 ceiling_div(2048, 2048) = 1, ceiling_div(2050, 2048) = 2, ceiling_div(-2050, 2048) = 0 1459 ceiling_div(4096, 4096) = 1, ceiling_div(4098, 4096) = 2, ceiling_div(-4098, 4096) = 0 1460 ceiling_div(8192, 8192) = 1, ceiling_div(8194, 8192) = 2, ceiling_div(-8194, 8192) = 0 1461 ceiling_div(16384, 16384) = 1, ceiling_div(16386, 16384) = 2, ceiling_div(-16386, 16384) = 0 1462 ceiling_div(32768, 32768) = 1, ceiling_div(32770, 32768) = 2, ceiling_div(-32770, 32768) = 0 1463 ceiling_div(65536, 65536) = 1, ceiling_div(65538, 65536) = 2, ceiling_div(-65538, 65536) = 0 1464 ceiling_div(131072, 131072) = 1, ceiling_div(131074, 131072) = 2, ceiling_div(-131074, 131072) = 0 1465 ceiling_div(262144, 262144) = 1, ceiling_div(262146, 262144) = 2, ceiling_div(-262146, 262144) = 0 1466 ceiling_div(524288, 524288) = 1, ceiling_div(524290, 524288) = 2, ceiling_div(-524290, 524288) = 0 1467 ceiling_div(1048576, 1048576) = 1, ceiling_div(1048578, 1048576) = 2, ceiling_div(-1048578, 1048576) = 0 1468 ceiling_div(2097152, 2097152) = 1, ceiling_div(2097154, 2097152) = 2, ceiling_div(-2097154, 2097152) = 0 1469 ceiling_div(4194304, 4194304) = 1, ceiling_div(4194306, 4194304) = 2, ceiling_div(-4194306, 4194304) = 0 1470 ceiling_div(8388608, 8388608) = 1, ceiling_div(8388610, 8388608) = 2, ceiling_div(-8388610, 8388608) = 0 1471 ceiling_div(16777216, 16777216) = 1, ceiling_div(16777218, 16777216) = 2, ceiling_div(-16777218, 16777216) = 0 1472 ceiling_div(33554432, 33554432) = 1, ceiling_div(33554434, 33554432) = 2, ceiling_div(-33554434, 33554432) = 0 1473 ceiling_div(67108864, 67108864) = 1, ceiling_div(67108866, 67108864) = 2, ceiling_div(-67108866, 67108864) = 0 1474 ceiling_div(134217728, 134217728) = 1, ceiling_div(134217730, 134217728) = 2, ceiling_div(-134217730, 134217728) = 0 1475 ceiling_div(268435456, 268435456) = 1, ceiling_div(268435458, 268435456) = 2, ceiling_div(-268435458, 268435456) = 0 1476 ceiling_div(536870912, 536870912) = 1, ceiling_div(536870914, 536870912) = 2, ceiling_div(-536870914, 536870912) = 0 1477 ceiling_div(1073741824, 1073741824) = 1, ceiling_div(1073741826, 1073741824) = -1, ceiling_div(-1073741826, 1073741824) = 0 1478 ceiling_div(-2147483648, -2147483648) = 0, ceiling_div(-2147483646, -2147483648) = 0, ceiling_div(2147483646, -2147483648) = 0 1479 1480 unsigned long int 1481 ceiling_div(1, 1) = 1, ceiling_div(3, 1) = 3, ceiling_div(4294967293, 1) = 4294967293 1482 ceiling_div(2, 2) = 1, ceiling_div(4, 2) = 2, ceiling_div(4294967292, 2) = 2147483646 1483 ceiling_div(4, 4) = 1, ceiling_div(6, 4) = 2, ceiling_div(4294967290, 4) = 1073741823 1484 ceiling_div(8, 8) = 1, ceiling_div(10, 8) = 2, ceiling_div(4294967286, 8) = 536870911 1485 ceiling_div(16, 16) = 1, ceiling_div(18, 16) = 2, ceiling_div(4294967278, 16) = 268435455 1486 ceiling_div(32, 32) = 1, ceiling_div(34, 32) = 2, ceiling_div(4294967262, 32) = 134217727 1487 ceiling_div(64, 64) = 1, ceiling_div(66, 64) = 2, ceiling_div(4294967230, 64) = 67108863 1488 ceiling_div(128, 128) = 1, ceiling_div(130, 128) = 2, ceiling_div(4294967166, 128) = 33554431 1489 ceiling_div(256, 256) = 1, ceiling_div(258, 256) = 2, ceiling_div(4294967038, 256) = 16777215 1490 ceiling_div(512, 512) = 1, ceiling_div(514, 512) = 2, ceiling_div(4294966782, 512) = 8388607 1491 ceiling_div(1024, 1024) = 1, ceiling_div(1026, 1024) = 2, ceiling_div(4294966270, 1024) = 4194303 1492 ceiling_div(2048, 2048) = 1, ceiling_div(2050, 2048) = 2, ceiling_div(4294965246, 2048) = 2097151 1493 ceiling_div(4096, 4096) = 1, ceiling_div(4098, 4096) = 2, ceiling_div(4294963198, 4096) = 1048575 1494 ceiling_div(8192, 8192) = 1, ceiling_div(8194, 8192) = 2, ceiling_div(4294959102, 8192) = 524287 1495 ceiling_div(16384, 16384) = 1, ceiling_div(16386, 16384) = 2, ceiling_div(4294950910, 16384) = 262143 1496 ceiling_div(32768, 32768) = 1, ceiling_div(32770, 32768) = 2, ceiling_div(4294934526, 32768) = 131071 1497 ceiling_div(65536, 65536) = 1, ceiling_div(65538, 65536) = 2, ceiling_div(4294901758, 65536) = 65535 1498 ceiling_div(131072, 131072) = 1, ceiling_div(131074, 131072) = 2, ceiling_div(4294836222, 131072) = 32767 1499 ceiling_div(262144, 262144) = 1, ceiling_div(262146, 262144) = 2, ceiling_div(4294705150, 262144) = 16383 1500 ceiling_div(524288, 524288) = 1, ceiling_div(524290, 524288) = 2, ceiling_div(4294443006, 524288) = 8191 1501 ceiling_div(1048576, 1048576) = 1, ceiling_div(1048578, 1048576) = 2, ceiling_div(4293918718, 1048576) = 4095 1502 ceiling_div(2097152, 2097152) = 1, ceiling_div(2097154, 2097152) = 2, ceiling_div(4292870142, 2097152) = 2047 1503 ceiling_div(4194304, 4194304) = 1, ceiling_div(4194306, 4194304) = 2, ceiling_div(4290772990, 4194304) = 1023 1504 ceiling_div(8388608, 8388608) = 1, ceiling_div(8388610, 8388608) = 2, ceiling_div(4286578686, 8388608) = 511 1505 ceiling_div(16777216, 16777216) = 1, ceiling_div(16777218, 16777216) = 2, ceiling_div(4278190078, 16777216) = 255 1506 ceiling_div(33554432, 33554432) = 1, ceiling_div(33554434, 33554432) = 2, ceiling_div(4261412862, 33554432) = 127 1507 ceiling_div(67108864, 67108864) = 1, ceiling_div(67108866, 67108864) = 2, ceiling_div(4227858430, 67108864) = 63 1508 ceiling_div(134217728, 134217728) = 1, ceiling_div(134217730, 134217728) = 2, ceiling_div(4160749566, 134217728) = 31 1509 ceiling_div(268435456, 268435456) = 1, ceiling_div(268435458, 268435456) = 2, ceiling_div(4026531838, 268435456) = 15 1510 ceiling_div(536870912, 536870912) = 1, ceiling_div(536870914, 536870912) = 2, ceiling_div(3758096382, 536870912) = 7 1511 ceiling_div(1073741824, 1073741824) = 1, ceiling_div(1073741826, 1073741824) = 2, ceiling_div(3221225470, 1073741824) = 3 1512 ceiling_div(2147483648, 2147483648) = 1, ceiling_div(2147483650, 2147483648) = 0, ceiling_div(2147483646, 2147483648) = 1 1513 1514 long long int 1515 ceiling_div(1, 1) = 1, ceiling_div(3, 1) = 3, ceiling_div(-3, 1) = -3 1516 ceiling_div(2, 2) = 1, ceiling_div(4, 2) = 2, ceiling_div(-4, 2) = -1 1517 ceiling_div(4, 4) = 1, ceiling_div(6, 4) = 2, ceiling_div(-6, 4) = 0 1518 ceiling_div(8, 8) = 1, ceiling_div(10, 8) = 2, ceiling_div(-10, 8) = 0 1519 ceiling_div(16, 16) = 1, ceiling_div(18, 16) = 2, ceiling_div(-18, 16) = 0 1520 ceiling_div(32, 32) = 1, ceiling_div(34, 32) = 2, ceiling_div(-34, 32) = 0 1521 ceiling_div(64, 64) = 1, ceiling_div(66, 64) = 2, ceiling_div(-66, 64) = 0 1522 ceiling_div(128, 128) = 1, ceiling_div(130, 128) = 2, ceiling_div(-130, 128) = 0 1523 ceiling_div(256, 256) = 1, ceiling_div(258, 256) = 2, ceiling_div(-258, 256) = 0 1524 ceiling_div(512, 512) = 1, ceiling_div(514, 512) = 2, ceiling_div(-514, 512) = 0 1525 ceiling_div(1024, 1024) = 1, ceiling_div(1026, 1024) = 2, ceiling_div(-1026, 1024) = 0 1526 ceiling_div(2048, 2048) = 1, ceiling_div(2050, 2048) = 2, ceiling_div(-2050, 2048) = 0 1527 ceiling_div(4096, 4096) = 1, ceiling_div(4098, 4096) = 2, ceiling_div(-4098, 4096) = 0 1528 ceiling_div(8192, 8192) = 1, ceiling_div(8194, 8192) = 2, ceiling_div(-8194, 8192) = 0 1529 ceiling_div(16384, 16384) = 1, ceiling_div(16386, 16384) = 2, ceiling_div(-16386, 16384) = 0 1530 ceiling_div(32768, 32768) = 1, ceiling_div(32770, 32768) = 2, ceiling_div(-32770, 32768) = 0 1531 ceiling_div(65536, 65536) = 1, ceiling_div(65538, 65536) = 2, ceiling_div(-65538, 65536) = 0 1532 ceiling_div(131072, 131072) = 1, ceiling_div(131074, 131072) = 2, ceiling_div(-131074, 131072) = 0 1533 ceiling_div(262144, 262144) = 1, ceiling_div(262146, 262144) = 2, ceiling_div(-262146, 262144) = 0 1534 ceiling_div(524288, 524288) = 1, ceiling_div(524290, 524288) = 2, ceiling_div(-524290, 524288) = 0 1535 ceiling_div(1048576, 1048576) = 1, ceiling_div(1048578, 1048576) = 2, ceiling_div(-1048578, 1048576) = 0 1536 ceiling_div(2097152, 2097152) = 1, ceiling_div(2097154, 2097152) = 2, ceiling_div(-2097154, 2097152) = 0 1537 ceiling_div(4194304, 4194304) = 1, ceiling_div(4194306, 4194304) = 2, ceiling_div(-4194306, 4194304) = 0 1538 ceiling_div(8388608, 8388608) = 1, ceiling_div(8388610, 8388608) = 2, ceiling_div(-8388610, 8388608) = 0 1539 ceiling_div(16777216, 16777216) = 1, ceiling_div(16777218, 16777216) = 2, ceiling_div(-16777218, 16777216) = 0 1540 ceiling_div(33554432, 33554432) = 1, ceiling_div(33554434, 33554432) = 2, ceiling_div(-33554434, 33554432) = 0 1541 ceiling_div(67108864, 67108864) = 1, ceiling_div(67108866, 67108864) = 2, ceiling_div(-67108866, 67108864) = 0 1542 ceiling_div(134217728, 134217728) = 1, ceiling_div(134217730, 134217728) = 2, ceiling_div(-134217730, 134217728) = 0 1543 ceiling_div(268435456, 268435456) = 1, ceiling_div(268435458, 268435456) = 2, ceiling_div(-268435458, 268435456) = 0 1544 ceiling_div(536870912, 536870912) = 1, ceiling_div(536870914, 536870912) = 2, ceiling_div(-536870914, 536870912) = 0 1545 ceiling_div(1073741824, 1073741824) = 1, ceiling_div(1073741826, 1073741824) = 2, ceiling_div(-1073741826, 1073741824) = 0 1546 ceiling_div(2147483648, 2147483648) = 1, ceiling_div(2147483650, 2147483648) = 2, ceiling_div(-2147483650, 2147483648) = 0 1547 ceiling_div(4294967296, 4294967296) = 1, ceiling_div(4294967298, 4294967296) = 2, ceiling_div(-4294967298, 4294967296) = 0 1548 ceiling_div(8589934592, 8589934592) = 1, ceiling_div(8589934594, 8589934592) = 2, ceiling_div(-8589934594, 8589934592) = 0 1549 ceiling_div(17179869184, 17179869184) = 1, ceiling_div(17179869186, 17179869184) = 2, ceiling_div(-17179869186, 17179869184) = 0 1550 ceiling_div(34359738368, 34359738368) = 1, ceiling_div(34359738370, 34359738368) = 2, ceiling_div(-34359738370, 34359738368) = 0 1551 ceiling_div(68719476736, 68719476736) = 1, ceiling_div(68719476738, 68719476736) = 2, ceiling_div(-68719476738, 68719476736) = 0 1552 ceiling_div(137438953472, 137438953472) = 1, ceiling_div(137438953474, 137438953472) = 2, ceiling_div(-137438953474, 137438953472) = 0 1553 ceiling_div(274877906944, 274877906944) = 1, ceiling_div(274877906946, 274877906944) = 2, ceiling_div(-274877906946, 274877906944) = 0 1554 ceiling_div(549755813888, 549755813888) = 1, ceiling_div(549755813890, 549755813888) = 2, ceiling_div(-549755813890, 549755813888) = 0 1555 ceiling_div(1099511627776, 1099511627776) = 1, ceiling_div(1099511627778, 1099511627776) = 2, ceiling_div(-1099511627778, 1099511627776) = 0 1556 ceiling_div(2199023255552, 2199023255552) = 1, ceiling_div(2199023255554, 2199023255552) = 2, ceiling_div(-2199023255554, 2199023255552) = 0 1557 ceiling_div(4398046511104, 4398046511104) = 1, ceiling_div(4398046511106, 4398046511104) = 2, ceiling_div(-4398046511106, 4398046511104) = 0 1558 ceiling_div(8796093022208, 8796093022208) = 1, ceiling_div(8796093022210, 8796093022208) = 2, ceiling_div(-8796093022210, 8796093022208) = 0 1559 ceiling_div(17592186044416, 17592186044416) = 1, ceiling_div(17592186044418, 17592186044416) = 2, ceiling_div(-17592186044418, 17592186044416) = 0 1560 ceiling_div(35184372088832, 35184372088832) = 1, ceiling_div(35184372088834, 35184372088832) = 2, ceiling_div(-35184372088834, 35184372088832) = 0 1561 ceiling_div(70368744177664, 70368744177664) = 1, ceiling_div(70368744177666, 70368744177664) = 2, ceiling_div(-70368744177666, 70368744177664) = 0 1562 ceiling_div(140737488355328, 140737488355328) = 1, ceiling_div(140737488355330, 140737488355328) = 2, ceiling_div(-140737488355330, 140737488355328) = 0 1563 ceiling_div(281474976710656, 281474976710656) = 1, ceiling_div(281474976710658, 281474976710656) = 2, ceiling_div(-281474976710658, 281474976710656) = 0 1564 ceiling_div(562949953421312, 562949953421312) = 1, ceiling_div(562949953421314, 562949953421312) = 2, ceiling_div(-562949953421314, 562949953421312) = 0 1565 ceiling_div(1125899906842624, 1125899906842624) = 1, ceiling_div(1125899906842626, 1125899906842624) = 2, ceiling_div(-1125899906842626, 1125899906842624) = 0 1566 ceiling_div(2251799813685248, 2251799813685248) = 1, ceiling_div(2251799813685250, 2251799813685248) = 2, ceiling_div(-2251799813685250, 2251799813685248) = 0 1567 ceiling_div(4503599627370496, 4503599627370496) = 1, ceiling_div(4503599627370498, 4503599627370496) = 2, ceiling_div(-4503599627370498, 4503599627370496) = 0 1568 ceiling_div(9007199254740992, 9007199254740992) = 1, ceiling_div(9007199254740994, 9007199254740992) = 2, ceiling_div(-9007199254740994, 9007199254740992) = 0 1569 ceiling_div(18014398509481984, 18014398509481984) = 1, ceiling_div(18014398509481986, 18014398509481984) = 2, ceiling_div(-18014398509481986, 18014398509481984) = 0 1570 ceiling_div(36028797018963968, 36028797018963968) = 1, ceiling_div(36028797018963970, 36028797018963968) = 2, ceiling_div(-36028797018963970, 36028797018963968) = 0 1571 ceiling_div(72057594037927936, 72057594037927936) = 1, ceiling_div(72057594037927938, 72057594037927936) = 2, ceiling_div(-72057594037927938, 72057594037927936) = 0 1572 ceiling_div(144115188075855872, 144115188075855872) = 1, ceiling_div(144115188075855874, 144115188075855872) = 2, ceiling_div(-144115188075855874, 144115188075855872) = 0 1573 ceiling_div(288230376151711744, 288230376151711744) = 1, ceiling_div(288230376151711746, 288230376151711744) = 2, ceiling_div(-288230376151711746, 288230376151711744) = 0 1574 ceiling_div(576460752303423488, 576460752303423488) = 1, ceiling_div(576460752303423490, 576460752303423488) = 2, ceiling_div(-576460752303423490, 576460752303423488) = 0 1575 ceiling_div(1152921504606846976, 1152921504606846976) = 1, ceiling_div(1152921504606846978, 1152921504606846976) = 2, ceiling_div(-1152921504606846978, 1152921504606846976) = 0 1576 ceiling_div(2305843009213693952, 2305843009213693952) = 1, ceiling_div(2305843009213693954, 2305843009213693952) = 2, ceiling_div(-2305843009213693954, 2305843009213693952) = 0 1577 ceiling_div(4611686018427387904, 4611686018427387904) = 1, ceiling_div(4611686018427387906, 4611686018427387904) = -1, ceiling_div(-4611686018427387906, 4611686018427387904) = 0 1578 ceiling_div(-9223372036854775808, -9223372036854775808) = 0, ceiling_div(-9223372036854775806, -9223372036854775808) = 0, ceiling_div(9223372036854775806, -9223372036854775808) = 0 1579 1580 unsigned long long int 1581 ceiling_div(1, 1) = 1, ceiling_div(3, 1) = 3, ceiling_div(18446744073709551613, 1) = 18446744073709551613 1582 ceiling_div(2, 2) = 1, ceiling_div(4, 2) = 2, ceiling_div(18446744073709551612, 2) = 9223372036854775806 1583 ceiling_div(4, 4) = 1, ceiling_div(6, 4) = 2, ceiling_div(18446744073709551610, 4) = 4611686018427387903 1584 ceiling_div(8, 8) = 1, ceiling_div(10, 8) = 2, ceiling_div(18446744073709551606, 8) = 2305843009213693951 1585 ceiling_div(16, 16) = 1, ceiling_div(18, 16) = 2, ceiling_div(18446744073709551598, 16) = 1152921504606846975 1586 ceiling_div(32, 32) = 1, ceiling_div(34, 32) = 2, ceiling_div(18446744073709551582, 32) = 576460752303423487 1587 ceiling_div(64, 64) = 1, ceiling_div(66, 64) = 2, ceiling_div(18446744073709551550, 64) = 288230376151711743 1588 ceiling_div(128, 128) = 1, ceiling_div(130, 128) = 2, ceiling_div(18446744073709551486, 128) = 144115188075855871 1589 ceiling_div(256, 256) = 1, ceiling_div(258, 256) = 2, ceiling_div(18446744073709551358, 256) = 72057594037927935 1590 ceiling_div(512, 512) = 1, ceiling_div(514, 512) = 2, ceiling_div(18446744073709551102, 512) = 36028797018963967 1591 ceiling_div(1024, 1024) = 1, ceiling_div(1026, 1024) = 2, ceiling_div(18446744073709550590, 1024) = 18014398509481983 1592 ceiling_div(2048, 2048) = 1, ceiling_div(2050, 2048) = 2, ceiling_div(18446744073709549566, 2048) = 9007199254740991 1593 ceiling_div(4096, 4096) = 1, ceiling_div(4098, 4096) = 2, ceiling_div(18446744073709547518, 4096) = 4503599627370495 1594 ceiling_div(8192, 8192) = 1, ceiling_div(8194, 8192) = 2, ceiling_div(18446744073709543422, 8192) = 2251799813685247 1595 ceiling_div(16384, 16384) = 1, ceiling_div(16386, 16384) = 2, ceiling_div(18446744073709535230, 16384) = 1125899906842623 1596 ceiling_div(32768, 32768) = 1, ceiling_div(32770, 32768) = 2, ceiling_div(18446744073709518846, 32768) = 562949953421311 1597 ceiling_div(65536, 65536) = 1, ceiling_div(65538, 65536) = 2, ceiling_div(18446744073709486078, 65536) = 281474976710655 1598 ceiling_div(131072, 131072) = 1, ceiling_div(131074, 131072) = 2, ceiling_div(18446744073709420542, 131072) = 140737488355327 1599 ceiling_div(262144, 262144) = 1, ceiling_div(262146, 262144) = 2, ceiling_div(18446744073709289470, 262144) = 70368744177663 1600 ceiling_div(524288, 524288) = 1, ceiling_div(524290, 524288) = 2, ceiling_div(18446744073709027326, 524288) = 35184372088831 1601 ceiling_div(1048576, 1048576) = 1, ceiling_div(1048578, 1048576) = 2, ceiling_div(18446744073708503038, 1048576) = 17592186044415 1602 ceiling_div(2097152, 2097152) = 1, ceiling_div(2097154, 2097152) = 2, ceiling_div(18446744073707454462, 2097152) = 8796093022207 1603 ceiling_div(4194304, 4194304) = 1, ceiling_div(4194306, 4194304) = 2, ceiling_div(18446744073705357310, 4194304) = 4398046511103 1604 ceiling_div(8388608, 8388608) = 1, ceiling_div(8388610, 8388608) = 2, ceiling_div(18446744073701163006, 8388608) = 2199023255551 1605 ceiling_div(16777216, 16777216) = 1, ceiling_div(16777218, 16777216) = 2, ceiling_div(18446744073692774398, 16777216) = 1099511627775 1606 ceiling_div(33554432, 33554432) = 1, ceiling_div(33554434, 33554432) = 2, ceiling_div(18446744073675997182, 33554432) = 549755813887 1607 ceiling_div(67108864, 67108864) = 1, ceiling_div(67108866, 67108864) = 2, ceiling_div(18446744073642442750, 67108864) = 274877906943 1608 ceiling_div(134217728, 134217728) = 1, ceiling_div(134217730, 134217728) = 2, ceiling_div(18446744073575333886, 134217728) = 137438953471 1609 ceiling_div(268435456, 268435456) = 1, ceiling_div(268435458, 268435456) = 2, ceiling_div(18446744073441116158, 268435456) = 68719476735 1610 ceiling_div(536870912, 536870912) = 1, ceiling_div(536870914, 536870912) = 2, ceiling_div(18446744073172680702, 536870912) = 34359738367 1611 ceiling_div(1073741824, 1073741824) = 1, ceiling_div(1073741826, 1073741824) = 2, ceiling_div(18446744072635809790, 1073741824) = 17179869183 1612 ceiling_div(2147483648, 2147483648) = 1, ceiling_div(2147483650, 2147483648) = 2, ceiling_div(18446744071562067966, 2147483648) = 8589934591 1613 ceiling_div(4294967296, 4294967296) = 1, ceiling_div(4294967298, 4294967296) = 2, ceiling_div(18446744069414584318, 4294967296) = 4294967295 1614 ceiling_div(8589934592, 8589934592) = 1, ceiling_div(8589934594, 8589934592) = 2, ceiling_div(18446744065119617022, 8589934592) = 2147483647 1615 ceiling_div(17179869184, 17179869184) = 1, ceiling_div(17179869186, 17179869184) = 2, ceiling_div(18446744056529682430, 17179869184) = 1073741823 1616 ceiling_div(34359738368, 34359738368) = 1, ceiling_div(34359738370, 34359738368) = 2, ceiling_div(18446744039349813246, 34359738368) = 536870911 1617 ceiling_div(68719476736, 68719476736) = 1, ceiling_div(68719476738, 68719476736) = 2, ceiling_div(18446744004990074878, 68719476736) = 268435455 1618 ceiling_div(137438953472, 137438953472) = 1, ceiling_div(137438953474, 137438953472) = 2, ceiling_div(18446743936270598142, 137438953472) = 134217727 1619 ceiling_div(274877906944, 274877906944) = 1, ceiling_div(274877906946, 274877906944) = 2, ceiling_div(18446743798831644670, 274877906944) = 67108863 1620 ceiling_div(549755813888, 549755813888) = 1, ceiling_div(549755813890, 549755813888) = 2, ceiling_div(18446743523953737726, 549755813888) = 33554431 1621 ceiling_div(1099511627776, 1099511627776) = 1, ceiling_div(1099511627778, 1099511627776) = 2, ceiling_div(18446742974197923838, 1099511627776) = 16777215 1622 ceiling_div(2199023255552, 2199023255552) = 1, ceiling_div(2199023255554, 2199023255552) = 2, ceiling_div(18446741874686296062, 2199023255552) = 8388607 1623 ceiling_div(4398046511104, 4398046511104) = 1, ceiling_div(4398046511106, 4398046511104) = 2, ceiling_div(18446739675663040510, 4398046511104) = 4194303 1624 ceiling_div(8796093022208, 8796093022208) = 1, ceiling_div(8796093022210, 8796093022208) = 2, ceiling_div(18446735277616529406, 8796093022208) = 2097151 1625 ceiling_div(17592186044416, 17592186044416) = 1, ceiling_div(17592186044418, 17592186044416) = 2, ceiling_div(18446726481523507198, 17592186044416) = 1048575 1626 ceiling_div(35184372088832, 35184372088832) = 1, ceiling_div(35184372088834, 35184372088832) = 2, ceiling_div(18446708889337462782, 35184372088832) = 524287 1627 ceiling_div(70368744177664, 70368744177664) = 1, ceiling_div(70368744177666, 70368744177664) = 2, ceiling_div(18446673704965373950, 70368744177664) = 262143 1628 ceiling_div(140737488355328, 140737488355328) = 1, ceiling_div(140737488355330, 140737488355328) = 2, ceiling_div(18446603336221196286, 140737488355328) = 131071 1629 ceiling_div(281474976710656, 281474976710656) = 1, ceiling_div(281474976710658, 281474976710656) = 2, ceiling_div(18446462598732840958, 281474976710656) = 65535 1630 ceiling_div(562949953421312, 562949953421312) = 1, ceiling_div(562949953421314, 562949953421312) = 2, ceiling_div(18446181123756130302, 562949953421312) = 32767 1631 ceiling_div(1125899906842624, 1125899906842624) = 1, ceiling_div(1125899906842626, 1125899906842624) = 2, ceiling_div(18445618173802708990, 1125899906842624) = 16383 1632 ceiling_div(2251799813685248, 2251799813685248) = 1, ceiling_div(2251799813685250, 2251799813685248) = 2, ceiling_div(18444492273895866366, 2251799813685248) = 8191 1633 ceiling_div(4503599627370496, 4503599627370496) = 1, ceiling_div(4503599627370498, 4503599627370496) = 2, ceiling_div(18442240474082181118, 4503599627370496) = 4095 1634 ceiling_div(9007199254740992, 9007199254740992) = 1, ceiling_div(9007199254740994, 9007199254740992) = 2, ceiling_div(18437736874454810622, 9007199254740992) = 2047 1635 ceiling_div(18014398509481984, 18014398509481984) = 1, ceiling_div(18014398509481986, 18014398509481984) = 2, ceiling_div(18428729675200069630, 18014398509481984) = 1023 1636 ceiling_div(36028797018963968, 36028797018963968) = 1, ceiling_div(36028797018963970, 36028797018963968) = 2, ceiling_div(18410715276690587646, 36028797018963968) = 511 1637 ceiling_div(72057594037927936, 72057594037927936) = 1, ceiling_div(72057594037927938, 72057594037927936) = 2, ceiling_div(18374686479671623678, 72057594037927936) = 255 1638 ceiling_div(144115188075855872, 144115188075855872) = 1, ceiling_div(144115188075855874, 144115188075855872) = 2, ceiling_div(18302628885633695742, 144115188075855872) = 127 1639 ceiling_div(288230376151711744, 288230376151711744) = 1, ceiling_div(288230376151711746, 288230376151711744) = 2, ceiling_div(18158513697557839870, 288230376151711744) = 63 1640 ceiling_div(576460752303423488, 576460752303423488) = 1, ceiling_div(576460752303423490, 576460752303423488) = 2, ceiling_div(17870283321406128126, 576460752303423488) = 31 1641 ceiling_div(1152921504606846976, 1152921504606846976) = 1, ceiling_div(1152921504606846978, 1152921504606846976) = 2, ceiling_div(17293822569102704638, 1152921504606846976) = 15 1642 ceiling_div(2305843009213693952, 2305843009213693952) = 1, ceiling_div(2305843009213693954, 2305843009213693952) = 2, ceiling_div(16140901064495857662, 2305843009213693952) = 7 1643 ceiling_div(4611686018427387904, 4611686018427387904) = 1, ceiling_div(4611686018427387906, 4611686018427387904) = 2, ceiling_div(13835058055282163710, 4611686018427387904) = 3 1644 ceiling_div(9223372036854775808, 9223372036854775808) = 1, ceiling_div(9223372036854775810, 9223372036854775808) = 0, ceiling_div(9223372036854775806, 9223372036854775808) = 1 1645 1646 1647 ceiling 1648 1649 signed char 1650 ceiling(1, 1) = 1, ceiling(3, 1) = 3, ceiling(-3, 1) = -3 1651 ceiling(2, 2) = 2, ceiling(4, 2) = 4, ceiling(-4, 2) = -4 1652 ceiling(4, 4) = 4, ceiling(6, 4) = 8, ceiling(-6, 4) = 0 1653 ceiling(8, 8) = 8, ceiling(10, 8) = 16, ceiling(-10, 8) = 0 1654 ceiling(16, 16) = 16, ceiling(18, 16) = 32, ceiling(-18, 16) = 0 1655 ceiling(32, 32) = 32, ceiling(34, 32) = 64, ceiling(-34, 32) = 0 1656 ceiling(64, 64) = 64, ceiling(66, 64) = -128, ceiling(-66, 64) = 0 1657 ceiling(-128, -128) = -128, ceiling(-126, -128) = -128, ceiling(126, -128) = 0 1658 1659 unsigned char 1660 ceiling(1, 1) = 1, ceiling(3, 1) = 3, ceiling(253, 1) = 253 1661 ceiling(2, 2) = 2, ceiling(4, 2) = 4, ceiling(252, 2) = 252 1662 ceiling(4, 4) = 4, ceiling(6, 4) = 8, ceiling(250, 4) = 252 1663 ceiling(8, 8) = 8, ceiling(10, 8) = 16, ceiling(246, 8) = 248 1664 ceiling(16, 16) = 16, ceiling(18, 16) = 32, ceiling(238, 16) = 240 1665 ceiling(32, 32) = 32, ceiling(34, 32) = 64, ceiling(222, 32) = 224 1666 ceiling(64, 64) = 64, ceiling(66, 64) = 128, ceiling(190, 64) = 192 1667 ceiling(128, 128) = 128, ceiling(130, 128) = 0, ceiling(126, 128) = 128 1668 1669 short int 1670 ceiling(1, 1) = 1, ceiling(3, 1) = 3, ceiling(-3, 1) = -3 1671 ceiling(2, 2) = 2, ceiling(4, 2) = 4, ceiling(-4, 2) = -4 1672 ceiling(4, 4) = 4, ceiling(6, 4) = 8, ceiling(-6, 4) = 0 1673 ceiling(8, 8) = 8, ceiling(10, 8) = 16, ceiling(-10, 8) = 0 1674 ceiling(16, 16) = 16, ceiling(18, 16) = 32, ceiling(-18, 16) = 0 1675 ceiling(32, 32) = 32, ceiling(34, 32) = 64, ceiling(-34, 32) = 0 1676 ceiling(64, 64) = 64, ceiling(66, 64) = 128, ceiling(-66, 64) = 0 1677 ceiling(128, 128) = 128, ceiling(130, 128) = 256, ceiling(-130, 128) = 0 1678 ceiling(256, 256) = 256, ceiling(258, 256) = 512, ceiling(-258, 256) = 0 1679 ceiling(512, 512) = 512, ceiling(514, 512) = 1024, ceiling(-514, 512) = 0 1680 ceiling(1024, 1024) = 1024, ceiling(1026, 1024) = 2048, ceiling(-1026, 1024) = 0 1681 ceiling(2048, 2048) = 2048, ceiling(2050, 2048) = 4096, ceiling(-2050, 2048) = 0 1682 ceiling(4096, 4096) = 4096, ceiling(4098, 4096) = 8192, ceiling(-4098, 4096) = 0 1683 ceiling(8192, 8192) = 8192, ceiling(8194, 8192) = 16384, ceiling(-8194, 8192) = 0 1684 ceiling(16384, 16384) = 16384, ceiling(16386, 16384) = -32768, ceiling(-16386, 16384) = 0 1685 ceiling(-32768, -32768) = -32768, ceiling(-32766, -32768) = -32768, ceiling(32766, -32768) = 0 1686 1687 unsigned short int 1688 ceiling(1, 1) = 1, ceiling(3, 1) = 3, ceiling(65533, 1) = 65533 1689 ceiling(2, 2) = 2, ceiling(4, 2) = 4, ceiling(65532, 2) = 65532 1690 ceiling(4, 4) = 4, ceiling(6, 4) = 8, ceiling(65530, 4) = 65532 1691 ceiling(8, 8) = 8, ceiling(10, 8) = 16, ceiling(65526, 8) = 65528 1692 ceiling(16, 16) = 16, ceiling(18, 16) = 32, ceiling(65518, 16) = 65520 1693 ceiling(32, 32) = 32, ceiling(34, 32) = 64, ceiling(65502, 32) = 65504 1694 ceiling(64, 64) = 64, ceiling(66, 64) = 128, ceiling(65470, 64) = 65472 1695 ceiling(128, 128) = 128, ceiling(130, 128) = 256, ceiling(65406, 128) = 65408 1696 ceiling(256, 256) = 256, ceiling(258, 256) = 512, ceiling(65278, 256) = 65280 1697 ceiling(512, 512) = 512, ceiling(514, 512) = 1024, ceiling(65022, 512) = 65024 1698 ceiling(1024, 1024) = 1024, ceiling(1026, 1024) = 2048, ceiling(64510, 1024) = 64512 1699 ceiling(2048, 2048) = 2048, ceiling(2050, 2048) = 4096, ceiling(63486, 2048) = 63488 1700 ceiling(4096, 4096) = 4096, ceiling(4098, 4096) = 8192, ceiling(61438, 4096) = 61440 1701 ceiling(8192, 8192) = 8192, ceiling(8194, 8192) = 16384, ceiling(57342, 8192) = 57344 1702 ceiling(16384, 16384) = 16384, ceiling(16386, 16384) = 32768, ceiling(49150, 16384) = 49152 1703 ceiling(32768, 32768) = 32768, ceiling(32770, 32768) = 0, ceiling(32766, 32768) = 32768 1704 1705 int 1706 ceiling(1, 1) = 1, ceiling(3, 1) = 3, ceiling(-3, 1) = -3 1707 ceiling(2, 2) = 2, ceiling(4, 2) = 4, ceiling(-4, 2) = -4 1708 ceiling(4, 4) = 4, ceiling(6, 4) = 8, ceiling(-6, 4) = 0 1709 ceiling(8, 8) = 8, ceiling(10, 8) = 16, ceiling(-10, 8) = 0 1710 ceiling(16, 16) = 16, ceiling(18, 16) = 32, ceiling(-18, 16) = 0 1711 ceiling(32, 32) = 32, ceiling(34, 32) = 64, ceiling(-34, 32) = 0 1712 ceiling(64, 64) = 64, ceiling(66, 64) = 128, ceiling(-66, 64) = 0 1713 ceiling(128, 128) = 128, ceiling(130, 128) = 256, ceiling(-130, 128) = 0 1714 ceiling(256, 256) = 256, ceiling(258, 256) = 512, ceiling(-258, 256) = 0 1715 ceiling(512, 512) = 512, ceiling(514, 512) = 1024, ceiling(-514, 512) = 0 1716 ceiling(1024, 1024) = 1024, ceiling(1026, 1024) = 2048, ceiling(-1026, 1024) = 0 1717 ceiling(2048, 2048) = 2048, ceiling(2050, 2048) = 4096, ceiling(-2050, 2048) = 0 1718 ceiling(4096, 4096) = 4096, ceiling(4098, 4096) = 8192, ceiling(-4098, 4096) = 0 1719 ceiling(8192, 8192) = 8192, ceiling(8194, 8192) = 16384, ceiling(-8194, 8192) = 0 1720 ceiling(16384, 16384) = 16384, ceiling(16386, 16384) = 32768, ceiling(-16386, 16384) = 0 1721 ceiling(32768, 32768) = 32768, ceiling(32770, 32768) = 65536, ceiling(-32770, 32768) = 0 1722 ceiling(65536, 65536) = 65536, ceiling(65538, 65536) = 131072, ceiling(-65538, 65536) = 0 1723 ceiling(131072, 131072) = 131072, ceiling(131074, 131072) = 262144, ceiling(-131074, 131072) = 0 1724 ceiling(262144, 262144) = 262144, ceiling(262146, 262144) = 524288, ceiling(-262146, 262144) = 0 1725 ceiling(524288, 524288) = 524288, ceiling(524290, 524288) = 1048576, ceiling(-524290, 524288) = 0 1726 ceiling(1048576, 1048576) = 1048576, ceiling(1048578, 1048576) = 2097152, ceiling(-1048578, 1048576) = 0 1727 ceiling(2097152, 2097152) = 2097152, ceiling(2097154, 2097152) = 4194304, ceiling(-2097154, 2097152) = 0 1728 ceiling(4194304, 4194304) = 4194304, ceiling(4194306, 4194304) = 8388608, ceiling(-4194306, 4194304) = 0 1729 ceiling(8388608, 8388608) = 8388608, ceiling(8388610, 8388608) = 16777216, ceiling(-8388610, 8388608) = 0 1730 ceiling(16777216, 16777216) = 16777216, ceiling(16777218, 16777216) = 33554432, ceiling(-16777218, 16777216) = 0 1731 ceiling(33554432, 33554432) = 33554432, ceiling(33554434, 33554432) = 67108864, ceiling(-33554434, 33554432) = 0 1732 ceiling(67108864, 67108864) = 67108864, ceiling(67108866, 67108864) = 134217728, ceiling(-67108866, 67108864) = 0 1733 ceiling(134217728, 134217728) = 134217728, ceiling(134217730, 134217728) = 268435456, ceiling(-134217730, 134217728) = 0 1734 ceiling(268435456, 268435456) = 268435456, ceiling(268435458, 268435456) = 536870912, ceiling(-268435458, 268435456) = 0 1735 ceiling(536870912, 536870912) = 536870912, ceiling(536870914, 536870912) = 1073741824, ceiling(-536870914, 536870912) = 0 1736 ceiling(1073741824, 1073741824) = 1073741824, ceiling(1073741826, 1073741824) = -1073741824, ceiling(-1073741826, 1073741824) = 0 1737 ceiling(-2147483648, -2147483648) = -2147483648, ceiling(-2147483646, -2147483648) = 0, ceiling(2147483646, -2147483648) = 0 1738 1739 unsigned int 1740 ceiling(1, 1) = 1, ceiling(3, 1) = 3, ceiling(4294967293, 1) = 4294967293 1741 ceiling(2, 2) = 2, ceiling(4, 2) = 4, ceiling(4294967292, 2) = 4294967292 1742 ceiling(4, 4) = 4, ceiling(6, 4) = 8, ceiling(4294967290, 4) = 4294967292 1743 ceiling(8, 8) = 8, ceiling(10, 8) = 16, ceiling(4294967286, 8) = 4294967288 1744 ceiling(16, 16) = 16, ceiling(18, 16) = 32, ceiling(4294967278, 16) = 4294967280 1745 ceiling(32, 32) = 32, ceiling(34, 32) = 64, ceiling(4294967262, 32) = 4294967264 1746 ceiling(64, 64) = 64, ceiling(66, 64) = 128, ceiling(4294967230, 64) = 4294967232 1747 ceiling(128, 128) = 128, ceiling(130, 128) = 256, ceiling(4294967166, 128) = 4294967168 1748 ceiling(256, 256) = 256, ceiling(258, 256) = 512, ceiling(4294967038, 256) = 4294967040 1749 ceiling(512, 512) = 512, ceiling(514, 512) = 1024, ceiling(4294966782, 512) = 4294966784 1750 ceiling(1024, 1024) = 1024, ceiling(1026, 1024) = 2048, ceiling(4294966270, 1024) = 4294966272 1751 ceiling(2048, 2048) = 2048, ceiling(2050, 2048) = 4096, ceiling(4294965246, 2048) = 4294965248 1752 ceiling(4096, 4096) = 4096, ceiling(4098, 4096) = 8192, ceiling(4294963198, 4096) = 4294963200 1753 ceiling(8192, 8192) = 8192, ceiling(8194, 8192) = 16384, ceiling(4294959102, 8192) = 4294959104 1754 ceiling(16384, 16384) = 16384, ceiling(16386, 16384) = 32768, ceiling(4294950910, 16384) = 4294950912 1755 ceiling(32768, 32768) = 32768, ceiling(32770, 32768) = 65536, ceiling(4294934526, 32768) = 4294934528 1756 ceiling(65536, 65536) = 65536, ceiling(65538, 65536) = 131072, ceiling(4294901758, 65536) = 4294901760 1757 ceiling(131072, 131072) = 131072, ceiling(131074, 131072) = 262144, ceiling(4294836222, 131072) = 4294836224 1758 ceiling(262144, 262144) = 262144, ceiling(262146, 262144) = 524288, ceiling(4294705150, 262144) = 4294705152 1759 ceiling(524288, 524288) = 524288, ceiling(524290, 524288) = 1048576, ceiling(4294443006, 524288) = 4294443008 1760 ceiling(1048576, 1048576) = 1048576, ceiling(1048578, 1048576) = 2097152, ceiling(4293918718, 1048576) = 4293918720 1761 ceiling(2097152, 2097152) = 2097152, ceiling(2097154, 2097152) = 4194304, ceiling(4292870142, 2097152) = 4292870144 1762 ceiling(4194304, 4194304) = 4194304, ceiling(4194306, 4194304) = 8388608, ceiling(4290772990, 4194304) = 4290772992 1763 ceiling(8388608, 8388608) = 8388608, ceiling(8388610, 8388608) = 16777216, ceiling(4286578686, 8388608) = 4286578688 1764 ceiling(16777216, 16777216) = 16777216, ceiling(16777218, 16777216) = 33554432, ceiling(4278190078, 16777216) = 4278190080 1765 ceiling(33554432, 33554432) = 33554432, ceiling(33554434, 33554432) = 67108864, ceiling(4261412862, 33554432) = 4261412864 1766 ceiling(67108864, 67108864) = 67108864, ceiling(67108866, 67108864) = 134217728, ceiling(4227858430, 67108864) = 4227858432 1767 ceiling(134217728, 134217728) = 134217728, ceiling(134217730, 134217728) = 268435456, ceiling(4160749566, 134217728) = 4160749568 1768 ceiling(268435456, 268435456) = 268435456, ceiling(268435458, 268435456) = 536870912, ceiling(4026531838, 268435456) = 4026531840 1769 ceiling(536870912, 536870912) = 536870912, ceiling(536870914, 536870912) = 1073741824, ceiling(3758096382, 536870912) = 3758096384 1770 ceiling(1073741824, 1073741824) = 1073741824, ceiling(1073741826, 1073741824) = 2147483648, ceiling(3221225470, 1073741824) = 3221225472 1771 ceiling(2147483648, 2147483648) = 2147483648, ceiling(2147483650, 2147483648) = 0, ceiling(2147483646, 2147483648) = 2147483648 1772 1773 long int 1774 ceiling(1, 1) = 1, ceiling(3, 1) = 3, ceiling(-3, 1) = -3 1775 ceiling(2, 2) = 2, ceiling(4, 2) = 4, ceiling(-4, 2) = -4 1776 ceiling(4, 4) = 4, ceiling(6, 4) = 8, ceiling(-6, 4) = 0 1777 ceiling(8, 8) = 8, ceiling(10, 8) = 16, ceiling(-10, 8) = 0 1778 ceiling(16, 16) = 16, ceiling(18, 16) = 32, ceiling(-18, 16) = 0 1779 ceiling(32, 32) = 32, ceiling(34, 32) = 64, ceiling(-34, 32) = 0 1780 ceiling(64, 64) = 64, ceiling(66, 64) = 128, ceiling(-66, 64) = 0 1781 ceiling(128, 128) = 128, ceiling(130, 128) = 256, ceiling(-130, 128) = 0 1782 ceiling(256, 256) = 256, ceiling(258, 256) = 512, ceiling(-258, 256) = 0 1783 ceiling(512, 512) = 512, ceiling(514, 512) = 1024, ceiling(-514, 512) = 0 1784 ceiling(1024, 1024) = 1024, ceiling(1026, 1024) = 2048, ceiling(-1026, 1024) = 0 1785 ceiling(2048, 2048) = 2048, ceiling(2050, 2048) = 4096, ceiling(-2050, 2048) = 0 1786 ceiling(4096, 4096) = 4096, ceiling(4098, 4096) = 8192, ceiling(-4098, 4096) = 0 1787 ceiling(8192, 8192) = 8192, ceiling(8194, 8192) = 16384, ceiling(-8194, 8192) = 0 1788 ceiling(16384, 16384) = 16384, ceiling(16386, 16384) = 32768, ceiling(-16386, 16384) = 0 1789 ceiling(32768, 32768) = 32768, ceiling(32770, 32768) = 65536, ceiling(-32770, 32768) = 0 1790 ceiling(65536, 65536) = 65536, ceiling(65538, 65536) = 131072, ceiling(-65538, 65536) = 0 1791 ceiling(131072, 131072) = 131072, ceiling(131074, 131072) = 262144, ceiling(-131074, 131072) = 0 1792 ceiling(262144, 262144) = 262144, ceiling(262146, 262144) = 524288, ceiling(-262146, 262144) = 0 1793 ceiling(524288, 524288) = 524288, ceiling(524290, 524288) = 1048576, ceiling(-524290, 524288) = 0 1794 ceiling(1048576, 1048576) = 1048576, ceiling(1048578, 1048576) = 2097152, ceiling(-1048578, 1048576) = 0 1795 ceiling(2097152, 2097152) = 2097152, ceiling(2097154, 2097152) = 4194304, ceiling(-2097154, 2097152) = 0 1796 ceiling(4194304, 4194304) = 4194304, ceiling(4194306, 4194304) = 8388608, ceiling(-4194306, 4194304) = 0 1797 ceiling(8388608, 8388608) = 8388608, ceiling(8388610, 8388608) = 16777216, ceiling(-8388610, 8388608) = 0 1798 ceiling(16777216, 16777216) = 16777216, ceiling(16777218, 16777216) = 33554432, ceiling(-16777218, 16777216) = 0 1799 ceiling(33554432, 33554432) = 33554432, ceiling(33554434, 33554432) = 67108864, ceiling(-33554434, 33554432) = 0 1800 ceiling(67108864, 67108864) = 67108864, ceiling(67108866, 67108864) = 134217728, ceiling(-67108866, 67108864) = 0 1801 ceiling(134217728, 134217728) = 134217728, ceiling(134217730, 134217728) = 268435456, ceiling(-134217730, 134217728) = 0 1802 ceiling(268435456, 268435456) = 268435456, ceiling(268435458, 268435456) = 536870912, ceiling(-268435458, 268435456) = 0 1803 ceiling(536870912, 536870912) = 536870912, ceiling(536870914, 536870912) = 1073741824, ceiling(-536870914, 536870912) = 0 1804 ceiling(1073741824, 1073741824) = 1073741824, ceiling(1073741826, 1073741824) = -1073741824, ceiling(-1073741826, 1073741824) = 0 1805 ceiling(-2147483648, -2147483648) = -2147483648, ceiling(-2147483646, -2147483648) = 0, ceiling(2147483646, -2147483648) = 0 1806 1807 unsigned long int 1808 ceiling(1, 1) = 1, ceiling(3, 1) = 3, ceiling(4294967293, 1) = 4294967293 1809 ceiling(2, 2) = 2, ceiling(4, 2) = 4, ceiling(4294967292, 2) = 4294967292 1810 ceiling(4, 4) = 4, ceiling(6, 4) = 8, ceiling(4294967290, 4) = 4294967292 1811 ceiling(8, 8) = 8, ceiling(10, 8) = 16, ceiling(4294967286, 8) = 4294967288 1812 ceiling(16, 16) = 16, ceiling(18, 16) = 32, ceiling(4294967278, 16) = 4294967280 1813 ceiling(32, 32) = 32, ceiling(34, 32) = 64, ceiling(4294967262, 32) = 4294967264 1814 ceiling(64, 64) = 64, ceiling(66, 64) = 128, ceiling(4294967230, 64) = 4294967232 1815 ceiling(128, 128) = 128, ceiling(130, 128) = 256, ceiling(4294967166, 128) = 4294967168 1816 ceiling(256, 256) = 256, ceiling(258, 256) = 512, ceiling(4294967038, 256) = 4294967040 1817 ceiling(512, 512) = 512, ceiling(514, 512) = 1024, ceiling(4294966782, 512) = 4294966784 1818 ceiling(1024, 1024) = 1024, ceiling(1026, 1024) = 2048, ceiling(4294966270, 1024) = 4294966272 1819 ceiling(2048, 2048) = 2048, ceiling(2050, 2048) = 4096, ceiling(4294965246, 2048) = 4294965248 1820 ceiling(4096, 4096) = 4096, ceiling(4098, 4096) = 8192, ceiling(4294963198, 4096) = 4294963200 1821 ceiling(8192, 8192) = 8192, ceiling(8194, 8192) = 16384, ceiling(4294959102, 8192) = 4294959104 1822 ceiling(16384, 16384) = 16384, ceiling(16386, 16384) = 32768, ceiling(4294950910, 16384) = 4294950912 1823 ceiling(32768, 32768) = 32768, ceiling(32770, 32768) = 65536, ceiling(4294934526, 32768) = 4294934528 1824 ceiling(65536, 65536) = 65536, ceiling(65538, 65536) = 131072, ceiling(4294901758, 65536) = 4294901760 1825 ceiling(131072, 131072) = 131072, ceiling(131074, 131072) = 262144, ceiling(4294836222, 131072) = 4294836224 1826 ceiling(262144, 262144) = 262144, ceiling(262146, 262144) = 524288, ceiling(4294705150, 262144) = 4294705152 1827 ceiling(524288, 524288) = 524288, ceiling(524290, 524288) = 1048576, ceiling(4294443006, 524288) = 4294443008 1828 ceiling(1048576, 1048576) = 1048576, ceiling(1048578, 1048576) = 2097152, ceiling(4293918718, 1048576) = 4293918720 1829 ceiling(2097152, 2097152) = 2097152, ceiling(2097154, 2097152) = 4194304, ceiling(4292870142, 2097152) = 4292870144 1830 ceiling(4194304, 4194304) = 4194304, ceiling(4194306, 4194304) = 8388608, ceiling(4290772990, 4194304) = 4290772992 1831 ceiling(8388608, 8388608) = 8388608, ceiling(8388610, 8388608) = 16777216, ceiling(4286578686, 8388608) = 4286578688 1832 ceiling(16777216, 16777216) = 16777216, ceiling(16777218, 16777216) = 33554432, ceiling(4278190078, 16777216) = 4278190080 1833 ceiling(33554432, 33554432) = 33554432, ceiling(33554434, 33554432) = 67108864, ceiling(4261412862, 33554432) = 4261412864 1834 ceiling(67108864, 67108864) = 67108864, ceiling(67108866, 67108864) = 134217728, ceiling(4227858430, 67108864) = 4227858432 1835 ceiling(134217728, 134217728) = 134217728, ceiling(134217730, 134217728) = 268435456, ceiling(4160749566, 134217728) = 4160749568 1836 ceiling(268435456, 268435456) = 268435456, ceiling(268435458, 268435456) = 536870912, ceiling(4026531838, 268435456) = 4026531840 1837 ceiling(536870912, 536870912) = 536870912, ceiling(536870914, 536870912) = 1073741824, ceiling(3758096382, 536870912) = 3758096384 1838 ceiling(1073741824, 1073741824) = 1073741824, ceiling(1073741826, 1073741824) = 2147483648, ceiling(3221225470, 1073741824) = 3221225472 1839 ceiling(2147483648, 2147483648) = 2147483648, ceiling(2147483650, 2147483648) = 0, ceiling(2147483646, 2147483648) = 2147483648 1840 1841 long long int 1842 ceiling(1, 1) = 1, ceiling(3, 1) = 3, ceiling(-3, 1) = -3 1843 ceiling(2, 2) = 2, ceiling(4, 2) = 4, ceiling(-4, 2) = -4 1844 ceiling(4, 4) = 4, ceiling(6, 4) = 8, ceiling(-6, 4) = 0 1845 ceiling(8, 8) = 8, ceiling(10, 8) = 16, ceiling(-10, 8) = 0 1846 ceiling(16, 16) = 16, ceiling(18, 16) = 32, ceiling(-18, 16) = 0 1847 ceiling(32, 32) = 32, ceiling(34, 32) = 64, ceiling(-34, 32) = 0 1848 ceiling(64, 64) = 64, ceiling(66, 64) = 128, ceiling(-66, 64) = 0 1849 ceiling(128, 128) = 128, ceiling(130, 128) = 256, ceiling(-130, 128) = 0 1850 ceiling(256, 256) = 256, ceiling(258, 256) = 512, ceiling(-258, 256) = 0 1851 ceiling(512, 512) = 512, ceiling(514, 512) = 1024, ceiling(-514, 512) = 0 1852 ceiling(1024, 1024) = 1024, ceiling(1026, 1024) = 2048, ceiling(-1026, 1024) = 0 1853 ceiling(2048, 2048) = 2048, ceiling(2050, 2048) = 4096, ceiling(-2050, 2048) = 0 1854 ceiling(4096, 4096) = 4096, ceiling(4098, 4096) = 8192, ceiling(-4098, 4096) = 0 1855 ceiling(8192, 8192) = 8192, ceiling(8194, 8192) = 16384, ceiling(-8194, 8192) = 0 1856 ceiling(16384, 16384) = 16384, ceiling(16386, 16384) = 32768, ceiling(-16386, 16384) = 0 1857 ceiling(32768, 32768) = 32768, ceiling(32770, 32768) = 65536, ceiling(-32770, 32768) = 0 1858 ceiling(65536, 65536) = 65536, ceiling(65538, 65536) = 131072, ceiling(-65538, 65536) = 0 1859 ceiling(131072, 131072) = 131072, ceiling(131074, 131072) = 262144, ceiling(-131074, 131072) = 0 1860 ceiling(262144, 262144) = 262144, ceiling(262146, 262144) = 524288, ceiling(-262146, 262144) = 0 1861 ceiling(524288, 524288) = 524288, ceiling(524290, 524288) = 1048576, ceiling(-524290, 524288) = 0 1862 ceiling(1048576, 1048576) = 1048576, ceiling(1048578, 1048576) = 2097152, ceiling(-1048578, 1048576) = 0 1863 ceiling(2097152, 2097152) = 2097152, ceiling(2097154, 2097152) = 4194304, ceiling(-2097154, 2097152) = 0 1864 ceiling(4194304, 4194304) = 4194304, ceiling(4194306, 4194304) = 8388608, ceiling(-4194306, 4194304) = 0 1865 ceiling(8388608, 8388608) = 8388608, ceiling(8388610, 8388608) = 16777216, ceiling(-8388610, 8388608) = 0 1866 ceiling(16777216, 16777216) = 16777216, ceiling(16777218, 16777216) = 33554432, ceiling(-16777218, 16777216) = 0 1867 ceiling(33554432, 33554432) = 33554432, ceiling(33554434, 33554432) = 67108864, ceiling(-33554434, 33554432) = 0 1868 ceiling(67108864, 67108864) = 67108864, ceiling(67108866, 67108864) = 134217728, ceiling(-67108866, 67108864) = 0 1869 ceiling(134217728, 134217728) = 134217728, ceiling(134217730, 134217728) = 268435456, ceiling(-134217730, 134217728) = 0 1870 ceiling(268435456, 268435456) = 268435456, ceiling(268435458, 268435456) = 536870912, ceiling(-268435458, 268435456) = 0 1871 ceiling(536870912, 536870912) = 536870912, ceiling(536870914, 536870912) = 1073741824, ceiling(-536870914, 536870912) = 0 1872 ceiling(1073741824, 1073741824) = 1073741824, ceiling(1073741826, 1073741824) = 2147483648, ceiling(-1073741826, 1073741824) = 0 1873 ceiling(2147483648, 2147483648) = 2147483648, ceiling(2147483650, 2147483648) = 4294967296, ceiling(-2147483650, 2147483648) = 0 1874 ceiling(4294967296, 4294967296) = 4294967296, ceiling(4294967298, 4294967296) = 8589934592, ceiling(-4294967298, 4294967296) = 0 1875 ceiling(8589934592, 8589934592) = 8589934592, ceiling(8589934594, 8589934592) = 17179869184, ceiling(-8589934594, 8589934592) = 0 1876 ceiling(17179869184, 17179869184) = 17179869184, ceiling(17179869186, 17179869184) = 34359738368, ceiling(-17179869186, 17179869184) = 0 1877 ceiling(34359738368, 34359738368) = 34359738368, ceiling(34359738370, 34359738368) = 68719476736, ceiling(-34359738370, 34359738368) = 0 1878 ceiling(68719476736, 68719476736) = 68719476736, ceiling(68719476738, 68719476736) = 137438953472, ceiling(-68719476738, 68719476736) = 0 1879 ceiling(137438953472, 137438953472) = 137438953472, ceiling(137438953474, 137438953472) = 274877906944, ceiling(-137438953474, 137438953472) = 0 1880 ceiling(274877906944, 274877906944) = 274877906944, ceiling(274877906946, 274877906944) = 549755813888, ceiling(-274877906946, 274877906944) = 0 1881 ceiling(549755813888, 549755813888) = 549755813888, ceiling(549755813890, 549755813888) = 1099511627776, ceiling(-549755813890, 549755813888) = 0 1882 ceiling(1099511627776, 1099511627776) = 1099511627776, ceiling(1099511627778, 1099511627776) = 2199023255552, ceiling(-1099511627778, 1099511627776) = 0 1883 ceiling(2199023255552, 2199023255552) = 2199023255552, ceiling(2199023255554, 2199023255552) = 4398046511104, ceiling(-2199023255554, 2199023255552) = 0 1884 ceiling(4398046511104, 4398046511104) = 4398046511104, ceiling(4398046511106, 4398046511104) = 8796093022208, ceiling(-4398046511106, 4398046511104) = 0 1885 ceiling(8796093022208, 8796093022208) = 8796093022208, ceiling(8796093022210, 8796093022208) = 17592186044416, ceiling(-8796093022210, 8796093022208) = 0 1886 ceiling(17592186044416, 17592186044416) = 17592186044416, ceiling(17592186044418, 17592186044416) = 35184372088832, ceiling(-17592186044418, 17592186044416) = 0 1887 ceiling(35184372088832, 35184372088832) = 35184372088832, ceiling(35184372088834, 35184372088832) = 70368744177664, ceiling(-35184372088834, 35184372088832) = 0 1888 ceiling(70368744177664, 70368744177664) = 70368744177664, ceiling(70368744177666, 70368744177664) = 140737488355328, ceiling(-70368744177666, 70368744177664) = 0 1889 ceiling(140737488355328, 140737488355328) = 140737488355328, ceiling(140737488355330, 140737488355328) = 281474976710656, ceiling(-140737488355330, 140737488355328) = 0 1890 ceiling(281474976710656, 281474976710656) = 281474976710656, ceiling(281474976710658, 281474976710656) = 562949953421312, ceiling(-281474976710658, 281474976710656) = 0 1891 ceiling(562949953421312, 562949953421312) = 562949953421312, ceiling(562949953421314, 562949953421312) = 1125899906842624, ceiling(-562949953421314, 562949953421312) = 0 1892 ceiling(1125899906842624, 1125899906842624) = 1125899906842624, ceiling(1125899906842626, 1125899906842624) = 2251799813685248, ceiling(-1125899906842626, 1125899906842624) = 0 1893 ceiling(2251799813685248, 2251799813685248) = 2251799813685248, ceiling(2251799813685250, 2251799813685248) = 4503599627370496, ceiling(-2251799813685250, 2251799813685248) = 0 1894 ceiling(4503599627370496, 4503599627370496) = 4503599627370496, ceiling(4503599627370498, 4503599627370496) = 9007199254740992, ceiling(-4503599627370498, 4503599627370496) = 0 1895 ceiling(9007199254740992, 9007199254740992) = 9007199254740992, ceiling(9007199254740994, 9007199254740992) = 18014398509481984, ceiling(-9007199254740994, 9007199254740992) = 0 1896 ceiling(18014398509481984, 18014398509481984) = 18014398509481984, ceiling(18014398509481986, 18014398509481984) = 36028797018963968, ceiling(-18014398509481986, 18014398509481984) = 0 1897 ceiling(36028797018963968, 36028797018963968) = 36028797018963968, ceiling(36028797018963970, 36028797018963968) = 72057594037927936, ceiling(-36028797018963970, 36028797018963968) = 0 1898 ceiling(72057594037927936, 72057594037927936) = 72057594037927936, ceiling(72057594037927938, 72057594037927936) = 144115188075855872, ceiling(-72057594037927938, 72057594037927936) = 0 1899 ceiling(144115188075855872, 144115188075855872) = 144115188075855872, ceiling(144115188075855874, 144115188075855872) = 288230376151711744, ceiling(-144115188075855874, 144115188075855872) = 0 1900 ceiling(288230376151711744, 288230376151711744) = 288230376151711744, ceiling(288230376151711746, 288230376151711744) = 576460752303423488, ceiling(-288230376151711746, 288230376151711744) = 0 1901 ceiling(576460752303423488, 576460752303423488) = 576460752303423488, ceiling(576460752303423490, 576460752303423488) = 1152921504606846976, ceiling(-576460752303423490, 576460752303423488) = 0 1902 ceiling(1152921504606846976, 1152921504606846976) = 1152921504606846976, ceiling(1152921504606846978, 1152921504606846976) = 2305843009213693952, ceiling(-1152921504606846978, 1152921504606846976) = 0 1903 ceiling(2305843009213693952, 2305843009213693952) = 2305843009213693952, ceiling(2305843009213693954, 2305843009213693952) = 4611686018427387904, ceiling(-2305843009213693954, 2305843009213693952) = 0 1904 ceiling(4611686018427387904, 4611686018427387904) = 4611686018427387904, ceiling(4611686018427387906, 4611686018427387904) = -4611686018427387904, ceiling(-4611686018427387906, 4611686018427387904) = 0 1905 ceiling(-9223372036854775808, -9223372036854775808) = -9223372036854775808, ceiling(-9223372036854775806, -9223372036854775808) = 0, ceiling(9223372036854775806, -9223372036854775808) = 0 1906 1907 unsigned long long int 1908 ceiling(1, 1) = 1, ceiling(3, 1) = 3, ceiling(18446744073709551613, 1) = 18446744073709551613 1909 ceiling(2, 2) = 2, ceiling(4, 2) = 4, ceiling(18446744073709551612, 2) = 18446744073709551612 1910 ceiling(4, 4) = 4, ceiling(6, 4) = 8, ceiling(18446744073709551610, 4) = 18446744073709551612 1911 ceiling(8, 8) = 8, ceiling(10, 8) = 16, ceiling(18446744073709551606, 8) = 18446744073709551608 1912 ceiling(16, 16) = 16, ceiling(18, 16) = 32, ceiling(18446744073709551598, 16) = 18446744073709551600 1913 ceiling(32, 32) = 32, ceiling(34, 32) = 64, ceiling(18446744073709551582, 32) = 18446744073709551584 1914 ceiling(64, 64) = 64, ceiling(66, 64) = 128, ceiling(18446744073709551550, 64) = 18446744073709551552 1915 ceiling(128, 128) = 128, ceiling(130, 128) = 256, ceiling(18446744073709551486, 128) = 18446744073709551488 1916 ceiling(256, 256) = 256, ceiling(258, 256) = 512, ceiling(18446744073709551358, 256) = 18446744073709551360 1917 ceiling(512, 512) = 512, ceiling(514, 512) = 1024, ceiling(18446744073709551102, 512) = 18446744073709551104 1918 ceiling(1024, 1024) = 1024, ceiling(1026, 1024) = 2048, ceiling(18446744073709550590, 1024) = 18446744073709550592 1919 ceiling(2048, 2048) = 2048, ceiling(2050, 2048) = 4096, ceiling(18446744073709549566, 2048) = 18446744073709549568 1920 ceiling(4096, 4096) = 4096, ceiling(4098, 4096) = 8192, ceiling(18446744073709547518, 4096) = 18446744073709547520 1921 ceiling(8192, 8192) = 8192, ceiling(8194, 8192) = 16384, ceiling(18446744073709543422, 8192) = 18446744073709543424 1922 ceiling(16384, 16384) = 16384, ceiling(16386, 16384) = 32768, ceiling(18446744073709535230, 16384) = 18446744073709535232 1923 ceiling(32768, 32768) = 32768, ceiling(32770, 32768) = 65536, ceiling(18446744073709518846, 32768) = 18446744073709518848 1924 ceiling(65536, 65536) = 65536, ceiling(65538, 65536) = 131072, ceiling(18446744073709486078, 65536) = 18446744073709486080 1925 ceiling(131072, 131072) = 131072, ceiling(131074, 131072) = 262144, ceiling(18446744073709420542, 131072) = 18446744073709420544 1926 ceiling(262144, 262144) = 262144, ceiling(262146, 262144) = 524288, ceiling(18446744073709289470, 262144) = 18446744073709289472 1927 ceiling(524288, 524288) = 524288, ceiling(524290, 524288) = 1048576, ceiling(18446744073709027326, 524288) = 18446744073709027328 1928 ceiling(1048576, 1048576) = 1048576, ceiling(1048578, 1048576) = 2097152, ceiling(18446744073708503038, 1048576) = 18446744073708503040 1929 ceiling(2097152, 2097152) = 2097152, ceiling(2097154, 2097152) = 4194304, ceiling(18446744073707454462, 2097152) = 18446744073707454464 1930 ceiling(4194304, 4194304) = 4194304, ceiling(4194306, 4194304) = 8388608, ceiling(18446744073705357310, 4194304) = 18446744073705357312 1931 ceiling(8388608, 8388608) = 8388608, ceiling(8388610, 8388608) = 16777216, ceiling(18446744073701163006, 8388608) = 18446744073701163008 1932 ceiling(16777216, 16777216) = 16777216, ceiling(16777218, 16777216) = 33554432, ceiling(18446744073692774398, 16777216) = 18446744073692774400 1933 ceiling(33554432, 33554432) = 33554432, ceiling(33554434, 33554432) = 67108864, ceiling(18446744073675997182, 33554432) = 18446744073675997184 1934 ceiling(67108864, 67108864) = 67108864, ceiling(67108866, 67108864) = 134217728, ceiling(18446744073642442750, 67108864) = 18446744073642442752 1935 ceiling(134217728, 134217728) = 134217728, ceiling(134217730, 134217728) = 268435456, ceiling(18446744073575333886, 134217728) = 18446744073575333888 1936 ceiling(268435456, 268435456) = 268435456, ceiling(268435458, 268435456) = 536870912, ceiling(18446744073441116158, 268435456) = 18446744073441116160 1937 ceiling(536870912, 536870912) = 536870912, ceiling(536870914, 536870912) = 1073741824, ceiling(18446744073172680702, 536870912) = 18446744073172680704 1938 ceiling(1073741824, 1073741824) = 1073741824, ceiling(1073741826, 1073741824) = 2147483648, ceiling(18446744072635809790, 1073741824) = 18446744072635809792 1939 ceiling(2147483648, 2147483648) = 2147483648, ceiling(2147483650, 2147483648) = 4294967296, ceiling(18446744071562067966, 2147483648) = 18446744071562067968 1940 ceiling(4294967296, 4294967296) = 4294967296, ceiling(4294967298, 4294967296) = 8589934592, ceiling(18446744069414584318, 4294967296) = 18446744069414584320 1941 ceiling(8589934592, 8589934592) = 8589934592, ceiling(8589934594, 8589934592) = 17179869184, ceiling(18446744065119617022, 8589934592) = 18446744065119617024 1942 ceiling(17179869184, 17179869184) = 17179869184, ceiling(17179869186, 17179869184) = 34359738368, ceiling(18446744056529682430, 17179869184) = 18446744056529682432 1943 ceiling(34359738368, 34359738368) = 34359738368, ceiling(34359738370, 34359738368) = 68719476736, ceiling(18446744039349813246, 34359738368) = 18446744039349813248 1944 ceiling(68719476736, 68719476736) = 68719476736, ceiling(68719476738, 68719476736) = 137438953472, ceiling(18446744004990074878, 68719476736) = 18446744004990074880 1945 ceiling(137438953472, 137438953472) = 137438953472, ceiling(137438953474, 137438953472) = 274877906944, ceiling(18446743936270598142, 137438953472) = 18446743936270598144 1946 ceiling(274877906944, 274877906944) = 274877906944, ceiling(274877906946, 274877906944) = 549755813888, ceiling(18446743798831644670, 274877906944) = 18446743798831644672 1947 ceiling(549755813888, 549755813888) = 549755813888, ceiling(549755813890, 549755813888) = 1099511627776, ceiling(18446743523953737726, 549755813888) = 18446743523953737728 1948 ceiling(1099511627776, 1099511627776) = 1099511627776, ceiling(1099511627778, 1099511627776) = 2199023255552, ceiling(18446742974197923838, 1099511627776) = 18446742974197923840 1949 ceiling(2199023255552, 2199023255552) = 2199023255552, ceiling(2199023255554, 2199023255552) = 4398046511104, ceiling(18446741874686296062, 2199023255552) = 18446741874686296064 1950 ceiling(4398046511104, 4398046511104) = 4398046511104, ceiling(4398046511106, 4398046511104) = 8796093022208, ceiling(18446739675663040510, 4398046511104) = 18446739675663040512 1951 ceiling(8796093022208, 8796093022208) = 8796093022208, ceiling(8796093022210, 8796093022208) = 17592186044416, ceiling(18446735277616529406, 8796093022208) = 18446735277616529408 1952 ceiling(17592186044416, 17592186044416) = 17592186044416, ceiling(17592186044418, 17592186044416) = 35184372088832, ceiling(18446726481523507198, 17592186044416) = 18446726481523507200 1953 ceiling(35184372088832, 35184372088832) = 35184372088832, ceiling(35184372088834, 35184372088832) = 70368744177664, ceiling(18446708889337462782, 35184372088832) = 18446708889337462784 1954 ceiling(70368744177664, 70368744177664) = 70368744177664, ceiling(70368744177666, 70368744177664) = 140737488355328, ceiling(18446673704965373950, 70368744177664) = 18446673704965373952 1955 ceiling(140737488355328, 140737488355328) = 140737488355328, ceiling(140737488355330, 140737488355328) = 281474976710656, ceiling(18446603336221196286, 140737488355328) = 18446603336221196288 1956 ceiling(281474976710656, 281474976710656) = 281474976710656, ceiling(281474976710658, 281474976710656) = 562949953421312, ceiling(18446462598732840958, 281474976710656) = 18446462598732840960 1957 ceiling(562949953421312, 562949953421312) = 562949953421312, ceiling(562949953421314, 562949953421312) = 1125899906842624, ceiling(18446181123756130302, 562949953421312) = 18446181123756130304 1958 ceiling(1125899906842624, 1125899906842624) = 1125899906842624, ceiling(1125899906842626, 1125899906842624) = 2251799813685248, ceiling(18445618173802708990, 1125899906842624) = 18445618173802708992 1959 ceiling(2251799813685248, 2251799813685248) = 2251799813685248, ceiling(2251799813685250, 2251799813685248) = 4503599627370496, ceiling(18444492273895866366, 2251799813685248) = 18444492273895866368 1960 ceiling(4503599627370496, 4503599627370496) = 4503599627370496, ceiling(4503599627370498, 4503599627370496) = 9007199254740992, ceiling(18442240474082181118, 4503599627370496) = 18442240474082181120 1961 ceiling(9007199254740992, 9007199254740992) = 9007199254740992, ceiling(9007199254740994, 9007199254740992) = 18014398509481984, ceiling(18437736874454810622, 9007199254740992) = 18437736874454810624 1962 ceiling(18014398509481984, 18014398509481984) = 18014398509481984, ceiling(18014398509481986, 18014398509481984) = 36028797018963968, ceiling(18428729675200069630, 18014398509481984) = 18428729675200069632 1963 ceiling(36028797018963968, 36028797018963968) = 36028797018963968, ceiling(36028797018963970, 36028797018963968) = 72057594037927936, ceiling(18410715276690587646, 36028797018963968) = 18410715276690587648 1964 ceiling(72057594037927936, 72057594037927936) = 72057594037927936, ceiling(72057594037927938, 72057594037927936) = 144115188075855872, ceiling(18374686479671623678, 72057594037927936) = 18374686479671623680 1965 ceiling(144115188075855872, 144115188075855872) = 144115188075855872, ceiling(144115188075855874, 144115188075855872) = 288230376151711744, ceiling(18302628885633695742, 144115188075855872) = 18302628885633695744 1966 ceiling(288230376151711744, 288230376151711744) = 288230376151711744, ceiling(288230376151711746, 288230376151711744) = 576460752303423488, ceiling(18158513697557839870, 288230376151711744) = 18158513697557839872 1967 ceiling(576460752303423488, 576460752303423488) = 576460752303423488, ceiling(576460752303423490, 576460752303423488) = 1152921504606846976, ceiling(17870283321406128126, 576460752303423488) = 17870283321406128128 1968 ceiling(1152921504606846976, 1152921504606846976) = 1152921504606846976, ceiling(1152921504606846978, 1152921504606846976) = 2305843009213693952, ceiling(17293822569102704638, 1152921504606846976) = 17293822569102704640 1969 ceiling(2305843009213693952, 2305843009213693952) = 2305843009213693952, ceiling(2305843009213693954, 2305843009213693952) = 4611686018427387904, ceiling(16140901064495857662, 2305843009213693952) = 16140901064495857664 1970 ceiling(4611686018427387904, 4611686018427387904) = 4611686018427387904, ceiling(4611686018427387906, 4611686018427387904) = 9223372036854775808, ceiling(13835058055282163710, 4611686018427387904) = 13835058055282163712 1971 ceiling(9223372036854775808, 9223372036854775808) = 9223372036854775808, ceiling(9223372036854775810, 9223372036854775808) = 0, ceiling(9223372036854775806, 9223372036854775808) = 9223372036854775808 1972 -
tests/.expect/castError.txt
r25a1cb0 r8d8ac3b 3 3 Name: f 4 4 ... to: 5 char 6 with resolved type: 5 7 char Alternatives are: 6 8 Cost ( 1, 0, 0, 0, 0, 0, 0 ): Explicit Cast of: … … 9 11 ... returning nothing 10 12 13 with resolved type: 14 pointer to function 15 accepting unspecified arguments 16 ... returning nothing 17 11 18 ... to: 19 char 20 with resolved type: 12 21 char 13 22 (types: … … 18 27 Cost ( 1, 0, 0, 0, 0, 0, 0 ): Explicit Cast of: 19 28 Variable Expression: f: double 29 with resolved type: 30 double 20 31 ... to: 32 char 33 with resolved type: 21 34 char 22 35 (types: … … 27 40 Cost ( 1, 0, 0, 0, 0, 0, 0 ): Explicit Cast of: 28 41 Variable Expression: f: signed int 42 with resolved type: 43 signed int 29 44 ... to: 45 char 46 with resolved type: 30 47 char 31 48 (types: … … 39 56 Comma Expression: 40 57 constant expression (3 3: signed int) 58 with resolved type: 59 signed int 41 60 Name: v 42 ... to: nothing Alternatives are: 61 ... to: nothing 62 with resolved type: 63 void Alternatives are: 43 64 Cost ( 0, 0, 2, 0, 0, 0, 0 ): Generated Cast of: 44 65 Comma Expression: 45 66 constant expression (3 3: signed int) 67 with resolved type: 68 signed int 46 69 Variable Expression: v: unsigned char 70 with resolved type: 71 unsigned char 72 with resolved type: 73 unsigned char 47 74 ... to: nothing 75 with resolved type: 76 void 48 77 (types: 49 78 void … … 54 83 Comma Expression: 55 84 constant expression (3 3: signed int) 85 with resolved type: 86 signed int 56 87 Variable Expression: v: signed short int 88 with resolved type: 89 signed short int 90 with resolved type: 91 signed short int 57 92 ... to: nothing 93 with resolved type: 94 void 58 95 (types: 59 96 void … … 69 106 char 70 107 108 with resolved type: 109 instance of struct S with body 1 110 ... with parameters 111 char 112 -
tests/.expect/init1.txt
r25a1cb0 r8d8ac3b 11 11 ... to: 12 12 reference to signed int 13 with resolved type: 14 reference to signed int 13 15 init1.cfa:97:1 error: No reasonable alternatives for expression Applying untyped: 14 16 Name: ?{} … … 16 18 Generated Cast of: 17 19 Variable Expression: _retval_f_py: pointer to signed int 20 with resolved type: 21 pointer to signed int 18 22 ... to: 23 reference to pointer to signed int 24 with resolved type: 19 25 reference to pointer to signed int 20 26 Name: px … … 24 30 ... to: 25 31 reference to float 32 with resolved type: 33 reference to float 26 34 init1.cfa:107:1 error: No reasonable alternatives for expression Applying untyped: 27 35 Name: ?{} … … 29 37 Generated Cast of: 30 38 Variable Expression: _retval_f_py2: pointer to float 39 with resolved type: 40 pointer to float 31 41 ... to: 42 reference to pointer to float 43 with resolved type: 32 44 reference to pointer to float 33 45 Name: cpx … … 37 49 ... to: 38 50 reference to instance of type T (not function type) 51 with resolved type: 52 reference to instance of type T (not function type) 39 53 init1.cfa:118:1 error: No reasonable alternatives for expression Applying untyped: 40 54 Name: ?{} … … 42 56 Generated Cast of: 43 57 Variable Expression: _retval_anycvt: pointer to instance of type T (not function type) 58 with resolved type: 59 pointer to instance of type T (not function type) 44 60 ... to: 61 reference to pointer to instance of type T (not function type) 62 with resolved type: 45 63 reference to pointer to instance of type T (not function type) 46 64 Name: s -
tests/Makefile.am
r25a1cb0 r8d8ac3b 67 67 avl_test_SOURCES = avltree/avl_test.cfa avltree/avl0.cfa avltree/avl1.cfa avltree/avl2.cfa avltree/avl3.cfa avltree/avl4.cfa avltree/avl-private.cfa 68 68 # automake doesn't know we still need C/CPP rules so pretend like we have a C program 69 nodist__dummy_hack_SOURCES = .dummy_hack.c .dummy_hackxx.cpp69 _dummy_hack_SOURCES = .dummy_hack.c .dummy_hackxx.cpp 70 70 71 71 #---------------------------------------------------------------------------------------------------------------- -
tests/alloc.cfa
r25a1cb0 r8d8ac3b 47 47 free( ip ); 48 48 49 ip = alloc ( fill`fill ); // CFA alloc, fill49 ip = alloc_set( fill ); // CFA alloc, fill 50 50 printf( "CFA alloc, fill %08x\n", *ip ); 51 51 free( ip ); 52 52 53 ip = alloc ( 3`fill); // CFA alloc, fill53 ip = alloc_set( 3 ); // CFA alloc, fill 54 54 printf( "CFA alloc, fill %d\n", *ip ); 55 55 free( ip ); … … 78 78 free( ip ); 79 79 80 ip = alloc ( 2 * dim, fill`fill ); // CFA array alloc, fill80 ip = alloc_set( 2 * dim, fill ); // CFA array alloc, fill 81 81 printf( "CFA array alloc, fill %#hhx\n", fill ); 82 82 for ( i; 2 * dim ) { printf( "%#x ", ip[i] ); } … … 84 84 free( ip ); 85 85 86 ip = alloc ( 2 * dim, ((int)0xdeadbeef)`fill); // CFA array alloc, fill86 ip = alloc_set( 2 * dim, 0xdeadbeef ); // CFA array alloc, fill 87 87 printf( "CFA array alloc, fill %#hhx\n", 0xdeadbeef ); 88 88 for ( i; 2 * dim ) { printf( "%#x ", ip[i] ); } … … 90 90 // do not free 91 91 92 ip1 = alloc ( 2 * dim, [ip, 2 * dim]`fill); // CFA array alloc, fill92 ip1 = alloc_set( 2 * dim, ip, 2 * dim ); // CFA array alloc, fill 93 93 printf( "CFA array alloc, fill from array\n" ); 94 94 for ( i; 2 * dim ) { printf( "%#x %#x, ", ip[i], ip1[i] ); } … … 117 117 printf( "\n" ); 118 118 119 ip = alloc( dim, ip`realloc); // CFA realloc array alloc119 ip = alloc( ip, dim ); // CFA realloc array alloc 120 120 for ( i; dim ) { ip[i] = 0xdeadbeef; } 121 121 printf( "CFA realloc array alloc\n" ); … … 124 124 // do not free 125 125 126 ip = alloc( 2 * dim, ip`realloc); // CFA realloc array alloc126 ip = alloc( ip, 2 * dim ); // CFA realloc array alloc 127 127 for ( i; dim ~ 2 * dim ) { ip[i] = 0x1010101; } // fill upper part 128 128 printf( "CFA realloc array alloc\n" ); … … 131 131 // do not free 132 132 133 ip = alloc( dim, ip`realloc); // CFA realloc array alloc133 ip = alloc( ip, dim ); // CFA realloc array alloc 134 134 printf( "CFA realloc array alloc\n" ); 135 135 for ( i; dim ) { printf( "%#x ", ip[i] ); } … … 137 137 // do not free 138 138 139 ip = alloc ( 3 * dim, ip`realloc, fill`fill ); // CFA realloc array alloc, fill139 ip = alloc_set( ip, 3 * dim, fill ); // CFA realloc array alloc, fill 140 140 printf( "CFA realloc array alloc, fill\n" ); 141 141 for ( i; 3 * dim ) { printf( "%#x ", ip[i] ); } … … 143 143 // do not free 144 144 145 ip = alloc ( dim, ip`realloc, fill`fill ); // CFA realloc array alloc, fill145 ip = alloc_set( ip, dim, fill ); // CFA realloc array alloc, fill 146 146 printf( "CFA realloc array alloc, fill\n" ); 147 147 for ( i; dim ) { printf( "%#x ", ip[i] ); } … … 149 149 // do not free 150 150 151 ip = alloc ( 3 * dim, ip`realloc, fill`fill ); // CFA realloc array alloc, fill151 ip = alloc_set( ip, 3 * dim, fill ); // CFA realloc array alloc, fill 152 152 printf( "CFA realloc array alloc, fill\n" ); 153 153 for ( i; 3 * dim ) { printf( "%#x ", ip[i] ); } … … 155 155 // do not free 156 156 #if 0 // FIX ME 157 ip = alloc ( 5 * dim, ip`realloc, 5`fill); // CFA realloc array alloc, 5157 ip = alloc_set( ip, 5 * dim, 5 ); // CFA realloc array alloc, 5 158 158 printf( "CFA realloc array alloc, 5\n" ); 159 159 for ( i; 5 * dim ) { printf( "%#x ", ip[i] ); } … … 161 161 // do not free 162 162 163 ip = alloc ( dim, ip`realloc, 5`fill); // CFA realloc array alloc, 5163 ip = alloc_set( ip, dim, 5 ); // CFA realloc array alloc, 5 164 164 printf( "CFA realloc array alloc, 5\n" ); 165 165 for ( i; dim ) { printf( "%#x ", ip[i] ); } … … 167 167 // do not free 168 168 169 ip = alloc ( 5 * dim, ip`realloc, 5`fill); // CFA realloc array alloc, 5169 ip = alloc_set( ip, 5 * dim, 5 ); // CFA realloc array alloc, 5 170 170 printf( "CFA realloc array alloc, 5\n" ); 171 171 for ( i; 5 * dim ) { printf( "%#x ", ip[i] ); } … … 182 182 ip = alloc(); 183 183 *ip = 5; 184 double * dp = alloc( ip `resize);184 double * dp = alloc( ip ); 185 185 *dp = 5.5; 186 S * sp = alloc( dp `resize);186 S * sp = alloc( dp ); 187 187 *sp = (S){ {0, 1, 2, 3, 4} }; 188 ip = alloc( sp `resize);188 ip = alloc( sp ); 189 189 *ip = 3; 190 190 free( ip ); … … 195 195 ip = alloc( 5 ); 196 196 for ( i; 5 ) { ip[i] = 5; } 197 dp = alloc( 5, ip`resize);197 dp = alloc( ip, 5 ); 198 198 for ( i; 5 ) { dp[i] = 5.5; } 199 sp = alloc( 5, dp`resize);199 sp = alloc( dp, 5 ); 200 200 for ( i; 5 ) { sp[i] = (S){ {0, 1, 2, 3, 4} }; } 201 ip = alloc( 3, sp`resize);201 ip = alloc( sp, 3 ); 202 202 for ( i; 3 ) { ip[i] = 3; } 203 ip = alloc( 7, ip`realloc);203 ip = alloc( ip, 7 ); 204 204 for ( i; 7 ) { ip[i] = 7; } 205 ip = alloc( 7, ip`resize );205 ip = alloc( ip, 7, false ); 206 206 for ( i; 7 ) { ip[i] = 7; } 207 207 free( ip ); … … 237 237 free( stp ); 238 238 239 stp = &(*alloc ( Alignment`align)){ 42, 42.5 }; // CFA alloc_align239 stp = &(*alloc_align( Alignment)){ 42, 42.5 }; // CFA alloc_align 240 240 assert( (uintptr_t)stp % Alignment == 0 ); 241 241 printf( "CFA alloc_align %d %g\n", stp->x, stp->y ); 242 242 free( stp ); 243 243 244 stp = &(*alloc ( Alignment`align)){ 42, 42.5 }; // CFA alloc_align244 stp = &(*alloc_align( Alignment )){ 42, 42.5 }; // CFA alloc_align 245 245 assert( (uintptr_t)stp % Alignment == 0 ); 246 246 printf( "CFA alloc_align %d %g\n", stp->x, stp->y ); 247 247 free( stp ); 248 248 249 stp = alloc ( Alignment`align, fill`fill ); // CFA memalign, fill249 stp = alloc_align_set( Alignment, fill ); // CFA memalign, fill 250 250 assert( (uintptr_t)stp % Alignment == 0 ); 251 251 printf( "CFA alloc_align fill %#x %a\n", stp->x, stp->y ); 252 252 free( stp ); 253 253 254 stp = alloc ( Alignment`align, (Struct){ 42, 42.5 }`fill); // CFA memalign, fill254 stp = alloc_align_set( Alignment, (Struct){ 42, 42.5 } ); // CFA memalign, fill 255 255 assert( (uintptr_t)stp % Alignment == 0 ); 256 256 printf( "CFA alloc_align fill %d %g\n", stp->x, stp->y ); 257 257 // do not free 258 258 259 stp = &(*alloc ( stp`realloc, 4096`align)){ 42, 42.5 }; // CFA realign259 stp = &(*alloc_align( stp, 4096 )){ 42, 42.5 }; // CFA realign 260 260 assert( (uintptr_t)stp % 4096 == 0 ); 261 261 printf( "CFA alloc_align %d %g\n", stp->x, stp->y ); … … 266 266 printf( "\n" ); 267 267 268 stp = alloc ( dim, Alignment`align); // CFA array memalign268 stp = alloc_align( Alignment, dim ); // CFA array memalign 269 269 assert( (uintptr_t)stp % Alignment == 0 ); 270 270 for ( i; dim ) { stp[i] = (Struct){ 42, 42.5 }; } … … 274 274 free( stp ); 275 275 276 stp = alloc ( dim, Alignment`align, fill`fill ); // CFA array memalign, fill276 stp = alloc_align_set( Alignment, dim, fill ); // CFA array memalign, fill 277 277 assert( (uintptr_t)stp % Alignment == 0 ); 278 278 printf( "CFA array alloc_align, fill\n" ); … … 281 281 free( stp ); 282 282 283 stp = alloc ( dim, Alignment`align, ((Struct){ 42, 42.5 })`fill); // CFA array memalign, fill283 stp = alloc_align_set( Alignment, dim, (Struct){ 42, 42.5 } ); // CFA array memalign, fill 284 284 assert( (uintptr_t)stp % Alignment == 0 ); 285 285 printf( "CFA array alloc_align, fill\n" ); … … 288 288 // do not free 289 289 290 stp1 = alloc ( dim, Alignment`align, [stp, dim]`fill); // CFA array memalign, fill290 stp1 = alloc_align_set( Alignment, dim, stp, dim ); // CFA array memalign, fill 291 291 assert( (uintptr_t)stp % Alignment == 0 ); 292 292 printf( "CFA array alloc_align, fill array\n" ); … … 295 295 free( stp1 ); 296 296 297 stp = alloc ( dim, stp`realloc, 4096`align); // CFA aligned realloc array297 stp = alloc_align( stp, 4096, dim ); // CFA aligned realloc array 298 298 assert( (uintptr_t)stp % 4096 == 0 ); 299 299 for ( i; dim ) { stp[i] = (Struct){ 42, 42.5 }; } … … 325 325 for ( i; dim ) { printf( "%#x %a, ", sta1[i].x, sta1[i].y ); } 326 326 printf( "\n" ); 327 327 328 328 329 // new, non-array types -
tests/bitmanip3.cfa
r25a1cb0 r8d8ac3b 10 10 // Created On : Tue Apr 7 21:22:59 2020 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Aug 24 09:53:26202013 // Update Count : 6 612 // Last Modified On : Mon Aug 10 09:31:35 2020 13 // Update Count : 65 14 14 // 15 15 … … 134 134 135 135 printf( "signed char\n" ); 136 // sc = 0; 137 // scr1 = floor2( sc, sc ), scr2 = floor2( sc + 2hh, sc ), scr3 = floor2( -sc - 2hh, sc ); 138 // printf( "floor2(%hhd, %hhd) = %hhd, floor2(%hhd, %hhd) = %hhd, floor2(%hhd, %hhd) = %hhd\n", sc, sc, scr1, sc + 2hh, sc, scr2, -sc - 2hh, sc, scr3 ); 136 139 for ( sc = 1; sc != 0; sc <<= 1 ) { 137 140 scr1 = floor2( sc, sc ); scr2 = floor2( sc + 2hh, sc ); scr3 = floor2( -sc - 2hh, sc ); … … 141 144 142 145 printf( "unsigned char\n" ); 146 // uc = 0; 147 // ucr1 = floor2( uc, uc ), ucr2 = floor2( uc + 2hh, uc ), ucr3 = floor2( -uc - 2hh, uc ); 148 // printf( "floor2(%hhu, %hhu) = %hhu, floor2(%hhu, %hhu) = %hhu, floor2(%hhu, %hhu) = %hhu\n", uc, uc, ucr1, uc + 2uhh, uc, ucr2, -uc - 2uhh, uc, ucr3 ); 143 149 for ( uc = 1; uc != 0; uc <<= 1 ) { 144 150 ucr1 = floor2( uc, uc ); ucr2 = floor2( uc + 2hh, uc ); ucr3 = floor2( -uc - 2hh, uc ); … … 148 154 149 155 printf( "short int\n" ); 156 // si = 0; 157 // sir1 = floor2( si, si ), sir2 = floor2( si + 2hh, si ), sir3 = floor2( -si - 2hh, si ); 158 // printf( "floor2(%hd, %hd) = %hd, floor2(%hd, %hd) = %hd, floor2(%hd, %hd) = %hd\n", si, si, sir1, si + 2h, si, sir2, -si - 2h, si, sir3 ); 150 159 for ( si = 1; si != 0; si <<= 1 ) { 151 160 sir1 = floor2( si, si ); sir2 = floor2( si + 2hh, si ); sir3 = floor2( -si - 2hh, si ); … … 155 164 156 165 printf( "unsigned short int\n" ); 166 // usi = 0; 167 // usir1 = floor2( usi, usi ), usir2 = floor2( usi + 2hh, usi ), usir3 = floor2( -usi - 2hh, usi ); 168 // printf( "floor2(%hu, %hu) = %hu, floor2(%hu, %hu) = %hu, floor2(%hu, %hu) = %hu\n", usi, usi, usir1, usi + 2uh, usi, usir2, -usi - 2uh, usi, usir3 ); 157 169 for ( usi = 1; usi != 0; usi <<= 1 ) { 158 170 usir1 = floor2( usi, usi ); usir2 = floor2( usi + 2hh, usi ); usir3 = floor2( -usi - 2hh, usi ); … … 162 174 163 175 printf( "int\n" ); 176 // i = 0; 177 // ir1 = floor2( i, i ), ir2 = floor2( i + 2hh, i ), ir3 = floor2( -i - 2hh, i ); 178 // printf( "floor2(%d, %d) = %d, floor2(%d, %d) = %d, floor2(%d, %d) = %d\n", i, i, ir1, i + 2h, i, ir2, -i - 2h, i, ir3 ); 164 179 for ( i = 1; i != 0; i <<= 1 ) { 165 180 ir1 = floor2( i, i ); ir2 = floor2( i + 2hh, i ); ir3 = floor2( -i - 2hh, i ); … … 169 184 170 185 printf( "unsigned int\n" ); 186 // ui = 0; 187 // uir1 = floor2( ui, ui ), uir2 = floor2( ui + 2hh, ui ), uir3 = floor2( -ui - 2hh, ui ); 188 // printf( "floor2(%u, %u) = %u, floor2(%u, %u) = %u, floor2(%u, %u) = %u\n", ui, ui, uir1, ui + 2h, ui, uir2, -ui - 2h, ui, uir3 ); 171 189 for ( ui = 1; ui != 0; ui <<= 1 ) { 172 190 uir1 = floor2( ui, ui ); uir2 = floor2( ui + 2hh, ui ); uir3 = floor2( -ui - 2hh, ui ); … … 176 194 177 195 printf( "long int\n" ); 196 // li = 0; 197 // lir1 = floor2( li, li ), lir2 = floor2( li + 2hh, li ), lir3 = floor2( -li - 2hh, li ); 198 // printf( "floor2(%ld, %ld) = %ld, floor2(%ld, %ld) = %ld, floor2(%ld, %ld) = %ld\n", li, li, lir1, li + 2h, li, lir2, -li - 2h, li, lir3 ); 178 199 for ( li = 1; li != 0; li <<= 1 ) { 179 200 lir1 = floor2( li, li ); lir2 = floor2( li + 2hh, li ); lir3 = floor2( -li - 2hh, li ); … … 183 204 184 205 printf( "unsigned long int\n" ); 206 // uli = 0; 207 // ulir1 = floor2( uli, uli ), ulir2 = floor2( uli + 2hh, uli ), ulir3 = floor2( -uli - 2hh, uli ); 208 // printf( "floor2(%lu, %lu) = %lu, floor2(%lu, %lu) = %lu, floor2(%lu, %lu) = %lu\n", uli, uli, ulir1, uli + 2h, uli, ulir2, -uli - 2h, uli, ulir3 ); 185 209 for ( uli = 1; uli != 0; uli <<= 1 ) { 186 210 ulir1 = floor2( uli, uli ); ulir2 = floor2( uli + 2hh, uli ); ulir3 = floor2( -uli - 2hh, uli ); … … 190 214 191 215 printf( "long long int\n" ); 216 // lli = 0; 217 // llir1 = floor2( lli, lli ), llir2 = floor2( lli + 2hh, lli ), llir3 = floor2( -lli - 2hh, lli ); 218 // printf( "floor2(%lld, %lld) = %lld, floor2(%lld, %lld) = %lld, floor2(%lld, %lld) = %lld\n", lli, lli, llir1, lli + 2h, lli, llir2, -lli - 2h, lli, llir3 ); 192 219 for ( lli = 1; lli != 0; lli <<= 1 ) { 193 220 llir1 = floor2( lli, lli ); llir2 = floor2( lli + 2hh, lli ); llir3 = floor2( -lli - 2hh, lli ); … … 197 224 198 225 printf( "unsigned long long int\n" ); 226 // ulli = 0; 227 // ullir1 = floor2( ulli, ulli ), ullir2 = floor2( ulli + 2hh, ulli ), ullir3 = floor2( -ulli - 2hh, ulli ); 228 // printf( "floor2(%llu, %llu) = %llu, floor2(%llu, %llu) = %llu, floor2(%llu, %llu) = %llu\n", ulli, ulli, ullir1, ulli + 2h, ulli, ullir2, -ulli - 2h, ulli, ullir3 ); 199 229 for ( ulli = 1; ulli != 0; ulli <<= 1 ) { 200 230 ullir1 = floor2( ulli, ulli ); ullir2 = floor2( ulli + 2hh, ulli ); ullir3 = floor2( -ulli - 2hh, ulli ); 201 231 printf( "floor2(%llu, %llu) = %llu, floor2(%llu, %llu) = %llu, floor2(%llu, %llu) = %llu\n", ulli, ulli, ullir1, ulli + 2h, ulli, ullir2, -ulli - 2h, ulli, ullir3 ); 232 } // for 233 printf( "\n" ); 234 #endif // 0 235 //============================================================ 236 #if 1 237 sout | nl | "floor" | nl | nl; 238 239 printf( "signed char\n" ); 240 for ( sc = 1; sc != 0; sc <<= 1 ) { 241 scr1 = floor( sc, sc ); scr2 = floor( sc + 2hh, sc ); scr3 = floor( -sc - 2hh, sc ); 242 printf( "floor(%hhd, %hhd) = %hhd, floor(%hhd, %hhd) = %hhd, floor(%hhd, %hhd) = %hhd\n", sc, sc, scr1, sc + 2hh, sc, scr2, -sc - 2hh, sc, scr3 ); 243 } // for 244 printf( "\n" ); 245 246 printf( "unsigned char\n" ); 247 for ( uc = 1; uc != 0; uc <<= 1 ) { 248 ucr1 = floor( uc, uc ); ucr2 = floor( uc + 2hh, uc ); ucr3 = floor( -uc - 2hh, uc ); 249 printf( "floor(%hhu, %hhu) = %hhu, floor(%hhu, %hhu) = %hhu, floor(%hhu, %hhu) = %hhu\n", uc, uc, ucr1, uc + 2uhh, uc, ucr2, -uc - 2uhh, uc, ucr3 ); 250 } // for 251 printf( "\n" ); 252 253 printf( "short int\n" ); 254 for ( si = 1; si != 0; si <<= 1 ) { 255 sir1 = floor( si, si ); sir2 = floor( si + 2hh, si ); sir3 = floor( -si - 2hh, si ); 256 printf( "floor(%hd, %hd) = %hd, floor(%hd, %hd) = %hd, floor(%hd, %hd) = %hd\n", si, si, sir1, si + 2h, si, sir2, -si - 2h, si, sir3 ); 257 } // for 258 printf( "\n" ); 259 260 printf( "unsigned short int\n" ); 261 for ( usi = 1; usi != 0; usi <<= 1 ) { 262 usir1 = floor( usi, usi ); usir2 = floor( usi + 2hh, usi ); usir3 = floor( -usi - 2hh, usi ); 263 printf( "floor(%hu, %hu) = %hu, floor(%hu, %hu) = %hu, floor(%hu, %hu) = %hu\n", usi, usi, usir1, usi + 2uh, usi, usir2, -usi - 2uh, usi, usir3 ); 264 } // for 265 printf( "\n" ); 266 267 printf( "int\n" ); 268 for ( i = 1; i != 0; i <<= 1 ) { 269 ir1 = floor( i, i ); ir2 = floor( i + 2hh, i ); ir3 = floor( -i - 2hh, i ); 270 printf( "floor(%d, %d) = %d, floor(%d, %d) = %d, floor(%d, %d) = %d\n", i, i, ir1, i + 2h, i, ir2, -i - 2h, i, ir3 ); 271 } // for 272 printf( "\n" ); 273 274 printf( "unsigned int\n" ); 275 for ( ui = 1; ui != 0; ui <<= 1 ) { 276 uir1 = floor( ui, ui ); uir2 = floor( ui + 2hh, ui ); uir3 = floor( -ui - 2hh, ui ); 277 printf( "floor(%u, %u) = %u, floor(%u, %u) = %u, floor(%u, %u) = %u\n", ui, ui, uir1, ui + 2h, ui, uir2, -ui - 2h, ui, uir3 ); 278 } // for 279 printf( "\n" ); 280 281 printf( "long int\n" ); 282 for ( li = 1; li != 0; li <<= 1 ) { 283 lir1 = floor( li, li ); lir2 = floor( li + 2hh, li ); lir3 = floor( -li - 2hh, li ); 284 printf( "floor(%ld, %ld) = %ld, floor(%ld, %ld) = %ld, floor(%ld, %ld) = %ld\n", li, li, lir1, li + 2h, li, lir2, -li - 2h, li, lir3 ); 285 } // for 286 printf( "\n" ); 287 288 printf( "unsigned long int\n" ); 289 for ( uli = 1; uli != 0; uli <<= 1 ) { 290 ulir1 = floor( uli, uli ); ulir2 = floor( uli + 2hh, uli ); ulir3 = floor( -uli - 2hh, uli ); 291 printf( "floor(%lu, %lu) = %lu, floor(%lu, %lu) = %lu, floor(%lu, %lu) = %lu\n", uli, uli, ulir1, uli + 2h, uli, ulir2, -uli - 2h, uli, ulir3 ); 292 } // for 293 printf( "\n" ); 294 295 printf( "long long int\n" ); 296 for ( lli = 1; lli != 0; lli <<= 1 ) { 297 llir1 = floor( lli, lli ); llir2 = floor( lli + 2hh, lli ); llir3 = floor( -lli - 2hh, lli ); 298 printf( "floor(%lld, %lld) = %lld, floor(%lld, %lld) = %lld, floor(%lld, %lld) = %lld\n", lli, lli, llir1, lli + 2h, lli, llir2, -lli - 2h, lli, llir3 ); 299 } // for 300 printf( "\n" ); 301 302 printf( "unsigned long long int\n" ); 303 for ( ulli = 1; ulli != 0; ulli <<= 1 ) { 304 ullir1 = floor( ulli, ulli ); ullir2 = floor( ulli + 2hh, ulli ); ullir3 = floor( -ulli - 2hh, ulli ); 305 printf( "floor(%llu, %llu) = %llu, floor(%llu, %llu) = %llu, floor(%llu, %llu) = %llu\n", ulli, ulli, ullir1, ulli + 2h, ulli, ullir2, -ulli - 2h, ulli, ullir3 ); 202 306 } // for 203 307 printf( "\n" ); … … 208 312 209 313 printf( "signed char\n" ); 314 // sc = 0; 315 // scr1 = ceiling2( sc, sc ), scr2 = ceiling2( sc + 2hh, sc ), scr3 = ceiling2( -sc - 2hh, sc ); 316 // printf( "ceiling2(%hhd, %hhd) = %hhd, ceiling2(%hhd, %hhd) = %hhd, ceiling2(%hhd, %hhd) = %hhd\n", sc, sc, scr1, sc + 2hh, sc, scr2, -sc - 2hh, sc, scr3 ); 210 317 for ( sc = 1; sc != 0; sc <<= 1 ) { 211 318 scr1 = ceiling2( sc, sc ); scr2 = ceiling2( sc + 2hh, sc ); scr3 = ceiling2( -sc - 2hh, sc ); … … 215 322 216 323 printf( "unsigned char\n" ); 324 // uc = 0; 325 // ucr1 = ceiling2( uc, uc ), ucr2 = ceiling2( uc + 2hh, uc ), ucr3 = ceiling2( -uc - 2hh, uc ); 326 // printf( "ceiling2(%hhu, %hhu) = %hhu, ceiling2(%hhu, %hhu) = %hhu, ceiling2(%hhu, %hhu) = %hhu\n", uc, uc, ucr1, uc + 2uhh, uc, ucr2, -uc - 2uhh, uc, ucr3 ); 217 327 for ( uc = 1; uc != 0; uc <<= 1 ) { 218 328 ucr1 = ceiling2( uc, uc ); ucr2 = ceiling2( uc + 2hh, uc ); ucr3 = ceiling2( -uc - 2hh, uc ); … … 222 332 223 333 printf( "short int\n" ); 334 // si = 0; 335 // sir1 = ceiling2( si, si ), sir2 = ceiling2( si + 2hh, si ), sir3 = ceiling2( -si - 2hh, si ); 336 // printf( "ceiling2(%hd, %hd) = %hd, ceiling2(%hd, %hd) = %hd, ceiling2(%hd, %hd) = %hd\n", si, si, sir1, si + 2h, si, sir2, -si - 2h, si, sir3 ); 224 337 for ( si = 1; si != 0; si <<= 1 ) { 225 338 sir1 = ceiling2( si, si ); sir2 = ceiling2( si + 2hh, si ); sir3 = ceiling2( -si - 2hh, si ); … … 229 342 230 343 printf( "unsigned short int\n" ); 344 // usi = 0; 345 // usir1 = ceiling2( usi, usi ), usir2 = ceiling2( usi + 2hh, usi ), usir3 = ceiling2( -usi - 2hh, usi ); 346 // printf( "ceiling2(%hu, %hu) = %hu, ceiling2(%hu, %hu) = %hu, ceiling2(%hu, %hu) = %hu\n", usi, usi, usir1, usi + 2uh, usi, usir2, -usi - 2uh, usi, usir3 ); 231 347 for ( usi = 1; usi != 0; usi <<= 1 ) { 232 348 usir1 = ceiling2( usi, usi ); usir2 = ceiling2( usi + 2hh, usi ); usir3 = ceiling2( -usi - 2hh, usi ); … … 236 352 237 353 printf( "int\n" ); 354 // i = 0; 355 // ir1 = ceiling2( i, i ), ir2 = ceiling2( i + 2hh, i ), ir3 = ceiling2( -i - 2hh, i ); 356 // printf( "ceiling2(%d, %d) = %d, ceiling2(%d, %d) = %d, ceiling2(%d, %d) = %d\n", i, i, ir1, i + 2h, i, ir2, -i - 2h, i, ir3 ); 238 357 for ( i = 1; i != 0; i <<= 1 ) { 239 358 ir1 = ceiling2( i, i ); ir2 = ceiling2( i + 2hh, i ); ir3 = ceiling2( -i - 2hh, i ); … … 243 362 244 363 printf( "unsigned int\n" ); 364 // ui = 0; 365 // uir1 = ceiling2( ui, ui ), uir2 = ceiling2( ui + 2hh, ui ), uir3 = ceiling2( -ui - 2hh, ui ); 366 // printf( "ceiling2(%u, %u) = %u, ceiling2(%u, %u) = %u, ceiling2(%u, %u) = %u\n", ui, ui, uir1, ui + 2h, ui, uir2, -ui - 2h, ui, uir3 ); 245 367 for ( ui = 1; ui != 0; ui <<= 1 ) { 246 368 uir1 = ceiling2( ui, ui ); uir2 = ceiling2( ui + 2hh, ui ); uir3 = ceiling2( -ui - 2hh, ui ); … … 250 372 251 373 printf( "long int\n" ); 374 // li = 0; 375 // lir1 = ceiling2( li, li ), lir2 = ceiling2( li + 2hh, li ), lir3 = ceiling2( -li - 2hh, li ); 376 // printf( "ceiling2(%ld, %ld) = %ld, ceiling2(%ld, %ld) = %ld, ceiling2(%ld, %ld) = %ld\n", li, li, lir1, li + 2h, li, lir2, -li - 2h, li, lir3 ); 252 377 for ( li = 1; li != 0; li <<= 1 ) { 253 378 lir1 = ceiling2( li, li ); lir2 = ceiling2( li + 2hh, li ); lir3 = ceiling2( -li - 2hh, li ); … … 257 382 258 383 printf( "unsigned long int\n" ); 384 // uli = 0; 385 // ulir1 = ceiling2( uli, uli ), ulir2 = ceiling2( uli + 2hh, uli ), ulir3 = ceiling2( -uli - 2hh, uli ); 386 // printf( "ceiling2(%lu, %lu) = %lu, ceiling2(%lu, %lu) = %lu, ceiling2(%lu, %lu) = %lu\n", uli, uli, ulir1, uli + 2h, uli, ulir2, -uli - 2h, uli, ulir3 ); 259 387 for ( uli = 1; uli != 0; uli <<= 1 ) { 260 388 ulir1 = ceiling2( uli, uli ); ulir2 = ceiling2( uli + 2hh, uli ); ulir3 = ceiling2( -uli - 2hh, uli ); … … 264 392 265 393 printf( "long long int\n" ); 394 // lli = 0; 395 // llir1 = ceiling2( lli, lli ), llir2 = ceiling2( lli + 2hh, lli ), llir3 = ceiling2( -lli - 2hh, lli ); 396 // printf( "ceiling2(%lld, %lld) = %lld, ceiling2(%lld, %lld) = %lld, ceiling2(%lld, %lld) = %lld\n", lli, lli, llir1, lli + 2h, lli, llir2, -lli - 2h, lli, llir3 ); 266 397 for ( lli = 1; lli != 0; lli <<= 1 ) { 267 398 llir1 = ceiling2( lli, lli ); llir2 = ceiling2( lli + 2hh, lli ); llir3 = ceiling2( -lli - 2hh, lli ); … … 271 402 272 403 printf( "unsigned long long int\n" ); 404 // ulli = 0; 405 // ullir1 = ceiling2( ulli, ulli ), ullir2 = ceiling2( ulli + 2hh, ulli ), ullir3 = ceiling2( -ulli - 2hh, ulli ); 406 // printf( "ceiling2(%llu, %llu) = %llu, ceiling2(%llu, %llu) = %llu, ceiling2(%llu, %llu) = %llu\n", ulli, ulli, ullir1, ulli + 2h, ulli, ullir2, -ulli - 2h, ulli, ullir3 ); 273 407 for ( ulli = 1; ulli != 0; ulli <<= 1 ) { 274 408 ullir1 = ceiling2( ulli, ulli ); ullir2 = ceiling2( ulli + 2hh, ulli ); ullir3 = ceiling2( -ulli - 2hh, ulli ); 275 409 printf( "ceiling2(%llu, %llu) = %llu, ceiling2(%llu, %llu) = %llu, ceiling2(%llu, %llu) = %llu\n", ulli, ulli, ullir1, ulli + 2h, ulli, ullir2, -ulli - 2h, ulli, ullir3 ); 410 } // for 411 printf( "\n" ); 412 #endif // 0 413 //============================================================ 414 #if 1 415 sout | nl | "ceiling_div" | nl | nl; 416 417 printf( "signed char\n" ); 418 for ( sc = 1; sc != 0; sc <<= 1 ) { 419 scr1 = ceiling_div( sc, sc ); scr2 = ceiling_div( sc + 2hh, sc ); scr3 = ceiling_div( -sc - 2hh, sc ); 420 printf( "ceiling_div(%hhd, %hhd) = %hhd, ceiling_div(%hhd, %hhd) = %hhd, ceiling_div(%hhd, %hhd) = %hhd\n", sc, sc, scr1, sc + 2hh, sc, scr2, -sc - 2hh, sc, scr3 ); 421 } // for 422 printf( "\n" ); 423 424 printf( "unsigned char\n" ); 425 for ( uc = 1; uc != 0; uc <<= 1 ) { 426 ucr1 = ceiling_div( uc, uc ); ucr2 = ceiling_div( uc + 2hh, uc ); ucr3 = ceiling_div( -uc - 2hh, uc ); 427 printf( "ceiling_div(%hhu, %hhu) = %hhu, ceiling_div(%hhu, %hhu) = %hhu, ceiling_div(%hhu, %hhu) = %hhu\n", uc, uc, ucr1, uc + 2uhh, uc, ucr2, -uc - 2uhh, uc, ucr3 ); 428 } // for 429 printf( "\n" ); 430 431 printf( "short int\n" ); 432 for ( si = 1; si != 0; si <<= 1 ) { 433 sir1 = ceiling_div( si, si ); sir2 = ceiling_div( si + 2hh, si ); sir3 = ceiling_div( -si - 2hh, si ); 434 printf( "ceiling_div(%hd, %hd) = %hd, ceiling_div(%hd, %hd) = %hd, ceiling_div(%hd, %hd) = %hd\n", si, si, sir1, si + 2h, si, sir2, -si - 2h, si, sir3 ); 435 } // for 436 printf( "\n" ); 437 438 printf( "unsigned short int\n" ); 439 for ( usi = 1; usi != 0; usi <<= 1 ) { 440 usir1 = ceiling_div( usi, usi ); usir2 = ceiling_div( usi + 2hh, usi ); usir3 = ceiling_div( -usi - 2hh, usi ); 441 printf( "ceiling_div(%hu, %hu) = %hu, ceiling_div(%hu, %hu) = %hu, ceiling_div(%hu, %hu) = %hu\n", usi, usi, usir1, usi + 2uh, usi, usir2, -usi - 2uh, usi, usir3 ); 442 } // for 443 printf( "\n" ); 444 445 printf( "int\n" ); 446 for ( i = 1; i != 0; i <<= 1 ) { 447 ir1 = ceiling_div( i, i ); ir2 = ceiling_div( i + 2hh, i ); ir3 = ceiling_div( -i - 2hh, i ); 448 printf( "ceiling_div(%d, %d) = %d, ceiling_div(%d, %d) = %d, ceiling_div(%d, %d) = %d\n", i, i, ir1, i + 2h, i, ir2, -i - 2h, i, ir3 ); 449 } // for 450 printf( "\n" ); 451 452 printf( "unsigned int\n" ); 453 for ( ui = 1; ui != 0; ui <<= 1 ) { 454 uir1 = ceiling_div( ui, ui ); uir2 = ceiling_div( ui + 2hh, ui ); uir3 = ceiling_div( -ui - 2hh, ui ); 455 printf( "ceiling_div(%u, %u) = %u, ceiling_div(%u, %u) = %u, ceiling_div(%u, %u) = %u\n", ui, ui, uir1, ui + 2h, ui, uir2, -ui - 2h, ui, uir3 ); 456 } // for 457 printf( "\n" ); 458 459 printf( "long int\n" ); 460 for ( li = 1; li != 0; li <<= 1 ) { 461 lir1 = ceiling_div( li, li ); lir2 = ceiling_div( li + 2hh, li ); lir3 = ceiling_div( -li - 2hh, li ); 462 printf( "ceiling_div(%ld, %ld) = %ld, ceiling_div(%ld, %ld) = %ld, ceiling_div(%ld, %ld) = %ld\n", li, li, lir1, li + 2h, li, lir2, -li - 2h, li, lir3 ); 463 } // for 464 printf( "\n" ); 465 466 printf( "unsigned long int\n" ); 467 for ( uli = 1; uli != 0; uli <<= 1 ) { 468 ulir1 = ceiling_div( uli, uli ); ulir2 = ceiling_div( uli + 2hh, uli ); ulir3 = ceiling_div( -uli - 2hh, uli ); 469 printf( "ceiling_div(%lu, %lu) = %lu, ceiling_div(%lu, %lu) = %lu, ceiling_div(%lu, %lu) = %lu\n", uli, uli, ulir1, uli + 2h, uli, ulir2, -uli - 2h, uli, ulir3 ); 470 } // for 471 printf( "\n" ); 472 473 printf( "long long int\n" ); 474 for ( lli = 1; lli != 0; lli <<= 1 ) { 475 llir1 = ceiling_div( lli, lli ); llir2 = ceiling_div( lli + 2hh, lli ); llir3 = ceiling_div( -lli - 2hh, lli ); 476 printf( "ceiling_div(%lld, %lld) = %lld, ceiling_div(%lld, %lld) = %lld, ceiling_div(%lld, %lld) = %lld\n", lli, lli, llir1, lli + 2h, lli, llir2, -lli - 2h, lli, llir3 ); 477 } // for 478 printf( "\n" ); 479 480 printf( "unsigned long long int\n" ); 481 for ( ulli = 1; ulli != 0; ulli <<= 1 ) { 482 ullir1 = ceiling_div( ulli, ulli ); ullir2 = ceiling_div( ulli + 2hh, ulli ); ullir3 = ceiling_div( -ulli - 2hh, ulli ); 483 printf( "ceiling_div(%llu, %llu) = %llu, ceiling_div(%llu, %llu) = %llu, ceiling_div(%llu, %llu) = %llu\n", ulli, ulli, ullir1, ulli + 2h, ulli, ullir2, -ulli - 2h, ulli, ullir3 ); 484 } // for 485 printf( "\n" ); 486 #endif // 0 487 //============================================================ 488 #if 1 489 sout | nl | "ceiling" | nl | nl; 490 491 printf( "signed char\n" ); 492 for ( sc = 1; sc != 0; sc <<= 1 ) { 493 scr1 = ceiling( sc, sc ); scr2 = ceiling( sc + 2hh, sc ); scr3 = ceiling( -sc - 2hh, sc ); 494 printf( "ceiling(%hhd, %hhd) = %hhd, ceiling(%hhd, %hhd) = %hhd, ceiling(%hhd, %hhd) = %hhd\n", sc, sc, scr1, sc + 2hh, sc, scr2, -sc - 2hh, sc, scr3 ); 495 } // for 496 printf( "\n" ); 497 498 printf( "unsigned char\n" ); 499 for ( uc = 1; uc != 0; uc <<= 1 ) { 500 ucr1 = ceiling( uc, uc ); ucr2 = ceiling( uc + 2hh, uc ); ucr3 = ceiling( -uc - 2hh, uc ); 501 printf( "ceiling(%hhu, %hhu) = %hhu, ceiling(%hhu, %hhu) = %hhu, ceiling(%hhu, %hhu) = %hhu\n", uc, uc, ucr1, uc + 2uhh, uc, ucr2, -uc - 2uhh, uc, ucr3 ); 502 } // for 503 printf( "\n" ); 504 505 printf( "short int\n" ); 506 for ( si = 1; si != 0; si <<= 1 ) { 507 sir1 = ceiling( si, si ); sir2 = ceiling( si + 2hh, si ); sir3 = ceiling( -si - 2hh, si ); 508 printf( "ceiling(%hd, %hd) = %hd, ceiling(%hd, %hd) = %hd, ceiling(%hd, %hd) = %hd\n", si, si, sir1, si + 2h, si, sir2, -si - 2h, si, sir3 ); 509 } // for 510 printf( "\n" ); 511 512 printf( "unsigned short int\n" ); 513 for ( usi = 1; usi != 0; usi <<= 1 ) { 514 usir1 = ceiling( usi, usi ); usir2 = ceiling( usi + 2hh, usi ); usir3 = ceiling( -usi - 2hh, usi ); 515 printf( "ceiling(%hu, %hu) = %hu, ceiling(%hu, %hu) = %hu, ceiling(%hu, %hu) = %hu\n", usi, usi, usir1, usi + 2uh, usi, usir2, -usi - 2uh, usi, usir3 ); 516 } // for 517 printf( "\n" ); 518 519 printf( "int\n" ); 520 for ( i = 1; i != 0; i <<= 1 ) { 521 ir1 = ceiling( i, i ); ir2 = ceiling( i + 2hh, i ); ir3 = ceiling( -i - 2hh, i ); 522 printf( "ceiling(%d, %d) = %d, ceiling(%d, %d) = %d, ceiling(%d, %d) = %d\n", i, i, ir1, i + 2h, i, ir2, -i - 2h, i, ir3 ); 523 } // for 524 printf( "\n" ); 525 526 printf( "unsigned int\n" ); 527 for ( ui = 1; ui != 0; ui <<= 1 ) { 528 uir1 = ceiling( ui, ui ); uir2 = ceiling( ui + 2hh, ui ); uir3 = ceiling( -ui - 2hh, ui ); 529 printf( "ceiling(%u, %u) = %u, ceiling(%u, %u) = %u, ceiling(%u, %u) = %u\n", ui, ui, uir1, ui + 2h, ui, uir2, -ui - 2h, ui, uir3 ); 530 } // for 531 printf( "\n" ); 532 533 printf( "long int\n" ); 534 for ( li = 1; li != 0; li <<= 1 ) { 535 lir1 = ceiling( li, li ); lir2 = ceiling( li + 2hh, li ); lir3 = ceiling( -li - 2hh, li ); 536 printf( "ceiling(%ld, %ld) = %ld, ceiling(%ld, %ld) = %ld, ceiling(%ld, %ld) = %ld\n", li, li, lir1, li + 2h, li, lir2, -li - 2h, li, lir3 ); 537 } // for 538 printf( "\n" ); 539 540 printf( "unsigned long int\n" ); 541 for ( uli = 1; uli != 0; uli <<= 1 ) { 542 ulir1 = ceiling( uli, uli ); ulir2 = ceiling( uli + 2hh, uli ); ulir3 = ceiling( -uli - 2hh, uli ); 543 printf( "ceiling(%lu, %lu) = %lu, ceiling(%lu, %lu) = %lu, ceiling(%lu, %lu) = %lu\n", uli, uli, ulir1, uli + 2h, uli, ulir2, -uli - 2h, uli, ulir3 ); 544 } // for 545 printf( "\n" ); 546 547 printf( "long long int\n" ); 548 for ( lli = 1; lli != 0; lli <<= 1 ) { 549 llir1 = ceiling( lli, lli ); llir2 = ceiling( lli + 2hh, lli ); llir3 = ceiling( -lli - 2hh, lli ); 550 printf( "ceiling(%lld, %lld) = %lld, ceiling(%lld, %lld) = %lld, ceiling(%lld, %lld) = %lld\n", lli, lli, llir1, lli + 2h, lli, llir2, -lli - 2h, lli, llir3 ); 551 } // for 552 printf( "\n" ); 553 554 printf( "unsigned long long int\n" ); 555 for ( ulli = 1; ulli != 0; ulli <<= 1 ) { 556 ullir1 = ceiling( ulli, ulli ); ullir2 = ceiling( ulli + 2hh, ulli ); ullir3 = ceiling( -ulli - 2hh, ulli ); 557 printf( "ceiling(%llu, %llu) = %llu, ceiling(%llu, %llu) = %llu, ceiling(%llu, %llu) = %llu\n", ulli, ulli, ullir1, ulli + 2h, ulli, ullir2, -ulli - 2h, ulli, ullir3 ); 276 558 } // for 277 559 printf( "\n" ); -
tests/copyfile.cfa
r25a1cb0 r8d8ac3b 10 10 // Created On : Fri Jun 19 13:44:05 2020 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : S at Aug 15 15:00:48202013 // Update Count : 612 // Last Modified On : Sun Jul 5 11:27:43 2020 13 // Update Count : 5 14 14 // 15 15 … … 45 45 if ( eof( in ) ) break; // eof ? 46 46 out | ch; 47 } // for47 } //for 48 48 } // main 49 49 -
tests/errors/.expect/completeType.x64.txt
r25a1cb0 r8d8ac3b 6 6 Name: x 7 7 8 ... to: nothing Alternatives are: 8 ... to: nothing 9 with resolved type: 10 void Alternatives are: 9 11 Cost ( 0, 1, 2, 0, 1, -1, 0 ): Generated Cast of: 10 12 Application of … … 20 22 21 23 24 with resolved type: 25 pointer to forall 26 _90_4_DT: data type 27 function 28 ... with parameters 29 intrinsic pointer to instance of type _90_4_DT (not function type) 30 ... returning 31 _retval__operator_deref: reference to instance of type _90_4_DT (not function type) 32 ... with attributes: 33 Attribute with name: unused 34 35 22 36 ... to arguments 23 37 Variable Expression: x: pointer to instance of struct A with body 0 24 38 with resolved type: 39 pointer to instance of struct A with body 0 40 41 with resolved type: 42 reference to instance of struct A with body 0 25 43 ... to: nothing 44 with resolved type: 45 void 26 46 (types: 27 47 void … … 43 63 44 64 65 with resolved type: 66 pointer to forall 67 _90_4_DT: data type 68 function 69 ... with parameters 70 intrinsic pointer to instance of type _90_4_DT (not function type) 71 ... returning 72 _retval__operator_deref: reference to instance of type _90_4_DT (not function type) 73 ... with attributes: 74 Attribute with name: unused 75 76 45 77 ... to arguments 46 78 Variable Expression: x: pointer to instance of struct B with body 1 47 79 with resolved type: 80 pointer to instance of struct B with body 1 81 82 with resolved type: 83 reference to instance of struct B with body 1 48 84 ... to: nothing 85 with resolved type: 86 void 49 87 (types: 50 88 void … … 121 159 ... returning nothing 122 160 161 with resolved type: 162 pointer to forall 163 _109_0_T: sized data type 164 ... with assertions 165 ?=?: pointer to function 166 ... with parameters 167 reference to instance of type _109_0_T (not function type) 168 instance of type _109_0_T (not function type) 169 ... returning 170 _retval__operator_assign: instance of type _109_0_T (not function type) 171 ... with attributes: 172 Attribute with name: unused 173 174 175 ?{}: pointer to function 176 ... with parameters 177 reference to instance of type _109_0_T (not function type) 178 ... returning nothing 179 180 ?{}: pointer to function 181 ... with parameters 182 reference to instance of type _109_0_T (not function type) 183 instance of type _109_0_T (not function type) 184 ... returning nothing 185 186 ^?{}: pointer to function 187 ... with parameters 188 reference to instance of type _109_0_T (not function type) 189 ... returning nothing 190 191 192 function 193 ... with parameters 194 pointer to instance of type _109_0_T (not function type) 195 ... returning nothing 196 123 197 ... to arguments 124 198 Variable Expression: z: pointer to instance of type T (not function type) 125 199 with resolved type: 200 pointer to instance of type T (not function type) 201 202 with resolved type: 203 void 126 204 (types: 127 205 void -
tests/exceptions/polymorphic.cfa
r25a1cb0 r8d8ac3b 11 11 POLY_VTABLE_INSTANCE(proxy, char)(msg); 12 12 13 void proxy_test (void) {13 void proxy_test () { 14 14 try { 15 15 throw (proxy(int)){}; -
tests/literals.cfa
r25a1cb0 r8d8ac3b 10 10 // Created On : Sat Sep 9 16:34:38 2017 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Aug 29 10:57:56202013 // Update Count : 22 612 // Last Modified On : Thu Aug 20 13:51:12 2020 13 // Update Count : 225 14 14 // 15 15 … … 151 151 -0X0123456789.0123456789P-09; -0X0123456789.0123456789P-09f; -0X0123456789.0123456789P-09l; -0X0123456789.0123456789P-09F; -0X0123456789.0123456789P-09L; 152 152 153 #if defined( __i386 ) || defined( __x86_64 )154 153 #if defined(__GNUC__) && __GNUC_PREREQ(7,0) // gcc version >= 7 155 154 // floating with length, gcc f16/f128x unsupported and no prelude code for any _FloatXXx, so they work by conversion to long double … … 195 194 /* -0x123456789.0123456789P-09F16; */ -0x123456789.0123456789P-09F32; -0x123456789.0123456789P-09F32x; -0x123456789.0123456789P-09F64; -0x123456789.0123456789P-09F64x; -0x123456789.0123456789P-09W; -0x123456789.0123456789P-09F128; -0x123456789.0123456789P-09q; /* -0x123456789.0123456789P-09q; */ 196 195 #endif // __GNUC_PREREQ(7,0) 197 #endif // __i386 ) || __x86_64198 196 199 197 #ifdef __CFA__ -
tests/math4.cfa
r25a1cb0 r8d8ac3b 10 10 // Created On : Thu May 24 20:56:54 2018 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Aug 25 17:56:45 202013 // Update Count : 712 // Last Modified On : Tue Dec 4 18:15:01 2018 13 // Update Count : 4 14 14 // 15 15 … … 18 18 19 19 int main( void ) { 20 signed char sc, scr1, scr2, scr3;21 unsigned char uc, ucr1, ucr2, ucr3;22 short int si, sir1, sir2, sir3;23 unsigned short int usi, usir1, usir2, usir3;24 int i, ir1, ir2, ir3;25 unsigned int ui, uir1, uir2, uir3;26 long int li, lir1, lir2, lir3;27 unsigned long int uli, ulir1, ulir2, ulir3;28 long long int lli, llir1, llir2, llir3;29 unsigned long long int ulli, ullir1, ullir2, ullir3;30 31 20 float f; 32 21 double d; … … 34 23 35 24 //---------------------- Nearest Integer ---------------------- 36 37 //============================================================38 #if 139 sout | nl | "floor" | nl | nl;40 41 printf( "signed char\n" );42 for ( sc = 1; sc != 0; sc <<= 1 ) {43 scr1 = floor( sc, sc ); scr2 = floor( sc + 2hh, sc ); scr3 = floor( -sc - 2hh, sc );44 printf( "floor(%hhd, %hhd) = %hhd, floor(%hhd, %hhd) = %hhd, floor(%hhd, %hhd) = %hhd\n", sc, sc, scr1, sc + 2hh, sc, scr2, -sc - 2hh, sc, scr3 );45 } // for46 printf( "\n" );47 48 printf( "unsigned char\n" );49 for ( uc = 1; uc != 0; uc <<= 1 ) {50 ucr1 = floor( uc, uc ); ucr2 = floor( uc + 2hh, uc ); ucr3 = floor( -uc - 2hh, uc );51 printf( "floor(%hhu, %hhu) = %hhu, floor(%hhu, %hhu) = %hhu, floor(%hhu, %hhu) = %hhu\n", uc, uc, ucr1, uc + 2uhh, uc, ucr2, -uc - 2uhh, uc, ucr3 );52 } // for53 printf( "\n" );54 55 printf( "short int\n" );56 for ( si = 1; si != 0; si <<= 1 ) {57 sir1 = floor( si, si ); sir2 = floor( si + 2hh, si ); sir3 = floor( -si - 2hh, si );58 printf( "floor(%hd, %hd) = %hd, floor(%hd, %hd) = %hd, floor(%hd, %hd) = %hd\n", si, si, sir1, si + 2h, si, sir2, -si - 2h, si, sir3 );59 } // for60 printf( "\n" );61 62 printf( "unsigned short int\n" );63 for ( usi = 1; usi != 0; usi <<= 1 ) {64 usir1 = floor( usi, usi ); usir2 = floor( usi + 2hh, usi ); usir3 = floor( -usi - 2hh, usi );65 printf( "floor(%hu, %hu) = %hu, floor(%hu, %hu) = %hu, floor(%hu, %hu) = %hu\n", usi, usi, usir1, usi + 2uh, usi, usir2, -usi - 2uh, usi, usir3 );66 } // for67 printf( "\n" );68 69 printf( "int\n" );70 for ( i = 1; i != 0; i <<= 1 ) {71 ir1 = floor( i, i ); ir2 = floor( i + 2hh, i ); ir3 = floor( -i - 2hh, i );72 printf( "floor(%d, %d) = %d, floor(%d, %d) = %d, floor(%d, %d) = %d\n", i, i, ir1, i + 2h, i, ir2, -i - 2h, i, ir3 );73 } // for74 printf( "\n" );75 76 printf( "unsigned int\n" );77 for ( ui = 1; ui != 0; ui <<= 1 ) {78 uir1 = floor( ui, ui ); uir2 = floor( ui + 2hh, ui ); uir3 = floor( -ui - 2hh, ui );79 printf( "floor(%u, %u) = %u, floor(%u, %u) = %u, floor(%u, %u) = %u\n", ui, ui, uir1, ui + 2h, ui, uir2, -ui - 2h, ui, uir3 );80 } // for81 printf( "\n" );82 83 printf( "long int\n" );84 for ( li = 1; li != 0; li <<= 1 ) {85 lir1 = floor( li, li ); lir2 = floor( li + 2hh, li ); lir3 = floor( -li - 2hh, li );86 printf( "floor(%ld, %ld) = %ld, floor(%ld, %ld) = %ld, floor(%ld, %ld) = %ld\n", li, li, lir1, li + 2h, li, lir2, -li - 2h, li, lir3 );87 } // for88 printf( "\n" );89 90 printf( "unsigned long int\n" );91 for ( uli = 1; uli != 0; uli <<= 1 ) {92 ulir1 = floor( uli, uli ); ulir2 = floor( uli + 2hh, uli ); ulir3 = floor( -uli - 2hh, uli );93 printf( "floor(%lu, %lu) = %lu, floor(%lu, %lu) = %lu, floor(%lu, %lu) = %lu\n", uli, uli, ulir1, uli + 2h, uli, ulir2, -uli - 2h, uli, ulir3 );94 } // for95 printf( "\n" );96 97 printf( "long long int\n" );98 for ( lli = 1; lli != 0; lli <<= 1 ) {99 llir1 = floor( lli, lli ); llir2 = floor( lli + 2hh, lli ); llir3 = floor( -lli - 2hh, lli );100 printf( "floor(%lld, %lld) = %lld, floor(%lld, %lld) = %lld, floor(%lld, %lld) = %lld\n", lli, lli, llir1, lli + 2h, lli, llir2, -lli - 2h, lli, llir3 );101 } // for102 printf( "\n" );103 104 printf( "unsigned long long int\n" );105 for ( ulli = 1; ulli != 0; ulli <<= 1 ) {106 ullir1 = floor( ulli, ulli ); ullir2 = floor( ulli + 2hh, ulli ); ullir3 = floor( -ulli - 2hh, ulli );107 printf( "floor(%llu, %llu) = %llu, floor(%llu, %llu) = %llu, floor(%llu, %llu) = %llu\n", ulli, ulli, ullir1, ulli + 2h, ulli, ullir2, -ulli - 2h, ulli, ullir3 );108 } // for109 printf( "\n" );110 #endif // 0111 //============================================================112 #if 1113 sout | nl | "ceiling_div" | nl | nl;114 115 printf( "signed char\n" );116 for ( sc = 1; sc != 0; sc <<= 1 ) {117 scr1 = ceiling_div( sc, sc ); scr2 = ceiling_div( sc + 2hh, sc ); scr3 = ceiling_div( -sc - 2hh, sc );118 printf( "ceiling_div(%hhd, %hhd) = %hhd, ceiling_div(%hhd, %hhd) = %hhd, ceiling_div(%hhd, %hhd) = %hhd\n", sc, sc, scr1, sc + 2hh, sc, scr2, -sc - 2hh, sc, scr3 );119 } // for120 printf( "\n" );121 122 printf( "unsigned char\n" );123 for ( uc = 1; uc != 0; uc <<= 1 ) {124 ucr1 = ceiling_div( uc, uc ); ucr2 = ceiling_div( uc + 2hh, uc ); ucr3 = ceiling_div( -uc - 2hh, uc );125 printf( "ceiling_div(%hhu, %hhu) = %hhu, ceiling_div(%hhu, %hhu) = %hhu, ceiling_div(%hhu, %hhu) = %hhu\n", uc, uc, ucr1, uc + 2uhh, uc, ucr2, -uc - 2uhh, uc, ucr3 );126 } // for127 printf( "\n" );128 129 printf( "short int\n" );130 for ( si = 1; si != 0; si <<= 1 ) {131 sir1 = ceiling_div( si, si ); sir2 = ceiling_div( si + 2hh, si ); sir3 = ceiling_div( -si - 2hh, si );132 printf( "ceiling_div(%hd, %hd) = %hd, ceiling_div(%hd, %hd) = %hd, ceiling_div(%hd, %hd) = %hd\n", si, si, sir1, si + 2h, si, sir2, -si - 2h, si, sir3 );133 } // for134 printf( "\n" );135 136 printf( "unsigned short int\n" );137 for ( usi = 1; usi != 0; usi <<= 1 ) {138 usir1 = ceiling_div( usi, usi ); usir2 = ceiling_div( usi + 2hh, usi ); usir3 = ceiling_div( -usi - 2hh, usi );139 printf( "ceiling_div(%hu, %hu) = %hu, ceiling_div(%hu, %hu) = %hu, ceiling_div(%hu, %hu) = %hu\n", usi, usi, usir1, usi + 2uh, usi, usir2, -usi - 2uh, usi, usir3 );140 } // for141 printf( "\n" );142 143 printf( "int\n" );144 for ( i = 1; i != 0; i <<= 1 ) {145 ir1 = ceiling_div( i, i ); ir2 = ceiling_div( i + 2hh, i ); ir3 = ceiling_div( -i - 2hh, i );146 printf( "ceiling_div(%d, %d) = %d, ceiling_div(%d, %d) = %d, ceiling_div(%d, %d) = %d\n", i, i, ir1, i + 2h, i, ir2, -i - 2h, i, ir3 );147 } // for148 printf( "\n" );149 150 printf( "unsigned int\n" );151 for ( ui = 1; ui != 0; ui <<= 1 ) {152 uir1 = ceiling_div( ui, ui ); uir2 = ceiling_div( ui + 2hh, ui ); uir3 = ceiling_div( -ui - 2hh, ui );153 printf( "ceiling_div(%u, %u) = %u, ceiling_div(%u, %u) = %u, ceiling_div(%u, %u) = %u\n", ui, ui, uir1, ui + 2h, ui, uir2, -ui - 2h, ui, uir3 );154 } // for155 printf( "\n" );156 157 printf( "long int\n" );158 for ( li = 1; li != 0; li <<= 1 ) {159 lir1 = ceiling_div( li, li ); lir2 = ceiling_div( li + 2hh, li ); lir3 = ceiling_div( -li - 2hh, li );160 printf( "ceiling_div(%ld, %ld) = %ld, ceiling_div(%ld, %ld) = %ld, ceiling_div(%ld, %ld) = %ld\n", li, li, lir1, li + 2h, li, lir2, -li - 2h, li, lir3 );161 } // for162 printf( "\n" );163 164 printf( "unsigned long int\n" );165 for ( uli = 1; uli != 0; uli <<= 1 ) {166 ulir1 = ceiling_div( uli, uli ); ulir2 = ceiling_div( uli + 2hh, uli ); ulir3 = ceiling_div( -uli - 2hh, uli );167 printf( "ceiling_div(%lu, %lu) = %lu, ceiling_div(%lu, %lu) = %lu, ceiling_div(%lu, %lu) = %lu\n", uli, uli, ulir1, uli + 2h, uli, ulir2, -uli - 2h, uli, ulir3 );168 } // for169 printf( "\n" );170 171 printf( "long long int\n" );172 for ( lli = 1; lli != 0; lli <<= 1 ) {173 llir1 = ceiling_div( lli, lli ); llir2 = ceiling_div( lli + 2hh, lli ); llir3 = ceiling_div( -lli - 2hh, lli );174 printf( "ceiling_div(%lld, %lld) = %lld, ceiling_div(%lld, %lld) = %lld, ceiling_div(%lld, %lld) = %lld\n", lli, lli, llir1, lli + 2h, lli, llir2, -lli - 2h, lli, llir3 );175 } // for176 printf( "\n" );177 178 printf( "unsigned long long int\n" );179 for ( ulli = 1; ulli != 0; ulli <<= 1 ) {180 ullir1 = ceiling_div( ulli, ulli ); ullir2 = ceiling_div( ulli + 2hh, ulli ); ullir3 = ceiling_div( -ulli - 2hh, ulli );181 printf( "ceiling_div(%llu, %llu) = %llu, ceiling_div(%llu, %llu) = %llu, ceiling_div(%llu, %llu) = %llu\n", ulli, ulli, ullir1, ulli + 2h, ulli, ullir2, -ulli - 2h, ulli, ullir3 );182 } // for183 printf( "\n" );184 #endif // 0185 //============================================================186 #if 1187 sout | nl | "ceiling" | nl | nl;188 189 printf( "signed char\n" );190 for ( sc = 1; sc != 0; sc <<= 1 ) {191 scr1 = ceiling( sc, sc ); scr2 = ceiling( sc + 2hh, sc ); scr3 = ceiling( -sc - 2hh, sc );192 printf( "ceiling(%hhd, %hhd) = %hhd, ceiling(%hhd, %hhd) = %hhd, ceiling(%hhd, %hhd) = %hhd\n", sc, sc, scr1, sc + 2hh, sc, scr2, -sc - 2hh, sc, scr3 );193 } // for194 printf( "\n" );195 196 printf( "unsigned char\n" );197 for ( uc = 1; uc != 0; uc <<= 1 ) {198 ucr1 = ceiling( uc, uc ); ucr2 = ceiling( uc + 2hh, uc ); ucr3 = ceiling( -uc - 2hh, uc );199 printf( "ceiling(%hhu, %hhu) = %hhu, ceiling(%hhu, %hhu) = %hhu, ceiling(%hhu, %hhu) = %hhu\n", uc, uc, ucr1, uc + 2uhh, uc, ucr2, -uc - 2uhh, uc, ucr3 );200 } // for201 printf( "\n" );202 203 printf( "short int\n" );204 for ( si = 1; si != 0; si <<= 1 ) {205 sir1 = ceiling( si, si ); sir2 = ceiling( si + 2hh, si ); sir3 = ceiling( -si - 2hh, si );206 printf( "ceiling(%hd, %hd) = %hd, ceiling(%hd, %hd) = %hd, ceiling(%hd, %hd) = %hd\n", si, si, sir1, si + 2h, si, sir2, -si - 2h, si, sir3 );207 } // for208 printf( "\n" );209 210 printf( "unsigned short int\n" );211 for ( usi = 1; usi != 0; usi <<= 1 ) {212 usir1 = ceiling( usi, usi ); usir2 = ceiling( usi + 2hh, usi ); usir3 = ceiling( -usi - 2hh, usi );213 printf( "ceiling(%hu, %hu) = %hu, ceiling(%hu, %hu) = %hu, ceiling(%hu, %hu) = %hu\n", usi, usi, usir1, usi + 2uh, usi, usir2, -usi - 2uh, usi, usir3 );214 } // for215 printf( "\n" );216 217 printf( "int\n" );218 for ( i = 1; i != 0; i <<= 1 ) {219 ir1 = ceiling( i, i ); ir2 = ceiling( i + 2hh, i ); ir3 = ceiling( -i - 2hh, i );220 printf( "ceiling(%d, %d) = %d, ceiling(%d, %d) = %d, ceiling(%d, %d) = %d\n", i, i, ir1, i + 2h, i, ir2, -i - 2h, i, ir3 );221 } // for222 printf( "\n" );223 224 printf( "unsigned int\n" );225 for ( ui = 1; ui != 0; ui <<= 1 ) {226 uir1 = ceiling( ui, ui ); uir2 = ceiling( ui + 2hh, ui ); uir3 = ceiling( -ui - 2hh, ui );227 printf( "ceiling(%u, %u) = %u, ceiling(%u, %u) = %u, ceiling(%u, %u) = %u\n", ui, ui, uir1, ui + 2h, ui, uir2, -ui - 2h, ui, uir3 );228 } // for229 printf( "\n" );230 231 printf( "long int\n" );232 for ( li = 1; li != 0; li <<= 1 ) {233 lir1 = ceiling( li, li ); lir2 = ceiling( li + 2hh, li ); lir3 = ceiling( -li - 2hh, li );234 printf( "ceiling(%ld, %ld) = %ld, ceiling(%ld, %ld) = %ld, ceiling(%ld, %ld) = %ld\n", li, li, lir1, li + 2h, li, lir2, -li - 2h, li, lir3 );235 } // for236 printf( "\n" );237 238 printf( "unsigned long int\n" );239 for ( uli = 1; uli != 0; uli <<= 1 ) {240 ulir1 = ceiling( uli, uli ); ulir2 = ceiling( uli + 2hh, uli ); ulir3 = ceiling( -uli - 2hh, uli );241 printf( "ceiling(%lu, %lu) = %lu, ceiling(%lu, %lu) = %lu, ceiling(%lu, %lu) = %lu\n", uli, uli, ulir1, uli + 2h, uli, ulir2, -uli - 2h, uli, ulir3 );242 } // for243 printf( "\n" );244 245 printf( "long long int\n" );246 for ( lli = 1; lli != 0; lli <<= 1 ) {247 llir1 = ceiling( lli, lli ); llir2 = ceiling( lli + 2hh, lli ); llir3 = ceiling( -lli - 2hh, lli );248 printf( "ceiling(%lld, %lld) = %lld, ceiling(%lld, %lld) = %lld, ceiling(%lld, %lld) = %lld\n", lli, lli, llir1, lli + 2h, lli, llir2, -lli - 2h, lli, llir3 );249 } // for250 printf( "\n" );251 252 printf( "unsigned long long int\n" );253 for ( ulli = 1; ulli != 0; ulli <<= 1 ) {254 ullir1 = ceiling( ulli, ulli ); ullir2 = ceiling( ulli + 2hh, ulli ); ullir3 = ceiling( -ulli - 2hh, ulli );255 printf( "ceiling(%llu, %llu) = %llu, ceiling(%llu, %llu) = %llu, ceiling(%llu, %llu) = %llu\n", ulli, ulli, ullir1, ulli + 2h, ulli, ullir2, -ulli - 2h, ulli, ullir3 );256 } // for257 printf( "\n" );258 #endif // 0259 25 260 26 sout | "floor:" | floor( 1.2F ) | floor( 1.2D ) | floor( 1.2L ); … … 303 69 // Local Variables: // 304 70 // tab-width: 4 // 305 // compile-command: "cfa math 4.cfa" //71 // compile-command: "cfa math3.cfa" // 306 72 // End: // -
tests/pybin/settings.py
r25a1cb0 r8d8ac3b 27 27 'x86_64' : 'x64', 28 28 'x86' : 'x86', 29 'aarch64' : 'arm64', 30 'arm64' : 'arm64', 31 'ARM64' : 'arm64', 29 'aarch64' : 'arm', 32 30 'i386' : 'x86', 33 31 'i486' : 'x86', 34 32 'i686' : 'x86', 35 33 'Intel 80386' : 'x86', 36 'arm' : 'arm32', 37 'ARM' : 'arm32', 38 'arm32' : 'arm32', 39 'ARM32' : 'arm32', 34 'arm' : 'arm', 35 'ARM' : 'arm', 40 36 } 41 37 42 38 CrossCompileFlags = { 43 'x64' : 'ARCH_FLAGS=-m64', 44 'x86' : 'ARCH_FLAGS=-m32', 45 'arm64': 'ARCH_FLAGS=', 46 'arm32': 'ARCH_FLAGS=', 39 'x64' : 'ARCH_FLAGS=-m64', 40 'x86' : 'ARCH_FLAGS=-m32', 47 41 } 48 42 -
tests/pybin/tools.py
r25a1cb0 r8d8ac3b 238 238 # helper function to check if a files contains only a specific string 239 239 def file_contains_only(file, text) : 240 with open(file , encoding="latin-1") as f: # use latin-1 so all chars mean something.240 with open(file) as f: 241 241 ff = f.read().strip() 242 242 result = ff == text.strip() -
tests/raii/.expect/ctor-autogen-ERR1.txt
r25a1cb0 r8d8ac3b 7 7 x: signed int 8 8 ... returning nothing 9 10 with resolved type: 11 function 12 ... with parameters 13 _dst: reference to instance of struct Managed with body 1 14 x: signed int 15 ... returning nothing 9 16 10 17 ... deleted by: ?{}: function … … 26 33 27 34 35 with resolved type: 36 pointer to function 37 ... with parameters 38 intrinsic reference to signed int 39 intrinsic signed int 40 ... returning 41 _retval__operator_assign: signed int 42 ... with attributes: 43 Attribute with name: unused 44 45 28 46 ... to arguments 29 47 Generated Cast of: … … 33 51 Generated Cast of: 34 52 Variable Expression: m: reference to instance of struct Managed with body 1 53 with resolved type: 54 reference to instance of struct Managed with body 1 35 55 ... to: 36 56 instance of struct Managed with body 1 57 with resolved type: 58 instance of struct Managed with body 1 59 with resolved type: 60 signed int 37 61 ... to: 62 reference to signed int 63 with resolved type: 38 64 reference to signed int 39 65 Generated Cast of: 40 66 constant expression (0 0: zero_t) 67 with resolved type: 68 zero_t 41 69 ... to: 42 70 signed int 71 with resolved type: 72 signed int 43 73 74 with resolved type: 75 signed int 44 76 ... with environment: 45 77 Types: … … 50 82 Generated Cast of: 51 83 Variable Expression: x: instance of struct Managed with body 1 84 with resolved type: 85 instance of struct Managed with body 1 52 86 ... to: 53 87 reference to instance of struct Managed with body 1 88 with resolved type: 89 reference to instance of struct Managed with body 1 54 90 constant expression (123 123: signed int) 91 with resolved type: 92 signed int 55 93 94 with resolved type: 95 void 56 96 ... to: nothing 97 with resolved type: 98 void -
tests/test.py
r25a1cb0 r8d8ac3b 194 194 if success(retcode): 195 195 if settings.generating : 196 # if we are o nly generating the output we still need to check that the test actually exists196 # if we are ounly generating the output we still need to check that the test actually exists 197 197 if no_rule(out_file, test.target()) : 198 198 retcode = 1 -
tests/warnings/.expect/self-assignment.txt
r25a1cb0 r8d8ac3b 1 1 warnings/self-assignment.cfa:29:1 warning: self assignment of expression: Generated Cast of: 2 2 Variable Expression: j: signed int 3 with resolved type: 4 signed int 3 5 ... to: 6 reference to signed int 7 with resolved type: 4 8 reference to signed int 5 9 warnings/self-assignment.cfa:30:1 warning: self assignment of expression: Generated Cast of: 6 10 Variable Expression: s: instance of struct S with body 1 11 with resolved type: 12 instance of struct S with body 1 7 13 ... to: 14 reference to instance of struct S with body 1 15 with resolved type: 8 16 reference to instance of struct S with body 1 9 17 warnings/self-assignment.cfa:31:1 warning: self assignment of expression: Generated Cast of: … … 12 20 ... from aggregate: 13 21 Variable Expression: s: instance of struct S with body 1 22 with resolved type: 23 instance of struct S with body 1 24 with resolved type: 25 signed int 14 26 ... to: 27 reference to signed int 28 with resolved type: 15 29 reference to signed int 16 30 warnings/self-assignment.cfa:32:1 warning: self assignment of expression: Generated Cast of: … … 22 36 ... from aggregate: 23 37 Variable Expression: t: instance of struct T with body 1 38 with resolved type: 39 instance of struct T with body 1 40 with resolved type: 41 instance of struct S with body 1 42 with resolved type: 43 signed int 24 44 ... to: 25 45 reference to signed int 46 with resolved type: 47 reference to signed int -
tools/Makefile.am
r25a1cb0 r8d8ac3b 18 18 ACLOCAL_AMFLAGS = -I automake 19 19 20 EXTRA_DIST = build/distcc_hash build/push2dist.sh 20 AM_CFLAGS = -Wall -Wextra -O2 -g 21 21 22 22 noinst_PROGRAMS = busy catchsig repeat watchdog 23 AM_CFLAGS = -Wall -Wextra -O2 -g 23 24 busy_SOURCES = busy.c 24 25 busy_LDFLAGS = -pthread 25 26 nodist_busy_SOURCES = busy.c 27 nodist_catchsig_SOURCES = catchsig.c 28 nodist_repeat_SOURCES = repeat.c 29 nodist_watchdog_SOURCES = watchdog.c 26 catchsig_SOURCES = catchsig.c 27 repeat_SOURCES = repeat.c 28 watchdog_SOURCES = watchdog.c -
tools/build/cfa.m4
r25a1cb0 r8d8ac3b 66 66 "x86-64" ) cannon_arch_name="x64";; 67 67 "x86_64" ) cannon_arch_name="x64";; 68 "aarch64" ) cannon_arch_name="arm64";; 69 "arm4" ) cannon_arch_name="arm64";; 70 "ARM64" ) cannon_arch_name="arm64";; 68 "aarch64" ) cannon_arch_name="arm";; 71 69 "x86" ) cannon_arch_name="x86";; 72 70 "i386" ) cannon_arch_name="x86";; … … 74 72 "i686" ) cannon_arch_name="x86";; 75 73 "Intel 80386") cannon_arch_name="x86";; 76 "arm" ) cannon_arch_name="arm32";; 77 "ARM" ) cannon_arch_name="arm32";; 78 "arm32" ) cannon_arch_name="arm32";; 79 "ARM32" ) cannon_arch_name="arm32";; 80 "armv7l" ) cannon_arch_name="arm32";; 74 "arm" ) cannon_arch_name="arm";; 75 "ARM" ) cannon_arch_name="arm";; 76 "armv7l" ) cannon_arch_name="arm";; 81 77 *) 82 78 >&2 echo "Unknown architecture " $arch_name; -
tools/prettyprinter/Makefile.am
r25a1cb0 r8d8ac3b 30 30 tools_prettyprinter_PROGRAMS = pretty 31 31 tools_prettyprinterdir = ../ 32 nodist_pretty_SOURCES = ${SRC}32 pretty_SOURCES = ${SRC} 33 33 pretty_LDADD = ${LEXLIB} -ldl # yywrap 34 34 pretty_CXXFLAGS = -Wno-deprecated -Wall -DYY_NO_INPUT -O2 -g -std=c++14
Note:
See TracChangeset
for help on using the changeset viewer.