From 5acad2378804b1686c627266a50617bb199aebf4 Mon Sep 17 00:00:00 2001 From: Armin Friedl Date: Thu, 5 Dec 2019 00:35:51 +0100 Subject: [PATCH] Day 4 --- .../@usr@include@alloca.h | 40 + .../@usr@include@alloca.h.blob | Bin 0 -> 2585 bytes .../@usr@include@bits@byteswap.h | 79 + .../@usr@include@bits@byteswap.h.blob | Bin 0 -> 3476 bytes .../@usr@include@bits@endian.h | 7 + .../@usr@include@bits@endian.h.blob | Bin 0 -> 2136 bytes .../@usr@include@bits@floatn-common.h | 329 ++ .../@usr@include@bits@floatn-common.h.blob | Bin 0 -> 6251 bytes .../@usr@include@bits@floatn.h | 121 + .../@usr@include@bits@floatn.h.blob | Bin 0 -> 2566 bytes .../@usr@include@bits@libc-header-start.h | 70 + ...@usr@include@bits@libc-header-start.h.blob | Bin 0 -> 2476 bytes .../@usr@include@bits@long-double.h | 20 + .../@usr@include@bits@long-double.h.blob | Bin 0 -> 2019 bytes .../@usr@include@bits@pthreadtypes-arch.h | 106 + ...@usr@include@bits@pthreadtypes-arch.h.blob | Bin 0 -> 5356 bytes .../@usr@include@bits@pthreadtypes.h | 121 + .../@usr@include@bits@pthreadtypes.h.blob | Bin 0 -> 6834 bytes .../@usr@include@bits@select.h | 63 + .../@usr@include@bits@select.h.blob | Bin 0 -> 2639 bytes .../@usr@include@bits@stdint-intn.h | 29 + .../@usr@include@bits@stdint-intn.h.blob | Bin 0 -> 2630 bytes .../@usr@include@bits@stdio_lim.h | 39 + .../@usr@include@bits@stdio_lim.h.blob | Bin 0 -> 2415 bytes .../@usr@include@bits@stdlib-float.h | 29 + .../@usr@include@bits@stdlib-float.h.blob | Bin 0 -> 2026 bytes .../@usr@include@bits@sys_errlist.h | 32 + .../@usr@include@bits@sys_errlist.h.blob | Bin 0 -> 2176 bytes .../@usr@include@bits@thread-shared-types.h | 198 + ...sr@include@bits@thread-shared-types.h.blob | Bin 0 -> 6920 bytes .../@usr@include@bits@time64.h | 36 + .../@usr@include@bits@time64.h.blob | Bin 0 -> 2215 bytes .../@usr@include@bits@timesize.h | 25 + .../@usr@include@bits@timesize.h.blob | Bin 0 -> 2125 bytes .../@usr@include@bits@types.h | 224 + .../@usr@include@bits@types.h.blob | Bin 0 -> 9886 bytes .../@usr@include@bits@types@FILE.h | 9 + .../@usr@include@bits@types@FILE.h.blob | Bin 0 -> 2288 bytes .../@usr@include@bits@types@__FILE.h | 7 + .../@usr@include@bits@types@__FILE.h.blob | Bin 0 -> 2225 bytes .../@usr@include@bits@types@__fpos64_t.h | 16 + .../@usr@include@bits@types@__fpos64_t.h.blob | Bin 0 -> 2837 bytes .../@usr@include@bits@types@__fpos_t.h | 16 + .../@usr@include@bits@types@__fpos_t.h.blob | Bin 0 -> 2802 bytes .../@usr@include@bits@types@__locale_t.h | 44 + .../@usr@include@bits@types@__locale_t.h.blob | Bin 0 -> 3521 bytes .../@usr@include@bits@types@__mbstate_t.h | 23 + ...@usr@include@bits@types@__mbstate_t.h.blob | Bin 0 -> 2807 bytes .../@usr@include@bits@types@__sigset_t.h | 10 + .../@usr@include@bits@types@__sigset_t.h.blob | Bin 0 -> 2437 bytes .../@usr@include@bits@types@clock_t.h | 9 + .../@usr@include@bits@types@clock_t.h.blob | Bin 0 -> 2265 bytes .../@usr@include@bits@types@clockid_t.h | 9 + .../@usr@include@bits@types@clockid_t.h.blob | Bin 0 -> 2295 bytes ...include@bits@types@cookie_io_functions_t.h | 63 + ...de@bits@types@cookie_io_functions_t.h.blob | Bin 0 -> 4791 bytes .../@usr@include@bits@types@locale_t.h | 26 + .../@usr@include@bits@types@locale_t.h.blob | Bin 0 -> 2697 bytes .../@usr@include@bits@types@sigset_t.h | 9 + .../@usr@include@bits@types@sigset_t.h.blob | Bin 0 -> 2365 bytes .../@usr@include@bits@types@struct_FILE.h | 120 + ...@usr@include@bits@types@struct_FILE.h.blob | Bin 0 -> 6691 bytes .../@usr@include@bits@types@struct_timespec.h | 15 + ...@include@bits@types@struct_timespec.h.blob | Bin 0 -> 2601 bytes .../@usr@include@bits@types@struct_timeval.h | 13 + ...r@include@bits@types@struct_timeval.h.blob | Bin 0 -> 2567 bytes .../@usr@include@bits@types@time_t.h | 9 + .../@usr@include@bits@types@time_t.h.blob | Bin 0 -> 2260 bytes .../@usr@include@bits@types@timer_t.h | 9 + .../@usr@include@bits@types@timer_t.h.blob | Bin 0 -> 2282 bytes .../@usr@include@bits@typesizes.h | 95 + .../@usr@include@bits@typesizes.h.blob | Bin 0 -> 5717 bytes .../@usr@include@bits@uintn-identity.h | 50 + .../@usr@include@bits@uintn-identity.h.blob | Bin 0 -> 3042 bytes .../@usr@include@bits@waitflags.h | 39 + .../@usr@include@bits@waitflags.h.blob | Bin 0 -> 2591 bytes .../@usr@include@bits@waitstatus.h | 59 + .../@usr@include@bits@waitstatus.h.blob | Bin 0 -> 3151 bytes .../@usr@include@bits@wordsize.h | 17 + .../@usr@include@bits@wordsize.h.blob | Bin 0 -> 2267 bytes .../@usr@include@c++@9@bits@std_abs.h | 111 + .../@usr@include@c++@9@bits@std_abs.h.blob | Bin 0 -> 5162 bytes .../@usr@include@c++@9@cstdlib | 261 ++ .../@usr@include@c++@9@cstdlib.blob | Bin 0 -> 8595 bytes .../@usr@include@c++@9@stdlib.h | 86 + .../@usr@include@c++@9@stdlib.h.blob | Bin 0 -> 6340 bytes ...c++@9@x86_64-redhat-linux@bits@c++config.h | 4137 +++++++++++++++++ ...@x86_64-redhat-linux@bits@c++config.h.blob | Bin 0 -> 34986 bytes ...+@9@x86_64-redhat-linux@bits@cpu_defines.h | 33 + ...86_64-redhat-linux@bits@cpu_defines.h.blob | Bin 0 -> 2450 bytes ...++@9@x86_64-redhat-linux@bits@os_defines.h | 52 + ...x86_64-redhat-linux@bits@os_defines.h.blob | Bin 0 -> 2705 bytes .../@usr@include@endian.h | 97 + .../@usr@include@endian.h.blob | Bin 0 -> 3858 bytes .../@usr@include@features.h | 477 ++ .../@usr@include@features.h.blob | Bin 0 -> 4958 bytes .../@usr@include@gnu@stubs-64.h | 23 + .../@usr@include@gnu@stubs-64.h.blob | Bin 0 -> 2979 bytes .../@usr@include@gnu@stubs.h | 14 + .../@usr@include@gnu@stubs.h.blob | Bin 0 -> 2063 bytes .../@usr@include@stdc-predef.h | 60 + .../@usr@include@stdc-predef.h.blob | Bin 0 -> 2352 bytes .../@usr@include@stdio.h | 875 ++++ .../@usr@include@stdio.h.blob | Bin 0 -> 23492 bytes .../@usr@include@stdlib.h | 1022 ++++ .../@usr@include@stdlib.h.blob | Bin 0 -> 27264 bytes .../@usr@include@sys@cdefs.h | 525 +++ .../@usr@include@sys@cdefs.h.blob | Bin 0 -> 9260 bytes .../@usr@include@sys@select.h | 128 + .../@usr@include@sys@select.h.blob | Bin 0 -> 5358 bytes .../@usr@include@sys@types.h | 232 + .../@usr@include@sys@types.h.blob | Bin 0 -> 7751 bytes .../@usr@lib64@clang@8.0.0@include@stdarg.h | 51 + ...sr@lib64@clang@8.0.0@include@stdarg.h.blob | Bin 0 -> 2871 bytes .../@usr@lib64@clang@8.0.0@include@stddef.h | 137 + ...sr@lib64@clang@8.0.0@include@stddef.h.blob | Bin 0 -> 2339 bytes .../neat_macro.h | 74 + .../neat_macro.h.blob | Bin 0 -> 3505 bytes .../secure_container.c | 68 + .../secure_container.c.blob | Bin 0 -> 4604 bytes day4/1/meson.build | 2 + day4/1/neat_macro.h | 74 + day4/1/secure_container.c | 68 + 123 files changed, 10842 insertions(+) create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@alloca.h create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@alloca.h.blob create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@byteswap.h create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@byteswap.h.blob create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@endian.h create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@endian.h.blob create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@floatn-common.h create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@floatn-common.h.blob create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@floatn.h create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@floatn.h.blob create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@libc-header-start.h create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@libc-header-start.h.blob create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@long-double.h create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@long-double.h.blob create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@pthreadtypes-arch.h create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@pthreadtypes-arch.h.blob create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@pthreadtypes.h create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@pthreadtypes.h.blob create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@select.h create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@select.h.blob create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@stdint-intn.h create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@stdint-intn.h.blob create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@stdio_lim.h create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@stdio_lim.h.blob create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@stdlib-float.h create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@stdlib-float.h.blob create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@sys_errlist.h create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@sys_errlist.h.blob create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@thread-shared-types.h create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@thread-shared-types.h.blob create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@time64.h create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@time64.h.blob create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@timesize.h create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@timesize.h.blob create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types.h create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types.h.blob create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@FILE.h create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@FILE.h.blob create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@__FILE.h create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@__FILE.h.blob create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@__fpos64_t.h create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@__fpos64_t.h.blob create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@__fpos_t.h create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@__fpos_t.h.blob create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@__locale_t.h create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@__locale_t.h.blob create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@__mbstate_t.h create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@__mbstate_t.h.blob create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@__sigset_t.h create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@__sigset_t.h.blob create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@clock_t.h create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@clock_t.h.blob create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@clockid_t.h create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@clockid_t.h.blob create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@cookie_io_functions_t.h create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@cookie_io_functions_t.h.blob create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@locale_t.h create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@locale_t.h.blob create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@sigset_t.h create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@sigset_t.h.blob create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@struct_FILE.h create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@struct_FILE.h.blob create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@struct_timespec.h create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@struct_timespec.h.blob create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@struct_timeval.h create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@struct_timeval.h.blob create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@time_t.h create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@time_t.h.blob create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@timer_t.h create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@timer_t.h.blob create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@typesizes.h create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@typesizes.h.blob create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@uintn-identity.h create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@uintn-identity.h.blob create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@waitflags.h create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@waitflags.h.blob create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@waitstatus.h create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@waitstatus.h.blob create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@wordsize.h create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@wordsize.h.blob create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@c++@9@bits@std_abs.h create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@c++@9@bits@std_abs.h.blob create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@c++@9@cstdlib create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@c++@9@cstdlib.blob create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@c++@9@stdlib.h create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@c++@9@stdlib.h.blob create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@c++@9@x86_64-redhat-linux@bits@c++config.h create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@c++@9@x86_64-redhat-linux@bits@c++config.h.blob create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@c++@9@x86_64-redhat-linux@bits@cpu_defines.h create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@c++@9@x86_64-redhat-linux@bits@cpu_defines.h.blob create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@c++@9@x86_64-redhat-linux@bits@os_defines.h create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@c++@9@x86_64-redhat-linux@bits@os_defines.h.blob create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@endian.h create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@endian.h.blob create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@features.h create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@features.h.blob create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@gnu@stubs-64.h create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@gnu@stubs-64.h.blob create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@gnu@stubs.h create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@gnu@stubs.h.blob create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@stdc-predef.h create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@stdc-predef.h.blob create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@stdio.h create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@stdio.h.blob create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@stdlib.h create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@stdlib.h.blob create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@sys@cdefs.h create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@sys@cdefs.h.blob create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@sys@select.h create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@sys@select.h.blob create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@sys@types.h create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@sys@types.h.blob create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@lib64@clang@8.0.0@include@stdarg.h create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@lib64@clang@8.0.0@include@stdarg.h.blob create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@lib64@clang@8.0.0@include@stddef.h create mode 100644 day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@lib64@clang@8.0.0@include@stddef.h.blob create mode 100644 day4/1/.ccls-cache/@home@armin@dev@playground@aoc-2019@day4@1/neat_macro.h create mode 100644 day4/1/.ccls-cache/@home@armin@dev@playground@aoc-2019@day4@1/neat_macro.h.blob create mode 100644 day4/1/.ccls-cache/@home@armin@dev@playground@aoc-2019@day4@1/secure_container.c create mode 100644 day4/1/.ccls-cache/@home@armin@dev@playground@aoc-2019@day4@1/secure_container.c.blob create mode 100644 day4/1/meson.build create mode 100644 day4/1/neat_macro.h create mode 100644 day4/1/secure_container.c diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@alloca.h b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@alloca.h new file mode 100644 index 0000000..ff85901 --- /dev/null +++ b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@alloca.h @@ -0,0 +1,40 @@ +/* Copyright (C) 1992-2019 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _ALLOCA_H +#define _ALLOCA_H 1 + +#include + +#define __need_size_t +#include + +__BEGIN_DECLS + +/* Remove any previous definitions. */ +#undef alloca + +/* Allocate a block that will be freed when the calling function exits. */ +extern void *alloca (size_t __size) __THROW; + +#ifdef __GNUC__ +# define alloca(size) __builtin_alloca (size) +#endif /* GCC. */ + +__END_DECLS + +#endif /* alloca.h */ diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@alloca.h.blob b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@alloca.h.blob new file mode 100644 index 0000000000000000000000000000000000000000..ef9af846d5579d461e877c0ee5934217bb02f6ac GIT binary patch literal 2585 zcmbtWO^6gn6z<*_LD+*VWWhN&oz<1y!JgjHWs)2ME}}88lH?*GITY2^)icF*R}WRy zJB~+>LLes*@hpa%0=XpM#he0R6Ua57Nbn$r97Z26*7qUZqQ5Uprf)}Mgh&3e{Q4oQ4rC=X3z>WXSw2pWztX~ zxoR@!9hOkpc}oz#pQ#-oJANb-XC_mFkKZ6FrxoN{1wyhUk9ZIYqXTWCM1+2vWYjdf zMXs}6X3*n0AS4a7p@tLd`W(vg2JDhkLsH6AhCDak-~VZr$A%$&mZfPX(d{X6Oa>hT z3Y1o(aqm^5&B%z9YjK0m&n6rguKToy9yWnfcs$paT~1*w*u(ipWMlwzxgc zFp=__n6Bb9@^zOg9{D!j3g?loFrBJoK%&g=0xnlRC{S7b&1t`doCtT9CWiz7VzK#` zC)6u4vYGf)vF;&g0oJIhhe?J5oaJF+H98}4E+av$psK{FMMrZ}@Kg)0)DtS&-VE$c z3O;OZG&c^`0*D#}fl2QD_4R`(J)>GQPhj()xm+$d6B$WFiZ12Stbjmx(4uLhi+igL}Wr zC7g4Q0T5jNUYtv2L?%6c9hA^?-~lMNUaOyR-MUl12LB8jzkNUWckkTiI86|qH^uH@ zTZwVbo`n~S=Rf>%>y3K*h)MVj^FO8v$_nnOX|7zE5^Q%!LPj0>Ua%cGT%PF=K&WYLu_kZy~)mQ)k literal 0 HcmV?d00001 diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@byteswap.h b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@byteswap.h new file mode 100644 index 0000000..83731c9 --- /dev/null +++ b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@byteswap.h @@ -0,0 +1,79 @@ +/* Macros and inline functions to swap the order of bytes in integer values. + Copyright (C) 1997-2019 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#if !defined _BYTESWAP_H && !defined _NETINET_IN_H && !defined _ENDIAN_H +# error "Never use directly; include instead." +#endif + +#ifndef _BITS_BYTESWAP_H +#define _BITS_BYTESWAP_H 1 + +#include +#include + +/* Swap bytes in 16-bit value. */ +#define __bswap_constant_16(x) \ + ((__uint16_t) ((((x) >> 8) & 0xff) | (((x) & 0xff) << 8))) + +static __inline __uint16_t +__bswap_16 (__uint16_t __bsx) +{ +#if __GNUC_PREREQ (4, 8) + return __builtin_bswap16 (__bsx); +#else + return __bswap_constant_16 (__bsx); +#endif +} + +/* Swap bytes in 32-bit value. */ +#define __bswap_constant_32(x) \ + ((((x) & 0xff000000u) >> 24) | (((x) & 0x00ff0000u) >> 8) \ + | (((x) & 0x0000ff00u) << 8) | (((x) & 0x000000ffu) << 24)) + +static __inline __uint32_t +__bswap_32 (__uint32_t __bsx) +{ +#if __GNUC_PREREQ (4, 3) + return __builtin_bswap32 (__bsx); +#else + return __bswap_constant_32 (__bsx); +#endif +} + +/* Swap bytes in 64-bit value. */ +#define __bswap_constant_64(x) \ + ((((x) & 0xff00000000000000ull) >> 56) \ + | (((x) & 0x00ff000000000000ull) >> 40) \ + | (((x) & 0x0000ff0000000000ull) >> 24) \ + | (((x) & 0x000000ff00000000ull) >> 8) \ + | (((x) & 0x00000000ff000000ull) << 8) \ + | (((x) & 0x0000000000ff0000ull) << 24) \ + | (((x) & 0x000000000000ff00ull) << 40) \ + | (((x) & 0x00000000000000ffull) << 56)) + +__extension__ static __inline __uint64_t +__bswap_64 (__uint64_t __bsx) +{ +#if __GNUC_PREREQ (4, 3) + return __builtin_bswap64 (__bsx); +#else + return __bswap_constant_64 (__bsx); +#endif +} + +#endif /* _BITS_BYTESWAP_H */ diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@byteswap.h.blob b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@byteswap.h.blob new file mode 100644 index 0000000000000000000000000000000000000000..4a06054619d26aad368fed06d141e62793194b80 GIT binary patch literal 3476 zcmbtWU1%It6uz@r+884)F>NC>akhaqn`CxoH=A`6w{4nsn>IuUwphfUadu{QckJxU zGC#>~TM&HkReb1!;FAcpAczkY+m~X&2T=+|@JUokl~PJk`l4bpo_l9zvp=&FiVL~B z*?aHzo%5aVoY`r#b??Bh*APV^);0}R(L~jjWVWPOCR=J+vbibLQ&q%P^_t8IMorOJ zN#0=Vs?e+$x~)m9po>g~OE0jJ(9E)F)|5rtkapm} zRTxPzWYN-%=E28^3Z;AVGc8F~N=#YR1q*WAx&un|p0b*C*<^XXRx&NYl6i6zi}o1o znk-m+O%M$o^PG!sUG3!|VQ7q~*J`?kkKOJLrwk|{t%)~pc5jl3SxQYdm2>h=*@&tx zo^><19|#1}D4NB<9|t-(No(uytEyETqzAv}g zG+9xS%S5dQA(44NM7p{x;zWWqv8skFNQ_w(3|V4Gydj4@*Wh%*k^uvXOciitg8_dT z#9e)gOCa0A-4N6r0st$J{DTv!yBU#87{L&$JD{;xqp%vPI&M$hE~&(UJqDIFNfC&l zNdNQ<9M=P;QZZ%ALX$lf3!UYnM7Y5WB^cRhTPy zJJ>F`Cv;v_YWPU7HA5gU!w#NtCjdt8QO@mdVgS;+iWF7{T&G;Nf0&zsVwF{)65ie|H>WtU9G6+Sl^^ek!bI1JO%mp}mW2Bz3z zz`J1+qVGuDHj&RA$#fK{?E#bR*yy+!9YK50BubzRnnx>W6%9DfN7wG<#&@5`#ZyFD z(NuWy(>#w|goinNEa6`gd@eiH^=%`GGMQ1Th>D{T>e&9Z2ttT*jNh(&mz@6NAsU8% z5pq8N`O9zr`s|n8K?Lbs8$mkf5wyPb2;wLX1T>m*2@XI1-ZOFAY4^f(?vr#HO7N3n$iIK#KC^a!Sv406Ucb@+9 zjjwM#In#p)P#z*q0ZmVLB1Tx61w?L)1H`;f=D$-;OF8H8`Gfyl{QIlRJq-9c&{lmk zJKIHZtZ-~SN)^Y7K(XLM`|p&~(r&Qz(Uo9ZbF_Ew5Euo`M4MlD1ZIiM7v_%- zQ+Ndpd>eIp&bwVq70GP~B)>>*uNGF}HeTWOhd;da$+K_XxbK@6e$s+HGz(k|u_h*= zQm)NiZ+C1{i?PLA1lHwOkV8SFt0SxVCCXvG-*uOL_|6=^eDd@ue)-kY#ZzaFtn()T zkZu8X?a^ttzc03ri{Ld&@R0M=?cpP-PuJ&s+3@?oH5&x z^xYqOvY5-jjs97H(HqGp@ay#0Hc4N=+ukn6x%=*J zK1ptOop8^(n4E_-2<$i`#i5ZQQaqTxmc9f%|Idt@7#Ou&ZcyLc*2 Td directly; include instead." +#endif + +#define __BYTE_ORDER __LITTLE_ENDIAN diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@endian.h.blob b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@endian.h.blob new file mode 100644 index 0000000000000000000000000000000000000000..005ff1bd863308e9ce3a62ff600de563e1389d7f GIT binary patch literal 2136 zcmbtV!D>`76wOqejV`*=rP@s?WHOau(1oDVkrqmY(oJ#k%p{pNp?S%W@xbx*5XaF=+1w&XD zTq4SL(MaGb*Q%5hVMXBG_VRs1an(V~$S_iBmJuZ_=91|a0au8?GXKvca8KzSE^|n^ zX2dF8J-9?wU>TK0BQA+3DMNj34KkJr-iHIBux$;&_?zQ89c8N#Gbqc7zOmS{EQESl zE`cr?wpoFRRvu^n_W12IPAEe{qKZOEANKWpIRlr)No)M!;rYYB$nt_2zRzZ}=~tGS zJv{Oefy9(5HD4kW*{Qkyj6yl_xU|rHL$PV?o~*6+JmU9gsv6PPu2YC7jTnrS>2~VK zR6=8QNo+O~+f)V-$_7EtUx~_&69sWcjCdk(P3%xJOraTK%_t1@CW4QB<>{ozIExZE zba|PE&Vf4kZ$|q=%2Va;VsSwM&Mbj{oY1Id6qrD)$?$?~$ZM49p-_H+RoNH8qf-`V zl5!jjl`^N{xnZ`(NgFR3=@jjDP}oW6UaQ?|Pu7AnwKIe#dHDI+t1~m|-C~$KagEAO94 zPOw2^4qOEQ%pD#4nSc5G#_wzHVe)A-mzt{&8%G~MZMR<>d>Cih. */ + +#ifndef _BITS_FLOATN_COMMON_H +#define _BITS_FLOATN_COMMON_H + +#include +#include + +/* This header should be included at the bottom of each bits/floatn.h. + It defines the following macros for each _FloatN and _FloatNx type, + where the same definitions, or definitions based only on the macros + in bits/floatn.h, are appropriate for all glibc configurations. */ + +/* Defined to 1 if the current compiler invocation provides a + floating-point type with the right format for this type, and this + glibc includes corresponding *fN or *fNx interfaces for it. */ +#define __HAVE_FLOAT16 0 +#define __HAVE_FLOAT32 1 +#define __HAVE_FLOAT64 1 +#define __HAVE_FLOAT32X 1 +#define __HAVE_FLOAT128X 0 + +/* Defined to 1 if the corresponding __HAVE_ macro is 1 and the + type is the first with its format in the sequence of (the default + choices for) float, double, long double, _Float16, _Float32, + _Float64, _Float128, _Float32x, _Float64x, _Float128x for this + glibc; that is, if functions present once per floating-point format + rather than once per type are present for this type. + + All configurations supported by glibc have _Float32 the same format + as float, _Float64 and _Float32x the same format as double, the + _Float64x the same format as either long double or _Float128. No + configurations support _Float128x or, as of GCC 7, have compiler + support for a type meeting the requirements for _Float128x. */ +#define __HAVE_DISTINCT_FLOAT16 __HAVE_FLOAT16 +#define __HAVE_DISTINCT_FLOAT32 0 +#define __HAVE_DISTINCT_FLOAT64 0 +#define __HAVE_DISTINCT_FLOAT32X 0 +#define __HAVE_DISTINCT_FLOAT64X 0 +#define __HAVE_DISTINCT_FLOAT128X __HAVE_FLOAT128X + +/* Defined to 1 if the corresponding _FloatN type is not binary compatible + with the corresponding ISO C type in the current compilation unit as + opposed to __HAVE_DISTINCT_FLOATN, which indicates the default types built + in glibc. */ +#define __HAVE_FLOAT128_UNLIKE_LDBL (__HAVE_DISTINCT_FLOAT128 \ + && __LDBL_MANT_DIG__ != 113) + +/* Defined to 1 if any _FloatN or _FloatNx types that are not + ABI-distinct are however distinct types at the C language level (so + for the purposes of __builtin_types_compatible_p and _Generic). */ +#if __GNUC_PREREQ (7, 0) && !defined __cplusplus +# define __HAVE_FLOATN_NOT_TYPEDEF 1 +#else +# define __HAVE_FLOATN_NOT_TYPEDEF 0 +#endif + +#ifndef __ASSEMBLER__ + +/* Defined to concatenate the literal suffix to be used with _FloatN + or _FloatNx types, if __HAVE_ is 1. The corresponding + literal suffixes exist since GCC 7, for C only. */ +# if __HAVE_FLOAT16 +# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +/* No corresponding suffix available for this type. */ +# define __f16(x) ((_Float16) x##f) +# else +# define __f16(x) x##f16 +# endif +# endif + +# if __HAVE_FLOAT32 +# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# define __f32(x) x##f +# else +# define __f32(x) x##f32 +# endif +# endif + +# if __HAVE_FLOAT64 +# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# ifdef __NO_LONG_DOUBLE_MATH +# define __f64(x) x##l +# else +# define __f64(x) x +# endif +# else +# define __f64(x) x##f64 +# endif +# endif + +# if __HAVE_FLOAT32X +# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# define __f32x(x) x +# else +# define __f32x(x) x##f32x +# endif +# endif + +# if __HAVE_FLOAT64X +# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if __HAVE_FLOAT64X_LONG_DOUBLE +# define __f64x(x) x##l +# else +# define __f64x(x) __f128 (x) +# endif +# else +# define __f64x(x) x##f64x +# endif +# endif + +# if __HAVE_FLOAT128X +# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# error "_Float128X supported but no constant suffix" +# else +# define __f128x(x) x##f128x +# endif +# endif + +/* Defined to a complex type if __HAVE_ is 1. */ +# if __HAVE_FLOAT16 +# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +typedef _Complex float __cfloat16 __attribute__ ((__mode__ (__HC__))); +# define __CFLOAT16 __cfloat16 +# else +# define __CFLOAT16 _Complex _Float16 +# endif +# endif + +# if __HAVE_FLOAT32 +# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# define __CFLOAT32 _Complex float +# else +# define __CFLOAT32 _Complex _Float32 +# endif +# endif + +# if __HAVE_FLOAT64 +# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# ifdef __NO_LONG_DOUBLE_MATH +# define __CFLOAT64 _Complex long double +# else +# define __CFLOAT64 _Complex double +# endif +# else +# define __CFLOAT64 _Complex _Float64 +# endif +# endif + +# if __HAVE_FLOAT32X +# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# define __CFLOAT32X _Complex double +# else +# define __CFLOAT32X _Complex _Float32x +# endif +# endif + +# if __HAVE_FLOAT64X +# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if __HAVE_FLOAT64X_LONG_DOUBLE +# define __CFLOAT64X _Complex long double +# else +# define __CFLOAT64X __CFLOAT128 +# endif +# else +# define __CFLOAT64X _Complex _Float64x +# endif +# endif + +# if __HAVE_FLOAT128X +# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# error "_Float128X supported but no complex type" +# else +# define __CFLOAT128X _Complex _Float128x +# endif +# endif + +/* The remaining of this file provides support for older compilers. */ +# if __HAVE_FLOAT16 + +# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +typedef float _Float16 __attribute__ ((__mode__ (__HF__))); +# endif + +# if !__GNUC_PREREQ (7, 0) +# define __builtin_huge_valf16() ((_Float16) __builtin_huge_val ()) +# define __builtin_inff16() ((_Float16) __builtin_inf ()) +# define __builtin_nanf16(x) ((_Float16) __builtin_nan (x)) +# define __builtin_nansf16(x) ((_Float16) __builtin_nans (x)) +# endif + +# endif + +# if __HAVE_FLOAT32 + +# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +typedef float _Float32; +# endif + +# if !__GNUC_PREREQ (7, 0) +# define __builtin_huge_valf32() (__builtin_huge_valf ()) +# define __builtin_inff32() (__builtin_inff ()) +# define __builtin_nanf32(x) (__builtin_nanf (x)) +# define __builtin_nansf32(x) (__builtin_nansf (x)) +# endif + +# endif + +# if __HAVE_FLOAT64 + +/* If double, long double and _Float64 all have the same set of + values, TS 18661-3 requires the usual arithmetic conversions on + long double and _Float64 to produce _Float64. For this to be the + case when building with a compiler without a distinct _Float64 + type, _Float64 must be a typedef for long double, not for + double. */ + +# ifdef __NO_LONG_DOUBLE_MATH + +# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +typedef long double _Float64; +# endif + +# if !__GNUC_PREREQ (7, 0) +# define __builtin_huge_valf64() (__builtin_huge_vall ()) +# define __builtin_inff64() (__builtin_infl ()) +# define __builtin_nanf64(x) (__builtin_nanl (x)) +# define __builtin_nansf64(x) (__builtin_nansl (x)) +# endif + +# else + +# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +typedef double _Float64; +# endif + +# if !__GNUC_PREREQ (7, 0) +# define __builtin_huge_valf64() (__builtin_huge_val ()) +# define __builtin_inff64() (__builtin_inf ()) +# define __builtin_nanf64(x) (__builtin_nan (x)) +# define __builtin_nansf64(x) (__builtin_nans (x)) +# endif + +# endif + +# endif + +# if __HAVE_FLOAT32X + +# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +typedef double _Float32x; +# endif + +# if !__GNUC_PREREQ (7, 0) +# define __builtin_huge_valf32x() (__builtin_huge_val ()) +# define __builtin_inff32x() (__builtin_inf ()) +# define __builtin_nanf32x(x) (__builtin_nan (x)) +# define __builtin_nansf32x(x) (__builtin_nans (x)) +# endif + +# endif + +# if __HAVE_FLOAT64X + +# if __HAVE_FLOAT64X_LONG_DOUBLE + +# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +typedef long double _Float64x; +# endif + +# if !__GNUC_PREREQ (7, 0) +# define __builtin_huge_valf64x() (__builtin_huge_vall ()) +# define __builtin_inff64x() (__builtin_infl ()) +# define __builtin_nanf64x(x) (__builtin_nanl (x)) +# define __builtin_nansf64x(x) (__builtin_nansl (x)) +# endif + +# else + +# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +typedef _Float128 _Float64x; +# endif + +# if !__GNUC_PREREQ (7, 0) +# define __builtin_huge_valf64x() (__builtin_huge_valf128 ()) +# define __builtin_inff64x() (__builtin_inff128 ()) +# define __builtin_nanf64x(x) (__builtin_nanf128 (x)) +# define __builtin_nansf64x(x) (__builtin_nansf128 (x)) +# endif + +# endif + +# endif + +# if __HAVE_FLOAT128X + +# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# error "_Float128x supported but no type" +# endif + +# if !__GNUC_PREREQ (7, 0) +# define __builtin_huge_valf128x() ((_Float128x) __builtin_huge_val ()) +# define __builtin_inff128x() ((_Float128x) __builtin_inf ()) +# define __builtin_nanf128x(x) ((_Float128x) __builtin_nan (x)) +# define __builtin_nansf128x(x) ((_Float128x) __builtin_nans (x)) +# endif + +# endif + +#endif /* !__ASSEMBLER__. */ + +#endif /* _BITS_FLOATN_COMMON_H */ diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@floatn-common.h.blob b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@floatn-common.h.blob new file mode 100644 index 0000000000000000000000000000000000000000..f054a7c7f341f54f41816a8c87812633f10b3b58 GIT binary patch literal 6251 zcmbtX4{Q_X75~n#6DklKQ#ZH2aUbmX(kw^t-}hj8kd{(BxkMYwjs!bdZf}Q!mtf7lkw(9#!d)PUKTd-`Q7XvRd{)r8^kAw zcR6q=kf0a~ZloaoW@rkcB1no09x1;yEhrtGUG4bPCx)u%DFu9wn_1M9g$HA@&r465 zDU_9XBB-!=ZOfywI~d}_B%U`+JW~~62jxLNh=CZ#L>Y+lT*xI4aB)85BL12jRtbaQ zn1KQA1ziK6myf%ET5&?GJn1JYGu$2G#CtdZWFh#C0S!__1c{4_2M6w<&5dJZmP0Xy zD>Ihp7YRpk+sL9gFNFk-5Xy|4vJjDZh1xN%M#Ga3QJ>dMnvJ`uwyw4=UGG3@AOr^a z(Um6;XL*L%BJ(1&6ufOr7hDrDRurQ6h%q%yRA3AD;0)kxTcqD~^swxuR3Nf{%kHfw`?nO)uU{AdO0 zL2J>I=qc2Xcoab!Pz=S<2zmzozKb@a=g~IwB6=CUiuR!W=ymi{^alDFdJDY`f4@X0 z(0k}KI)^?-cTlo|K}jz>i{WW!5SpI4cxZoXb3yU%FzJCb4%${6YzH3Ho`w-rQZg4I zCV4+o0#BUXeQQ zw-;Pmt9^>mXFK8Zj-bj);zTi1nJi`=0Vj&V30P%nI=H22-|T0v4r!XQkodd+1bcC} z6bgKYQ4ntJ(!NZ%m@Z>Z;hAB!iBo%bELACU+KYCw3 zb+Pidx+OshQ$vniWOOeZ6TH*lq)<^Zg>Vq*s$VtYy|Jq2%>7kWx)B1$(_jL}(_jDx zEYW;jDZBz^K&Ek=?dfW{-Ra6Q0Vx6t1~@2Lat);QUoO1tvoIhv9{gd~%RjmM=g{gb z{j$n|^4v(N07r6d=sB4S*`G^tLRT7=u}_n$C!Vl0>b5lAP(anW<}wasXD7X(=ICPK z#byfwQlr|IMUPK@wS4dQS+=dCtEVO4^Y%i_3Uw3d*ABKV79AA%5l2SRL+uQ zvR6&F=XcZ%T`rybliJ# zZ_C4bSe6phs%uf%59QDBMZD93WsT;}h~k`{ynS5{C#7+oUZHMghY?A~LGuP@4hYRN!L93OdgqK8=a7_@ zc@8}d1e(|Gg&cy^aya+E7k2{h1ZL?VaJ=)?Dc#FSh1PH`6<&fW1*tWfM~A=dec14lbO?Os%H@ zXST#hF>E>Nfr{n!a;OZD4OFve6)T&WL)JqelQST(GZ_1q^(t?^_QF4J zt*p84J31EJYsuisD1ywPZ8W#i^h7{UM6l46R%;#I&-~~U%Z*QUGwDW0Y?-x4FlaiI zCt-?BB0QAoO6!#S{(ewARQV5prU!u#*N|LL0GI+!yA#L-QYBZfwHFAr!@2|HdFy#h zu8P_GsfFw3zniHS`Ud;W?yk0Ylxi3hJgfmu(-H z18(R(yANg$NWZH2`Q&luoyH|luCxPWHgr1wN6N~=@a4L~bq))bG>Ry-)aRP`;@m4c z41J;_%-kn9Lws6nUkpBh)O_0YgZB3)PtAW%n};OB1v)-D4k5egX-IC*;N(k%FI8Kx zT&cnnZ>>4^!rPC%qLY-?LY}%-H*?#y-mRTb4o)(9=t{dW9QbkMQne@gtYJ9R8PuR- zFy=^ac6pP@#WdNQpb|iaR8S9Go7GY~w%P-fO#kNiXZW4XOrNa}+8Jl#Kt^p*kO^A? zy%VteUwN!~eMPj*H}!hV_kqk#Q1>`CcM zhXXS2VEoXO=xUQ{wxsLe!`q(-e4s&~^_X*g!zGv|Y#PMj!ovUpqz0muIdI|Qr)IXW zt(}22^uE^3w)L!9)zi(c1PppxH9o);*bCs_JuFrK(4$))aY@%+Rhda9ayQ%E6JP^< ztK0qU9iVk8Gjk7-Qe8231>gs%)mQKCT}Oi__t{AMn3{S#A#v&`^q}s`!wmuEr`!(xpAg@}l;!ZyAN=NsW>F<69 zn9{##id6v?AF&?6Tz(LS{)1%bPcC@w_S&;$eEJ|PrVZJK{LRc!+fk6o`OGYMTAP{w E0POEH#Q*>R literal 0 HcmV?d00001 diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@floatn.h b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@floatn.h new file mode 100644 index 0000000..d157c92 --- /dev/null +++ b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@floatn.h @@ -0,0 +1,121 @@ +/* Macros to control TS 18661-3 glibc features on x86. + Copyright (C) 2017-2019 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _BITS_FLOATN_H +#define _BITS_FLOATN_H + +#include + +/* Defined to 1 if the current compiler invocation provides a + floating-point type with the IEEE 754 binary128 format, and this + glibc includes corresponding *f128 interfaces for it. The required + libgcc support was added some time after the basic compiler + support, for x86_64 and x86. */ +#if (defined __x86_64__ \ + ? __GNUC_PREREQ (4, 3) \ + : (defined __GNU__ ? __GNUC_PREREQ (4, 5) : __GNUC_PREREQ (4, 4))) +# define __HAVE_FLOAT128 1 +#else +# define __HAVE_FLOAT128 0 +#endif + +/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct + from the default float, double and long double types in this glibc. */ +#if __HAVE_FLOAT128 +# define __HAVE_DISTINCT_FLOAT128 1 +#else +# define __HAVE_DISTINCT_FLOAT128 0 +#endif + +/* Defined to 1 if the current compiler invocation provides a + floating-point type with the right format for _Float64x, and this + glibc includes corresponding *f64x interfaces for it. */ +#define __HAVE_FLOAT64X 1 + +/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format + of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has + the format of _Float128, which must be different from that of long + double. */ +#define __HAVE_FLOAT64X_LONG_DOUBLE 1 + +#ifndef __ASSEMBLER__ + +/* Defined to concatenate the literal suffix to be used with _Float128 + types, if __HAVE_FLOAT128 is 1. */ +# if __HAVE_FLOAT128 +# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +/* The literal suffix f128 exists only since GCC 7.0. */ +# define __f128(x) x##q +# else +# define __f128(x) x##f128 +# endif +# endif + +/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */ +# if __HAVE_FLOAT128 +# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +/* Add a typedef for older GCC compilers which don't natively support + _Complex _Float128. */ +typedef _Complex float __cfloat128 __attribute__ ((__mode__ (__TC__))); +# define __CFLOAT128 __cfloat128 +# else +# define __CFLOAT128 _Complex _Float128 +# endif +# endif + +/* The remaining of this file provides support for older compilers. */ +# if __HAVE_FLOAT128 + +/* The type _Float128 exists only since GCC 7.0. */ +# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +typedef __float128 _Float128; +# endif + +/* __builtin_huge_valf128 doesn't exist before GCC 7.0. */ +# if !__GNUC_PREREQ (7, 0) +# define __builtin_huge_valf128() ((_Float128) __builtin_huge_val ()) +# endif + +/* Older GCC has only a subset of built-in functions for _Float128 on + x86, and __builtin_infq is not usable in static initializers. + Converting a narrower sNaN to _Float128 produces a quiet NaN, so + attempts to use _Float128 sNaNs will not work properly with older + compilers. */ +# if !__GNUC_PREREQ (7, 0) +# define __builtin_copysignf128 __builtin_copysignq +# define __builtin_fabsf128 __builtin_fabsq +# define __builtin_inff128() ((_Float128) __builtin_inf ()) +# define __builtin_nanf128(x) ((_Float128) __builtin_nan (x)) +# define __builtin_nansf128(x) ((_Float128) __builtin_nans (x)) +# endif + +/* In math/math.h, __MATH_TG will expand signbit to __builtin_signbit*, + e.g.: __builtin_signbitf128, before GCC 6. However, there has never + been a __builtin_signbitf128 in GCC and the type-generic builtin is + only available since GCC 6. */ +# if !__GNUC_PREREQ (6, 0) +# define __builtin_signbitf128 __signbitf128 +# endif + +# endif + +#endif /* !__ASSEMBLER__. */ + +#include + +#endif /* _BITS_FLOATN_H */ diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@floatn.h.blob b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@floatn.h.blob new file mode 100644 index 0000000000000000000000000000000000000000..c63ff8c5e7bbae09f507e51356b7041adebf75e1 GIT binary patch literal 2566 zcmbtW&uddl6rLM@AVsApZz0c?)=IJB%_My>_$UwBYGNxPwOD_^TU;h{C&}Q=y}$+vS2$6^Pb9zfcv*;!q0Aed>iS!xgS1mdf>b#jbh*QRzC`{0LkJ zqg1QOBzBxeMJl40V?w{^(4W`DXGA#-LPel)Zcc7K8N@MV_%;n1jlkDoTKb-_Dr5m^ zrM`UKe`y#g-e8j7WW(81T8hba($o=##DFRhU+M+)dc^f>EEI^xePzS1DK=TV;&Q2= z5kJMIiV$_}A_;M;5!GfO^SLN8DWOy%q{nRKSR z7QobC2uT^Y#3h{ z@n9_xoj$(pJJ|;$c9;+zm!^yHErNH(9lAtKi(_@I`60Y0VMW@J@cF5}^=&rv_KDJI z2IdX`K;Br2T?Bobv;l^$yy%h8TVe}4b+V^P+n$)OJs0N7{wHeBQ8bCB(F~eHXHfyI zpj9LhLVMerf8PFa_0<$}oTY^;1*ceASy;>Gt~sTZ@_Fan%H_pU0pjvg;05>>VIm=H zB8!l9dh~QLrOykfZNZ1_10VJ;q#s=T3;yo@>>4{bc4FQd&yAPitc?FRZ?*r}D3)*S ze*U=+0KOR?f^G2dC{Cv=IA=R}k6$i5+*o>Z+*w>+yA;tWJ4=w}Xg5vYjdghR@TrtJ zJ2~#$eKvN#bmZ;!TC%fehSdUB6B*z>d1x||(r3=(**(2)dV1cP8<_*Hg^>cBt0Sv$ vw)cL&ckx-S@~)Hr-14Qh. */ + +/* This header is internal to glibc and should not be included outside + of glibc headers. Headers including it must define + __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION first. This header + cannot have multiple include guards because ISO C feature test + macros depend on the definition of the macro when an affected + header is included, not when the first system header is + included. */ + +#ifndef __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION +# error "Never include directly." +#endif + +#undef __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION + +#include + +/* ISO/IEC TR 24731-2:2010 defines the __STDC_WANT_LIB_EXT2__ + macro. */ +#undef __GLIBC_USE_LIB_EXT2 +#if (defined __USE_GNU \ + || (defined __STDC_WANT_LIB_EXT2__ && __STDC_WANT_LIB_EXT2__ > 0)) +# define __GLIBC_USE_LIB_EXT2 1 +#else +# define __GLIBC_USE_LIB_EXT2 0 +#endif + +/* ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__ + macro. */ +#undef __GLIBC_USE_IEC_60559_BFP_EXT +#if defined __USE_GNU || defined __STDC_WANT_IEC_60559_BFP_EXT__ +# define __GLIBC_USE_IEC_60559_BFP_EXT 1 +#else +# define __GLIBC_USE_IEC_60559_BFP_EXT 0 +#endif + +/* ISO/IEC TS 18661-4:2015 defines the + __STDC_WANT_IEC_60559_FUNCS_EXT__ macro. */ +#undef __GLIBC_USE_IEC_60559_FUNCS_EXT +#if defined __USE_GNU || defined __STDC_WANT_IEC_60559_FUNCS_EXT__ +# define __GLIBC_USE_IEC_60559_FUNCS_EXT 1 +#else +# define __GLIBC_USE_IEC_60559_FUNCS_EXT 0 +#endif + +/* ISO/IEC TS 18661-3:2015 defines the + __STDC_WANT_IEC_60559_TYPES_EXT__ macro. */ +#undef __GLIBC_USE_IEC_60559_TYPES_EXT +#if defined __USE_GNU || defined __STDC_WANT_IEC_60559_TYPES_EXT__ +# define __GLIBC_USE_IEC_60559_TYPES_EXT 1 +#else +# define __GLIBC_USE_IEC_60559_TYPES_EXT 0 +#endif diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@libc-header-start.h.blob b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@libc-header-start.h.blob new file mode 100644 index 0000000000000000000000000000000000000000..e209ef1fe650171068a205caf72d62eff19e73da GIT binary patch literal 2476 zcmbtV&ubGw6rQcrlT?WZMX*$hV1@0ZA&vb(Yi*mBN|iucP&_P?*-0{Ve}tLYmJ|=7 zCx!kWdi1E^LBVSeg?jSfFBC+)c@i3DW|P>O$);i;bD6jA`@Z+S_vQ-N-?{ky1+W0D zgg$|Y`80qo*??6K)ygc40vDnX+nMypICN1h3r8R)IAX-XVIU9<2ph)W81_(5{?8=# zX2{lQP_|vl2o@o$P5lEaFajgaAPuk=xdaxe;E)T~qeZ*qg-8rn!2V~cwLMDIs)R$w z@rzs_K^z_WO@$u4CILah@eyXB!r8j8|GXVX(+F%F`hFOwu#bP!DakCdv|L@PzO?5M z)F+&7k()KN6TV66xYr306YPH4zm?kZbb_V#KvI z--O_Xuaul4i%}dlkk=)vbbuCRW?7ACYI-(exY8vXRG>+X@j^9~VN~?A@!EV#0+%A~ zk|f7*TINK=ILU4@M#@RfWuaa)aBMg|oNmp!bgJyK61ns4?vq19qb$IQC)bI(HhVxB zJ#;+ks}Qr_5>hCHE=Gt4UuAEroL*D0@AW`ZH>nS*Pq}PonwyA93;_r-U<^!x>tG%L&|80e>g~znr|)k&&f@aY?3}Z< zl6RK!b51TjIy&wwtlgShaq_oUW$g5zY_@#(2fBm~qyexdQ. */ + +/* long double is distinct from double, so there is nothing to + define here. */ diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@long-double.h.blob b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@long-double.h.blob new file mode 100644 index 0000000000000000000000000000000000000000..20833b46ea6b9fb23071de98aeaf513fcf53c1d2 GIT binary patch literal 2019 zcmbtV!H&}~5DntGKLOm3T(_vI;IK!KkoW@*k!w#AYaKhXovpH81V@f=L zAjBtB>v6heyK!6)m3s2%&3kX&Or93IZ;!uzDjpQHHVsf_8>y*)OWG>dSJre|P-ZxJ zHebA;g7r(fpbmIvq2xw;CN`B`1;z6Y)2D&M!@XjwLE=b48xmj1-jzxPA~^JT-hHQ49s(eC58 zPo$vM*jb!OT`z{Q3Rahhu}i;G_*Zu^&Kk*N_)p z*e*?ssc?}P!lz?#Dqdj(C0MJZi&IXIFnnUf. */ + +#ifndef _BITS_PTHREADTYPES_ARCH_H +#define _BITS_PTHREADTYPES_ARCH_H 1 + +#include + +#ifdef __x86_64__ +# if __WORDSIZE == 64 +# define __SIZEOF_PTHREAD_MUTEX_T 40 +# define __SIZEOF_PTHREAD_ATTR_T 56 +# define __SIZEOF_PTHREAD_MUTEX_T 40 +# define __SIZEOF_PTHREAD_RWLOCK_T 56 +# define __SIZEOF_PTHREAD_BARRIER_T 32 +# else +# define __SIZEOF_PTHREAD_MUTEX_T 32 +# define __SIZEOF_PTHREAD_ATTR_T 32 +# define __SIZEOF_PTHREAD_MUTEX_T 32 +# define __SIZEOF_PTHREAD_RWLOCK_T 44 +# define __SIZEOF_PTHREAD_BARRIER_T 20 +# endif +#else +# define __SIZEOF_PTHREAD_MUTEX_T 24 +# define __SIZEOF_PTHREAD_ATTR_T 36 +# define __SIZEOF_PTHREAD_MUTEX_T 24 +# define __SIZEOF_PTHREAD_RWLOCK_T 32 +# define __SIZEOF_PTHREAD_BARRIER_T 20 +#endif +#define __SIZEOF_PTHREAD_MUTEXATTR_T 4 +#define __SIZEOF_PTHREAD_COND_T 48 +#define __SIZEOF_PTHREAD_CONDATTR_T 4 +#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8 +#define __SIZEOF_PTHREAD_BARRIERATTR_T 4 + +/* Definitions for internal mutex struct. */ +#define __PTHREAD_COMPAT_PADDING_MID +#define __PTHREAD_COMPAT_PADDING_END +#define __PTHREAD_MUTEX_LOCK_ELISION 1 +#ifdef __x86_64__ +# define __PTHREAD_MUTEX_NUSERS_AFTER_KIND 0 +# define __PTHREAD_MUTEX_USE_UNION 0 +#else +# define __PTHREAD_MUTEX_NUSERS_AFTER_KIND 1 +# define __PTHREAD_MUTEX_USE_UNION 1 +#endif + +#define __LOCK_ALIGNMENT +#define __ONCE_ALIGNMENT + +struct __pthread_rwlock_arch_t +{ + unsigned int __readers; + unsigned int __writers; + unsigned int __wrphase_futex; + unsigned int __writers_futex; + unsigned int __pad3; + unsigned int __pad4; +#ifdef __x86_64__ + int __cur_writer; + int __shared; + signed char __rwelision; +# ifdef __ILP32__ + unsigned char __pad1[3]; +# define __PTHREAD_RWLOCK_ELISION_EXTRA 0, { 0, 0, 0 } +# else + unsigned char __pad1[7]; +# define __PTHREAD_RWLOCK_ELISION_EXTRA 0, { 0, 0, 0, 0, 0, 0, 0 } +# endif + unsigned long int __pad2; + /* FLAGS must stay at this position in the structure to maintain + binary compatibility. */ + unsigned int __flags; +# define __PTHREAD_RWLOCK_INT_FLAGS_SHARED 1 +#else + /* FLAGS must stay at this position in the structure to maintain + binary compatibility. */ + unsigned char __flags; + unsigned char __shared; + signed char __rwelision; +# define __PTHREAD_RWLOCK_ELISION_EXTRA 0 + unsigned char __pad2; + int __cur_writer; +#endif +}; + +#ifndef __x86_64__ +/* Extra attributes for the cleanup functions. */ +# define __cleanup_fct_attribute __attribute__ ((__regparm__ (1))) +#endif + +#endif /* bits/pthreadtypes.h */ diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@pthreadtypes-arch.h.blob b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@pthreadtypes-arch.h.blob new file mode 100644 index 0000000000000000000000000000000000000000..c5c5bbd7bb5eaa56278f7a50111e2588a2e6786c GIT binary patch literal 5356 zcmbtWeQaA-6~E8(`b7vP3Qg7p^SV~+l*V~ZVw^UlA^vzy96OF{yGdxZ-910QBu}%S z&3n(yvZ__rq=XZYR+}n%R-?`(DFChkTOT~i332H%BxSVvFE9HfiMYUK~a-2{U zJ%iqXqg+l{@o@v3CW&QL!eUX;1zC~Qei7Xw<^^T({{-dLYI zAuBY%l{J-<6)|7VNnBReHBQrWc{%G@$QK2@e+jL>1+~_D=_@5k<1j8{HC@mpOkMv* zT({4OA_+P!2%=gfaUR&e{)75BG!4Zg77K-swn zifA=rp;XlTKEtyWpr)&3QO8YVYbzQj=A;G6=gk(GnLw1>k|dHs8grsAsgjWMXiI`B zBC6i)7x4wvrdL086Txmo?hu#w~=)CD(LwQVBHVbx|q9HB!!M9)o!QfkwNs zWGsf}I)DH`Z^IJp2;{WY*f-sC)gdJiWYC$rHZ_SlY#?CA$I(IfI*g8>Q4~i>G>@_< zhn5h!bp+LXn99X39eBTd&lev>ftn-asN6mO6Xc)wc`B=2k6*m_@TYd7%Hbcr`0csQ zH#>|i#bRudgVkkv{gmw1JS=8R%j}SB7K0fMT#!=P*@NJdPJ{y~T{0;m|RN1}% zV@IFKd?PttdGZerKl0S4-#WBf`P?gAAH2}b#V=RJPbFUc=(#7Zts$o3`P0=$pT5-f z`r0^SXSBA;*h#HjW-32D^P|^(Hu}i%HOTruhaQSu|HPevHJ8J#Zf(_32|O75!f(1d z?p;H-pe|bMSZ&EwAau0$Y^R;Pox7d7ow=R3owXenv353P1$Lk!9gf+3QN3hJKP3y86v*dRfSIb(xk z2BOtxSR<{Fj2jZ|8gT*4RNGV!fthkn^#lwUOE+7V%aR#pUcg@rd~Nzmo2oF_{kF|+R3K9b?AbGFaS@Uig1r4Q}?RWHWr=t+Ji zf|Hra6dwrVU?7!>@~J>3lfoGg)#w4(_3-Y8_P6q6eZU0g;^Gcslc>TFK^BzjuY8NW zcCGGzLoKk(q8#aM|-TV0~5AHepTph5TcXMFFh5e)-fN$%( zE$AS2(geP6$ITbsy|U`9119O%;Qp3bn*j(T9+xNLAa=^cxAxt3l|de$lB$6=Ish){ z4thx=gU+DWY~U(e3C7haz&xB%j$|Frv-ss2@w)hN0a@sv#^jHS%KyU4xSjYE67=xo?*gnCT&NrX%hM zo#}`(V$HO5k!%;uoN1HdkUK;v4mm>>#UGv?UO&I{<-gQXY|aW5vaecv<2k_@c4!dT z?dj}+>cLv>{btWX z_~V_&lMZ6fo8(6?oQQw7u)|$f-SmkJKTm7(Hm%L{VSQeJ-q*P=>>!qko$2oEhF`(L zuL}>&-MZhK{7T~>wn#T9sD?xuXv1I~b{z&5!N$!pM$awZ|IRNy62rl0CT;07^O+={ z#(`955>EnwgLWOwoOTaD9UZO?SPEbxCic_b^&dZZ-g%=gdy{^$C#%@Cd(v_;HqPyx zx5GvNYb9>IPHeeub!~(C2Tl#&Z9W5%Y?AKwq%%2)j7x3r@5a7-`sXjbRuxpu81jkj zjVtwIhFn8HHL)fgFOJ@b?YMW~TovDtLE=Q3PXXPL44=ZWC=C*{DYtrpn>e#9(U8Bx zpK%a-(hT;&JvVj_OniNBHJHg~G?Bsdw#4blK#C_7H3-(knf7_EV-8}0oi}6sYxvOk zC9ig{8q3HP>cS@yFp8V|Yz<+J6Kj7+LBk!xFa=<(g8IJZzlessv$a9Uwzftd;%pd& z&2cvRkw`?bK9>(#1U6+>^4QgrPhEZ0JA^TH55%JriD^DTgvwSsQhUZ6a~<ediUn}=cggQ{b9QHbh+UPZ$0. */ + +#ifndef _BITS_PTHREADTYPES_COMMON_H +# define _BITS_PTHREADTYPES_COMMON_H 1 + +/* For internal mutex and condition variable definitions. */ +#include + +/* Thread identifiers. The structure of the attribute type is not + exposed on purpose. */ +typedef unsigned long int pthread_t; + + +/* Data structures for mutex handling. The structure of the attribute + type is not exposed on purpose. */ +typedef union +{ + char __size[__SIZEOF_PTHREAD_MUTEXATTR_T]; + int __align; +} pthread_mutexattr_t; + + +/* Data structure for condition variable handling. The structure of + the attribute type is not exposed on purpose. */ +typedef union +{ + char __size[__SIZEOF_PTHREAD_CONDATTR_T]; + int __align; +} pthread_condattr_t; + + +/* Keys for thread-specific data */ +typedef unsigned int pthread_key_t; + + +/* Once-only execution */ +typedef int __ONCE_ALIGNMENT pthread_once_t; + + +union pthread_attr_t +{ + char __size[__SIZEOF_PTHREAD_ATTR_T]; + long int __align; +}; +#ifndef __have_pthread_attr_t +typedef union pthread_attr_t pthread_attr_t; +# define __have_pthread_attr_t 1 +#endif + + +typedef union +{ + struct __pthread_mutex_s __data; + char __size[__SIZEOF_PTHREAD_MUTEX_T]; + long int __align; +} pthread_mutex_t; + + +typedef union +{ + struct __pthread_cond_s __data; + char __size[__SIZEOF_PTHREAD_COND_T]; + __extension__ long long int __align; +} pthread_cond_t; + + +#if defined __USE_UNIX98 || defined __USE_XOPEN2K +/* Data structure for reader-writer lock variable handling. The + structure of the attribute type is deliberately not exposed. */ +typedef union +{ + struct __pthread_rwlock_arch_t __data; + char __size[__SIZEOF_PTHREAD_RWLOCK_T]; + long int __align; +} pthread_rwlock_t; + +typedef union +{ + char __size[__SIZEOF_PTHREAD_RWLOCKATTR_T]; + long int __align; +} pthread_rwlockattr_t; +#endif + + +#ifdef __USE_XOPEN2K +/* POSIX spinlock data type. */ +typedef volatile int pthread_spinlock_t; + + +/* POSIX barriers data type. The structure of the type is + deliberately not exposed. */ +typedef union +{ + char __size[__SIZEOF_PTHREAD_BARRIER_T]; + long int __align; +} pthread_barrier_t; + +typedef union +{ + char __size[__SIZEOF_PTHREAD_BARRIERATTR_T]; + int __align; +} pthread_barrierattr_t; +#endif + +#endif diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@pthreadtypes.h.blob b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@pthreadtypes.h.blob new file mode 100644 index 0000000000000000000000000000000000000000..dd7d64055aa5cf7a1f873e07e915c0f58be87add GIT binary patch literal 6834 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 literal 0 HcmV?d00001 diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@select.h b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@select.h new file mode 100644 index 0000000..1da802a --- /dev/null +++ b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@select.h @@ -0,0 +1,63 @@ +/* Copyright (C) 1997-2019 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_SELECT_H +# error "Never use directly; include instead." +#endif + +#include + + +#if defined __GNUC__ && __GNUC__ >= 2 + +# if __WORDSIZE == 64 +# define __FD_ZERO_STOS "stosq" +# else +# define __FD_ZERO_STOS "stosl" +# endif + +# define __FD_ZERO(fdsp) \ + do { \ + int __d0, __d1; \ + __asm__ __volatile__ ("cld; rep; " __FD_ZERO_STOS \ + : "=c" (__d0), "=D" (__d1) \ + : "a" (0), "0" (sizeof (fd_set) \ + / sizeof (__fd_mask)), \ + "1" (&__FDS_BITS (fdsp)[0]) \ + : "memory"); \ + } while (0) + +#else /* ! GNU CC */ + +/* We don't use `memset' because this would require a prototype and + the array isn't too big. */ +# define __FD_ZERO(set) \ + do { \ + unsigned int __i; \ + fd_set *__arr = (set); \ + for (__i = 0; __i < sizeof (fd_set) / sizeof (__fd_mask); ++__i) \ + __FDS_BITS (__arr)[__i] = 0; \ + } while (0) + +#endif /* GNU CC */ + +#define __FD_SET(d, set) \ + ((void) (__FDS_BITS (set)[__FD_ELT (d)] |= __FD_MASK (d))) +#define __FD_CLR(d, set) \ + ((void) (__FDS_BITS (set)[__FD_ELT (d)] &= ~__FD_MASK (d))) +#define __FD_ISSET(d, set) \ + ((__FDS_BITS (set)[__FD_ELT (d)] & __FD_MASK (d)) != 0) diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@select.h.blob b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@select.h.blob new file mode 100644 index 0000000000000000000000000000000000000000..d0ef51fbd7ac1168b05b62b97564f3774cbadbf4 GIT binary patch literal 2639 zcmbtVL2nyH6kaEXq6#55%Auqc-KMCr3!8ON6g4fTp^&18RF&eKTB_A}W^9kT-f?GU zlRB!(p%N#~?O!MdRB?n`QN^)01VSJogg8JIBu+iWyf^E*wRgRSHc~8W=FR)Q_r32u zpK|v1=70UhDL8&hwz*GKTSPwN+kPh`-KLUp#C#&D_fBPT#b>0uFMlWqeMzpyWyL@~#^{(N1hjcK)7LigVsh5V5UQ23yoCyWuiO6{HZ^`Cs zcVT^F4H5syOqC!aca?|uv=NPt)XPgrWL`pTR7_1U7F&0l+V%KCgB7EU=~|{ zc0rw_B3p?^6m3n&=A%Y=Jq#rdu#D@W^=QiCJYs@aL*Br#!O1sXW+W)OyyV-R z6@I@>Nd6EX-z8$(jo#0(QWk?a6`ol+*5 zZ`)uyn}X%(jD1*M%A{cv?GRxaA!+9HKE~1Z1mlqrri-ZtEy)#-s3rz~`^BqY4GU-( z^*S&ZeStFv4te34jkAf75Y`gG^x18nWFKfjz?BMxwp~oMDA7hLHg<{H7H8_(jAHmj ziR;=+gkL_9wNaj*C`^-@I{*NAGfNyG;BDRp7`yVGndm8Y;nYx*Mg^EYYhwqUVOjyF&>oN<5jm(cAP@BSbcK}KHpPLuK-BBllM0Z z4>tem+4mo8Y{FS_2p!Hwu(zdPWp^Tls+$xwAc6R2i)Y;__HFPc|G8X?3dRzF9o%&OEm~MIwaoU#+}zj>g)56;mGWf$`pRC j_Hlk;-~D~}{zGlc#21ieCY1(Wx-%{`&z&jHB`^O4-3`~o literal 0 HcmV?d00001 diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@stdint-intn.h b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@stdint-intn.h new file mode 100644 index 0000000..fc7b43f --- /dev/null +++ b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@stdint-intn.h @@ -0,0 +1,29 @@ +/* Define intN_t types. + Copyright (C) 2017-2019 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _BITS_STDINT_INTN_H +#define _BITS_STDINT_INTN_H 1 + +#include + +typedef __int8_t int8_t; +typedef __int16_t int16_t; +typedef __int32_t int32_t; +typedef __int64_t int64_t; + +#endif /* bits/stdint-intn.h */ diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@stdint-intn.h.blob b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@stdint-intn.h.blob new file mode 100644 index 0000000000000000000000000000000000000000..404d5c0ac8c712181349ea5d949ffb8d77a12635 GIT binary patch literal 2630 zcmbtWJ&Y4a6kZ=GNQ4q66kb~t##j+Ttmk|=EI^{kpExO@;Y4%AW;{E#N9@j;nORPT zL_{PssgP)r0zo|-I7-Tw*VZN}=NkX8+EBxN8~PW>@)GQlQ{zXJsTg^#9Nu{_&tuDw9*d(WmKgRsa!eQ9 z0Thr{P#cvn<1gga15H@KJ65XgoXSQ(R<}N9*vNu*dy3P*(>Sf$cxLp}w&l*-kvFSZ@zB zf*R$`FpP0G^$FT(be3fJa~I%7GTPszMmNhindmXJvZcJW4Wopt(gOX410JcU4KNMQ*NqlyOtuz zn*+|NwYs>>O)5+$q}?2EBtjbLiGWKZ%mAS#Bg++-sxAgU`tHDwvjUrdd3{)%(Eu{% zign?IO|lE4AzUPi@Y%N5%U&=7pDPs#ZKs?)LU_dl3-713K&Gx;nZU~=X=^VPzI7za zxYHYlFmrpEzK=3noG{?iybH1LB)%}wn7eRnW=JyujwL__t6gR%)*lhD+<$g#c`EgTZCZp^FI4nWzZTB)&AC^@AD0!$c3W#71d z{nBxD!M-3+Gu?~TsPJYBFb*BsRk&MpvG6yaz87uW*IP5(n1SRrGZoFPyC9nDxT$Dk zx)FQhr(2)g*}i#u1_cE}6f0bcQm&T)rR`{&o+ oUpu$%!}pwj7FvG$2s8%&*i|zgzuE+a4i*o#mhktqGb}*DbHsJreE. */ + +#ifndef _BITS_STDIO_LIM_H +#define _BITS_STDIO_LIM_H 1 + +#ifndef _STDIO_H +# error "Never include directly; use instead." +#endif + +#define L_tmpnam 20 +#define TMP_MAX 238328 +#define FILENAME_MAX 4096 + +#ifdef __USE_POSIX +# define L_ctermid 9 +# if !defined __USE_XOPEN2K || defined __USE_GNU +# define L_cuserid 9 +# endif +#endif + +#undef FOPEN_MAX +#define FOPEN_MAX 16 + +#endif /* bits/stdio_lim.h */ diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@stdio_lim.h.blob b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@stdio_lim.h.blob new file mode 100644 index 0000000000000000000000000000000000000000..b37dbfa0036dd4d9f8f2f15005eb7eb7f0358656 GIT binary patch literal 2415 zcmbtW&ubGw6y8SgAR-|ORzXQ?m15mal7`S8dQhxdY}!IAC?1x{>?9ewznGb|qzC^5 zMgIuVgP?d)JoyI{4|-D&5f7q0dDPZC90P=K3R)u{hAs|k;gn~s-I3ao4ZT%3v&<=)Re3| ziU_&$tccx4Gy`AMs*zq2t2<`(eY;8cj%?dN#vaP+8&>tR<+7;$#ai)lxB9t0KLV(DY9B3b}|o}eWfZrxoyn9R;18JbY50#N#RtYapd z4sK;MK7_e8nN2;(WCx&n{m5hw^A;GtdUWvVUiPF-%s@>=%x>zmL0+(9!}P?kqjnMo z`1GC+(vE6@MLBnv&@Jr4jnD1A8x(e)-rxz}mKUneN!So(M11X3+M?S%PEbc;=%O!D zYKgrF@R~LLefQmO5p`o5xg*9=mc?;C}mKQ7QimzI|27OndE>*}^}N_9+q z#f!bmV!37*Lu2`|(HxxP#?Fwk+j;Zs>baM<-!~R4=>{Hl)m^^p+r2ARO3HOOKU~bg zc_wx}JexahPu#v{U6@~8u~t?u&M#RD^L6Wr!WivhBp!=pg;mHGDmgf7G1lGT2jiuC zZx5{2m*WZ!brIsLVr6Q2sxqydkL8b@%)xmscFsS)JaOmo>n&h#@qB$QMi}lQ?7lBn xOEW;k@%-`e9GsOH. */ + +#ifndef _STDLIB_H +# error "Never use directly; include instead." +#endif + +#ifdef __USE_EXTERN_INLINES +__extern_inline double +__NTH (atof (const char *__nptr)) +{ + return strtod (__nptr, (char **) NULL); +} +#endif /* Optimizing and Inlining. */ diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@stdlib-float.h.blob b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@stdlib-float.h.blob new file mode 100644 index 0000000000000000000000000000000000000000..0d4d5da025173a264da8fba59bb74e88752e48c9 GIT binary patch literal 2026 zcmbtVv5pfl5M7|9LV}J0=#U&ID2kw<1PO^hpjbKfWY;>cy|TR*?R^oHlu+^k_XQLP zohT6E6Cym`T$EhAj!r~M<;k1(-n^MSFE&?Ce|#d2tyS@7}(9{{}n$Na qKJRZF!W`{oXb|ijmv|yU@tKa^#2ra&fJdgd`=EGOJSrX+;qwnz|1Yrs literal 0 HcmV?d00001 diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@sys_errlist.h b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@sys_errlist.h new file mode 100644 index 0000000..0311b73 --- /dev/null +++ b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@sys_errlist.h @@ -0,0 +1,32 @@ +/* Declare sys_errlist and sys_nerr, or don't. Compatibility (do) version. + Copyright (C) 2002-2019 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _STDIO_H +# error "Never include directly; use instead." +#endif + +/* sys_errlist and sys_nerr are deprecated. Use strerror instead. */ + +#ifdef __USE_MISC +extern int sys_nerr; +extern const char *const sys_errlist[]; +#endif +#ifdef __USE_GNU +extern int _sys_nerr; +extern const char *const _sys_errlist[]; +#endif diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@sys_errlist.h.blob b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@sys_errlist.h.blob new file mode 100644 index 0000000000000000000000000000000000000000..882bb826539cb222260aaf3b9e656f44bf170179 GIT binary patch literal 2176 zcmbtWL2DC16rR+pf(Qm$6rw^8g~_xb1f_WBL9tN8dzED}JJ}4~ompmP8@Kp_^r$xl zFP^0b51u@ThzAib-dpF*rm^jACW?V9fqDDA_kHhsZ?cAtzTN!%2DK0wtBez>Ga*UL z_eq}8GSRA#F`=`N-?}Gf>$S$cvkE21J@Qv183?jLn#89%El`Ab9F4pc5kFEXwfM z;c|_g1GV?xoc4RjQ|0c{bU^{mES`Tep}b<`nP95fcmWy#jY2(46%4Q{hN<^x&Ej0f zf_g)R%xOeoxUKSpjn^3I6dm-5-$~?lcfGqlTMN$A&JaNI@YC+|GfoA!7@oS#1INvF zftgTIDl!OZwq^hVGA!^+wIcw%rd&1u-T;1fMI7n_^l8waU*?1gJ4$I1@J0cnk44O- z6}AMZS<8X~Q=LHYyB8N_eaM4^CP2Jj}0N-qjMfP%6Ogwjg z`tCMLmdL_gCdJU;O4GrurZsnZm;k0WaxQ^WuCe-A1~?53|J-f&#~&xT(b5%k6. */ + +#ifndef _THREAD_SHARED_TYPES_H +#define _THREAD_SHARED_TYPES_H 1 + +/* Arch-specific definitions. Each architecture must define the following + macros to define the expected sizes of pthread data types: + + __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t. + __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t. + __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t. + __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t. + __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t. + __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t. + __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t. + __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t. + __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t. + + Also, the following macros must be define for internal pthread_mutex_t + struct definitions (struct __pthread_mutex_s): + + __PTHREAD_COMPAT_PADDING_MID - any additional members after 'kind' + and before '__spin' (for 64 bits) or + '__nusers' (for 32 bits). + __PTHREAD_COMPAT_PADDING_END - any additional members at the end of + the internal structure. + __PTHREAD_MUTEX_LOCK_ELISION - 1 if the architecture supports lock + elision or 0 otherwise. + __PTHREAD_MUTEX_NUSERS_AFTER_KIND - control where to put __nusers. The + preferred value for new architectures + is 0. + __PTHREAD_MUTEX_USE_UNION - control whether internal __spins and + __list will be place inside a union for + linuxthreads compatibility. + The preferred value for new architectures + is 0. + + For a new port the preferred values for the required defines are: + + #define __PTHREAD_COMPAT_PADDING_MID + #define __PTHREAD_COMPAT_PADDING_END + #define __PTHREAD_MUTEX_LOCK_ELISION 0 + #define __PTHREAD_MUTEX_NUSERS_AFTER_KIND 0 + #define __PTHREAD_MUTEX_USE_UNION 0 + + __PTHREAD_MUTEX_LOCK_ELISION can be set to 1 if the hardware plans to + eventually support lock elision using transactional memory. + + The additional macro defines any constraint for the lock alignment + inside the thread structures: + + __LOCK_ALIGNMENT - for internal lock/futex usage. + + Same idea but for the once locking primitive: + + __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition. + + And finally the internal pthread_rwlock_t (struct __pthread_rwlock_arch_t) + must be defined. + */ +#include + +/* Common definition of pthread_mutex_t. */ + +#if !__PTHREAD_MUTEX_USE_UNION +typedef struct __pthread_internal_list +{ + struct __pthread_internal_list *__prev; + struct __pthread_internal_list *__next; +} __pthread_list_t; +#else +typedef struct __pthread_internal_slist +{ + struct __pthread_internal_slist *__next; +} __pthread_slist_t; +#endif + +/* Lock elision support. */ +#if __PTHREAD_MUTEX_LOCK_ELISION +# if !__PTHREAD_MUTEX_USE_UNION +# define __PTHREAD_SPINS_DATA \ + short __spins; \ + short __elision +# define __PTHREAD_SPINS 0, 0 +# else +# define __PTHREAD_SPINS_DATA \ + struct \ + { \ + short __espins; \ + short __eelision; \ + } __elision_data +# define __PTHREAD_SPINS { 0, 0 } +# define __spins __elision_data.__espins +# define __elision __elision_data.__eelision +# endif +#else +# define __PTHREAD_SPINS_DATA int __spins +/* Mutex __spins initializer used by PTHREAD_MUTEX_INITIALIZER. */ +# define __PTHREAD_SPINS 0 +#endif + +struct __pthread_mutex_s +{ + int __lock __LOCK_ALIGNMENT; + unsigned int __count; + int __owner; +#if !__PTHREAD_MUTEX_NUSERS_AFTER_KIND + unsigned int __nusers; +#endif + /* KIND must stay at this position in the structure to maintain + binary compatibility with static initializers. + + Concurrency notes: + The __kind of a mutex is initialized either by the static + PTHREAD_MUTEX_INITIALIZER or by a call to pthread_mutex_init. + + After a mutex has been initialized, the __kind of a mutex is usually not + changed. BUT it can be set to -1 in pthread_mutex_destroy or elision can + be enabled. This is done concurrently in the pthread_mutex_*lock functions + by using the macro FORCE_ELISION. This macro is only defined for + architectures which supports lock elision. + + For elision, there are the flags PTHREAD_MUTEX_ELISION_NP and + PTHREAD_MUTEX_NO_ELISION_NP which can be set in addition to the already set + type of a mutex. + Before a mutex is initialized, only PTHREAD_MUTEX_NO_ELISION_NP can be set + with pthread_mutexattr_settype. + After a mutex has been initialized, the functions pthread_mutex_*lock can + enable elision - if the mutex-type and the machine supports it - by setting + the flag PTHREAD_MUTEX_ELISION_NP. This is done concurrently. Afterwards + the lock / unlock functions are using specific elision code-paths. */ + int __kind; + __PTHREAD_COMPAT_PADDING_MID +#if __PTHREAD_MUTEX_NUSERS_AFTER_KIND + unsigned int __nusers; +#endif +#if !__PTHREAD_MUTEX_USE_UNION + __PTHREAD_SPINS_DATA; + __pthread_list_t __list; +# define __PTHREAD_MUTEX_HAVE_PREV 1 +#else + __extension__ union + { + __PTHREAD_SPINS_DATA; + __pthread_slist_t __list; + }; +# define __PTHREAD_MUTEX_HAVE_PREV 0 +#endif + __PTHREAD_COMPAT_PADDING_END +}; + + +/* Common definition of pthread_cond_t. */ + +struct __pthread_cond_s +{ + __extension__ union + { + __extension__ unsigned long long int __wseq; + struct + { + unsigned int __low; + unsigned int __high; + } __wseq32; + }; + __extension__ union + { + __extension__ unsigned long long int __g1_start; + struct + { + unsigned int __low; + unsigned int __high; + } __g1_start32; + }; + unsigned int __g_refs[2] __LOCK_ALIGNMENT; + unsigned int __g_size[2]; + unsigned int __g1_orig_size; + unsigned int __wrefs; + unsigned int __g_signals[2]; +}; + +#endif /* _THREAD_SHARED_TYPES_H */ diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@thread-shared-types.h.blob b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@thread-shared-types.h.blob new file mode 100644 index 0000000000000000000000000000000000000000..624e80e0efc64099c47adbb2140156f945b7929d GIT binary patch literal 6920 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 F{{`{&?o0px literal 0 HcmV?d00001 diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@time64.h b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@time64.h new file mode 100644 index 0000000..c0f8a24 --- /dev/null +++ b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@time64.h @@ -0,0 +1,36 @@ +/* bits/time64.h -- underlying types for __time64_t. Generic version. + Copyright (C) 2018-2019 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _BITS_TYPES_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_TIME64_H +#define _BITS_TIME64_H 1 + +/* Define __TIME64_T_TYPE so that it is always a 64-bit type. */ + +#if __TIMESIZE == 64 +/* If we already have 64-bit time type then use it. */ +# define __TIME64_T_TYPE __TIME_T_TYPE +#else +/* Define a 64-bit time type alongsize the 32-bit one. */ +# define __TIME64_T_TYPE __SQUAD_TYPE +#endif + +#endif /* bits/time64.h */ diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@time64.h.blob b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@time64.h.blob new file mode 100644 index 0000000000000000000000000000000000000000..3ab13711334cc8b57cd92b52c592bc5b73f57e74 GIT binary patch literal 2215 zcmbtV&ubGw6rQvf3m&8(J@g0Kf(LaniG-jBL4=9{ErPj-;4+z=Y=-XcEHkqy+kd29 zyb0B#C()ySKo8=%7@Cw%yG}F_0Yc-oEdB-}~O%%jn?y>i%0)Lu4Q$ zPN<4ROng2hNl3Fm$u#x}l?-2NG;a`}W-ZbrnzK}KkIC3j5pz{%XqJUE4*s(U-jZrl z!~yn&;><{u-Ta5HP?Mxu5fQU6^*QMYqlq?tD0;XbN^0r@bnw-3EoPZ4;hK0})YFC< z?zz+-koxzU#GD#0qD)D^*}i!2rikO(h%u8!tzxCs5ZpT*bc~FMxE9-d zGMipzxZa`(WH=H9RdT*8lx#ES`m+?uiYH=&?bkJ1t=*l@y>&nYHx-%Zh|s&LLOdEo zKaslK$}_79YNJwSyouO4(}elF@AUjt(b=ew6F1=uh?Hw$28vT3>j72V$FARsL7kzh%&A47xyf;=jaQm!6>YbOyGi7Fy-{zB&w@3zH3X2{`}Fw538#Wv zG!O0NfpEE9U?-#(iU?B5tyxh55T* zd>$KNGQb>. */ + +#if defined __x86_64__ && defined __ILP32__ +/* For x32, time is 64-bit even though word size is 32-bit. */ +# define __TIMESIZE 64 +#else +/* For others, time size is word size. */ +# define __TIMESIZE __WORDSIZE +#endif diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@timesize.h.blob b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@timesize.h.blob new file mode 100644 index 0000000000000000000000000000000000000000..d282f50b3937c66945e83b86d77d61a747824173 GIT binary patch literal 2125 zcmbtVL2DC16yDU6;Hii?cu@-?!ekl=L7{>ND-% zn3!BB%=j1=l2n<|rDB+9if*iSZ(&BN9`0hxX=!*$wQ@u#ZaOqMLnTq!e$Kh4WU20 zET=$MoVYY6)M&ujxqR?$9w*RHi0VAo3c|hu#w_Wf&*G)EaJc*TVW?M!Z7Yi@W$=BukUepZKr+=WjOs!}QZ?Uu&=3X-)RVANv4{~U;6X!*))Cf;Njgmpw(V(UtNOVwPe!r7k&e_ze{!i literal 0 HcmV?d00001 diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types.h b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types.h new file mode 100644 index 0000000..0de6c59 --- /dev/null +++ b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types.h @@ -0,0 +1,224 @@ +/* bits/types.h -- definitions of __*_t types underlying *_t types. + Copyright (C) 2002-2019 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +/* + * Never include this file directly; use instead. + */ + +#ifndef _BITS_TYPES_H +#define _BITS_TYPES_H 1 + +#include +#include +#include + +/* Convenience types. */ +typedef unsigned char __u_char; +typedef unsigned short int __u_short; +typedef unsigned int __u_int; +typedef unsigned long int __u_long; + +/* Fixed-size types, underlying types depend on word size and compiler. */ +typedef signed char __int8_t; +typedef unsigned char __uint8_t; +typedef signed short int __int16_t; +typedef unsigned short int __uint16_t; +typedef signed int __int32_t; +typedef unsigned int __uint32_t; +#if __WORDSIZE == 64 +typedef signed long int __int64_t; +typedef unsigned long int __uint64_t; +#else +__extension__ typedef signed long long int __int64_t; +__extension__ typedef unsigned long long int __uint64_t; +#endif + +/* Smallest types with at least a given width. */ +typedef __int8_t __int_least8_t; +typedef __uint8_t __uint_least8_t; +typedef __int16_t __int_least16_t; +typedef __uint16_t __uint_least16_t; +typedef __int32_t __int_least32_t; +typedef __uint32_t __uint_least32_t; +typedef __int64_t __int_least64_t; +typedef __uint64_t __uint_least64_t; + +/* quad_t is also 64 bits. */ +#if __WORDSIZE == 64 +typedef long int __quad_t; +typedef unsigned long int __u_quad_t; +#else +__extension__ typedef long long int __quad_t; +__extension__ typedef unsigned long long int __u_quad_t; +#endif + +/* Largest integral types. */ +#if __WORDSIZE == 64 +typedef long int __intmax_t; +typedef unsigned long int __uintmax_t; +#else +__extension__ typedef long long int __intmax_t; +__extension__ typedef unsigned long long int __uintmax_t; +#endif + + +/* The machine-dependent file defines __*_T_TYPE + macros for each of the OS types we define below. The definitions + of those macros must use the following macros for underlying types. + We define __S_TYPE and __U_TYPE for the signed and unsigned + variants of each of the following integer types on this machine. + + 16 -- "natural" 16-bit type (always short) + 32 -- "natural" 32-bit type (always int) + 64 -- "natural" 64-bit type (long or long long) + LONG32 -- 32-bit type, traditionally long + QUAD -- 64-bit type, traditionally long long + WORD -- natural type of __WORDSIZE bits (int or long) + LONGWORD -- type of __WORDSIZE bits, traditionally long + + We distinguish WORD/LONGWORD, 32/LONG32, and 64/QUAD so that the + conventional uses of `long' or `long long' type modifiers match the + types we define, even when a less-adorned type would be the same size. + This matters for (somewhat) portably writing printf/scanf formats for + these types, where using the appropriate l or ll format modifiers can + make the typedefs and the formats match up across all GNU platforms. If + we used `long' when it's 64 bits where `long long' is expected, then the + compiler would warn about the formats not matching the argument types, + and the programmer changing them to shut up the compiler would break the + program's portability. + + Here we assume what is presently the case in all the GCC configurations + we support: long long is always 64 bits, long is always word/address size, + and int is always 32 bits. */ + +#define __S16_TYPE short int +#define __U16_TYPE unsigned short int +#define __S32_TYPE int +#define __U32_TYPE unsigned int +#define __SLONGWORD_TYPE long int +#define __ULONGWORD_TYPE unsigned long int +#if __WORDSIZE == 32 +# define __SQUAD_TYPE __int64_t +# define __UQUAD_TYPE __uint64_t +# define __SWORD_TYPE int +# define __UWORD_TYPE unsigned int +# define __SLONG32_TYPE long int +# define __ULONG32_TYPE unsigned long int +# define __S64_TYPE __int64_t +# define __U64_TYPE __uint64_t +/* We want __extension__ before typedef's that use nonstandard base types + such as `long long' in C89 mode. */ +# define __STD_TYPE __extension__ typedef +#elif __WORDSIZE == 64 +# define __SQUAD_TYPE long int +# define __UQUAD_TYPE unsigned long int +# define __SWORD_TYPE long int +# define __UWORD_TYPE unsigned long int +# define __SLONG32_TYPE int +# define __ULONG32_TYPE unsigned int +# define __S64_TYPE long int +# define __U64_TYPE unsigned long int +/* No need to mark the typedef with __extension__. */ +# define __STD_TYPE typedef +#else +# error +#endif +#include /* Defines __*_T_TYPE macros. */ +#include /* Defines __TIME*_T_TYPE macros. */ + + +__STD_TYPE __DEV_T_TYPE __dev_t; /* Type of device numbers. */ +__STD_TYPE __UID_T_TYPE __uid_t; /* Type of user identifications. */ +__STD_TYPE __GID_T_TYPE __gid_t; /* Type of group identifications. */ +__STD_TYPE __INO_T_TYPE __ino_t; /* Type of file serial numbers. */ +__STD_TYPE __INO64_T_TYPE __ino64_t; /* Type of file serial numbers (LFS).*/ +__STD_TYPE __MODE_T_TYPE __mode_t; /* Type of file attribute bitmasks. */ +__STD_TYPE __NLINK_T_TYPE __nlink_t; /* Type of file link counts. */ +__STD_TYPE __OFF_T_TYPE __off_t; /* Type of file sizes and offsets. */ +__STD_TYPE __OFF64_T_TYPE __off64_t; /* Type of file sizes and offsets (LFS). */ +__STD_TYPE __PID_T_TYPE __pid_t; /* Type of process identifications. */ +__STD_TYPE __FSID_T_TYPE __fsid_t; /* Type of file system IDs. */ +__STD_TYPE __CLOCK_T_TYPE __clock_t; /* Type of CPU usage counts. */ +__STD_TYPE __RLIM_T_TYPE __rlim_t; /* Type for resource measurement. */ +__STD_TYPE __RLIM64_T_TYPE __rlim64_t; /* Type for resource measurement (LFS). */ +__STD_TYPE __ID_T_TYPE __id_t; /* General type for IDs. */ +__STD_TYPE __TIME_T_TYPE __time_t; /* Seconds since the Epoch. */ +__STD_TYPE __USECONDS_T_TYPE __useconds_t; /* Count of microseconds. */ +__STD_TYPE __SUSECONDS_T_TYPE __suseconds_t; /* Signed count of microseconds. */ + +__STD_TYPE __DADDR_T_TYPE __daddr_t; /* The type of a disk address. */ +__STD_TYPE __KEY_T_TYPE __key_t; /* Type of an IPC key. */ + +/* Clock ID used in clock and timer functions. */ +__STD_TYPE __CLOCKID_T_TYPE __clockid_t; + +/* Timer ID returned by `timer_create'. */ +__STD_TYPE __TIMER_T_TYPE __timer_t; + +/* Type to represent block size. */ +__STD_TYPE __BLKSIZE_T_TYPE __blksize_t; + +/* Types from the Large File Support interface. */ + +/* Type to count number of disk blocks. */ +__STD_TYPE __BLKCNT_T_TYPE __blkcnt_t; +__STD_TYPE __BLKCNT64_T_TYPE __blkcnt64_t; + +/* Type to count file system blocks. */ +__STD_TYPE __FSBLKCNT_T_TYPE __fsblkcnt_t; +__STD_TYPE __FSBLKCNT64_T_TYPE __fsblkcnt64_t; + +/* Type to count file system nodes. */ +__STD_TYPE __FSFILCNT_T_TYPE __fsfilcnt_t; +__STD_TYPE __FSFILCNT64_T_TYPE __fsfilcnt64_t; + +/* Type of miscellaneous file system fields. */ +__STD_TYPE __FSWORD_T_TYPE __fsword_t; + +__STD_TYPE __SSIZE_T_TYPE __ssize_t; /* Type of a byte count, or error. */ + +/* Signed long type used in system calls. */ +__STD_TYPE __SYSCALL_SLONG_TYPE __syscall_slong_t; +/* Unsigned long type used in system calls. */ +__STD_TYPE __SYSCALL_ULONG_TYPE __syscall_ulong_t; + +/* These few don't really vary by system, they always correspond + to one of the other defined types. */ +typedef __off64_t __loff_t; /* Type of file sizes and offsets (LFS). */ +typedef char *__caddr_t; + +/* Duplicates info from stdint.h but this is used in unistd.h. */ +__STD_TYPE __SWORD_TYPE __intptr_t; + +/* Duplicate info from sys/socket.h. */ +__STD_TYPE __U32_TYPE __socklen_t; + +/* C99: An integer type that can be accessed as an atomic entity, + even in the presence of asynchronous interrupts. + It is not currently necessary for this to be machine-specific. */ +typedef int __sig_atomic_t; + +#if __TIMESIZE == 64 +# define __time64_t __time_t +#else +__STD_TYPE __TIME64_T_TYPE __time64_t; /* Seconds since the Epoch. */ +#endif + +#undef __STD_TYPE + +#endif /* bits/types.h */ diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types.h.blob b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types.h.blob new file mode 100644 index 0000000000000000000000000000000000000000..f0ed27ffea9dedb253aeb20fc1c39632d92119fe GIT binary patch literal 9886 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 UeG+!u4t?ryE!y+oIal79gu zDJelz(5Hlk0wI(F@ljAAP|VC;K1l9-24Tq`r=5E<@6DSzUnYkKm)^f10ihF}O3F;C zGAiUYohGap8=Yr@GR?y)QSTZRtmxAowUXyX#$0EPsZ5$KCoP_^Z2X@f;f^+2DjSDF z8OfbC#r1!viu7o14OJOWav|wZIZLe*i5iBZL^Ic&ki(C_wHoD$skAhX)1h_D$=HW} z!qC6hB$Ld=DdR?Cp52Rw&#QTS8Cl46n(7S0KAbOS1SlY_#l!vchn|sBskCZW&Sx_$ zoU}V^iV>bfMU|2-Pc+{uxqhxq1>&j9h4A*pHfe`dnI^1biAPgy2mLYsTgE$UPGddf5pOJanU@}Z_f^a* zGohHbN|WuZ8e8egJWZC0Rp-x)XC@?c)41Tq@{Oqj2PVjIFgLBk?+JVHnaKYyFg|P${5<~cUTP(5{ zv>=woB+B|O*S8R!FkT|2S=B2lzVNYIYj8%sf(v^U^h zGJ6<)dwpBI`SA;{PA|_vkd>8H9{?X0NYGkotp!1gwAK)Ct=(-0!R+OYFK?fGzxOkS k7cz*U6!_~P;FivM`5P)Zd)DazK(HD_OZeF*vjC!h13`Fd&;S4c literal 0 HcmV?d00001 diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@__fpos64_t.h b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@__fpos64_t.h new file mode 100644 index 0000000..06a6891 --- /dev/null +++ b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@__fpos64_t.h @@ -0,0 +1,16 @@ +#ifndef _____fpos64_t_defined +#define _____fpos64_t_defined 1 + +#include +#include + +/* The tag name of this struct is _G_fpos64_t to preserve historic + C++ mangled names for functions taking fpos_t and/or fpos64_t + arguments. That name should not be used in new code. */ +typedef struct _G_fpos64_t +{ + __off64_t __pos; + __mbstate_t __state; +} __fpos64_t; + +#endif diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@__fpos64_t.h.blob b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@__fpos64_t.h.blob new file mode 100644 index 0000000000000000000000000000000000000000..e45873de8bf1e4528deea4faa98178ba39ea4349 GIT binary patch literal 2837 zcmbtW&u<$=6rOdhsQF1%RUrydI;5&VuGX8hmVqER6ahj)2t>J*!)m-cYY*Msv1Voy zIS2%24hV7K)DuW>tT@4u8wbiifCNE^146w-+-S^uv$o^d>kSA?aaNu;-}}DzzIi(} za{T+&FW(Y}cpaH=kEukYUdZ>nZp?aZC9^d2m<-(O+dI#AA?r1~9Z&NhQ``?^YM4m5 zst4p;5VN%XKSA7msqToh?S?|}z)015?mw_1J6@)hC(ATt(1ugKoQnAps%f&5(w@Wy4bXp4(*0r5x@E*xp+RY2! zyizpb#!no=Or1+e0Oc)|ILd&lWfNlNNIWsoFn49{RFh5xoS(5Y@d_klu1^oI&TSt( z`$#^UsQO~wQDqiyF<)Fi=k;G6^*hqFhZspu<=Sj^Jz;NTt{$uKw<$*nI+(4U8nR`hnbv) z?#L_#IB95$(@X=jNNLLVX&^&hC(iule52ybUs$dXLMr_SKOg;gbffh?>3?zi@{Ld3 zH$MA-JPIp>^soN#4!QeqUE=`hw2j8*e^!uk!sQ?pT5SQLRa{c?m$4tIKP^nk=tbYQx@O0?5~R{qV8ZKKgim zh=?N_xXCEOc9He;`ACy0{8NhBSwZC;xArJmyc%Nukb-1dXX5Z}#r4@7voH zS-ZXh+?O_%Y7Z+_lwTVa^*k22zj1i^?$>*}Z~6EccGibt!`(83fZCP(8N?I>&>cW` oE;zdt{C=MF9mE`VbfkZh8yJXOsxQFa#kIvPWCr!vx@j5x16XV<82|tP literal 0 HcmV?d00001 diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@__fpos_t.h b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@__fpos_t.h new file mode 100644 index 0000000..bb04576 --- /dev/null +++ b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@__fpos_t.h @@ -0,0 +1,16 @@ +#ifndef _____fpos_t_defined +#define _____fpos_t_defined 1 + +#include +#include + +/* The tag name of this struct is _G_fpos_t to preserve historic + C++ mangled names for functions taking fpos_t arguments. + That name should not be used in new code. */ +typedef struct _G_fpos_t +{ + __off_t __pos; + __mbstate_t __state; +} __fpos_t; + +#endif diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@__fpos_t.h.blob b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@__fpos_t.h.blob new file mode 100644 index 0000000000000000000000000000000000000000..02eecab704151fc9ca815953f67ab7d9fae0f62f GIT binary patch literal 2802 zcmbtWO=u)V6t12fmQ6AVAw*Y#jIE1Nvh;K&gh2ydA}WG6_m)FjQ(Zk>Zg6V~;jL}1;D(do}n zYcWa>`c(Nrkam^Eng%xXR}=d0HQ^NNAjL!q!*l%T=@&&Fn+ErYNK?U0*pIX6M1TU) zDsy-;duS`tETxJa)A`kO2b!uQ+&2-nh=MA4y(AIjW?t*>rBomute$^XWHth_;`S*qg_LWe zV@Yx7sTfNddN$wr!C*b&#Sl-W2hNh#S998GEqE@CL!8V9w!B~hTUU9a{XA0}>0wFY z3($O1dsS}|VFpuV-NbsYU|q^XhOJSmOs7~+QJwQt8>%!C6z%N#cGvh%wYFQ^lW_;L zLZeNQC*K`>I^{s)0!0(pDCW4_2FB|mNLXq@$}Lv`VHhs(LO%Njy`Wq^*VX`bCRte3 z2h*p{?))^5Fw;?jdllZu%t(7Iq+BySFi?}0RSJw{&jf${S>w*Mz&a#e9|mI7fYL!T zd71T^l_!Q1SV!2vm)qhZdqE2VDrLfy?Q(ew;r$ZMU7pqgrMmWb25*wAtGrzJ&b6`~ zcYfjwOkpm80OTz#al&9ut2V^kRd;5hF?a3qRFkFxuFN@_c?lwPd3g7|`WuN%~1_(A)DHxItO`;XPG?G{>DSwlBs>T29`IZml7B3H*ujVa;V8LJj9 z7*$buNL`45I|d_*&tAXorf_{pXlN0X8wu$~87GZ7;T(s%xNyZ<`6n%DaH zH?N}G_cqk5a%a~Q&~9>7LCxla_Bjx3+$tlQGaLguje29F?hFs=ACpH`zyE8DYZf{n zi6{y*+Sphbp&%={vs7PNt2>t_DCa28t3yH7`KMwIpOJF8BoW`6IXp=0pIP8$_4of9|= Vt!^&Db4%+>O_LFn)7-b2+y}DnCRzXh literal 0 HcmV?d00001 diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@__locale_t.h b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@__locale_t.h new file mode 100644 index 0000000..028dd05 --- /dev/null +++ b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@__locale_t.h @@ -0,0 +1,44 @@ +/* Definition of struct __locale_struct and __locale_t. + Copyright (C) 1997-2019 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper , 1997. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _BITS_TYPES___LOCALE_T_H +#define _BITS_TYPES___LOCALE_T_H 1 + +/* POSIX.1-2008: the locale_t type, representing a locale context + (implementation-namespace version). This type should be treated + as opaque by applications; some details are exposed for the sake of + efficiency in e.g. ctype functions. */ + +struct __locale_struct +{ + /* Note: LC_ALL is not a valid index into this array. */ + struct __locale_data *__locales[13]; /* 13 = __LC_LAST. */ + + /* To increase the speed of this solution we add some special members. */ + const unsigned short int *__ctype_b; + const int *__ctype_tolower; + const int *__ctype_toupper; + + /* Note: LC_ALL is not a valid index into this array. */ + const char *__names[13]; +}; + +typedef struct __locale_struct *__locale_t; + +#endif /* bits/types/__locale_t.h */ diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@__locale_t.h.blob b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@__locale_t.h.blob new file mode 100644 index 0000000000000000000000000000000000000000..f0405881cf9b066f52a735916ab347ff9d6802ee GIT binary patch literal 3521 zcmbVPO>7%Q6dtFhttu2MX!%KzHAzsYo2)l!BFjx%HEl^nL)2D^5tIt8#9fum_;Wittulf3;#E&wJyR{?pG|Ahkz==#^L`!5FM~1 z8QR>ZUgR>n#FezAay?$M%AOz!Xy5xC%I=O*jetqpacU*0h+>Wjy|Fp83<5+UlN#sR z=7%PmN#k2o)M~=lVZUw;1Ci_l9cm6K8MMEyUrAt9YA7bxNuYtc$e4VJ*O=sQu|btl zPteu4s+*e`#Xv>?h$3FAdhL(iLY+9dyr`4@kr)M{b6;8TYeeX$xvn4_%uK2Dx|LY7s)pcwOIAt9T+1ZT z0`-%-Rg`IB!04cG$I*rLU}(AsPN%IAw7|%rv2n6fV+9^yutvNA1i)ve{;rZ@PuB~1 zCqHLF^;M!QkNZ(Q_Bn6{>9`-CzLjY8AePUtvPej)1Gv~)w0^enguX>YRPxMlbj>02 zT~3TUdrX!Y2+1pwsW?wR7duX3B=jRcXPcYSF65?j)1A8sCImFmMPB>)+~*I?nf97w z9$bI=akAO;fClDl7Y>&!rgv-(0$6!^`^N_xGH<3lI$$w z>PX)s7I&GixN2yq zPce4~kyr%eLd0;Xfk_Z}oEju~5KDNb~WdlJKT#H&&Rfa`*2P>C3 z<;`Wpvt>^}Sb6B`$|HD9}Pr*D3C>A9U(pStt0bL?bs#VMXW zv$*2G(bLC|E-yMo=VgeQ9*;LJ?iGV)ppIQTcP$L*zb~O?N+Y-B0ar+cDZI)gk~iis z)SsOnMyG^g^B9;PU0%ju5ML!%P<`+SI4x9(EQ~drl98_{APEI4N^m52Uj_`$igKJ)3NO;G#_J3d7cjLU zA%t?`;To%zz~Vq^v@p7)NsXpQms+ISK8i^}9etQ6;fZzl-{ Y1=cp=qk%<1&;c7C88=|#>G2lWzpwf_=Kufz literal 0 HcmV?d00001 diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@__mbstate_t.h b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@__mbstate_t.h new file mode 100644 index 0000000..1d8a4e2 --- /dev/null +++ b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@__mbstate_t.h @@ -0,0 +1,23 @@ +#ifndef ____mbstate_t_defined +#define ____mbstate_t_defined 1 + +/* Integral type unchanged by default argument promotions that can + hold any value corresponding to members of the extended character + set, as well as at least one value that does not correspond to any + member of the extended character set. */ +#ifndef __WINT_TYPE__ +# define __WINT_TYPE__ unsigned int +#endif + +/* Conversion state information. */ +typedef struct +{ + int __count; + union + { + __WINT_TYPE__ __wch; + char __wchb[4]; + } __value; /* Value so far. */ +} __mbstate_t; + +#endif diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@__mbstate_t.h.blob b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@__mbstate_t.h.blob new file mode 100644 index 0000000000000000000000000000000000000000..fd62107e3c03564c8286ea369cc22e63ed776290 GIT binary patch literal 2807 zcmbtWL2nyH6rMF{Yo*3b94jD$A}0-^t+d_*Ow>daH9{aE^^7X2YBk;++tcjMSTnP> zoD1S7a76;Cf&)ErEEgn#xV1MV4j>_lK&ntV!KuyiX4W>FdcA4HO0hS)Z@=%o?|tvB zFQLPSYrlMrEaY@~NE|Fe${e5conC;49l;~!JD7X+Ya5%}j*o{;XVa0yiv)2!&J?DM zh=zxr^8(B|{}aR>aIr^O$M&fpp5kJ7+pExb5q$8Cd(3af}I981= zI{Xc4Jpm*mSh*qg1lJGmuO8l=rZCvd_IMa_ro(>K9O+EjfC73+ee?d)H%*#~hD6eR zGD$K0xQS>D6_Eqn(-FF1M+g#(VUI}13%IxEnp*$N3D)yg;~1>n<8rH+MCJiXB_dDF=9WV!(lv+bg1g1Z3?bx5`~b09RsF`h|wghroI?&;a3 zeqJARpSGH_(;Q%`+5zt5cq7uIZ&RNzMb%J4O8vpam`wBB0WAIlG1Ma`9&_S!01rT{|p-*GSZob|U=N z`K;}mo;VFNHJ3mD@@AGeVbFK;HpDZm<1sg~&Y*dOPQ|w$e7@Fw;14k4tR6AS8A7Ov zkaceET=_|14!)O8!=*y}@Q+&`-23GADvJ9rK03H^S$zl3zW|Z(!e99H=l6cNgLWbC z$YI4F_OE|>xBcS*ieI^R3w`#aCiN_U8S2SCtGjO4(yfR6l0HW(E6adgovYRgRtZ&W z8aMv?Rh!Ug|WsU*jtrm$%)h;E>_IqMT4p=ihkQm9kb<|4!jt~8KU zS}45?uM{imsCWu+<9}Aq&i4*(zGPTNAJ$@VaqX%VfB)vsZ|r_^cEyEb zqNNKG!*4GiVlSOf&OzRcfchpdS_{@rL4Ur5VoURln;kJ&wEzRks1ucgYF+S`wYa|6 z(4|1CjqRkAu_I<7y70p>VhR;E$^cL!rL+; eX#H9ly|2&elGoc;z>2hJZVii9;X_0Q5&P&}zz1aD6keKJRO z28*#bue@^^GyYx?h1^Y5#z`Z3Lv1_lBC-n5I+Mq4d2TzhG)_d%*YmFmW`{t&xI+=6 zkn)z~fK6g^-?3i|}F%T0hz*DRG8hLjtw0s=D};e=xH5q+T^GgIUz zQYKZ^#p-w3%V{2P>3S*eS9CnbfsSM%l#_0RP}4?K7MPnp27hz+*yr;Fc1au!VH^${ zP&#JF3zutNPK>9pj5xwin?1M3k1`FkfC*z#X?>T=TL@2=Wa;Yk7AUQ2U*+%|$-6cx z3g6i*+k>-ngfI)!1__|Nr4pwZ@V091pJK^QauY&o^Z zLC9G`g8Ev0qXy?{4Sop5uYLdGw{M(D3?awiJ0atjHXq*p`tBcJpv9rbi#W58Cr-Q! zAglG&b$}$R>mFf3d|O~^2ShW`=?gfusc&wyKY9|UW`Ud^9m z93aC9t>oTma4 ax3#qe`Bv6e&erh!$Wsp*?Z*2Tg8u*% + +/* Returned by `clock'. */ +typedef __clock_t clock_t; + +#endif diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@clock_t.h.blob b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@clock_t.h.blob new file mode 100644 index 0000000000000000000000000000000000000000..c144e0581addfe7300882ca83e1762f3cbc9dbcf GIT binary patch literal 2265 zcmbtWzl#$=6y7~0mFQu4RlGY8l+9d@5VSa~6a_0=i*~0hT`2q9hd*A!s_ul4$ckpxd^IOmN&`_of zVU==$DBD3UQ9!En2M5d_}5ccIboqd9VZ=-Ql)I*ruoVz3J)@=`@J%<2~ZoA z6BE|v)`dodvVjxoS3}A%kW(#V1PZBPI8+SNKo7BEG;n+yg2#q|a+-><-Xp=#;xZLj zYbj@}n!Y;7BXoCgvVeeffvdl|pv<_6TqOZkWViqgfksU|Oe9RE%%jAaZ_c|+P>!9U zs$ExlK=W8LQ|4(lUS*_JwBJK+*`Q0Ejn2k&-tDMcLqL)HpKd>!u^_lbv&60xIIgyf zz0PHr@DxI-t=Rwp85Ve^9DYEbQ?49rX8@8&vdw8zAD~bDUOmlS%*`Odaf3H<82x}# zCJZ+PKuufLC@@wr1b=vb>gBA!hLRw&gEMYG2*spmtF`U@aF~C>bVv)UU3qqz; z!nNyibqnnShSqLRXMsvxW0BiONgnB-6u!S!wd9UY9Kg)YW%)F!EOD9vPMbDF?Mgf} z(ImIunrYHZfafiZuD^S-_4LY_S72P*xi$=VI}Du#L*uQiob|@9-|+3XmRqYQ{gHp_ z$NP`>USFJCo8D+oZmzGN_HHrzAQOzXqoRGs9h~o2i1pUylHc-Ln}9fF;P5?v^x)CM p`!DW39!()b%gg@5pf-4Qt^9q+aB|r0T5|rfZ;|b1-y8Wh{0})vduspy literal 0 HcmV?d00001 diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@clockid_t.h b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@clockid_t.h new file mode 100644 index 0000000..b17c7da --- /dev/null +++ b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@clockid_t.h @@ -0,0 +1,9 @@ +#ifndef __clockid_t_defined +#define __clockid_t_defined 1 + +#include + +/* Clock ID used in clock and timer functions. */ +typedef __clockid_t clockid_t; + +#endif diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@clockid_t.h.blob b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@clockid_t.h.blob new file mode 100644 index 0000000000000000000000000000000000000000..805a2f0b0f79a265cd520b31b47234314a892c36 GIT binary patch literal 2295 zcmbtW&ubGw6yB|plZVoS6uhh!N)aa0NDNx&$sbVg>_udm%uJG@yE9>Cwq^T2_z(0h z=t)FG)Qk8B^yaOINcAA%(UUaJn@wWUY&MF4{D67;zW06adv9_zIQ@R*)0-d+a8IQi z6P*f)8Q;VGgydbVGRZJe6kXeF+{BFJP29kS(@gW2Drt$3T-RxEjwVEQ|1$~NS9({- zE@DD+YL(8n|Dmd&fit7AkTl5{$8BK^HkKu#jXH@Uw%!X)PaN0TD4X}W!Ev0njU|@H zKJ*)e{=FuW6C0<5Y6Un4mrq~M;`lNoqAE?5gs{(N%jvi*PFe$pM`sT`BP&vF!~vhr zrkz`E_DLTiJc$`q3cfT^bhqFN7MLy9i6^8*?(K`M*6!}ky*q&TwKP?M2({}f#8D$U zePvqBBC;x>u{xtRo{MdAgDK-3ujh}7%7%%&xP4B6NVz7qr#WHB^oZsR`FbmYhrR+j zRb-q+DeAerTqEZ|?fo~W{XXSHxqBp8P=GUw=U+~!Uoi4a5Ye=^AR7jas(P3x7+{sP z6YtR(i*v~Y@rJ50rx9JlZGls5ywXUgXse0+PQo|poAu4{T5zUzh5(XB#}A%NnI7C? zc;Yq>9GBY#WcHm=S?2jSq|vkxo1N7vB=TI{NJ|2~)tUtcSJPZAg%M-5kdxE!{Y;BzY&gzkag DW!sA~ literal 0 HcmV?d00001 diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@cookie_io_functions_t.h b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@cookie_io_functions_t.h new file mode 100644 index 0000000..e3b6cd4 --- /dev/null +++ b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@cookie_io_functions_t.h @@ -0,0 +1,63 @@ +/* Copyright (C) 1991-2019 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef __cookie_io_functions_t_defined +#define __cookie_io_functions_t_defined 1 + +#include + +/* Functions to do I/O and file management for a stream. */ + +/* Read NBYTES bytes from COOKIE into a buffer pointed to by BUF. + Return number of bytes read. */ +typedef __ssize_t cookie_read_function_t (void *__cookie, char *__buf, + size_t __nbytes); + +/* Write NBYTES bytes pointed to by BUF to COOKIE. Write all NBYTES bytes + unless there is an error. Return number of bytes written. If + there is an error, return 0 and do not write anything. If the file + has been opened for append (__mode.__append set), then set the file + pointer to the end of the file and then do the write; if not, just + write at the current file pointer. */ +typedef __ssize_t cookie_write_function_t (void *__cookie, const char *__buf, + size_t __nbytes); + +/* Move COOKIE's file position to *POS bytes from the + beginning of the file (if W is SEEK_SET), + the current position (if W is SEEK_CUR), + or the end of the file (if W is SEEK_END). + Set *POS to the new file position. + Returns zero if successful, nonzero if not. */ +typedef int cookie_seek_function_t (void *__cookie, __off64_t *__pos, int __w); + +/* Close COOKIE. */ +typedef int cookie_close_function_t (void *__cookie); + +/* The structure with the cookie function pointers. + The tag name of this struct is _IO_cookie_io_functions_t to + preserve historic C++ mangled names for functions taking + cookie_io_functions_t arguments. That name should not be used in + new code. */ +typedef struct _IO_cookie_io_functions_t +{ + cookie_read_function_t *read; /* Read bytes. */ + cookie_write_function_t *write; /* Write bytes. */ + cookie_seek_function_t *seek; /* Seek/tell file position. */ + cookie_close_function_t *close; /* Close file. */ +} cookie_io_functions_t; + +#endif diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@cookie_io_functions_t.h.blob b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@cookie_io_functions_t.h.blob new file mode 100644 index 0000000000000000000000000000000000000000..96f012e39b4d682d9be6036e614ca0930abc148d GIT binary patch literal 4791 zcmbVPU5F%C6~5K9khDu!R-?--$Tc(Q{8V+#j$<=_>XO~ruq4?TW@fVq8Y-2B#;N++=L|$iXsU~WKjso5(5b#x;vh8tEy+Z zySh92&`ncy{=Rd*^WEFCAT2LF}ezG24w>JhFYZYqvwU(}+b9`L-)OYhnK6 zvhBN_Mf;>3F;_V)*Na89Ny=X6Mh#+J5%o*VQ+$_M-rStkWUkNR|2wL+C*sRIYFIvx zA*zTw-})a4B+GUpW1B}_nE1@Db0ux5{E*kJAQY~GvhUsk*n?K8(`M3koK{^bS20JM zzT0maKm(GPNsM!||E12R(?pghS}hTw+28xkph@;}w=~DC>u4YT=|(|S^^Rh4&uwF% zfnsz%#am4Bt85%HFBIP86xDnE6{Uf61Hj4+GxV>IuydTV=N?(dq{yPdc0$v6q%8R8 zCXDJiB8bOV<~TuH$l79RS)4T;qEvC>so@36jt)+y0ViY4$YRp<;KmAe-Ed3+KpBmH08&cND@!$}wrBzR zrmL)wN6D3xvO+r0Iv%Cow+mU@PTQxevfS8fj;Y1Ql1DKh6etKHsfU{911rTMpSzl9 zLzYByTk?ivD$O&Bkd9Mm3G=8e+FJDNrRscjzAH08cIXL$y!pm=ulFnia!s-jlnh@N zlMQ!8I3aJLNingt0q!@mT#+hQOG3hW|M(r zz|Ol7g(E=3u!cjhW3`G!U~n#|4EUKePFpq)p?vBKy}TMBJm`SJL=Ek#r77Sct2A8+ z+sz^>+6dP@E$xfx<^ZvP4ni^Oh;zZ z#yZ. */ + +#ifndef _BITS_TYPES_LOCALE_T_H +#define _BITS_TYPES_LOCALE_T_H 1 + +#include + +typedef __locale_t locale_t; + +#endif /* bits/types/locale_t.h */ diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@locale_t.h.blob b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@locale_t.h.blob new file mode 100644 index 0000000000000000000000000000000000000000..684329b1bfcc20d1a0630bab30af1f1f44f4c8ad GIT binary patch literal 2697 zcmbVNKWI}y7=KYmhk`=DDOl;ydbw6ZXi=dmRSQK0JNRcfF840U*_XR;cdu>Sy1BdQ zpo4>gi{K!Rjvd57p@M=GQ511-aFWLRlcYB9<)vCkA>{jh-|zdr-}k%mVC(hak1v8; z0PCVbA(josVMv!@Gs3N!6fqAW76crdoSK0lZk6B^

Yvz(k5-J=jMg%xeKy6_uNm zXtqoNnV0}|ibE>@8x^bwxx{!4giIP#AzP>ZfnYELVbQrM;s73;7 zLwoC!X*(IETTQAULXC>jSX1Oezx9V!%>ZIamBo40|D&ts%5XqLqanBr+w2cBLxM9s zY6w>x+Rr!ZDXc0jP1Oo+TA&0OS5LDBRqPfW))|QeS@Kif?2f$J6slbEky(IB%a~|1u(oO`NJ3h5^Zb#)j0myBC}ILtV{Viy zxXP?vmqyb-)v=@@aI9_b>0|Uwb*Q@KG$|Ptj*y)}76+qX(m5?)1S*|8(-oLtu#BT2 z1dM*%&=M_qt*%a&QMm+6_jRm6#CW{w^=mkrc{A>_f22ydsonS-D}W`b58(ps(6VF` z3F{6bu0&4siTk2FWY}qVz{R*rSFEO}_I0wgo*HTPQ7%E}fN;7vS)A;7jZ#o zl4t9ivF#?>aVX|F4hOz3POLUJ0bb*=d3fWB0$w8J(KL#GdxM2Z_|G=G#4>snY+{BJ zrsBHRyipE(PKIrBVuA=>Wllxs-mbsMjVE{DOYGQI5bSM#z4)BId+@s!B>vi8?tWNX zTfctZW*R*gwsQ;Jl?P*EBSDbMkLAmIa`_-%wkYl6_lt+_JzF{P+hO*;c5(cRv<=t! zKE90~%+4O{@aYkBV7dHA{>Z*uuKi@=&cltXw>Qz5`Nb<}@!I9ND`?@;+0zSiXc1j7 dxkpF+b5KZ+C`=jJ2SyH@+++XG2JM{5`2&6MBf|gy literal 0 HcmV?d00001 diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@sigset_t.h b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@sigset_t.h new file mode 100644 index 0000000..8b27e91 --- /dev/null +++ b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@sigset_t.h @@ -0,0 +1,9 @@ +#ifndef __sigset_t_defined +#define __sigset_t_defined 1 + +#include + +/* A set of signals to be blocked, unblocked, or waited for. */ +typedef __sigset_t sigset_t; + +#endif diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@sigset_t.h.blob b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@sigset_t.h.blob new file mode 100644 index 0000000000000000000000000000000000000000..766ceada821179de177788950b13a8a67e97c82d GIT binary patch literal 2365 zcmbtW&ubGw6y9wmCl5tD*R?G@sGDgtgnAGZQ4#zD1P{w(W|9ouoe49uE$JWO#j97r z-Yg#cbrAGy{{Rsb5y2v!#FI46n@zSGv)Nhq68Bqq0aW%gBR0v91IZ>nIuv`*k`Cw1l_S&th5>q_x?U~j0{hh=G$yG zoA$sky@mS_;Ybt$r!RG@nMGD5)JCPm%&x5m8WGAmPR}0|$VQ2rxP3-|NVz7arx>Q8?qS7f=oQ2lCWp+ z!T`&(9XpRsS)2*Vu`^VaIipDPu4X2ylv~d#)oLQQYtVXqt-h9zyEUtAG=SgxaPRSi zPr(J6#df2>ak&k^>oSUY0wLv=t4IMAj_^V@`;dJ~k-{9gndG!eU(mnRoDFjebJK}& zx1#4MjC9B;6NZ}sq{>@SDKJ)D2!6A3a(7Z-LrK`T12Jkq>7W5FSg&b0FdW-;gdu(2 z?1@c&lx=JaBBoT#wd-z+VGHJ^g@t|{8Fj_%)n^Sk*e. */ + +#ifndef __struct_FILE_defined +#define __struct_FILE_defined 1 + +/* Caution: The contents of this file are not part of the official + stdio.h API. However, much of it is part of the official *binary* + interface, and therefore cannot be changed. */ + +#if defined _IO_USE_OLD_IO_FILE && !defined _LIBC +# error "_IO_USE_OLD_IO_FILE should only be defined when building libc itself" +#endif + +#if defined _IO_lock_t_defined && !defined _LIBC +# error "_IO_lock_t_defined should only be defined when building libc itself" +#endif + +#include + +struct _IO_FILE; +struct _IO_marker; +struct _IO_codecvt; +struct _IO_wide_data; + +/* During the build of glibc itself, _IO_lock_t will already have been + defined by internal headers. */ +#ifndef _IO_lock_t_defined +typedef void _IO_lock_t; +#endif + +/* The tag name of this struct is _IO_FILE to preserve historic + C++ mangled names for functions taking FILE* arguments. + That name should not be used in new code. */ +struct _IO_FILE +{ + int _flags; /* High-order word is _IO_MAGIC; rest is flags. */ + + /* The following pointers correspond to the C++ streambuf protocol. */ + char *_IO_read_ptr; /* Current read pointer */ + char *_IO_read_end; /* End of get area. */ + char *_IO_read_base; /* Start of putback+get area. */ + char *_IO_write_base; /* Start of put area. */ + char *_IO_write_ptr; /* Current put pointer. */ + char *_IO_write_end; /* End of put area. */ + char *_IO_buf_base; /* Start of reserve area. */ + char *_IO_buf_end; /* End of reserve area. */ + + /* The following fields are used to support backing up and undo. */ + char *_IO_save_base; /* Pointer to start of non-current get area. */ + char *_IO_backup_base; /* Pointer to first valid character of backup area */ + char *_IO_save_end; /* Pointer to end of non-current get area. */ + + struct _IO_marker *_markers; + + struct _IO_FILE *_chain; + + int _fileno; + int _flags2; + __off_t _old_offset; /* This used to be _offset but it's too small. */ + + /* 1+column number of pbase(); 0 is unknown. */ + unsigned short _cur_column; + signed char _vtable_offset; + char _shortbuf[1]; + + _IO_lock_t *_lock; +#ifdef _IO_USE_OLD_IO_FILE +}; + +struct _IO_FILE_complete +{ + struct _IO_FILE _file; +#endif + __off64_t _offset; + /* Wide character stream stuff. */ + struct _IO_codecvt *_codecvt; + struct _IO_wide_data *_wide_data; + struct _IO_FILE *_freeres_list; + void *_freeres_buf; + size_t __pad5; + int _mode; + /* Make sure we don't get into trouble again. */ + char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)]; +}; + +/* These macros are used by bits/stdio.h and internal headers. */ +#define __getc_unlocked_body(_fp) \ + (__glibc_unlikely ((_fp)->_IO_read_ptr >= (_fp)->_IO_read_end) \ + ? __uflow (_fp) : *(unsigned char *) (_fp)->_IO_read_ptr++) + +#define __putc_unlocked_body(_ch, _fp) \ + (__glibc_unlikely ((_fp)->_IO_write_ptr >= (_fp)->_IO_write_end) \ + ? __overflow (_fp, (unsigned char) (_ch)) \ + : (unsigned char) (*(_fp)->_IO_write_ptr++ = (_ch))) + +#define _IO_EOF_SEEN 0x0010 +#define __feof_unlocked_body(_fp) (((_fp)->_flags & _IO_EOF_SEEN) != 0) + +#define _IO_ERR_SEEN 0x0020 +#define __ferror_unlocked_body(_fp) (((_fp)->_flags & _IO_ERR_SEEN) != 0) + +#define _IO_USER_LOCK 0x8000 +/* Many more flag bits are defined internally. */ + +#endif diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@struct_FILE.h.blob b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@struct_FILE.h.blob new file mode 100644 index 0000000000000000000000000000000000000000..1b43a98bca0aaf5939acf4ad5c7518447a9c0379 GIT binary patch literal 6691 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 literal 0 HcmV?d00001 diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@struct_timespec.h b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@struct_timespec.h new file mode 100644 index 0000000..5b77c52 --- /dev/null +++ b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@struct_timespec.h @@ -0,0 +1,15 @@ +/* NB: Include guard matches what uses. */ +#ifndef _STRUCT_TIMESPEC +#define _STRUCT_TIMESPEC 1 + +#include + +/* POSIX.1b structure for a time value. This is like a `struct timeval' but + has nanoseconds instead of microseconds. */ +struct timespec +{ + __time_t tv_sec; /* Seconds. */ + __syscall_slong_t tv_nsec; /* Nanoseconds. */ +}; + +#endif diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@struct_timespec.h.blob b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@struct_timespec.h.blob new file mode 100644 index 0000000000000000000000000000000000000000..0db4585d89c24b0cf7eb2038db66adc5a4a027ff GIT binary patch literal 2601 zcmbtWO^72!6s}}*2$>;_A_{w0+F4me==4NlSQqxP!w3WZ3_Bx;9(t>*D@ifkRiUbS zhKvZy;>D}p_oUzt2;S6_tQQZucoIQD(Zz#^r#74WZ#d4=FBQRy81s*k#>+79SF&iEapKZtO<;b6A}5nL{Zxs zki&b>>wJ_Q4Y>)zFpZ3*mWM9%4-Eb9oJdY>m{O({);W0m@bmdP4ue2ij*61z!!HDjVw3&bchkIi8)sCep#Z}Zr&?eU>+`zC#3b^?ZB3E z_x$Dy8(8u8!c=)h#IDOKPK4+UmFaf!$g+gS>WtZNVQn)q0gHLh@%dLVvVrC__RWB5 z9{Uaewo%N;NqlAKz;nzWKwhqWu#|R&TA-)%-cch+&>l_B008Q{hKex`t?S4^^{Hlq zGqMF(v`myl;Y6w|N}TEDJj-P)sB=h}+l=TNZu2_jPAZH9M!TKBEt%kQYpu05opW$0 zD2z?s{ps}&W?YQ&8=k-_!Q*26(c~&jM2aEBUMop~70&QXKJ=JJ_#2XpTvM*vTt*|3ZHI=NCV5<8VeCNaEPiG0XG4qEoI7b2$P8j0C zy_yvRqY3OGis_4OahAP6f{<&S2;)>PmJn_%@xra?EKta6UuJL%$s*(D#CI0Sh(YkO*E-psn3Ws6F^99{O!A+HKSYW3XKcOc{t!+7y^+D z#0U-kA6jz${3UMK+pdE#=D zymX8b&@4T*)cvPgLzcVO>R5QZ_0IMCZ{K?8=Wu)H`YY=@;m+oZ8{1nO>u}~>1m)n_ z%R7DMwLz)sN_DM@zdK}H!Az6h!Z4R<77+q^_|h`j&M5;hjYk`+2nNJk&B6Q&_)zHV literal 0 HcmV?d00001 diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@struct_timeval.h b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@struct_timeval.h new file mode 100644 index 0000000..70394ce --- /dev/null +++ b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@struct_timeval.h @@ -0,0 +1,13 @@ +#ifndef __timeval_defined +#define __timeval_defined 1 + +#include + +/* A time value that is accurate to the nearest + microsecond but also has a range of years. */ +struct timeval +{ + __time_t tv_sec; /* Seconds. */ + __suseconds_t tv_usec; /* Microseconds. */ +}; +#endif diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@struct_timeval.h.blob b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@struct_timeval.h.blob new file mode 100644 index 0000000000000000000000000000000000000000..511fb9203204ccd019e194868b9b50e2f62c81a4 GIT binary patch literal 2567 zcmbtWL5mzk6t12fTz8CPP*GTdR5m#UdulfOyw+=du*8U(ZJ{;j~Uk@Jiod19EGMPXzlbndvy zrRfN=B2u0Y{%4YKUz=T(55ia(DV#Q==l=sLvc(E(n94<3#FF)tv&_0URlTsEYVJA- zIk*eGE=IZ0P+As6Sr5eBw6wMzSterH_k8|QgKUz>lRK0G z8>!~RB}Vc%v!tZ&yjX^yXbed*(mp7{PzG%hGdalmO5 z*#a(hoyV}N$ol#^nf(2Q??J2CdZrnS-(15NkUm zSZ%MKY6Pp~kp^ICjPE~o?=|}F^$*DS=l8#S`-{_`oPCEpjWEfWfA!W+m%qLH&5_>9 z9S3cl^kMK)wzbw=d$Ji^oIaesAC{O^AS<(vb5u<^*x7M=5i&?lb=u_B!{!iwi?%v{ zH=4*|=ifL~KF9B!N`KZ7Vo4(S$X5u6OpH}JJf#sTJ< g@==CIZVnSddi?AO@_H#QpjmrrZ3EFj^BX0a2l+$W761SM literal 0 HcmV?d00001 diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@time_t.h b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@time_t.h new file mode 100644 index 0000000..ab8287c --- /dev/null +++ b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@time_t.h @@ -0,0 +1,9 @@ +#ifndef __time_t_defined +#define __time_t_defined 1 + +#include + +/* Returned by `time'. */ +typedef __time_t time_t; + +#endif diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@time_t.h.blob b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@time_t.h.blob new file mode 100644 index 0000000000000000000000000000000000000000..bf801e9700f6aadf2b6b2bfe68e5b8a180ecf1c4 GIT binary patch literal 2260 zcmbtWv2GJV5WNe?RSK6V4Tn=8Axg9RFy2c^!lS8S6|CYBH$^ z7rSJV(qd$Et~jBZ#Wy1 zSv&?@VPbHg@%~%Ueh+zy?k-KwApmCa^;Z`(DJ$}o#MH3yYP3}2XzF~BdiO1vS12y2 zw@RJutQ=Y4N;&E+RT&9d^?Sr`8*;1NX?NxW4|auCBmILC<4FqO5#|`E5Bl?nZc1mE3`n}aO_o#Hkl#Xh;p5su*k_+Xe zD-delvRZ+u8Da377waz<1$Lap6BvnU11d)idEtW1tBKJR77|7HYFnIVFK9s`j7g>S zU9N5+JYo3C_3158sq0AP@GQv(HZFzlZ&oeL)3byyOA`kPK;Fs{=Na&{ZuVC$yFVtH z2Rup=+=7VbSO&vSCKv#1Na!e-c6!~ebDB!uYSsR(-i literal 0 HcmV?d00001 diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@timer_t.h b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@timer_t.h new file mode 100644 index 0000000..d71a413 --- /dev/null +++ b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@timer_t.h @@ -0,0 +1,9 @@ +#ifndef __timer_t_defined +#define __timer_t_defined 1 + +#include + +/* Timer ID returned by `timer_create'. */ +typedef __timer_t timer_t; + +#endif diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@timer_t.h.blob b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@types@timer_t.h.blob new file mode 100644 index 0000000000000000000000000000000000000000..8d1c3274100f917dd7329c3d9c8b79268b93efe2 GIT binary patch literal 2282 zcmbtW&ubGw6yB{8FCxWr4{KWx3Y%$a40_OuKcL`I4F8ZPFq}uuO}Hsnk-L3f*Mh85YyD|DPb?p3*xq z?T1`y!K~8xjelU}wMb?(ktvHaE=X5eLyYCI?1sHqQQI7N$Dg6ra+J-7!jLFRy2er~ zA{Y7%L;qfrR8Siwlxc-|_Aed3F6VJH(vYbnQ7MLfI!&hsC?KuD!=uxOt|BWFVdTD; zUrjf+!tBu@Mz|tMsucCISh1a=Rn8^YU>t=I1E_Pslp@k=GtMB(00nNGV% zS{G@o&X|qnf|}eA#zoHw^`j=`7|5wM6buVk$vMXr*NYBpGaMo^$hGEXb8|ZH;8rjM7J2mH(Tf>3qg#xKVWr@4 zwO!EcDvD)-A=TEbfxrw4JW~umqL-8_2HP3H4W;CDeZW3-+Vg4dQE7WI?bmoC!P&tsu3-@bQO^n8{k0`=d+hUQupaqf8 zI+n(Dxw?h$fZ=nur?Wt%uKhHFM@iN-VIh2Ht!iJMoH&Fj%_SrNc`HktX28?B4Ka5m z{xQ)cx8Im)(oBHoEseZ`hrfo8TUXGy(79k&NgixO5gJTK)>~P*=#5`L@!M}KH&)O3 zqnpp(zJKa}J(%2^-Uuc)*Viw2_Yo!7z8z=*kF-?qpqmFziUhR=>S@*(^;. */ + +#ifndef _BITS_TYPES_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_TYPESIZES_H +#define _BITS_TYPESIZES_H 1 + +/* See for the meaning of these macros. This file exists so + that need not vary across different GNU platforms. */ + +/* X32 kernel interface is 64-bit. */ +#if defined __x86_64__ && defined __ILP32__ +# define __SYSCALL_SLONG_TYPE __SQUAD_TYPE +# define __SYSCALL_ULONG_TYPE __UQUAD_TYPE +#else +# define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE +# define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE +#endif + +#define __DEV_T_TYPE __UQUAD_TYPE +#define __UID_T_TYPE __U32_TYPE +#define __GID_T_TYPE __U32_TYPE +#define __INO_T_TYPE __SYSCALL_ULONG_TYPE +#define __INO64_T_TYPE __UQUAD_TYPE +#define __MODE_T_TYPE __U32_TYPE +#ifdef __x86_64__ +# define __NLINK_T_TYPE __SYSCALL_ULONG_TYPE +# define __FSWORD_T_TYPE __SYSCALL_SLONG_TYPE +#else +# define __NLINK_T_TYPE __UWORD_TYPE +# define __FSWORD_T_TYPE __SWORD_TYPE +#endif +#define __OFF_T_TYPE __SYSCALL_SLONG_TYPE +#define __OFF64_T_TYPE __SQUAD_TYPE +#define __PID_T_TYPE __S32_TYPE +#define __RLIM_T_TYPE __SYSCALL_ULONG_TYPE +#define __RLIM64_T_TYPE __UQUAD_TYPE +#define __BLKCNT_T_TYPE __SYSCALL_SLONG_TYPE +#define __BLKCNT64_T_TYPE __SQUAD_TYPE +#define __FSBLKCNT_T_TYPE __SYSCALL_ULONG_TYPE +#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE +#define __FSFILCNT_T_TYPE __SYSCALL_ULONG_TYPE +#define __FSFILCNT64_T_TYPE __UQUAD_TYPE +#define __ID_T_TYPE __U32_TYPE +#define __CLOCK_T_TYPE __SYSCALL_SLONG_TYPE +#define __TIME_T_TYPE __SYSCALL_SLONG_TYPE +#define __USECONDS_T_TYPE __U32_TYPE +#define __SUSECONDS_T_TYPE __SYSCALL_SLONG_TYPE +#define __DADDR_T_TYPE __S32_TYPE +#define __KEY_T_TYPE __S32_TYPE +#define __CLOCKID_T_TYPE __S32_TYPE +#define __TIMER_T_TYPE void * +#define __BLKSIZE_T_TYPE __SYSCALL_SLONG_TYPE +#define __FSID_T_TYPE struct { int __val[2]; } +#define __SSIZE_T_TYPE __SWORD_TYPE +#define __CPU_MASK_TYPE __SYSCALL_ULONG_TYPE + +#ifdef __x86_64__ +/* Tell the libc code that off_t and off64_t are actually the same type + for all ABI purposes, even if possibly expressed as different base types + for C type-checking purposes. */ +# define __OFF_T_MATCHES_OFF64_T 1 + +/* Same for ino_t and ino64_t. */ +# define __INO_T_MATCHES_INO64_T 1 + +/* And for __rlim_t and __rlim64_t. */ +# define __RLIM_T_MATCHES_RLIM64_T 1 +#else +# define __RLIM_T_MATCHES_RLIM64_T 0 +#endif + +/* Number of descriptors that can fit in an `fd_set'. */ +#define __FD_SETSIZE 1024 + + +#endif /* bits/typesizes.h */ diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@typesizes.h.blob b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@typesizes.h.blob new file mode 100644 index 0000000000000000000000000000000000000000..58b00937f0a80ac2a2e1eac3a6ae8a63b302ab43 GIT binary patch literal 5717 zcmbtXeQX4Z%^RmQ>*<>c464)70ky%+uWyBfBY$nGm&NQ|12Gm-)N?BYGWEP?M8Cl^K z0jW#h!b|^qO|k;7pm{zi#s=``RIB(40uF2Q58*)G7j;0^m@pK)TTiar90pwPDD@2>qHq6oe zw*CQ*<~$t6%iSv7@wtb$EFlyMpm;D5kL(J<-*3JXYz40x4dipHwZrB10GDZIy3K;4 zhgzj!^{Sig{>i#4TWko$LLrnuqeBUQI2gy@;95z*5~l%Zy2RQ6xUu>eXTdR`;i9)^ zKE51zc?&}R@kv09kD$cVI3~E&z$-~LSP_a(#r;FkD4LAM#Uyj6A7!ea0fIjH9#MOEN~A@yYK63cmQ~BXSUlcIPTG~zk1rj zFmFyDLnsj$4Ne%~TMTeAW3}$jiKzw~UDFuZGk!QHh@6J?X!A9R`Tlp>5ef_i0_MEPOc~xVGYs4y>gV&q^&|h-`{3i3 z;6RE$Yn$!O;OKT&JNV1%_U_>5-tOLUj`nr?Ag)TI+~COi&7k{aJm`;&1>#0gO@=&W zNhoa6D2!t`w}pln)(Z2j?|uK2o8M6o+yEpF6YH%d)Uq^_#7UD3GJ|lC5O-?0?MJ_T z;(YThSukKU<_GubE+Gz*%v41lU7_SS1*&k>28hZ|MJBm+GM&H`qR#c? z@n?q)H*UNep^0c@6pGj95dNwSBDZ0&DvQ)nG+93xu+R{7?51Piyz9z)ue}ZphG(Ry zvSdbO`*{ovR)WK!f%4N>>O=#R$Pk#{aS%&Aaq1p5lAcoW>fq|lA^jlC8c;%>Dm*17HO1V<0J2JYqP zLFeF3jvn$3?cwNktQ5a6gn0e(%)rgyzO)%;pdbJimv3zv-{+SIioQaWNVT5S}K+CXpyZvoSWP65_DN?CNc=B$m&A{@sFl zWJePo(Oa?D(k0`^%Xnc(K-{5Wc5Dv&mg+Xai3~?aN*k}iFh*&vn)52I;n5C=4Q{{A=H@wc2`ze4U}>2!6%)!Xgqj>2Bg z?0M}}AqcDEh6vdh^8J=^2y0qOcYeOSPcUB2@C`A6)hv}?I27sx=k zLcN%aIqV8!f(DoXcmZNaQ}VT`gBv$pwLJ%~M!}t?IvLN^Qz37nW~LeRfvCS2HGSc} zy%!H%ZANIkNC3zYsvFN$)eUAI#sgRo^(Ou0&6j?E@qwPLc=W=5B49?cwOS04wn. */ + +#if !defined _NETINET_IN_H && !defined _ENDIAN_H +# error "Never use directly; include or instead." +#endif + +#ifndef _BITS_UINTN_IDENTITY_H +#define _BITS_UINTN_IDENTITY_H 1 + +#include + +/* These inline functions are to ensure the appropriate type + conversions and associated diagnostics from macros that convert to + a given endianness. */ + +static __inline __uint16_t +__uint16_identity (__uint16_t __x) +{ + return __x; +} + +static __inline __uint32_t +__uint32_identity (__uint32_t __x) +{ + return __x; +} + +static __inline __uint64_t +__uint64_identity (__uint64_t __x) +{ + return __x; +} + +#endif /* _BITS_UINTN_IDENTITY_H. */ diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@uintn-identity.h.blob b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@uintn-identity.h.blob new file mode 100644 index 0000000000000000000000000000000000000000..506141f82ed5235fed30d145f5cee1caa661edf2 GIT binary patch literal 3042 zcmbtW(Q6|`9G*?ffoHK&v?soFY-wn(*=!qQX=@K9Shb)PplZq(nnyuQF2Vm!vD7QsC5o(^pr;fiGfR34DF-eE+HxDxC2g3!AhYrUIF1?DlXZ1^+9 zW_$PI?khW*@wZf{m{Hd*vKW&_)Z3w4FULEx0HqRR}M-0~|)Rz+`kJ;*|T0m_TKPQ?iDnD(1-!Ug}P8biM4D zndEE~SBtCtu>hflKxmP-etzfkfitSpB544VM=z(xMW2b#4OmNWNsnd*gl0G+Gx3bj z=p)X>=idatoL%N;^+ES(y*$3m1Hx22AdSInWEw|AL*spWb?S=&<4j>1Pmj-N5HK0X zV4P>S;n4KVA3lsEfN?}Le0sajiVaxnQXv8+P507U1NVzRc6gfBrux<35!@tEP1>=c z>kDbO$mx@$VMfjy5P-d@68j8#HS6S$9d#$+NVu)iXp@rgSu^NyG|`>@v3l?0!y7ks z-raDUli|;R^Qfb~Qpu&94T0u?@A!K!n*FSiq%x_*p zQ}8cB-M1RO}ZN1L|k3%fI#U2Yr7+B`eLJn1%RMMo}dc-}&LM}1PWUN9= zxr93ut0u*y-4w5B;@`64ej=F!9XMr+=5yR6kwntA@uR)xE`@ z>O9JW>P561d;8Oef9@>*{?b8@<=mFB_|(TK`@8DRSD%gW)Q(mT=MG04h9w87vKfk` zx!Pn@EIyWC{Hq^wb9k;iY2iHHnzXvNr~i2O#`h1ejNm{_dJ)k@ql*`ZP!{nbpycy; zK-owLlJ8TNb)UO(>7P&Te|dF;LEk1PDO9LX7@}CgD?m}m7l2|jflj`yZr`uTek=zQ zjAm!gLHi2Zh00OR09Ce*Ah=d>ruf9v2|)Z-(wp8}`R%-U3lvs1&09+|OZqKw<(hYW z_Rec=Ww-je`^N5Gb>VP~(pTYcMo8OkdxKts%7OWlFjpn?mJUf9m*&*xFsf_M56 ai)%?vN3RyVjZH1kv&x34WqxKJYWWX4>0BNF literal 0 HcmV?d00001 diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@waitflags.h b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@waitflags.h new file mode 100644 index 0000000..790cfb3 --- /dev/null +++ b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@waitflags.h @@ -0,0 +1,39 @@ +/* Definitions of flag bits for `waitpid' et al. + Copyright (C) 1992-2019 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#if !defined _SYS_WAIT_H && !defined _STDLIB_H +# error "Never include directly; use instead." +#endif + + +/* Bits in the third argument to `waitpid'. */ +#define WNOHANG 1 /* Don't block waiting. */ +#define WUNTRACED 2 /* Report status of stopped children. */ + +/* Bits in the fourth argument to `waitid'. */ +#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 +# define WSTOPPED 2 /* Report stopped child (same as WUNTRACED). */ +# define WEXITED 4 /* Report dead child. */ +# define WCONTINUED 8 /* Report continued child. */ +# define WNOWAIT 0x01000000 /* Don't reap, just poll status. */ +#endif + +#define __WNOTHREAD 0x20000000 /* Don't wait on children of other threads + in this group */ +#define __WALL 0x40000000 /* Wait for any child. */ +#define __WCLONE 0x80000000 /* Wait for cloned process. */ diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@waitflags.h.blob b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@waitflags.h.blob new file mode 100644 index 0000000000000000000000000000000000000000..89761b47ad3c5fb9a61df193b0532dcefae137eb GIT binary patch literal 2591 zcmbtVL5LGq7@ovl0#-w`tzvhLZe2l`eaRZq^&k>-8wYyvJN*(`%^j;6aCbzH1}w5pyw@KZR^OD4;wNl=z%l#B(KP zF69fv*hL)dcHR-hT=V!Ub33NZI3?2KgVX;*m61oj;E1`z@okD)ObR5V?XZ^Fc04Q> zy2i$zQ0rut9Q3I`mep$si6ymk>fb8$zxTwYSXwo~zP+ z-!7*OD9~D=9zNLqP*)^bj|z63POqjlkW{SUzRJ)=OmrovmpC3-4Qf>un3N06W3Dve zuf@jq?z2j@tQh}_gbEmyb{@wV4x-)nM6nQL#sLb+eIl)?++rXQv1wcP^Hq$pA&_ov zpAuC_bWdcLQ*4`}i#fGTtv4ol=qpuDTrpr#Vs-(SauXcLwg0A!Uqfz@dks4~2mrI_ z`lAc#2Nmf`Ow37l2Q;L56gNZ1Qy19tTaNbVgvF_AGpr32XHLO7g35p=-guFj(9vQ6 z>79g@7IF)@(OLjggCSIr51wAR^OotATLg7r^Qgzsc2Rf2vmDk_Dbd!9flv%PcqZ5p z3Vot;!Tr|;(07;FadS{}Di)^8^wqsKnN3~EU?*V(A3gJ(yaWBUDCZ6ndW6yQfsc$mb%W~pMmDYE`tUjN zTfz*wTAYj8nOm=uf|FLd+QJH zSXQ%CtwLz`9E=J+-`OCNO6ArIx!`9QiDT(wA1BpWFg6pAz4`j_zBgZd{m-w>TD@7S zG$6Dm1Q><@AeSEjWHZ@pG683C2yo`r-uipb+TS-X)fyK{%jFe-$c!MuU}_P_52g~O6`(. */ + +#if !defined _SYS_WAIT_H && !defined _STDLIB_H +# error "Never include directly; use instead." +#endif + + +/* Everything extant so far uses these same bits. */ + + +/* If WIFEXITED(STATUS), the low-order 8 bits of the status. */ +#define __WEXITSTATUS(status) (((status) & 0xff00) >> 8) + +/* If WIFSIGNALED(STATUS), the terminating signal. */ +#define __WTERMSIG(status) ((status) & 0x7f) + +/* If WIFSTOPPED(STATUS), the signal that stopped the child. */ +#define __WSTOPSIG(status) __WEXITSTATUS(status) + +/* Nonzero if STATUS indicates normal termination. */ +#define __WIFEXITED(status) (__WTERMSIG(status) == 0) + +/* Nonzero if STATUS indicates termination by a signal. */ +#define __WIFSIGNALED(status) \ + (((signed char) (((status) & 0x7f) + 1) >> 1) > 0) + +/* Nonzero if STATUS indicates the child is stopped. */ +#define __WIFSTOPPED(status) (((status) & 0xff) == 0x7f) + +/* Nonzero if STATUS indicates the child continued after a stop. We only + define this if provides the WCONTINUED flag bit. */ +#ifdef WCONTINUED +# define __WIFCONTINUED(status) ((status) == __W_CONTINUED) +#endif + +/* Nonzero if STATUS indicates the child dumped core. */ +#define __WCOREDUMP(status) ((status) & __WCOREFLAG) + +/* Macros for constructing status values. */ +#define __W_EXITCODE(ret, sig) ((ret) << 8 | (sig)) +#define __W_STOPCODE(sig) ((sig) << 8 | 0x7f) +#define __W_CONTINUED 0xffff +#define __WCOREFLAG 0x80 diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@waitstatus.h.blob b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@waitstatus.h.blob new file mode 100644 index 0000000000000000000000000000000000000000..97eb72f0b2bd2aa61a262175065a7333cd657b90 GIT binary patch literal 3151 zcmbtVPiP!f7@v(`h@?1FD`F)~Y-o3zPG%C8WD}Y~NH)5VCZXBXQibW;nYX)RW@pxU zGf6l0qT;a^FQwq2hYDIfD0r!tf_MbL=wO6&CF*1%uW;od6~TT z&F}kuzwh_GIVtQudg=a`LP}7oPK_$Wt(mrB&`qUokw(RJeA`fnqstTO__Sh>MphYD z7}b53YPw^4#I&h9rVCH#7O^Y;6GYx}+zr#N$cE`s-E-W=?0=|A7*~AeDyFSlzCo3e z=`n?QhGmxIvgHtOtSapO1YEnLyhfceMbl~}<`Iu-JoFa~{r8&Klz3W==&pl#wug6b zcjw_{*s|`_YL1Oz4?4>!0}4pX@NlQ|kTdek8fE4-?aijt@F?3Nb&TL7x>O1H>XxH# z1YFSq-Q|LKrtQh_%Zp9cZn3bG$BaM6LIoMIb~h*KUU&NjiE<06!@?0k z5C->d+&$#qdQiBgX|K+&oXamR&Akl!&mDtaz$aX4*&Y~BFXvQ2NX>{d$NO-d5cX0K zyf@hY$`23wZ+;5F#r(OmYXyXOwgn>GP2*?OXPJR?^dudZ)XP)l44@8)LnD2-UIrmJBA-?GmhE^oZ~R;adDA-bSoNI)u-PSx^nu2>$&m z>038%&;1Q?`3r^OT5+zpzShBS|DYvB^vJoC%c{zWu1&4nzB4y%Zwf%YE~~)laTX@X8Tom6!f}d-sF=2nY0!9z$_5y!6mwqvB|~ zF9mC)j&bR6z@01jx!*dgzXT-Xv#3_J>wH(5`cfLOK{TJ7tX=B)7(S7Q8L6qSKkfz0H K@FA=-0n$I)t8H}v literal 0 HcmV?d00001 diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@wordsize.h b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@wordsize.h new file mode 100644 index 0000000..70f652b --- /dev/null +++ b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@wordsize.h @@ -0,0 +1,17 @@ +/* Determine the wordsize from the preprocessor defines. */ + +#if defined __x86_64__ && !defined __ILP32__ +# define __WORDSIZE 64 +#else +# define __WORDSIZE 32 +#define __WORDSIZE32_SIZE_ULONG 0 +#define __WORDSIZE32_PTRDIFF_LONG 0 +#endif + +#ifdef __x86_64__ +# define __WORDSIZE_TIME64_COMPAT32 1 +/* Both x86-64 and x32 use the 64-bit system call interface. */ +# define __SYSCALL_WORDSIZE 64 +#else +# define __WORDSIZE_TIME64_COMPAT32 0 +#endif diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@wordsize.h.blob b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@bits@wordsize.h.blob new file mode 100644 index 0000000000000000000000000000000000000000..bbd117f479ae2f6d6e0b0c6e9dd316d5bbd80b68 GIT binary patch literal 2267 zcmbtVL2DC16rLnrLaku%2dEVf;%1r}gC0~$ZK2XqX#=7jmdWfS8M?a@W@cNq;I+R+ z5fN|d(I3#87ZDT@4$)eht!WehC5sJ(GI>v$0`fo)0Eo3U)4dRbUz?jAA&lfaE6j>z>k+eSs4MUBJdgu!n zU=ekE>(PwGS?FwLSwObFNK0fgjRvj74Z#&{;#5rCelTx#Cz>~gQD574Jpb99=UgzK(P zdIjEyVDugCu~2gz1Jq&53JXkR4}w3uIQ!;!fwf1Sff<}(19Arv@`5!SxGf|pF|zyBxP+)I{J?Uao*c2DmMn z|9@Dv2i&N92365HbRHp8*?;>ImBi|wFRr`xcx`TWX~})GvU-1Q@yWcozA|MRWB%tC zv$xf1tBFu)vNqW&!+96&m&}X(PaoOu-R)P)ZW`yp5zYa6^1M>3TrHQ(d42f&=IeHQ t^4_!UqvvjWae3aX{<)RqhqLV)Glry@g*zElZJ6XHY7+}(I3FbFe*s0Ga3}x( literal 0 HcmV?d00001 diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@c++@9@bits@std_abs.h b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@c++@9@bits@std_abs.h new file mode 100644 index 0000000..8430010 --- /dev/null +++ b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@c++@9@bits@std_abs.h @@ -0,0 +1,111 @@ +// -*- C++ -*- C library enhancements header. + +// Copyright (C) 2016-2019 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ Library. This library is free +// software; you can redistribute it and/or modify it under the +// terms of the GNU General Public License as published by the +// Free Software Foundation; either version 3, or (at your option) +// any later version. + +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// Under Section 7 of GPL version 3, you are granted additional +// permissions described in the GCC Runtime Library Exception, version +// 3.1, as published by the Free Software Foundation. + +// You should have received a copy of the GNU General Public License and +// a copy of the GCC Runtime Library Exception along with this program; +// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see +// . + +/** @file include/bits/std_abs.h + * This is an internal header file, included by other library headers. + * Do not attempt to use it directly. @headername{cmath, cstdlib} + */ + +#ifndef _GLIBCXX_BITS_STD_ABS_H +#define _GLIBCXX_BITS_STD_ABS_H + +#pragma GCC system_header + +#include + +#define _GLIBCXX_INCLUDE_NEXT_C_HEADERS +#include_next +#ifdef __CORRECT_ISO_CPP_MATH_H_PROTO +# include_next +#endif +#undef _GLIBCXX_INCLUDE_NEXT_C_HEADERS + +#undef abs + +extern "C++" +{ +namespace std _GLIBCXX_VISIBILITY(default) +{ +_GLIBCXX_BEGIN_NAMESPACE_VERSION + + using ::abs; + +#ifndef __CORRECT_ISO_CPP_STDLIB_H_PROTO + inline long + abs(long __i) { return __builtin_labs(__i); } +#endif + +#ifdef _GLIBCXX_USE_LONG_LONG + inline long long + abs(long long __x) { return __builtin_llabs (__x); } +#endif + +// _GLIBCXX_RESOLVE_LIB_DEFECTS +// 2192. Validity and return type of std::abs(0u) is unclear +// 2294. should declare abs(double) +// 2735. std::abs(short), std::abs(signed char) and others should return int + +#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO + inline _GLIBCXX_CONSTEXPR double + abs(double __x) + { return __builtin_fabs(__x); } + + inline _GLIBCXX_CONSTEXPR float + abs(float __x) + { return __builtin_fabsf(__x); } + + inline _GLIBCXX_CONSTEXPR long double + abs(long double __x) + { return __builtin_fabsl(__x); } +#endif + +#if defined(__GLIBCXX_TYPE_INT_N_0) + inline _GLIBCXX_CONSTEXPR __GLIBCXX_TYPE_INT_N_0 + abs(__GLIBCXX_TYPE_INT_N_0 __x) { return __x >= 0 ? __x : -__x; } +#endif +#if defined(__GLIBCXX_TYPE_INT_N_1) + inline _GLIBCXX_CONSTEXPR __GLIBCXX_TYPE_INT_N_1 + abs(__GLIBCXX_TYPE_INT_N_1 __x) { return __x >= 0 ? __x : -__x; } +#endif +#if defined(__GLIBCXX_TYPE_INT_N_2) + inline _GLIBCXX_CONSTEXPR __GLIBCXX_TYPE_INT_N_2 + abs(__GLIBCXX_TYPE_INT_N_2 __x) { return __x >= 0 ? __x : -__x; } +#endif +#if defined(__GLIBCXX_TYPE_INT_N_3) + inline _GLIBCXX_CONSTEXPR __GLIBCXX_TYPE_INT_N_3 + abs(__GLIBCXX_TYPE_INT_N_3 __x) { return __x >= 0 ? __x : -__x; } +#endif + +#if !defined(__STRICT_ANSI__) && defined(_GLIBCXX_USE_FLOAT128) + inline _GLIBCXX_CONSTEXPR + __float128 + abs(__float128 __x) + { return __x < 0 ? -__x : __x; } +#endif + +_GLIBCXX_END_NAMESPACE_VERSION +} // namespace +} // extern "C"++" + +#endif // _GLIBCXX_BITS_STD_ABS_H diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@c++@9@bits@std_abs.h.blob b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@c++@9@bits@std_abs.h.blob new file mode 100644 index 0000000000000000000000000000000000000000..31db0f51f8cb45b1434d23620817220b2f7ecae0 GIT binary patch literal 5162 zcmbVPZ;ab!8Mm))C`WdxvaUK+r`GC@a@T9(raO|{5z6)MlJ>4`iilg?Hq^I{{l;<6 zv4id0g#QU(({}-jn@4@9+6N|Lw!f=B+nhyFSD+Ld~pWL9*(aAt-oFXz0?0YMD(#5hPPi z9y^+z5fo`-T1X29mK;=tQKpqk(M! zp?bx3BnKlZ`uASZDmb8NVVmIG=-s5+s2U?FoAtVB5V5x-#VQ*Pw%4TwkqBv_K#o?& zw)O}fL|N8NdDW%+k4ROnWgsQ#9kbr(BZp9N=}dtr{cEHYcvCZ+B>Yk9`Z<$WU=3!5 zP_<#&nQ2!tTB~b=?O09O*`A=iVGFW?t28|CM$&hIWYb*LFw#s^Z5oiereXKhUb7&n zlXgwAu#%(@#6kVs-Jwc@*ue52an}d^I6w-^o!Ux5hFUZ~qf;>8EW%(-(gzTLJfltv znFJLr%m}Sq24$v`V0}$;lDcLzTW)QcHUfWZhI{&5Xei;zYBo)K3>%6j(d^u&vS_K>nrdUm)zdGF5sH+Acx0vp+5&}K>S*ey*L0vl zz$e7W8^3?}nSeh?g4$SzzDBmAGn5pViFB<_M53!<5QN)<$oY_O2!lIHVA@tRrC%IK zoHEnf(_EJ{r>aY8bY{^e*Cc%;sVUfSG-rcAMTd+)k-prF#sZ(o$p)ln$M4>FPa-%u8T<$D;5gOdkA=U_6maf?} z-9owKvUQCi=7!9nA%c0VY&(Z&vXZkQaMftS{~^^eyBK3jT#4#9%bjyA z$o-T@?|*-+-qrE1TjHC$C)RIwbWjk_C-e>>ZIT&17-O?smSSbN>_y5qd-|Pgzj<=* z4_&Opzu$ZOpLpdZ+;XsG@L(@bJWKu)LOjeibA4ix*}FGJyvHzcvak>Ad0-#Mwu?W% zbn}xx-YNQ-M9}GQf(RWv5@YjRo^tvWm)8kadv)Te^P{!rPINgv@y+WK+*==iHsr%z z_jT^6=Z?&gCGNBvk!xQm$F4qj;E4|It_pFA|MI0BIT5(nwwE-Q0vm9{w!L5z3j!D0_JY@b zXxHY>SF-5sxC z2>im-R609+)z8(!Ix-t}FQj9o117-tos4Uy4qs`m?3T3_R&fi_rUKe}cZuyTH!wb+ z*|CoGYE`hT)g{*-K2v0<7sKqaBkdFDW#=>3FBZXc%P)RGr>4QXJ$(ZWY3-!>mi@X0 zRW9jZxKHi$a7fOz0$$R(;v_7cphStA^@a|Py;FJkcz`e9yA@y4@Otzak|%+9NfoU( zUI@WFMUa(&Tp^G zv+5D`7_2$f!!}2|J52A|J?_Ew4rjYtjrN-wK zj38#?*|B+wnEh<_0wBKp+;>txd*f>wI(cSkeqm(=%`b^%R2CP}iTN@*1&UJlyI-*U zwj%8Q-TRLZ(UoblaHRcuM!)yPPn`OycVwxwaOV7C0hJ0XB3eMF3MUo|pDTmt@eulU zqU`wY@zM}osTOu}WbzDH+@1c^;*QxZI>#6`&*u*jv-9!%p#^Go{$gGMvmZPE!ylab r_JwEtj$|)0m-7JFO=E9}Gx0d_;qvJ6egd`}U*3O_f}PHshMf5ynV1A7 literal 0 HcmV?d00001 diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@c++@9@cstdlib b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@c++@9@cstdlib new file mode 100644 index 0000000..7e0ffc1 --- /dev/null +++ b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@c++@9@cstdlib @@ -0,0 +1,261 @@ +// -*- C++ -*- forwarding header. + +// Copyright (C) 1997-2019 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ Library. This library is free +// software; you can redistribute it and/or modify it under the +// terms of the GNU General Public License as published by the +// Free Software Foundation; either version 3, or (at your option) +// any later version. + +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// Under Section 7 of GPL version 3, you are granted additional +// permissions described in the GCC Runtime Library Exception, version +// 3.1, as published by the Free Software Foundation. + +// You should have received a copy of the GNU General Public License and +// a copy of the GCC Runtime Library Exception along with this program; +// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see +// . + +/** @file include/cstdlib + * This is a Standard C++ Library file. You should @c \#include this file + * in your programs, rather than any of the @a *.h implementation files. + * + * This is the C++ version of the Standard C Library header @c stdlib.h, + * and its contents are (mostly) the same as that header, but are all + * contained in the namespace @c std (except for names which are defined + * as macros in C). + */ + +// +// ISO C++ 14882: 20.4.6 C library +// + +#pragma GCC system_header + +#include + +#ifndef _GLIBCXX_CSTDLIB +#define _GLIBCXX_CSTDLIB 1 + +#if !_GLIBCXX_HOSTED +// The C standard does not require a freestanding implementation to +// provide . However, the C++ standard does still require +// -- but only the functionality mentioned in +// [lib.support.start.term]. + +#define EXIT_SUCCESS 0 +#define EXIT_FAILURE 1 + +namespace std +{ + extern "C" void abort(void) throw () _GLIBCXX_NORETURN; + extern "C" int atexit(void (*)(void)) throw (); + extern "C" void exit(int) throw () _GLIBCXX_NORETURN; +#if __cplusplus >= 201103L +# ifdef _GLIBCXX_HAVE_AT_QUICK_EXIT + extern "C" int at_quick_exit(void (*)(void)) throw (); +# endif +# ifdef _GLIBCXX_HAVE_QUICK_EXIT + extern "C" void quick_exit(int) throw() _GLIBCXX_NORETURN; +# endif +#endif +} // namespace std + +#else + +// Need to ensure this finds the C library's not a libstdc++ +// wrapper that might already be installed later in the include search path. +#define _GLIBCXX_INCLUDE_NEXT_C_HEADERS +#include_next +#undef _GLIBCXX_INCLUDE_NEXT_C_HEADERS +#include + +// Get rid of those macros defined in in lieu of real functions. +#undef abort +#if __cplusplus >= 201703L && defined(_GLIBCXX_HAVE_ALIGNED_ALLOC) +# undef aligned_alloc +#endif +#undef atexit +#if __cplusplus >= 201103L +# ifdef _GLIBCXX_HAVE_AT_QUICK_EXIT +# undef at_quick_exit +# endif +#endif +#undef atof +#undef atoi +#undef atol +#undef bsearch +#undef calloc +#undef div +#undef exit +#undef free +#undef getenv +#undef labs +#undef ldiv +#undef malloc +#undef mblen +#undef mbstowcs +#undef mbtowc +#undef qsort +#if __cplusplus >= 201103L +# ifdef _GLIBCXX_HAVE_QUICK_EXIT +# undef quick_exit +# endif +#endif +#undef rand +#undef realloc +#undef srand +#undef strtod +#undef strtol +#undef strtoul +#undef system +#undef wcstombs +#undef wctomb + +extern "C++" +{ +namespace std _GLIBCXX_VISIBILITY(default) +{ +_GLIBCXX_BEGIN_NAMESPACE_VERSION + + using ::div_t; + using ::ldiv_t; + + using ::abort; +#if __cplusplus >= 201703L && defined(_GLIBCXX_HAVE_ALIGNED_ALLOC) + using ::aligned_alloc; +#endif + using ::atexit; +#if __cplusplus >= 201103L +# ifdef _GLIBCXX_HAVE_AT_QUICK_EXIT + using ::at_quick_exit; +# endif +#endif + using ::atof; + using ::atoi; + using ::atol; + using ::bsearch; + using ::calloc; + using ::div; + using ::exit; + using ::free; + using ::getenv; + using ::labs; + using ::ldiv; + using ::malloc; +#ifdef _GLIBCXX_HAVE_MBSTATE_T + using ::mblen; + using ::mbstowcs; + using ::mbtowc; +#endif // _GLIBCXX_HAVE_MBSTATE_T + using ::qsort; +#if __cplusplus >= 201103L +# ifdef _GLIBCXX_HAVE_QUICK_EXIT + using ::quick_exit; +# endif +#endif + using ::rand; + using ::realloc; + using ::srand; + using ::strtod; + using ::strtol; + using ::strtoul; + using ::system; +#ifdef _GLIBCXX_USE_WCHAR_T + using ::wcstombs; + using ::wctomb; +#endif // _GLIBCXX_USE_WCHAR_T + +#ifndef __CORRECT_ISO_CPP_STDLIB_H_PROTO + inline ldiv_t + div(long __i, long __j) { return ldiv(__i, __j); } +#endif + + +_GLIBCXX_END_NAMESPACE_VERSION +} // namespace + +#if _GLIBCXX_USE_C99_STDLIB + +#undef _Exit +#undef llabs +#undef lldiv +#undef atoll +#undef strtoll +#undef strtoull +#undef strtof +#undef strtold + +namespace __gnu_cxx _GLIBCXX_VISIBILITY(default) +{ +_GLIBCXX_BEGIN_NAMESPACE_VERSION + +#if !_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC + using ::lldiv_t; +#endif +#if _GLIBCXX_USE_C99_CHECK || _GLIBCXX_USE_C99_DYNAMIC + extern "C" void (_Exit)(int) throw () _GLIBCXX_NORETURN; +#endif +#if !_GLIBCXX_USE_C99_DYNAMIC + using ::_Exit; +#endif + +#if !_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC + using ::llabs; + + inline lldiv_t + div(long long __n, long long __d) + { lldiv_t __q; __q.quot = __n / __d; __q.rem = __n % __d; return __q; } + + using ::lldiv; +#endif + +#if _GLIBCXX_USE_C99_LONG_LONG_CHECK || _GLIBCXX_USE_C99_LONG_LONG_DYNAMIC + extern "C" long long int (atoll)(const char *) throw (); + extern "C" long long int + (strtoll)(const char * __restrict, char ** __restrict, int) throw (); + extern "C" unsigned long long int + (strtoull)(const char * __restrict, char ** __restrict, int) throw (); +#endif +#if !_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC + using ::atoll; + using ::strtoll; + using ::strtoull; +#endif + using ::strtof; + using ::strtold; + +_GLIBCXX_END_NAMESPACE_VERSION +} // namespace __gnu_cxx + +namespace std +{ +#if !_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC + using ::__gnu_cxx::lldiv_t; +#endif + using ::__gnu_cxx::_Exit; +#if !_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC + using ::__gnu_cxx::llabs; + using ::__gnu_cxx::div; + using ::__gnu_cxx::lldiv; +#endif + using ::__gnu_cxx::atoll; + using ::__gnu_cxx::strtof; + using ::__gnu_cxx::strtoll; + using ::__gnu_cxx::strtoull; + using ::__gnu_cxx::strtold; +} // namespace std + +#endif // _GLIBCXX_USE_C99_STDLIB + +} // extern "C++" + +#endif // !_GLIBCXX_HOSTED + +#endif diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@c++@9@cstdlib.blob b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@c++@9@cstdlib.blob new file mode 100644 index 0000000000000000000000000000000000000000..ef210426d78baac6b95ba503e2ab2028d5bebb00 GIT binary patch literal 8595 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 literal 0 HcmV?d00001 diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@c++@9@stdlib.h b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@c++@9@stdlib.h new file mode 100644 index 0000000..1ac0666 --- /dev/null +++ b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@c++@9@stdlib.h @@ -0,0 +1,86 @@ +// -*- C++ -*- compatibility header. + +// Copyright (C) 2002-2019 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ Library. This library is free +// software; you can redistribute it and/or modify it under the +// terms of the GNU General Public License as published by the +// Free Software Foundation; either version 3, or (at your option) +// any later version. + +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// Under Section 7 of GPL version 3, you are granted additional +// permissions described in the GCC Runtime Library Exception, version +// 3.1, as published by the Free Software Foundation. + +// You should have received a copy of the GNU General Public License and +// a copy of the GCC Runtime Library Exception along with this program; +// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see +// . + +/** @file stdlib.h + * This is a Standard C++ Library header. + */ + +#if !defined __cplusplus || defined _GLIBCXX_INCLUDE_NEXT_C_HEADERS +# include_next +#else + +#ifndef _GLIBCXX_STDLIB_H +#define _GLIBCXX_STDLIB_H 1 + +# include + +using std::abort; +using std::atexit; +using std::exit; +#if __cplusplus >= 201103L +# ifdef _GLIBCXX_HAVE_AT_QUICK_EXIT + using std::at_quick_exit; +# endif +# ifdef _GLIBCXX_HAVE_QUICK_EXIT + using std::quick_exit; +# endif +#endif + +#if _GLIBCXX_HOSTED +using std::div_t; +using std::ldiv_t; + +using std::abs; +using std::atof; +using std::atoi; +using std::atol; +using std::bsearch; +using std::calloc; +using std::div; +using std::free; +using std::getenv; +using std::labs; +using std::ldiv; +using std::malloc; +#ifdef _GLIBCXX_HAVE_MBSTATE_T +using std::mblen; +using std::mbstowcs; +using std::mbtowc; +#endif // _GLIBCXX_HAVE_MBSTATE_T +using std::qsort; +using std::rand; +using std::realloc; +using std::srand; +using std::strtod; +using std::strtol; +using std::strtoul; +using std::system; +#ifdef _GLIBCXX_USE_WCHAR_T +using std::wcstombs; +using std::wctomb; +#endif // _GLIBCXX_USE_WCHAR_T +#endif + +#endif // _GLIBCXX_STDLIB_H +#endif // __cplusplus diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@c++@9@stdlib.h.blob b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@c++@9@stdlib.h.blob new file mode 100644 index 0000000000000000000000000000000000000000..4ca25240ac32bebf3a60f30267019cf5a7abd351 GIT binary patch literal 6340 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 literal 0 HcmV?d00001 diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@c++@9@x86_64-redhat-linux@bits@c++config.h b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@c++@9@x86_64-redhat-linux@bits@c++config.h new file mode 100644 index 0000000..8b61a0e --- /dev/null +++ b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@c++@9@x86_64-redhat-linux@bits@c++config.h @@ -0,0 +1,4137 @@ +#ifndef _CPP_CPPCONFIG_WRAPPER +#define _CPP_CPPCONFIG_WRAPPER 1 +#include +#if __WORDSIZE == 32 +// Predefined symbols and macros -*- C++ -*- + +// Copyright (C) 1997-2019 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ Library. This library is free +// software; you can redistribute it and/or modify it under the +// terms of the GNU General Public License as published by the +// Free Software Foundation; either version 3, or (at your option) +// any later version. + +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// Under Section 7 of GPL version 3, you are granted additional +// permissions described in the GCC Runtime Library Exception, version +// 3.1, as published by the Free Software Foundation. + +// You should have received a copy of the GNU General Public License and +// a copy of the GCC Runtime Library Exception along with this program; +// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see +// . + +/** @file bits/c++config.h + * This is an internal header file, included by other library headers. + * Do not attempt to use it directly. @headername{version} + */ + +#ifndef _GLIBCXX_CXX_CONFIG_H +#define _GLIBCXX_CXX_CONFIG_H 1 + +// The major release number for the GCC release the C++ library belongs to. +#define _GLIBCXX_RELEASE 9 + +// The datestamp of the C++ library in compressed ISO date format. +#define __GLIBCXX__ 20190827 + +// Macros for various attributes. +// _GLIBCXX_PURE +// _GLIBCXX_CONST +// _GLIBCXX_NORETURN +// _GLIBCXX_NOTHROW +// _GLIBCXX_VISIBILITY +#ifndef _GLIBCXX_PURE +# define _GLIBCXX_PURE __attribute__ ((__pure__)) +#endif + +#ifndef _GLIBCXX_CONST +# define _GLIBCXX_CONST __attribute__ ((__const__)) +#endif + +#ifndef _GLIBCXX_NORETURN +# define _GLIBCXX_NORETURN __attribute__ ((__noreturn__)) +#endif + +// See below for C++ +#ifndef _GLIBCXX_NOTHROW +# ifndef __cplusplus +# define _GLIBCXX_NOTHROW __attribute__((__nothrow__)) +# endif +#endif + +// Macros for visibility attributes. +// _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY +// _GLIBCXX_VISIBILITY +# define _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY 1 + +#if _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY +# define _GLIBCXX_VISIBILITY(V) __attribute__ ((__visibility__ (#V))) +#else +// If this is not supplied by the OS-specific or CPU-specific +// headers included below, it will be defined to an empty default. +# define _GLIBCXX_VISIBILITY(V) _GLIBCXX_PSEUDO_VISIBILITY(V) +#endif + +// Macros for deprecated attributes. +// _GLIBCXX_USE_DEPRECATED +// _GLIBCXX_DEPRECATED +// _GLIBCXX17_DEPRECATED +#ifndef _GLIBCXX_USE_DEPRECATED +# define _GLIBCXX_USE_DEPRECATED 1 +#endif + +#if defined(__DEPRECATED) && (__cplusplus >= 201103L) +# define _GLIBCXX_DEPRECATED __attribute__ ((__deprecated__)) +#else +# define _GLIBCXX_DEPRECATED +#endif + +#if defined(__DEPRECATED) && (__cplusplus >= 201703L) +# define _GLIBCXX17_DEPRECATED [[__deprecated__]] +#else +# define _GLIBCXX17_DEPRECATED +#endif + +// Macros for ABI tag attributes. +#ifndef _GLIBCXX_ABI_TAG_CXX11 +# define _GLIBCXX_ABI_TAG_CXX11 __attribute ((__abi_tag__ ("cxx11"))) +#endif + +// Macro to warn about unused results. +#if __cplusplus >= 201703L +# define _GLIBCXX_NODISCARD [[__nodiscard__]] +#else +# define _GLIBCXX_NODISCARD +#endif + + + +#if __cplusplus + +// Macro for constexpr, to support in mixed 03/0x mode. +#ifndef _GLIBCXX_CONSTEXPR +# if __cplusplus >= 201103L +# define _GLIBCXX_CONSTEXPR constexpr +# define _GLIBCXX_USE_CONSTEXPR constexpr +# else +# define _GLIBCXX_CONSTEXPR +# define _GLIBCXX_USE_CONSTEXPR const +# endif +#endif + +#ifndef _GLIBCXX14_CONSTEXPR +# if __cplusplus >= 201402L +# define _GLIBCXX14_CONSTEXPR constexpr +# else +# define _GLIBCXX14_CONSTEXPR +# endif +#endif + +#ifndef _GLIBCXX17_CONSTEXPR +# if __cplusplus >= 201703L +# define _GLIBCXX17_CONSTEXPR constexpr +# else +# define _GLIBCXX17_CONSTEXPR +# endif +#endif + +#ifndef _GLIBCXX20_CONSTEXPR +# if __cplusplus > 201703L +# define _GLIBCXX20_CONSTEXPR constexpr +# else +# define _GLIBCXX20_CONSTEXPR +# endif +#endif + +#ifndef _GLIBCXX17_INLINE +# if __cplusplus >= 201703L +# define _GLIBCXX17_INLINE inline +# else +# define _GLIBCXX17_INLINE +# endif +#endif + +// Macro for noexcept, to support in mixed 03/0x mode. +#ifndef _GLIBCXX_NOEXCEPT +# if __cplusplus >= 201103L +# define _GLIBCXX_NOEXCEPT noexcept +# define _GLIBCXX_NOEXCEPT_IF(_COND) noexcept(_COND) +# define _GLIBCXX_USE_NOEXCEPT noexcept +# define _GLIBCXX_THROW(_EXC) +# else +# define _GLIBCXX_NOEXCEPT +# define _GLIBCXX_NOEXCEPT_IF(_COND) +# define _GLIBCXX_USE_NOEXCEPT throw() +# define _GLIBCXX_THROW(_EXC) throw(_EXC) +# endif +#endif + +#ifndef _GLIBCXX_NOTHROW +# define _GLIBCXX_NOTHROW _GLIBCXX_USE_NOEXCEPT +#endif + +#ifndef _GLIBCXX_THROW_OR_ABORT +# if __cpp_exceptions +# define _GLIBCXX_THROW_OR_ABORT(_EXC) (throw (_EXC)) +# else +# define _GLIBCXX_THROW_OR_ABORT(_EXC) (__builtin_abort()) +# endif +#endif + +#if __cpp_noexcept_function_type +#define _GLIBCXX_NOEXCEPT_PARM , bool _NE +#define _GLIBCXX_NOEXCEPT_QUAL noexcept (_NE) +#else +#define _GLIBCXX_NOEXCEPT_PARM +#define _GLIBCXX_NOEXCEPT_QUAL +#endif + +// Macro for extern template, ie controlling template linkage via use +// of extern keyword on template declaration. As documented in the g++ +// manual, it inhibits all implicit instantiations and is used +// throughout the library to avoid multiple weak definitions for +// required types that are already explicitly instantiated in the +// library binary. This substantially reduces the binary size of +// resulting executables. +// Special case: _GLIBCXX_EXTERN_TEMPLATE == -1 disallows extern +// templates only in basic_string, thus activating its debug-mode +// checks even at -O0. +# define _GLIBCXX_EXTERN_TEMPLATE 1 + +/* + Outline of libstdc++ namespaces. + + namespace std + { + namespace __debug { } + namespace __parallel { } + namespace __profile { } + namespace __cxx1998 { } + + namespace __detail { + namespace __variant { } // C++17 + } + + namespace rel_ops { } + + namespace tr1 + { + namespace placeholders { } + namespace regex_constants { } + namespace __detail { } + } + + namespace tr2 { } + + namespace decimal { } + + namespace chrono { } // C++11 + namespace placeholders { } // C++11 + namespace regex_constants { } // C++11 + namespace this_thread { } // C++11 + inline namespace literals { // C++14 + inline namespace chrono_literals { } // C++14 + inline namespace complex_literals { } // C++14 + inline namespace string_literals { } // C++14 + inline namespace string_view_literals { } // C++17 + } + } + + namespace abi { } + + namespace __gnu_cxx + { + namespace __detail { } + } + + For full details see: + http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/namespaces.html +*/ +namespace std +{ + typedef __SIZE_TYPE__ size_t; + typedef __PTRDIFF_TYPE__ ptrdiff_t; + +#if __cplusplus >= 201103L + typedef decltype(nullptr) nullptr_t; +#endif +} + +# define _GLIBCXX_USE_DUAL_ABI 1 + +#if ! _GLIBCXX_USE_DUAL_ABI +// Ignore any pre-defined value of _GLIBCXX_USE_CXX11_ABI +# undef _GLIBCXX_USE_CXX11_ABI +#endif + +#ifndef _GLIBCXX_USE_CXX11_ABI +# define _GLIBCXX_USE_CXX11_ABI 1 +#endif + +#if _GLIBCXX_USE_CXX11_ABI +namespace std +{ + inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { } +} +namespace __gnu_cxx +{ + inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { } +} +# define _GLIBCXX_NAMESPACE_CXX11 __cxx11:: +# define _GLIBCXX_BEGIN_NAMESPACE_CXX11 namespace __cxx11 { +# define _GLIBCXX_END_NAMESPACE_CXX11 } +# define _GLIBCXX_DEFAULT_ABI_TAG _GLIBCXX_ABI_TAG_CXX11 +#else +# define _GLIBCXX_NAMESPACE_CXX11 +# define _GLIBCXX_BEGIN_NAMESPACE_CXX11 +# define _GLIBCXX_END_NAMESPACE_CXX11 +# define _GLIBCXX_DEFAULT_ABI_TAG +#endif + +// Defined if inline namespaces are used for versioning. +# define _GLIBCXX_INLINE_VERSION 0 + +// Inline namespace for symbol versioning. +#if _GLIBCXX_INLINE_VERSION +# define _GLIBCXX_BEGIN_NAMESPACE_VERSION namespace __8 { +# define _GLIBCXX_END_NAMESPACE_VERSION } + +namespace std +{ +inline _GLIBCXX_BEGIN_NAMESPACE_VERSION +#if __cplusplus >= 201402L + inline namespace literals { + inline namespace chrono_literals { } + inline namespace complex_literals { } + inline namespace string_literals { } +#if __cplusplus > 201402L + inline namespace string_view_literals { } +#endif // C++17 + } +#endif // C++14 +_GLIBCXX_END_NAMESPACE_VERSION +} + +namespace __gnu_cxx +{ +inline _GLIBCXX_BEGIN_NAMESPACE_VERSION +_GLIBCXX_END_NAMESPACE_VERSION +} + +#else +# define _GLIBCXX_BEGIN_NAMESPACE_VERSION +# define _GLIBCXX_END_NAMESPACE_VERSION +#endif + +// Inline namespaces for special modes: debug, parallel, profile. +#if defined(_GLIBCXX_DEBUG) || defined(_GLIBCXX_PARALLEL) \ + || defined(_GLIBCXX_PROFILE) +namespace std +{ +_GLIBCXX_BEGIN_NAMESPACE_VERSION + + // Non-inline namespace for components replaced by alternates in active mode. + namespace __cxx1998 + { +# if _GLIBCXX_USE_CXX11_ABI + inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { } +# endif + } + +_GLIBCXX_END_NAMESPACE_VERSION + + // Inline namespace for debug mode. +# ifdef _GLIBCXX_DEBUG + inline namespace __debug { } +# endif + + // Inline namespaces for parallel mode. +# ifdef _GLIBCXX_PARALLEL + inline namespace __parallel { } +# endif + + // Inline namespaces for profile mode +# ifdef _GLIBCXX_PROFILE + inline namespace __profile { } +# endif +} + +// Check for invalid usage and unsupported mixed-mode use. +# if defined(_GLIBCXX_DEBUG) && defined(_GLIBCXX_PARALLEL) +# error illegal use of multiple inlined namespaces +# endif +# if defined(_GLIBCXX_PROFILE) && defined(_GLIBCXX_DEBUG) +# error illegal use of multiple inlined namespaces +# endif +# if defined(_GLIBCXX_PROFILE) && defined(_GLIBCXX_PARALLEL) +# error illegal use of multiple inlined namespaces +# endif + +// Check for invalid use due to lack for weak symbols. +# if __NO_INLINE__ && !__GXX_WEAK__ +# warning currently using inlined namespace mode which may fail \ + without inlining due to lack of weak symbols +# endif +#endif + +// Macros for namespace scope. Either namespace std:: or the name +// of some nested namespace within it corresponding to the active mode. +// _GLIBCXX_STD_A +// _GLIBCXX_STD_C +// +// Macros for opening/closing conditional namespaces. +// _GLIBCXX_BEGIN_NAMESPACE_ALGO +// _GLIBCXX_END_NAMESPACE_ALGO +// _GLIBCXX_BEGIN_NAMESPACE_CONTAINER +// _GLIBCXX_END_NAMESPACE_CONTAINER +#if defined(_GLIBCXX_DEBUG) || defined(_GLIBCXX_PROFILE) +# define _GLIBCXX_STD_C __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE_CONTAINER \ + namespace _GLIBCXX_STD_C { +# define _GLIBCXX_END_NAMESPACE_CONTAINER } +#else +# define _GLIBCXX_STD_C std +# define _GLIBCXX_BEGIN_NAMESPACE_CONTAINER +# define _GLIBCXX_END_NAMESPACE_CONTAINER +#endif + +#ifdef _GLIBCXX_PARALLEL +# define _GLIBCXX_STD_A __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE_ALGO \ + namespace _GLIBCXX_STD_A { +# define _GLIBCXX_END_NAMESPACE_ALGO } +#else +# define _GLIBCXX_STD_A std +# define _GLIBCXX_BEGIN_NAMESPACE_ALGO +# define _GLIBCXX_END_NAMESPACE_ALGO +#endif + +// GLIBCXX_ABI Deprecated +// Define if compatibility should be provided for -mlong-double-64. +#undef _GLIBCXX_LONG_DOUBLE_COMPAT + +// Inline namespace for long double 128 mode. +#if defined _GLIBCXX_LONG_DOUBLE_COMPAT && defined __LONG_DOUBLE_128__ +namespace std +{ + inline namespace __gnu_cxx_ldbl128 { } +} +# define _GLIBCXX_NAMESPACE_LDBL __gnu_cxx_ldbl128:: +# define _GLIBCXX_BEGIN_NAMESPACE_LDBL namespace __gnu_cxx_ldbl128 { +# define _GLIBCXX_END_NAMESPACE_LDBL } +#else +# define _GLIBCXX_NAMESPACE_LDBL +# define _GLIBCXX_BEGIN_NAMESPACE_LDBL +# define _GLIBCXX_END_NAMESPACE_LDBL +#endif +#if _GLIBCXX_USE_CXX11_ABI +# define _GLIBCXX_NAMESPACE_LDBL_OR_CXX11 _GLIBCXX_NAMESPACE_CXX11 +# define _GLIBCXX_BEGIN_NAMESPACE_LDBL_OR_CXX11 _GLIBCXX_BEGIN_NAMESPACE_CXX11 +# define _GLIBCXX_END_NAMESPACE_LDBL_OR_CXX11 _GLIBCXX_END_NAMESPACE_CXX11 +#else +# define _GLIBCXX_NAMESPACE_LDBL_OR_CXX11 _GLIBCXX_NAMESPACE_LDBL +# define _GLIBCXX_BEGIN_NAMESPACE_LDBL_OR_CXX11 _GLIBCXX_BEGIN_NAMESPACE_LDBL +# define _GLIBCXX_END_NAMESPACE_LDBL_OR_CXX11 _GLIBCXX_END_NAMESPACE_LDBL +#endif + +// Debug Mode implies checking assertions. +#if defined(_GLIBCXX_DEBUG) && !defined(_GLIBCXX_ASSERTIONS) +# define _GLIBCXX_ASSERTIONS 1 +#endif + +// Disable std::string explicit instantiation declarations in order to assert. +#ifdef _GLIBCXX_ASSERTIONS +# undef _GLIBCXX_EXTERN_TEMPLATE +# define _GLIBCXX_EXTERN_TEMPLATE -1 +#endif + +// Assert. +#if defined(_GLIBCXX_ASSERTIONS) \ + || defined(_GLIBCXX_PARALLEL) || defined(_GLIBCXX_PARALLEL_ASSERTIONS) +namespace std +{ + // Avoid the use of assert, because we're trying to keep the + // include out of the mix. + extern "C++" inline void + __replacement_assert(const char* __file, int __line, + const char* __function, const char* __condition) + { + __builtin_printf("%s:%d: %s: Assertion '%s' failed.\n", __file, __line, + __function, __condition); + __builtin_abort(); + } +} +#define __glibcxx_assert_impl(_Condition) \ + do \ + { \ + if (! (_Condition)) \ + std::__replacement_assert(__FILE__, __LINE__, __PRETTY_FUNCTION__, \ + #_Condition); \ + } while (false) +#endif + +#if defined(_GLIBCXX_ASSERTIONS) +# define __glibcxx_assert(_Condition) __glibcxx_assert_impl(_Condition) +#else +# define __glibcxx_assert(_Condition) +#endif + +// Macros for race detectors. +// _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE(A) and +// _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER(A) should be used to explain +// atomic (lock-free) synchronization to race detectors: +// the race detector will infer a happens-before arc from the former to the +// latter when they share the same argument pointer. +// +// The most frequent use case for these macros (and the only case in the +// current implementation of the library) is atomic reference counting: +// void _M_remove_reference() +// { +// _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE(&this->_M_refcount); +// if (__gnu_cxx::__exchange_and_add_dispatch(&this->_M_refcount, -1) <= 0) +// { +// _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER(&this->_M_refcount); +// _M_destroy(__a); +// } +// } +// The annotations in this example tell the race detector that all memory +// accesses occurred when the refcount was positive do not race with +// memory accesses which occurred after the refcount became zero. +#ifndef _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE +# define _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE(A) +#endif +#ifndef _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER +# define _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER(A) +#endif + +// Macros for C linkage: define extern "C" linkage only when using C++. +# define _GLIBCXX_BEGIN_EXTERN_C extern "C" { +# define _GLIBCXX_END_EXTERN_C } + +# define _GLIBCXX_USE_ALLOCATOR_NEW 1 + +#else // !__cplusplus +# define _GLIBCXX_BEGIN_EXTERN_C +# define _GLIBCXX_END_EXTERN_C +#endif + + +// First includes. + +// Pick up any OS-specific definitions. +#include + +// Pick up any CPU-specific definitions. +#include + +// If platform uses neither visibility nor psuedo-visibility, +// specify empty default for namespace annotation macros. +#ifndef _GLIBCXX_PSEUDO_VISIBILITY +# define _GLIBCXX_PSEUDO_VISIBILITY(V) +#endif + +// Certain function definitions that are meant to be overridable from +// user code are decorated with this macro. For some targets, this +// macro causes these definitions to be weak. +#ifndef _GLIBCXX_WEAK_DEFINITION +# define _GLIBCXX_WEAK_DEFINITION +#endif + +// By default, we assume that __GXX_WEAK__ also means that there is support +// for declaring functions as weak while not defining such functions. This +// allows for referring to functions provided by other libraries (e.g., +// libitm) without depending on them if the respective features are not used. +#ifndef _GLIBCXX_USE_WEAK_REF +# define _GLIBCXX_USE_WEAK_REF __GXX_WEAK__ +#endif + +// Conditionally enable annotations for the Transactional Memory TS on C++11. +// Most of the following conditions are due to limitations in the current +// implementation. +#if __cplusplus >= 201103L && _GLIBCXX_USE_CXX11_ABI \ + && _GLIBCXX_USE_DUAL_ABI && __cpp_transactional_memory >= 201500L \ + && !_GLIBCXX_FULLY_DYNAMIC_STRING && _GLIBCXX_USE_WEAK_REF \ + && _GLIBCXX_USE_ALLOCATOR_NEW +#define _GLIBCXX_TXN_SAFE transaction_safe +#define _GLIBCXX_TXN_SAFE_DYN transaction_safe_dynamic +#else +#define _GLIBCXX_TXN_SAFE +#define _GLIBCXX_TXN_SAFE_DYN +#endif + +#if __cplusplus > 201402L +// In C++17 mathematical special functions are in namespace std. +# define _GLIBCXX_USE_STD_SPEC_FUNCS 1 +#elif __cplusplus >= 201103L && __STDCPP_WANT_MATH_SPEC_FUNCS__ != 0 +// For C++11 and C++14 they are in namespace std when requested. +# define _GLIBCXX_USE_STD_SPEC_FUNCS 1 +#endif + +// The remainder of the prewritten config is automatic; all the +// user hooks are listed above. + +// Create a boolean flag to be used to determine if --fast-math is set. +#ifdef __FAST_MATH__ +# define _GLIBCXX_FAST_MATH 1 +#else +# define _GLIBCXX_FAST_MATH 0 +#endif + +// This marks string literals in header files to be extracted for eventual +// translation. It is primarily used for messages in thrown exceptions; see +// src/functexcept.cc. We use __N because the more traditional _N is used +// for something else under certain OSes (see BADNAMES). +#define __N(msgid) (msgid) + +// For example, is known to #define min and max as macros... +#undef min +#undef max + +// N.B. these _GLIBCXX_USE_C99_XXX macros are defined unconditionally +// so they should be tested with #if not with #ifdef. +#if __cplusplus >= 201103L +# ifndef _GLIBCXX_USE_C99_MATH +# define _GLIBCXX_USE_C99_MATH _GLIBCXX11_USE_C99_MATH +# endif +# ifndef _GLIBCXX_USE_C99_COMPLEX +# define _GLIBCXX_USE_C99_COMPLEX _GLIBCXX11_USE_C99_COMPLEX +# endif +# ifndef _GLIBCXX_USE_C99_STDIO +# define _GLIBCXX_USE_C99_STDIO _GLIBCXX11_USE_C99_STDIO +# endif +# ifndef _GLIBCXX_USE_C99_STDLIB +# define _GLIBCXX_USE_C99_STDLIB _GLIBCXX11_USE_C99_STDLIB +# endif +# ifndef _GLIBCXX_USE_C99_WCHAR +# define _GLIBCXX_USE_C99_WCHAR _GLIBCXX11_USE_C99_WCHAR +# endif +#else +# ifndef _GLIBCXX_USE_C99_MATH +# define _GLIBCXX_USE_C99_MATH _GLIBCXX98_USE_C99_MATH +# endif +# ifndef _GLIBCXX_USE_C99_COMPLEX +# define _GLIBCXX_USE_C99_COMPLEX _GLIBCXX98_USE_C99_COMPLEX +# endif +# ifndef _GLIBCXX_USE_C99_STDIO +# define _GLIBCXX_USE_C99_STDIO _GLIBCXX98_USE_C99_STDIO +# endif +# ifndef _GLIBCXX_USE_C99_STDLIB +# define _GLIBCXX_USE_C99_STDLIB _GLIBCXX98_USE_C99_STDLIB +# endif +# ifndef _GLIBCXX_USE_C99_WCHAR +# define _GLIBCXX_USE_C99_WCHAR _GLIBCXX98_USE_C99_WCHAR +# endif +#endif + +// Unless explicitly specified, enable char8_t extensions only if the core +// language char8_t feature macro is defined. +#ifndef _GLIBCXX_USE_CHAR8_T +# ifdef __cpp_char8_t +# define _GLIBCXX_USE_CHAR8_T 1 +# endif +#endif +#ifdef _GLIBCXX_USE_CHAR8_T +# define __cpp_lib_char8_t 201811L +#endif + +/* Define if __float128 is supported on this host. */ +#if defined(__FLOAT128__) || defined(__SIZEOF_FLOAT128__) +#define _GLIBCXX_USE_FLOAT128 1 +#endif + +#if __GNUC__ >= 7 +// Assume these are available if the compiler claims to be a recent GCC: +# define _GLIBCXX_HAVE_BUILTIN_HAS_UNIQ_OBJ_REP 1 +# define _GLIBCXX_HAVE_BUILTIN_IS_AGGREGATE 1 +# define _GLIBCXX_HAVE_BUILTIN_LAUNDER 1 +# if __GNUC__ >= 9 +# define _GLIBCXX_HAVE_BUILTIN_IS_CONSTANT_EVALUATED 1 +# endif +#elif defined(__is_identifier) && defined(__has_builtin) +// For non-GNU compilers: +# if ! __is_identifier(__has_unique_object_representations) +# define _GLIBCXX_HAVE_BUILTIN_HAS_UNIQ_OBJ_REP 1 +# endif +# if ! __is_identifier(__is_aggregate) +# define _GLIBCXX_HAVE_BUILTIN_IS_AGGREGATE 1 +# endif +# if __has_builtin(__builtin_launder) +# define _GLIBCXX_HAVE_BUILTIN_LAUNDER 1 +# endif +# if __has_builtin(__builtin_is_constant_evaluated) +# define _GLIBCXX_HAVE_BUILTIN_IS_CONSTANT_EVALUATED 1 +# endif +#endif // GCC + +// PSTL configuration + +#if __cplusplus >= 201703L +// Preserved here so we have some idea which version of upstream we've pulled in +// #define PSTL_VERSION 104 +// #define PSTL_VERSION_MAJOR (PSTL_VERSION/100) +// #define PSTL_VERSION_MINOR (PSTL_VERSION - PSTL_VERSION_MAJOR * 100) + +// For now this defaults to being based on the presence of Thread Building Blocks +# ifndef _GLIBCXX_USE_TBB_PAR_BACKEND +# define _GLIBCXX_USE_TBB_PAR_BACKEND __has_include() +# endif +// This section will need some rework when a new (default) backend type is added +# if _GLIBCXX_USE_TBB_PAR_BACKEND +# define __PSTL_USE_PAR_POLICIES 1 +# endif + +# define __PSTL_ASSERT(_Condition) __glibcxx_assert(_Condition) +# define __PSTL_ASSERT_MSG(_Condition, _Message) __glibcxx_assert(_Condition) + +#include + +#endif +// End of prewritten config; the settings discovered at configure time follow. +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the `acosf' function. */ +#define _GLIBCXX_HAVE_ACOSF 1 + +/* Define to 1 if you have the `acosl' function. */ +#define _GLIBCXX_HAVE_ACOSL 1 + +/* Define to 1 if you have the `aligned_alloc' function. */ +#define _GLIBCXX_HAVE_ALIGNED_ALLOC 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_ARPA_INET_H 1 + +/* Define to 1 if you have the `asinf' function. */ +#define _GLIBCXX_HAVE_ASINF 1 + +/* Define to 1 if you have the `asinl' function. */ +#define _GLIBCXX_HAVE_ASINL 1 + +/* Define to 1 if the target assembler supports .symver directive. */ +#define _GLIBCXX_HAVE_AS_SYMVER_DIRECTIVE 1 + +/* Define to 1 if you have the `atan2f' function. */ +#define _GLIBCXX_HAVE_ATAN2F 1 + +/* Define to 1 if you have the `atan2l' function. */ +#define _GLIBCXX_HAVE_ATAN2L 1 + +/* Define to 1 if you have the `atanf' function. */ +#define _GLIBCXX_HAVE_ATANF 1 + +/* Define to 1 if you have the `atanl' function. */ +#define _GLIBCXX_HAVE_ATANL 1 + +/* Defined if shared_ptr reference counting should use atomic operations. */ +#define _GLIBCXX_HAVE_ATOMIC_LOCK_POLICY 1 + +/* Define to 1 if you have the `at_quick_exit' function. */ +#define _GLIBCXX_HAVE_AT_QUICK_EXIT 1 + +/* Define to 1 if the target assembler supports thread-local storage. */ +/* #undef _GLIBCXX_HAVE_CC_TLS */ + +/* Define to 1 if you have the `ceilf' function. */ +#define _GLIBCXX_HAVE_CEILF 1 + +/* Define to 1 if you have the `ceill' function. */ +#define _GLIBCXX_HAVE_CEILL 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_COMPLEX_H 1 + +/* Define to 1 if you have the `cosf' function. */ +#define _GLIBCXX_HAVE_COSF 1 + +/* Define to 1 if you have the `coshf' function. */ +#define _GLIBCXX_HAVE_COSHF 1 + +/* Define to 1 if you have the `coshl' function. */ +#define _GLIBCXX_HAVE_COSHL 1 + +/* Define to 1 if you have the `cosl' function. */ +#define _GLIBCXX_HAVE_COSL 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_DIRENT_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_DLFCN_H 1 + +/* Define if EBADMSG exists. */ +#define _GLIBCXX_HAVE_EBADMSG 1 + +/* Define if ECANCELED exists. */ +#define _GLIBCXX_HAVE_ECANCELED 1 + +/* Define if ECHILD exists. */ +#define _GLIBCXX_HAVE_ECHILD 1 + +/* Define if EIDRM exists. */ +#define _GLIBCXX_HAVE_EIDRM 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_ENDIAN_H 1 + +/* Define if ENODATA exists. */ +#define _GLIBCXX_HAVE_ENODATA 1 + +/* Define if ENOLINK exists. */ +#define _GLIBCXX_HAVE_ENOLINK 1 + +/* Define if ENOSPC exists. */ +#define _GLIBCXX_HAVE_ENOSPC 1 + +/* Define if ENOSR exists. */ +#define _GLIBCXX_HAVE_ENOSR 1 + +/* Define if ENOSTR exists. */ +#define _GLIBCXX_HAVE_ENOSTR 1 + +/* Define if ENOTRECOVERABLE exists. */ +#define _GLIBCXX_HAVE_ENOTRECOVERABLE 1 + +/* Define if ENOTSUP exists. */ +#define _GLIBCXX_HAVE_ENOTSUP 1 + +/* Define if EOVERFLOW exists. */ +#define _GLIBCXX_HAVE_EOVERFLOW 1 + +/* Define if EOWNERDEAD exists. */ +#define _GLIBCXX_HAVE_EOWNERDEAD 1 + +/* Define if EPERM exists. */ +#define _GLIBCXX_HAVE_EPERM 1 + +/* Define if EPROTO exists. */ +#define _GLIBCXX_HAVE_EPROTO 1 + +/* Define if ETIME exists. */ +#define _GLIBCXX_HAVE_ETIME 1 + +/* Define if ETIMEDOUT exists. */ +#define _GLIBCXX_HAVE_ETIMEDOUT 1 + +/* Define if ETXTBSY exists. */ +#define _GLIBCXX_HAVE_ETXTBSY 1 + +/* Define if EWOULDBLOCK exists. */ +#define _GLIBCXX_HAVE_EWOULDBLOCK 1 + +/* Define to 1 if GCC 4.6 supported std::exception_ptr for the target */ +#define _GLIBCXX_HAVE_EXCEPTION_PTR_SINCE_GCC46 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_EXECINFO_H 1 + +/* Define to 1 if you have the `expf' function. */ +#define _GLIBCXX_HAVE_EXPF 1 + +/* Define to 1 if you have the `expl' function. */ +#define _GLIBCXX_HAVE_EXPL 1 + +/* Define to 1 if you have the `fabsf' function. */ +#define _GLIBCXX_HAVE_FABSF 1 + +/* Define to 1 if you have the `fabsl' function. */ +#define _GLIBCXX_HAVE_FABSL 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_FCNTL_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_FENV_H 1 + +/* Define to 1 if you have the `finite' function. */ +#define _GLIBCXX_HAVE_FINITE 1 + +/* Define to 1 if you have the `finitef' function. */ +#define _GLIBCXX_HAVE_FINITEF 1 + +/* Define to 1 if you have the `finitel' function. */ +#define _GLIBCXX_HAVE_FINITEL 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_FLOAT_H 1 + +/* Define to 1 if you have the `floorf' function. */ +#define _GLIBCXX_HAVE_FLOORF 1 + +/* Define to 1 if you have the `floorl' function. */ +#define _GLIBCXX_HAVE_FLOORL 1 + +/* Define to 1 if you have the `fmodf' function. */ +#define _GLIBCXX_HAVE_FMODF 1 + +/* Define to 1 if you have the `fmodl' function. */ +#define _GLIBCXX_HAVE_FMODL 1 + +/* Define to 1 if you have the `fpclass' function. */ +/* #undef _GLIBCXX_HAVE_FPCLASS */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_FP_H */ + +/* Define to 1 if you have the `frexpf' function. */ +#define _GLIBCXX_HAVE_FREXPF 1 + +/* Define to 1 if you have the `frexpl' function. */ +#define _GLIBCXX_HAVE_FREXPL 1 + +/* Define if _Unwind_GetIPInfo is available. */ +#define _GLIBCXX_HAVE_GETIPINFO 1 + +/* Define if gets is available in before C++14. */ +#define _GLIBCXX_HAVE_GETS 1 + +/* Define to 1 if you have the `hypot' function. */ +#define _GLIBCXX_HAVE_HYPOT 1 + +/* Define to 1 if you have the `hypotf' function. */ +#define _GLIBCXX_HAVE_HYPOTF 1 + +/* Define to 1 if you have the `hypotl' function. */ +#define _GLIBCXX_HAVE_HYPOTL 1 + +/* Define if you have the iconv() function. */ +#define _GLIBCXX_HAVE_ICONV 1 + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_IEEEFP_H */ + +/* Define if int64_t is available in . */ +#define _GLIBCXX_HAVE_INT64_T 1 + +/* Define if int64_t is a long. */ +/* #undef _GLIBCXX_HAVE_INT64_T_LONG */ + +/* Define if int64_t is a long long. */ +#define _GLIBCXX_HAVE_INT64_T_LONG_LONG 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the `isinf' function. */ +/* #undef _GLIBCXX_HAVE_ISINF */ + +/* Define to 1 if you have the `isinff' function. */ +#define _GLIBCXX_HAVE_ISINFF 1 + +/* Define to 1 if you have the `isinfl' function. */ +#define _GLIBCXX_HAVE_ISINFL 1 + +/* Define to 1 if you have the `isnan' function. */ +/* #undef _GLIBCXX_HAVE_ISNAN */ + +/* Define to 1 if you have the `isnanf' function. */ +#define _GLIBCXX_HAVE_ISNANF 1 + +/* Define to 1 if you have the `isnanl' function. */ +#define _GLIBCXX_HAVE_ISNANL 1 + +/* Defined if iswblank exists. */ +#define _GLIBCXX_HAVE_ISWBLANK 1 + +/* Define if LC_MESSAGES is available in . */ +#define _GLIBCXX_HAVE_LC_MESSAGES 1 + +/* Define to 1 if you have the `ldexpf' function. */ +#define _GLIBCXX_HAVE_LDEXPF 1 + +/* Define to 1 if you have the `ldexpl' function. */ +#define _GLIBCXX_HAVE_LDEXPL 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_LIBINTL_H 1 + +/* Only used in build directory testsuite_hooks.h. */ +#define _GLIBCXX_HAVE_LIMIT_AS 1 + +/* Only used in build directory testsuite_hooks.h. */ +#define _GLIBCXX_HAVE_LIMIT_DATA 1 + +/* Only used in build directory testsuite_hooks.h. */ +#define _GLIBCXX_HAVE_LIMIT_FSIZE 1 + +/* Only used in build directory testsuite_hooks.h. */ +#define _GLIBCXX_HAVE_LIMIT_RSS 1 + +/* Only used in build directory testsuite_hooks.h. */ +#define _GLIBCXX_HAVE_LIMIT_VMEM 0 + +/* Define if link is available in . */ +#define _GLIBCXX_HAVE_LINK 1 + +/* Define if futex syscall is available. */ +#define _GLIBCXX_HAVE_LINUX_FUTEX 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_LINUX_RANDOM_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_LINUX_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_LOCALE_H 1 + +/* Define to 1 if you have the `log10f' function. */ +#define _GLIBCXX_HAVE_LOG10F 1 + +/* Define to 1 if you have the `log10l' function. */ +#define _GLIBCXX_HAVE_LOG10L 1 + +/* Define to 1 if you have the `logf' function. */ +#define _GLIBCXX_HAVE_LOGF 1 + +/* Define to 1 if you have the `logl' function. */ +#define _GLIBCXX_HAVE_LOGL 1 + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_MACHINE_ENDIAN_H */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_MACHINE_PARAM_H */ + +/* Define if mbstate_t exists in wchar.h. */ +#define _GLIBCXX_HAVE_MBSTATE_T 1 + +/* Define to 1 if you have the `memalign' function. */ +#define _GLIBCXX_HAVE_MEMALIGN 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `modf' function. */ +#define _GLIBCXX_HAVE_MODF 1 + +/* Define to 1 if you have the `modff' function. */ +#define _GLIBCXX_HAVE_MODFF 1 + +/* Define to 1 if you have the `modfl' function. */ +#define _GLIBCXX_HAVE_MODFL 1 + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_NAN_H */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_NETDB_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_NETINET_IN_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_NETINET_TCP_H 1 + +/* Define if defines obsolete isinf function. */ +/* #undef _GLIBCXX_HAVE_OBSOLETE_ISINF */ + +/* Define if defines obsolete isnan function. */ +/* #undef _GLIBCXX_HAVE_OBSOLETE_ISNAN */ + +/* Define if poll is available in . */ +#define _GLIBCXX_HAVE_POLL 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_POLL_H 1 + +/* Define to 1 if you have the `posix_memalign' function. */ +#define _GLIBCXX_HAVE_POSIX_MEMALIGN 1 + +/* Define to 1 if you have the `powf' function. */ +#define _GLIBCXX_HAVE_POWF 1 + +/* Define to 1 if you have the `powl' function. */ +#define _GLIBCXX_HAVE_POWL 1 + +/* Define to 1 if you have the `qfpclass' function. */ +/* #undef _GLIBCXX_HAVE_QFPCLASS */ + +/* Define to 1 if you have the `quick_exit' function. */ +#define _GLIBCXX_HAVE_QUICK_EXIT 1 + +/* Define if readlink is available in . */ +#define _GLIBCXX_HAVE_READLINK 1 + +/* Define to 1 if you have the `setenv' function. */ +#define _GLIBCXX_HAVE_SETENV 1 + +/* Define to 1 if you have the `sincos' function. */ +#define _GLIBCXX_HAVE_SINCOS 1 + +/* Define to 1 if you have the `sincosf' function. */ +#define _GLIBCXX_HAVE_SINCOSF 1 + +/* Define to 1 if you have the `sincosl' function. */ +#define _GLIBCXX_HAVE_SINCOSL 1 + +/* Define to 1 if you have the `sinf' function. */ +#define _GLIBCXX_HAVE_SINF 1 + +/* Define to 1 if you have the `sinhf' function. */ +#define _GLIBCXX_HAVE_SINHF 1 + +/* Define to 1 if you have the `sinhl' function. */ +#define _GLIBCXX_HAVE_SINHL 1 + +/* Define to 1 if you have the `sinl' function. */ +#define _GLIBCXX_HAVE_SINL 1 + +/* Defined if sleep exists. */ +/* #undef _GLIBCXX_HAVE_SLEEP */ + +/* Define to 1 if you have the `sockatmark' function. */ +#define _GLIBCXX_HAVE_SOCKATMARK 1 + +/* Define to 1 if you have the `sqrtf' function. */ +#define _GLIBCXX_HAVE_SQRTF 1 + +/* Define to 1 if you have the `sqrtl' function. */ +#define _GLIBCXX_HAVE_SQRTL 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STDALIGN_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STDBOOL_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STDLIB_H 1 + +/* Define if strerror_l is available in . */ +#define _GLIBCXX_HAVE_STRERROR_L 1 + +/* Define if strerror_r is available in . */ +#define _GLIBCXX_HAVE_STRERROR_R 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STRING_H 1 + +/* Define to 1 if you have the `strtof' function. */ +#define _GLIBCXX_HAVE_STRTOF 1 + +/* Define to 1 if you have the `strtold' function. */ +#define _GLIBCXX_HAVE_STRTOLD 1 + +/* Define to 1 if `d_type' is a member of `struct dirent'. */ +#define _GLIBCXX_HAVE_STRUCT_DIRENT_D_TYPE 1 + +/* Define if strxfrm_l is available in . */ +#define _GLIBCXX_HAVE_STRXFRM_L 1 + +/* Define if symlink is available in . */ +#define _GLIBCXX_HAVE_SYMLINK 1 + +/* Define to 1 if the target runtime linker supports binding the same symbol + to different versions. */ +#define _GLIBCXX_HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT 1 + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_SYS_FILIO_H */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_IOCTL_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_IPC_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_SYS_ISA_DEFS_H */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_SYS_MACHINE_H */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_RESOURCE_H 1 + +/* Define to 1 if you have a suitable header file */ +#define _GLIBCXX_HAVE_SYS_SDT_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_SEM_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_SOCKET_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_STATVFS_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_SYSINFO_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_UIO_H 1 + +/* Define if S_IFREG is available in . */ +/* #undef _GLIBCXX_HAVE_S_IFREG */ + +/* Define if S_ISREG is available in . */ +#define _GLIBCXX_HAVE_S_ISREG 1 + +/* Define to 1 if you have the `tanf' function. */ +#define _GLIBCXX_HAVE_TANF 1 + +/* Define to 1 if you have the `tanhf' function. */ +#define _GLIBCXX_HAVE_TANHF 1 + +/* Define to 1 if you have the `tanhl' function. */ +#define _GLIBCXX_HAVE_TANHL 1 + +/* Define to 1 if you have the `tanl' function. */ +#define _GLIBCXX_HAVE_TANL 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_TGMATH_H 1 + +/* Define to 1 if you have the `timespec_get' function. */ +#define _GLIBCXX_HAVE_TIMESPEC_GET 1 + +/* Define to 1 if the target supports thread-local storage. */ +#define _GLIBCXX_HAVE_TLS 1 + +/* Define if truncate is available in . */ +#define _GLIBCXX_HAVE_TRUNCATE 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_UCHAR_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_UNISTD_H 1 + +/* Defined if usleep exists. */ +/* #undef _GLIBCXX_HAVE_USLEEP */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_UTIME_H 1 + +/* Defined if vfwscanf exists. */ +#define _GLIBCXX_HAVE_VFWSCANF 1 + +/* Defined if vswscanf exists. */ +#define _GLIBCXX_HAVE_VSWSCANF 1 + +/* Defined if vwscanf exists. */ +#define _GLIBCXX_HAVE_VWSCANF 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_WCHAR_H 1 + +/* Defined if wcstof exists. */ +#define _GLIBCXX_HAVE_WCSTOF 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_WCTYPE_H 1 + +/* Defined if Sleep exists. */ +/* #undef _GLIBCXX_HAVE_WIN32_SLEEP */ + +/* Define if writev is available in . */ +#define _GLIBCXX_HAVE_WRITEV 1 + +/* Define to 1 if you have the `_acosf' function. */ +/* #undef _GLIBCXX_HAVE__ACOSF */ + +/* Define to 1 if you have the `_acosl' function. */ +/* #undef _GLIBCXX_HAVE__ACOSL */ + +/* Define to 1 if you have the `_aligned_malloc' function. */ +/* #undef _GLIBCXX_HAVE__ALIGNED_MALLOC */ + +/* Define to 1 if you have the `_asinf' function. */ +/* #undef _GLIBCXX_HAVE__ASINF */ + +/* Define to 1 if you have the `_asinl' function. */ +/* #undef _GLIBCXX_HAVE__ASINL */ + +/* Define to 1 if you have the `_atan2f' function. */ +/* #undef _GLIBCXX_HAVE__ATAN2F */ + +/* Define to 1 if you have the `_atan2l' function. */ +/* #undef _GLIBCXX_HAVE__ATAN2L */ + +/* Define to 1 if you have the `_atanf' function. */ +/* #undef _GLIBCXX_HAVE__ATANF */ + +/* Define to 1 if you have the `_atanl' function. */ +/* #undef _GLIBCXX_HAVE__ATANL */ + +/* Define to 1 if you have the `_ceilf' function. */ +/* #undef _GLIBCXX_HAVE__CEILF */ + +/* Define to 1 if you have the `_ceill' function. */ +/* #undef _GLIBCXX_HAVE__CEILL */ + +/* Define to 1 if you have the `_cosf' function. */ +/* #undef _GLIBCXX_HAVE__COSF */ + +/* Define to 1 if you have the `_coshf' function. */ +/* #undef _GLIBCXX_HAVE__COSHF */ + +/* Define to 1 if you have the `_coshl' function. */ +/* #undef _GLIBCXX_HAVE__COSHL */ + +/* Define to 1 if you have the `_cosl' function. */ +/* #undef _GLIBCXX_HAVE__COSL */ + +/* Define to 1 if you have the `_expf' function. */ +/* #undef _GLIBCXX_HAVE__EXPF */ + +/* Define to 1 if you have the `_expl' function. */ +/* #undef _GLIBCXX_HAVE__EXPL */ + +/* Define to 1 if you have the `_fabsf' function. */ +/* #undef _GLIBCXX_HAVE__FABSF */ + +/* Define to 1 if you have the `_fabsl' function. */ +/* #undef _GLIBCXX_HAVE__FABSL */ + +/* Define to 1 if you have the `_finite' function. */ +/* #undef _GLIBCXX_HAVE__FINITE */ + +/* Define to 1 if you have the `_finitef' function. */ +/* #undef _GLIBCXX_HAVE__FINITEF */ + +/* Define to 1 if you have the `_finitel' function. */ +/* #undef _GLIBCXX_HAVE__FINITEL */ + +/* Define to 1 if you have the `_floorf' function. */ +/* #undef _GLIBCXX_HAVE__FLOORF */ + +/* Define to 1 if you have the `_floorl' function. */ +/* #undef _GLIBCXX_HAVE__FLOORL */ + +/* Define to 1 if you have the `_fmodf' function. */ +/* #undef _GLIBCXX_HAVE__FMODF */ + +/* Define to 1 if you have the `_fmodl' function. */ +/* #undef _GLIBCXX_HAVE__FMODL */ + +/* Define to 1 if you have the `_fpclass' function. */ +/* #undef _GLIBCXX_HAVE__FPCLASS */ + +/* Define to 1 if you have the `_frexpf' function. */ +/* #undef _GLIBCXX_HAVE__FREXPF */ + +/* Define to 1 if you have the `_frexpl' function. */ +/* #undef _GLIBCXX_HAVE__FREXPL */ + +/* Define to 1 if you have the `_hypot' function. */ +/* #undef _GLIBCXX_HAVE__HYPOT */ + +/* Define to 1 if you have the `_hypotf' function. */ +/* #undef _GLIBCXX_HAVE__HYPOTF */ + +/* Define to 1 if you have the `_hypotl' function. */ +/* #undef _GLIBCXX_HAVE__HYPOTL */ + +/* Define to 1 if you have the `_isinf' function. */ +/* #undef _GLIBCXX_HAVE__ISINF */ + +/* Define to 1 if you have the `_isinff' function. */ +/* #undef _GLIBCXX_HAVE__ISINFF */ + +/* Define to 1 if you have the `_isinfl' function. */ +/* #undef _GLIBCXX_HAVE__ISINFL */ + +/* Define to 1 if you have the `_isnan' function. */ +/* #undef _GLIBCXX_HAVE__ISNAN */ + +/* Define to 1 if you have the `_isnanf' function. */ +/* #undef _GLIBCXX_HAVE__ISNANF */ + +/* Define to 1 if you have the `_isnanl' function. */ +/* #undef _GLIBCXX_HAVE__ISNANL */ + +/* Define to 1 if you have the `_ldexpf' function. */ +/* #undef _GLIBCXX_HAVE__LDEXPF */ + +/* Define to 1 if you have the `_ldexpl' function. */ +/* #undef _GLIBCXX_HAVE__LDEXPL */ + +/* Define to 1 if you have the `_log10f' function. */ +/* #undef _GLIBCXX_HAVE__LOG10F */ + +/* Define to 1 if you have the `_log10l' function. */ +/* #undef _GLIBCXX_HAVE__LOG10L */ + +/* Define to 1 if you have the `_logf' function. */ +/* #undef _GLIBCXX_HAVE__LOGF */ + +/* Define to 1 if you have the `_logl' function. */ +/* #undef _GLIBCXX_HAVE__LOGL */ + +/* Define to 1 if you have the `_modf' function. */ +/* #undef _GLIBCXX_HAVE__MODF */ + +/* Define to 1 if you have the `_modff' function. */ +/* #undef _GLIBCXX_HAVE__MODFF */ + +/* Define to 1 if you have the `_modfl' function. */ +/* #undef _GLIBCXX_HAVE__MODFL */ + +/* Define to 1 if you have the `_powf' function. */ +/* #undef _GLIBCXX_HAVE__POWF */ + +/* Define to 1 if you have the `_powl' function. */ +/* #undef _GLIBCXX_HAVE__POWL */ + +/* Define to 1 if you have the `_qfpclass' function. */ +/* #undef _GLIBCXX_HAVE__QFPCLASS */ + +/* Define to 1 if you have the `_sincos' function. */ +/* #undef _GLIBCXX_HAVE__SINCOS */ + +/* Define to 1 if you have the `_sincosf' function. */ +/* #undef _GLIBCXX_HAVE__SINCOSF */ + +/* Define to 1 if you have the `_sincosl' function. */ +/* #undef _GLIBCXX_HAVE__SINCOSL */ + +/* Define to 1 if you have the `_sinf' function. */ +/* #undef _GLIBCXX_HAVE__SINF */ + +/* Define to 1 if you have the `_sinhf' function. */ +/* #undef _GLIBCXX_HAVE__SINHF */ + +/* Define to 1 if you have the `_sinhl' function. */ +/* #undef _GLIBCXX_HAVE__SINHL */ + +/* Define to 1 if you have the `_sinl' function. */ +/* #undef _GLIBCXX_HAVE__SINL */ + +/* Define to 1 if you have the `_sqrtf' function. */ +/* #undef _GLIBCXX_HAVE__SQRTF */ + +/* Define to 1 if you have the `_sqrtl' function. */ +/* #undef _GLIBCXX_HAVE__SQRTL */ + +/* Define to 1 if you have the `_tanf' function. */ +/* #undef _GLIBCXX_HAVE__TANF */ + +/* Define to 1 if you have the `_tanhf' function. */ +/* #undef _GLIBCXX_HAVE__TANHF */ + +/* Define to 1 if you have the `_tanhl' function. */ +/* #undef _GLIBCXX_HAVE__TANHL */ + +/* Define to 1 if you have the `_tanl' function. */ +/* #undef _GLIBCXX_HAVE__TANL */ + +/* Define to 1 if you have the `_wfopen' function. */ +/* #undef _GLIBCXX_HAVE__WFOPEN */ + +/* Define to 1 if you have the `__cxa_thread_atexit' function. */ +/* #undef _GLIBCXX_HAVE___CXA_THREAD_ATEXIT */ + +/* Define to 1 if you have the `__cxa_thread_atexit_impl' function. */ +#define _GLIBCXX_HAVE___CXA_THREAD_ATEXIT_IMPL 1 + +/* Define as const if the declaration of iconv() needs const. */ +#define _GLIBCXX_ICONV_CONST + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +/* #undef _GLIBCXX_PACKAGE */ + +/* Define to the address where bug reports for this package should be sent. */ +#define _GLIBCXX_PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define _GLIBCXX_PACKAGE_NAME "package-unused" + +/* Define to the full name and version of this package. */ +#define _GLIBCXX_PACKAGE_STRING "package-unused version-unused" + +/* Define to the one symbol short name of this package. */ +#define _GLIBCXX_PACKAGE_TARNAME "libstdc++" + +/* Define to the home page for this package. */ +#define _GLIBCXX_PACKAGE_URL "" + +/* Define to the version of this package. */ +#define _GLIBCXX_PACKAGE__GLIBCXX_VERSION "version-unused" + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +/* #undef SIZEOF_INT */ + +/* The size of `long', as computed by sizeof. */ +/* #undef SIZEOF_LONG */ + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Version number of package */ +/* #undef _GLIBCXX_VERSION */ + +/* Define if C99 functions in should be used in for + C++11. Using compiler builtins for these functions requires corresponding + C99 library functions to be present. */ +#define _GLIBCXX11_USE_C99_COMPLEX 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std for C++11. */ +#define _GLIBCXX11_USE_C99_MATH 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std for C++11. */ +#define _GLIBCXX11_USE_C99_STDIO 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std for C++11. */ +#define _GLIBCXX11_USE_C99_STDLIB 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std for C++11. */ +#define _GLIBCXX11_USE_C99_WCHAR 1 + +/* Define if C99 functions in should be used in for + C++98. Using compiler builtins for these functions requires corresponding + C99 library functions to be present. */ +#define _GLIBCXX98_USE_C99_COMPLEX 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std for C++98. */ +#define _GLIBCXX98_USE_C99_MATH 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std for C++98. */ +#define _GLIBCXX98_USE_C99_STDIO 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std for C++98. */ +#define _GLIBCXX98_USE_C99_STDLIB 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std for C++98. */ +#define _GLIBCXX98_USE_C99_WCHAR 1 + +/* Define if the compiler supports C++11 atomics. */ +#define _GLIBCXX_ATOMIC_BUILTINS 1 + +/* Define to use concept checking code from the boost libraries. */ +/* #undef _GLIBCXX_CONCEPT_CHECKS */ + +/* Define to 1 if a fully dynamic basic_string is wanted, 0 to disable, + undefined for platform defaults */ +#define _GLIBCXX_FULLY_DYNAMIC_STRING 0 + +/* Define if gthreads library is available. */ +#define _GLIBCXX_HAS_GTHREADS 1 + +/* Define to 1 if a full hosted library is built, or 0 if freestanding. */ +#define _GLIBCXX_HOSTED 1 + +/* Define if compatibility should be provided for -mlong-double-64. */ + +/* Define to the letter to which size_t is mangled. */ +#define _GLIBCXX_MANGLE_SIZE_T j + +/* Define if C99 llrint and llround functions are missing from . */ +/* #undef _GLIBCXX_NO_C99_ROUNDING_FUNCS */ + +/* Define if ptrdiff_t is int. */ +#define _GLIBCXX_PTRDIFF_T_IS_INT 1 + +/* Define if using setrlimit to set resource limits during "make check" */ +#define _GLIBCXX_RES_LIMITS 1 + +/* Define if size_t is unsigned int. */ +#define _GLIBCXX_SIZE_T_IS_UINT 1 + +/* Define to the value of the EOF integer constant. */ +#define _GLIBCXX_STDIO_EOF -1 + +/* Define to the value of the SEEK_CUR integer constant. */ +#define _GLIBCXX_STDIO_SEEK_CUR 1 + +/* Define to the value of the SEEK_END integer constant. */ +#define _GLIBCXX_STDIO_SEEK_END 2 + +/* Define to use symbol versioning in the shared library. */ +#define _GLIBCXX_SYMVER 1 + +/* Define to use darwin versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_DARWIN */ + +/* Define to use GNU versioning in the shared library. */ +#define _GLIBCXX_SYMVER_GNU 1 + +/* Define to use GNU namespace versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU_NAMESPACE */ + +/* Define to use Sun versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_SUN */ + +/* Define if C11 functions in should be imported into namespace std + in . */ +#define _GLIBCXX_USE_C11_UCHAR_CXX11 1 + +/* Define if C99 functions or macros from , , , + , and can be used or exposed. */ +#define _GLIBCXX_USE_C99 1 + +/* Define if C99 functions in should be used in . + Using compiler builtins for these functions requires corresponding C99 + library functions to be present. */ +#define _GLIBCXX_USE_C99_COMPLEX_TR1 1 + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_CTYPE_TR1 1 + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_FENV_TR1 1 + +/* Define if C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_TR1 1 + +/* Define if wchar_t C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_MATH_TR1 1 + +/* Define if C99 types in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_STDINT_TR1 1 + +/* Defined if clock_gettime syscall has monotonic and realtime clock support. + */ +/* #undef _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL */ + +/* Defined if clock_gettime has monotonic clock support. */ +#define _GLIBCXX_USE_CLOCK_MONOTONIC 1 + +/* Defined if clock_gettime has realtime clock support. */ +#define _GLIBCXX_USE_CLOCK_REALTIME 1 + +/* Define if ISO/IEC TR 24733 decimal floating point types are supported on + this host. */ +#define _GLIBCXX_USE_DECIMAL_FLOAT 1 + +/* Define if /dev/random and /dev/urandom are available for + std::random_device. */ +#define _GLIBCXX_USE_DEV_RANDOM 1 + +/* Define if fchmod is available in . */ +#define _GLIBCXX_USE_FCHMOD 1 + +/* Define if fchmodat is available in . */ +#define _GLIBCXX_USE_FCHMODAT 1 + +/* Defined if gettimeofday is available. */ +#define _GLIBCXX_USE_GETTIMEOFDAY 1 + +/* Define if get_nprocs is available in . */ +#define _GLIBCXX_USE_GET_NPROCS 1 + +/* Define if __int128 is supported on this host. */ +/* #undef _GLIBCXX_USE_INT128 */ + +/* Define if LFS support is available. */ +#define _GLIBCXX_USE_LFS 1 + +/* Define if code specialized for long long should be used. */ +#define _GLIBCXX_USE_LONG_LONG 1 + +/* Define if lstat is available in . */ +#define _GLIBCXX_USE_LSTAT 1 + +/* Defined if nanosleep is available. */ +#define _GLIBCXX_USE_NANOSLEEP 1 + +/* Define if NLS translations are to be used. */ +#define _GLIBCXX_USE_NLS 1 + +/* Define if pthreads_num_processors_np is available in . */ +/* #undef _GLIBCXX_USE_PTHREADS_NUM_PROCESSORS_NP */ + +/* Define if POSIX read/write locks are available in . */ +#define _GLIBCXX_USE_PTHREAD_RWLOCK_T 1 + +/* Define if /dev/random and /dev/urandom are available for the random_device + of TR1 (Chapter 5.1). */ +#define _GLIBCXX_USE_RANDOM_TR1 1 + +/* Define if usable realpath is available in . */ +#define _GLIBCXX_USE_REALPATH 1 + +/* Defined if sched_yield is available. */ +#define _GLIBCXX_USE_SCHED_YIELD 1 + +/* Define if _SC_NPROCESSORS_ONLN is available in . */ +#define _GLIBCXX_USE_SC_NPROCESSORS_ONLN 1 + +/* Define if _SC_NPROC_ONLN is available in . */ +/* #undef _GLIBCXX_USE_SC_NPROC_ONLN */ + +/* Define if sendfile is available in . */ +#define _GLIBCXX_USE_SENDFILE 1 + +/* Define if struct stat has timespec members. */ +#define _GLIBCXX_USE_ST_MTIM 1 + +/* Define if sysctl(), CTL_HW and HW_NCPU are available in . */ +/* #undef _GLIBCXX_USE_SYSCTL_HW_NCPU */ + +/* Define if obsolescent tmpnam is available in . */ +#define _GLIBCXX_USE_TMPNAM 1 + +/* Define if utime is available in . */ +#define _GLIBCXX_USE_UTIME 1 + +/* Define if utimensat and UTIME_OMIT are available in and + AT_FDCWD in . */ +#define _GLIBCXX_USE_UTIMENSAT 1 + +/* Define if code specialized for wchar_t should be used. */ +#define _GLIBCXX_USE_WCHAR_T 1 + +/* Define to 1 if a verbose library is built, or 0 otherwise. */ +#define _GLIBCXX_VERBOSE 1 + +/* Defined if as can handle rdrand. */ +#define _GLIBCXX_X86_RDRAND 1 + +/* Define to 1 if mutex_timedlock is available. */ +#define _GTHREAD_USE_MUTEX_TIMEDLOCK 1 + +/* Define if all C++11 floating point overloads are available in . */ +#if __cplusplus >= 201103L +/* #undef __CORRECT_ISO_CPP11_MATH_H_PROTO_FP */ +#endif + +/* Define if all C++11 integral type overloads are available in . */ +#if __cplusplus >= 201103L +/* #undef __CORRECT_ISO_CPP11_MATH_H_PROTO_INT */ +#endif + +#if defined (_GLIBCXX_HAVE__ACOSF) && ! defined (_GLIBCXX_HAVE_ACOSF) +# define _GLIBCXX_HAVE_ACOSF 1 +# define acosf _acosf +#endif + +#if defined (_GLIBCXX_HAVE__ACOSL) && ! defined (_GLIBCXX_HAVE_ACOSL) +# define _GLIBCXX_HAVE_ACOSL 1 +# define acosl _acosl +#endif + +#if defined (_GLIBCXX_HAVE__ASINF) && ! defined (_GLIBCXX_HAVE_ASINF) +# define _GLIBCXX_HAVE_ASINF 1 +# define asinf _asinf +#endif + +#if defined (_GLIBCXX_HAVE__ASINL) && ! defined (_GLIBCXX_HAVE_ASINL) +# define _GLIBCXX_HAVE_ASINL 1 +# define asinl _asinl +#endif + +#if defined (_GLIBCXX_HAVE__ATAN2F) && ! defined (_GLIBCXX_HAVE_ATAN2F) +# define _GLIBCXX_HAVE_ATAN2F 1 +# define atan2f _atan2f +#endif + +#if defined (_GLIBCXX_HAVE__ATAN2L) && ! defined (_GLIBCXX_HAVE_ATAN2L) +# define _GLIBCXX_HAVE_ATAN2L 1 +# define atan2l _atan2l +#endif + +#if defined (_GLIBCXX_HAVE__ATANF) && ! defined (_GLIBCXX_HAVE_ATANF) +# define _GLIBCXX_HAVE_ATANF 1 +# define atanf _atanf +#endif + +#if defined (_GLIBCXX_HAVE__ATANL) && ! defined (_GLIBCXX_HAVE_ATANL) +# define _GLIBCXX_HAVE_ATANL 1 +# define atanl _atanl +#endif + +#if defined (_GLIBCXX_HAVE__CEILF) && ! defined (_GLIBCXX_HAVE_CEILF) +# define _GLIBCXX_HAVE_CEILF 1 +# define ceilf _ceilf +#endif + +#if defined (_GLIBCXX_HAVE__CEILL) && ! defined (_GLIBCXX_HAVE_CEILL) +# define _GLIBCXX_HAVE_CEILL 1 +# define ceill _ceill +#endif + +#if defined (_GLIBCXX_HAVE__COSF) && ! defined (_GLIBCXX_HAVE_COSF) +# define _GLIBCXX_HAVE_COSF 1 +# define cosf _cosf +#endif + +#if defined (_GLIBCXX_HAVE__COSHF) && ! defined (_GLIBCXX_HAVE_COSHF) +# define _GLIBCXX_HAVE_COSHF 1 +# define coshf _coshf +#endif + +#if defined (_GLIBCXX_HAVE__COSHL) && ! defined (_GLIBCXX_HAVE_COSHL) +# define _GLIBCXX_HAVE_COSHL 1 +# define coshl _coshl +#endif + +#if defined (_GLIBCXX_HAVE__COSL) && ! defined (_GLIBCXX_HAVE_COSL) +# define _GLIBCXX_HAVE_COSL 1 +# define cosl _cosl +#endif + +#if defined (_GLIBCXX_HAVE__EXPF) && ! defined (_GLIBCXX_HAVE_EXPF) +# define _GLIBCXX_HAVE_EXPF 1 +# define expf _expf +#endif + +#if defined (_GLIBCXX_HAVE__EXPL) && ! defined (_GLIBCXX_HAVE_EXPL) +# define _GLIBCXX_HAVE_EXPL 1 +# define expl _expl +#endif + +#if defined (_GLIBCXX_HAVE__FABSF) && ! defined (_GLIBCXX_HAVE_FABSF) +# define _GLIBCXX_HAVE_FABSF 1 +# define fabsf _fabsf +#endif + +#if defined (_GLIBCXX_HAVE__FABSL) && ! defined (_GLIBCXX_HAVE_FABSL) +# define _GLIBCXX_HAVE_FABSL 1 +# define fabsl _fabsl +#endif + +#if defined (_GLIBCXX_HAVE__FINITE) && ! defined (_GLIBCXX_HAVE_FINITE) +# define _GLIBCXX_HAVE_FINITE 1 +# define finite _finite +#endif + +#if defined (_GLIBCXX_HAVE__FINITEF) && ! defined (_GLIBCXX_HAVE_FINITEF) +# define _GLIBCXX_HAVE_FINITEF 1 +# define finitef _finitef +#endif + +#if defined (_GLIBCXX_HAVE__FINITEL) && ! defined (_GLIBCXX_HAVE_FINITEL) +# define _GLIBCXX_HAVE_FINITEL 1 +# define finitel _finitel +#endif + +#if defined (_GLIBCXX_HAVE__FLOORF) && ! defined (_GLIBCXX_HAVE_FLOORF) +# define _GLIBCXX_HAVE_FLOORF 1 +# define floorf _floorf +#endif + +#if defined (_GLIBCXX_HAVE__FLOORL) && ! defined (_GLIBCXX_HAVE_FLOORL) +# define _GLIBCXX_HAVE_FLOORL 1 +# define floorl _floorl +#endif + +#if defined (_GLIBCXX_HAVE__FMODF) && ! defined (_GLIBCXX_HAVE_FMODF) +# define _GLIBCXX_HAVE_FMODF 1 +# define fmodf _fmodf +#endif + +#if defined (_GLIBCXX_HAVE__FMODL) && ! defined (_GLIBCXX_HAVE_FMODL) +# define _GLIBCXX_HAVE_FMODL 1 +# define fmodl _fmodl +#endif + +#if defined (_GLIBCXX_HAVE__FPCLASS) && ! defined (_GLIBCXX_HAVE_FPCLASS) +# define _GLIBCXX_HAVE_FPCLASS 1 +# define fpclass _fpclass +#endif + +#if defined (_GLIBCXX_HAVE__FREXPF) && ! defined (_GLIBCXX_HAVE_FREXPF) +# define _GLIBCXX_HAVE_FREXPF 1 +# define frexpf _frexpf +#endif + +#if defined (_GLIBCXX_HAVE__FREXPL) && ! defined (_GLIBCXX_HAVE_FREXPL) +# define _GLIBCXX_HAVE_FREXPL 1 +# define frexpl _frexpl +#endif + +#if defined (_GLIBCXX_HAVE__HYPOT) && ! defined (_GLIBCXX_HAVE_HYPOT) +# define _GLIBCXX_HAVE_HYPOT 1 +# define hypot _hypot +#endif + +#if defined (_GLIBCXX_HAVE__HYPOTF) && ! defined (_GLIBCXX_HAVE_HYPOTF) +# define _GLIBCXX_HAVE_HYPOTF 1 +# define hypotf _hypotf +#endif + +#if defined (_GLIBCXX_HAVE__HYPOTL) && ! defined (_GLIBCXX_HAVE_HYPOTL) +# define _GLIBCXX_HAVE_HYPOTL 1 +# define hypotl _hypotl +#endif + +#if defined (_GLIBCXX_HAVE__ISINF) && ! defined (_GLIBCXX_HAVE_ISINF) +# define _GLIBCXX_HAVE_ISINF 1 +# define isinf _isinf +#endif + +#if defined (_GLIBCXX_HAVE__ISINFF) && ! defined (_GLIBCXX_HAVE_ISINFF) +# define _GLIBCXX_HAVE_ISINFF 1 +# define isinff _isinff +#endif + +#if defined (_GLIBCXX_HAVE__ISINFL) && ! defined (_GLIBCXX_HAVE_ISINFL) +# define _GLIBCXX_HAVE_ISINFL 1 +# define isinfl _isinfl +#endif + +#if defined (_GLIBCXX_HAVE__ISNAN) && ! defined (_GLIBCXX_HAVE_ISNAN) +# define _GLIBCXX_HAVE_ISNAN 1 +# define isnan _isnan +#endif + +#if defined (_GLIBCXX_HAVE__ISNANF) && ! defined (_GLIBCXX_HAVE_ISNANF) +# define _GLIBCXX_HAVE_ISNANF 1 +# define isnanf _isnanf +#endif + +#if defined (_GLIBCXX_HAVE__ISNANL) && ! defined (_GLIBCXX_HAVE_ISNANL) +# define _GLIBCXX_HAVE_ISNANL 1 +# define isnanl _isnanl +#endif + +#if defined (_GLIBCXX_HAVE__LDEXPF) && ! defined (_GLIBCXX_HAVE_LDEXPF) +# define _GLIBCXX_HAVE_LDEXPF 1 +# define ldexpf _ldexpf +#endif + +#if defined (_GLIBCXX_HAVE__LDEXPL) && ! defined (_GLIBCXX_HAVE_LDEXPL) +# define _GLIBCXX_HAVE_LDEXPL 1 +# define ldexpl _ldexpl +#endif + +#if defined (_GLIBCXX_HAVE__LOG10F) && ! defined (_GLIBCXX_HAVE_LOG10F) +# define _GLIBCXX_HAVE_LOG10F 1 +# define log10f _log10f +#endif + +#if defined (_GLIBCXX_HAVE__LOG10L) && ! defined (_GLIBCXX_HAVE_LOG10L) +# define _GLIBCXX_HAVE_LOG10L 1 +# define log10l _log10l +#endif + +#if defined (_GLIBCXX_HAVE__LOGF) && ! defined (_GLIBCXX_HAVE_LOGF) +# define _GLIBCXX_HAVE_LOGF 1 +# define logf _logf +#endif + +#if defined (_GLIBCXX_HAVE__LOGL) && ! defined (_GLIBCXX_HAVE_LOGL) +# define _GLIBCXX_HAVE_LOGL 1 +# define logl _logl +#endif + +#if defined (_GLIBCXX_HAVE__MODF) && ! defined (_GLIBCXX_HAVE_MODF) +# define _GLIBCXX_HAVE_MODF 1 +# define modf _modf +#endif + +#if defined (_GLIBCXX_HAVE__MODFF) && ! defined (_GLIBCXX_HAVE_MODFF) +# define _GLIBCXX_HAVE_MODFF 1 +# define modff _modff +#endif + +#if defined (_GLIBCXX_HAVE__MODFL) && ! defined (_GLIBCXX_HAVE_MODFL) +# define _GLIBCXX_HAVE_MODFL 1 +# define modfl _modfl +#endif + +#if defined (_GLIBCXX_HAVE__POWF) && ! defined (_GLIBCXX_HAVE_POWF) +# define _GLIBCXX_HAVE_POWF 1 +# define powf _powf +#endif + +#if defined (_GLIBCXX_HAVE__POWL) && ! defined (_GLIBCXX_HAVE_POWL) +# define _GLIBCXX_HAVE_POWL 1 +# define powl _powl +#endif + +#if defined (_GLIBCXX_HAVE__QFPCLASS) && ! defined (_GLIBCXX_HAVE_QFPCLASS) +# define _GLIBCXX_HAVE_QFPCLASS 1 +# define qfpclass _qfpclass +#endif + +#if defined (_GLIBCXX_HAVE__SINCOS) && ! defined (_GLIBCXX_HAVE_SINCOS) +# define _GLIBCXX_HAVE_SINCOS 1 +# define sincos _sincos +#endif + +#if defined (_GLIBCXX_HAVE__SINCOSF) && ! defined (_GLIBCXX_HAVE_SINCOSF) +# define _GLIBCXX_HAVE_SINCOSF 1 +# define sincosf _sincosf +#endif + +#if defined (_GLIBCXX_HAVE__SINCOSL) && ! defined (_GLIBCXX_HAVE_SINCOSL) +# define _GLIBCXX_HAVE_SINCOSL 1 +# define sincosl _sincosl +#endif + +#if defined (_GLIBCXX_HAVE__SINF) && ! defined (_GLIBCXX_HAVE_SINF) +# define _GLIBCXX_HAVE_SINF 1 +# define sinf _sinf +#endif + +#if defined (_GLIBCXX_HAVE__SINHF) && ! defined (_GLIBCXX_HAVE_SINHF) +# define _GLIBCXX_HAVE_SINHF 1 +# define sinhf _sinhf +#endif + +#if defined (_GLIBCXX_HAVE__SINHL) && ! defined (_GLIBCXX_HAVE_SINHL) +# define _GLIBCXX_HAVE_SINHL 1 +# define sinhl _sinhl +#endif + +#if defined (_GLIBCXX_HAVE__SINL) && ! defined (_GLIBCXX_HAVE_SINL) +# define _GLIBCXX_HAVE_SINL 1 +# define sinl _sinl +#endif + +#if defined (_GLIBCXX_HAVE__SQRTF) && ! defined (_GLIBCXX_HAVE_SQRTF) +# define _GLIBCXX_HAVE_SQRTF 1 +# define sqrtf _sqrtf +#endif + +#if defined (_GLIBCXX_HAVE__SQRTL) && ! defined (_GLIBCXX_HAVE_SQRTL) +# define _GLIBCXX_HAVE_SQRTL 1 +# define sqrtl _sqrtl +#endif + +#if defined (_GLIBCXX_HAVE__STRTOF) && ! defined (_GLIBCXX_HAVE_STRTOF) +# define _GLIBCXX_HAVE_STRTOF 1 +# define strtof _strtof +#endif + +#if defined (_GLIBCXX_HAVE__STRTOLD) && ! defined (_GLIBCXX_HAVE_STRTOLD) +# define _GLIBCXX_HAVE_STRTOLD 1 +# define strtold _strtold +#endif + +#if defined (_GLIBCXX_HAVE__TANF) && ! defined (_GLIBCXX_HAVE_TANF) +# define _GLIBCXX_HAVE_TANF 1 +# define tanf _tanf +#endif + +#if defined (_GLIBCXX_HAVE__TANHF) && ! defined (_GLIBCXX_HAVE_TANHF) +# define _GLIBCXX_HAVE_TANHF 1 +# define tanhf _tanhf +#endif + +#if defined (_GLIBCXX_HAVE__TANHL) && ! defined (_GLIBCXX_HAVE_TANHL) +# define _GLIBCXX_HAVE_TANHL 1 +# define tanhl _tanhl +#endif + +#if defined (_GLIBCXX_HAVE__TANL) && ! defined (_GLIBCXX_HAVE_TANL) +# define _GLIBCXX_HAVE_TANL 1 +# define tanl _tanl +#endif + +#endif // _GLIBCXX_CXX_CONFIG_H +#else +// Predefined symbols and macros -*- C++ -*- + +// Copyright (C) 1997-2019 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ Library. This library is free +// software; you can redistribute it and/or modify it under the +// terms of the GNU General Public License as published by the +// Free Software Foundation; either version 3, or (at your option) +// any later version. + +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// Under Section 7 of GPL version 3, you are granted additional +// permissions described in the GCC Runtime Library Exception, version +// 3.1, as published by the Free Software Foundation. + +// You should have received a copy of the GNU General Public License and +// a copy of the GCC Runtime Library Exception along with this program; +// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see +// . + +/** @file bits/c++config.h + * This is an internal header file, included by other library headers. + * Do not attempt to use it directly. @headername{version} + */ + +#ifndef _GLIBCXX_CXX_CONFIG_H +#define _GLIBCXX_CXX_CONFIG_H 1 + +// The major release number for the GCC release the C++ library belongs to. +#define _GLIBCXX_RELEASE 9 + +// The datestamp of the C++ library in compressed ISO date format. +#define __GLIBCXX__ 20190827 + +// Macros for various attributes. +// _GLIBCXX_PURE +// _GLIBCXX_CONST +// _GLIBCXX_NORETURN +// _GLIBCXX_NOTHROW +// _GLIBCXX_VISIBILITY +#ifndef _GLIBCXX_PURE +# define _GLIBCXX_PURE __attribute__ ((__pure__)) +#endif + +#ifndef _GLIBCXX_CONST +# define _GLIBCXX_CONST __attribute__ ((__const__)) +#endif + +#ifndef _GLIBCXX_NORETURN +# define _GLIBCXX_NORETURN __attribute__ ((__noreturn__)) +#endif + +// See below for C++ +#ifndef _GLIBCXX_NOTHROW +# ifndef __cplusplus +# define _GLIBCXX_NOTHROW __attribute__((__nothrow__)) +# endif +#endif + +// Macros for visibility attributes. +// _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY +// _GLIBCXX_VISIBILITY +# define _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY 1 + +#if _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY +# define _GLIBCXX_VISIBILITY(V) __attribute__ ((__visibility__ (#V))) +#else +// If this is not supplied by the OS-specific or CPU-specific +// headers included below, it will be defined to an empty default. +# define _GLIBCXX_VISIBILITY(V) _GLIBCXX_PSEUDO_VISIBILITY(V) +#endif + +// Macros for deprecated attributes. +// _GLIBCXX_USE_DEPRECATED +// _GLIBCXX_DEPRECATED +// _GLIBCXX17_DEPRECATED +#ifndef _GLIBCXX_USE_DEPRECATED +# define _GLIBCXX_USE_DEPRECATED 1 +#endif + +#if defined(__DEPRECATED) && (__cplusplus >= 201103L) +# define _GLIBCXX_DEPRECATED __attribute__ ((__deprecated__)) +#else +# define _GLIBCXX_DEPRECATED +#endif + +#if defined(__DEPRECATED) && (__cplusplus >= 201703L) +# define _GLIBCXX17_DEPRECATED [[__deprecated__]] +#else +# define _GLIBCXX17_DEPRECATED +#endif + +// Macros for ABI tag attributes. +#ifndef _GLIBCXX_ABI_TAG_CXX11 +# define _GLIBCXX_ABI_TAG_CXX11 __attribute ((__abi_tag__ ("cxx11"))) +#endif + +// Macro to warn about unused results. +#if __cplusplus >= 201703L +# define _GLIBCXX_NODISCARD [[__nodiscard__]] +#else +# define _GLIBCXX_NODISCARD +#endif + + + +#if __cplusplus + +// Macro for constexpr, to support in mixed 03/0x mode. +#ifndef _GLIBCXX_CONSTEXPR +# if __cplusplus >= 201103L +# define _GLIBCXX_CONSTEXPR constexpr +# define _GLIBCXX_USE_CONSTEXPR constexpr +# else +# define _GLIBCXX_CONSTEXPR +# define _GLIBCXX_USE_CONSTEXPR const +# endif +#endif + +#ifndef _GLIBCXX14_CONSTEXPR +# if __cplusplus >= 201402L +# define _GLIBCXX14_CONSTEXPR constexpr +# else +# define _GLIBCXX14_CONSTEXPR +# endif +#endif + +#ifndef _GLIBCXX17_CONSTEXPR +# if __cplusplus >= 201703L +# define _GLIBCXX17_CONSTEXPR constexpr +# else +# define _GLIBCXX17_CONSTEXPR +# endif +#endif + +#ifndef _GLIBCXX20_CONSTEXPR +# if __cplusplus > 201703L +# define _GLIBCXX20_CONSTEXPR constexpr +# else +# define _GLIBCXX20_CONSTEXPR +# endif +#endif + +#ifndef _GLIBCXX17_INLINE +# if __cplusplus >= 201703L +# define _GLIBCXX17_INLINE inline +# else +# define _GLIBCXX17_INLINE +# endif +#endif + +// Macro for noexcept, to support in mixed 03/0x mode. +#ifndef _GLIBCXX_NOEXCEPT +# if __cplusplus >= 201103L +# define _GLIBCXX_NOEXCEPT noexcept +# define _GLIBCXX_NOEXCEPT_IF(_COND) noexcept(_COND) +# define _GLIBCXX_USE_NOEXCEPT noexcept +# define _GLIBCXX_THROW(_EXC) +# else +# define _GLIBCXX_NOEXCEPT +# define _GLIBCXX_NOEXCEPT_IF(_COND) +# define _GLIBCXX_USE_NOEXCEPT throw() +# define _GLIBCXX_THROW(_EXC) throw(_EXC) +# endif +#endif + +#ifndef _GLIBCXX_NOTHROW +# define _GLIBCXX_NOTHROW _GLIBCXX_USE_NOEXCEPT +#endif + +#ifndef _GLIBCXX_THROW_OR_ABORT +# if __cpp_exceptions +# define _GLIBCXX_THROW_OR_ABORT(_EXC) (throw (_EXC)) +# else +# define _GLIBCXX_THROW_OR_ABORT(_EXC) (__builtin_abort()) +# endif +#endif + +#if __cpp_noexcept_function_type +#define _GLIBCXX_NOEXCEPT_PARM , bool _NE +#define _GLIBCXX_NOEXCEPT_QUAL noexcept (_NE) +#else +#define _GLIBCXX_NOEXCEPT_PARM +#define _GLIBCXX_NOEXCEPT_QUAL +#endif + +// Macro for extern template, ie controlling template linkage via use +// of extern keyword on template declaration. As documented in the g++ +// manual, it inhibits all implicit instantiations and is used +// throughout the library to avoid multiple weak definitions for +// required types that are already explicitly instantiated in the +// library binary. This substantially reduces the binary size of +// resulting executables. +// Special case: _GLIBCXX_EXTERN_TEMPLATE == -1 disallows extern +// templates only in basic_string, thus activating its debug-mode +// checks even at -O0. +# define _GLIBCXX_EXTERN_TEMPLATE 1 + +/* + Outline of libstdc++ namespaces. + + namespace std + { + namespace __debug { } + namespace __parallel { } + namespace __profile { } + namespace __cxx1998 { } + + namespace __detail { + namespace __variant { } // C++17 + } + + namespace rel_ops { } + + namespace tr1 + { + namespace placeholders { } + namespace regex_constants { } + namespace __detail { } + } + + namespace tr2 { } + + namespace decimal { } + + namespace chrono { } // C++11 + namespace placeholders { } // C++11 + namespace regex_constants { } // C++11 + namespace this_thread { } // C++11 + inline namespace literals { // C++14 + inline namespace chrono_literals { } // C++14 + inline namespace complex_literals { } // C++14 + inline namespace string_literals { } // C++14 + inline namespace string_view_literals { } // C++17 + } + } + + namespace abi { } + + namespace __gnu_cxx + { + namespace __detail { } + } + + For full details see: + http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/namespaces.html +*/ +namespace std +{ + typedef __SIZE_TYPE__ size_t; + typedef __PTRDIFF_TYPE__ ptrdiff_t; + +#if __cplusplus >= 201103L + typedef decltype(nullptr) nullptr_t; +#endif +} + +# define _GLIBCXX_USE_DUAL_ABI 1 + +#if ! _GLIBCXX_USE_DUAL_ABI +// Ignore any pre-defined value of _GLIBCXX_USE_CXX11_ABI +# undef _GLIBCXX_USE_CXX11_ABI +#endif + +#ifndef _GLIBCXX_USE_CXX11_ABI +# define _GLIBCXX_USE_CXX11_ABI 1 +#endif + +#if _GLIBCXX_USE_CXX11_ABI +namespace std +{ + inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { } +} +namespace __gnu_cxx +{ + inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { } +} +# define _GLIBCXX_NAMESPACE_CXX11 __cxx11:: +# define _GLIBCXX_BEGIN_NAMESPACE_CXX11 namespace __cxx11 { +# define _GLIBCXX_END_NAMESPACE_CXX11 } +# define _GLIBCXX_DEFAULT_ABI_TAG _GLIBCXX_ABI_TAG_CXX11 +#else +# define _GLIBCXX_NAMESPACE_CXX11 +# define _GLIBCXX_BEGIN_NAMESPACE_CXX11 +# define _GLIBCXX_END_NAMESPACE_CXX11 +# define _GLIBCXX_DEFAULT_ABI_TAG +#endif + +// Defined if inline namespaces are used for versioning. +# define _GLIBCXX_INLINE_VERSION 0 + +// Inline namespace for symbol versioning. +#if _GLIBCXX_INLINE_VERSION +# define _GLIBCXX_BEGIN_NAMESPACE_VERSION namespace __8 { +# define _GLIBCXX_END_NAMESPACE_VERSION } + +namespace std +{ +inline _GLIBCXX_BEGIN_NAMESPACE_VERSION +#if __cplusplus >= 201402L + inline namespace literals { + inline namespace chrono_literals { } + inline namespace complex_literals { } + inline namespace string_literals { } +#if __cplusplus > 201402L + inline namespace string_view_literals { } +#endif // C++17 + } +#endif // C++14 +_GLIBCXX_END_NAMESPACE_VERSION +} + +namespace __gnu_cxx +{ +inline _GLIBCXX_BEGIN_NAMESPACE_VERSION +_GLIBCXX_END_NAMESPACE_VERSION +} + +#else +# define _GLIBCXX_BEGIN_NAMESPACE_VERSION +# define _GLIBCXX_END_NAMESPACE_VERSION +#endif + +// Inline namespaces for special modes: debug, parallel, profile. +#if defined(_GLIBCXX_DEBUG) || defined(_GLIBCXX_PARALLEL) \ + || defined(_GLIBCXX_PROFILE) +namespace std +{ +_GLIBCXX_BEGIN_NAMESPACE_VERSION + + // Non-inline namespace for components replaced by alternates in active mode. + namespace __cxx1998 + { +# if _GLIBCXX_USE_CXX11_ABI + inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { } +# endif + } + +_GLIBCXX_END_NAMESPACE_VERSION + + // Inline namespace for debug mode. +# ifdef _GLIBCXX_DEBUG + inline namespace __debug { } +# endif + + // Inline namespaces for parallel mode. +# ifdef _GLIBCXX_PARALLEL + inline namespace __parallel { } +# endif + + // Inline namespaces for profile mode +# ifdef _GLIBCXX_PROFILE + inline namespace __profile { } +# endif +} + +// Check for invalid usage and unsupported mixed-mode use. +# if defined(_GLIBCXX_DEBUG) && defined(_GLIBCXX_PARALLEL) +# error illegal use of multiple inlined namespaces +# endif +# if defined(_GLIBCXX_PROFILE) && defined(_GLIBCXX_DEBUG) +# error illegal use of multiple inlined namespaces +# endif +# if defined(_GLIBCXX_PROFILE) && defined(_GLIBCXX_PARALLEL) +# error illegal use of multiple inlined namespaces +# endif + +// Check for invalid use due to lack for weak symbols. +# if __NO_INLINE__ && !__GXX_WEAK__ +# warning currently using inlined namespace mode which may fail \ + without inlining due to lack of weak symbols +# endif +#endif + +// Macros for namespace scope. Either namespace std:: or the name +// of some nested namespace within it corresponding to the active mode. +// _GLIBCXX_STD_A +// _GLIBCXX_STD_C +// +// Macros for opening/closing conditional namespaces. +// _GLIBCXX_BEGIN_NAMESPACE_ALGO +// _GLIBCXX_END_NAMESPACE_ALGO +// _GLIBCXX_BEGIN_NAMESPACE_CONTAINER +// _GLIBCXX_END_NAMESPACE_CONTAINER +#if defined(_GLIBCXX_DEBUG) || defined(_GLIBCXX_PROFILE) +# define _GLIBCXX_STD_C __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE_CONTAINER \ + namespace _GLIBCXX_STD_C { +# define _GLIBCXX_END_NAMESPACE_CONTAINER } +#else +# define _GLIBCXX_STD_C std +# define _GLIBCXX_BEGIN_NAMESPACE_CONTAINER +# define _GLIBCXX_END_NAMESPACE_CONTAINER +#endif + +#ifdef _GLIBCXX_PARALLEL +# define _GLIBCXX_STD_A __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE_ALGO \ + namespace _GLIBCXX_STD_A { +# define _GLIBCXX_END_NAMESPACE_ALGO } +#else +# define _GLIBCXX_STD_A std +# define _GLIBCXX_BEGIN_NAMESPACE_ALGO +# define _GLIBCXX_END_NAMESPACE_ALGO +#endif + +// GLIBCXX_ABI Deprecated +// Define if compatibility should be provided for -mlong-double-64. +#undef _GLIBCXX_LONG_DOUBLE_COMPAT + +// Inline namespace for long double 128 mode. +#if defined _GLIBCXX_LONG_DOUBLE_COMPAT && defined __LONG_DOUBLE_128__ +namespace std +{ + inline namespace __gnu_cxx_ldbl128 { } +} +# define _GLIBCXX_NAMESPACE_LDBL __gnu_cxx_ldbl128:: +# define _GLIBCXX_BEGIN_NAMESPACE_LDBL namespace __gnu_cxx_ldbl128 { +# define _GLIBCXX_END_NAMESPACE_LDBL } +#else +# define _GLIBCXX_NAMESPACE_LDBL +# define _GLIBCXX_BEGIN_NAMESPACE_LDBL +# define _GLIBCXX_END_NAMESPACE_LDBL +#endif +#if _GLIBCXX_USE_CXX11_ABI +# define _GLIBCXX_NAMESPACE_LDBL_OR_CXX11 _GLIBCXX_NAMESPACE_CXX11 +# define _GLIBCXX_BEGIN_NAMESPACE_LDBL_OR_CXX11 _GLIBCXX_BEGIN_NAMESPACE_CXX11 +# define _GLIBCXX_END_NAMESPACE_LDBL_OR_CXX11 _GLIBCXX_END_NAMESPACE_CXX11 +#else +# define _GLIBCXX_NAMESPACE_LDBL_OR_CXX11 _GLIBCXX_NAMESPACE_LDBL +# define _GLIBCXX_BEGIN_NAMESPACE_LDBL_OR_CXX11 _GLIBCXX_BEGIN_NAMESPACE_LDBL +# define _GLIBCXX_END_NAMESPACE_LDBL_OR_CXX11 _GLIBCXX_END_NAMESPACE_LDBL +#endif + +// Debug Mode implies checking assertions. +#if defined(_GLIBCXX_DEBUG) && !defined(_GLIBCXX_ASSERTIONS) +# define _GLIBCXX_ASSERTIONS 1 +#endif + +// Disable std::string explicit instantiation declarations in order to assert. +#ifdef _GLIBCXX_ASSERTIONS +# undef _GLIBCXX_EXTERN_TEMPLATE +# define _GLIBCXX_EXTERN_TEMPLATE -1 +#endif + +// Assert. +#if defined(_GLIBCXX_ASSERTIONS) \ + || defined(_GLIBCXX_PARALLEL) || defined(_GLIBCXX_PARALLEL_ASSERTIONS) +namespace std +{ + // Avoid the use of assert, because we're trying to keep the + // include out of the mix. + extern "C++" inline void + __replacement_assert(const char* __file, int __line, + const char* __function, const char* __condition) + { + __builtin_printf("%s:%d: %s: Assertion '%s' failed.\n", __file, __line, + __function, __condition); + __builtin_abort(); + } +} +#define __glibcxx_assert_impl(_Condition) \ + do \ + { \ + if (! (_Condition)) \ + std::__replacement_assert(__FILE__, __LINE__, __PRETTY_FUNCTION__, \ + #_Condition); \ + } while (false) +#endif + +#if defined(_GLIBCXX_ASSERTIONS) +# define __glibcxx_assert(_Condition) __glibcxx_assert_impl(_Condition) +#else +# define __glibcxx_assert(_Condition) +#endif + +// Macros for race detectors. +// _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE(A) and +// _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER(A) should be used to explain +// atomic (lock-free) synchronization to race detectors: +// the race detector will infer a happens-before arc from the former to the +// latter when they share the same argument pointer. +// +// The most frequent use case for these macros (and the only case in the +// current implementation of the library) is atomic reference counting: +// void _M_remove_reference() +// { +// _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE(&this->_M_refcount); +// if (__gnu_cxx::__exchange_and_add_dispatch(&this->_M_refcount, -1) <= 0) +// { +// _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER(&this->_M_refcount); +// _M_destroy(__a); +// } +// } +// The annotations in this example tell the race detector that all memory +// accesses occurred when the refcount was positive do not race with +// memory accesses which occurred after the refcount became zero. +#ifndef _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE +# define _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE(A) +#endif +#ifndef _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER +# define _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER(A) +#endif + +// Macros for C linkage: define extern "C" linkage only when using C++. +# define _GLIBCXX_BEGIN_EXTERN_C extern "C" { +# define _GLIBCXX_END_EXTERN_C } + +# define _GLIBCXX_USE_ALLOCATOR_NEW 1 + +#else // !__cplusplus +# define _GLIBCXX_BEGIN_EXTERN_C +# define _GLIBCXX_END_EXTERN_C +#endif + + +// First includes. + +// Pick up any OS-specific definitions. +#include + +// Pick up any CPU-specific definitions. +#include + +// If platform uses neither visibility nor psuedo-visibility, +// specify empty default for namespace annotation macros. +#ifndef _GLIBCXX_PSEUDO_VISIBILITY +# define _GLIBCXX_PSEUDO_VISIBILITY(V) +#endif + +// Certain function definitions that are meant to be overridable from +// user code are decorated with this macro. For some targets, this +// macro causes these definitions to be weak. +#ifndef _GLIBCXX_WEAK_DEFINITION +# define _GLIBCXX_WEAK_DEFINITION +#endif + +// By default, we assume that __GXX_WEAK__ also means that there is support +// for declaring functions as weak while not defining such functions. This +// allows for referring to functions provided by other libraries (e.g., +// libitm) without depending on them if the respective features are not used. +#ifndef _GLIBCXX_USE_WEAK_REF +# define _GLIBCXX_USE_WEAK_REF __GXX_WEAK__ +#endif + +// Conditionally enable annotations for the Transactional Memory TS on C++11. +// Most of the following conditions are due to limitations in the current +// implementation. +#if __cplusplus >= 201103L && _GLIBCXX_USE_CXX11_ABI \ + && _GLIBCXX_USE_DUAL_ABI && __cpp_transactional_memory >= 201500L \ + && !_GLIBCXX_FULLY_DYNAMIC_STRING && _GLIBCXX_USE_WEAK_REF \ + && _GLIBCXX_USE_ALLOCATOR_NEW +#define _GLIBCXX_TXN_SAFE transaction_safe +#define _GLIBCXX_TXN_SAFE_DYN transaction_safe_dynamic +#else +#define _GLIBCXX_TXN_SAFE +#define _GLIBCXX_TXN_SAFE_DYN +#endif + +#if __cplusplus > 201402L +// In C++17 mathematical special functions are in namespace std. +# define _GLIBCXX_USE_STD_SPEC_FUNCS 1 +#elif __cplusplus >= 201103L && __STDCPP_WANT_MATH_SPEC_FUNCS__ != 0 +// For C++11 and C++14 they are in namespace std when requested. +# define _GLIBCXX_USE_STD_SPEC_FUNCS 1 +#endif + +// The remainder of the prewritten config is automatic; all the +// user hooks are listed above. + +// Create a boolean flag to be used to determine if --fast-math is set. +#ifdef __FAST_MATH__ +# define _GLIBCXX_FAST_MATH 1 +#else +# define _GLIBCXX_FAST_MATH 0 +#endif + +// This marks string literals in header files to be extracted for eventual +// translation. It is primarily used for messages in thrown exceptions; see +// src/functexcept.cc. We use __N because the more traditional _N is used +// for something else under certain OSes (see BADNAMES). +#define __N(msgid) (msgid) + +// For example, is known to #define min and max as macros... +#undef min +#undef max + +// N.B. these _GLIBCXX_USE_C99_XXX macros are defined unconditionally +// so they should be tested with #if not with #ifdef. +#if __cplusplus >= 201103L +# ifndef _GLIBCXX_USE_C99_MATH +# define _GLIBCXX_USE_C99_MATH _GLIBCXX11_USE_C99_MATH +# endif +# ifndef _GLIBCXX_USE_C99_COMPLEX +# define _GLIBCXX_USE_C99_COMPLEX _GLIBCXX11_USE_C99_COMPLEX +# endif +# ifndef _GLIBCXX_USE_C99_STDIO +# define _GLIBCXX_USE_C99_STDIO _GLIBCXX11_USE_C99_STDIO +# endif +# ifndef _GLIBCXX_USE_C99_STDLIB +# define _GLIBCXX_USE_C99_STDLIB _GLIBCXX11_USE_C99_STDLIB +# endif +# ifndef _GLIBCXX_USE_C99_WCHAR +# define _GLIBCXX_USE_C99_WCHAR _GLIBCXX11_USE_C99_WCHAR +# endif +#else +# ifndef _GLIBCXX_USE_C99_MATH +# define _GLIBCXX_USE_C99_MATH _GLIBCXX98_USE_C99_MATH +# endif +# ifndef _GLIBCXX_USE_C99_COMPLEX +# define _GLIBCXX_USE_C99_COMPLEX _GLIBCXX98_USE_C99_COMPLEX +# endif +# ifndef _GLIBCXX_USE_C99_STDIO +# define _GLIBCXX_USE_C99_STDIO _GLIBCXX98_USE_C99_STDIO +# endif +# ifndef _GLIBCXX_USE_C99_STDLIB +# define _GLIBCXX_USE_C99_STDLIB _GLIBCXX98_USE_C99_STDLIB +# endif +# ifndef _GLIBCXX_USE_C99_WCHAR +# define _GLIBCXX_USE_C99_WCHAR _GLIBCXX98_USE_C99_WCHAR +# endif +#endif + +// Unless explicitly specified, enable char8_t extensions only if the core +// language char8_t feature macro is defined. +#ifndef _GLIBCXX_USE_CHAR8_T +# ifdef __cpp_char8_t +# define _GLIBCXX_USE_CHAR8_T 1 +# endif +#endif +#ifdef _GLIBCXX_USE_CHAR8_T +# define __cpp_lib_char8_t 201811L +#endif + +/* Define if __float128 is supported on this host. */ +#if defined(__FLOAT128__) || defined(__SIZEOF_FLOAT128__) +#define _GLIBCXX_USE_FLOAT128 1 +#endif + +#if __GNUC__ >= 7 +// Assume these are available if the compiler claims to be a recent GCC: +# define _GLIBCXX_HAVE_BUILTIN_HAS_UNIQ_OBJ_REP 1 +# define _GLIBCXX_HAVE_BUILTIN_IS_AGGREGATE 1 +# define _GLIBCXX_HAVE_BUILTIN_LAUNDER 1 +# if __GNUC__ >= 9 +# define _GLIBCXX_HAVE_BUILTIN_IS_CONSTANT_EVALUATED 1 +# endif +#elif defined(__is_identifier) && defined(__has_builtin) +// For non-GNU compilers: +# if ! __is_identifier(__has_unique_object_representations) +# define _GLIBCXX_HAVE_BUILTIN_HAS_UNIQ_OBJ_REP 1 +# endif +# if ! __is_identifier(__is_aggregate) +# define _GLIBCXX_HAVE_BUILTIN_IS_AGGREGATE 1 +# endif +# if __has_builtin(__builtin_launder) +# define _GLIBCXX_HAVE_BUILTIN_LAUNDER 1 +# endif +# if __has_builtin(__builtin_is_constant_evaluated) +# define _GLIBCXX_HAVE_BUILTIN_IS_CONSTANT_EVALUATED 1 +# endif +#endif // GCC + +// PSTL configuration + +#if __cplusplus >= 201703L +// Preserved here so we have some idea which version of upstream we've pulled in +// #define PSTL_VERSION 104 +// #define PSTL_VERSION_MAJOR (PSTL_VERSION/100) +// #define PSTL_VERSION_MINOR (PSTL_VERSION - PSTL_VERSION_MAJOR * 100) + +// For now this defaults to being based on the presence of Thread Building Blocks +# ifndef _GLIBCXX_USE_TBB_PAR_BACKEND +# define _GLIBCXX_USE_TBB_PAR_BACKEND __has_include() +# endif +// This section will need some rework when a new (default) backend type is added +# if _GLIBCXX_USE_TBB_PAR_BACKEND +# define __PSTL_USE_PAR_POLICIES 1 +# endif + +# define __PSTL_ASSERT(_Condition) __glibcxx_assert(_Condition) +# define __PSTL_ASSERT_MSG(_Condition, _Message) __glibcxx_assert(_Condition) + +#include + +#endif +// End of prewritten config; the settings discovered at configure time follow. +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the `acosf' function. */ +#define _GLIBCXX_HAVE_ACOSF 1 + +/* Define to 1 if you have the `acosl' function. */ +#define _GLIBCXX_HAVE_ACOSL 1 + +/* Define to 1 if you have the `aligned_alloc' function. */ +#define _GLIBCXX_HAVE_ALIGNED_ALLOC 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_ARPA_INET_H 1 + +/* Define to 1 if you have the `asinf' function. */ +#define _GLIBCXX_HAVE_ASINF 1 + +/* Define to 1 if you have the `asinl' function. */ +#define _GLIBCXX_HAVE_ASINL 1 + +/* Define to 1 if the target assembler supports .symver directive. */ +#define _GLIBCXX_HAVE_AS_SYMVER_DIRECTIVE 1 + +/* Define to 1 if you have the `atan2f' function. */ +#define _GLIBCXX_HAVE_ATAN2F 1 + +/* Define to 1 if you have the `atan2l' function. */ +#define _GLIBCXX_HAVE_ATAN2L 1 + +/* Define to 1 if you have the `atanf' function. */ +#define _GLIBCXX_HAVE_ATANF 1 + +/* Define to 1 if you have the `atanl' function. */ +#define _GLIBCXX_HAVE_ATANL 1 + +/* Defined if shared_ptr reference counting should use atomic operations. */ +#define _GLIBCXX_HAVE_ATOMIC_LOCK_POLICY 1 + +/* Define to 1 if you have the `at_quick_exit' function. */ +#define _GLIBCXX_HAVE_AT_QUICK_EXIT 1 + +/* Define to 1 if the target assembler supports thread-local storage. */ +/* #undef _GLIBCXX_HAVE_CC_TLS */ + +/* Define to 1 if you have the `ceilf' function. */ +#define _GLIBCXX_HAVE_CEILF 1 + +/* Define to 1 if you have the `ceill' function. */ +#define _GLIBCXX_HAVE_CEILL 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_COMPLEX_H 1 + +/* Define to 1 if you have the `cosf' function. */ +#define _GLIBCXX_HAVE_COSF 1 + +/* Define to 1 if you have the `coshf' function. */ +#define _GLIBCXX_HAVE_COSHF 1 + +/* Define to 1 if you have the `coshl' function. */ +#define _GLIBCXX_HAVE_COSHL 1 + +/* Define to 1 if you have the `cosl' function. */ +#define _GLIBCXX_HAVE_COSL 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_DIRENT_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_DLFCN_H 1 + +/* Define if EBADMSG exists. */ +#define _GLIBCXX_HAVE_EBADMSG 1 + +/* Define if ECANCELED exists. */ +#define _GLIBCXX_HAVE_ECANCELED 1 + +/* Define if ECHILD exists. */ +#define _GLIBCXX_HAVE_ECHILD 1 + +/* Define if EIDRM exists. */ +#define _GLIBCXX_HAVE_EIDRM 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_ENDIAN_H 1 + +/* Define if ENODATA exists. */ +#define _GLIBCXX_HAVE_ENODATA 1 + +/* Define if ENOLINK exists. */ +#define _GLIBCXX_HAVE_ENOLINK 1 + +/* Define if ENOSPC exists. */ +#define _GLIBCXX_HAVE_ENOSPC 1 + +/* Define if ENOSR exists. */ +#define _GLIBCXX_HAVE_ENOSR 1 + +/* Define if ENOSTR exists. */ +#define _GLIBCXX_HAVE_ENOSTR 1 + +/* Define if ENOTRECOVERABLE exists. */ +#define _GLIBCXX_HAVE_ENOTRECOVERABLE 1 + +/* Define if ENOTSUP exists. */ +#define _GLIBCXX_HAVE_ENOTSUP 1 + +/* Define if EOVERFLOW exists. */ +#define _GLIBCXX_HAVE_EOVERFLOW 1 + +/* Define if EOWNERDEAD exists. */ +#define _GLIBCXX_HAVE_EOWNERDEAD 1 + +/* Define if EPERM exists. */ +#define _GLIBCXX_HAVE_EPERM 1 + +/* Define if EPROTO exists. */ +#define _GLIBCXX_HAVE_EPROTO 1 + +/* Define if ETIME exists. */ +#define _GLIBCXX_HAVE_ETIME 1 + +/* Define if ETIMEDOUT exists. */ +#define _GLIBCXX_HAVE_ETIMEDOUT 1 + +/* Define if ETXTBSY exists. */ +#define _GLIBCXX_HAVE_ETXTBSY 1 + +/* Define if EWOULDBLOCK exists. */ +#define _GLIBCXX_HAVE_EWOULDBLOCK 1 + +/* Define to 1 if GCC 4.6 supported std::exception_ptr for the target */ +#define _GLIBCXX_HAVE_EXCEPTION_PTR_SINCE_GCC46 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_EXECINFO_H 1 + +/* Define to 1 if you have the `expf' function. */ +#define _GLIBCXX_HAVE_EXPF 1 + +/* Define to 1 if you have the `expl' function. */ +#define _GLIBCXX_HAVE_EXPL 1 + +/* Define to 1 if you have the `fabsf' function. */ +#define _GLIBCXX_HAVE_FABSF 1 + +/* Define to 1 if you have the `fabsl' function. */ +#define _GLIBCXX_HAVE_FABSL 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_FCNTL_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_FENV_H 1 + +/* Define to 1 if you have the `finite' function. */ +#define _GLIBCXX_HAVE_FINITE 1 + +/* Define to 1 if you have the `finitef' function. */ +#define _GLIBCXX_HAVE_FINITEF 1 + +/* Define to 1 if you have the `finitel' function. */ +#define _GLIBCXX_HAVE_FINITEL 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_FLOAT_H 1 + +/* Define to 1 if you have the `floorf' function. */ +#define _GLIBCXX_HAVE_FLOORF 1 + +/* Define to 1 if you have the `floorl' function. */ +#define _GLIBCXX_HAVE_FLOORL 1 + +/* Define to 1 if you have the `fmodf' function. */ +#define _GLIBCXX_HAVE_FMODF 1 + +/* Define to 1 if you have the `fmodl' function. */ +#define _GLIBCXX_HAVE_FMODL 1 + +/* Define to 1 if you have the `fpclass' function. */ +/* #undef _GLIBCXX_HAVE_FPCLASS */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_FP_H */ + +/* Define to 1 if you have the `frexpf' function. */ +#define _GLIBCXX_HAVE_FREXPF 1 + +/* Define to 1 if you have the `frexpl' function. */ +#define _GLIBCXX_HAVE_FREXPL 1 + +/* Define if _Unwind_GetIPInfo is available. */ +#define _GLIBCXX_HAVE_GETIPINFO 1 + +/* Define if gets is available in before C++14. */ +#define _GLIBCXX_HAVE_GETS 1 + +/* Define to 1 if you have the `hypot' function. */ +#define _GLIBCXX_HAVE_HYPOT 1 + +/* Define to 1 if you have the `hypotf' function. */ +#define _GLIBCXX_HAVE_HYPOTF 1 + +/* Define to 1 if you have the `hypotl' function. */ +#define _GLIBCXX_HAVE_HYPOTL 1 + +/* Define if you have the iconv() function. */ +#define _GLIBCXX_HAVE_ICONV 1 + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_IEEEFP_H */ + +/* Define if int64_t is available in . */ +#define _GLIBCXX_HAVE_INT64_T 1 + +/* Define if int64_t is a long. */ +#define _GLIBCXX_HAVE_INT64_T_LONG 1 + +/* Define if int64_t is a long long. */ +/* #undef _GLIBCXX_HAVE_INT64_T_LONG_LONG */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the `isinf' function. */ +/* #undef _GLIBCXX_HAVE_ISINF */ + +/* Define to 1 if you have the `isinff' function. */ +#define _GLIBCXX_HAVE_ISINFF 1 + +/* Define to 1 if you have the `isinfl' function. */ +#define _GLIBCXX_HAVE_ISINFL 1 + +/* Define to 1 if you have the `isnan' function. */ +/* #undef _GLIBCXX_HAVE_ISNAN */ + +/* Define to 1 if you have the `isnanf' function. */ +#define _GLIBCXX_HAVE_ISNANF 1 + +/* Define to 1 if you have the `isnanl' function. */ +#define _GLIBCXX_HAVE_ISNANL 1 + +/* Defined if iswblank exists. */ +#define _GLIBCXX_HAVE_ISWBLANK 1 + +/* Define if LC_MESSAGES is available in . */ +#define _GLIBCXX_HAVE_LC_MESSAGES 1 + +/* Define to 1 if you have the `ldexpf' function. */ +#define _GLIBCXX_HAVE_LDEXPF 1 + +/* Define to 1 if you have the `ldexpl' function. */ +#define _GLIBCXX_HAVE_LDEXPL 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_LIBINTL_H 1 + +/* Only used in build directory testsuite_hooks.h. */ +#define _GLIBCXX_HAVE_LIMIT_AS 1 + +/* Only used in build directory testsuite_hooks.h. */ +#define _GLIBCXX_HAVE_LIMIT_DATA 1 + +/* Only used in build directory testsuite_hooks.h. */ +#define _GLIBCXX_HAVE_LIMIT_FSIZE 1 + +/* Only used in build directory testsuite_hooks.h. */ +#define _GLIBCXX_HAVE_LIMIT_RSS 1 + +/* Only used in build directory testsuite_hooks.h. */ +#define _GLIBCXX_HAVE_LIMIT_VMEM 0 + +/* Define if link is available in . */ +#define _GLIBCXX_HAVE_LINK 1 + +/* Define if futex syscall is available. */ +#define _GLIBCXX_HAVE_LINUX_FUTEX 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_LINUX_RANDOM_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_LINUX_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_LOCALE_H 1 + +/* Define to 1 if you have the `log10f' function. */ +#define _GLIBCXX_HAVE_LOG10F 1 + +/* Define to 1 if you have the `log10l' function. */ +#define _GLIBCXX_HAVE_LOG10L 1 + +/* Define to 1 if you have the `logf' function. */ +#define _GLIBCXX_HAVE_LOGF 1 + +/* Define to 1 if you have the `logl' function. */ +#define _GLIBCXX_HAVE_LOGL 1 + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_MACHINE_ENDIAN_H */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_MACHINE_PARAM_H */ + +/* Define if mbstate_t exists in wchar.h. */ +#define _GLIBCXX_HAVE_MBSTATE_T 1 + +/* Define to 1 if you have the `memalign' function. */ +#define _GLIBCXX_HAVE_MEMALIGN 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `modf' function. */ +#define _GLIBCXX_HAVE_MODF 1 + +/* Define to 1 if you have the `modff' function. */ +#define _GLIBCXX_HAVE_MODFF 1 + +/* Define to 1 if you have the `modfl' function. */ +#define _GLIBCXX_HAVE_MODFL 1 + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_NAN_H */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_NETDB_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_NETINET_IN_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_NETINET_TCP_H 1 + +/* Define if defines obsolete isinf function. */ +/* #undef _GLIBCXX_HAVE_OBSOLETE_ISINF */ + +/* Define if defines obsolete isnan function. */ +/* #undef _GLIBCXX_HAVE_OBSOLETE_ISNAN */ + +/* Define if poll is available in . */ +#define _GLIBCXX_HAVE_POLL 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_POLL_H 1 + +/* Define to 1 if you have the `posix_memalign' function. */ +#define _GLIBCXX_HAVE_POSIX_MEMALIGN 1 + +/* Define to 1 if you have the `powf' function. */ +#define _GLIBCXX_HAVE_POWF 1 + +/* Define to 1 if you have the `powl' function. */ +#define _GLIBCXX_HAVE_POWL 1 + +/* Define to 1 if you have the `qfpclass' function. */ +/* #undef _GLIBCXX_HAVE_QFPCLASS */ + +/* Define to 1 if you have the `quick_exit' function. */ +#define _GLIBCXX_HAVE_QUICK_EXIT 1 + +/* Define if readlink is available in . */ +#define _GLIBCXX_HAVE_READLINK 1 + +/* Define to 1 if you have the `setenv' function. */ +#define _GLIBCXX_HAVE_SETENV 1 + +/* Define to 1 if you have the `sincos' function. */ +#define _GLIBCXX_HAVE_SINCOS 1 + +/* Define to 1 if you have the `sincosf' function. */ +#define _GLIBCXX_HAVE_SINCOSF 1 + +/* Define to 1 if you have the `sincosl' function. */ +#define _GLIBCXX_HAVE_SINCOSL 1 + +/* Define to 1 if you have the `sinf' function. */ +#define _GLIBCXX_HAVE_SINF 1 + +/* Define to 1 if you have the `sinhf' function. */ +#define _GLIBCXX_HAVE_SINHF 1 + +/* Define to 1 if you have the `sinhl' function. */ +#define _GLIBCXX_HAVE_SINHL 1 + +/* Define to 1 if you have the `sinl' function. */ +#define _GLIBCXX_HAVE_SINL 1 + +/* Defined if sleep exists. */ +/* #undef _GLIBCXX_HAVE_SLEEP */ + +/* Define to 1 if you have the `sockatmark' function. */ +#define _GLIBCXX_HAVE_SOCKATMARK 1 + +/* Define to 1 if you have the `sqrtf' function. */ +#define _GLIBCXX_HAVE_SQRTF 1 + +/* Define to 1 if you have the `sqrtl' function. */ +#define _GLIBCXX_HAVE_SQRTL 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STDALIGN_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STDBOOL_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STDLIB_H 1 + +/* Define if strerror_l is available in . */ +#define _GLIBCXX_HAVE_STRERROR_L 1 + +/* Define if strerror_r is available in . */ +#define _GLIBCXX_HAVE_STRERROR_R 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STRING_H 1 + +/* Define to 1 if you have the `strtof' function. */ +#define _GLIBCXX_HAVE_STRTOF 1 + +/* Define to 1 if you have the `strtold' function. */ +#define _GLIBCXX_HAVE_STRTOLD 1 + +/* Define to 1 if `d_type' is a member of `struct dirent'. */ +#define _GLIBCXX_HAVE_STRUCT_DIRENT_D_TYPE 1 + +/* Define if strxfrm_l is available in . */ +#define _GLIBCXX_HAVE_STRXFRM_L 1 + +/* Define if symlink is available in . */ +#define _GLIBCXX_HAVE_SYMLINK 1 + +/* Define to 1 if the target runtime linker supports binding the same symbol + to different versions. */ +#define _GLIBCXX_HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT 1 + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_SYS_FILIO_H */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_IOCTL_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_IPC_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_SYS_ISA_DEFS_H */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_SYS_MACHINE_H */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_RESOURCE_H 1 + +/* Define to 1 if you have a suitable header file */ +#define _GLIBCXX_HAVE_SYS_SDT_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_SEM_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_SOCKET_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_STATVFS_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_SYSINFO_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_UIO_H 1 + +/* Define if S_IFREG is available in . */ +/* #undef _GLIBCXX_HAVE_S_IFREG */ + +/* Define if S_ISREG is available in . */ +#define _GLIBCXX_HAVE_S_ISREG 1 + +/* Define to 1 if you have the `tanf' function. */ +#define _GLIBCXX_HAVE_TANF 1 + +/* Define to 1 if you have the `tanhf' function. */ +#define _GLIBCXX_HAVE_TANHF 1 + +/* Define to 1 if you have the `tanhl' function. */ +#define _GLIBCXX_HAVE_TANHL 1 + +/* Define to 1 if you have the `tanl' function. */ +#define _GLIBCXX_HAVE_TANL 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_TGMATH_H 1 + +/* Define to 1 if you have the `timespec_get' function. */ +#define _GLIBCXX_HAVE_TIMESPEC_GET 1 + +/* Define to 1 if the target supports thread-local storage. */ +#define _GLIBCXX_HAVE_TLS 1 + +/* Define if truncate is available in . */ +#define _GLIBCXX_HAVE_TRUNCATE 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_UCHAR_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_UNISTD_H 1 + +/* Defined if usleep exists. */ +/* #undef _GLIBCXX_HAVE_USLEEP */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_UTIME_H 1 + +/* Defined if vfwscanf exists. */ +#define _GLIBCXX_HAVE_VFWSCANF 1 + +/* Defined if vswscanf exists. */ +#define _GLIBCXX_HAVE_VSWSCANF 1 + +/* Defined if vwscanf exists. */ +#define _GLIBCXX_HAVE_VWSCANF 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_WCHAR_H 1 + +/* Defined if wcstof exists. */ +#define _GLIBCXX_HAVE_WCSTOF 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_WCTYPE_H 1 + +/* Defined if Sleep exists. */ +/* #undef _GLIBCXX_HAVE_WIN32_SLEEP */ + +/* Define if writev is available in . */ +#define _GLIBCXX_HAVE_WRITEV 1 + +/* Define to 1 if you have the `_acosf' function. */ +/* #undef _GLIBCXX_HAVE__ACOSF */ + +/* Define to 1 if you have the `_acosl' function. */ +/* #undef _GLIBCXX_HAVE__ACOSL */ + +/* Define to 1 if you have the `_aligned_malloc' function. */ +/* #undef _GLIBCXX_HAVE__ALIGNED_MALLOC */ + +/* Define to 1 if you have the `_asinf' function. */ +/* #undef _GLIBCXX_HAVE__ASINF */ + +/* Define to 1 if you have the `_asinl' function. */ +/* #undef _GLIBCXX_HAVE__ASINL */ + +/* Define to 1 if you have the `_atan2f' function. */ +/* #undef _GLIBCXX_HAVE__ATAN2F */ + +/* Define to 1 if you have the `_atan2l' function. */ +/* #undef _GLIBCXX_HAVE__ATAN2L */ + +/* Define to 1 if you have the `_atanf' function. */ +/* #undef _GLIBCXX_HAVE__ATANF */ + +/* Define to 1 if you have the `_atanl' function. */ +/* #undef _GLIBCXX_HAVE__ATANL */ + +/* Define to 1 if you have the `_ceilf' function. */ +/* #undef _GLIBCXX_HAVE__CEILF */ + +/* Define to 1 if you have the `_ceill' function. */ +/* #undef _GLIBCXX_HAVE__CEILL */ + +/* Define to 1 if you have the `_cosf' function. */ +/* #undef _GLIBCXX_HAVE__COSF */ + +/* Define to 1 if you have the `_coshf' function. */ +/* #undef _GLIBCXX_HAVE__COSHF */ + +/* Define to 1 if you have the `_coshl' function. */ +/* #undef _GLIBCXX_HAVE__COSHL */ + +/* Define to 1 if you have the `_cosl' function. */ +/* #undef _GLIBCXX_HAVE__COSL */ + +/* Define to 1 if you have the `_expf' function. */ +/* #undef _GLIBCXX_HAVE__EXPF */ + +/* Define to 1 if you have the `_expl' function. */ +/* #undef _GLIBCXX_HAVE__EXPL */ + +/* Define to 1 if you have the `_fabsf' function. */ +/* #undef _GLIBCXX_HAVE__FABSF */ + +/* Define to 1 if you have the `_fabsl' function. */ +/* #undef _GLIBCXX_HAVE__FABSL */ + +/* Define to 1 if you have the `_finite' function. */ +/* #undef _GLIBCXX_HAVE__FINITE */ + +/* Define to 1 if you have the `_finitef' function. */ +/* #undef _GLIBCXX_HAVE__FINITEF */ + +/* Define to 1 if you have the `_finitel' function. */ +/* #undef _GLIBCXX_HAVE__FINITEL */ + +/* Define to 1 if you have the `_floorf' function. */ +/* #undef _GLIBCXX_HAVE__FLOORF */ + +/* Define to 1 if you have the `_floorl' function. */ +/* #undef _GLIBCXX_HAVE__FLOORL */ + +/* Define to 1 if you have the `_fmodf' function. */ +/* #undef _GLIBCXX_HAVE__FMODF */ + +/* Define to 1 if you have the `_fmodl' function. */ +/* #undef _GLIBCXX_HAVE__FMODL */ + +/* Define to 1 if you have the `_fpclass' function. */ +/* #undef _GLIBCXX_HAVE__FPCLASS */ + +/* Define to 1 if you have the `_frexpf' function. */ +/* #undef _GLIBCXX_HAVE__FREXPF */ + +/* Define to 1 if you have the `_frexpl' function. */ +/* #undef _GLIBCXX_HAVE__FREXPL */ + +/* Define to 1 if you have the `_hypot' function. */ +/* #undef _GLIBCXX_HAVE__HYPOT */ + +/* Define to 1 if you have the `_hypotf' function. */ +/* #undef _GLIBCXX_HAVE__HYPOTF */ + +/* Define to 1 if you have the `_hypotl' function. */ +/* #undef _GLIBCXX_HAVE__HYPOTL */ + +/* Define to 1 if you have the `_isinf' function. */ +/* #undef _GLIBCXX_HAVE__ISINF */ + +/* Define to 1 if you have the `_isinff' function. */ +/* #undef _GLIBCXX_HAVE__ISINFF */ + +/* Define to 1 if you have the `_isinfl' function. */ +/* #undef _GLIBCXX_HAVE__ISINFL */ + +/* Define to 1 if you have the `_isnan' function. */ +/* #undef _GLIBCXX_HAVE__ISNAN */ + +/* Define to 1 if you have the `_isnanf' function. */ +/* #undef _GLIBCXX_HAVE__ISNANF */ + +/* Define to 1 if you have the `_isnanl' function. */ +/* #undef _GLIBCXX_HAVE__ISNANL */ + +/* Define to 1 if you have the `_ldexpf' function. */ +/* #undef _GLIBCXX_HAVE__LDEXPF */ + +/* Define to 1 if you have the `_ldexpl' function. */ +/* #undef _GLIBCXX_HAVE__LDEXPL */ + +/* Define to 1 if you have the `_log10f' function. */ +/* #undef _GLIBCXX_HAVE__LOG10F */ + +/* Define to 1 if you have the `_log10l' function. */ +/* #undef _GLIBCXX_HAVE__LOG10L */ + +/* Define to 1 if you have the `_logf' function. */ +/* #undef _GLIBCXX_HAVE__LOGF */ + +/* Define to 1 if you have the `_logl' function. */ +/* #undef _GLIBCXX_HAVE__LOGL */ + +/* Define to 1 if you have the `_modf' function. */ +/* #undef _GLIBCXX_HAVE__MODF */ + +/* Define to 1 if you have the `_modff' function. */ +/* #undef _GLIBCXX_HAVE__MODFF */ + +/* Define to 1 if you have the `_modfl' function. */ +/* #undef _GLIBCXX_HAVE__MODFL */ + +/* Define to 1 if you have the `_powf' function. */ +/* #undef _GLIBCXX_HAVE__POWF */ + +/* Define to 1 if you have the `_powl' function. */ +/* #undef _GLIBCXX_HAVE__POWL */ + +/* Define to 1 if you have the `_qfpclass' function. */ +/* #undef _GLIBCXX_HAVE__QFPCLASS */ + +/* Define to 1 if you have the `_sincos' function. */ +/* #undef _GLIBCXX_HAVE__SINCOS */ + +/* Define to 1 if you have the `_sincosf' function. */ +/* #undef _GLIBCXX_HAVE__SINCOSF */ + +/* Define to 1 if you have the `_sincosl' function. */ +/* #undef _GLIBCXX_HAVE__SINCOSL */ + +/* Define to 1 if you have the `_sinf' function. */ +/* #undef _GLIBCXX_HAVE__SINF */ + +/* Define to 1 if you have the `_sinhf' function. */ +/* #undef _GLIBCXX_HAVE__SINHF */ + +/* Define to 1 if you have the `_sinhl' function. */ +/* #undef _GLIBCXX_HAVE__SINHL */ + +/* Define to 1 if you have the `_sinl' function. */ +/* #undef _GLIBCXX_HAVE__SINL */ + +/* Define to 1 if you have the `_sqrtf' function. */ +/* #undef _GLIBCXX_HAVE__SQRTF */ + +/* Define to 1 if you have the `_sqrtl' function. */ +/* #undef _GLIBCXX_HAVE__SQRTL */ + +/* Define to 1 if you have the `_tanf' function. */ +/* #undef _GLIBCXX_HAVE__TANF */ + +/* Define to 1 if you have the `_tanhf' function. */ +/* #undef _GLIBCXX_HAVE__TANHF */ + +/* Define to 1 if you have the `_tanhl' function. */ +/* #undef _GLIBCXX_HAVE__TANHL */ + +/* Define to 1 if you have the `_tanl' function. */ +/* #undef _GLIBCXX_HAVE__TANL */ + +/* Define to 1 if you have the `_wfopen' function. */ +/* #undef _GLIBCXX_HAVE__WFOPEN */ + +/* Define to 1 if you have the `__cxa_thread_atexit' function. */ +/* #undef _GLIBCXX_HAVE___CXA_THREAD_ATEXIT */ + +/* Define to 1 if you have the `__cxa_thread_atexit_impl' function. */ +#define _GLIBCXX_HAVE___CXA_THREAD_ATEXIT_IMPL 1 + +/* Define as const if the declaration of iconv() needs const. */ +#define _GLIBCXX_ICONV_CONST + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +/* #undef _GLIBCXX_PACKAGE */ + +/* Define to the address where bug reports for this package should be sent. */ +#define _GLIBCXX_PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define _GLIBCXX_PACKAGE_NAME "package-unused" + +/* Define to the full name and version of this package. */ +#define _GLIBCXX_PACKAGE_STRING "package-unused version-unused" + +/* Define to the one symbol short name of this package. */ +#define _GLIBCXX_PACKAGE_TARNAME "libstdc++" + +/* Define to the home page for this package. */ +#define _GLIBCXX_PACKAGE_URL "" + +/* Define to the version of this package. */ +#define _GLIBCXX_PACKAGE__GLIBCXX_VERSION "version-unused" + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +/* #undef SIZEOF_INT */ + +/* The size of `long', as computed by sizeof. */ +/* #undef SIZEOF_LONG */ + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Version number of package */ +/* #undef _GLIBCXX_VERSION */ + +/* Define if C99 functions in should be used in for + C++11. Using compiler builtins for these functions requires corresponding + C99 library functions to be present. */ +#define _GLIBCXX11_USE_C99_COMPLEX 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std for C++11. */ +#define _GLIBCXX11_USE_C99_MATH 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std for C++11. */ +#define _GLIBCXX11_USE_C99_STDIO 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std for C++11. */ +#define _GLIBCXX11_USE_C99_STDLIB 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std for C++11. */ +#define _GLIBCXX11_USE_C99_WCHAR 1 + +/* Define if C99 functions in should be used in for + C++98. Using compiler builtins for these functions requires corresponding + C99 library functions to be present. */ +#define _GLIBCXX98_USE_C99_COMPLEX 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std for C++98. */ +#define _GLIBCXX98_USE_C99_MATH 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std for C++98. */ +#define _GLIBCXX98_USE_C99_STDIO 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std for C++98. */ +#define _GLIBCXX98_USE_C99_STDLIB 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std for C++98. */ +#define _GLIBCXX98_USE_C99_WCHAR 1 + +/* Define if the compiler supports C++11 atomics. */ +#define _GLIBCXX_ATOMIC_BUILTINS 1 + +/* Define to use concept checking code from the boost libraries. */ +/* #undef _GLIBCXX_CONCEPT_CHECKS */ + +/* Define to 1 if a fully dynamic basic_string is wanted, 0 to disable, + undefined for platform defaults */ +#define _GLIBCXX_FULLY_DYNAMIC_STRING 0 + +/* Define if gthreads library is available. */ +#define _GLIBCXX_HAS_GTHREADS 1 + +/* Define to 1 if a full hosted library is built, or 0 if freestanding. */ +#define _GLIBCXX_HOSTED 1 + +/* Define if compatibility should be provided for -mlong-double-64. */ + +/* Define to the letter to which size_t is mangled. */ +#define _GLIBCXX_MANGLE_SIZE_T m + +/* Define if C99 llrint and llround functions are missing from . */ +/* #undef _GLIBCXX_NO_C99_ROUNDING_FUNCS */ + +/* Define if ptrdiff_t is int. */ +/* #undef _GLIBCXX_PTRDIFF_T_IS_INT */ + +/* Define if using setrlimit to set resource limits during "make check" */ +#define _GLIBCXX_RES_LIMITS 1 + +/* Define if size_t is unsigned int. */ +/* #undef _GLIBCXX_SIZE_T_IS_UINT */ + +/* Define to the value of the EOF integer constant. */ +#define _GLIBCXX_STDIO_EOF -1 + +/* Define to the value of the SEEK_CUR integer constant. */ +#define _GLIBCXX_STDIO_SEEK_CUR 1 + +/* Define to the value of the SEEK_END integer constant. */ +#define _GLIBCXX_STDIO_SEEK_END 2 + +/* Define to use symbol versioning in the shared library. */ +#define _GLIBCXX_SYMVER 1 + +/* Define to use darwin versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_DARWIN */ + +/* Define to use GNU versioning in the shared library. */ +#define _GLIBCXX_SYMVER_GNU 1 + +/* Define to use GNU namespace versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU_NAMESPACE */ + +/* Define to use Sun versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_SUN */ + +/* Define if C11 functions in should be imported into namespace std + in . */ +#define _GLIBCXX_USE_C11_UCHAR_CXX11 1 + +/* Define if C99 functions or macros from , , , + , and can be used or exposed. */ +#define _GLIBCXX_USE_C99 1 + +/* Define if C99 functions in should be used in . + Using compiler builtins for these functions requires corresponding C99 + library functions to be present. */ +#define _GLIBCXX_USE_C99_COMPLEX_TR1 1 + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_CTYPE_TR1 1 + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_FENV_TR1 1 + +/* Define if C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_TR1 1 + +/* Define if wchar_t C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_MATH_TR1 1 + +/* Define if C99 types in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_STDINT_TR1 1 + +/* Defined if clock_gettime syscall has monotonic and realtime clock support. + */ +/* #undef _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL */ + +/* Defined if clock_gettime has monotonic clock support. */ +#define _GLIBCXX_USE_CLOCK_MONOTONIC 1 + +/* Defined if clock_gettime has realtime clock support. */ +#define _GLIBCXX_USE_CLOCK_REALTIME 1 + +/* Define if ISO/IEC TR 24733 decimal floating point types are supported on + this host. */ +#define _GLIBCXX_USE_DECIMAL_FLOAT 1 + +/* Define if /dev/random and /dev/urandom are available for + std::random_device. */ +#define _GLIBCXX_USE_DEV_RANDOM 1 + +/* Define if fchmod is available in . */ +#define _GLIBCXX_USE_FCHMOD 1 + +/* Define if fchmodat is available in . */ +#define _GLIBCXX_USE_FCHMODAT 1 + +/* Defined if gettimeofday is available. */ +#define _GLIBCXX_USE_GETTIMEOFDAY 1 + +/* Define if get_nprocs is available in . */ +#define _GLIBCXX_USE_GET_NPROCS 1 + +/* Define if __int128 is supported on this host. */ +#define _GLIBCXX_USE_INT128 1 + +/* Define if LFS support is available. */ +#define _GLIBCXX_USE_LFS 1 + +/* Define if code specialized for long long should be used. */ +#define _GLIBCXX_USE_LONG_LONG 1 + +/* Define if lstat is available in . */ +#define _GLIBCXX_USE_LSTAT 1 + +/* Defined if nanosleep is available. */ +#define _GLIBCXX_USE_NANOSLEEP 1 + +/* Define if NLS translations are to be used. */ +#define _GLIBCXX_USE_NLS 1 + +/* Define if pthreads_num_processors_np is available in . */ +/* #undef _GLIBCXX_USE_PTHREADS_NUM_PROCESSORS_NP */ + +/* Define if POSIX read/write locks are available in . */ +#define _GLIBCXX_USE_PTHREAD_RWLOCK_T 1 + +/* Define if /dev/random and /dev/urandom are available for the random_device + of TR1 (Chapter 5.1). */ +#define _GLIBCXX_USE_RANDOM_TR1 1 + +/* Define if usable realpath is available in . */ +#define _GLIBCXX_USE_REALPATH 1 + +/* Defined if sched_yield is available. */ +#define _GLIBCXX_USE_SCHED_YIELD 1 + +/* Define if _SC_NPROCESSORS_ONLN is available in . */ +#define _GLIBCXX_USE_SC_NPROCESSORS_ONLN 1 + +/* Define if _SC_NPROC_ONLN is available in . */ +/* #undef _GLIBCXX_USE_SC_NPROC_ONLN */ + +/* Define if sendfile is available in . */ +#define _GLIBCXX_USE_SENDFILE 1 + +/* Define if struct stat has timespec members. */ +#define _GLIBCXX_USE_ST_MTIM 1 + +/* Define if sysctl(), CTL_HW and HW_NCPU are available in . */ +/* #undef _GLIBCXX_USE_SYSCTL_HW_NCPU */ + +/* Define if obsolescent tmpnam is available in . */ +#define _GLIBCXX_USE_TMPNAM 1 + +/* Define if utime is available in . */ +#define _GLIBCXX_USE_UTIME 1 + +/* Define if utimensat and UTIME_OMIT are available in and + AT_FDCWD in . */ +#define _GLIBCXX_USE_UTIMENSAT 1 + +/* Define if code specialized for wchar_t should be used. */ +#define _GLIBCXX_USE_WCHAR_T 1 + +/* Define to 1 if a verbose library is built, or 0 otherwise. */ +#define _GLIBCXX_VERBOSE 1 + +/* Defined if as can handle rdrand. */ +#define _GLIBCXX_X86_RDRAND 1 + +/* Define to 1 if mutex_timedlock is available. */ +#define _GTHREAD_USE_MUTEX_TIMEDLOCK 1 + +/* Define if all C++11 floating point overloads are available in . */ +#if __cplusplus >= 201103L +/* #undef __CORRECT_ISO_CPP11_MATH_H_PROTO_FP */ +#endif + +/* Define if all C++11 integral type overloads are available in . */ +#if __cplusplus >= 201103L +/* #undef __CORRECT_ISO_CPP11_MATH_H_PROTO_INT */ +#endif + +#if defined (_GLIBCXX_HAVE__ACOSF) && ! defined (_GLIBCXX_HAVE_ACOSF) +# define _GLIBCXX_HAVE_ACOSF 1 +# define acosf _acosf +#endif + +#if defined (_GLIBCXX_HAVE__ACOSL) && ! defined (_GLIBCXX_HAVE_ACOSL) +# define _GLIBCXX_HAVE_ACOSL 1 +# define acosl _acosl +#endif + +#if defined (_GLIBCXX_HAVE__ASINF) && ! defined (_GLIBCXX_HAVE_ASINF) +# define _GLIBCXX_HAVE_ASINF 1 +# define asinf _asinf +#endif + +#if defined (_GLIBCXX_HAVE__ASINL) && ! defined (_GLIBCXX_HAVE_ASINL) +# define _GLIBCXX_HAVE_ASINL 1 +# define asinl _asinl +#endif + +#if defined (_GLIBCXX_HAVE__ATAN2F) && ! defined (_GLIBCXX_HAVE_ATAN2F) +# define _GLIBCXX_HAVE_ATAN2F 1 +# define atan2f _atan2f +#endif + +#if defined (_GLIBCXX_HAVE__ATAN2L) && ! defined (_GLIBCXX_HAVE_ATAN2L) +# define _GLIBCXX_HAVE_ATAN2L 1 +# define atan2l _atan2l +#endif + +#if defined (_GLIBCXX_HAVE__ATANF) && ! defined (_GLIBCXX_HAVE_ATANF) +# define _GLIBCXX_HAVE_ATANF 1 +# define atanf _atanf +#endif + +#if defined (_GLIBCXX_HAVE__ATANL) && ! defined (_GLIBCXX_HAVE_ATANL) +# define _GLIBCXX_HAVE_ATANL 1 +# define atanl _atanl +#endif + +#if defined (_GLIBCXX_HAVE__CEILF) && ! defined (_GLIBCXX_HAVE_CEILF) +# define _GLIBCXX_HAVE_CEILF 1 +# define ceilf _ceilf +#endif + +#if defined (_GLIBCXX_HAVE__CEILL) && ! defined (_GLIBCXX_HAVE_CEILL) +# define _GLIBCXX_HAVE_CEILL 1 +# define ceill _ceill +#endif + +#if defined (_GLIBCXX_HAVE__COSF) && ! defined (_GLIBCXX_HAVE_COSF) +# define _GLIBCXX_HAVE_COSF 1 +# define cosf _cosf +#endif + +#if defined (_GLIBCXX_HAVE__COSHF) && ! defined (_GLIBCXX_HAVE_COSHF) +# define _GLIBCXX_HAVE_COSHF 1 +# define coshf _coshf +#endif + +#if defined (_GLIBCXX_HAVE__COSHL) && ! defined (_GLIBCXX_HAVE_COSHL) +# define _GLIBCXX_HAVE_COSHL 1 +# define coshl _coshl +#endif + +#if defined (_GLIBCXX_HAVE__COSL) && ! defined (_GLIBCXX_HAVE_COSL) +# define _GLIBCXX_HAVE_COSL 1 +# define cosl _cosl +#endif + +#if defined (_GLIBCXX_HAVE__EXPF) && ! defined (_GLIBCXX_HAVE_EXPF) +# define _GLIBCXX_HAVE_EXPF 1 +# define expf _expf +#endif + +#if defined (_GLIBCXX_HAVE__EXPL) && ! defined (_GLIBCXX_HAVE_EXPL) +# define _GLIBCXX_HAVE_EXPL 1 +# define expl _expl +#endif + +#if defined (_GLIBCXX_HAVE__FABSF) && ! defined (_GLIBCXX_HAVE_FABSF) +# define _GLIBCXX_HAVE_FABSF 1 +# define fabsf _fabsf +#endif + +#if defined (_GLIBCXX_HAVE__FABSL) && ! defined (_GLIBCXX_HAVE_FABSL) +# define _GLIBCXX_HAVE_FABSL 1 +# define fabsl _fabsl +#endif + +#if defined (_GLIBCXX_HAVE__FINITE) && ! defined (_GLIBCXX_HAVE_FINITE) +# define _GLIBCXX_HAVE_FINITE 1 +# define finite _finite +#endif + +#if defined (_GLIBCXX_HAVE__FINITEF) && ! defined (_GLIBCXX_HAVE_FINITEF) +# define _GLIBCXX_HAVE_FINITEF 1 +# define finitef _finitef +#endif + +#if defined (_GLIBCXX_HAVE__FINITEL) && ! defined (_GLIBCXX_HAVE_FINITEL) +# define _GLIBCXX_HAVE_FINITEL 1 +# define finitel _finitel +#endif + +#if defined (_GLIBCXX_HAVE__FLOORF) && ! defined (_GLIBCXX_HAVE_FLOORF) +# define _GLIBCXX_HAVE_FLOORF 1 +# define floorf _floorf +#endif + +#if defined (_GLIBCXX_HAVE__FLOORL) && ! defined (_GLIBCXX_HAVE_FLOORL) +# define _GLIBCXX_HAVE_FLOORL 1 +# define floorl _floorl +#endif + +#if defined (_GLIBCXX_HAVE__FMODF) && ! defined (_GLIBCXX_HAVE_FMODF) +# define _GLIBCXX_HAVE_FMODF 1 +# define fmodf _fmodf +#endif + +#if defined (_GLIBCXX_HAVE__FMODL) && ! defined (_GLIBCXX_HAVE_FMODL) +# define _GLIBCXX_HAVE_FMODL 1 +# define fmodl _fmodl +#endif + +#if defined (_GLIBCXX_HAVE__FPCLASS) && ! defined (_GLIBCXX_HAVE_FPCLASS) +# define _GLIBCXX_HAVE_FPCLASS 1 +# define fpclass _fpclass +#endif + +#if defined (_GLIBCXX_HAVE__FREXPF) && ! defined (_GLIBCXX_HAVE_FREXPF) +# define _GLIBCXX_HAVE_FREXPF 1 +# define frexpf _frexpf +#endif + +#if defined (_GLIBCXX_HAVE__FREXPL) && ! defined (_GLIBCXX_HAVE_FREXPL) +# define _GLIBCXX_HAVE_FREXPL 1 +# define frexpl _frexpl +#endif + +#if defined (_GLIBCXX_HAVE__HYPOT) && ! defined (_GLIBCXX_HAVE_HYPOT) +# define _GLIBCXX_HAVE_HYPOT 1 +# define hypot _hypot +#endif + +#if defined (_GLIBCXX_HAVE__HYPOTF) && ! defined (_GLIBCXX_HAVE_HYPOTF) +# define _GLIBCXX_HAVE_HYPOTF 1 +# define hypotf _hypotf +#endif + +#if defined (_GLIBCXX_HAVE__HYPOTL) && ! defined (_GLIBCXX_HAVE_HYPOTL) +# define _GLIBCXX_HAVE_HYPOTL 1 +# define hypotl _hypotl +#endif + +#if defined (_GLIBCXX_HAVE__ISINF) && ! defined (_GLIBCXX_HAVE_ISINF) +# define _GLIBCXX_HAVE_ISINF 1 +# define isinf _isinf +#endif + +#if defined (_GLIBCXX_HAVE__ISINFF) && ! defined (_GLIBCXX_HAVE_ISINFF) +# define _GLIBCXX_HAVE_ISINFF 1 +# define isinff _isinff +#endif + +#if defined (_GLIBCXX_HAVE__ISINFL) && ! defined (_GLIBCXX_HAVE_ISINFL) +# define _GLIBCXX_HAVE_ISINFL 1 +# define isinfl _isinfl +#endif + +#if defined (_GLIBCXX_HAVE__ISNAN) && ! defined (_GLIBCXX_HAVE_ISNAN) +# define _GLIBCXX_HAVE_ISNAN 1 +# define isnan _isnan +#endif + +#if defined (_GLIBCXX_HAVE__ISNANF) && ! defined (_GLIBCXX_HAVE_ISNANF) +# define _GLIBCXX_HAVE_ISNANF 1 +# define isnanf _isnanf +#endif + +#if defined (_GLIBCXX_HAVE__ISNANL) && ! defined (_GLIBCXX_HAVE_ISNANL) +# define _GLIBCXX_HAVE_ISNANL 1 +# define isnanl _isnanl +#endif + +#if defined (_GLIBCXX_HAVE__LDEXPF) && ! defined (_GLIBCXX_HAVE_LDEXPF) +# define _GLIBCXX_HAVE_LDEXPF 1 +# define ldexpf _ldexpf +#endif + +#if defined (_GLIBCXX_HAVE__LDEXPL) && ! defined (_GLIBCXX_HAVE_LDEXPL) +# define _GLIBCXX_HAVE_LDEXPL 1 +# define ldexpl _ldexpl +#endif + +#if defined (_GLIBCXX_HAVE__LOG10F) && ! defined (_GLIBCXX_HAVE_LOG10F) +# define _GLIBCXX_HAVE_LOG10F 1 +# define log10f _log10f +#endif + +#if defined (_GLIBCXX_HAVE__LOG10L) && ! defined (_GLIBCXX_HAVE_LOG10L) +# define _GLIBCXX_HAVE_LOG10L 1 +# define log10l _log10l +#endif + +#if defined (_GLIBCXX_HAVE__LOGF) && ! defined (_GLIBCXX_HAVE_LOGF) +# define _GLIBCXX_HAVE_LOGF 1 +# define logf _logf +#endif + +#if defined (_GLIBCXX_HAVE__LOGL) && ! defined (_GLIBCXX_HAVE_LOGL) +# define _GLIBCXX_HAVE_LOGL 1 +# define logl _logl +#endif + +#if defined (_GLIBCXX_HAVE__MODF) && ! defined (_GLIBCXX_HAVE_MODF) +# define _GLIBCXX_HAVE_MODF 1 +# define modf _modf +#endif + +#if defined (_GLIBCXX_HAVE__MODFF) && ! defined (_GLIBCXX_HAVE_MODFF) +# define _GLIBCXX_HAVE_MODFF 1 +# define modff _modff +#endif + +#if defined (_GLIBCXX_HAVE__MODFL) && ! defined (_GLIBCXX_HAVE_MODFL) +# define _GLIBCXX_HAVE_MODFL 1 +# define modfl _modfl +#endif + +#if defined (_GLIBCXX_HAVE__POWF) && ! defined (_GLIBCXX_HAVE_POWF) +# define _GLIBCXX_HAVE_POWF 1 +# define powf _powf +#endif + +#if defined (_GLIBCXX_HAVE__POWL) && ! defined (_GLIBCXX_HAVE_POWL) +# define _GLIBCXX_HAVE_POWL 1 +# define powl _powl +#endif + +#if defined (_GLIBCXX_HAVE__QFPCLASS) && ! defined (_GLIBCXX_HAVE_QFPCLASS) +# define _GLIBCXX_HAVE_QFPCLASS 1 +# define qfpclass _qfpclass +#endif + +#if defined (_GLIBCXX_HAVE__SINCOS) && ! defined (_GLIBCXX_HAVE_SINCOS) +# define _GLIBCXX_HAVE_SINCOS 1 +# define sincos _sincos +#endif + +#if defined (_GLIBCXX_HAVE__SINCOSF) && ! defined (_GLIBCXX_HAVE_SINCOSF) +# define _GLIBCXX_HAVE_SINCOSF 1 +# define sincosf _sincosf +#endif + +#if defined (_GLIBCXX_HAVE__SINCOSL) && ! defined (_GLIBCXX_HAVE_SINCOSL) +# define _GLIBCXX_HAVE_SINCOSL 1 +# define sincosl _sincosl +#endif + +#if defined (_GLIBCXX_HAVE__SINF) && ! defined (_GLIBCXX_HAVE_SINF) +# define _GLIBCXX_HAVE_SINF 1 +# define sinf _sinf +#endif + +#if defined (_GLIBCXX_HAVE__SINHF) && ! defined (_GLIBCXX_HAVE_SINHF) +# define _GLIBCXX_HAVE_SINHF 1 +# define sinhf _sinhf +#endif + +#if defined (_GLIBCXX_HAVE__SINHL) && ! defined (_GLIBCXX_HAVE_SINHL) +# define _GLIBCXX_HAVE_SINHL 1 +# define sinhl _sinhl +#endif + +#if defined (_GLIBCXX_HAVE__SINL) && ! defined (_GLIBCXX_HAVE_SINL) +# define _GLIBCXX_HAVE_SINL 1 +# define sinl _sinl +#endif + +#if defined (_GLIBCXX_HAVE__SQRTF) && ! defined (_GLIBCXX_HAVE_SQRTF) +# define _GLIBCXX_HAVE_SQRTF 1 +# define sqrtf _sqrtf +#endif + +#if defined (_GLIBCXX_HAVE__SQRTL) && ! defined (_GLIBCXX_HAVE_SQRTL) +# define _GLIBCXX_HAVE_SQRTL 1 +# define sqrtl _sqrtl +#endif + +#if defined (_GLIBCXX_HAVE__STRTOF) && ! defined (_GLIBCXX_HAVE_STRTOF) +# define _GLIBCXX_HAVE_STRTOF 1 +# define strtof _strtof +#endif + +#if defined (_GLIBCXX_HAVE__STRTOLD) && ! defined (_GLIBCXX_HAVE_STRTOLD) +# define _GLIBCXX_HAVE_STRTOLD 1 +# define strtold _strtold +#endif + +#if defined (_GLIBCXX_HAVE__TANF) && ! defined (_GLIBCXX_HAVE_TANF) +# define _GLIBCXX_HAVE_TANF 1 +# define tanf _tanf +#endif + +#if defined (_GLIBCXX_HAVE__TANHF) && ! defined (_GLIBCXX_HAVE_TANHF) +# define _GLIBCXX_HAVE_TANHF 1 +# define tanhf _tanhf +#endif + +#if defined (_GLIBCXX_HAVE__TANHL) && ! defined (_GLIBCXX_HAVE_TANHL) +# define _GLIBCXX_HAVE_TANHL 1 +# define tanhl _tanhl +#endif + +#if defined (_GLIBCXX_HAVE__TANL) && ! defined (_GLIBCXX_HAVE_TANL) +# define _GLIBCXX_HAVE_TANL 1 +# define tanl _tanl +#endif + +#endif // _GLIBCXX_CXX_CONFIG_H +#endif +#endif diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@c++@9@x86_64-redhat-linux@bits@c++config.h.blob b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@c++@9@x86_64-redhat-linux@bits@c++config.h.blob new file mode 100644 index 0000000000000000000000000000000000000000..24d057da82affa6f7a61204df9114d88734a28ba GIT binary patch literal 34986 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 literal 0 HcmV?d00001 diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@c++@9@x86_64-redhat-linux@bits@cpu_defines.h b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@c++@9@x86_64-redhat-linux@bits@cpu_defines.h new file mode 100644 index 0000000..c851759 --- /dev/null +++ b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@c++@9@x86_64-redhat-linux@bits@cpu_defines.h @@ -0,0 +1,33 @@ +// Specific definitions for generic platforms -*- C++ -*- + +// Copyright (C) 2005-2019 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ Library. This library is free +// software; you can redistribute it and/or modify it under the +// terms of the GNU General Public License as published by the +// Free Software Foundation; either version 3, or (at your option) +// any later version. + +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// Under Section 7 of GPL version 3, you are granted additional +// permissions described in the GCC Runtime Library Exception, version +// 3.1, as published by the Free Software Foundation. + +// You should have received a copy of the GNU General Public License and +// a copy of the GCC Runtime Library Exception along with this program; +// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see +// . + +/** @file bits/cpu_defines.h + * This is an internal header file, included by other library headers. + * Do not attempt to use it directly. @headername{iosfwd} + */ + +#ifndef _GLIBCXX_CPU_DEFINES +#define _GLIBCXX_CPU_DEFINES 1 + +#endif diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@c++@9@x86_64-redhat-linux@bits@cpu_defines.h.blob b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@c++@9@x86_64-redhat-linux@bits@cpu_defines.h.blob new file mode 100644 index 0000000000000000000000000000000000000000..d5727bfd9d9850a53b52f4413c2c57b664d96dc4 GIT binary patch literal 2450 zcmbVOF>ezw6uu%x23D4;A`7B&-J&RJC0Hm8s#GB)1ggYf`Fy^_)MrPwuWk4>jC5q} z$jDGJz{Y?OVnC<^17pjx9ZH+K+!Z1vi=V&uz3+YRIk%IO;}7o+leq*Bb-^(;g-|%- zyLcq&cwls?GE6l?ca~Sya7M>nyn+>{juey`y);a&GD+1SLHjy=!I=}g9I?ekG~_hn z=D$(Vo;Eu|4NxWwplUO|_YVYRFP4YwZWX!&RmP-dJF%)C(~Kfe5CEd6oK*k5A&!v#=GKN!`mHt!L>I~- z_y!T0H1`#lc4ma+BW-)#7+Ie+Hqkm$GB=x`9b3#Yo(J8JYw1TIruB~CL}-$i3LLJL zZOlG2;C*C=)bI=i2rp2R+!Lyyi6hS1!lMRF9Kh*pGJ*(LVBA3#(3w8JJb)DCQ=kWq<$LOAmXa>_bb|X2A48$SSuoH>Vxl7uRELO9u+Q^ zbWrcCu$xN1N07+4a>9*0RDH`llwaRvJr-!j&R!7`Bm%p%h`{R_Kgh9BHS1$Z179P43SP`$%Bpl=A(@#5OAv#H{L?s`N9ey%wL~hz2blG JCZ}_7<2TM>(X;>n literal 0 HcmV?d00001 diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@c++@9@x86_64-redhat-linux@bits@os_defines.h b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@c++@9@x86_64-redhat-linux@bits@os_defines.h new file mode 100644 index 0000000..f913555 --- /dev/null +++ b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@c++@9@x86_64-redhat-linux@bits@os_defines.h @@ -0,0 +1,52 @@ +// Specific definitions for GNU/Linux -*- C++ -*- + +// Copyright (C) 2000-2019 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ Library. This library is free +// software; you can redistribute it and/or modify it under the +// terms of the GNU General Public License as published by the +// Free Software Foundation; either version 3, or (at your option) +// any later version. + +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// Under Section 7 of GPL version 3, you are granted additional +// permissions described in the GCC Runtime Library Exception, version +// 3.1, as published by the Free Software Foundation. + +// You should have received a copy of the GNU General Public License and +// a copy of the GCC Runtime Library Exception along with this program; +// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see +// . + +/** @file bits/os_defines.h + * This is an internal header file, included by other library headers. + * Do not attempt to use it directly. @headername{iosfwd} + */ + +#ifndef _GLIBCXX_OS_DEFINES +#define _GLIBCXX_OS_DEFINES 1 + +// System-specific #define, typedefs, corrections, etc, go here. This +// file will come before all others. + +// This keeps isanum, et al from being propagated as macros. +#define __NO_CTYPE 1 + +#include + +// Provide a declaration for the possibly deprecated gets function, as +// glibc 2.15 and later does not declare gets for ISO C11 when +// __GNU_SOURCE is defined. +#if __GLIBC_PREREQ(2,15) && defined(_GNU_SOURCE) +# undef _GLIBCXX_HAVE_GETS +#endif + +// Glibc 2.23 removed the obsolete isinf and isnan declarations. Check the +// version dynamically in case it has changed since libstdc++ was configured. +#define _GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC __GLIBC_PREREQ(2,23) + +#endif diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@c++@9@x86_64-redhat-linux@bits@os_defines.h.blob b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@c++@9@x86_64-redhat-linux@bits@os_defines.h.blob new file mode 100644 index 0000000000000000000000000000000000000000..85f1fc07f0ac5dbb62a64801d3234089ce59f800 GIT binary patch literal 2705 zcmbVO&u=3&6rNOz#DPO4IB;53yVa@?TsI|(wn!`3?WQPFNy@f|U2*U_9w#xK*pcmN z8;)>5@ON&>ni=*z#_r1^0c|JOQ z^xcEws1)Iz>T^tWUq~GD13XCRu&Y%nV@wr8>uZ$_9MfSHSFq&Nl0Icxt@ffzETOU+ zp(E9PlQSz0IAY~8>Tw!#{l8Jsq0;+8c2O)epejAQ@gE3A8#px@3(1l+=D01a!N$gk zXroS|s0G@mzg_wHI2&b$18y)O{kE~xa^ge(m=5iL0IBB2;XIt)^x1qGiJ0p5m2_dh zPKSX=cw}-N&XfTU; z$Lszmmwo_ZO6?0ygd&|(g2Ro5EM|BD z1I%sbd(2%CMH10>A^Cou2N8yiJD<_UF}RQg{a_GrQ6F5NYSq~^52>)7gmw$Ok-ABM zM9ifXcIcq;TjrqL08aC4E+b6Xi(gc;2s z9Uw=ie@_qRuzz&DMru_Abb8dHM9B0g%yl+M2~ZR=To?DyPGt52_hRlPWd2BoUK6f$ zB8<0N#!G>1D8`kWDaZ4Hhc}-2l6bSavl;NNOyP-5+Xe-T)UM_|ujgljgUL*g$LuoA z7-w(?3uaj^?zy*Z=8HA2o8>Z7vLn2Uw!VLGT-u)K=D8mQQ50P|`{13Ae`)Sr`H8%` z-MF=R_bzF+NbA;aYrDQzCym`ka|_ny%_g~huX*#e#wHxvxf<-UbkQ?QBt(*(JM}yD z*H_kGSby=kC@NJJEB6=N`hIj)0^qZiXWxC|)35$KfxpL}Qu)d9@++mY&rja|;{JPI zx5i0ZyX1C#tI@3QLhQ8+r^nk%707jY@p5g!tuKvoeUg%Ie_VO_Y2qs0+`G3^2bgEZ UFysIF)60v?%L^q~SHkIk0Eg=vq5uE@ literal 0 HcmV?d00001 diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@endian.h b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@endian.h new file mode 100644 index 0000000..e62b735 --- /dev/null +++ b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@endian.h @@ -0,0 +1,97 @@ +/* Copyright (C) 1992-2019 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _ENDIAN_H +#define _ENDIAN_H 1 + +#include + +/* Definitions for byte order, according to significance of bytes, + from low addresses to high addresses. The value is what you get by + putting '4' in the most significant byte, '3' in the second most + significant byte, '2' in the second least significant byte, and '1' + in the least significant byte, and then writing down one digit for + each byte, starting with the byte at the lowest address at the left, + and proceeding to the byte with the highest address at the right. */ + +#define __LITTLE_ENDIAN 1234 +#define __BIG_ENDIAN 4321 +#define __PDP_ENDIAN 3412 + +/* This file defines `__BYTE_ORDER' for the particular machine. */ +#include + +/* Some machines may need to use a different endianness for floating point + values. */ +#ifndef __FLOAT_WORD_ORDER +# define __FLOAT_WORD_ORDER __BYTE_ORDER +#endif + +#ifdef __USE_MISC +# define LITTLE_ENDIAN __LITTLE_ENDIAN +# define BIG_ENDIAN __BIG_ENDIAN +# define PDP_ENDIAN __PDP_ENDIAN +# define BYTE_ORDER __BYTE_ORDER +#endif + +#if __BYTE_ORDER == __LITTLE_ENDIAN +# define __LONG_LONG_PAIR(HI, LO) LO, HI +#elif __BYTE_ORDER == __BIG_ENDIAN +# define __LONG_LONG_PAIR(HI, LO) HI, LO +#endif + + +#if defined __USE_MISC && !defined __ASSEMBLER__ +/* Conversion interfaces. */ +# include +# include + +# if __BYTE_ORDER == __LITTLE_ENDIAN +# define htobe16(x) __bswap_16 (x) +# define htole16(x) __uint16_identity (x) +# define be16toh(x) __bswap_16 (x) +# define le16toh(x) __uint16_identity (x) + +# define htobe32(x) __bswap_32 (x) +# define htole32(x) __uint32_identity (x) +# define be32toh(x) __bswap_32 (x) +# define le32toh(x) __uint32_identity (x) + +# define htobe64(x) __bswap_64 (x) +# define htole64(x) __uint64_identity (x) +# define be64toh(x) __bswap_64 (x) +# define le64toh(x) __uint64_identity (x) + +# else +# define htobe16(x) __uint16_identity (x) +# define htole16(x) __bswap_16 (x) +# define be16toh(x) __uint16_identity (x) +# define le16toh(x) __bswap_16 (x) + +# define htobe32(x) __uint32_identity (x) +# define htole32(x) __bswap_32 (x) +# define be32toh(x) __uint32_identity (x) +# define le32toh(x) __bswap_32 (x) + +# define htobe64(x) __uint64_identity (x) +# define htole64(x) __bswap_64 (x) +# define be64toh(x) __uint64_identity (x) +# define le64toh(x) __bswap_64 (x) +# endif +#endif + +#endif /* endian.h */ diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@endian.h.blob b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@endian.h.blob new file mode 100644 index 0000000000000000000000000000000000000000..907a7bfebb616e28583eac9f49f1b4a4ae48d9ae GIT binary patch literal 3858 zcmbtWU2NM_6n4UI_?fEAY-7^8(5+iK)p7Gf7$CZ~G-%ym0fMUyP1+lzVkrY-$Q*2e{>m^OCDI&|O0+Z;AKgf!F zJ;laZ9SJoJae}HCyrdv4CQvsCGOv{WCkV4&)%HnBi4i3Y35KfGAGrZmRGh8p8Y?M+ zToVynlnkBK4N;bg%%rUHMyyON{Q|kVPZ{+p(piqH6m^3)5J!$;S#IEV1@Q(~;RQ{_ z_e|fn^ojc(LPKE$wNg#tolU&!DaFMC3nH)8IZ-;H)5CabERPMIhD0ChvF z2?n>~-FjVT1rbdWJ%9IMW&sg#t4P3!cxz&mHN=aIUgk9sN{7LvbrLRB*(k_p3WLisvqEY`@chO&wqSgjRh;!&5y zO&6PKNF^N^CYZmwbgz>jTRO#(!NYEk^~L%cy${ZXs^d)Ne|+MtmPW*u(2)$|1#f$M z0vliDWT}FWc>B)>0^e{QW0->gqx;E28dMVf#Ky%)r&gx9pO=hDnJ@VmpoaUKkwl~z zl2OM{jiKQyFt3&H;Ztwl^?s|shA1#q=nks@o?VA|;aOYrCdSJ!n|KWGZ40D`5>JLw zgKO*9uj?GrG+EL~mAy*{9~*JSNlGl>scT88!Dppb)EQIw^d_%QN^@Ib7+3Sb1t70y zij5oauHP6~aqc-iX5W2tw53Q*-FaX9z3VblFhxB;jZ#lh6t#AF zjqvc#?=62EDuQPXwG3;kHi1pxUxqW-(#(rnpK@q5iU){-Yqp3VafL>p)Ex4SPUXU`mw-F&Pi69;DnpCh|RELsJ+ z0B{f|ELw-JoIDf1|MG1zN+#OUvz8pVWTG8zgdPDnh&J5c--JKB^zzmNGK!~NaAe7W zi>KS+hUg)HgJ{F8S$(>8;@NK(Kq1VgO*FjZz`5CF=nTL?wBf$WzccsKv?v}s*C`26w3z=X;_OHk2{#_9870DluX5;{((qGBpSpq zVdXfpATd*4zaDA19+<7SQCc=at`q{j;ojaLjs*+x&&%tNzxF|<$700g04;2zH5Nm0 zU=!{LgHjN;SntlCzWV)R&#gO&wQcjiwbbmehT>T|3pfyM#k>1*i|V0`N1(#_5l?BH z^-wCAz+^UdYy@c_+S0r*a}pI_-E+`63YpM$CeA8|;yeHl6K1vqaU8I+>VI={_m>NQ zMV)dq139YzJcG#O;X)c=e9{F7WC{t7Fr* z?AdUhw34gk@$_geY-4onpm)Gc5beS~d1dk1#ZdJS_;74=#0=wudEDs{yE5&2(OkYa XQW)!jUvDIr2R)MEWFm;8)#?8MFe*c3 literal 0 HcmV?d00001 diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@features.h b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@features.h new file mode 100644 index 0000000..ba27207 --- /dev/null +++ b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@features.h @@ -0,0 +1,477 @@ +/* Copyright (C) 1991-2019 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _FEATURES_H +#define _FEATURES_H 1 + +/* These are defined by the user (or the compiler) + to specify the desired environment: + + __STRICT_ANSI__ ISO Standard C. + _ISOC99_SOURCE Extensions to ISO C89 from ISO C99. + _ISOC11_SOURCE Extensions to ISO C99 from ISO C11. + __STDC_WANT_LIB_EXT2__ + Extensions to ISO C99 from TR 27431-2:2010. + __STDC_WANT_IEC_60559_BFP_EXT__ + Extensions to ISO C11 from TS 18661-1:2014. + __STDC_WANT_IEC_60559_FUNCS_EXT__ + Extensions to ISO C11 from TS 18661-4:2015. + __STDC_WANT_IEC_60559_TYPES_EXT__ + Extensions to ISO C11 from TS 18661-3:2015. + + _POSIX_SOURCE IEEE Std 1003.1. + _POSIX_C_SOURCE If ==1, like _POSIX_SOURCE; if >=2 add IEEE Std 1003.2; + if >=199309L, add IEEE Std 1003.1b-1993; + if >=199506L, add IEEE Std 1003.1c-1995; + if >=200112L, all of IEEE 1003.1-2004 + if >=200809L, all of IEEE 1003.1-2008 + _XOPEN_SOURCE Includes POSIX and XPG things. Set to 500 if + Single Unix conformance is wanted, to 600 for the + sixth revision, to 700 for the seventh revision. + _XOPEN_SOURCE_EXTENDED XPG things and X/Open Unix extensions. + _LARGEFILE_SOURCE Some more functions for correct standard I/O. + _LARGEFILE64_SOURCE Additional functionality from LFS for large files. + _FILE_OFFSET_BITS=N Select default filesystem interface. + _ATFILE_SOURCE Additional *at interfaces. + _GNU_SOURCE All of the above, plus GNU extensions. + _DEFAULT_SOURCE The default set of features (taking precedence over + __STRICT_ANSI__). + + _FORTIFY_SOURCE Add security hardening to many library functions. + Set to 1 or 2; 2 performs stricter checks than 1. + + _REENTRANT, _THREAD_SAFE + Obsolete; equivalent to _POSIX_C_SOURCE=199506L. + + The `-ansi' switch to the GNU C compiler, and standards conformance + options such as `-std=c99', define __STRICT_ANSI__. If none of + these are defined, or if _DEFAULT_SOURCE is defined, the default is + to have _POSIX_SOURCE set to one and _POSIX_C_SOURCE set to + 200809L, as well as enabling miscellaneous functions from BSD and + SVID. If more than one of these are defined, they accumulate. For + example __STRICT_ANSI__, _POSIX_SOURCE and _POSIX_C_SOURCE together + give you ISO C, 1003.1, and 1003.2, but nothing else. + + These are defined by this file and are used by the + header files to decide what to declare or define: + + __GLIBC_USE (F) Define things from feature set F. This is defined + to 1 or 0; the subsequent macros are either defined + or undefined, and those tests should be moved to + __GLIBC_USE. + __USE_ISOC11 Define ISO C11 things. + __USE_ISOC99 Define ISO C99 things. + __USE_ISOC95 Define ISO C90 AMD1 (C95) things. + __USE_ISOCXX11 Define ISO C++11 things. + __USE_POSIX Define IEEE Std 1003.1 things. + __USE_POSIX2 Define IEEE Std 1003.2 things. + __USE_POSIX199309 Define IEEE Std 1003.1, and .1b things. + __USE_POSIX199506 Define IEEE Std 1003.1, .1b, .1c and .1i things. + __USE_XOPEN Define XPG things. + __USE_XOPEN_EXTENDED Define X/Open Unix things. + __USE_UNIX98 Define Single Unix V2 things. + __USE_XOPEN2K Define XPG6 things. + __USE_XOPEN2KXSI Define XPG6 XSI things. + __USE_XOPEN2K8 Define XPG7 things. + __USE_XOPEN2K8XSI Define XPG7 XSI things. + __USE_LARGEFILE Define correct standard I/O things. + __USE_LARGEFILE64 Define LFS things with separate names. + __USE_FILE_OFFSET64 Define 64bit interface as default. + __USE_MISC Define things from 4.3BSD or System V Unix. + __USE_ATFILE Define *at interfaces and AT_* constants for them. + __USE_GNU Define GNU extensions. + __USE_FORTIFY_LEVEL Additional security measures used, according to level. + + The macros `__GNU_LIBRARY__', `__GLIBC__', and `__GLIBC_MINOR__' are + defined by this file unconditionally. `__GNU_LIBRARY__' is provided + only for compatibility. All new code should use the other symbols + to test for features. + + All macros listed above as possibly being defined by this file are + explicitly undefined if they are not explicitly defined. + Feature-test macros that are not defined by the user or compiler + but are implied by the other feature-test macros defined (or by the + lack of any definitions) are defined by the file. + + ISO C feature test macros depend on the definition of the macro + when an affected header is included, not when the first system + header is included, and so they are handled in + , which does not have a multiple include + guard. Feature test macros that can be handled from the first + system header included are handled here. */ + + +/* Undefine everything, so we get a clean slate. */ +#undef __USE_ISOC11 +#undef __USE_ISOC99 +#undef __USE_ISOC95 +#undef __USE_ISOCXX11 +#undef __USE_POSIX +#undef __USE_POSIX2 +#undef __USE_POSIX199309 +#undef __USE_POSIX199506 +#undef __USE_XOPEN +#undef __USE_XOPEN_EXTENDED +#undef __USE_UNIX98 +#undef __USE_XOPEN2K +#undef __USE_XOPEN2KXSI +#undef __USE_XOPEN2K8 +#undef __USE_XOPEN2K8XSI +#undef __USE_LARGEFILE +#undef __USE_LARGEFILE64 +#undef __USE_FILE_OFFSET64 +#undef __USE_MISC +#undef __USE_ATFILE +#undef __USE_GNU +#undef __USE_FORTIFY_LEVEL +#undef __KERNEL_STRICT_NAMES +#undef __GLIBC_USE_DEPRECATED_GETS +#undef __GLIBC_USE_DEPRECATED_SCANF + +/* Suppress kernel-name space pollution unless user expressedly asks + for it. */ +#ifndef _LOOSE_KERNEL_NAMES +# define __KERNEL_STRICT_NAMES +#endif + +/* Convenience macro to test the version of gcc. + Use like this: + #if __GNUC_PREREQ (2,8) + ... code requiring gcc 2.8 or later ... + #endif + Note: only works for GCC 2.0 and later, because __GNUC_MINOR__ was + added in 2.0. */ +#if defined __GNUC__ && defined __GNUC_MINOR__ +# define __GNUC_PREREQ(maj, min) \ + ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) +#else +# define __GNUC_PREREQ(maj, min) 0 +#endif + +/* Similarly for clang. Features added to GCC after version 4.2 may + or may not also be available in clang, and clang's definitions of + __GNUC(_MINOR)__ are fixed at 4 and 2 respectively. Not all such + features can be queried via __has_extension/__has_feature. */ +#if defined __clang_major__ && defined __clang_minor__ +# define __glibc_clang_prereq(maj, min) \ + ((__clang_major__ << 16) + __clang_minor__ >= ((maj) << 16) + (min)) +#else +# define __glibc_clang_prereq(maj, min) 0 +#endif + +/* Whether to use feature set F. */ +#define __GLIBC_USE(F) __GLIBC_USE_ ## F + +/* _BSD_SOURCE and _SVID_SOURCE are deprecated aliases for + _DEFAULT_SOURCE. If _DEFAULT_SOURCE is present we do not + issue a warning; the expectation is that the source is being + transitioned to use the new macro. */ +#if (defined _BSD_SOURCE || defined _SVID_SOURCE) \ + && !defined _DEFAULT_SOURCE +# warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" +# undef _DEFAULT_SOURCE +# define _DEFAULT_SOURCE 1 +#endif + +/* If _GNU_SOURCE was defined by the user, turn on all the other features. */ +#ifdef _GNU_SOURCE +# undef _ISOC95_SOURCE +# define _ISOC95_SOURCE 1 +# undef _ISOC99_SOURCE +# define _ISOC99_SOURCE 1 +# undef _ISOC11_SOURCE +# define _ISOC11_SOURCE 1 +# undef _POSIX_SOURCE +# define _POSIX_SOURCE 1 +# undef _POSIX_C_SOURCE +# define _POSIX_C_SOURCE 200809L +# undef _XOPEN_SOURCE +# define _XOPEN_SOURCE 700 +# undef _XOPEN_SOURCE_EXTENDED +# define _XOPEN_SOURCE_EXTENDED 1 +# undef _LARGEFILE64_SOURCE +# define _LARGEFILE64_SOURCE 1 +# undef _DEFAULT_SOURCE +# define _DEFAULT_SOURCE 1 +# undef _ATFILE_SOURCE +# define _ATFILE_SOURCE 1 +#endif + +/* If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined, + define _DEFAULT_SOURCE. */ +#if (defined _DEFAULT_SOURCE \ + || (!defined __STRICT_ANSI__ \ + && !defined _ISOC99_SOURCE && !defined _ISOC11_SOURCE \ + && !defined _POSIX_SOURCE && !defined _POSIX_C_SOURCE \ + && !defined _XOPEN_SOURCE)) +# undef _DEFAULT_SOURCE +# define _DEFAULT_SOURCE 1 +#endif + +/* This is to enable the ISO C11 extension. */ +#if (defined _ISOC11_SOURCE \ + || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 201112L)) +# define __USE_ISOC11 1 +#endif + +/* This is to enable the ISO C99 extension. */ +#if (defined _ISOC99_SOURCE || defined _ISOC11_SOURCE \ + || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L)) +# define __USE_ISOC99 1 +#endif + +/* This is to enable the ISO C90 Amendment 1:1995 extension. */ +#if (defined _ISOC99_SOURCE || defined _ISOC11_SOURCE \ + || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199409L)) +# define __USE_ISOC95 1 +#endif + +#ifdef __cplusplus +/* This is to enable compatibility for ISO C++17. */ +# if __cplusplus >= 201703L +# define __USE_ISOC11 1 +# endif +/* This is to enable compatibility for ISO C++11. + Check the temporary macro for now, too. */ +# if __cplusplus >= 201103L || defined __GXX_EXPERIMENTAL_CXX0X__ +# define __USE_ISOCXX11 1 +# define __USE_ISOC99 1 +# endif +#endif + +/* If none of the ANSI/POSIX macros are defined, or if _DEFAULT_SOURCE + is defined, use POSIX.1-2008 (or another version depending on + _XOPEN_SOURCE). */ +#ifdef _DEFAULT_SOURCE +# if !defined _POSIX_SOURCE && !defined _POSIX_C_SOURCE +# define __USE_POSIX_IMPLICITLY 1 +# endif +# undef _POSIX_SOURCE +# define _POSIX_SOURCE 1 +# undef _POSIX_C_SOURCE +# define _POSIX_C_SOURCE 200809L +#endif + +#if ((!defined __STRICT_ANSI__ \ + || (defined _XOPEN_SOURCE && (_XOPEN_SOURCE - 0) >= 500)) \ + && !defined _POSIX_SOURCE && !defined _POSIX_C_SOURCE) +# define _POSIX_SOURCE 1 +# if defined _XOPEN_SOURCE && (_XOPEN_SOURCE - 0) < 500 +# define _POSIX_C_SOURCE 2 +# elif defined _XOPEN_SOURCE && (_XOPEN_SOURCE - 0) < 600 +# define _POSIX_C_SOURCE 199506L +# elif defined _XOPEN_SOURCE && (_XOPEN_SOURCE - 0) < 700 +# define _POSIX_C_SOURCE 200112L +# else +# define _POSIX_C_SOURCE 200809L +# endif +# define __USE_POSIX_IMPLICITLY 1 +#endif + +/* Some C libraries once required _REENTRANT and/or _THREAD_SAFE to be + defined in all multithreaded code. GNU libc has not required this + for many years. We now treat them as compatibility synonyms for + _POSIX_C_SOURCE=199506L, which is the earliest level of POSIX with + comprehensive support for multithreaded code. Using them never + lowers the selected level of POSIX conformance, only raises it. */ +#if ((!defined _POSIX_C_SOURCE || (_POSIX_C_SOURCE - 0) < 199506L) \ + && (defined _REENTRANT || defined _THREAD_SAFE)) +# define _POSIX_SOURCE 1 +# undef _POSIX_C_SOURCE +# define _POSIX_C_SOURCE 199506L +#endif + +#if (defined _POSIX_SOURCE \ + || (defined _POSIX_C_SOURCE && _POSIX_C_SOURCE >= 1) \ + || defined _XOPEN_SOURCE) +# define __USE_POSIX 1 +#endif + +#if defined _POSIX_C_SOURCE && _POSIX_C_SOURCE >= 2 || defined _XOPEN_SOURCE +# define __USE_POSIX2 1 +#endif + +#if defined _POSIX_C_SOURCE && (_POSIX_C_SOURCE - 0) >= 199309L +# define __USE_POSIX199309 1 +#endif + +#if defined _POSIX_C_SOURCE && (_POSIX_C_SOURCE - 0) >= 199506L +# define __USE_POSIX199506 1 +#endif + +#if defined _POSIX_C_SOURCE && (_POSIX_C_SOURCE - 0) >= 200112L +# define __USE_XOPEN2K 1 +# undef __USE_ISOC95 +# define __USE_ISOC95 1 +# undef __USE_ISOC99 +# define __USE_ISOC99 1 +#endif + +#if defined _POSIX_C_SOURCE && (_POSIX_C_SOURCE - 0) >= 200809L +# define __USE_XOPEN2K8 1 +# undef _ATFILE_SOURCE +# define _ATFILE_SOURCE 1 +#endif + +#ifdef _XOPEN_SOURCE +# define __USE_XOPEN 1 +# if (_XOPEN_SOURCE - 0) >= 500 +# define __USE_XOPEN_EXTENDED 1 +# define __USE_UNIX98 1 +# undef _LARGEFILE_SOURCE +# define _LARGEFILE_SOURCE 1 +# if (_XOPEN_SOURCE - 0) >= 600 +# if (_XOPEN_SOURCE - 0) >= 700 +# define __USE_XOPEN2K8 1 +# define __USE_XOPEN2K8XSI 1 +# endif +# define __USE_XOPEN2K 1 +# define __USE_XOPEN2KXSI 1 +# undef __USE_ISOC95 +# define __USE_ISOC95 1 +# undef __USE_ISOC99 +# define __USE_ISOC99 1 +# endif +# else +# ifdef _XOPEN_SOURCE_EXTENDED +# define __USE_XOPEN_EXTENDED 1 +# endif +# endif +#endif + +#ifdef _LARGEFILE_SOURCE +# define __USE_LARGEFILE 1 +#endif + +#ifdef _LARGEFILE64_SOURCE +# define __USE_LARGEFILE64 1 +#endif + +#if defined _FILE_OFFSET_BITS && _FILE_OFFSET_BITS == 64 +# define __USE_FILE_OFFSET64 1 +#endif + +#if defined _DEFAULT_SOURCE +# define __USE_MISC 1 +#endif + +#ifdef _ATFILE_SOURCE +# define __USE_ATFILE 1 +#endif + +#ifdef _GNU_SOURCE +# define __USE_GNU 1 +#endif + +#if defined _FORTIFY_SOURCE && _FORTIFY_SOURCE > 0 +# if !defined __OPTIMIZE__ || __OPTIMIZE__ <= 0 +# warning _FORTIFY_SOURCE requires compiling with optimization (-O) +# elif !__GNUC_PREREQ (4, 1) +# warning _FORTIFY_SOURCE requires GCC 4.1 or later +# elif _FORTIFY_SOURCE > 1 +# define __USE_FORTIFY_LEVEL 2 +# else +# define __USE_FORTIFY_LEVEL 1 +# endif +#endif +#ifndef __USE_FORTIFY_LEVEL +# define __USE_FORTIFY_LEVEL 0 +#endif + +/* The function 'gets' existed in C89, but is impossible to use + safely. It has been removed from ISO C11 and ISO C++14. Note: for + compatibility with various implementations of , this test + must consider only the value of __cplusplus when compiling C++. */ +#if defined __cplusplus ? __cplusplus >= 201402L : defined __USE_ISOC11 +# define __GLIBC_USE_DEPRECATED_GETS 0 +#else +# define __GLIBC_USE_DEPRECATED_GETS 1 +#endif + +/* GNU formerly extended the scanf functions with modified format + specifiers %as, %aS, and %a[...] that allocate a buffer for the + input using malloc. This extension conflicts with ISO C99, which + defines %a as a standalone format specifier that reads a floating- + point number; moreover, POSIX.1-2008 provides the same feature + using the modifier letter 'm' instead (%ms, %mS, %m[...]). + + We now follow C99 unless GNU extensions are active and the compiler + is specifically in C89 or C++98 mode (strict or not). For + instance, with GCC, -std=gnu11 will have C99-compliant scanf with + or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the + old extension. */ +#if defined __USE_GNU && \ + (defined __cplusplus \ + ? (__cplusplus < 201103L && !defined __GXX_EXPERIMENTAL_CXX0X__) \ + : (!defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L)) +# define __GLIBC_USE_DEPRECATED_SCANF 1 +#else +# define __GLIBC_USE_DEPRECATED_SCANF 0 +#endif + +/* Get definitions of __STDC_* predefined macros, if the compiler has + not preincluded this header automatically. */ +#include + +/* This macro indicates that the installed library is the GNU C Library. + For historic reasons the value now is 6 and this will stay from now + on. The use of this variable is deprecated. Use __GLIBC__ and + __GLIBC_MINOR__ now (see below) when you want to test for a specific + GNU C library version and use the values in to get + the sonames of the shared libraries. */ +#undef __GNU_LIBRARY__ +#define __GNU_LIBRARY__ 6 + +/* Major and minor version number of the GNU C library package. Use + these macros to test for features in specific releases. */ +#define __GLIBC__ 2 +#define __GLIBC_MINOR__ 29 + +#define __GLIBC_PREREQ(maj, min) \ + ((__GLIBC__ << 16) + __GLIBC_MINOR__ >= ((maj) << 16) + (min)) + +/* This is here only because every header file already includes this one. */ +#ifndef __ASSEMBLER__ +# ifndef _SYS_CDEFS_H +# include +# endif + +/* If we don't have __REDIRECT, prototypes will be missing if + __USE_FILE_OFFSET64 but not __USE_LARGEFILE[64]. */ +# if defined __USE_FILE_OFFSET64 && !defined __REDIRECT +# define __USE_LARGEFILE 1 +# define __USE_LARGEFILE64 1 +# endif + +#endif /* !ASSEMBLER */ + +/* Decide whether we can define 'extern inline' functions in headers. */ +#if __GNUC_PREREQ (2, 7) && defined __OPTIMIZE__ \ + && !defined __OPTIMIZE_SIZE__ && !defined __NO_INLINE__ \ + && defined __extern_inline +# define __USE_EXTERN_INLINES 1 +#endif + + +/* This is here only because every header file already includes this one. + Get the definitions of all the appropriate `__stub_FUNCTION' symbols. + contains `#define __stub_FUNCTION' when FUNCTION is a stub + that will always return failure (and set errno to ENOSYS). */ +#include + + +#endif /* features.h */ diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@features.h.blob b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@features.h.blob new file mode 100644 index 0000000000000000000000000000000000000000..8424cb4f313014eb28ad7b9a58683d98425980a2 GIT binary patch literal 4958 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 literal 0 HcmV?d00001 diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@gnu@stubs.h b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@gnu@stubs.h new file mode 100644 index 0000000..70a1ba0 --- /dev/null +++ b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@gnu@stubs.h @@ -0,0 +1,14 @@ +/* This file is automatically generated. + This file selects the right generated file of `__stub_FUNCTION' macros + based on the architecture being compiled for. */ + + +#if !defined __x86_64__ +# include +#endif +#if defined __x86_64__ && defined __LP64__ +# include +#endif +#if defined __x86_64__ && defined __ILP32__ +# include +#endif diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@gnu@stubs.h.blob b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@gnu@stubs.h.blob new file mode 100644 index 0000000000000000000000000000000000000000..08a601c8c3d1242ef64f3df313077943cad14316 GIT binary patch literal 2063 zcmbtV!HN?>5S>*7LGj=ps5hb0iG-jBj|zf+;9=VdXgpC^mJGZ*sVv9q`UV$&L0*YOoVt+~tbt`aeO)xv{5G*F;DQ+#B1!z6GmdMmuMz z)LeA}XeGU)zHhk^v5PS<<4a}Dfy?% zc7;85=_~_EFwNm3I==TfaFq=>c>!4QGg(pf9^5%=u_B7tZLp)4E5lC*t$&h0&I_qM z3ExOI-EHgL+jsBZV8>rcsG-US?l#wP3$|>HTg->b9H8^IYMQQ6F{1|&2Q4Ivfy#x`$=ZP*`s9O`tPGAW<}_X# z`f@UzOs^L{ggOKQMP7dY@NsXyFf9&LxGDIYjtlODDV1!nBpuBR1a>%*nc+qt`hjyd zcUOws9B@vH`8dsUCjC;eI+KkKSD#1$+DqRf)b+@+1~Xe@@wZP8Kkpmt1t)D-oXr4| z3yHk&40mZ_Oog+>5I!A?WAO?jD8X7KU7T`ygyA1Xj2_t-fuygs?x^!!<;Y. */ + +#ifndef _STDC_PREDEF_H +#define _STDC_PREDEF_H 1 + +/* This header is separate from features.h so that the compiler can + include it implicitly at the start of every compilation. It must + not itself include or any other header that includes + because the implicit include comes before any feature + test macros that may be defined in a source file before it first + explicitly includes a system header. GCC knows the name of this + header in order to preinclude it. */ + +/* glibc's intent is to support the IEC 559 math functionality, real + and complex. If the GCC (4.9 and later) predefined macros + specifying compiler intent are available, use them to determine + whether the overall intent is to support these features; otherwise, + presume an older compiler has intent to support these features and + define these macros by default. */ + +#ifdef __GCC_IEC_559 +# if __GCC_IEC_559 > 0 +# define __STDC_IEC_559__ 1 +# endif +#else +# define __STDC_IEC_559__ 1 +#endif + +#ifdef __GCC_IEC_559_COMPLEX +# if __GCC_IEC_559_COMPLEX > 0 +# define __STDC_IEC_559_COMPLEX__ 1 +# endif +#else +# define __STDC_IEC_559_COMPLEX__ 1 +#endif + +/* wchar_t uses Unicode 10.0.0. Version 10.0 of the Unicode Standard is + synchronized with ISO/IEC 10646:2017, fifth edition, plus + the following additions from Amendment 1 to the fifth edition: + - 56 emoji characters + - 285 hentaigana + - 3 additional Zanabazar Square characters */ +#define __STDC_ISO_10646__ 201706L + +#endif diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@stdc-predef.h.blob b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@stdc-predef.h.blob new file mode 100644 index 0000000000000000000000000000000000000000..1d208ff1c995b7315615d598dcbc634e763e600d GIT binary patch literal 2352 zcmbtWzi$&U6n0XUNDNg30}?`oGE~6DmnuD)fu(6GDiyVA89)ri@i~dx`w`i`mMe_> z3;Yd~kr6id11cdQv4B7oVnB$UrN#Coq0L>cAclDH^Y`BOz3;utHE_6p<;!bO0I(bS z6k_hP0J?M=_BhAFH3=w|$j5|-I?wLq!&m7%ri{QMq3?%*4m%hvr>#(wv_fC%zN9fE^QmCF zbUd3@EUDPRJsn|4q*O`x5-%iM3D+N)sg!suke2$HV)M0IT3%`DjNdY$l8m}`o|kdZ zh;}a&PA!Sd0~C@+M53{|MJyn3Y1`=eGpDjXkP){>i6)Y*iR^NUT}yN^r>OKCPL&fUx#E{GY3LvIK?x`j?m~S<;+G)M#Ri6bMyM3`{dNdm$`$P zYU!D-y5YTz`nvJp(V^6ImtejvA|X)>fML475E8 zJsMN0DrCECFBJ7TKz{$>;q%ANr}d=Twe{v=a|zv6IWG?J43EK$K`Bp`ZxjpawEOi< j#NG4q!T}knPg9;6;`9aS*M&+3YNk9hTP&z^K7slT@`s1R literal 0 HcmV?d00001 diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@stdio.h b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@stdio.h new file mode 100644 index 0000000..b63ee88 --- /dev/null +++ b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@stdio.h @@ -0,0 +1,875 @@ +/* Define ISO C stdio on top of C++ iostreams. + Copyright (C) 1991-2019 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +/* + * ISO C99 Standard: 7.19 Input/output + */ + +#ifndef _STDIO_H +#define _STDIO_H 1 + +#define __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION +#include + +__BEGIN_DECLS + +#define __need_size_t +#define __need_NULL +#include + +#define __need___va_list +#include + +#include +#include +#include +#include +#include +#include + +#ifdef __USE_GNU +# include +#endif + +#if defined __USE_XOPEN || defined __USE_XOPEN2K8 +# ifdef __GNUC__ +# ifndef _VA_LIST_DEFINED +typedef __gnuc_va_list va_list; +# define _VA_LIST_DEFINED +# endif +# else +# include +# endif +#endif + +#if defined __USE_UNIX98 || defined __USE_XOPEN2K +# ifndef __off_t_defined +# ifndef __USE_FILE_OFFSET64 +typedef __off_t off_t; +# else +typedef __off64_t off_t; +# endif +# define __off_t_defined +# endif +# if defined __USE_LARGEFILE64 && !defined __off64_t_defined +typedef __off64_t off64_t; +# define __off64_t_defined +# endif +#endif + +#ifdef __USE_XOPEN2K8 +# ifndef __ssize_t_defined +typedef __ssize_t ssize_t; +# define __ssize_t_defined +# endif +#endif + +/* The type of the second argument to `fgetpos' and `fsetpos'. */ +#ifndef __USE_FILE_OFFSET64 +typedef __fpos_t fpos_t; +#else +typedef __fpos64_t fpos_t; +#endif +#ifdef __USE_LARGEFILE64 +typedef __fpos64_t fpos64_t; +#endif + +/* The possibilities for the third argument to `setvbuf'. */ +#define _IOFBF 0 /* Fully buffered. */ +#define _IOLBF 1 /* Line buffered. */ +#define _IONBF 2 /* No buffering. */ + + +/* Default buffer size. */ +#define BUFSIZ 8192 + + +/* The value returned by fgetc and similar functions to indicate the + end of the file. */ +#define EOF (-1) + + +/* The possibilities for the third argument to `fseek'. + These values should not be changed. */ +#define SEEK_SET 0 /* Seek from beginning of file. */ +#define SEEK_CUR 1 /* Seek from current position. */ +#define SEEK_END 2 /* Seek from end of file. */ +#ifdef __USE_GNU +# define SEEK_DATA 3 /* Seek to next data. */ +# define SEEK_HOLE 4 /* Seek to next hole. */ +#endif + + +#if defined __USE_MISC || defined __USE_XOPEN +/* Default path prefix for `tempnam' and `tmpnam'. */ +# define P_tmpdir "/tmp" +#endif + + +/* Get the values: + L_tmpnam How long an array of chars must be to be passed to `tmpnam'. + TMP_MAX The minimum number of unique filenames generated by tmpnam + (and tempnam when it uses tmpnam's name space), + or tempnam (the two are separate). + L_ctermid How long an array to pass to `ctermid'. + L_cuserid How long an array to pass to `cuserid'. + FOPEN_MAX Minimum number of files that can be open at once. + FILENAME_MAX Maximum length of a filename. */ +#include + + +/* Standard streams. */ +extern FILE *stdin; /* Standard input stream. */ +extern FILE *stdout; /* Standard output stream. */ +extern FILE *stderr; /* Standard error output stream. */ +/* C89/C99 say they're macros. Make them happy. */ +#define stdin stdin +#define stdout stdout +#define stderr stderr + +/* Remove file FILENAME. */ +extern int remove (const char *__filename) __THROW; +/* Rename file OLD to NEW. */ +extern int rename (const char *__old, const char *__new) __THROW; + +#ifdef __USE_ATFILE +/* Rename file OLD relative to OLDFD to NEW relative to NEWFD. */ +extern int renameat (int __oldfd, const char *__old, int __newfd, + const char *__new) __THROW; +#endif + +#ifdef __USE_GNU +/* Flags for renameat2. */ +# define RENAME_NOREPLACE (1 << 0) +# define RENAME_EXCHANGE (1 << 1) +# define RENAME_WHITEOUT (1 << 2) + +/* Rename file OLD relative to OLDFD to NEW relative to NEWFD, with + additional flags. */ +extern int renameat2 (int __oldfd, const char *__old, int __newfd, + const char *__new, unsigned int __flags) __THROW; +#endif + +/* Create a temporary file and open it read/write. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +#ifndef __USE_FILE_OFFSET64 +extern FILE *tmpfile (void) __wur; +#else +# ifdef __REDIRECT +extern FILE *__REDIRECT (tmpfile, (void), tmpfile64) __wur; +# else +# define tmpfile tmpfile64 +# endif +#endif + +#ifdef __USE_LARGEFILE64 +extern FILE *tmpfile64 (void) __wur; +#endif + +/* Generate a temporary filename. */ +extern char *tmpnam (char *__s) __THROW __wur; + +#ifdef __USE_MISC +/* This is the reentrant variant of `tmpnam'. The only difference is + that it does not allow S to be NULL. */ +extern char *tmpnam_r (char *__s) __THROW __wur; +#endif + + +#if defined __USE_MISC || defined __USE_XOPEN +/* Generate a unique temporary filename using up to five characters of PFX + if it is not NULL. The directory to put this file in is searched for + as follows: First the environment variable "TMPDIR" is checked. + If it contains the name of a writable directory, that directory is used. + If not and if DIR is not NULL, that value is checked. If that fails, + P_tmpdir is tried and finally "/tmp". The storage for the filename + is allocated by `malloc'. */ +extern char *tempnam (const char *__dir, const char *__pfx) + __THROW __attribute_malloc__ __wur; +#endif + + +/* Close STREAM. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int fclose (FILE *__stream); +/* Flush STREAM, or all streams if STREAM is NULL. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int fflush (FILE *__stream); + +#ifdef __USE_MISC +/* Faster versions when locking is not required. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern int fflush_unlocked (FILE *__stream); +#endif + +#ifdef __USE_GNU +/* Close all streams. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern int fcloseall (void); +#endif + + +#ifndef __USE_FILE_OFFSET64 +/* Open a file and create a new stream for it. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern FILE *fopen (const char *__restrict __filename, + const char *__restrict __modes) __wur; +/* Open a file, replacing an existing stream with it. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern FILE *freopen (const char *__restrict __filename, + const char *__restrict __modes, + FILE *__restrict __stream) __wur; +#else +# ifdef __REDIRECT +extern FILE *__REDIRECT (fopen, (const char *__restrict __filename, + const char *__restrict __modes), fopen64) + __wur; +extern FILE *__REDIRECT (freopen, (const char *__restrict __filename, + const char *__restrict __modes, + FILE *__restrict __stream), freopen64) + __wur; +# else +# define fopen fopen64 +# define freopen freopen64 +# endif +#endif +#ifdef __USE_LARGEFILE64 +extern FILE *fopen64 (const char *__restrict __filename, + const char *__restrict __modes) __wur; +extern FILE *freopen64 (const char *__restrict __filename, + const char *__restrict __modes, + FILE *__restrict __stream) __wur; +#endif + +#ifdef __USE_POSIX +/* Create a new stream that refers to an existing system file descriptor. */ +extern FILE *fdopen (int __fd, const char *__modes) __THROW __wur; +#endif + +#ifdef __USE_GNU +/* Create a new stream that refers to the given magic cookie, + and uses the given functions for input and output. */ +extern FILE *fopencookie (void *__restrict __magic_cookie, + const char *__restrict __modes, + cookie_io_functions_t __io_funcs) __THROW __wur; +#endif + +#if defined __USE_XOPEN2K8 || __GLIBC_USE (LIB_EXT2) +/* Create a new stream that refers to a memory buffer. */ +extern FILE *fmemopen (void *__s, size_t __len, const char *__modes) + __THROW __wur; + +/* Open a stream that writes into a malloc'd buffer that is expanded as + necessary. *BUFLOC and *SIZELOC are updated with the buffer's location + and the number of characters written on fflush or fclose. */ +extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) __THROW __wur; +#endif + + +/* If BUF is NULL, make STREAM unbuffered. + Else make it use buffer BUF, of size BUFSIZ. */ +extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) __THROW; +/* Make STREAM use buffering mode MODE. + If BUF is not NULL, use N bytes of it for buffering; + else allocate an internal buffer N bytes long. */ +extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, + int __modes, size_t __n) __THROW; + +#ifdef __USE_MISC +/* If BUF is NULL, make STREAM unbuffered. + Else make it use SIZE bytes of BUF for buffering. */ +extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, + size_t __size) __THROW; + +/* Make STREAM line-buffered. */ +extern void setlinebuf (FILE *__stream) __THROW; +#endif + + +/* Write formatted output to STREAM. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int fprintf (FILE *__restrict __stream, + const char *__restrict __format, ...); +/* Write formatted output to stdout. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int printf (const char *__restrict __format, ...); +/* Write formatted output to S. */ +extern int sprintf (char *__restrict __s, + const char *__restrict __format, ...) __THROWNL; + +/* Write formatted output to S from argument list ARG. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int vfprintf (FILE *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg); +/* Write formatted output to stdout from argument list ARG. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int vprintf (const char *__restrict __format, __gnuc_va_list __arg); +/* Write formatted output to S from argument list ARG. */ +extern int vsprintf (char *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg) __THROWNL; + +#if defined __USE_ISOC99 || defined __USE_UNIX98 +/* Maximum chars of output to write in MAXLEN. */ +extern int snprintf (char *__restrict __s, size_t __maxlen, + const char *__restrict __format, ...) + __THROWNL __attribute__ ((__format__ (__printf__, 3, 4))); + +extern int vsnprintf (char *__restrict __s, size_t __maxlen, + const char *__restrict __format, __gnuc_va_list __arg) + __THROWNL __attribute__ ((__format__ (__printf__, 3, 0))); +#endif + +#if __GLIBC_USE (LIB_EXT2) +/* Write formatted output to a string dynamically allocated with `malloc'. + Store the address of the string in *PTR. */ +extern int vasprintf (char **__restrict __ptr, const char *__restrict __f, + __gnuc_va_list __arg) + __THROWNL __attribute__ ((__format__ (__printf__, 2, 0))) __wur; +extern int __asprintf (char **__restrict __ptr, + const char *__restrict __fmt, ...) + __THROWNL __attribute__ ((__format__ (__printf__, 2, 3))) __wur; +extern int asprintf (char **__restrict __ptr, + const char *__restrict __fmt, ...) + __THROWNL __attribute__ ((__format__ (__printf__, 2, 3))) __wur; +#endif + +#ifdef __USE_XOPEN2K8 +/* Write formatted output to a file descriptor. */ +extern int vdprintf (int __fd, const char *__restrict __fmt, + __gnuc_va_list __arg) + __attribute__ ((__format__ (__printf__, 2, 0))); +extern int dprintf (int __fd, const char *__restrict __fmt, ...) + __attribute__ ((__format__ (__printf__, 2, 3))); +#endif + + +/* Read formatted input from STREAM. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int fscanf (FILE *__restrict __stream, + const char *__restrict __format, ...) __wur; +/* Read formatted input from stdin. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int scanf (const char *__restrict __format, ...) __wur; +/* Read formatted input from S. */ +extern int sscanf (const char *__restrict __s, + const char *__restrict __format, ...) __THROW; + +/* For historical reasons, the C99-compliant versions of the scanf + functions are at alternative names. When __LDBL_COMPAT is in + effect, this is handled in bits/stdio-ldbl.h. */ +#if !__GLIBC_USE (DEPRECATED_SCANF) && !defined __LDBL_COMPAT +# ifdef __REDIRECT +extern int __REDIRECT (fscanf, (FILE *__restrict __stream, + const char *__restrict __format, ...), + __isoc99_fscanf) __wur; +extern int __REDIRECT (scanf, (const char *__restrict __format, ...), + __isoc99_scanf) __wur; +extern int __REDIRECT_NTH (sscanf, (const char *__restrict __s, + const char *__restrict __format, ...), + __isoc99_sscanf); +# else +extern int __isoc99_fscanf (FILE *__restrict __stream, + const char *__restrict __format, ...) __wur; +extern int __isoc99_scanf (const char *__restrict __format, ...) __wur; +extern int __isoc99_sscanf (const char *__restrict __s, + const char *__restrict __format, ...) __THROW; +# define fscanf __isoc99_fscanf +# define scanf __isoc99_scanf +# define sscanf __isoc99_sscanf +# endif +#endif + +#ifdef __USE_ISOC99 +/* Read formatted input from S into argument list ARG. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg) + __attribute__ ((__format__ (__scanf__, 2, 0))) __wur; + +/* Read formatted input from stdin into argument list ARG. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) + __attribute__ ((__format__ (__scanf__, 1, 0))) __wur; + +/* Read formatted input from S into argument list ARG. */ +extern int vsscanf (const char *__restrict __s, + const char *__restrict __format, __gnuc_va_list __arg) + __THROW __attribute__ ((__format__ (__scanf__, 2, 0))); + +/* Same redirection as above for the v*scanf family. */ +# if !__GLIBC_USE (DEPRECATED_SCANF) +# if defined __REDIRECT && !defined __LDBL_COMPAT +extern int __REDIRECT (vfscanf, + (FILE *__restrict __s, + const char *__restrict __format, __gnuc_va_list __arg), + __isoc99_vfscanf) + __attribute__ ((__format__ (__scanf__, 2, 0))) __wur; +extern int __REDIRECT (vscanf, (const char *__restrict __format, + __gnuc_va_list __arg), __isoc99_vscanf) + __attribute__ ((__format__ (__scanf__, 1, 0))) __wur; +extern int __REDIRECT_NTH (vsscanf, + (const char *__restrict __s, + const char *__restrict __format, + __gnuc_va_list __arg), __isoc99_vsscanf) + __attribute__ ((__format__ (__scanf__, 2, 0))); +# elif !defined __REDIRECT +extern int __isoc99_vfscanf (FILE *__restrict __s, + const char *__restrict __format, + __gnuc_va_list __arg) __wur; +extern int __isoc99_vscanf (const char *__restrict __format, + __gnuc_va_list __arg) __wur; +extern int __isoc99_vsscanf (const char *__restrict __s, + const char *__restrict __format, + __gnuc_va_list __arg) __THROW; +# define vfscanf __isoc99_vfscanf +# define vscanf __isoc99_vscanf +# define vsscanf __isoc99_vsscanf +# endif +# endif +#endif /* Use ISO C9x. */ + + +/* Read a character from STREAM. + + These functions are possible cancellation points and therefore not + marked with __THROW. */ +extern int fgetc (FILE *__stream); +extern int getc (FILE *__stream); + +/* Read a character from stdin. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int getchar (void); + +#ifdef __USE_POSIX199506 +/* These are defined in POSIX.1:1996. + + These functions are possible cancellation points and therefore not + marked with __THROW. */ +extern int getc_unlocked (FILE *__stream); +extern int getchar_unlocked (void); +#endif /* Use POSIX. */ + +#ifdef __USE_MISC +/* Faster version when locking is not necessary. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern int fgetc_unlocked (FILE *__stream); +#endif /* Use MISC. */ + + +/* Write a character to STREAM. + + These functions are possible cancellation points and therefore not + marked with __THROW. + + These functions is a possible cancellation point and therefore not + marked with __THROW. */ +extern int fputc (int __c, FILE *__stream); +extern int putc (int __c, FILE *__stream); + +/* Write a character to stdout. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int putchar (int __c); + +#ifdef __USE_MISC +/* Faster version when locking is not necessary. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern int fputc_unlocked (int __c, FILE *__stream); +#endif /* Use MISC. */ + +#ifdef __USE_POSIX199506 +/* These are defined in POSIX.1:1996. + + These functions are possible cancellation points and therefore not + marked with __THROW. */ +extern int putc_unlocked (int __c, FILE *__stream); +extern int putchar_unlocked (int __c); +#endif /* Use POSIX. */ + + +#if defined __USE_MISC \ + || (defined __USE_XOPEN && !defined __USE_XOPEN2K) +/* Get a word (int) from STREAM. */ +extern int getw (FILE *__stream); + +/* Write a word (int) to STREAM. */ +extern int putw (int __w, FILE *__stream); +#endif + + +/* Get a newline-terminated string of finite length from STREAM. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream) + __wur; + +#if __GLIBC_USE (DEPRECATED_GETS) +/* Get a newline-terminated string from stdin, removing the newline. + + This function is impossible to use safely. It has been officially + removed from ISO C11 and ISO C++14, and we have also removed it + from the _GNU_SOURCE feature list. It remains available when + explicitly using an old ISO C, Unix, or POSIX standard. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern char *gets (char *__s) __wur __attribute_deprecated__; +#endif + +#ifdef __USE_GNU +/* This function does the same as `fgets' but does not lock the stream. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern char *fgets_unlocked (char *__restrict __s, int __n, + FILE *__restrict __stream) __wur; +#endif + + +#if defined __USE_XOPEN2K8 || __GLIBC_USE (LIB_EXT2) +/* Read up to (and including) a DELIMITER from STREAM into *LINEPTR + (and null-terminate it). *LINEPTR is a pointer returned from malloc (or + NULL), pointing to *N characters of space. It is realloc'd as + necessary. Returns the number of characters read (not including the + null terminator), or -1 on error or EOF. + + These functions are not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation they are cancellation points and + therefore not marked with __THROW. */ +extern __ssize_t __getdelim (char **__restrict __lineptr, + size_t *__restrict __n, int __delimiter, + FILE *__restrict __stream) __wur; +extern __ssize_t getdelim (char **__restrict __lineptr, + size_t *__restrict __n, int __delimiter, + FILE *__restrict __stream) __wur; + +/* Like `getdelim', but reads up to a newline. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern __ssize_t getline (char **__restrict __lineptr, + size_t *__restrict __n, + FILE *__restrict __stream) __wur; +#endif + + +/* Write a string to STREAM. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int fputs (const char *__restrict __s, FILE *__restrict __stream); + +/* Write a string, followed by a newline, to stdout. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int puts (const char *__s); + + +/* Push a character back onto the input buffer of STREAM. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int ungetc (int __c, FILE *__stream); + + +/* Read chunks of generic data from STREAM. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern size_t fread (void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream) __wur; +/* Write chunks of generic data to STREAM. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern size_t fwrite (const void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __s); + +#ifdef __USE_GNU +/* This function does the same as `fputs' but does not lock the stream. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern int fputs_unlocked (const char *__restrict __s, + FILE *__restrict __stream); +#endif + +#ifdef __USE_MISC +/* Faster versions when locking is not necessary. + + These functions are not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation they are cancellation points and + therefore not marked with __THROW. */ +extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream) __wur; +extern size_t fwrite_unlocked (const void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream); +#endif + + +/* Seek to a certain position on STREAM. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int fseek (FILE *__stream, long int __off, int __whence); +/* Return the current position of STREAM. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern long int ftell (FILE *__stream) __wur; +/* Rewind to the beginning of STREAM. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern void rewind (FILE *__stream); + +/* The Single Unix Specification, Version 2, specifies an alternative, + more adequate interface for the two functions above which deal with + file offset. `long int' is not the right type. These definitions + are originally defined in the Large File Support API. */ + +#if defined __USE_LARGEFILE || defined __USE_XOPEN2K +# ifndef __USE_FILE_OFFSET64 +/* Seek to a certain position on STREAM. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int fseeko (FILE *__stream, __off_t __off, int __whence); +/* Return the current position of STREAM. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern __off_t ftello (FILE *__stream) __wur; +# else +# ifdef __REDIRECT +extern int __REDIRECT (fseeko, + (FILE *__stream, __off64_t __off, int __whence), + fseeko64); +extern __off64_t __REDIRECT (ftello, (FILE *__stream), ftello64); +# else +# define fseeko fseeko64 +# define ftello ftello64 +# endif +# endif +#endif + +#ifndef __USE_FILE_OFFSET64 +/* Get STREAM's position. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos); +/* Set STREAM's position. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int fsetpos (FILE *__stream, const fpos_t *__pos); +#else +# ifdef __REDIRECT +extern int __REDIRECT (fgetpos, (FILE *__restrict __stream, + fpos_t *__restrict __pos), fgetpos64); +extern int __REDIRECT (fsetpos, + (FILE *__stream, const fpos_t *__pos), fsetpos64); +# else +# define fgetpos fgetpos64 +# define fsetpos fsetpos64 +# endif +#endif + +#ifdef __USE_LARGEFILE64 +extern int fseeko64 (FILE *__stream, __off64_t __off, int __whence); +extern __off64_t ftello64 (FILE *__stream) __wur; +extern int fgetpos64 (FILE *__restrict __stream, fpos64_t *__restrict __pos); +extern int fsetpos64 (FILE *__stream, const fpos64_t *__pos); +#endif + +/* Clear the error and EOF indicators for STREAM. */ +extern void clearerr (FILE *__stream) __THROW; +/* Return the EOF indicator for STREAM. */ +extern int feof (FILE *__stream) __THROW __wur; +/* Return the error indicator for STREAM. */ +extern int ferror (FILE *__stream) __THROW __wur; + +#ifdef __USE_MISC +/* Faster versions when locking is not required. */ +extern void clearerr_unlocked (FILE *__stream) __THROW; +extern int feof_unlocked (FILE *__stream) __THROW __wur; +extern int ferror_unlocked (FILE *__stream) __THROW __wur; +#endif + + +/* Print a message describing the meaning of the value of errno. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern void perror (const char *__s); + +/* Provide the declarations for `sys_errlist' and `sys_nerr' if they + are available on this system. Even if available, these variables + should not be used directly. The `strerror' function provides + all the necessary functionality. */ +#include + + +#ifdef __USE_POSIX +/* Return the system file descriptor for STREAM. */ +extern int fileno (FILE *__stream) __THROW __wur; +#endif /* Use POSIX. */ + +#ifdef __USE_MISC +/* Faster version when locking is not required. */ +extern int fileno_unlocked (FILE *__stream) __THROW __wur; +#endif + + +#ifdef __USE_POSIX2 +/* Create a new stream connected to a pipe running the given command. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern FILE *popen (const char *__command, const char *__modes) __wur; + +/* Close a stream opened by popen and return the status of its child. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int pclose (FILE *__stream); +#endif + + +#ifdef __USE_POSIX +/* Return the name of the controlling terminal. */ +extern char *ctermid (char *__s) __THROW; +#endif /* Use POSIX. */ + + +#if (defined __USE_XOPEN && !defined __USE_XOPEN2K) || defined __USE_GNU +/* Return the name of the current user. */ +extern char *cuserid (char *__s); +#endif /* Use X/Open, but not issue 6. */ + + +#ifdef __USE_GNU +struct obstack; /* See . */ + +/* Write formatted output to an obstack. */ +extern int obstack_printf (struct obstack *__restrict __obstack, + const char *__restrict __format, ...) + __THROWNL __attribute__ ((__format__ (__printf__, 2, 3))); +extern int obstack_vprintf (struct obstack *__restrict __obstack, + const char *__restrict __format, + __gnuc_va_list __args) + __THROWNL __attribute__ ((__format__ (__printf__, 2, 0))); +#endif /* Use GNU. */ + + +#ifdef __USE_POSIX199506 +/* These are defined in POSIX.1:1996. */ + +/* Acquire ownership of STREAM. */ +extern void flockfile (FILE *__stream) __THROW; + +/* Try to acquire ownership of STREAM but do not block if it is not + possible. */ +extern int ftrylockfile (FILE *__stream) __THROW __wur; + +/* Relinquish the ownership granted for STREAM. */ +extern void funlockfile (FILE *__stream) __THROW; +#endif /* POSIX */ + +#if defined __USE_XOPEN && !defined __USE_XOPEN2K && !defined __USE_GNU +/* X/Open Issues 1-5 required getopt to be declared in this + header. It was removed in Issue 6. GNU follows Issue 6. */ +# include +#endif + +/* Slow-path routines used by the optimized inline functions in + bits/stdio.h. */ +extern int __uflow (FILE *); +extern int __overflow (FILE *, int); + +/* If we are compiling with optimizing read this file. It contains + several optimizing inline functions and macros. */ +#ifdef __USE_EXTERN_INLINES +# include +#endif +#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function +# include +#endif +#ifdef __LDBL_COMPAT +# include +#endif + +__END_DECLS + +#endif /* included. */ diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@stdio.h.blob b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@stdio.h.blob new file mode 100644 index 0000000000000000000000000000000000000000..459acbf876b217e2fe75da2d0f21c216dc9f9de3 GIT binary patch literal 23492 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 literal 0 HcmV?d00001 diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@stdlib.h b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@stdlib.h new file mode 100644 index 0000000..15debe1 --- /dev/null +++ b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@stdlib.h @@ -0,0 +1,1022 @@ +/* Copyright (C) 1991-2019 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +/* + * ISO C99 Standard: 7.20 General utilities + */ + +#ifndef _STDLIB_H + +#define __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION +#include + +/* Get size_t, wchar_t and NULL from . */ +#define __need_size_t +#define __need_wchar_t +#define __need_NULL +#include + +__BEGIN_DECLS + +#define _STDLIB_H 1 + +#if (defined __USE_XOPEN || defined __USE_XOPEN2K8) && !defined _SYS_WAIT_H +/* XPG requires a few symbols from being defined. */ +# include +# include + +/* Define the macros also would define this way. */ +# define WEXITSTATUS(status) __WEXITSTATUS (status) +# define WTERMSIG(status) __WTERMSIG (status) +# define WSTOPSIG(status) __WSTOPSIG (status) +# define WIFEXITED(status) __WIFEXITED (status) +# define WIFSIGNALED(status) __WIFSIGNALED (status) +# define WIFSTOPPED(status) __WIFSTOPPED (status) +# ifdef __WIFCONTINUED +# define WIFCONTINUED(status) __WIFCONTINUED (status) +# endif +#endif /* X/Open or XPG7 and not included. */ + +/* _FloatN API tests for enablement. */ +#include + +/* Returned by `div'. */ +typedef struct + { + int quot; /* Quotient. */ + int rem; /* Remainder. */ + } div_t; + +/* Returned by `ldiv'. */ +#ifndef __ldiv_t_defined +typedef struct + { + long int quot; /* Quotient. */ + long int rem; /* Remainder. */ + } ldiv_t; +# define __ldiv_t_defined 1 +#endif + +#if defined __USE_ISOC99 && !defined __lldiv_t_defined +/* Returned by `lldiv'. */ +__extension__ typedef struct + { + long long int quot; /* Quotient. */ + long long int rem; /* Remainder. */ + } lldiv_t; +# define __lldiv_t_defined 1 +#endif + + +/* The largest number rand will return (same as INT_MAX). */ +#define RAND_MAX 2147483647 + + +/* We define these the same for all machines. + Changes from this to the outside world should be done in `_exit'. */ +#define EXIT_FAILURE 1 /* Failing exit status. */ +#define EXIT_SUCCESS 0 /* Successful exit status. */ + + +/* Maximum length of a multibyte character in the current locale. */ +#define MB_CUR_MAX (__ctype_get_mb_cur_max ()) +extern size_t __ctype_get_mb_cur_max (void) __THROW __wur; + + +/* Convert a string to a floating-point number. */ +extern double atof (const char *__nptr) + __THROW __attribute_pure__ __nonnull ((1)) __wur; +/* Convert a string to an integer. */ +extern int atoi (const char *__nptr) + __THROW __attribute_pure__ __nonnull ((1)) __wur; +/* Convert a string to a long integer. */ +extern long int atol (const char *__nptr) + __THROW __attribute_pure__ __nonnull ((1)) __wur; + +#ifdef __USE_ISOC99 +/* Convert a string to a long long integer. */ +__extension__ extern long long int atoll (const char *__nptr) + __THROW __attribute_pure__ __nonnull ((1)) __wur; +#endif + +/* Convert a string to a floating-point number. */ +extern double strtod (const char *__restrict __nptr, + char **__restrict __endptr) + __THROW __nonnull ((1)); + +#ifdef __USE_ISOC99 +/* Likewise for `float' and `long double' sizes of floating-point numbers. */ +extern float strtof (const char *__restrict __nptr, + char **__restrict __endptr) __THROW __nonnull ((1)); + +extern long double strtold (const char *__restrict __nptr, + char **__restrict __endptr) + __THROW __nonnull ((1)); +#endif + +/* Likewise for '_FloatN' and '_FloatNx'. */ + +#if __HAVE_FLOAT16 && __GLIBC_USE (IEC_60559_TYPES_EXT) +extern _Float16 strtof16 (const char *__restrict __nptr, + char **__restrict __endptr) + __THROW __nonnull ((1)); +#endif + +#if __HAVE_FLOAT32 && __GLIBC_USE (IEC_60559_TYPES_EXT) +extern _Float32 strtof32 (const char *__restrict __nptr, + char **__restrict __endptr) + __THROW __nonnull ((1)); +#endif + +#if __HAVE_FLOAT64 && __GLIBC_USE (IEC_60559_TYPES_EXT) +extern _Float64 strtof64 (const char *__restrict __nptr, + char **__restrict __endptr) + __THROW __nonnull ((1)); +#endif + +#if __HAVE_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT) +extern _Float128 strtof128 (const char *__restrict __nptr, + char **__restrict __endptr) + __THROW __nonnull ((1)); +#endif + +#if __HAVE_FLOAT32X && __GLIBC_USE (IEC_60559_TYPES_EXT) +extern _Float32x strtof32x (const char *__restrict __nptr, + char **__restrict __endptr) + __THROW __nonnull ((1)); +#endif + +#if __HAVE_FLOAT64X && __GLIBC_USE (IEC_60559_TYPES_EXT) +extern _Float64x strtof64x (const char *__restrict __nptr, + char **__restrict __endptr) + __THROW __nonnull ((1)); +#endif + +#if __HAVE_FLOAT128X && __GLIBC_USE (IEC_60559_TYPES_EXT) +extern _Float128x strtof128x (const char *__restrict __nptr, + char **__restrict __endptr) + __THROW __nonnull ((1)); +#endif + +/* Convert a string to a long integer. */ +extern long int strtol (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __THROW __nonnull ((1)); +/* Convert a string to an unsigned long integer. */ +extern unsigned long int strtoul (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __THROW __nonnull ((1)); + +#ifdef __USE_MISC +/* Convert a string to a quadword integer. */ +__extension__ +extern long long int strtoq (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __THROW __nonnull ((1)); +/* Convert a string to an unsigned quadword integer. */ +__extension__ +extern unsigned long long int strtouq (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __THROW __nonnull ((1)); +#endif /* Use misc. */ + +#ifdef __USE_ISOC99 +/* Convert a string to a quadword integer. */ +__extension__ +extern long long int strtoll (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __THROW __nonnull ((1)); +/* Convert a string to an unsigned quadword integer. */ +__extension__ +extern unsigned long long int strtoull (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __THROW __nonnull ((1)); +#endif /* ISO C99 or use MISC. */ + +/* Convert a floating-point number to a string. */ +#if __GLIBC_USE (IEC_60559_BFP_EXT) +extern int strfromd (char *__dest, size_t __size, const char *__format, + double __f) + __THROW __nonnull ((3)); + +extern int strfromf (char *__dest, size_t __size, const char *__format, + float __f) + __THROW __nonnull ((3)); + +extern int strfroml (char *__dest, size_t __size, const char *__format, + long double __f) + __THROW __nonnull ((3)); +#endif + +#if __HAVE_FLOAT16 && __GLIBC_USE (IEC_60559_TYPES_EXT) +extern int strfromf16 (char *__dest, size_t __size, const char * __format, + _Float16 __f) + __THROW __nonnull ((3)); +#endif + +#if __HAVE_FLOAT32 && __GLIBC_USE (IEC_60559_TYPES_EXT) +extern int strfromf32 (char *__dest, size_t __size, const char * __format, + _Float32 __f) + __THROW __nonnull ((3)); +#endif + +#if __HAVE_FLOAT64 && __GLIBC_USE (IEC_60559_TYPES_EXT) +extern int strfromf64 (char *__dest, size_t __size, const char * __format, + _Float64 __f) + __THROW __nonnull ((3)); +#endif + +#if __HAVE_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT) +extern int strfromf128 (char *__dest, size_t __size, const char * __format, + _Float128 __f) + __THROW __nonnull ((3)); +#endif + +#if __HAVE_FLOAT32X && __GLIBC_USE (IEC_60559_TYPES_EXT) +extern int strfromf32x (char *__dest, size_t __size, const char * __format, + _Float32x __f) + __THROW __nonnull ((3)); +#endif + +#if __HAVE_FLOAT64X && __GLIBC_USE (IEC_60559_TYPES_EXT) +extern int strfromf64x (char *__dest, size_t __size, const char * __format, + _Float64x __f) + __THROW __nonnull ((3)); +#endif + +#if __HAVE_FLOAT128X && __GLIBC_USE (IEC_60559_TYPES_EXT) +extern int strfromf128x (char *__dest, size_t __size, const char * __format, + _Float128x __f) + __THROW __nonnull ((3)); +#endif + + +#ifdef __USE_GNU +/* Parallel versions of the functions above which take the locale to + use as an additional parameter. These are GNU extensions inspired + by the POSIX.1-2008 extended locale API. */ +# include + +extern long int strtol_l (const char *__restrict __nptr, + char **__restrict __endptr, int __base, + locale_t __loc) __THROW __nonnull ((1, 4)); + +extern unsigned long int strtoul_l (const char *__restrict __nptr, + char **__restrict __endptr, + int __base, locale_t __loc) + __THROW __nonnull ((1, 4)); + +__extension__ +extern long long int strtoll_l (const char *__restrict __nptr, + char **__restrict __endptr, int __base, + locale_t __loc) + __THROW __nonnull ((1, 4)); + +__extension__ +extern unsigned long long int strtoull_l (const char *__restrict __nptr, + char **__restrict __endptr, + int __base, locale_t __loc) + __THROW __nonnull ((1, 4)); + +extern double strtod_l (const char *__restrict __nptr, + char **__restrict __endptr, locale_t __loc) + __THROW __nonnull ((1, 3)); + +extern float strtof_l (const char *__restrict __nptr, + char **__restrict __endptr, locale_t __loc) + __THROW __nonnull ((1, 3)); + +extern long double strtold_l (const char *__restrict __nptr, + char **__restrict __endptr, + locale_t __loc) + __THROW __nonnull ((1, 3)); + +# if __HAVE_FLOAT16 +extern _Float16 strtof16_l (const char *__restrict __nptr, + char **__restrict __endptr, + locale_t __loc) + __THROW __nonnull ((1, 3)); +# endif + +# if __HAVE_FLOAT32 +extern _Float32 strtof32_l (const char *__restrict __nptr, + char **__restrict __endptr, + locale_t __loc) + __THROW __nonnull ((1, 3)); +# endif + +# if __HAVE_FLOAT64 +extern _Float64 strtof64_l (const char *__restrict __nptr, + char **__restrict __endptr, + locale_t __loc) + __THROW __nonnull ((1, 3)); +# endif + +# if __HAVE_FLOAT128 +extern _Float128 strtof128_l (const char *__restrict __nptr, + char **__restrict __endptr, + locale_t __loc) + __THROW __nonnull ((1, 3)); +# endif + +# if __HAVE_FLOAT32X +extern _Float32x strtof32x_l (const char *__restrict __nptr, + char **__restrict __endptr, + locale_t __loc) + __THROW __nonnull ((1, 3)); +# endif + +# if __HAVE_FLOAT64X +extern _Float64x strtof64x_l (const char *__restrict __nptr, + char **__restrict __endptr, + locale_t __loc) + __THROW __nonnull ((1, 3)); +# endif + +# if __HAVE_FLOAT128X +extern _Float128x strtof128x_l (const char *__restrict __nptr, + char **__restrict __endptr, + locale_t __loc) + __THROW __nonnull ((1, 3)); +# endif +#endif /* GNU */ + + +#ifdef __USE_EXTERN_INLINES +__extern_inline int +__NTH (atoi (const char *__nptr)) +{ + return (int) strtol (__nptr, (char **) NULL, 10); +} +__extern_inline long int +__NTH (atol (const char *__nptr)) +{ + return strtol (__nptr, (char **) NULL, 10); +} + +# ifdef __USE_ISOC99 +__extension__ __extern_inline long long int +__NTH (atoll (const char *__nptr)) +{ + return strtoll (__nptr, (char **) NULL, 10); +} +# endif +#endif /* Optimizing and Inlining. */ + + +#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED +/* Convert N to base 64 using the digits "./0-9A-Za-z", least-significant + digit first. Returns a pointer to static storage overwritten by the + next call. */ +extern char *l64a (long int __n) __THROW __wur; + +/* Read a number from a string S in base 64 as above. */ +extern long int a64l (const char *__s) + __THROW __attribute_pure__ __nonnull ((1)) __wur; + +#endif /* Use misc || extended X/Open. */ + +#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED +# include /* we need int32_t... */ + +/* These are the functions that actually do things. The `random', `srandom', + `initstate' and `setstate' functions are those from BSD Unices. + The `rand' and `srand' functions are required by the ANSI standard. + We provide both interfaces to the same random number generator. */ +/* Return a random long integer between 0 and RAND_MAX inclusive. */ +extern long int random (void) __THROW; + +/* Seed the random number generator with the given number. */ +extern void srandom (unsigned int __seed) __THROW; + +/* Initialize the random number generator to use state buffer STATEBUF, + of length STATELEN, and seed it with SEED. Optimal lengths are 8, 16, + 32, 64, 128 and 256, the bigger the better; values less than 8 will + cause an error and values greater than 256 will be rounded down. */ +extern char *initstate (unsigned int __seed, char *__statebuf, + size_t __statelen) __THROW __nonnull ((2)); + +/* Switch the random number generator to state buffer STATEBUF, + which should have been previously initialized by `initstate'. */ +extern char *setstate (char *__statebuf) __THROW __nonnull ((1)); + + +# ifdef __USE_MISC +/* Reentrant versions of the `random' family of functions. + These functions all use the following data structure to contain + state, rather than global state variables. */ + +struct random_data + { + int32_t *fptr; /* Front pointer. */ + int32_t *rptr; /* Rear pointer. */ + int32_t *state; /* Array of state values. */ + int rand_type; /* Type of random number generator. */ + int rand_deg; /* Degree of random number generator. */ + int rand_sep; /* Distance between front and rear. */ + int32_t *end_ptr; /* Pointer behind state table. */ + }; + +extern int random_r (struct random_data *__restrict __buf, + int32_t *__restrict __result) __THROW __nonnull ((1, 2)); + +extern int srandom_r (unsigned int __seed, struct random_data *__buf) + __THROW __nonnull ((2)); + +extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, + size_t __statelen, + struct random_data *__restrict __buf) + __THROW __nonnull ((2, 4)); + +extern int setstate_r (char *__restrict __statebuf, + struct random_data *__restrict __buf) + __THROW __nonnull ((1, 2)); +# endif /* Use misc. */ +#endif /* Use extended X/Open || misc. */ + + +/* Return a random integer between 0 and RAND_MAX inclusive. */ +extern int rand (void) __THROW; +/* Seed the random number generator with the given number. */ +extern void srand (unsigned int __seed) __THROW; + +#ifdef __USE_POSIX199506 +/* Reentrant interface according to POSIX.1. */ +extern int rand_r (unsigned int *__seed) __THROW; +#endif + + +#if defined __USE_MISC || defined __USE_XOPEN +/* System V style 48-bit random number generator functions. */ + +/* Return non-negative, double-precision floating-point value in [0.0,1.0). */ +extern double drand48 (void) __THROW; +extern double erand48 (unsigned short int __xsubi[3]) __THROW __nonnull ((1)); + +/* Return non-negative, long integer in [0,2^31). */ +extern long int lrand48 (void) __THROW; +extern long int nrand48 (unsigned short int __xsubi[3]) + __THROW __nonnull ((1)); + +/* Return signed, long integers in [-2^31,2^31). */ +extern long int mrand48 (void) __THROW; +extern long int jrand48 (unsigned short int __xsubi[3]) + __THROW __nonnull ((1)); + +/* Seed random number generator. */ +extern void srand48 (long int __seedval) __THROW; +extern unsigned short int *seed48 (unsigned short int __seed16v[3]) + __THROW __nonnull ((1)); +extern void lcong48 (unsigned short int __param[7]) __THROW __nonnull ((1)); + +# ifdef __USE_MISC +/* Data structure for communication with thread safe versions. This + type is to be regarded as opaque. It's only exported because users + have to allocate objects of this type. */ +struct drand48_data + { + unsigned short int __x[3]; /* Current state. */ + unsigned short int __old_x[3]; /* Old state. */ + unsigned short int __c; /* Additive const. in congruential formula. */ + unsigned short int __init; /* Flag for initializing. */ + __extension__ unsigned long long int __a; /* Factor in congruential + formula. */ + }; + +/* Return non-negative, double-precision floating-point value in [0.0,1.0). */ +extern int drand48_r (struct drand48_data *__restrict __buffer, + double *__restrict __result) __THROW __nonnull ((1, 2)); +extern int erand48_r (unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + double *__restrict __result) __THROW __nonnull ((1, 2)); + +/* Return non-negative, long integer in [0,2^31). */ +extern int lrand48_r (struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __THROW __nonnull ((1, 2)); +extern int nrand48_r (unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __THROW __nonnull ((1, 2)); + +/* Return signed, long integers in [-2^31,2^31). */ +extern int mrand48_r (struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __THROW __nonnull ((1, 2)); +extern int jrand48_r (unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __THROW __nonnull ((1, 2)); + +/* Seed random number generator. */ +extern int srand48_r (long int __seedval, struct drand48_data *__buffer) + __THROW __nonnull ((2)); + +extern int seed48_r (unsigned short int __seed16v[3], + struct drand48_data *__buffer) __THROW __nonnull ((1, 2)); + +extern int lcong48_r (unsigned short int __param[7], + struct drand48_data *__buffer) + __THROW __nonnull ((1, 2)); +# endif /* Use misc. */ +#endif /* Use misc or X/Open. */ + +/* Allocate SIZE bytes of memory. */ +extern void *malloc (size_t __size) __THROW __attribute_malloc__ __wur; +/* Allocate NMEMB elements of SIZE bytes each, all initialized to 0. */ +extern void *calloc (size_t __nmemb, size_t __size) + __THROW __attribute_malloc__ __wur; + +/* Re-allocate the previously allocated block + in PTR, making the new block SIZE bytes long. */ +/* __attribute_malloc__ is not used, because if realloc returns + the same pointer that was passed to it, aliasing needs to be allowed + between objects pointed by the old and new pointers. */ +extern void *realloc (void *__ptr, size_t __size) + __THROW __attribute_warn_unused_result__; + +#ifdef __USE_MISC +/* Re-allocate the previously allocated block in PTR, making the new + block large enough for NMEMB elements of SIZE bytes each. */ +/* __attribute_malloc__ is not used, because if reallocarray returns + the same pointer that was passed to it, aliasing needs to be allowed + between objects pointed by the old and new pointers. */ +extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) + __THROW __attribute_warn_unused_result__; +#endif + +/* Free a block allocated by `malloc', `realloc' or `calloc'. */ +extern void free (void *__ptr) __THROW; + +#ifdef __USE_MISC +# include +#endif /* Use misc. */ + +#if (defined __USE_XOPEN_EXTENDED && !defined __USE_XOPEN2K) \ + || defined __USE_MISC +/* Allocate SIZE bytes on a page boundary. The storage cannot be freed. */ +extern void *valloc (size_t __size) __THROW __attribute_malloc__ __wur; +#endif + +#ifdef __USE_XOPEN2K +/* Allocate memory of SIZE bytes with an alignment of ALIGNMENT. */ +extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) + __THROW __nonnull ((1)) __wur; +#endif + +#ifdef __USE_ISOC11 +/* ISO C variant of aligned allocation. */ +extern void *aligned_alloc (size_t __alignment, size_t __size) + __THROW __attribute_malloc__ __attribute_alloc_size__ ((2)) __wur; +#endif + +/* Abort execution and generate a core-dump. */ +extern void abort (void) __THROW __attribute__ ((__noreturn__)); + + +/* Register a function to be called when `exit' is called. */ +extern int atexit (void (*__func) (void)) __THROW __nonnull ((1)); + +#if defined __USE_ISOC11 || defined __USE_ISOCXX11 +/* Register a function to be called when `quick_exit' is called. */ +# ifdef __cplusplus +extern "C++" int at_quick_exit (void (*__func) (void)) + __THROW __asm ("at_quick_exit") __nonnull ((1)); +# else +extern int at_quick_exit (void (*__func) (void)) __THROW __nonnull ((1)); +# endif +#endif + +#ifdef __USE_MISC +/* Register a function to be called with the status + given to `exit' and the given argument. */ +extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) + __THROW __nonnull ((1)); +#endif + +/* Call all functions registered with `atexit' and `on_exit', + in the reverse of the order in which they were registered, + perform stdio cleanup, and terminate program execution with STATUS. */ +extern void exit (int __status) __THROW __attribute__ ((__noreturn__)); + +#if defined __USE_ISOC11 || defined __USE_ISOCXX11 +/* Call all functions registered with `at_quick_exit' in the reverse + of the order in which they were registered and terminate program + execution with STATUS. */ +extern void quick_exit (int __status) __THROW __attribute__ ((__noreturn__)); +#endif + +#ifdef __USE_ISOC99 +/* Terminate the program with STATUS without calling any of the + functions registered with `atexit' or `on_exit'. */ +extern void _Exit (int __status) __THROW __attribute__ ((__noreturn__)); +#endif + + +/* Return the value of envariable NAME, or NULL if it doesn't exist. */ +extern char *getenv (const char *__name) __THROW __nonnull ((1)) __wur; + +#ifdef __USE_GNU +/* This function is similar to the above but returns NULL if the + programs is running with SUID or SGID enabled. */ +extern char *secure_getenv (const char *__name) + __THROW __nonnull ((1)) __wur; +#endif + +#if defined __USE_MISC || defined __USE_XOPEN +/* The SVID says this is in , but this seems a better place. */ +/* Put STRING, which is of the form "NAME=VALUE", in the environment. + If there is no `=', remove NAME from the environment. */ +extern int putenv (char *__string) __THROW __nonnull ((1)); +#endif + +#ifdef __USE_XOPEN2K +/* Set NAME to VALUE in the environment. + If REPLACE is nonzero, overwrite an existing value. */ +extern int setenv (const char *__name, const char *__value, int __replace) + __THROW __nonnull ((2)); + +/* Remove the variable NAME from the environment. */ +extern int unsetenv (const char *__name) __THROW __nonnull ((1)); +#endif + +#ifdef __USE_MISC +/* The `clearenv' was planned to be added to POSIX.1 but probably + never made it. Nevertheless the POSIX.9 standard (POSIX bindings + for Fortran 77) requires this function. */ +extern int clearenv (void) __THROW; +#endif + + +#if defined __USE_MISC \ + || (defined __USE_XOPEN_EXTENDED && !defined __USE_XOPEN2K8) +/* Generate a unique temporary file name from TEMPLATE. + The last six characters of TEMPLATE must be "XXXXXX"; + they are replaced with a string that makes the file name unique. + Always returns TEMPLATE, it's either a temporary file name or a null + string if it cannot get a unique file name. */ +extern char *mktemp (char *__template) __THROW __nonnull ((1)); +#endif + +#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 +/* Generate a unique temporary file name from TEMPLATE. + The last six characters of TEMPLATE must be "XXXXXX"; + they are replaced with a string that makes the filename unique. + Returns a file descriptor open on the file for reading and writing, + or -1 if it cannot create a uniquely-named file. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +# ifndef __USE_FILE_OFFSET64 +extern int mkstemp (char *__template) __nonnull ((1)) __wur; +# else +# ifdef __REDIRECT +extern int __REDIRECT (mkstemp, (char *__template), mkstemp64) + __nonnull ((1)) __wur; +# else +# define mkstemp mkstemp64 +# endif +# endif +# ifdef __USE_LARGEFILE64 +extern int mkstemp64 (char *__template) __nonnull ((1)) __wur; +# endif +#endif + +#ifdef __USE_MISC +/* Similar to mkstemp, but the template can have a suffix after the + XXXXXX. The length of the suffix is specified in the second + parameter. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +# ifndef __USE_FILE_OFFSET64 +extern int mkstemps (char *__template, int __suffixlen) __nonnull ((1)) __wur; +# else +# ifdef __REDIRECT +extern int __REDIRECT (mkstemps, (char *__template, int __suffixlen), + mkstemps64) __nonnull ((1)) __wur; +# else +# define mkstemps mkstemps64 +# endif +# endif +# ifdef __USE_LARGEFILE64 +extern int mkstemps64 (char *__template, int __suffixlen) + __nonnull ((1)) __wur; +# endif +#endif + +#ifdef __USE_XOPEN2K8 +/* Create a unique temporary directory from TEMPLATE. + The last six characters of TEMPLATE must be "XXXXXX"; + they are replaced with a string that makes the directory name unique. + Returns TEMPLATE, or a null pointer if it cannot get a unique name. + The directory is created mode 700. */ +extern char *mkdtemp (char *__template) __THROW __nonnull ((1)) __wur; +#endif + +#ifdef __USE_GNU +/* Generate a unique temporary file name from TEMPLATE similar to + mkstemp. But allow the caller to pass additional flags which are + used in the open call to create the file.. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +# ifndef __USE_FILE_OFFSET64 +extern int mkostemp (char *__template, int __flags) __nonnull ((1)) __wur; +# else +# ifdef __REDIRECT +extern int __REDIRECT (mkostemp, (char *__template, int __flags), mkostemp64) + __nonnull ((1)) __wur; +# else +# define mkostemp mkostemp64 +# endif +# endif +# ifdef __USE_LARGEFILE64 +extern int mkostemp64 (char *__template, int __flags) __nonnull ((1)) __wur; +# endif + +/* Similar to mkostemp, but the template can have a suffix after the + XXXXXX. The length of the suffix is specified in the second + parameter. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +# ifndef __USE_FILE_OFFSET64 +extern int mkostemps (char *__template, int __suffixlen, int __flags) + __nonnull ((1)) __wur; +# else +# ifdef __REDIRECT +extern int __REDIRECT (mkostemps, (char *__template, int __suffixlen, + int __flags), mkostemps64) + __nonnull ((1)) __wur; +# else +# define mkostemps mkostemps64 +# endif +# endif +# ifdef __USE_LARGEFILE64 +extern int mkostemps64 (char *__template, int __suffixlen, int __flags) + __nonnull ((1)) __wur; +# endif +#endif + + +/* Execute the given line as a shell command. + + This function is a cancellation point and therefore not marked with + __THROW. */ +extern int system (const char *__command) __wur; + + +#ifdef __USE_GNU +/* Return a malloc'd string containing the canonical absolute name of the + existing named file. */ +extern char *canonicalize_file_name (const char *__name) + __THROW __nonnull ((1)) __wur; +#endif + +#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED +/* Return the canonical absolute name of file NAME. If RESOLVED is + null, the result is malloc'd; otherwise, if the canonical name is + PATH_MAX chars or more, returns null with `errno' set to + ENAMETOOLONG; if the name fits in fewer than PATH_MAX chars, + returns the name in RESOLVED. */ +extern char *realpath (const char *__restrict __name, + char *__restrict __resolved) __THROW __wur; +#endif + + +/* Shorthand for type of comparison functions. */ +#ifndef __COMPAR_FN_T +# define __COMPAR_FN_T +typedef int (*__compar_fn_t) (const void *, const void *); + +# ifdef __USE_GNU +typedef __compar_fn_t comparison_fn_t; +# endif +#endif +#ifdef __USE_GNU +typedef int (*__compar_d_fn_t) (const void *, const void *, void *); +#endif + +/* Do a binary search for KEY in BASE, which consists of NMEMB elements + of SIZE bytes each, using COMPAR to perform the comparisons. */ +extern void *bsearch (const void *__key, const void *__base, + size_t __nmemb, size_t __size, __compar_fn_t __compar) + __nonnull ((1, 2, 5)) __wur; + +#ifdef __USE_EXTERN_INLINES +# include +#endif + +/* Sort NMEMB elements of BASE, of SIZE bytes each, + using COMPAR to perform the comparisons. */ +extern void qsort (void *__base, size_t __nmemb, size_t __size, + __compar_fn_t __compar) __nonnull ((1, 4)); +#ifdef __USE_GNU +extern void qsort_r (void *__base, size_t __nmemb, size_t __size, + __compar_d_fn_t __compar, void *__arg) + __nonnull ((1, 4)); +#endif + + +/* Return the absolute value of X. */ +extern int abs (int __x) __THROW __attribute__ ((__const__)) __wur; +extern long int labs (long int __x) __THROW __attribute__ ((__const__)) __wur; + +#ifdef __USE_ISOC99 +__extension__ extern long long int llabs (long long int __x) + __THROW __attribute__ ((__const__)) __wur; +#endif + + +/* Return the `div_t', `ldiv_t' or `lldiv_t' representation + of the value of NUMER over DENOM. */ +/* GCC may have built-ins for these someday. */ +extern div_t div (int __numer, int __denom) + __THROW __attribute__ ((__const__)) __wur; +extern ldiv_t ldiv (long int __numer, long int __denom) + __THROW __attribute__ ((__const__)) __wur; + +#ifdef __USE_ISOC99 +__extension__ extern lldiv_t lldiv (long long int __numer, + long long int __denom) + __THROW __attribute__ ((__const__)) __wur; +#endif + + +#if (defined __USE_XOPEN_EXTENDED && !defined __USE_XOPEN2K8) \ + || defined __USE_MISC +/* Convert floating point numbers to strings. The returned values are + valid only until another call to the same function. */ + +/* Convert VALUE to a string with NDIGIT digits and return a pointer to + this. Set *DECPT with the position of the decimal character and *SIGN + with the sign of the number. */ +extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign) __THROW __nonnull ((3, 4)) __wur; + +/* Convert VALUE to a string rounded to NDIGIT decimal digits. Set *DECPT + with the position of the decimal character and *SIGN with the sign of + the number. */ +extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign) __THROW __nonnull ((3, 4)) __wur; + +/* If possible convert VALUE to a string with NDIGIT significant digits. + Otherwise use exponential representation. The resulting string will + be written to BUF. */ +extern char *gcvt (double __value, int __ndigit, char *__buf) + __THROW __nonnull ((3)) __wur; +#endif + +#ifdef __USE_MISC +/* Long double versions of above functions. */ +extern char *qecvt (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign) + __THROW __nonnull ((3, 4)) __wur; +extern char *qfcvt (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign) + __THROW __nonnull ((3, 4)) __wur; +extern char *qgcvt (long double __value, int __ndigit, char *__buf) + __THROW __nonnull ((3)) __wur; + + +/* Reentrant version of the functions above which provide their own + buffers. */ +extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign, char *__restrict __buf, + size_t __len) __THROW __nonnull ((3, 4, 5)); +extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign, char *__restrict __buf, + size_t __len) __THROW __nonnull ((3, 4, 5)); + +extern int qecvt_r (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign, + char *__restrict __buf, size_t __len) + __THROW __nonnull ((3, 4, 5)); +extern int qfcvt_r (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign, + char *__restrict __buf, size_t __len) + __THROW __nonnull ((3, 4, 5)); +#endif /* misc */ + + +/* Return the length of the multibyte character + in S, which is no longer than N. */ +extern int mblen (const char *__s, size_t __n) __THROW; +/* Return the length of the given multibyte character, + putting its `wchar_t' representation in *PWC. */ +extern int mbtowc (wchar_t *__restrict __pwc, + const char *__restrict __s, size_t __n) __THROW; +/* Put the multibyte character represented + by WCHAR in S, returning its length. */ +extern int wctomb (char *__s, wchar_t __wchar) __THROW; + + +/* Convert a multibyte string to a wide char string. */ +extern size_t mbstowcs (wchar_t *__restrict __pwcs, + const char *__restrict __s, size_t __n) __THROW; +/* Convert a wide char string to multibyte string. */ +extern size_t wcstombs (char *__restrict __s, + const wchar_t *__restrict __pwcs, size_t __n) + __THROW; + + +#ifdef __USE_MISC +/* Determine whether the string value of RESPONSE matches the affirmation + or negative response expression as specified by the LC_MESSAGES category + in the program's current locale. Returns 1 if affirmative, 0 if + negative, and -1 if not matching. */ +extern int rpmatch (const char *__response) __THROW __nonnull ((1)) __wur; +#endif + + +#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 +/* Parse comma separated suboption from *OPTIONP and match against + strings in TOKENS. If found return index and set *VALUEP to + optional value introduced by an equal sign. If the suboption is + not part of TOKENS return in *VALUEP beginning of unknown + suboption. On exit *OPTIONP is set to the beginning of the next + token or at the terminating NUL character. */ +extern int getsubopt (char **__restrict __optionp, + char *const *__restrict __tokens, + char **__restrict __valuep) + __THROW __nonnull ((1, 2, 3)) __wur; +#endif + + +/* X/Open pseudo terminal handling. */ + +#ifdef __USE_XOPEN2KXSI +/* Return a master pseudo-terminal handle. */ +extern int posix_openpt (int __oflag) __wur; +#endif + +#ifdef __USE_XOPEN_EXTENDED +/* The next four functions all take a master pseudo-tty fd and + perform an operation on the associated slave: */ + +/* Chown the slave to the calling user. */ +extern int grantpt (int __fd) __THROW; + +/* Release an internal lock so the slave can be opened. + Call after grantpt(). */ +extern int unlockpt (int __fd) __THROW; + +/* Return the pathname of the pseudo terminal slave associated with + the master FD is open on, or NULL on errors. + The returned storage is good until the next call to this function. */ +extern char *ptsname (int __fd) __THROW __wur; +#endif + +#ifdef __USE_GNU +/* Store at most BUFLEN characters of the pathname of the slave pseudo + terminal associated with the master FD is open on in BUF. + Return 0 on success, otherwise an error number. */ +extern int ptsname_r (int __fd, char *__buf, size_t __buflen) + __THROW __nonnull ((2)); + +/* Open a master pseudo terminal and return its file descriptor. */ +extern int getpt (void); +#endif + +#ifdef __USE_MISC +/* Put the 1 minute, 5 minute and 15 minute load averages into the first + NELEM elements of LOADAVG. Return the number written (never more than + three, but may be less than NELEM), or -1 if an error occurred. */ +extern int getloadavg (double __loadavg[], int __nelem) + __THROW __nonnull ((1)); +#endif + +#if defined __USE_XOPEN_EXTENDED && !defined __USE_XOPEN2K +/* Return the index into the active-logins file (utmp) for + the controlling terminal. */ +extern int ttyslot (void) __THROW; +#endif + +#include + +/* Define some macros helping to catch buffer overflows. */ +#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function +# include +#endif +#ifdef __LDBL_COMPAT +# include +#endif + +__END_DECLS + +#endif /* stdlib.h */ diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@stdlib.h.blob b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@stdlib.h.blob new file mode 100644 index 0000000000000000000000000000000000000000..1aab685d207255e5de8d87e2db1c0d3be74b6fc9 GIT binary patch literal 27264 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 N0mM#VlZFGj{{tQzX(9js literal 0 HcmV?d00001 diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@sys@cdefs.h b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@sys@cdefs.h new file mode 100644 index 0000000..736888f --- /dev/null +++ b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@sys@cdefs.h @@ -0,0 +1,525 @@ +/* Copyright (C) 1992-2019 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_CDEFS_H +#define _SYS_CDEFS_H 1 + +/* We are almost always included from features.h. */ +#ifndef _FEATURES_H +# include +#endif + +/* The GNU libc does not support any K&R compilers or the traditional mode + of ISO C compilers anymore. Check for some of the combinations not + anymore supported. */ +#if defined __GNUC__ && !defined __STDC__ +# error "You need a ISO C conforming compiler to use the glibc headers" +#endif + +/* Some user header file might have defined this before. */ +#undef __P +#undef __PMT + +#ifdef __GNUC__ + +/* All functions, except those with callbacks or those that + synchronize memory, are leaf functions. */ +# if __GNUC_PREREQ (4, 6) && !defined _LIBC +# define __LEAF , __leaf__ +# define __LEAF_ATTR __attribute__ ((__leaf__)) +# else +# define __LEAF +# define __LEAF_ATTR +# endif + +/* GCC can always grok prototypes. For C++ programs we add throw() + to help it optimize the function calls. But this works only with + gcc 2.8.x and egcs. For gcc 3.2 and up we even mark C functions + as non-throwing using a function attribute since programs can use + the -fexceptions options for C code as well. */ +# if !defined __cplusplus && __GNUC_PREREQ (3, 3) +# define __THROW __attribute__ ((__nothrow__ __LEAF)) +# define __THROWNL __attribute__ ((__nothrow__)) +# define __NTH(fct) __attribute__ ((__nothrow__ __LEAF)) fct +# define __NTHNL(fct) __attribute__ ((__nothrow__)) fct +# else +# if defined __cplusplus && __GNUC_PREREQ (2,8) +# define __THROW throw () +# define __THROWNL throw () +# define __NTH(fct) __LEAF_ATTR fct throw () +# define __NTHNL(fct) fct throw () +# else +# define __THROW +# define __THROWNL +# define __NTH(fct) fct +# define __NTHNL(fct) fct +# endif +# endif + +#else /* Not GCC. */ + +# if (defined __cplusplus \ + || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L)) +# define __inline inline +# else +# define __inline /* No inline functions. */ +# endif + +# define __THROW +# define __THROWNL +# define __NTH(fct) fct + +#endif /* GCC. */ + +/* Compilers that are not clang may object to + #if defined __clang__ && __has_extension(...) + even though they do not need to evaluate the right-hand side of the &&. */ +#if defined __clang__ && defined __has_extension +# define __glibc_clang_has_extension(ext) __has_extension (ext) +#else +# define __glibc_clang_has_extension(ext) 0 +#endif + +/* These two macros are not used in glibc anymore. They are kept here + only because some other projects expect the macros to be defined. */ +#define __P(args) args +#define __PMT(args) args + +/* For these things, GCC behaves the ANSI way normally, + and the non-ANSI way under -traditional. */ + +#define __CONCAT(x,y) x ## y +#define __STRING(x) #x + +/* This is not a typedef so `const __ptr_t' does the right thing. */ +#define __ptr_t void * + + +/* C++ needs to know that types and declarations are C, not C++. */ +#ifdef __cplusplus +# define __BEGIN_DECLS extern "C" { +# define __END_DECLS } +#else +# define __BEGIN_DECLS +# define __END_DECLS +#endif + + +/* Fortify support. */ +#define __bos(ptr) __builtin_object_size (ptr, __USE_FORTIFY_LEVEL > 1) +#define __bos0(ptr) __builtin_object_size (ptr, 0) + +#if __GNUC_PREREQ (4,3) +# define __warndecl(name, msg) \ + extern void name (void) __attribute__((__warning__ (msg))) +# define __warnattr(msg) __attribute__((__warning__ (msg))) +# define __errordecl(name, msg) \ + extern void name (void) __attribute__((__error__ (msg))) +#else +# define __warndecl(name, msg) extern void name (void) +# define __warnattr(msg) +# define __errordecl(name, msg) extern void name (void) +#endif + +/* Support for flexible arrays. + Headers that should use flexible arrays only if they're "real" + (e.g. only if they won't affect sizeof()) should test + #if __glibc_c99_flexarr_available. */ +#if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L +# define __flexarr [] +# define __glibc_c99_flexarr_available 1 +#elif __GNUC_PREREQ (2,97) +/* GCC 2.97 supports C99 flexible array members as an extension, + even when in C89 mode or compiling C++ (any version). */ +# define __flexarr [] +# define __glibc_c99_flexarr_available 1 +#elif defined __GNUC__ +/* Pre-2.97 GCC did not support C99 flexible arrays but did have + an equivalent extension with slightly different notation. */ +# define __flexarr [0] +# define __glibc_c99_flexarr_available 1 +#else +/* Some other non-C99 compiler. Approximate with [1]. */ +# define __flexarr [1] +# define __glibc_c99_flexarr_available 0 +#endif + + +/* __asm__ ("xyz") is used throughout the headers to rename functions + at the assembly language level. This is wrapped by the __REDIRECT + macro, in order to support compilers that can do this some other + way. When compilers don't support asm-names at all, we have to do + preprocessor tricks instead (which don't have exactly the right + semantics, but it's the best we can do). + + Example: + int __REDIRECT(setpgrp, (__pid_t pid, __pid_t pgrp), setpgid); */ + +#if defined __GNUC__ && __GNUC__ >= 2 + +# define __REDIRECT(name, proto, alias) name proto __asm__ (__ASMNAME (#alias)) +# ifdef __cplusplus +# define __REDIRECT_NTH(name, proto, alias) \ + name proto __THROW __asm__ (__ASMNAME (#alias)) +# define __REDIRECT_NTHNL(name, proto, alias) \ + name proto __THROWNL __asm__ (__ASMNAME (#alias)) +# else +# define __REDIRECT_NTH(name, proto, alias) \ + name proto __asm__ (__ASMNAME (#alias)) __THROW +# define __REDIRECT_NTHNL(name, proto, alias) \ + name proto __asm__ (__ASMNAME (#alias)) __THROWNL +# endif +# define __ASMNAME(cname) __ASMNAME2 (__USER_LABEL_PREFIX__, cname) +# define __ASMNAME2(prefix, cname) __STRING (prefix) cname + +/* +#elif __SOME_OTHER_COMPILER__ + +# define __REDIRECT(name, proto, alias) name proto; \ + _Pragma("let " #name " = " #alias) +*/ +#endif + +/* GCC has various useful declarations that can be made with the + `__attribute__' syntax. All of the ways we use this do fine if + they are omitted for compilers that don't understand it. */ +#if !defined __GNUC__ || __GNUC__ < 2 +# define __attribute__(xyz) /* Ignore */ +#endif + +/* At some point during the gcc 2.96 development the `malloc' attribute + for functions was introduced. We don't want to use it unconditionally + (although this would be possible) since it generates warnings. */ +#if __GNUC_PREREQ (2,96) +# define __attribute_malloc__ __attribute__ ((__malloc__)) +#else +# define __attribute_malloc__ /* Ignore */ +#endif + +/* Tell the compiler which arguments to an allocation function + indicate the size of the allocation. */ +#if __GNUC_PREREQ (4, 3) +# define __attribute_alloc_size__(params) \ + __attribute__ ((__alloc_size__ params)) +#else +# define __attribute_alloc_size__(params) /* Ignore. */ +#endif + +/* At some point during the gcc 2.96 development the `pure' attribute + for functions was introduced. We don't want to use it unconditionally + (although this would be possible) since it generates warnings. */ +#if __GNUC_PREREQ (2,96) +# define __attribute_pure__ __attribute__ ((__pure__)) +#else +# define __attribute_pure__ /* Ignore */ +#endif + +/* This declaration tells the compiler that the value is constant. */ +#if __GNUC_PREREQ (2,5) +# define __attribute_const__ __attribute__ ((__const__)) +#else +# define __attribute_const__ /* Ignore */ +#endif + +/* At some point during the gcc 3.1 development the `used' attribute + for functions was introduced. We don't want to use it unconditionally + (although this would be possible) since it generates warnings. */ +#if __GNUC_PREREQ (3,1) +# define __attribute_used__ __attribute__ ((__used__)) +# define __attribute_noinline__ __attribute__ ((__noinline__)) +#else +# define __attribute_used__ __attribute__ ((__unused__)) +# define __attribute_noinline__ /* Ignore */ +#endif + +/* Since version 3.2, gcc allows marking deprecated functions. */ +#if __GNUC_PREREQ (3,2) +# define __attribute_deprecated__ __attribute__ ((__deprecated__)) +#else +# define __attribute_deprecated__ /* Ignore */ +#endif + +/* Since version 4.5, gcc also allows one to specify the message printed + when a deprecated function is used. clang claims to be gcc 4.2, but + may also support this feature. */ +#if __GNUC_PREREQ (4,5) || \ + __glibc_clang_has_extension (__attribute_deprecated_with_message__) +# define __attribute_deprecated_msg__(msg) \ + __attribute__ ((__deprecated__ (msg))) +#else +# define __attribute_deprecated_msg__(msg) __attribute_deprecated__ +#endif + +/* At some point during the gcc 2.8 development the `format_arg' attribute + for functions was introduced. We don't want to use it unconditionally + (although this would be possible) since it generates warnings. + If several `format_arg' attributes are given for the same function, in + gcc-3.0 and older, all but the last one are ignored. In newer gccs, + all designated arguments are considered. */ +#if __GNUC_PREREQ (2,8) +# define __attribute_format_arg__(x) __attribute__ ((__format_arg__ (x))) +#else +# define __attribute_format_arg__(x) /* Ignore */ +#endif + +/* At some point during the gcc 2.97 development the `strfmon' format + attribute for functions was introduced. We don't want to use it + unconditionally (although this would be possible) since it + generates warnings. */ +#if __GNUC_PREREQ (2,97) +# define __attribute_format_strfmon__(a,b) \ + __attribute__ ((__format__ (__strfmon__, a, b))) +#else +# define __attribute_format_strfmon__(a,b) /* Ignore */ +#endif + +/* The nonull function attribute allows to mark pointer parameters which + must not be NULL. */ +#if __GNUC_PREREQ (3,3) +# define __nonnull(params) __attribute__ ((__nonnull__ params)) +#else +# define __nonnull(params) +#endif + +/* If fortification mode, we warn about unused results of certain + function calls which can lead to problems. */ +#if __GNUC_PREREQ (3,4) +# define __attribute_warn_unused_result__ \ + __attribute__ ((__warn_unused_result__)) +# if __USE_FORTIFY_LEVEL > 0 +# define __wur __attribute_warn_unused_result__ +# endif +#else +# define __attribute_warn_unused_result__ /* empty */ +#endif +#ifndef __wur +# define __wur /* Ignore */ +#endif + +/* Forces a function to be always inlined. */ +#if __GNUC_PREREQ (3,2) +/* The Linux kernel defines __always_inline in stddef.h (283d7573), and + it conflicts with this definition. Therefore undefine it first to + allow either header to be included first. */ +# undef __always_inline +# define __always_inline __inline __attribute__ ((__always_inline__)) +#else +# undef __always_inline +# define __always_inline __inline +#endif + +/* Associate error messages with the source location of the call site rather + than with the source location inside the function. */ +#if __GNUC_PREREQ (4,3) +# define __attribute_artificial__ __attribute__ ((__artificial__)) +#else +# define __attribute_artificial__ /* Ignore */ +#endif + +/* GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99 + inline semantics, unless -fgnu89-inline is used. Using __GNUC_STDC_INLINE__ + or __GNUC_GNU_INLINE is not a good enough check for gcc because gcc versions + older than 4.3 may define these macros and still not guarantee GNU inlining + semantics. + + clang++ identifies itself as gcc-4.2, but has support for GNU inlining + semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and + __GNUC_GNU_INLINE__ macro definitions. */ +#if (!defined __cplusplus || __GNUC_PREREQ (4,3) \ + || (defined __clang__ && (defined __GNUC_STDC_INLINE__ \ + || defined __GNUC_GNU_INLINE__))) +# if defined __GNUC_STDC_INLINE__ || defined __cplusplus +# define __extern_inline extern __inline __attribute__ ((__gnu_inline__)) +# define __extern_always_inline \ + extern __always_inline __attribute__ ((__gnu_inline__)) +# else +# define __extern_inline extern __inline +# define __extern_always_inline extern __always_inline +# endif +#endif + +#ifdef __extern_always_inline +# define __fortify_function __extern_always_inline __attribute_artificial__ +#endif + +/* GCC 4.3 and above allow passing all anonymous arguments of an + __extern_always_inline function to some other vararg function. */ +#if __GNUC_PREREQ (4,3) +# define __va_arg_pack() __builtin_va_arg_pack () +# define __va_arg_pack_len() __builtin_va_arg_pack_len () +#endif + +/* It is possible to compile containing GCC extensions even if GCC is + run in pedantic mode if the uses are carefully marked using the + `__extension__' keyword. But this is not generally available before + version 2.8. */ +#if !__GNUC_PREREQ (2,8) +# define __extension__ /* Ignore */ +#endif + +/* __restrict is known in EGCS 1.2 and above. */ +#if !__GNUC_PREREQ (2,92) +# if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L +# define __restrict restrict +# else +# define __restrict /* Ignore */ +# endif +#endif + +/* ISO C99 also allows to declare arrays as non-overlapping. The syntax is + array_name[restrict] + GCC 3.1 supports this. */ +#if __GNUC_PREREQ (3,1) && !defined __GNUG__ +# define __restrict_arr __restrict +#else +# ifdef __GNUC__ +# define __restrict_arr /* Not supported in old GCC. */ +# else +# if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L +# define __restrict_arr restrict +# else +/* Some other non-C99 compiler. */ +# define __restrict_arr /* Not supported. */ +# endif +# endif +#endif + +#if __GNUC__ >= 3 +# define __glibc_unlikely(cond) __builtin_expect ((cond), 0) +# define __glibc_likely(cond) __builtin_expect ((cond), 1) +#else +# define __glibc_unlikely(cond) (cond) +# define __glibc_likely(cond) (cond) +#endif + +#ifdef __has_attribute +# define __glibc_has_attribute(attr) __has_attribute (attr) +#else +# define __glibc_has_attribute(attr) 0 +#endif + +#ifdef __has_include +/* Do not use a function-like macro, so that __has_include can inhibit + macro expansion. */ +# define __glibc_has_include __has_include +#else +# define __glibc_has_include(header) 0 +#endif + +#if (!defined _Noreturn \ + && (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) < 201112 \ + && !__GNUC_PREREQ (4,7)) +# if __GNUC_PREREQ (2,8) +# define _Noreturn __attribute__ ((__noreturn__)) +# else +# define _Noreturn +# endif +#endif + +#if __GNUC_PREREQ (8, 0) +/* Describes a char array whose address can safely be passed as the first + argument to strncpy and strncat, as the char array is not necessarily + a NUL-terminated string. */ +# define __attribute_nonstring__ __attribute__ ((__nonstring__)) +#else +# define __attribute_nonstring__ +#endif + +/* Undefine (also defined in libc-symbols.h). */ +#undef __attribute_copy__ +#if __GNUC_PREREQ (9, 0) +/* Copies attributes from the declaration or type referenced by + the argument. */ +# define __attribute_copy__(arg) __attribute__ ((__copy__ (arg))) +#else +# define __attribute_copy__(arg) +#endif + +#if (!defined _Static_assert && !defined __cplusplus \ + && (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) < 201112 \ + && (!__GNUC_PREREQ (4, 6) || defined __STRICT_ANSI__)) +# define _Static_assert(expr, diagnostic) \ + extern int (*__Static_assert_function (void)) \ + [!!sizeof (struct { int __error_if_negative: (expr) ? 2 : -1; })] +#endif + +#include +#include + +#if defined __LONG_DOUBLE_MATH_OPTIONAL && defined __NO_LONG_DOUBLE_MATH +# define __LDBL_COMPAT 1 +# ifdef __REDIRECT +# define __LDBL_REDIR1(name, proto, alias) __REDIRECT (name, proto, alias) +# define __LDBL_REDIR(name, proto) \ + __LDBL_REDIR1 (name, proto, __nldbl_##name) +# define __LDBL_REDIR1_NTH(name, proto, alias) __REDIRECT_NTH (name, proto, alias) +# define __LDBL_REDIR_NTH(name, proto) \ + __LDBL_REDIR1_NTH (name, proto, __nldbl_##name) +# define __LDBL_REDIR1_DECL(name, alias) \ + extern __typeof (name) name __asm (__ASMNAME (#alias)); +# define __LDBL_REDIR_DECL(name) \ + extern __typeof (name) name __asm (__ASMNAME ("__nldbl_" #name)); +# define __REDIRECT_LDBL(name, proto, alias) \ + __LDBL_REDIR1 (name, proto, __nldbl_##alias) +# define __REDIRECT_NTH_LDBL(name, proto, alias) \ + __LDBL_REDIR1_NTH (name, proto, __nldbl_##alias) +# endif +#endif +#if !defined __LDBL_COMPAT || !defined __REDIRECT +# define __LDBL_REDIR1(name, proto, alias) name proto +# define __LDBL_REDIR(name, proto) name proto +# define __LDBL_REDIR1_NTH(name, proto, alias) name proto __THROW +# define __LDBL_REDIR_NTH(name, proto) name proto __THROW +# define __LDBL_REDIR_DECL(name) +# ifdef __REDIRECT +# define __REDIRECT_LDBL(name, proto, alias) __REDIRECT (name, proto, alias) +# define __REDIRECT_NTH_LDBL(name, proto, alias) \ + __REDIRECT_NTH (name, proto, alias) +# endif +#endif + +/* __glibc_macro_warning (MESSAGE) issues warning MESSAGE. This is + intended for use in preprocessor macros. + + Note: MESSAGE must be a _single_ string; concatenation of string + literals is not supported. */ +#if __GNUC_PREREQ (4,8) || __glibc_clang_prereq (3,5) +# define __glibc_macro_warning1(message) _Pragma (#message) +# define __glibc_macro_warning(message) \ + __glibc_macro_warning1 (GCC warning message) +#else +# define __glibc_macro_warning(msg) +#endif + +/* Generic selection (ISO C11) is a C-only feature, available in GCC + since version 4.9. Previous versions do not provide generic + selection, even though they might set __STDC_VERSION__ to 201112L, + when in -std=c11 mode. Thus, we must check for !defined __GNUC__ + when testing __STDC_VERSION__ for generic selection support. + On the other hand, Clang also defines __GNUC__, so a clang-specific + check is required to enable the use of generic selection. */ +#if !defined __cplusplus \ + && (__GNUC_PREREQ (4, 9) \ + || __glibc_clang_has_extension (c_generic_selections) \ + || (!defined __GNUC__ && defined __STDC_VERSION__ \ + && __STDC_VERSION__ >= 201112L)) +# define __HAVE_GENERIC_SELECTION 1 +#else +# define __HAVE_GENERIC_SELECTION 0 +#endif + +#endif /* sys/cdefs.h */ diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@sys@cdefs.h.blob b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@sys@cdefs.h.blob new file mode 100644 index 0000000000000000000000000000000000000000..67b3814d711f348acca3f4e40f2122c3614048ab GIT binary patch literal 9260 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 a$z#ifcg{wu2cHGjvt(2wj1=3#S^p18Kb+. */ + +/* POSIX 1003.1g: 6.2 Select from File Descriptor Sets */ + +#ifndef _SYS_SELECT_H +#define _SYS_SELECT_H 1 + +#include + +/* Get definition of needed basic types. */ +#include + +/* Get __FD_* definitions. */ +#include + +/* Get sigset_t. */ +#include + +/* Get definition of timer specification structures. */ +#include +#include +#ifdef __USE_XOPEN2K +# include +#endif + +#ifndef __suseconds_t_defined +typedef __suseconds_t suseconds_t; +# define __suseconds_t_defined +#endif + + +/* The fd_set member is required to be an array of longs. */ +typedef long int __fd_mask; + +/* Some versions of define this macros. */ +#undef __NFDBITS +/* It's easier to assume 8-bit bytes than to get CHAR_BIT. */ +#define __NFDBITS (8 * (int) sizeof (__fd_mask)) +#define __FD_ELT(d) ((d) / __NFDBITS) +#define __FD_MASK(d) ((__fd_mask) (1UL << ((d) % __NFDBITS))) + +/* fd_set for select and pselect. */ +typedef struct + { + /* XPG4.2 requires this member name. Otherwise avoid the name + from the global namespace. */ +#ifdef __USE_XOPEN + __fd_mask fds_bits[__FD_SETSIZE / __NFDBITS]; +# define __FDS_BITS(set) ((set)->fds_bits) +#else + __fd_mask __fds_bits[__FD_SETSIZE / __NFDBITS]; +# define __FDS_BITS(set) ((set)->__fds_bits) +#endif + } fd_set; + +/* Maximum number of file descriptors in `fd_set'. */ +#define FD_SETSIZE __FD_SETSIZE + +#ifdef __USE_MISC +/* Sometimes the fd_set member is assumed to have this type. */ +typedef __fd_mask fd_mask; + +/* Number of bits per word of `fd_set' (some code assumes this is 32). */ +# define NFDBITS __NFDBITS +#endif + + +/* Access macros for `fd_set'. */ +#define FD_SET(fd, fdsetp) __FD_SET (fd, fdsetp) +#define FD_CLR(fd, fdsetp) __FD_CLR (fd, fdsetp) +#define FD_ISSET(fd, fdsetp) __FD_ISSET (fd, fdsetp) +#define FD_ZERO(fdsetp) __FD_ZERO (fdsetp) + + +__BEGIN_DECLS + +/* Check the first NFDS descriptors each in READFDS (if not NULL) for read + readiness, in WRITEFDS (if not NULL) for write readiness, and in EXCEPTFDS + (if not NULL) for exceptional conditions. If TIMEOUT is not NULL, time out + after waiting the interval specified therein. Returns the number of ready + descriptors, or -1 for errors. + + This function is a cancellation point and therefore not marked with + __THROW. */ +extern int select (int __nfds, fd_set *__restrict __readfds, + fd_set *__restrict __writefds, + fd_set *__restrict __exceptfds, + struct timeval *__restrict __timeout); + +#ifdef __USE_XOPEN2K +/* Same as above only that the TIMEOUT value is given with higher + resolution and a sigmask which is been set temporarily. This version + should be used. + + This function is a cancellation point and therefore not marked with + __THROW. */ +extern int pselect (int __nfds, fd_set *__restrict __readfds, + fd_set *__restrict __writefds, + fd_set *__restrict __exceptfds, + const struct timespec *__restrict __timeout, + const __sigset_t *__restrict __sigmask); +#endif + + +/* Define some inlines helping to catch common problems. */ +#if __USE_FORTIFY_LEVEL > 0 && defined __GNUC__ +# include +#endif + +__END_DECLS + +#endif /* sys/select.h */ diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@sys@select.h.blob b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@sys@select.h.blob new file mode 100644 index 0000000000000000000000000000000000000000..6744561f14e3fa0f7c43939485d9f1c49e373e55 GIT binary patch literal 5358 zcmcgveQaA-6~E7mN@``18`@BXQtr~UvfbEDN}6?{E16S=rgN7OJN-z3x9j(=?Wa7y z=f3yc)Ez}d2(1*fO#-p~fskMt-3EV@fw~P%MM9b;4Lax$Xh;l=it$m#1Og_3pyr(W z-gE5uqeBQR<=VRU+}}Cpch32}mngaM*6{1!C6YuE728T^hN4$gp0KNS!sa?xoOqEW zie`x?m{rn@gvw7Q$~vnSEVE*$31%v>U1Q^SBve+NNQ}cBrDAbeF%5@l2Djo0xkb^L zQTQ)GVk@S#tQm!vs#y?}X;tt1527ODP08gn2eNZiUCYJty2&ud8@~n`TCJRFncE3j zF6C^8Ib0T|*U|Kyb7FAj$R(y&Ci*#j+l}X1{fID(m|~Vnrh#VH)`pV@6rk3|!~@0?Ap>Tr97mC-^Z(O7a9L*%RIrn2nj`es{KK%QneG58a~cIR$(E}cS; zziA8QGK{fX-8}k*$d^rfa>BLj25380MRDYgzOlg-mFESYI0CITab0>qg4{A!Fp>70 zI7N#yHD(u?#nqU&+{M`ID@>_Z!~qP~Do-)(SRvTtD3#udO98IysRL znv~cRAB&HzYM!G)Ltv6G|Kj))t^I&aZ_2t>LX-BrSC>qos!b5sa5rfRR|F8fg_^a) zsj1zF#zIU^bPjWcX--~eg)YUf;B3boAnQrK<1XEYql7p_9cV|joMK~MGLg$wO~}>ky6Ro zF_-wsZS5qbaikEYW$@gmQri^k9`LlA1a#EA)h6Q%Z0h=Ppp!+5x~1QNrR~agU>`}6D)|Hn)IPoM;ZFr^intMOn^oaQTrB9Ot7QH2=_*L5a#$|e$y9wAPP=S_=K z!*pngS<74%5e8*BdthPyNSwf@j}WOmSRRq2GI5p&sXcY&mBpoFPiGoR`TwhALk)r2 zrs8-d#Nt5AGexc}i&Eq@3yOcw?EVZ@xvf}Q8D3^>${CVu(1p}p`|&KSD z3bat{Jg5?b7cXu@bAs`ag}H31y|w5?amO=9is4G?=uGO~EZhmUdT?75$_S}I0JRSP13v2f9>J3KYjF# zQ~CxGH>o}SX#BCWD?hvByZ0jZG}-+E#!wJay{U}>X^Nx-eYN4QzI5M*UcCOS09vQ+ zQxEn?Jje%oqF@-k6Ay_p`ihi1s(OAucl}56BYP} zROAPu$3Q$Si&e3m5yFNn$A-ry0@4^6n-DBxP*Tl&;lW!!f9a*2J;~nWP>+*qK9ak+NwsK1Zj(h^x3g0o*9d`LRR4+nG{Sk2{k~9J-Ck#cNbT{ zifzQL?*sPX&|w2n~-frs>|jGz=$nJIDY$Q<8JpOe7M4 z*l!QrJ{-XHwC5%N;pq5GWc4D<1$CLv=PA z57v(Z(x%X+XaLu^7yb`Ea^aCTukJYyHHPlV%q^t=V51MPy6g30-9|bPIxrHzb=pIE zBAzK-`poP-lSTW&|cJp+BY+Azqb3~-(B@e3S0HT_NxpNQa_dE2j-!TV4d{B`rP)O h{=fYA{5h9#xZgNyz. */ + +/* + * POSIX Standard: 2.6 Primitive System Data Types + */ + +#ifndef _SYS_TYPES_H +#define _SYS_TYPES_H 1 + +#include + +__BEGIN_DECLS + +#include + +#ifdef __USE_MISC +# ifndef __u_char_defined +typedef __u_char u_char; +typedef __u_short u_short; +typedef __u_int u_int; +typedef __u_long u_long; +typedef __quad_t quad_t; +typedef __u_quad_t u_quad_t; +typedef __fsid_t fsid_t; +# define __u_char_defined +# endif +typedef __loff_t loff_t; +#endif + +#ifndef __ino_t_defined +# ifndef __USE_FILE_OFFSET64 +typedef __ino_t ino_t; +# else +typedef __ino64_t ino_t; +# endif +# define __ino_t_defined +#endif +#if defined __USE_LARGEFILE64 && !defined __ino64_t_defined +typedef __ino64_t ino64_t; +# define __ino64_t_defined +#endif + +#ifndef __dev_t_defined +typedef __dev_t dev_t; +# define __dev_t_defined +#endif + +#ifndef __gid_t_defined +typedef __gid_t gid_t; +# define __gid_t_defined +#endif + +#ifndef __mode_t_defined +typedef __mode_t mode_t; +# define __mode_t_defined +#endif + +#ifndef __nlink_t_defined +typedef __nlink_t nlink_t; +# define __nlink_t_defined +#endif + +#ifndef __uid_t_defined +typedef __uid_t uid_t; +# define __uid_t_defined +#endif + +#ifndef __off_t_defined +# ifndef __USE_FILE_OFFSET64 +typedef __off_t off_t; +# else +typedef __off64_t off_t; +# endif +# define __off_t_defined +#endif +#if defined __USE_LARGEFILE64 && !defined __off64_t_defined +typedef __off64_t off64_t; +# define __off64_t_defined +#endif + +#ifndef __pid_t_defined +typedef __pid_t pid_t; +# define __pid_t_defined +#endif + +#if (defined __USE_XOPEN || defined __USE_XOPEN2K8) \ + && !defined __id_t_defined +typedef __id_t id_t; +# define __id_t_defined +#endif + +#ifndef __ssize_t_defined +typedef __ssize_t ssize_t; +# define __ssize_t_defined +#endif + +#ifdef __USE_MISC +# ifndef __daddr_t_defined +typedef __daddr_t daddr_t; +typedef __caddr_t caddr_t; +# define __daddr_t_defined +# endif +#endif + +#if (defined __USE_MISC || defined __USE_XOPEN) && !defined __key_t_defined +typedef __key_t key_t; +# define __key_t_defined +#endif + +#if defined __USE_XOPEN || defined __USE_XOPEN2K8 +# include +#endif +#include +#include +#include + +#ifdef __USE_XOPEN +# ifndef __useconds_t_defined +typedef __useconds_t useconds_t; +# define __useconds_t_defined +# endif +# ifndef __suseconds_t_defined +typedef __suseconds_t suseconds_t; +# define __suseconds_t_defined +# endif +#endif + +#define __need_size_t +#include + +#ifdef __USE_MISC +/* Old compatibility names for C types. */ +typedef unsigned long int ulong; +typedef unsigned short int ushort; +typedef unsigned int uint; +#endif + +/* These size-specific names are used by some of the inet code. */ + +#include + +/* These were defined by ISO C without the first `_'. */ +typedef __uint8_t u_int8_t; +typedef __uint16_t u_int16_t; +typedef __uint32_t u_int32_t; +typedef __uint64_t u_int64_t; + +#if __GNUC_PREREQ (2, 7) +typedef int register_t __attribute__ ((__mode__ (__word__))); +#else +typedef int register_t; +#endif + +/* Some code from BIND tests this macro to see if the types above are + defined. */ +#define __BIT_TYPES_DEFINED__ 1 + + +#ifdef __USE_MISC +/* In BSD is expected to define BYTE_ORDER. */ +# include + +/* It also defines `fd_set' and the FD_* macros for `select'. */ +# include +#endif /* Use misc. */ + + +#if (defined __USE_UNIX98 || defined __USE_XOPEN2K8) \ + && !defined __blksize_t_defined +typedef __blksize_t blksize_t; +# define __blksize_t_defined +#endif + +/* Types from the Large File Support interface. */ +#ifndef __USE_FILE_OFFSET64 +# ifndef __blkcnt_t_defined +typedef __blkcnt_t blkcnt_t; /* Type to count number of disk blocks. */ +# define __blkcnt_t_defined +# endif +# ifndef __fsblkcnt_t_defined +typedef __fsblkcnt_t fsblkcnt_t; /* Type to count file system blocks. */ +# define __fsblkcnt_t_defined +# endif +# ifndef __fsfilcnt_t_defined +typedef __fsfilcnt_t fsfilcnt_t; /* Type to count file system inodes. */ +# define __fsfilcnt_t_defined +# endif +#else +# ifndef __blkcnt_t_defined +typedef __blkcnt64_t blkcnt_t; /* Type to count number of disk blocks. */ +# define __blkcnt_t_defined +# endif +# ifndef __fsblkcnt_t_defined +typedef __fsblkcnt64_t fsblkcnt_t; /* Type to count file system blocks. */ +# define __fsblkcnt_t_defined +# endif +# ifndef __fsfilcnt_t_defined +typedef __fsfilcnt64_t fsfilcnt_t; /* Type to count file system inodes. */ +# define __fsfilcnt_t_defined +# endif +#endif + +#ifdef __USE_LARGEFILE64 +typedef __blkcnt64_t blkcnt64_t; /* Type to count number of disk blocks. */ +typedef __fsblkcnt64_t fsblkcnt64_t; /* Type to count file system blocks. */ +typedef __fsfilcnt64_t fsfilcnt64_t; /* Type to count file system inodes. */ +#endif + + +/* Now add the thread types. */ +#if defined __USE_POSIX199506 || defined __USE_UNIX98 +# include +#endif + +__END_DECLS + +#endif /* sys/types.h */ diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@sys@types.h.blob b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@include@sys@types.h.blob new file mode 100644 index 0000000000000000000000000000000000000000..0e4609f11d6fc2dcc865d59b9e66e5d08e03deba GIT binary patch literal 7751 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 I9x29u0F?kqf&c&j literal 0 HcmV?d00001 diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@lib64@clang@8.0.0@include@stdarg.h b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@lib64@clang@8.0.0@include@stdarg.h new file mode 100644 index 0000000..101426f --- /dev/null +++ b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@lib64@clang@8.0.0@include@stdarg.h @@ -0,0 +1,51 @@ +/*===---- stdarg.h - Variable argument handling ----------------------------=== + * + * Copyright (c) 2008 Eli Friedman + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + * + *===-----------------------------------------------------------------------=== + */ + +#ifndef __STDARG_H +#define __STDARG_H + +#ifndef _VA_LIST +typedef __builtin_va_list va_list; +#define _VA_LIST +#endif +#define va_start(ap, param) __builtin_va_start(ap, param) +#define va_end(ap) __builtin_va_end(ap) +#define va_arg(ap, type) __builtin_va_arg(ap, type) + +/* GCC always defines __va_copy, but does not define va_copy unless in c99 mode + * or -ansi is not specified, since it was not part of C90. + */ +#define __va_copy(d,s) __builtin_va_copy(d,s) + +#if __STDC_VERSION__ >= 199901L || __cplusplus >= 201103L || !defined(__STRICT_ANSI__) +#define va_copy(dest, src) __builtin_va_copy(dest, src) +#endif + +#ifndef __GNUC_VA_LIST +#define __GNUC_VA_LIST 1 +typedef __builtin_va_list __gnuc_va_list; +#endif + +#endif /* __STDARG_H */ diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@lib64@clang@8.0.0@include@stdarg.h.blob b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@lib64@clang@8.0.0@include@stdarg.h.blob new file mode 100644 index 0000000000000000000000000000000000000000..9dfbda72d5f398c1b34c1e0620be417906023110 GIT binary patch literal 2871 zcmbtWO^6&t6z-Wt*+2+`iG&S1%j`tlAEu{v!!X1{Fh80Y2(p+&FhXi;s%vJ7^dD8# zyG#Nhcfo@vjR<;DZ+ZygdNQELkc&4DLBvDYcoq!XzN+q-ou8gw#Xt(C>ecss@4fF; z@2a);@ax0hS_KPr1CJphJnkchZK2R5y^aVX-$5jx_Nle?*N{Vc4YZCVqmf{k2EHQP zXQEE68R`!z+BZr|DR}x9(xV&Yz-GHci z*V_BN`ebJ^O7%h}5yoCiDxw%Rp-*+_zpshUh{7JBBG5dy7x%uO3fznES_-OplWTd#qB)`q3XVdB_CbvnbBTNz#RY~%tZa{A(x$b6CLGie+Z1``) z=GX4xKl5=O0E2&gv0gF<*3%E?!;6P#gH>Ldsa!BqLaSspxW-<9^ zCln?bnM`aVX!ig#q-&JdLpRU^97HYGcyz+z%y&33hRQRiUW!jo^j%t)wcvw_T; zgihDj>T82%0Za{s&`Cb}_5H6#W>mXHG8bMReVlCslEM(q&h zC9V7T91<5^BBJ55JAII2psJV&;c{sjm)#Zkv^Z1WP1DuPQg!?YJ|a;|+DR>&C$l~v z!$YKDCPobiz>=9M4jA-l-q25d<@SBi=e8_sChk1@Wamt|CbZ$8^c9R-5qA~$@fHCG zO9eYXPWwNtMq}Qx3aEiLiUnk$4M4Ht*?SAy-yHk&gXj8}7035}uHB8E-kc7af&K{8tjqfQ2d>B;q$o%@k5L+y?y-xe)k-{a{1~t2%0|$*}$J2 zAbzWl8AT~b!!Y@DE*gHBi3|?57U0FU`h*$5=J+bHFO{^$C_l;98z5yU+aIe3&Ou||vB!YNjip-6nQxH}uRe%6ikrI5ivs9rE+*ypTUVG!* zJD2cVKyhp!ZD_Y}qIBYwqFK|sA4gvE;)h=z1tCOq;NIc>y=2EwYfr3H;NOVTAb$T8 zbX7~$`J!Ik6#J)L_1E1Oe|!u`X%mhNfhV= 1 && \ + !defined(_RSIZE_T)) || __has_feature(modules) +/* Always define rsize_t when modules are available. */ +#if !__has_feature(modules) +#define _RSIZE_T +#endif +typedef __SIZE_TYPE__ rsize_t; +#endif +#endif /* defined(__need_STDDEF_H_misc) */ + +#if defined(__need_wchar_t) +#ifndef __cplusplus +/* Always define wchar_t when modules are available. */ +#if !defined(_WCHAR_T) || __has_feature(modules) +#if !__has_feature(modules) +#define _WCHAR_T +#if defined(_MSC_EXTENSIONS) +#define _WCHAR_T_DEFINED +#endif +#endif +typedef __WCHAR_TYPE__ wchar_t; +#endif +#endif +#undef __need_wchar_t +#endif /* defined(__need_wchar_t) */ + +#if defined(__need_NULL) +#undef NULL +#ifdef __cplusplus +# if !defined(__MINGW32__) && !defined(_MSC_VER) +# define NULL __null +# else +# define NULL 0 +# endif +#else +# define NULL ((void*)0) +#endif +#ifdef __cplusplus +#if defined(_MSC_EXTENSIONS) && defined(_NATIVE_NULLPTR_SUPPORTED) +namespace std { typedef decltype(nullptr) nullptr_t; } +using ::std::nullptr_t; +#endif +#endif +#undef __need_NULL +#endif /* defined(__need_NULL) */ + +#if defined(__need_STDDEF_H_misc) +#if __STDC_VERSION__ >= 201112L || __cplusplus >= 201103L +#include "__stddef_max_align_t.h" +#endif +#define offsetof(t, d) __builtin_offsetof(t, d) +#undef __need_STDDEF_H_misc +#endif /* defined(__need_STDDEF_H_misc) */ + +/* Some C libraries expect to see a wint_t here. Others (notably MinGW) will use +__WINT_TYPE__ directly; accommodate both by requiring __need_wint_t */ +#if defined(__need_wint_t) +/* Always define wint_t when modules are available. */ +#if !defined(_WINT_T) || __has_feature(modules) +#if !__has_feature(modules) +#define _WINT_T +#endif +typedef __WINT_TYPE__ wint_t; +#endif +#undef __need_wint_t +#endif /* __need_wint_t */ + +#endif diff --git a/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@lib64@clang@8.0.0@include@stddef.h.blob b/day4/1/.ccls-cache/@@home@armin@dev@playground@aoc-2019@day4@1/@usr@lib64@clang@8.0.0@include@stddef.h.blob new file mode 100644 index 0000000000000000000000000000000000000000..0560a928721d6313085889de34c78fd725ff20c2 GIT binary patch literal 2339 zcmbtWziSjh6rPPC1d$*rHvT$|MU2@@62o~ai&0PvoKZ1aD7wte&fQMj+g)d76E0w5 z<9}dhuULtV+6dMf3sVaIKrBQo1Ut<+Z#IcZZf~P_a07eq?f2gM-uK>IKU$c3d-XoD z5cZ=w!$j11h&?uq!6^VxP4_TpMoJfIrNQ1;lLYpVyx7C3;>_+{c-k7rq!HRQs@J0s+&->Nr>apjwGxbT zYmKHN#p_J+S=PRqN<%R@Lt^kSMYOPz)=Ptk-bicxni)!y$3tc7uSqtayVK+4QxNfU zCR7>`au<0Kml{!xBUv0xJ@Wvi5(!mq+t{)pG4)v0@cAt#vqd07Zp(hTqZ=orRj2Z3-#6FwcVRW0+2we)VX8+5F zjURI(=K)=}uaJa#ltSheV1f(4m8;Oez$WeM3^=6@%Rx>F!RMzryP6Z*x89qqZE?)w z;$g)-@%}NZd1k)sym>Nz*}XV^<&-XK#X8i`0*n6@7 literal 0 HcmV?d00001 diff --git a/day4/1/.ccls-cache/@home@armin@dev@playground@aoc-2019@day4@1/neat_macro.h b/day4/1/.ccls-cache/@home@armin@dev@playground@aoc-2019@day4@1/neat_macro.h new file mode 100644 index 0000000..b1bd505 --- /dev/null +++ b/day4/1/.ccls-cache/@home@armin@dev@playground@aoc-2019@day4@1/neat_macro.h @@ -0,0 +1,74 @@ +#ifndef NEAT_MACRO_H +#define NEAT_MACRO_H + +#include +#include + +/* + * Neat macros for logging + * - bailout: always defined, prints and exits + * - log: defined, except symbol NLOG is defined + * - debug: defined iff symbols DEBUG or TRACE is defined + * - trace: defined iff symbol TRACE is defined + * + * called with (fmt, ...) where fmt is a format string and ... are the + * parameters given to the format string + */ +#define bailout(fmt, ...) \ + do { \ + fprintf(stderr, "%s:%d:%s(): " fmt, __FILE__, __LINE__, __func__, \ + __VA_ARGS__); \ + exit(EXIT_FAILURE); \ + } while (0) + +#define log(fmt, ...) \ + do { \ + fprintf(stderr, "%s:%d:%s(): " fmt, __FILE__, __LINE__, __func__, \ + __VA_ARGS__); \ + } while (0) + +#define debug(fmt, ...) \ + do { \ + if (DEBUG || TRACE) \ + fprintf(stderr, "%s:%d:%s(): " fmt, __FILE__, __LINE__, __func__, \ + __VA_ARGS__); \ + } while (0) + +#define trace(fmt, ...) \ + do { \ + if (TRACE) \ + fprintf(stderr, "%s:%d:%s(): " fmt, __FILE__, __LINE__, __func__, \ + __VA_ARGS__); \ + } while (0) + +/* + * A relaxed alternative to free. Prevents double free'ing errors + * but also hides them. + */ +#define FREE(p) \ + do { \ + free(p); \ + p = NULL; \ + } while (0) + +/* + * A relaxed alternative to free. Prevents double free'ing errors + * but also hides them. + */ +#define FREE(p) \ + do { \ + free(p); \ + p = NULL; \ + } while (0) + +/* + * A convenient null check. Bails out if NULL detected + */ +#define NONIL(v) \ + do { \ + if (v == NULL) { \ + bailout(v " is NULL"); \ + } \ + } while (0) + +#endif diff --git a/day4/1/.ccls-cache/@home@armin@dev@playground@aoc-2019@day4@1/neat_macro.h.blob b/day4/1/.ccls-cache/@home@armin@dev@playground@aoc-2019@day4@1/neat_macro.h.blob new file mode 100644 index 0000000000000000000000000000000000000000..4861b6b0a79e91495560726119869bf46e50261d GIT binary patch literal 3505 zcmcImO=u)V6z(2mcMT$qpjlQTO*WB8^h7 zdtbfxy;uE|vHN#;>np=F+&XIz7xM-UU7u{aQGlB@&f?H_G4q_Kr_YsLA2*BcIX5I& zq6YRjE7Xk#ya0za!`Wt)*N7+SCULyUNvBS*Pxz5hoh`;UXjpT6$^n(}=G?y^Xw15? z;4TflAoht{p;EX)`T?yt)qr6Mw0D0U{potzN;V@RT!b1GA+aP#o8IX*twI7~PK3g_ z+5J*S(_uo#V~qw2mD$hTW{@PeyiX0`ibnhM+Z!3IDoshm7LF89ij0mYX@dy*IvKPx zFJRtAva8>_86`kE0bqrL*6wfhu|sHaX?Z~f{Vmf9l1@YEz+We!U(VGI_+VxTRU;-! z#l$i@YEncYdF;vF1VvN0o=>Ve?{_olCqN!!8n4xn_e)q)NPnQIwmE43q8ioqrh1`q(9>7=E$lxTW;ri4mG z2XoO2lTEB98>Y=RDfoTyFS{PE>aI|h;xs2~B1 zKlM6Wp{l_c3TQ)_WOu_Lh-6eL|5R=igZmP&9xK%ER|i$6Qn5G9Elg!Kz_n~;>Dd&k zIpR>Cgp$gpg32zLf>Pr<&c=eAc}@iKY~{V(`hAOpc})fU`r1REcN7T+YF4UODOn`l z;6XS*Hg^B&*86~N@uGNeyWF385gI(uq1K3S9#Em>meNwfHrb5YZfZNaL~v~TJl4)7i6FIm(s{IXP@8dgP zd|zDr@}t$Y)umucy)a6G;5 z*s*S!mYL7#t6~fhe|hqqnTegNJ3gtzwZjox3+9M50ue{7(RRf5c3!>r+1sDIA24Nq zq8$hx^VNo&vI~X6G1T=x=?at;aX1&MdFUXRUsLwzxR@RHXU9c;V%8qDHTC2>6`?5` zq2;C3h2&0s&Z)cBFVR)|$p+IG=h6K7rRNYjnr_p&8n%WX%bCO0 (*c - '0')) return 0; + last_char = *c; + } + + return 1; +} + +int main(int argc, char **argv) { + int start = atoi(argv[1]); + int end = atoi(argv[2]); + + int count = 0; + for(int i=start; i5&-42|&#T0ltq-1h_cB9#oU~D`Xp&-9bVDj?r=(h0*<3fPb)zUL zRW&h}N@t~_vMEbx$ZNTGMR{lPl|MiBh?$ z*pTDapTi%#*?G#|tZ9~1C{)%gTd}nQJ^BwkdiMggRe0;B@$Ti$IFyEwP^*0T3i!_<^w!rD+wt(c&E`y6ig3e)MA3|Lf6YyhriCcuFv^B@@3B^=5?tms?jrwU=u3`gM>uY7|(GH7iMp0L&q57HA z($_7`cH{InUe}XQ(Tpt7nItVHQ^{28xC29AlJC5~`op#!MYmX5872>Y-Q6y9S{BNB z1&?&MW*-QQa0k!0GXl{&DtCMD>cxIKpiUXNH_g+EZkNi+dLM7pvGo&rQ8R4a-bART zWPJ;)nCp1>>Z`&V?FF`rYN7^>(-5F*Ln1F6!}adOlroGh1>w8f;!gGg2@0BNmUWA& z++9Mrhl)Litao8{%D-;Z;l`=2SqZoBnSI@Eo7RrQJUaT)y|lWf*o=VR_L~qrN8+}L zyx8PkZtb>fj^UlpT-stIUmJI{$860sLSUFs&4jfSgP$sv9a3RXhT^lKWHLF!jE@Tp z{X_pDE8NQPt*Jb5F26nc+n@b&pU?tQYM@{q_$#ewYmK1CuNnVD_;9$2mifUU)q)`qOjHTlx2%HojLH zbKd)Y`R}U>BaHLN(87PBV`qJg%RiUN9i}l}+OhxA?}uL4>&CG3#|lM#UAJ4qj1!h; zgDhd0k6{>}lbxP8|D1JZ%lYff>VDt3{9ebtR)75Rhr<0Hx|o}y=znSv(a{o`9Z?~W;c2#eauTU^*wu$=j zEf{PnkfIFJlj#t}s=fBmkALvW1AlAOT2tY!w6xYTjFD-6I>3@?CgGMrldc3W{`~pF z&ecC2FWh)y-xcS{b9>KU%fA0{uMCgm$`stX{;S-BM{mGyWjj=X-@q|^fJvi5y0i*$ z_;3m(<%z^g!z_`QLm1>f=NC8Mdhx%&wuvAFJC!!!TI$ia`KZUe$aW=`rT6M zjr|`v#uK|=x&E&&yzM;j#kKEz{`l3BqyF;9nctk9eR%-$bi6wGfK0~*R-o-f#|GBh z@svaiv}@D&xPgvs+sJ_d9M4*K0{!NAex@5x8^TM{?ieq(d4Y}+fl?QXB| z%)#xi-KYDuz1eJmW-0HYg3M^MhE$=odTI5+6U?q%I~j&7j4VLcE$|CLW)N8J%=j}Q zjx5bC&ADry%SCdt9LXKY9fQ@#*&JzVgVO7uG)o^sxe)!;1gP?uJkAnXki!QNm6s!O zOdzr>X96UX$t((Fab$5!Alc>Y0e8)F*{^2T;2G9D*YpDd!&L$?b~YX%3T+H@+3MVh z8Hkn^(jzQMbLlx6ZHF9}Q-HLRJ>sr_{b;rZ&#(ga(f_`7{h^aHUuv|PJKA8_!*#^? z{Zy(!hA?!J3FMjJGx0o&t`JDmugJyCmFIUgKeSOxQ)($81%*g)sSKq?Sh|#a4qL8B?3L%yVoRG|6MY$nyC?t?kaTL}GaRSyo{2u=pY4#Qc ziqmFfL=grCkz{H47RwPSA}uqw0EA6NQb~cN!|6D1@&>N^qQwXTbS)W(48-uI0slaZ zzC^^ZI0eVOG3g#x@p$7AeE@HAlboL=oWQxxV!0_UA`mXaEe445t+OXSy7={%o^JIz z3%xj&Cs1lwn}fNX4m-;xkq#STlP(=Dzy*PhH#blW75?jPgJq~P^aD^z0i}6i9@LoU z=7UrX_JD9;JU~|D6)<6Q^3i~IrAb7LfF=fz zS%HYl;(-7eiVwl_XnYjbiTDJpd%}CrL*A{^uJLqydKSY^2d8IUjiccx9`~-Ko+P6F eD3FMXQI`Z4jYlC^bU6wnV#_g5c_usqNdE&;1Q)^p literal 0 HcmV?d00001 diff --git a/day4/1/meson.build b/day4/1/meson.build new file mode 100644 index 0000000..008ce7f --- /dev/null +++ b/day4/1/meson.build @@ -0,0 +1,2 @@ +project('secure_container', 'c') +executable('secure_container', 'secure_container.c') \ No newline at end of file diff --git a/day4/1/neat_macro.h b/day4/1/neat_macro.h new file mode 100644 index 0000000..b1bd505 --- /dev/null +++ b/day4/1/neat_macro.h @@ -0,0 +1,74 @@ +#ifndef NEAT_MACRO_H +#define NEAT_MACRO_H + +#include +#include + +/* + * Neat macros for logging + * - bailout: always defined, prints and exits + * - log: defined, except symbol NLOG is defined + * - debug: defined iff symbols DEBUG or TRACE is defined + * - trace: defined iff symbol TRACE is defined + * + * called with (fmt, ...) where fmt is a format string and ... are the + * parameters given to the format string + */ +#define bailout(fmt, ...) \ + do { \ + fprintf(stderr, "%s:%d:%s(): " fmt, __FILE__, __LINE__, __func__, \ + __VA_ARGS__); \ + exit(EXIT_FAILURE); \ + } while (0) + +#define log(fmt, ...) \ + do { \ + fprintf(stderr, "%s:%d:%s(): " fmt, __FILE__, __LINE__, __func__, \ + __VA_ARGS__); \ + } while (0) + +#define debug(fmt, ...) \ + do { \ + if (DEBUG || TRACE) \ + fprintf(stderr, "%s:%d:%s(): " fmt, __FILE__, __LINE__, __func__, \ + __VA_ARGS__); \ + } while (0) + +#define trace(fmt, ...) \ + do { \ + if (TRACE) \ + fprintf(stderr, "%s:%d:%s(): " fmt, __FILE__, __LINE__, __func__, \ + __VA_ARGS__); \ + } while (0) + +/* + * A relaxed alternative to free. Prevents double free'ing errors + * but also hides them. + */ +#define FREE(p) \ + do { \ + free(p); \ + p = NULL; \ + } while (0) + +/* + * A relaxed alternative to free. Prevents double free'ing errors + * but also hides them. + */ +#define FREE(p) \ + do { \ + free(p); \ + p = NULL; \ + } while (0) + +/* + * A convenient null check. Bails out if NULL detected + */ +#define NONIL(v) \ + do { \ + if (v == NULL) { \ + bailout(v " is NULL"); \ + } \ + } while (0) + +#endif diff --git a/day4/1/secure_container.c b/day4/1/secure_container.c new file mode 100644 index 0000000..f18f614 --- /dev/null +++ b/day4/1/secure_container.c @@ -0,0 +1,68 @@ +#include "neat_macro.h" + +int p_six_digit(char* s) { + int counter = 0; + for(char* c=s; *c!='\0'; c++) { + counter++; + } + + return (counter == 6); +} + +int p_double(char *s) { + char last_char = '\0'; + int last_char_rep = 0; + for (char *c = s; *c!='\0'; c++) { + if(last_char == *c) { // found a rep + last_char_rep++; + } + + if(last_char != *c && last_char_rep == 1) { // found it + return 1; + } + + if(last_char != *c) { // not found, just reset rep counter + last_char_rep = 0; + } + + last_char = *c; + } + + if (last_char_rep == 1) { // found it + return 1; + } + + return 0; +} + +int p_decrease(char *s) { + char last_char = '\0'; + for (char *c = s; *c!='\0'; c++) { + if ((last_char - '0') > (*c - '0')) return 0; + last_char = *c; + } + + return 1; +} + +int main(int argc, char **argv) { + int start = atoi(argv[1]); + int end = atoi(argv[2]); + + int count = 0; + for(int i=start; i