From 5c870ed11397fe128e43552d73901029d3371ff5 Mon Sep 17 00:00:00 2001 From: fanasina Date: Tue, 15 Aug 2023 02:39:06 +0200 Subject: [PATCH] try to add assert_eq and bool tests --- Elif | 4461 +++++++++++ file_E | 11928 ++++++++++++++++++++++++++++ isgood | Bin 42112 -> 42456 bytes log2 | 211 + src/set_theoric_t/set_theoric_t.c | 37 +- src/set_theoric_t/set_theoric_t.h | 15 +- src/test_t/is_good.c | 68 +- src/test_t/test_t.c | 310 + src/test_t/test_t.c.bk | 129 + src/test_t/test_t.h | 106 + src/test_t/test_t.h.bk | 55 + src/tools_t/tools_t.c | 27 +- src/tools_t/tools_t.h | 1 + 13 files changed, 17321 insertions(+), 27 deletions(-) create mode 100644 Elif create mode 100644 file_E create mode 100644 log2 create mode 100644 src/test_t/test_t.c create mode 100644 src/test_t/test_t.c.bk create mode 100644 src/test_t/test_t.h create mode 100644 src/test_t/test_t.h.bk diff --git a/Elif b/Elif new file mode 100644 index 0000000..ad39b52 --- /dev/null +++ b/Elif @@ -0,0 +1,4461 @@ +# 0 "src/test_t/is_good.c" +# 0 "" +# 0 "" +# 1 "/usr/include/stdc-predef.h" 1 3 4 +# 0 "" 2 +# 1 "src/test_t/is_good.c" +# 1 "/usr/include/stdio.h" 1 3 4 +# 27 "/usr/include/stdio.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 1 3 4 +# 33 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 3 4 +# 1 "/usr/include/features.h" 1 3 4 +# 392 "/usr/include/features.h" 3 4 +# 1 "/usr/include/features-time64.h" 1 3 4 +# 20 "/usr/include/features-time64.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 +# 21 "/usr/include/features-time64.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/timesize.h" 1 3 4 +# 19 "/usr/include/x86_64-linux-gnu/bits/timesize.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 +# 20 "/usr/include/x86_64-linux-gnu/bits/timesize.h" 2 3 4 +# 22 "/usr/include/features-time64.h" 2 3 4 +# 393 "/usr/include/features.h" 2 3 4 +# 486 "/usr/include/features.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 1 3 4 +# 559 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 +# 560 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/long-double.h" 1 3 4 +# 561 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 2 3 4 +# 487 "/usr/include/features.h" 2 3 4 +# 510 "/usr/include/features.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/gnu/stubs.h" 1 3 4 +# 10 "/usr/include/x86_64-linux-gnu/gnu/stubs.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/gnu/stubs-64.h" 1 3 4 +# 11 "/usr/include/x86_64-linux-gnu/gnu/stubs.h" 2 3 4 +# 511 "/usr/include/features.h" 2 3 4 +# 34 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 2 3 4 +# 28 "/usr/include/stdio.h" 2 3 4 + + + + + +# 1 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 1 3 4 +# 209 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 3 4 + +# 209 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 3 4 +typedef long unsigned int size_t; +# 34 "/usr/include/stdio.h" 2 3 4 + + +# 1 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stdarg.h" 1 3 4 +# 40 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stdarg.h" 3 4 +typedef __builtin_va_list __gnuc_va_list; +# 37 "/usr/include/stdio.h" 2 3 4 + +# 1 "/usr/include/x86_64-linux-gnu/bits/types.h" 1 3 4 +# 27 "/usr/include/x86_64-linux-gnu/bits/types.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 +# 28 "/usr/include/x86_64-linux-gnu/bits/types.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/timesize.h" 1 3 4 +# 19 "/usr/include/x86_64-linux-gnu/bits/timesize.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 +# 20 "/usr/include/x86_64-linux-gnu/bits/timesize.h" 2 3 4 +# 29 "/usr/include/x86_64-linux-gnu/bits/types.h" 2 3 4 + + +typedef unsigned char __u_char; +typedef unsigned short int __u_short; +typedef unsigned int __u_int; +typedef unsigned long int __u_long; + + +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; + +typedef signed long int __int64_t; +typedef unsigned long int __uint64_t; + + + + + + +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; + + + +typedef long int __quad_t; +typedef unsigned long int __u_quad_t; + + + + + + + +typedef long int __intmax_t; +typedef unsigned long int __uintmax_t; +# 141 "/usr/include/x86_64-linux-gnu/bits/types.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/typesizes.h" 1 3 4 +# 142 "/usr/include/x86_64-linux-gnu/bits/types.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/time64.h" 1 3 4 +# 143 "/usr/include/x86_64-linux-gnu/bits/types.h" 2 3 4 + + +typedef unsigned long int __dev_t; +typedef unsigned int __uid_t; +typedef unsigned int __gid_t; +typedef unsigned long int __ino_t; +typedef unsigned long int __ino64_t; +typedef unsigned int __mode_t; +typedef unsigned long int __nlink_t; +typedef long int __off_t; +typedef long int __off64_t; +typedef int __pid_t; +typedef struct { int __val[2]; } __fsid_t; +typedef long int __clock_t; +typedef unsigned long int __rlim_t; +typedef unsigned long int __rlim64_t; +typedef unsigned int __id_t; +typedef long int __time_t; +typedef unsigned int __useconds_t; +typedef long int __suseconds_t; +typedef long int __suseconds64_t; + +typedef int __daddr_t; +typedef int __key_t; + + +typedef int __clockid_t; + + +typedef void * __timer_t; + + +typedef long int __blksize_t; + + + + +typedef long int __blkcnt_t; +typedef long int __blkcnt64_t; + + +typedef unsigned long int __fsblkcnt_t; +typedef unsigned long int __fsblkcnt64_t; + + +typedef unsigned long int __fsfilcnt_t; +typedef unsigned long int __fsfilcnt64_t; + + +typedef long int __fsword_t; + +typedef long int __ssize_t; + + +typedef long int __syscall_slong_t; + +typedef unsigned long int __syscall_ulong_t; + + + +typedef __off64_t __loff_t; +typedef char *__caddr_t; + + +typedef long int __intptr_t; + + +typedef unsigned int __socklen_t; + + + + +typedef int __sig_atomic_t; +# 39 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h" 1 3 4 + + + + +# 1 "/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h" 1 3 4 +# 13 "/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h" 3 4 +typedef struct +{ + int __count; + union + { + unsigned int __wch; + char __wchb[4]; + } __value; +} __mbstate_t; +# 6 "/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h" 2 3 4 + + + + +typedef struct _G_fpos_t +{ + __off_t __pos; + __mbstate_t __state; +} __fpos_t; +# 40 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h" 1 3 4 +# 10 "/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h" 3 4 +typedef struct _G_fpos64_t +{ + __off64_t __pos; + __mbstate_t __state; +} __fpos64_t; +# 41 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/types/__FILE.h" 1 3 4 + + + +struct _IO_FILE; +typedef struct _IO_FILE __FILE; +# 42 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/types/FILE.h" 1 3 4 + + + +struct _IO_FILE; + + +typedef struct _IO_FILE FILE; +# 43 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h" 1 3 4 +# 35 "/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h" 3 4 +struct _IO_FILE; +struct _IO_marker; +struct _IO_codecvt; +struct _IO_wide_data; + + + + +typedef void _IO_lock_t; + + + + + +struct _IO_FILE +{ + int _flags; + + + char *_IO_read_ptr; + char *_IO_read_end; + char *_IO_read_base; + char *_IO_write_base; + char *_IO_write_ptr; + char *_IO_write_end; + char *_IO_buf_base; + char *_IO_buf_end; + + + char *_IO_save_base; + char *_IO_backup_base; + char *_IO_save_end; + + struct _IO_marker *_markers; + + struct _IO_FILE *_chain; + + int _fileno; + int _flags2; + __off_t _old_offset; + + + unsigned short _cur_column; + signed char _vtable_offset; + char _shortbuf[1]; + + _IO_lock_t *_lock; + + + + + + + + __off64_t _offset; + + struct _IO_codecvt *_codecvt; + struct _IO_wide_data *_wide_data; + struct _IO_FILE *_freeres_list; + void *_freeres_buf; + size_t __pad5; + int _mode; + + char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)]; +}; +# 44 "/usr/include/stdio.h" 2 3 4 +# 52 "/usr/include/stdio.h" 3 4 +typedef __gnuc_va_list va_list; +# 63 "/usr/include/stdio.h" 3 4 +typedef __off_t off_t; +# 77 "/usr/include/stdio.h" 3 4 +typedef __ssize_t ssize_t; + + + + + + +typedef __fpos_t fpos_t; +# 133 "/usr/include/stdio.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/stdio_lim.h" 1 3 4 +# 134 "/usr/include/stdio.h" 2 3 4 +# 143 "/usr/include/stdio.h" 3 4 +extern FILE *stdin; +extern FILE *stdout; +extern FILE *stderr; + + + + + + +extern int remove (const char *__filename) __attribute__ ((__nothrow__ , __leaf__)); + +extern int rename (const char *__old, const char *__new) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int renameat (int __oldfd, const char *__old, int __newfd, + const char *__new) __attribute__ ((__nothrow__ , __leaf__)); +# 178 "/usr/include/stdio.h" 3 4 +extern int fclose (FILE *__stream); +# 188 "/usr/include/stdio.h" 3 4 +extern FILE *tmpfile (void) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; +# 205 "/usr/include/stdio.h" 3 4 +extern char *tmpnam (char[20]) __attribute__ ((__nothrow__ , __leaf__)) ; + + + + +extern char *tmpnam_r (char __s[20]) __attribute__ ((__nothrow__ , __leaf__)) ; +# 222 "/usr/include/stdio.h" 3 4 +extern char *tempnam (const char *__dir, const char *__pfx) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (__builtin_free, 1))); + + + + + + +extern int fflush (FILE *__stream); +# 239 "/usr/include/stdio.h" 3 4 +extern int fflush_unlocked (FILE *__stream); +# 258 "/usr/include/stdio.h" 3 4 +extern FILE *fopen (const char *__restrict __filename, + const char *__restrict __modes) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; + + + + +extern FILE *freopen (const char *__restrict __filename, + const char *__restrict __modes, + FILE *__restrict __stream) ; +# 293 "/usr/include/stdio.h" 3 4 +extern FILE *fdopen (int __fd, const char *__modes) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; +# 308 "/usr/include/stdio.h" 3 4 +extern FILE *fmemopen (void *__s, size_t __len, const char *__modes) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; + + + + +extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; +# 328 "/usr/include/stdio.h" 3 4 +extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, + int __modes, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); + + + + +extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, + size_t __size) __attribute__ ((__nothrow__ , __leaf__)); + + +extern void setlinebuf (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); + + + + + + + +extern int fprintf (FILE *__restrict __stream, + const char *__restrict __format, ...); + + + + +extern int printf (const char *__restrict __format, ...); + +extern int sprintf (char *__restrict __s, + const char *__restrict __format, ...) __attribute__ ((__nothrow__)); + + + + + +extern int vfprintf (FILE *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg); + + + + +extern int vprintf (const char *__restrict __format, __gnuc_va_list __arg); + +extern int vsprintf (char *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg) __attribute__ ((__nothrow__)); + + + +extern int snprintf (char *__restrict __s, size_t __maxlen, + const char *__restrict __format, ...) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 4))); + +extern int vsnprintf (char *__restrict __s, size_t __maxlen, + const char *__restrict __format, __gnuc_va_list __arg) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 0))); +# 403 "/usr/include/stdio.h" 3 4 +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))); + + + + + + + +extern int fscanf (FILE *__restrict __stream, + const char *__restrict __format, ...) ; + + + + +extern int scanf (const char *__restrict __format, ...) ; + +extern int sscanf (const char *__restrict __s, + const char *__restrict __format, ...) __attribute__ ((__nothrow__ , __leaf__)); + + + + + +# 1 "/usr/include/x86_64-linux-gnu/bits/floatn.h" 1 3 4 +# 119 "/usr/include/x86_64-linux-gnu/bits/floatn.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 1 3 4 +# 24 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/long-double.h" 1 3 4 +# 25 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 2 3 4 +# 120 "/usr/include/x86_64-linux-gnu/bits/floatn.h" 2 3 4 +# 431 "/usr/include/stdio.h" 2 3 4 + + + +extern int fscanf (FILE *__restrict __stream, const char *__restrict __format, ...) __asm__ ("" "__isoc99_fscanf") + + ; +extern int scanf (const char *__restrict __format, ...) __asm__ ("" "__isoc99_scanf") + ; +extern int sscanf (const char *__restrict __s, const char *__restrict __format, ...) __asm__ ("" "__isoc99_sscanf") __attribute__ ((__nothrow__ , __leaf__)) + + ; +# 459 "/usr/include/stdio.h" 3 4 +extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg) + __attribute__ ((__format__ (__scanf__, 2, 0))) ; + + + + + +extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) + __attribute__ ((__format__ (__scanf__, 1, 0))) ; + + +extern int vsscanf (const char *__restrict __s, + const char *__restrict __format, __gnuc_va_list __arg) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__format__ (__scanf__, 2, 0))); + + + + + +extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vfscanf") + + + + __attribute__ ((__format__ (__scanf__, 2, 0))) ; +extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vscanf") + + __attribute__ ((__format__ (__scanf__, 1, 0))) ; +extern int vsscanf (const char *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vsscanf") __attribute__ ((__nothrow__ , __leaf__)) + + + + __attribute__ ((__format__ (__scanf__, 2, 0))); +# 513 "/usr/include/stdio.h" 3 4 +extern int fgetc (FILE *__stream); +extern int getc (FILE *__stream); + + + + + +extern int getchar (void); + + + + + + +extern int getc_unlocked (FILE *__stream); +extern int getchar_unlocked (void); +# 538 "/usr/include/stdio.h" 3 4 +extern int fgetc_unlocked (FILE *__stream); +# 549 "/usr/include/stdio.h" 3 4 +extern int fputc (int __c, FILE *__stream); +extern int putc (int __c, FILE *__stream); + + + + + +extern int putchar (int __c); +# 565 "/usr/include/stdio.h" 3 4 +extern int fputc_unlocked (int __c, FILE *__stream); + + + + + + + +extern int putc_unlocked (int __c, FILE *__stream); +extern int putchar_unlocked (int __c); + + + + + + +extern int getw (FILE *__stream); + + +extern int putw (int __w, FILE *__stream); + + + + + + + +extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream) + __attribute__ ((__access__ (__write_only__, 1, 2))); +# 632 "/usr/include/stdio.h" 3 4 +extern __ssize_t __getdelim (char **__restrict __lineptr, + size_t *__restrict __n, int __delimiter, + FILE *__restrict __stream) ; +extern __ssize_t getdelim (char **__restrict __lineptr, + size_t *__restrict __n, int __delimiter, + FILE *__restrict __stream) ; + + + + + + + +extern __ssize_t getline (char **__restrict __lineptr, + size_t *__restrict __n, + FILE *__restrict __stream) ; + + + + + + + +extern int fputs (const char *__restrict __s, FILE *__restrict __stream); + + + + + +extern int puts (const char *__s); + + + + + + +extern int ungetc (int __c, FILE *__stream); + + + + + + +extern size_t fread (void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream) ; + + + + +extern size_t fwrite (const void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __s); +# 702 "/usr/include/stdio.h" 3 4 +extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream) ; +extern size_t fwrite_unlocked (const void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream); + + + + + + + +extern int fseek (FILE *__stream, long int __off, int __whence); + + + + +extern long int ftell (FILE *__stream) ; + + + + +extern void rewind (FILE *__stream); +# 736 "/usr/include/stdio.h" 3 4 +extern int fseeko (FILE *__stream, __off_t __off, int __whence); + + + + +extern __off_t ftello (FILE *__stream) ; +# 760 "/usr/include/stdio.h" 3 4 +extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos); + + + + +extern int fsetpos (FILE *__stream, const fpos_t *__pos); +# 786 "/usr/include/stdio.h" 3 4 +extern void clearerr (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); + +extern int feof (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; + +extern int ferror (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; + + + +extern void clearerr_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); +extern int feof_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; +extern int ferror_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; + + + + + + + +extern void perror (const char *__s); + + + + +extern int fileno (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; + + + + +extern int fileno_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; +# 823 "/usr/include/stdio.h" 3 4 +extern int pclose (FILE *__stream); + + + + + +extern FILE *popen (const char *__command, const char *__modes) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (pclose, 1))) ; + + + + + + +extern char *ctermid (char *__s) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1))); +# 867 "/usr/include/stdio.h" 3 4 +extern void flockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int ftrylockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; + + +extern void funlockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); +# 885 "/usr/include/stdio.h" 3 4 +extern int __uflow (FILE *); +extern int __overflow (FILE *, int); +# 902 "/usr/include/stdio.h" 3 4 + +# 2 "src/test_t/is_good.c" 2 +# 1 "/usr/include/stdlib.h" 1 3 4 +# 26 "/usr/include/stdlib.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 1 3 4 +# 27 "/usr/include/stdlib.h" 2 3 4 + + + + + +# 1 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 1 3 4 +# 321 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 3 4 +typedef int wchar_t; +# 33 "/usr/include/stdlib.h" 2 3 4 + + + + + + + +# 1 "/usr/include/x86_64-linux-gnu/bits/waitflags.h" 1 3 4 +# 41 "/usr/include/stdlib.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/waitstatus.h" 1 3 4 +# 42 "/usr/include/stdlib.h" 2 3 4 +# 59 "/usr/include/stdlib.h" 3 4 +typedef struct + { + int quot; + int rem; + } div_t; + + + +typedef struct + { + long int quot; + long int rem; + } ldiv_t; + + + + + +__extension__ typedef struct + { + long long int quot; + long long int rem; + } lldiv_t; +# 98 "/usr/include/stdlib.h" 3 4 +extern size_t __ctype_get_mb_cur_max (void) __attribute__ ((__nothrow__ , __leaf__)) ; + + + +extern double atof (const char *__nptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; + +extern int atoi (const char *__nptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; + +extern long int atol (const char *__nptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; + + + +__extension__ extern long long int atoll (const char *__nptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; + + + +extern double strtod (const char *__restrict __nptr, + char **__restrict __endptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + +extern float strtof (const char *__restrict __nptr, + char **__restrict __endptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +extern long double strtold (const char *__restrict __nptr, + char **__restrict __endptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 177 "/usr/include/stdlib.h" 3 4 +extern long int strtol (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +extern unsigned long int strtoul (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + +__extension__ +extern long long int strtoq (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +__extension__ +extern unsigned long long int strtouq (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + +__extension__ +extern long long int strtoll (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +__extension__ +extern unsigned long long int strtoull (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 386 "/usr/include/stdlib.h" 3 4 +extern char *l64a (long int __n) __attribute__ ((__nothrow__ , __leaf__)) ; + + +extern long int a64l (const char *__s) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; + + + + +# 1 "/usr/include/x86_64-linux-gnu/sys/types.h" 1 3 4 +# 27 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 + + + + + + +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; + + +typedef __loff_t loff_t; + + + + +typedef __ino_t ino_t; +# 59 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 +typedef __dev_t dev_t; + + + + +typedef __gid_t gid_t; + + + + +typedef __mode_t mode_t; + + + + +typedef __nlink_t nlink_t; + + + + +typedef __uid_t uid_t; +# 97 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 +typedef __pid_t pid_t; + + + + + +typedef __id_t id_t; +# 114 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 +typedef __daddr_t daddr_t; +typedef __caddr_t caddr_t; + + + + + +typedef __key_t key_t; + + + + +# 1 "/usr/include/x86_64-linux-gnu/bits/types/clock_t.h" 1 3 4 + + + + + + +typedef __clock_t clock_t; +# 127 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 + +# 1 "/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h" 1 3 4 + + + + + + +typedef __clockid_t clockid_t; +# 129 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/types/time_t.h" 1 3 4 +# 10 "/usr/include/x86_64-linux-gnu/bits/types/time_t.h" 3 4 +typedef __time_t time_t; +# 130 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/types/timer_t.h" 1 3 4 + + + + + + +typedef __timer_t timer_t; +# 131 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 +# 144 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 +# 1 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 1 3 4 +# 145 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 + + + +typedef unsigned long int ulong; +typedef unsigned short int ushort; +typedef unsigned int uint; + + + + +# 1 "/usr/include/x86_64-linux-gnu/bits/stdint-intn.h" 1 3 4 +# 24 "/usr/include/x86_64-linux-gnu/bits/stdint-intn.h" 3 4 +typedef __int8_t int8_t; +typedef __int16_t int16_t; +typedef __int32_t int32_t; +typedef __int64_t int64_t; +# 156 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 + + +typedef __uint8_t u_int8_t; +typedef __uint16_t u_int16_t; +typedef __uint32_t u_int32_t; +typedef __uint64_t u_int64_t; + + +typedef int register_t __attribute__ ((__mode__ (__word__))); +# 176 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 +# 1 "/usr/include/endian.h" 1 3 4 +# 24 "/usr/include/endian.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/endian.h" 1 3 4 +# 35 "/usr/include/x86_64-linux-gnu/bits/endian.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/endianness.h" 1 3 4 +# 36 "/usr/include/x86_64-linux-gnu/bits/endian.h" 2 3 4 +# 25 "/usr/include/endian.h" 2 3 4 +# 35 "/usr/include/endian.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/byteswap.h" 1 3 4 +# 33 "/usr/include/x86_64-linux-gnu/bits/byteswap.h" 3 4 +static __inline __uint16_t +__bswap_16 (__uint16_t __bsx) +{ + + return __builtin_bswap16 (__bsx); + + + +} + + + + + + +static __inline __uint32_t +__bswap_32 (__uint32_t __bsx) +{ + + return __builtin_bswap32 (__bsx); + + + +} +# 69 "/usr/include/x86_64-linux-gnu/bits/byteswap.h" 3 4 +__extension__ static __inline __uint64_t +__bswap_64 (__uint64_t __bsx) +{ + + return __builtin_bswap64 (__bsx); + + + +} +# 36 "/usr/include/endian.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/uintn-identity.h" 1 3 4 +# 32 "/usr/include/x86_64-linux-gnu/bits/uintn-identity.h" 3 4 +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; +} +# 37 "/usr/include/endian.h" 2 3 4 +# 177 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 + + +# 1 "/usr/include/x86_64-linux-gnu/sys/select.h" 1 3 4 +# 30 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/select.h" 1 3 4 +# 31 "/usr/include/x86_64-linux-gnu/sys/select.h" 2 3 4 + + +# 1 "/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h" 1 3 4 + + + +# 1 "/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h" 1 3 4 + + + + +typedef struct +{ + unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; +} __sigset_t; +# 5 "/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h" 2 3 4 + + +typedef __sigset_t sigset_t; +# 34 "/usr/include/x86_64-linux-gnu/sys/select.h" 2 3 4 + + + +# 1 "/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h" 1 3 4 + + + + + + + +struct timeval +{ + + + + + __time_t tv_sec; + __suseconds_t tv_usec; + +}; +# 38 "/usr/include/x86_64-linux-gnu/sys/select.h" 2 3 4 + +# 1 "/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h" 1 3 4 +# 11 "/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h" 3 4 +struct timespec +{ + + + + __time_t tv_sec; + + + + + __syscall_slong_t tv_nsec; +# 31 "/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h" 3 4 +}; +# 40 "/usr/include/x86_64-linux-gnu/sys/select.h" 2 3 4 + + + +typedef __suseconds_t suseconds_t; + + + + + +typedef long int __fd_mask; +# 59 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4 +typedef struct + { + + + + + + + __fd_mask __fds_bits[1024 / (8 * (int) sizeof (__fd_mask))]; + + + } fd_set; + + + + + + +typedef __fd_mask fd_mask; +# 91 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4 + +# 102 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4 +extern int select (int __nfds, fd_set *__restrict __readfds, + fd_set *__restrict __writefds, + fd_set *__restrict __exceptfds, + struct timeval *__restrict __timeout); +# 127 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4 +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); +# 153 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4 + +# 180 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 + + + + + +typedef __blksize_t blksize_t; + + + + + + +typedef __blkcnt_t blkcnt_t; + + + +typedef __fsblkcnt_t fsblkcnt_t; + + + +typedef __fsfilcnt_t fsfilcnt_t; +# 227 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 1 3 4 +# 23 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 1 3 4 +# 44 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h" 1 3 4 +# 21 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 +# 22 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h" 2 3 4 +# 45 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 2 3 4 + +# 1 "/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h" 1 3 4 +# 25 "/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h" 3 4 +typedef union +{ + __extension__ unsigned long long int __value64; + struct + { + unsigned int __low; + unsigned int __high; + } __value32; +} __atomic_wide_counter; +# 47 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 2 3 4 + + + + +typedef struct __pthread_internal_list +{ + struct __pthread_internal_list *__prev; + struct __pthread_internal_list *__next; +} __pthread_list_t; + +typedef struct __pthread_internal_slist +{ + struct __pthread_internal_slist *__next; +} __pthread_slist_t; +# 76 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/struct_mutex.h" 1 3 4 +# 22 "/usr/include/x86_64-linux-gnu/bits/struct_mutex.h" 3 4 +struct __pthread_mutex_s +{ + int __lock; + unsigned int __count; + int __owner; + + unsigned int __nusers; + + + + int __kind; + + short __spins; + short __elision; + __pthread_list_t __list; +# 53 "/usr/include/x86_64-linux-gnu/bits/struct_mutex.h" 3 4 +}; +# 77 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 2 3 4 +# 89 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h" 1 3 4 +# 23 "/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h" 3 4 +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; + + int __cur_writer; + int __shared; + signed char __rwelision; + + + + + unsigned char __pad1[7]; + + + unsigned long int __pad2; + + + unsigned int __flags; +# 55 "/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h" 3 4 +}; +# 90 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 2 3 4 + + + + +struct __pthread_cond_s +{ + __atomic_wide_counter __wseq; + __atomic_wide_counter __g1_start; + unsigned int __g_refs[2] ; + unsigned int __g_size[2]; + unsigned int __g1_orig_size; + unsigned int __wrefs; + unsigned int __g_signals[2]; +}; + +typedef unsigned int __tss_t; +typedef unsigned long int __thrd_t; + +typedef struct +{ + int __data ; +} __once_flag; +# 24 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 2 3 4 + + + +typedef unsigned long int pthread_t; + + + + +typedef union +{ + char __size[4]; + int __align; +} pthread_mutexattr_t; + + + + +typedef union +{ + char __size[4]; + int __align; +} pthread_condattr_t; + + + +typedef unsigned int pthread_key_t; + + + +typedef int pthread_once_t; + + +union pthread_attr_t +{ + char __size[56]; + long int __align; +}; + +typedef union pthread_attr_t pthread_attr_t; + + + + +typedef union +{ + struct __pthread_mutex_s __data; + char __size[40]; + long int __align; +} pthread_mutex_t; + + +typedef union +{ + struct __pthread_cond_s __data; + char __size[48]; + __extension__ long long int __align; +} pthread_cond_t; + + + + + +typedef union +{ + struct __pthread_rwlock_arch_t __data; + char __size[56]; + long int __align; +} pthread_rwlock_t; + +typedef union +{ + char __size[8]; + long int __align; +} pthread_rwlockattr_t; + + + + + +typedef volatile int pthread_spinlock_t; + + + + +typedef union +{ + char __size[32]; + long int __align; +} pthread_barrier_t; + +typedef union +{ + char __size[4]; + int __align; +} pthread_barrierattr_t; +# 228 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 + + + +# 396 "/usr/include/stdlib.h" 2 3 4 + + + + + + +extern long int random (void) __attribute__ ((__nothrow__ , __leaf__)); + + +extern void srandom (unsigned int __seed) __attribute__ ((__nothrow__ , __leaf__)); + + + + + +extern char *initstate (unsigned int __seed, char *__statebuf, + size_t __statelen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + + + +extern char *setstate (char *__statebuf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + + +struct random_data + { + int32_t *fptr; + int32_t *rptr; + int32_t *state; + int rand_type; + int rand_deg; + int rand_sep; + int32_t *end_ptr; + }; + +extern int random_r (struct random_data *__restrict __buf, + int32_t *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + +extern int srandom_r (unsigned int __seed, struct random_data *__buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + +extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, + size_t __statelen, + struct random_data *__restrict __buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 4))); + +extern int setstate_r (char *__restrict __statebuf, + struct random_data *__restrict __buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + + +extern int rand (void) __attribute__ ((__nothrow__ , __leaf__)); + +extern void srand (unsigned int __seed) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int rand_r (unsigned int *__seed) __attribute__ ((__nothrow__ , __leaf__)); + + + + + + + +extern double drand48 (void) __attribute__ ((__nothrow__ , __leaf__)); +extern double erand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern long int lrand48 (void) __attribute__ ((__nothrow__ , __leaf__)); +extern long int nrand48 (unsigned short int __xsubi[3]) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern long int mrand48 (void) __attribute__ ((__nothrow__ , __leaf__)); +extern long int jrand48 (unsigned short int __xsubi[3]) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern void srand48 (long int __seedval) __attribute__ ((__nothrow__ , __leaf__)); +extern unsigned short int *seed48 (unsigned short int __seed16v[3]) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +extern void lcong48 (unsigned short int __param[7]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + +struct drand48_data + { + unsigned short int __x[3]; + unsigned short int __old_x[3]; + unsigned short int __c; + unsigned short int __init; + __extension__ unsigned long long int __a; + + }; + + +extern int drand48_r (struct drand48_data *__restrict __buffer, + double *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern int erand48_r (unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + double *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int lrand48_r (struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern int nrand48_r (unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int mrand48_r (struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern int jrand48_r (unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int srand48_r (long int __seedval, struct drand48_data *__buffer) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + +extern int seed48_r (unsigned short int __seed16v[3], + struct drand48_data *__buffer) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + +extern int lcong48_r (unsigned short int __param[7], + struct drand48_data *__buffer) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + +extern void *malloc (size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) + __attribute__ ((__alloc_size__ (1))) ; + +extern void *calloc (size_t __nmemb, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__alloc_size__ (1, 2))) ; + + + + + + +extern void *realloc (void *__ptr, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__alloc_size__ (2))); + + +extern void free (void *__ptr) __attribute__ ((__nothrow__ , __leaf__)); + + + + + + + +extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) + __attribute__ ((__alloc_size__ (2, 3))) + __attribute__ ((__malloc__ (__builtin_free, 1))); + + +extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__ (reallocarray, 1))); + + + +# 1 "/usr/include/alloca.h" 1 3 4 +# 24 "/usr/include/alloca.h" 3 4 +# 1 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 1 3 4 +# 25 "/usr/include/alloca.h" 2 3 4 + + + + + + + +extern void *alloca (size_t __size) __attribute__ ((__nothrow__ , __leaf__)); + + + + + + +# 575 "/usr/include/stdlib.h" 2 3 4 + + + + + +extern void *valloc (size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) + __attribute__ ((__alloc_size__ (1))) ; + + + + +extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; + + + + +extern void *aligned_alloc (size_t __alignment, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__alloc_align__ (1))) + __attribute__ ((__alloc_size__ (2))) ; + + + +extern void abort (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); + + + +extern int atexit (void (*__func) (void)) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + + +extern int at_quick_exit (void (*__func) (void)) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + +extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + +extern void exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); + + + + + +extern void quick_exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); + + + + + +extern void _Exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); + + + + +extern char *getenv (const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; +# 654 "/usr/include/stdlib.h" 3 4 +extern int putenv (char *__string) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + +extern int setenv (const char *__name, const char *__value, int __replace) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + + +extern int unsetenv (const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + +extern int clearenv (void) __attribute__ ((__nothrow__ , __leaf__)); +# 682 "/usr/include/stdlib.h" 3 4 +extern char *mktemp (char *__template) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 695 "/usr/include/stdlib.h" 3 4 +extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) ; +# 717 "/usr/include/stdlib.h" 3 4 +extern int mkstemps (char *__template, int __suffixlen) __attribute__ ((__nonnull__ (1))) ; +# 738 "/usr/include/stdlib.h" 3 4 +extern char *mkdtemp (char *__template) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; +# 791 "/usr/include/stdlib.h" 3 4 +extern int system (const char *__command) ; +# 808 "/usr/include/stdlib.h" 3 4 +extern char *realpath (const char *__restrict __name, + char *__restrict __resolved) __attribute__ ((__nothrow__ , __leaf__)) ; + + + + + + +typedef int (*__compar_fn_t) (const void *, const void *); +# 828 "/usr/include/stdlib.h" 3 4 +extern void *bsearch (const void *__key, const void *__base, + size_t __nmemb, size_t __size, __compar_fn_t __compar) + __attribute__ ((__nonnull__ (1, 2, 5))) ; + + + + + + + +extern void qsort (void *__base, size_t __nmemb, size_t __size, + __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4))); +# 848 "/usr/include/stdlib.h" 3 4 +extern int abs (int __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; +extern long int labs (long int __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; + + +__extension__ extern long long int llabs (long long int __x) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; + + + + + + +extern div_t div (int __numer, int __denom) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; +extern ldiv_t ldiv (long int __numer, long int __denom) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; + + +__extension__ extern lldiv_t lldiv (long long int __numer, + long long int __denom) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; +# 880 "/usr/include/stdlib.h" 3 4 +extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) ; + + + + +extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) ; + + + + +extern char *gcvt (double __value, int __ndigit, char *__buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))) ; + + + + +extern char *qecvt (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) ; +extern char *qfcvt (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) ; +extern char *qgcvt (long double __value, int __ndigit, char *__buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))) ; + + + + +extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign, char *__restrict __buf, + size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); +extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign, char *__restrict __buf, + size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__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) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__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) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); + + + + + +extern int mblen (const char *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); + + +extern int mbtowc (wchar_t *__restrict __pwc, + const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); + + +extern int wctomb (char *__s, wchar_t __wchar) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern size_t mbstowcs (wchar_t *__restrict __pwcs, + const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__read_only__, 2))); + +extern size_t wcstombs (char *__restrict __s, + const wchar_t *__restrict __pwcs, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1, 3))) + __attribute__ ((__access__ (__read_only__, 2))); + + + + + + +extern int rpmatch (const char *__response) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; +# 967 "/usr/include/stdlib.h" 3 4 +extern int getsubopt (char **__restrict __optionp, + char *const *__restrict __tokens, + char **__restrict __valuep) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2, 3))) ; +# 1013 "/usr/include/stdlib.h" 3 4 +extern int getloadavg (double __loadavg[], int __nelem) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 1023 "/usr/include/stdlib.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/stdlib-float.h" 1 3 4 +# 1024 "/usr/include/stdlib.h" 2 3 4 +# 1035 "/usr/include/stdlib.h" 3 4 + +# 3 "src/test_t/is_good.c" 2 + +# 1 "./src/test_t/test_t.h" 1 + + + + + +# 1 "/usr/include/string.h" 1 3 4 +# 26 "/usr/include/string.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 1 3 4 +# 27 "/usr/include/string.h" 2 3 4 + + + + + + +# 1 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 1 3 4 +# 34 "/usr/include/string.h" 2 3 4 +# 43 "/usr/include/string.h" 3 4 +extern void *memcpy (void *__restrict __dest, const void *__restrict __src, + size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern void *memmove (void *__dest, const void *__src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + + +extern void *memccpy (void *__restrict __dest, const void *__restrict __src, + int __c, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__access__ (__write_only__, 1, 4))); + + + + +extern void *memset (void *__s, int __c, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern int memcmp (const void *__s1, const void *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); +# 80 "/usr/include/string.h" 3 4 +extern int __memcmpeq (const void *__s1, const void *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); +# 107 "/usr/include/string.h" 3 4 +extern void *memchr (const void *__s, int __c, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); +# 141 "/usr/include/string.h" 3 4 +extern char *strcpy (char *__restrict __dest, const char *__restrict __src) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + +extern char *strncpy (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern char *strcat (char *__restrict __dest, const char *__restrict __src) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + +extern char *strncat (char *__restrict __dest, const char *__restrict __src, + size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int strcmp (const char *__s1, const char *__s2) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + +extern int strncmp (const char *__s1, const char *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int strcoll (const char *__s1, const char *__s2) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + +extern size_t strxfrm (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))) __attribute__ ((__access__ (__write_only__, 1, 3))); + + + +# 1 "/usr/include/x86_64-linux-gnu/bits/types/locale_t.h" 1 3 4 +# 22 "/usr/include/x86_64-linux-gnu/bits/types/locale_t.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h" 1 3 4 +# 27 "/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h" 3 4 +struct __locale_struct +{ + + struct __locale_data *__locales[13]; + + + const unsigned short int *__ctype_b; + const int *__ctype_tolower; + const int *__ctype_toupper; + + + const char *__names[13]; +}; + +typedef struct __locale_struct *__locale_t; +# 23 "/usr/include/x86_64-linux-gnu/bits/types/locale_t.h" 2 3 4 + +typedef __locale_t locale_t; +# 173 "/usr/include/string.h" 2 3 4 + + +extern int strcoll_l (const char *__s1, const char *__s2, locale_t __l) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); + + +extern size_t strxfrm_l (char *__dest, const char *__src, size_t __n, + locale_t __l) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 4))) + __attribute__ ((__access__ (__write_only__, 1, 3))); + + + + + +extern char *strdup (const char *__s) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); + + + + + + +extern char *strndup (const char *__string, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); +# 246 "/usr/include/string.h" 3 4 +extern char *strchr (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); +# 273 "/usr/include/string.h" 3 4 +extern char *strrchr (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); +# 293 "/usr/include/string.h" 3 4 +extern size_t strcspn (const char *__s, const char *__reject) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern size_t strspn (const char *__s, const char *__accept) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); +# 323 "/usr/include/string.h" 3 4 +extern char *strpbrk (const char *__s, const char *__accept) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); +# 350 "/usr/include/string.h" 3 4 +extern char *strstr (const char *__haystack, const char *__needle) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + + + +extern char *strtok (char *__restrict __s, const char *__restrict __delim) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + + + +extern char *__strtok_r (char *__restrict __s, + const char *__restrict __delim, + char **__restrict __save_ptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))); + +extern char *strtok_r (char *__restrict __s, const char *__restrict __delim, + char **__restrict __save_ptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))); +# 407 "/usr/include/string.h" 3 4 +extern size_t strlen (const char *__s) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); + + + + +extern size_t strnlen (const char *__string, size_t __maxlen) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); + + + + +extern char *strerror (int __errnum) __attribute__ ((__nothrow__ , __leaf__)); +# 432 "/usr/include/string.h" 3 4 +extern int strerror_r (int __errnum, char *__buf, size_t __buflen) __asm__ ("" "__xpg_strerror_r") __attribute__ ((__nothrow__ , __leaf__)) + + __attribute__ ((__nonnull__ (2))) + __attribute__ ((__access__ (__write_only__, 2, 3))); +# 458 "/usr/include/string.h" 3 4 +extern char *strerror_l (int __errnum, locale_t __l) __attribute__ ((__nothrow__ , __leaf__)); + + + +# 1 "/usr/include/strings.h" 1 3 4 +# 23 "/usr/include/strings.h" 3 4 +# 1 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 1 3 4 +# 24 "/usr/include/strings.h" 2 3 4 + + + + + + + + + + +extern int bcmp (const void *__s1, const void *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern void bcopy (const void *__src, void *__dest, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern void bzero (void *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 68 "/usr/include/strings.h" 3 4 +extern char *index (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); +# 96 "/usr/include/strings.h" 3 4 +extern char *rindex (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); + + + + + + +extern int ffs (int __i) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); + + + + + +extern int ffsl (long int __l) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); +__extension__ extern int ffsll (long long int __ll) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); + + + +extern int strcasecmp (const char *__s1, const char *__s2) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int strncasecmp (const char *__s1, const char *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + + + + + +extern int strcasecmp_l (const char *__s1, const char *__s2, locale_t __loc) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); + + + +extern int strncasecmp_l (const char *__s1, const char *__s2, + size_t __n, locale_t __loc) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 4))); + + + +# 463 "/usr/include/string.h" 2 3 4 + + + +extern void explicit_bzero (void *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) + __attribute__ ((__access__ (__write_only__, 1, 2))); + + + +extern char *strsep (char **__restrict __stringp, + const char *__restrict __delim) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + +extern char *strsignal (int __sig) __attribute__ ((__nothrow__ , __leaf__)); +# 489 "/usr/include/string.h" 3 4 +extern char *__stpcpy (char *__restrict __dest, const char *__restrict __src) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern char *stpcpy (char *__restrict __dest, const char *__restrict __src) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + +extern char *__stpncpy (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern char *stpncpy (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +# 539 "/usr/include/string.h" 3 4 + +# 7 "./src/test_t/test_t.h" 2 +# 1 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stdarg.h" 1 3 4 +# 8 "./src/test_t/test_t.h" 2 + +# 1 "./src/tools_t/tools_t.h" 1 + + + + + + +# 1 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stdbool.h" 1 3 4 +# 8 "./src/tools_t/tools_t.h" 2 +# 36 "./src/tools_t/tools_t.h" + +# 36 "./src/tools_t/tools_t.h" +int COMPARE_N_TYPE_CHAR(const void *,const void*); void COPY_ARRAY_TYPE_CHAR(char* dst, const char* src, size_t size); char MAX_ARRAY_TYPE_CHAR(const char *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_CHAR(const char *array, size_t size); char MIN_ARRAY_TYPE_CHAR(const char *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_CHAR(const char *array, size_t size); +int COMPARE_N_TYPE_U_CHAR(const void *,const void*); void COPY_ARRAY_TYPE_U_CHAR(unsigned char* dst, const unsigned char* src, size_t size); unsigned char MAX_ARRAY_TYPE_U_CHAR(const unsigned char *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_U_CHAR(const unsigned char *array, size_t size); unsigned char MIN_ARRAY_TYPE_U_CHAR(const unsigned char *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_U_CHAR(const unsigned char *array, size_t size); +int COMPARE_N_TYPE_INT(const void *,const void*); void COPY_ARRAY_TYPE_INT(int* dst, const int* src, size_t size); int MAX_ARRAY_TYPE_INT(const int *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_INT(const int *array, size_t size); int MIN_ARRAY_TYPE_INT(const int *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_INT(const int *array, size_t size); +int COMPARE_N_TYPE_U_INT(const void *,const void*); void COPY_ARRAY_TYPE_U_INT(unsigned int* dst, const unsigned int* src, size_t size); unsigned int MAX_ARRAY_TYPE_U_INT(const unsigned int *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_U_INT(const unsigned int *array, size_t size); unsigned int MIN_ARRAY_TYPE_U_INT(const unsigned int *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_U_INT(const unsigned int *array, size_t size); +int COMPARE_N_TYPE_L_INT(const void *,const void*); void COPY_ARRAY_TYPE_L_INT(long int* dst, const long int* src, size_t size); long int MAX_ARRAY_TYPE_L_INT(const long int *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_L_INT(const long int *array, size_t size); long int MIN_ARRAY_TYPE_L_INT(const long int *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_L_INT(const long int *array, size_t size); +int COMPARE_N_TYPE_U_L_INT(const void *,const void*); void COPY_ARRAY_TYPE_U_L_INT(unsigned long int* dst, const unsigned long int* src, size_t size); unsigned long int MAX_ARRAY_TYPE_U_L_INT(const unsigned long int *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_U_L_INT(const unsigned long int *array, size_t size); unsigned long int MIN_ARRAY_TYPE_U_L_INT(const unsigned long int *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_U_L_INT(const unsigned long int *array, size_t size); +int COMPARE_N_TYPE_SIZE_T(const void *,const void*); void COPY_ARRAY_TYPE_SIZE_T(size_t* dst, const size_t* src, size_t size); size_t MAX_ARRAY_TYPE_SIZE_T(const size_t *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_SIZE_T(const size_t *array, size_t size); size_t MIN_ARRAY_TYPE_SIZE_T(const size_t *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_SIZE_T(const size_t *array, size_t size); +int COMPARE_N_TYPE_FLOAT(const void *,const void*); void COPY_ARRAY_TYPE_FLOAT(float* dst, const float* src, size_t size); float MAX_ARRAY_TYPE_FLOAT(const float *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_FLOAT(const float *array, size_t size); float MIN_ARRAY_TYPE_FLOAT(const float *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_FLOAT(const float *array, size_t size); +int COMPARE_N_TYPE_DOUBLE(const void *,const void*); void COPY_ARRAY_TYPE_DOUBLE(double* dst, const double* src, size_t size); double MAX_ARRAY_TYPE_DOUBLE(const double *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_DOUBLE(const double *array, size_t size); double MIN_ARRAY_TYPE_DOUBLE(const double *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_DOUBLE(const double *array, size_t size); +int COMPARE_N_TYPE_L_DOUBLE(const void *,const void*); void COPY_ARRAY_TYPE_L_DOUBLE(long double* dst, const long double* src, size_t size); long double MAX_ARRAY_TYPE_L_DOUBLE(const long double *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_L_DOUBLE(const long double *array, size_t size); long double MIN_ARRAY_TYPE_L_DOUBLE(const long double *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_L_DOUBLE(const long double *array, size_t size); +int COMPARE_N_TYPE_STRING(const void *,const void*); void COPY_ARRAY_TYPE_STRING(char** dst, const char** src, size_t size); char* MAX_ARRAY_TYPE_STRING(const char* *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_STRING(const char* *array, size_t size); char* MIN_ARRAY_TYPE_STRING(const char* *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_STRING(const char* *array, size_t size); +# 10 "./src/test_t/test_t.h" 2 + + +struct func { + char *name; + void (*run)(void); + struct func *next; +}; + + + + +void vprintf_colored(char *color, char * format, ...); + +void run_all_test(); +void execute_all(struct func *fun); +void append_func(void (*run)(void), char *name); +void clear_all_func(); + + +void init_test(); +# 5 "src/test_t/is_good.c" 2 + + + +void test_size_permutation0(void); __attribute__((constructor)) void append_test_size_permutation0(void){ append_func(test_size_permutation0,"size_permutation test 0"); } void testsize_permutation0(void) +{ + + + + + + + + printf("test size_permutation2\n"); +} +void test_size_permutation21(void); __attribute__((constructor)) void append_test_size_permutation21(void){ append_func(test_size_permutation21,"size_permutation2 test 1"); } void testsize_permutation21(void) +{ + printf("test size_permutation2\n"); + + + + + + + +} +void test_size_permutation22(void); __attribute__((constructor)) void append_test_size_permutation22(void){ append_func(test_size_permutation22,"size_permutation2 test 2"); } void testsize_permutation22(void){ + printf("another size_permutation2\n"); +} +void test_size_permutation23(void); __attribute__((constructor)) void append_test_size_permutation23(void){ append_func(test_size_permutation23,"size_permutation2 test 3"); } void testsize_permutation23(void){ + printf("another size_permutation2 again\n"); +} + + + + + +int main(){ + + + run_all_test(); + return 0; +} +# 0 "src/test_t/test_t.c" +# 0 "" +# 0 "" +# 1 "/usr/include/stdc-predef.h" 1 3 4 +# 0 "" 2 +# 1 "src/test_t/test_t.c" +# 1 "./src/test_t/test_t.h" 1 + + + +# 1 "/usr/include/stdio.h" 1 3 4 +# 27 "/usr/include/stdio.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 1 3 4 +# 33 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 3 4 +# 1 "/usr/include/features.h" 1 3 4 +# 392 "/usr/include/features.h" 3 4 +# 1 "/usr/include/features-time64.h" 1 3 4 +# 20 "/usr/include/features-time64.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 +# 21 "/usr/include/features-time64.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/timesize.h" 1 3 4 +# 19 "/usr/include/x86_64-linux-gnu/bits/timesize.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 +# 20 "/usr/include/x86_64-linux-gnu/bits/timesize.h" 2 3 4 +# 22 "/usr/include/features-time64.h" 2 3 4 +# 393 "/usr/include/features.h" 2 3 4 +# 486 "/usr/include/features.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 1 3 4 +# 559 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 +# 560 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/long-double.h" 1 3 4 +# 561 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 2 3 4 +# 487 "/usr/include/features.h" 2 3 4 +# 510 "/usr/include/features.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/gnu/stubs.h" 1 3 4 +# 10 "/usr/include/x86_64-linux-gnu/gnu/stubs.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/gnu/stubs-64.h" 1 3 4 +# 11 "/usr/include/x86_64-linux-gnu/gnu/stubs.h" 2 3 4 +# 511 "/usr/include/features.h" 2 3 4 +# 34 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 2 3 4 +# 28 "/usr/include/stdio.h" 2 3 4 + + + + + +# 1 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 1 3 4 +# 209 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 3 4 + +# 209 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 3 4 +typedef long unsigned int size_t; +# 34 "/usr/include/stdio.h" 2 3 4 + + +# 1 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stdarg.h" 1 3 4 +# 40 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stdarg.h" 3 4 +typedef __builtin_va_list __gnuc_va_list; +# 37 "/usr/include/stdio.h" 2 3 4 + +# 1 "/usr/include/x86_64-linux-gnu/bits/types.h" 1 3 4 +# 27 "/usr/include/x86_64-linux-gnu/bits/types.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 +# 28 "/usr/include/x86_64-linux-gnu/bits/types.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/timesize.h" 1 3 4 +# 19 "/usr/include/x86_64-linux-gnu/bits/timesize.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 +# 20 "/usr/include/x86_64-linux-gnu/bits/timesize.h" 2 3 4 +# 29 "/usr/include/x86_64-linux-gnu/bits/types.h" 2 3 4 + + +typedef unsigned char __u_char; +typedef unsigned short int __u_short; +typedef unsigned int __u_int; +typedef unsigned long int __u_long; + + +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; + +typedef signed long int __int64_t; +typedef unsigned long int __uint64_t; + + + + + + +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; + + + +typedef long int __quad_t; +typedef unsigned long int __u_quad_t; + + + + + + + +typedef long int __intmax_t; +typedef unsigned long int __uintmax_t; +# 141 "/usr/include/x86_64-linux-gnu/bits/types.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/typesizes.h" 1 3 4 +# 142 "/usr/include/x86_64-linux-gnu/bits/types.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/time64.h" 1 3 4 +# 143 "/usr/include/x86_64-linux-gnu/bits/types.h" 2 3 4 + + +typedef unsigned long int __dev_t; +typedef unsigned int __uid_t; +typedef unsigned int __gid_t; +typedef unsigned long int __ino_t; +typedef unsigned long int __ino64_t; +typedef unsigned int __mode_t; +typedef unsigned long int __nlink_t; +typedef long int __off_t; +typedef long int __off64_t; +typedef int __pid_t; +typedef struct { int __val[2]; } __fsid_t; +typedef long int __clock_t; +typedef unsigned long int __rlim_t; +typedef unsigned long int __rlim64_t; +typedef unsigned int __id_t; +typedef long int __time_t; +typedef unsigned int __useconds_t; +typedef long int __suseconds_t; +typedef long int __suseconds64_t; + +typedef int __daddr_t; +typedef int __key_t; + + +typedef int __clockid_t; + + +typedef void * __timer_t; + + +typedef long int __blksize_t; + + + + +typedef long int __blkcnt_t; +typedef long int __blkcnt64_t; + + +typedef unsigned long int __fsblkcnt_t; +typedef unsigned long int __fsblkcnt64_t; + + +typedef unsigned long int __fsfilcnt_t; +typedef unsigned long int __fsfilcnt64_t; + + +typedef long int __fsword_t; + +typedef long int __ssize_t; + + +typedef long int __syscall_slong_t; + +typedef unsigned long int __syscall_ulong_t; + + + +typedef __off64_t __loff_t; +typedef char *__caddr_t; + + +typedef long int __intptr_t; + + +typedef unsigned int __socklen_t; + + + + +typedef int __sig_atomic_t; +# 39 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h" 1 3 4 + + + + +# 1 "/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h" 1 3 4 +# 13 "/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h" 3 4 +typedef struct +{ + int __count; + union + { + unsigned int __wch; + char __wchb[4]; + } __value; +} __mbstate_t; +# 6 "/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h" 2 3 4 + + + + +typedef struct _G_fpos_t +{ + __off_t __pos; + __mbstate_t __state; +} __fpos_t; +# 40 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h" 1 3 4 +# 10 "/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h" 3 4 +typedef struct _G_fpos64_t +{ + __off64_t __pos; + __mbstate_t __state; +} __fpos64_t; +# 41 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/types/__FILE.h" 1 3 4 + + + +struct _IO_FILE; +typedef struct _IO_FILE __FILE; +# 42 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/types/FILE.h" 1 3 4 + + + +struct _IO_FILE; + + +typedef struct _IO_FILE FILE; +# 43 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h" 1 3 4 +# 35 "/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h" 3 4 +struct _IO_FILE; +struct _IO_marker; +struct _IO_codecvt; +struct _IO_wide_data; + + + + +typedef void _IO_lock_t; + + + + + +struct _IO_FILE +{ + int _flags; + + + char *_IO_read_ptr; + char *_IO_read_end; + char *_IO_read_base; + char *_IO_write_base; + char *_IO_write_ptr; + char *_IO_write_end; + char *_IO_buf_base; + char *_IO_buf_end; + + + char *_IO_save_base; + char *_IO_backup_base; + char *_IO_save_end; + + struct _IO_marker *_markers; + + struct _IO_FILE *_chain; + + int _fileno; + int _flags2; + __off_t _old_offset; + + + unsigned short _cur_column; + signed char _vtable_offset; + char _shortbuf[1]; + + _IO_lock_t *_lock; + + + + + + + + __off64_t _offset; + + struct _IO_codecvt *_codecvt; + struct _IO_wide_data *_wide_data; + struct _IO_FILE *_freeres_list; + void *_freeres_buf; + size_t __pad5; + int _mode; + + char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)]; +}; +# 44 "/usr/include/stdio.h" 2 3 4 +# 52 "/usr/include/stdio.h" 3 4 +typedef __gnuc_va_list va_list; +# 63 "/usr/include/stdio.h" 3 4 +typedef __off_t off_t; +# 77 "/usr/include/stdio.h" 3 4 +typedef __ssize_t ssize_t; + + + + + + +typedef __fpos_t fpos_t; +# 133 "/usr/include/stdio.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/stdio_lim.h" 1 3 4 +# 134 "/usr/include/stdio.h" 2 3 4 +# 143 "/usr/include/stdio.h" 3 4 +extern FILE *stdin; +extern FILE *stdout; +extern FILE *stderr; + + + + + + +extern int remove (const char *__filename) __attribute__ ((__nothrow__ , __leaf__)); + +extern int rename (const char *__old, const char *__new) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int renameat (int __oldfd, const char *__old, int __newfd, + const char *__new) __attribute__ ((__nothrow__ , __leaf__)); +# 178 "/usr/include/stdio.h" 3 4 +extern int fclose (FILE *__stream); +# 188 "/usr/include/stdio.h" 3 4 +extern FILE *tmpfile (void) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; +# 205 "/usr/include/stdio.h" 3 4 +extern char *tmpnam (char[20]) __attribute__ ((__nothrow__ , __leaf__)) ; + + + + +extern char *tmpnam_r (char __s[20]) __attribute__ ((__nothrow__ , __leaf__)) ; +# 222 "/usr/include/stdio.h" 3 4 +extern char *tempnam (const char *__dir, const char *__pfx) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (__builtin_free, 1))); + + + + + + +extern int fflush (FILE *__stream); +# 239 "/usr/include/stdio.h" 3 4 +extern int fflush_unlocked (FILE *__stream); +# 258 "/usr/include/stdio.h" 3 4 +extern FILE *fopen (const char *__restrict __filename, + const char *__restrict __modes) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; + + + + +extern FILE *freopen (const char *__restrict __filename, + const char *__restrict __modes, + FILE *__restrict __stream) ; +# 293 "/usr/include/stdio.h" 3 4 +extern FILE *fdopen (int __fd, const char *__modes) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; +# 308 "/usr/include/stdio.h" 3 4 +extern FILE *fmemopen (void *__s, size_t __len, const char *__modes) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; + + + + +extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; +# 328 "/usr/include/stdio.h" 3 4 +extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, + int __modes, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); + + + + +extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, + size_t __size) __attribute__ ((__nothrow__ , __leaf__)); + + +extern void setlinebuf (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); + + + + + + + +extern int fprintf (FILE *__restrict __stream, + const char *__restrict __format, ...); + + + + +extern int printf (const char *__restrict __format, ...); + +extern int sprintf (char *__restrict __s, + const char *__restrict __format, ...) __attribute__ ((__nothrow__)); + + + + + +extern int vfprintf (FILE *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg); + + + + +extern int vprintf (const char *__restrict __format, __gnuc_va_list __arg); + +extern int vsprintf (char *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg) __attribute__ ((__nothrow__)); + + + +extern int snprintf (char *__restrict __s, size_t __maxlen, + const char *__restrict __format, ...) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 4))); + +extern int vsnprintf (char *__restrict __s, size_t __maxlen, + const char *__restrict __format, __gnuc_va_list __arg) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 0))); +# 403 "/usr/include/stdio.h" 3 4 +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))); + + + + + + + +extern int fscanf (FILE *__restrict __stream, + const char *__restrict __format, ...) ; + + + + +extern int scanf (const char *__restrict __format, ...) ; + +extern int sscanf (const char *__restrict __s, + const char *__restrict __format, ...) __attribute__ ((__nothrow__ , __leaf__)); + + + + + +# 1 "/usr/include/x86_64-linux-gnu/bits/floatn.h" 1 3 4 +# 119 "/usr/include/x86_64-linux-gnu/bits/floatn.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 1 3 4 +# 24 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/long-double.h" 1 3 4 +# 25 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 2 3 4 +# 120 "/usr/include/x86_64-linux-gnu/bits/floatn.h" 2 3 4 +# 431 "/usr/include/stdio.h" 2 3 4 + + + +extern int fscanf (FILE *__restrict __stream, const char *__restrict __format, ...) __asm__ ("" "__isoc99_fscanf") + + ; +extern int scanf (const char *__restrict __format, ...) __asm__ ("" "__isoc99_scanf") + ; +extern int sscanf (const char *__restrict __s, const char *__restrict __format, ...) __asm__ ("" "__isoc99_sscanf") __attribute__ ((__nothrow__ , __leaf__)) + + ; +# 459 "/usr/include/stdio.h" 3 4 +extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg) + __attribute__ ((__format__ (__scanf__, 2, 0))) ; + + + + + +extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) + __attribute__ ((__format__ (__scanf__, 1, 0))) ; + + +extern int vsscanf (const char *__restrict __s, + const char *__restrict __format, __gnuc_va_list __arg) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__format__ (__scanf__, 2, 0))); + + + + + +extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vfscanf") + + + + __attribute__ ((__format__ (__scanf__, 2, 0))) ; +extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vscanf") + + __attribute__ ((__format__ (__scanf__, 1, 0))) ; +extern int vsscanf (const char *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vsscanf") __attribute__ ((__nothrow__ , __leaf__)) + + + + __attribute__ ((__format__ (__scanf__, 2, 0))); +# 513 "/usr/include/stdio.h" 3 4 +extern int fgetc (FILE *__stream); +extern int getc (FILE *__stream); + + + + + +extern int getchar (void); + + + + + + +extern int getc_unlocked (FILE *__stream); +extern int getchar_unlocked (void); +# 538 "/usr/include/stdio.h" 3 4 +extern int fgetc_unlocked (FILE *__stream); +# 549 "/usr/include/stdio.h" 3 4 +extern int fputc (int __c, FILE *__stream); +extern int putc (int __c, FILE *__stream); + + + + + +extern int putchar (int __c); +# 565 "/usr/include/stdio.h" 3 4 +extern int fputc_unlocked (int __c, FILE *__stream); + + + + + + + +extern int putc_unlocked (int __c, FILE *__stream); +extern int putchar_unlocked (int __c); + + + + + + +extern int getw (FILE *__stream); + + +extern int putw (int __w, FILE *__stream); + + + + + + + +extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream) + __attribute__ ((__access__ (__write_only__, 1, 2))); +# 632 "/usr/include/stdio.h" 3 4 +extern __ssize_t __getdelim (char **__restrict __lineptr, + size_t *__restrict __n, int __delimiter, + FILE *__restrict __stream) ; +extern __ssize_t getdelim (char **__restrict __lineptr, + size_t *__restrict __n, int __delimiter, + FILE *__restrict __stream) ; + + + + + + + +extern __ssize_t getline (char **__restrict __lineptr, + size_t *__restrict __n, + FILE *__restrict __stream) ; + + + + + + + +extern int fputs (const char *__restrict __s, FILE *__restrict __stream); + + + + + +extern int puts (const char *__s); + + + + + + +extern int ungetc (int __c, FILE *__stream); + + + + + + +extern size_t fread (void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream) ; + + + + +extern size_t fwrite (const void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __s); +# 702 "/usr/include/stdio.h" 3 4 +extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream) ; +extern size_t fwrite_unlocked (const void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream); + + + + + + + +extern int fseek (FILE *__stream, long int __off, int __whence); + + + + +extern long int ftell (FILE *__stream) ; + + + + +extern void rewind (FILE *__stream); +# 736 "/usr/include/stdio.h" 3 4 +extern int fseeko (FILE *__stream, __off_t __off, int __whence); + + + + +extern __off_t ftello (FILE *__stream) ; +# 760 "/usr/include/stdio.h" 3 4 +extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos); + + + + +extern int fsetpos (FILE *__stream, const fpos_t *__pos); +# 786 "/usr/include/stdio.h" 3 4 +extern void clearerr (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); + +extern int feof (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; + +extern int ferror (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; + + + +extern void clearerr_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); +extern int feof_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; +extern int ferror_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; + + + + + + + +extern void perror (const char *__s); + + + + +extern int fileno (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; + + + + +extern int fileno_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; +# 823 "/usr/include/stdio.h" 3 4 +extern int pclose (FILE *__stream); + + + + + +extern FILE *popen (const char *__command, const char *__modes) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (pclose, 1))) ; + + + + + + +extern char *ctermid (char *__s) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1))); +# 867 "/usr/include/stdio.h" 3 4 +extern void flockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int ftrylockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; + + +extern void funlockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); +# 885 "/usr/include/stdio.h" 3 4 +extern int __uflow (FILE *); +extern int __overflow (FILE *, int); +# 902 "/usr/include/stdio.h" 3 4 + +# 5 "./src/test_t/test_t.h" 2 +# 1 "/usr/include/stdlib.h" 1 3 4 +# 26 "/usr/include/stdlib.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 1 3 4 +# 27 "/usr/include/stdlib.h" 2 3 4 + + + + + +# 1 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 1 3 4 +# 321 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 3 4 +typedef int wchar_t; +# 33 "/usr/include/stdlib.h" 2 3 4 + + + + + + + +# 1 "/usr/include/x86_64-linux-gnu/bits/waitflags.h" 1 3 4 +# 41 "/usr/include/stdlib.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/waitstatus.h" 1 3 4 +# 42 "/usr/include/stdlib.h" 2 3 4 +# 59 "/usr/include/stdlib.h" 3 4 +typedef struct + { + int quot; + int rem; + } div_t; + + + +typedef struct + { + long int quot; + long int rem; + } ldiv_t; + + + + + +__extension__ typedef struct + { + long long int quot; + long long int rem; + } lldiv_t; +# 98 "/usr/include/stdlib.h" 3 4 +extern size_t __ctype_get_mb_cur_max (void) __attribute__ ((__nothrow__ , __leaf__)) ; + + + +extern double atof (const char *__nptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; + +extern int atoi (const char *__nptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; + +extern long int atol (const char *__nptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; + + + +__extension__ extern long long int atoll (const char *__nptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; + + + +extern double strtod (const char *__restrict __nptr, + char **__restrict __endptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + +extern float strtof (const char *__restrict __nptr, + char **__restrict __endptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +extern long double strtold (const char *__restrict __nptr, + char **__restrict __endptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 177 "/usr/include/stdlib.h" 3 4 +extern long int strtol (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +extern unsigned long int strtoul (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + +__extension__ +extern long long int strtoq (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +__extension__ +extern unsigned long long int strtouq (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + +__extension__ +extern long long int strtoll (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +__extension__ +extern unsigned long long int strtoull (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 386 "/usr/include/stdlib.h" 3 4 +extern char *l64a (long int __n) __attribute__ ((__nothrow__ , __leaf__)) ; + + +extern long int a64l (const char *__s) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; + + + + +# 1 "/usr/include/x86_64-linux-gnu/sys/types.h" 1 3 4 +# 27 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 + + + + + + +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; + + +typedef __loff_t loff_t; + + + + +typedef __ino_t ino_t; +# 59 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 +typedef __dev_t dev_t; + + + + +typedef __gid_t gid_t; + + + + +typedef __mode_t mode_t; + + + + +typedef __nlink_t nlink_t; + + + + +typedef __uid_t uid_t; +# 97 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 +typedef __pid_t pid_t; + + + + + +typedef __id_t id_t; +# 114 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 +typedef __daddr_t daddr_t; +typedef __caddr_t caddr_t; + + + + + +typedef __key_t key_t; + + + + +# 1 "/usr/include/x86_64-linux-gnu/bits/types/clock_t.h" 1 3 4 + + + + + + +typedef __clock_t clock_t; +# 127 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 + +# 1 "/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h" 1 3 4 + + + + + + +typedef __clockid_t clockid_t; +# 129 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/types/time_t.h" 1 3 4 +# 10 "/usr/include/x86_64-linux-gnu/bits/types/time_t.h" 3 4 +typedef __time_t time_t; +# 130 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/types/timer_t.h" 1 3 4 + + + + + + +typedef __timer_t timer_t; +# 131 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 +# 144 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 +# 1 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 1 3 4 +# 145 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 + + + +typedef unsigned long int ulong; +typedef unsigned short int ushort; +typedef unsigned int uint; + + + + +# 1 "/usr/include/x86_64-linux-gnu/bits/stdint-intn.h" 1 3 4 +# 24 "/usr/include/x86_64-linux-gnu/bits/stdint-intn.h" 3 4 +typedef __int8_t int8_t; +typedef __int16_t int16_t; +typedef __int32_t int32_t; +typedef __int64_t int64_t; +# 156 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 + + +typedef __uint8_t u_int8_t; +typedef __uint16_t u_int16_t; +typedef __uint32_t u_int32_t; +typedef __uint64_t u_int64_t; + + +typedef int register_t __attribute__ ((__mode__ (__word__))); +# 176 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 +# 1 "/usr/include/endian.h" 1 3 4 +# 24 "/usr/include/endian.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/endian.h" 1 3 4 +# 35 "/usr/include/x86_64-linux-gnu/bits/endian.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/endianness.h" 1 3 4 +# 36 "/usr/include/x86_64-linux-gnu/bits/endian.h" 2 3 4 +# 25 "/usr/include/endian.h" 2 3 4 +# 35 "/usr/include/endian.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/byteswap.h" 1 3 4 +# 33 "/usr/include/x86_64-linux-gnu/bits/byteswap.h" 3 4 +static __inline __uint16_t +__bswap_16 (__uint16_t __bsx) +{ + + return __builtin_bswap16 (__bsx); + + + +} + + + + + + +static __inline __uint32_t +__bswap_32 (__uint32_t __bsx) +{ + + return __builtin_bswap32 (__bsx); + + + +} +# 69 "/usr/include/x86_64-linux-gnu/bits/byteswap.h" 3 4 +__extension__ static __inline __uint64_t +__bswap_64 (__uint64_t __bsx) +{ + + return __builtin_bswap64 (__bsx); + + + +} +# 36 "/usr/include/endian.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/uintn-identity.h" 1 3 4 +# 32 "/usr/include/x86_64-linux-gnu/bits/uintn-identity.h" 3 4 +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; +} +# 37 "/usr/include/endian.h" 2 3 4 +# 177 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 + + +# 1 "/usr/include/x86_64-linux-gnu/sys/select.h" 1 3 4 +# 30 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/select.h" 1 3 4 +# 31 "/usr/include/x86_64-linux-gnu/sys/select.h" 2 3 4 + + +# 1 "/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h" 1 3 4 + + + +# 1 "/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h" 1 3 4 + + + + +typedef struct +{ + unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; +} __sigset_t; +# 5 "/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h" 2 3 4 + + +typedef __sigset_t sigset_t; +# 34 "/usr/include/x86_64-linux-gnu/sys/select.h" 2 3 4 + + + +# 1 "/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h" 1 3 4 + + + + + + + +struct timeval +{ + + + + + __time_t tv_sec; + __suseconds_t tv_usec; + +}; +# 38 "/usr/include/x86_64-linux-gnu/sys/select.h" 2 3 4 + +# 1 "/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h" 1 3 4 +# 11 "/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h" 3 4 +struct timespec +{ + + + + __time_t tv_sec; + + + + + __syscall_slong_t tv_nsec; +# 31 "/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h" 3 4 +}; +# 40 "/usr/include/x86_64-linux-gnu/sys/select.h" 2 3 4 + + + +typedef __suseconds_t suseconds_t; + + + + + +typedef long int __fd_mask; +# 59 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4 +typedef struct + { + + + + + + + __fd_mask __fds_bits[1024 / (8 * (int) sizeof (__fd_mask))]; + + + } fd_set; + + + + + + +typedef __fd_mask fd_mask; +# 91 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4 + +# 102 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4 +extern int select (int __nfds, fd_set *__restrict __readfds, + fd_set *__restrict __writefds, + fd_set *__restrict __exceptfds, + struct timeval *__restrict __timeout); +# 127 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4 +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); +# 153 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4 + +# 180 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 + + + + + +typedef __blksize_t blksize_t; + + + + + + +typedef __blkcnt_t blkcnt_t; + + + +typedef __fsblkcnt_t fsblkcnt_t; + + + +typedef __fsfilcnt_t fsfilcnt_t; +# 227 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 1 3 4 +# 23 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 1 3 4 +# 44 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h" 1 3 4 +# 21 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 +# 22 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h" 2 3 4 +# 45 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 2 3 4 + +# 1 "/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h" 1 3 4 +# 25 "/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h" 3 4 +typedef union +{ + __extension__ unsigned long long int __value64; + struct + { + unsigned int __low; + unsigned int __high; + } __value32; +} __atomic_wide_counter; +# 47 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 2 3 4 + + + + +typedef struct __pthread_internal_list +{ + struct __pthread_internal_list *__prev; + struct __pthread_internal_list *__next; +} __pthread_list_t; + +typedef struct __pthread_internal_slist +{ + struct __pthread_internal_slist *__next; +} __pthread_slist_t; +# 76 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/struct_mutex.h" 1 3 4 +# 22 "/usr/include/x86_64-linux-gnu/bits/struct_mutex.h" 3 4 +struct __pthread_mutex_s +{ + int __lock; + unsigned int __count; + int __owner; + + unsigned int __nusers; + + + + int __kind; + + short __spins; + short __elision; + __pthread_list_t __list; +# 53 "/usr/include/x86_64-linux-gnu/bits/struct_mutex.h" 3 4 +}; +# 77 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 2 3 4 +# 89 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h" 1 3 4 +# 23 "/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h" 3 4 +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; + + int __cur_writer; + int __shared; + signed char __rwelision; + + + + + unsigned char __pad1[7]; + + + unsigned long int __pad2; + + + unsigned int __flags; +# 55 "/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h" 3 4 +}; +# 90 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 2 3 4 + + + + +struct __pthread_cond_s +{ + __atomic_wide_counter __wseq; + __atomic_wide_counter __g1_start; + unsigned int __g_refs[2] ; + unsigned int __g_size[2]; + unsigned int __g1_orig_size; + unsigned int __wrefs; + unsigned int __g_signals[2]; +}; + +typedef unsigned int __tss_t; +typedef unsigned long int __thrd_t; + +typedef struct +{ + int __data ; +} __once_flag; +# 24 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 2 3 4 + + + +typedef unsigned long int pthread_t; + + + + +typedef union +{ + char __size[4]; + int __align; +} pthread_mutexattr_t; + + + + +typedef union +{ + char __size[4]; + int __align; +} pthread_condattr_t; + + + +typedef unsigned int pthread_key_t; + + + +typedef int pthread_once_t; + + +union pthread_attr_t +{ + char __size[56]; + long int __align; +}; + +typedef union pthread_attr_t pthread_attr_t; + + + + +typedef union +{ + struct __pthread_mutex_s __data; + char __size[40]; + long int __align; +} pthread_mutex_t; + + +typedef union +{ + struct __pthread_cond_s __data; + char __size[48]; + __extension__ long long int __align; +} pthread_cond_t; + + + + + +typedef union +{ + struct __pthread_rwlock_arch_t __data; + char __size[56]; + long int __align; +} pthread_rwlock_t; + +typedef union +{ + char __size[8]; + long int __align; +} pthread_rwlockattr_t; + + + + + +typedef volatile int pthread_spinlock_t; + + + + +typedef union +{ + char __size[32]; + long int __align; +} pthread_barrier_t; + +typedef union +{ + char __size[4]; + int __align; +} pthread_barrierattr_t; +# 228 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 + + + +# 396 "/usr/include/stdlib.h" 2 3 4 + + + + + + +extern long int random (void) __attribute__ ((__nothrow__ , __leaf__)); + + +extern void srandom (unsigned int __seed) __attribute__ ((__nothrow__ , __leaf__)); + + + + + +extern char *initstate (unsigned int __seed, char *__statebuf, + size_t __statelen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + + + +extern char *setstate (char *__statebuf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + + +struct random_data + { + int32_t *fptr; + int32_t *rptr; + int32_t *state; + int rand_type; + int rand_deg; + int rand_sep; + int32_t *end_ptr; + }; + +extern int random_r (struct random_data *__restrict __buf, + int32_t *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + +extern int srandom_r (unsigned int __seed, struct random_data *__buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + +extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, + size_t __statelen, + struct random_data *__restrict __buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 4))); + +extern int setstate_r (char *__restrict __statebuf, + struct random_data *__restrict __buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + + +extern int rand (void) __attribute__ ((__nothrow__ , __leaf__)); + +extern void srand (unsigned int __seed) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int rand_r (unsigned int *__seed) __attribute__ ((__nothrow__ , __leaf__)); + + + + + + + +extern double drand48 (void) __attribute__ ((__nothrow__ , __leaf__)); +extern double erand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern long int lrand48 (void) __attribute__ ((__nothrow__ , __leaf__)); +extern long int nrand48 (unsigned short int __xsubi[3]) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern long int mrand48 (void) __attribute__ ((__nothrow__ , __leaf__)); +extern long int jrand48 (unsigned short int __xsubi[3]) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern void srand48 (long int __seedval) __attribute__ ((__nothrow__ , __leaf__)); +extern unsigned short int *seed48 (unsigned short int __seed16v[3]) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +extern void lcong48 (unsigned short int __param[7]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + +struct drand48_data + { + unsigned short int __x[3]; + unsigned short int __old_x[3]; + unsigned short int __c; + unsigned short int __init; + __extension__ unsigned long long int __a; + + }; + + +extern int drand48_r (struct drand48_data *__restrict __buffer, + double *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern int erand48_r (unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + double *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int lrand48_r (struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern int nrand48_r (unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int mrand48_r (struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern int jrand48_r (unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int srand48_r (long int __seedval, struct drand48_data *__buffer) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + +extern int seed48_r (unsigned short int __seed16v[3], + struct drand48_data *__buffer) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + +extern int lcong48_r (unsigned short int __param[7], + struct drand48_data *__buffer) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + +extern void *malloc (size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) + __attribute__ ((__alloc_size__ (1))) ; + +extern void *calloc (size_t __nmemb, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__alloc_size__ (1, 2))) ; + + + + + + +extern void *realloc (void *__ptr, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__alloc_size__ (2))); + + +extern void free (void *__ptr) __attribute__ ((__nothrow__ , __leaf__)); + + + + + + + +extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) + __attribute__ ((__alloc_size__ (2, 3))) + __attribute__ ((__malloc__ (__builtin_free, 1))); + + +extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__ (reallocarray, 1))); + + + +# 1 "/usr/include/alloca.h" 1 3 4 +# 24 "/usr/include/alloca.h" 3 4 +# 1 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 1 3 4 +# 25 "/usr/include/alloca.h" 2 3 4 + + + + + + + +extern void *alloca (size_t __size) __attribute__ ((__nothrow__ , __leaf__)); + + + + + + +# 575 "/usr/include/stdlib.h" 2 3 4 + + + + + +extern void *valloc (size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) + __attribute__ ((__alloc_size__ (1))) ; + + + + +extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; + + + + +extern void *aligned_alloc (size_t __alignment, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__alloc_align__ (1))) + __attribute__ ((__alloc_size__ (2))) ; + + + +extern void abort (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); + + + +extern int atexit (void (*__func) (void)) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + + +extern int at_quick_exit (void (*__func) (void)) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + +extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + +extern void exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); + + + + + +extern void quick_exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); + + + + + +extern void _Exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); + + + + +extern char *getenv (const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; +# 654 "/usr/include/stdlib.h" 3 4 +extern int putenv (char *__string) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + +extern int setenv (const char *__name, const char *__value, int __replace) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + + +extern int unsetenv (const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + +extern int clearenv (void) __attribute__ ((__nothrow__ , __leaf__)); +# 682 "/usr/include/stdlib.h" 3 4 +extern char *mktemp (char *__template) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 695 "/usr/include/stdlib.h" 3 4 +extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) ; +# 717 "/usr/include/stdlib.h" 3 4 +extern int mkstemps (char *__template, int __suffixlen) __attribute__ ((__nonnull__ (1))) ; +# 738 "/usr/include/stdlib.h" 3 4 +extern char *mkdtemp (char *__template) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; +# 791 "/usr/include/stdlib.h" 3 4 +extern int system (const char *__command) ; +# 808 "/usr/include/stdlib.h" 3 4 +extern char *realpath (const char *__restrict __name, + char *__restrict __resolved) __attribute__ ((__nothrow__ , __leaf__)) ; + + + + + + +typedef int (*__compar_fn_t) (const void *, const void *); +# 828 "/usr/include/stdlib.h" 3 4 +extern void *bsearch (const void *__key, const void *__base, + size_t __nmemb, size_t __size, __compar_fn_t __compar) + __attribute__ ((__nonnull__ (1, 2, 5))) ; + + + + + + + +extern void qsort (void *__base, size_t __nmemb, size_t __size, + __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4))); +# 848 "/usr/include/stdlib.h" 3 4 +extern int abs (int __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; +extern long int labs (long int __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; + + +__extension__ extern long long int llabs (long long int __x) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; + + + + + + +extern div_t div (int __numer, int __denom) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; +extern ldiv_t ldiv (long int __numer, long int __denom) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; + + +__extension__ extern lldiv_t lldiv (long long int __numer, + long long int __denom) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; +# 880 "/usr/include/stdlib.h" 3 4 +extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) ; + + + + +extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) ; + + + + +extern char *gcvt (double __value, int __ndigit, char *__buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))) ; + + + + +extern char *qecvt (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) ; +extern char *qfcvt (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) ; +extern char *qgcvt (long double __value, int __ndigit, char *__buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))) ; + + + + +extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign, char *__restrict __buf, + size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); +extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign, char *__restrict __buf, + size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__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) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__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) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); + + + + + +extern int mblen (const char *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); + + +extern int mbtowc (wchar_t *__restrict __pwc, + const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); + + +extern int wctomb (char *__s, wchar_t __wchar) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern size_t mbstowcs (wchar_t *__restrict __pwcs, + const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__read_only__, 2))); + +extern size_t wcstombs (char *__restrict __s, + const wchar_t *__restrict __pwcs, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1, 3))) + __attribute__ ((__access__ (__read_only__, 2))); + + + + + + +extern int rpmatch (const char *__response) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; +# 967 "/usr/include/stdlib.h" 3 4 +extern int getsubopt (char **__restrict __optionp, + char *const *__restrict __tokens, + char **__restrict __valuep) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2, 3))) ; +# 1013 "/usr/include/stdlib.h" 3 4 +extern int getloadavg (double __loadavg[], int __nelem) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 1023 "/usr/include/stdlib.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/stdlib-float.h" 1 3 4 +# 1024 "/usr/include/stdlib.h" 2 3 4 +# 1035 "/usr/include/stdlib.h" 3 4 + +# 6 "./src/test_t/test_t.h" 2 +# 1 "/usr/include/string.h" 1 3 4 +# 26 "/usr/include/string.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 1 3 4 +# 27 "/usr/include/string.h" 2 3 4 + + + + + + +# 1 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 1 3 4 +# 34 "/usr/include/string.h" 2 3 4 +# 43 "/usr/include/string.h" 3 4 +extern void *memcpy (void *__restrict __dest, const void *__restrict __src, + size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern void *memmove (void *__dest, const void *__src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + + +extern void *memccpy (void *__restrict __dest, const void *__restrict __src, + int __c, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__access__ (__write_only__, 1, 4))); + + + + +extern void *memset (void *__s, int __c, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern int memcmp (const void *__s1, const void *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); +# 80 "/usr/include/string.h" 3 4 +extern int __memcmpeq (const void *__s1, const void *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); +# 107 "/usr/include/string.h" 3 4 +extern void *memchr (const void *__s, int __c, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); +# 141 "/usr/include/string.h" 3 4 +extern char *strcpy (char *__restrict __dest, const char *__restrict __src) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + +extern char *strncpy (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern char *strcat (char *__restrict __dest, const char *__restrict __src) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + +extern char *strncat (char *__restrict __dest, const char *__restrict __src, + size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int strcmp (const char *__s1, const char *__s2) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + +extern int strncmp (const char *__s1, const char *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int strcoll (const char *__s1, const char *__s2) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + +extern size_t strxfrm (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))) __attribute__ ((__access__ (__write_only__, 1, 3))); + + + +# 1 "/usr/include/x86_64-linux-gnu/bits/types/locale_t.h" 1 3 4 +# 22 "/usr/include/x86_64-linux-gnu/bits/types/locale_t.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h" 1 3 4 +# 27 "/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h" 3 4 +struct __locale_struct +{ + + struct __locale_data *__locales[13]; + + + const unsigned short int *__ctype_b; + const int *__ctype_tolower; + const int *__ctype_toupper; + + + const char *__names[13]; +}; + +typedef struct __locale_struct *__locale_t; +# 23 "/usr/include/x86_64-linux-gnu/bits/types/locale_t.h" 2 3 4 + +typedef __locale_t locale_t; +# 173 "/usr/include/string.h" 2 3 4 + + +extern int strcoll_l (const char *__s1, const char *__s2, locale_t __l) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); + + +extern size_t strxfrm_l (char *__dest, const char *__src, size_t __n, + locale_t __l) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 4))) + __attribute__ ((__access__ (__write_only__, 1, 3))); + + + + + +extern char *strdup (const char *__s) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); + + + + + + +extern char *strndup (const char *__string, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); +# 246 "/usr/include/string.h" 3 4 +extern char *strchr (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); +# 273 "/usr/include/string.h" 3 4 +extern char *strrchr (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); +# 293 "/usr/include/string.h" 3 4 +extern size_t strcspn (const char *__s, const char *__reject) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern size_t strspn (const char *__s, const char *__accept) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); +# 323 "/usr/include/string.h" 3 4 +extern char *strpbrk (const char *__s, const char *__accept) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); +# 350 "/usr/include/string.h" 3 4 +extern char *strstr (const char *__haystack, const char *__needle) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + + + +extern char *strtok (char *__restrict __s, const char *__restrict __delim) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + + + +extern char *__strtok_r (char *__restrict __s, + const char *__restrict __delim, + char **__restrict __save_ptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))); + +extern char *strtok_r (char *__restrict __s, const char *__restrict __delim, + char **__restrict __save_ptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))); +# 407 "/usr/include/string.h" 3 4 +extern size_t strlen (const char *__s) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); + + + + +extern size_t strnlen (const char *__string, size_t __maxlen) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); + + + + +extern char *strerror (int __errnum) __attribute__ ((__nothrow__ , __leaf__)); +# 432 "/usr/include/string.h" 3 4 +extern int strerror_r (int __errnum, char *__buf, size_t __buflen) __asm__ ("" "__xpg_strerror_r") __attribute__ ((__nothrow__ , __leaf__)) + + __attribute__ ((__nonnull__ (2))) + __attribute__ ((__access__ (__write_only__, 2, 3))); +# 458 "/usr/include/string.h" 3 4 +extern char *strerror_l (int __errnum, locale_t __l) __attribute__ ((__nothrow__ , __leaf__)); + + + +# 1 "/usr/include/strings.h" 1 3 4 +# 23 "/usr/include/strings.h" 3 4 +# 1 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 1 3 4 +# 24 "/usr/include/strings.h" 2 3 4 + + + + + + + + + + +extern int bcmp (const void *__s1, const void *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern void bcopy (const void *__src, void *__dest, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern void bzero (void *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 68 "/usr/include/strings.h" 3 4 +extern char *index (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); +# 96 "/usr/include/strings.h" 3 4 +extern char *rindex (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); + + + + + + +extern int ffs (int __i) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); + + + + + +extern int ffsl (long int __l) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); +__extension__ extern int ffsll (long long int __ll) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); + + + +extern int strcasecmp (const char *__s1, const char *__s2) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int strncasecmp (const char *__s1, const char *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + + + + + +extern int strcasecmp_l (const char *__s1, const char *__s2, locale_t __loc) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); + + + +extern int strncasecmp_l (const char *__s1, const char *__s2, + size_t __n, locale_t __loc) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 4))); + + + +# 463 "/usr/include/string.h" 2 3 4 + + + +extern void explicit_bzero (void *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) + __attribute__ ((__access__ (__write_only__, 1, 2))); + + + +extern char *strsep (char **__restrict __stringp, + const char *__restrict __delim) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + +extern char *strsignal (int __sig) __attribute__ ((__nothrow__ , __leaf__)); +# 489 "/usr/include/string.h" 3 4 +extern char *__stpcpy (char *__restrict __dest, const char *__restrict __src) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern char *stpcpy (char *__restrict __dest, const char *__restrict __src) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + +extern char *__stpncpy (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern char *stpncpy (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +# 539 "/usr/include/string.h" 3 4 + +# 7 "./src/test_t/test_t.h" 2 +# 1 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stdarg.h" 1 3 4 +# 8 "./src/test_t/test_t.h" 2 + +# 1 "./src/tools_t/tools_t.h" 1 + + + + + + +# 1 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stdbool.h" 1 3 4 +# 8 "./src/tools_t/tools_t.h" 2 +# 36 "./src/tools_t/tools_t.h" + +# 36 "./src/tools_t/tools_t.h" +int COMPARE_N_TYPE_CHAR(const void *,const void*); void COPY_ARRAY_TYPE_CHAR(char* dst, const char* src, size_t size); char MAX_ARRAY_TYPE_CHAR(const char *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_CHAR(const char *array, size_t size); char MIN_ARRAY_TYPE_CHAR(const char *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_CHAR(const char *array, size_t size); +int COMPARE_N_TYPE_U_CHAR(const void *,const void*); void COPY_ARRAY_TYPE_U_CHAR(unsigned char* dst, const unsigned char* src, size_t size); unsigned char MAX_ARRAY_TYPE_U_CHAR(const unsigned char *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_U_CHAR(const unsigned char *array, size_t size); unsigned char MIN_ARRAY_TYPE_U_CHAR(const unsigned char *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_U_CHAR(const unsigned char *array, size_t size); +int COMPARE_N_TYPE_INT(const void *,const void*); void COPY_ARRAY_TYPE_INT(int* dst, const int* src, size_t size); int MAX_ARRAY_TYPE_INT(const int *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_INT(const int *array, size_t size); int MIN_ARRAY_TYPE_INT(const int *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_INT(const int *array, size_t size); +int COMPARE_N_TYPE_U_INT(const void *,const void*); void COPY_ARRAY_TYPE_U_INT(unsigned int* dst, const unsigned int* src, size_t size); unsigned int MAX_ARRAY_TYPE_U_INT(const unsigned int *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_U_INT(const unsigned int *array, size_t size); unsigned int MIN_ARRAY_TYPE_U_INT(const unsigned int *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_U_INT(const unsigned int *array, size_t size); +int COMPARE_N_TYPE_L_INT(const void *,const void*); void COPY_ARRAY_TYPE_L_INT(long int* dst, const long int* src, size_t size); long int MAX_ARRAY_TYPE_L_INT(const long int *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_L_INT(const long int *array, size_t size); long int MIN_ARRAY_TYPE_L_INT(const long int *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_L_INT(const long int *array, size_t size); +int COMPARE_N_TYPE_U_L_INT(const void *,const void*); void COPY_ARRAY_TYPE_U_L_INT(unsigned long int* dst, const unsigned long int* src, size_t size); unsigned long int MAX_ARRAY_TYPE_U_L_INT(const unsigned long int *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_U_L_INT(const unsigned long int *array, size_t size); unsigned long int MIN_ARRAY_TYPE_U_L_INT(const unsigned long int *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_U_L_INT(const unsigned long int *array, size_t size); +int COMPARE_N_TYPE_SIZE_T(const void *,const void*); void COPY_ARRAY_TYPE_SIZE_T(size_t* dst, const size_t* src, size_t size); size_t MAX_ARRAY_TYPE_SIZE_T(const size_t *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_SIZE_T(const size_t *array, size_t size); size_t MIN_ARRAY_TYPE_SIZE_T(const size_t *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_SIZE_T(const size_t *array, size_t size); +int COMPARE_N_TYPE_FLOAT(const void *,const void*); void COPY_ARRAY_TYPE_FLOAT(float* dst, const float* src, size_t size); float MAX_ARRAY_TYPE_FLOAT(const float *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_FLOAT(const float *array, size_t size); float MIN_ARRAY_TYPE_FLOAT(const float *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_FLOAT(const float *array, size_t size); +int COMPARE_N_TYPE_DOUBLE(const void *,const void*); void COPY_ARRAY_TYPE_DOUBLE(double* dst, const double* src, size_t size); double MAX_ARRAY_TYPE_DOUBLE(const double *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_DOUBLE(const double *array, size_t size); double MIN_ARRAY_TYPE_DOUBLE(const double *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_DOUBLE(const double *array, size_t size); +int COMPARE_N_TYPE_L_DOUBLE(const void *,const void*); void COPY_ARRAY_TYPE_L_DOUBLE(long double* dst, const long double* src, size_t size); long double MAX_ARRAY_TYPE_L_DOUBLE(const long double *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_L_DOUBLE(const long double *array, size_t size); long double MIN_ARRAY_TYPE_L_DOUBLE(const long double *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_L_DOUBLE(const long double *array, size_t size); +int COMPARE_N_TYPE_STRING(const void *,const void*); void COPY_ARRAY_TYPE_STRING(char** dst, const char** src, size_t size); char* MAX_ARRAY_TYPE_STRING(const char* *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_STRING(const char* *array, size_t size); char* MIN_ARRAY_TYPE_STRING(const char* *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_STRING(const char* *array, size_t size); +# 10 "./src/test_t/test_t.h" 2 + + +struct func { + char *name; + void (*run)(void); + struct func *next; +}; + + + + +void vprintf_colored(char *color, char * format, ...); + +void run_all_test(); +void execute_all(struct func *fun); +void append_func(void (*run)(void), char *name); +void clear_all_func(); + + +void init_test(); +# 2 "src/test_t/test_t.c" 2 +# 13 "src/test_t/test_t.c" +void begin_f(){ + printf("begin test_f\n"); +} + +struct func f_beging={"begin ftest",begin_f, +# 17 "src/test_t/test_t.c" 3 4 + ((void *)0) +# 17 "src/test_t/test_t.c" + }; +# 28 "src/test_t/test_t.c" +void vprintf_colored(char *color, char *format, ...) { + va_list args; + printf("%s",color); + +# 31 "src/test_t/test_t.c" 3 4 + __builtin_va_start( +# 31 "src/test_t/test_t.c" + args +# 31 "src/test_t/test_t.c" 3 4 + , +# 31 "src/test_t/test_t.c" + format +# 31 "src/test_t/test_t.c" 3 4 + ) +# 31 "src/test_t/test_t.c" + ; + vprintf(format, args); + +# 33 "src/test_t/test_t.c" 3 4 + __builtin_va_end( +# 33 "src/test_t/test_t.c" + args +# 33 "src/test_t/test_t.c" 3 4 + ) +# 33 "src/test_t/test_t.c" + ; + printf("\033[0m"); +} + + +void +append_func(void (*run)(void), char *name){ + static struct func *f_static=&f_beging; + struct func *tmp = malloc(sizeof(struct func)); + tmp->run = run; + tmp->name = malloc(strlen(name)); + strcpy(tmp->name,name); + tmp->next = +# 45 "src/test_t/test_t.c" 3 4 + ((void *)0) +# 45 "src/test_t/test_t.c" + ; + f_static->next = tmp; + f_static = tmp; +} + +void execute_all(struct func *fun){ + static size_t cur_test = 0; + printf("test %lu : %s\n",cur_test++, fun->name); + fun->run(); + if(fun->next) execute_all(fun->next); +} + +void +run_all_test() +{ + execute_all(&f_beging); +} + +void +clear_all_func(struct func **fun) +{ + if(*fun != +# 66 "src/test_t/test_t.c" 3 4 + ((void *)0) +# 66 "src/test_t/test_t.c" + ) + { + clear_all_func(&((*fun)->next)); + free(*fun); + *fun = +# 70 "src/test_t/test_t.c" 3 4 + ((void *)0) +# 70 "src/test_t/test_t.c" + ; + } +} diff --git a/file_E b/file_E new file mode 100644 index 0000000..d364fad --- /dev/null +++ b/file_E @@ -0,0 +1,11928 @@ +# 0 "src/test_t/is_good.c" +# 0 "" +# 0 "" +# 1 "/usr/include/stdc-predef.h" 1 3 4 +# 0 "" 2 +# 1 "src/test_t/is_good.c" +# 1 "/usr/include/stdio.h" 1 3 4 +# 27 "/usr/include/stdio.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 1 3 4 +# 33 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 3 4 +# 1 "/usr/include/features.h" 1 3 4 +# 392 "/usr/include/features.h" 3 4 +# 1 "/usr/include/features-time64.h" 1 3 4 +# 20 "/usr/include/features-time64.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 +# 21 "/usr/include/features-time64.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/timesize.h" 1 3 4 +# 19 "/usr/include/x86_64-linux-gnu/bits/timesize.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 +# 20 "/usr/include/x86_64-linux-gnu/bits/timesize.h" 2 3 4 +# 22 "/usr/include/features-time64.h" 2 3 4 +# 393 "/usr/include/features.h" 2 3 4 +# 486 "/usr/include/features.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 1 3 4 +# 559 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 +# 560 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/long-double.h" 1 3 4 +# 561 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 2 3 4 +# 487 "/usr/include/features.h" 2 3 4 +# 510 "/usr/include/features.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/gnu/stubs.h" 1 3 4 +# 10 "/usr/include/x86_64-linux-gnu/gnu/stubs.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/gnu/stubs-64.h" 1 3 4 +# 11 "/usr/include/x86_64-linux-gnu/gnu/stubs.h" 2 3 4 +# 511 "/usr/include/features.h" 2 3 4 +# 34 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 2 3 4 +# 28 "/usr/include/stdio.h" 2 3 4 + + + + + +# 1 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 1 3 4 +# 209 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 3 4 + +# 209 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 3 4 +typedef long unsigned int size_t; +# 34 "/usr/include/stdio.h" 2 3 4 + + +# 1 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stdarg.h" 1 3 4 +# 40 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stdarg.h" 3 4 +typedef __builtin_va_list __gnuc_va_list; +# 37 "/usr/include/stdio.h" 2 3 4 + +# 1 "/usr/include/x86_64-linux-gnu/bits/types.h" 1 3 4 +# 27 "/usr/include/x86_64-linux-gnu/bits/types.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 +# 28 "/usr/include/x86_64-linux-gnu/bits/types.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/timesize.h" 1 3 4 +# 19 "/usr/include/x86_64-linux-gnu/bits/timesize.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 +# 20 "/usr/include/x86_64-linux-gnu/bits/timesize.h" 2 3 4 +# 29 "/usr/include/x86_64-linux-gnu/bits/types.h" 2 3 4 + + +typedef unsigned char __u_char; +typedef unsigned short int __u_short; +typedef unsigned int __u_int; +typedef unsigned long int __u_long; + + +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; + +typedef signed long int __int64_t; +typedef unsigned long int __uint64_t; + + + + + + +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; + + + +typedef long int __quad_t; +typedef unsigned long int __u_quad_t; + + + + + + + +typedef long int __intmax_t; +typedef unsigned long int __uintmax_t; +# 141 "/usr/include/x86_64-linux-gnu/bits/types.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/typesizes.h" 1 3 4 +# 142 "/usr/include/x86_64-linux-gnu/bits/types.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/time64.h" 1 3 4 +# 143 "/usr/include/x86_64-linux-gnu/bits/types.h" 2 3 4 + + +typedef unsigned long int __dev_t; +typedef unsigned int __uid_t; +typedef unsigned int __gid_t; +typedef unsigned long int __ino_t; +typedef unsigned long int __ino64_t; +typedef unsigned int __mode_t; +typedef unsigned long int __nlink_t; +typedef long int __off_t; +typedef long int __off64_t; +typedef int __pid_t; +typedef struct { int __val[2]; } __fsid_t; +typedef long int __clock_t; +typedef unsigned long int __rlim_t; +typedef unsigned long int __rlim64_t; +typedef unsigned int __id_t; +typedef long int __time_t; +typedef unsigned int __useconds_t; +typedef long int __suseconds_t; +typedef long int __suseconds64_t; + +typedef int __daddr_t; +typedef int __key_t; + + +typedef int __clockid_t; + + +typedef void * __timer_t; + + +typedef long int __blksize_t; + + + + +typedef long int __blkcnt_t; +typedef long int __blkcnt64_t; + + +typedef unsigned long int __fsblkcnt_t; +typedef unsigned long int __fsblkcnt64_t; + + +typedef unsigned long int __fsfilcnt_t; +typedef unsigned long int __fsfilcnt64_t; + + +typedef long int __fsword_t; + +typedef long int __ssize_t; + + +typedef long int __syscall_slong_t; + +typedef unsigned long int __syscall_ulong_t; + + + +typedef __off64_t __loff_t; +typedef char *__caddr_t; + + +typedef long int __intptr_t; + + +typedef unsigned int __socklen_t; + + + + +typedef int __sig_atomic_t; +# 39 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h" 1 3 4 + + + + +# 1 "/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h" 1 3 4 +# 13 "/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h" 3 4 +typedef struct +{ + int __count; + union + { + unsigned int __wch; + char __wchb[4]; + } __value; +} __mbstate_t; +# 6 "/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h" 2 3 4 + + + + +typedef struct _G_fpos_t +{ + __off_t __pos; + __mbstate_t __state; +} __fpos_t; +# 40 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h" 1 3 4 +# 10 "/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h" 3 4 +typedef struct _G_fpos64_t +{ + __off64_t __pos; + __mbstate_t __state; +} __fpos64_t; +# 41 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/types/__FILE.h" 1 3 4 + + + +struct _IO_FILE; +typedef struct _IO_FILE __FILE; +# 42 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/types/FILE.h" 1 3 4 + + + +struct _IO_FILE; + + +typedef struct _IO_FILE FILE; +# 43 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h" 1 3 4 +# 35 "/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h" 3 4 +struct _IO_FILE; +struct _IO_marker; +struct _IO_codecvt; +struct _IO_wide_data; + + + + +typedef void _IO_lock_t; + + + + + +struct _IO_FILE +{ + int _flags; + + + char *_IO_read_ptr; + char *_IO_read_end; + char *_IO_read_base; + char *_IO_write_base; + char *_IO_write_ptr; + char *_IO_write_end; + char *_IO_buf_base; + char *_IO_buf_end; + + + char *_IO_save_base; + char *_IO_backup_base; + char *_IO_save_end; + + struct _IO_marker *_markers; + + struct _IO_FILE *_chain; + + int _fileno; + int _flags2; + __off_t _old_offset; + + + unsigned short _cur_column; + signed char _vtable_offset; + char _shortbuf[1]; + + _IO_lock_t *_lock; + + + + + + + + __off64_t _offset; + + struct _IO_codecvt *_codecvt; + struct _IO_wide_data *_wide_data; + struct _IO_FILE *_freeres_list; + void *_freeres_buf; + size_t __pad5; + int _mode; + + char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)]; +}; +# 44 "/usr/include/stdio.h" 2 3 4 +# 52 "/usr/include/stdio.h" 3 4 +typedef __gnuc_va_list va_list; +# 63 "/usr/include/stdio.h" 3 4 +typedef __off_t off_t; +# 77 "/usr/include/stdio.h" 3 4 +typedef __ssize_t ssize_t; + + + + + + +typedef __fpos_t fpos_t; +# 133 "/usr/include/stdio.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/stdio_lim.h" 1 3 4 +# 134 "/usr/include/stdio.h" 2 3 4 +# 143 "/usr/include/stdio.h" 3 4 +extern FILE *stdin; +extern FILE *stdout; +extern FILE *stderr; + + + + + + +extern int remove (const char *__filename) __attribute__ ((__nothrow__ , __leaf__)); + +extern int rename (const char *__old, const char *__new) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int renameat (int __oldfd, const char *__old, int __newfd, + const char *__new) __attribute__ ((__nothrow__ , __leaf__)); +# 178 "/usr/include/stdio.h" 3 4 +extern int fclose (FILE *__stream); +# 188 "/usr/include/stdio.h" 3 4 +extern FILE *tmpfile (void) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; +# 205 "/usr/include/stdio.h" 3 4 +extern char *tmpnam (char[20]) __attribute__ ((__nothrow__ , __leaf__)) ; + + + + +extern char *tmpnam_r (char __s[20]) __attribute__ ((__nothrow__ , __leaf__)) ; +# 222 "/usr/include/stdio.h" 3 4 +extern char *tempnam (const char *__dir, const char *__pfx) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (__builtin_free, 1))); + + + + + + +extern int fflush (FILE *__stream); +# 239 "/usr/include/stdio.h" 3 4 +extern int fflush_unlocked (FILE *__stream); +# 258 "/usr/include/stdio.h" 3 4 +extern FILE *fopen (const char *__restrict __filename, + const char *__restrict __modes) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; + + + + +extern FILE *freopen (const char *__restrict __filename, + const char *__restrict __modes, + FILE *__restrict __stream) ; +# 293 "/usr/include/stdio.h" 3 4 +extern FILE *fdopen (int __fd, const char *__modes) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; +# 308 "/usr/include/stdio.h" 3 4 +extern FILE *fmemopen (void *__s, size_t __len, const char *__modes) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; + + + + +extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; +# 328 "/usr/include/stdio.h" 3 4 +extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, + int __modes, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); + + + + +extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, + size_t __size) __attribute__ ((__nothrow__ , __leaf__)); + + +extern void setlinebuf (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); + + + + + + + +extern int fprintf (FILE *__restrict __stream, + const char *__restrict __format, ...); + + + + +extern int printf (const char *__restrict __format, ...); + +extern int sprintf (char *__restrict __s, + const char *__restrict __format, ...) __attribute__ ((__nothrow__)); + + + + + +extern int vfprintf (FILE *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg); + + + + +extern int vprintf (const char *__restrict __format, __gnuc_va_list __arg); + +extern int vsprintf (char *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg) __attribute__ ((__nothrow__)); + + + +extern int snprintf (char *__restrict __s, size_t __maxlen, + const char *__restrict __format, ...) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 4))); + +extern int vsnprintf (char *__restrict __s, size_t __maxlen, + const char *__restrict __format, __gnuc_va_list __arg) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 0))); +# 403 "/usr/include/stdio.h" 3 4 +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))); + + + + + + + +extern int fscanf (FILE *__restrict __stream, + const char *__restrict __format, ...) ; + + + + +extern int scanf (const char *__restrict __format, ...) ; + +extern int sscanf (const char *__restrict __s, + const char *__restrict __format, ...) __attribute__ ((__nothrow__ , __leaf__)); + + + + + +# 1 "/usr/include/x86_64-linux-gnu/bits/floatn.h" 1 3 4 +# 119 "/usr/include/x86_64-linux-gnu/bits/floatn.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 1 3 4 +# 24 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/long-double.h" 1 3 4 +# 25 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 2 3 4 +# 120 "/usr/include/x86_64-linux-gnu/bits/floatn.h" 2 3 4 +# 431 "/usr/include/stdio.h" 2 3 4 + + + +extern int fscanf (FILE *__restrict __stream, const char *__restrict __format, ...) __asm__ ("" "__isoc99_fscanf") + + ; +extern int scanf (const char *__restrict __format, ...) __asm__ ("" "__isoc99_scanf") + ; +extern int sscanf (const char *__restrict __s, const char *__restrict __format, ...) __asm__ ("" "__isoc99_sscanf") __attribute__ ((__nothrow__ , __leaf__)) + + ; +# 459 "/usr/include/stdio.h" 3 4 +extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg) + __attribute__ ((__format__ (__scanf__, 2, 0))) ; + + + + + +extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) + __attribute__ ((__format__ (__scanf__, 1, 0))) ; + + +extern int vsscanf (const char *__restrict __s, + const char *__restrict __format, __gnuc_va_list __arg) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__format__ (__scanf__, 2, 0))); + + + + + +extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vfscanf") + + + + __attribute__ ((__format__ (__scanf__, 2, 0))) ; +extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vscanf") + + __attribute__ ((__format__ (__scanf__, 1, 0))) ; +extern int vsscanf (const char *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vsscanf") __attribute__ ((__nothrow__ , __leaf__)) + + + + __attribute__ ((__format__ (__scanf__, 2, 0))); +# 513 "/usr/include/stdio.h" 3 4 +extern int fgetc (FILE *__stream); +extern int getc (FILE *__stream); + + + + + +extern int getchar (void); + + + + + + +extern int getc_unlocked (FILE *__stream); +extern int getchar_unlocked (void); +# 538 "/usr/include/stdio.h" 3 4 +extern int fgetc_unlocked (FILE *__stream); +# 549 "/usr/include/stdio.h" 3 4 +extern int fputc (int __c, FILE *__stream); +extern int putc (int __c, FILE *__stream); + + + + + +extern int putchar (int __c); +# 565 "/usr/include/stdio.h" 3 4 +extern int fputc_unlocked (int __c, FILE *__stream); + + + + + + + +extern int putc_unlocked (int __c, FILE *__stream); +extern int putchar_unlocked (int __c); + + + + + + +extern int getw (FILE *__stream); + + +extern int putw (int __w, FILE *__stream); + + + + + + + +extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream) + __attribute__ ((__access__ (__write_only__, 1, 2))); +# 632 "/usr/include/stdio.h" 3 4 +extern __ssize_t __getdelim (char **__restrict __lineptr, + size_t *__restrict __n, int __delimiter, + FILE *__restrict __stream) ; +extern __ssize_t getdelim (char **__restrict __lineptr, + size_t *__restrict __n, int __delimiter, + FILE *__restrict __stream) ; + + + + + + + +extern __ssize_t getline (char **__restrict __lineptr, + size_t *__restrict __n, + FILE *__restrict __stream) ; + + + + + + + +extern int fputs (const char *__restrict __s, FILE *__restrict __stream); + + + + + +extern int puts (const char *__s); + + + + + + +extern int ungetc (int __c, FILE *__stream); + + + + + + +extern size_t fread (void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream) ; + + + + +extern size_t fwrite (const void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __s); +# 702 "/usr/include/stdio.h" 3 4 +extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream) ; +extern size_t fwrite_unlocked (const void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream); + + + + + + + +extern int fseek (FILE *__stream, long int __off, int __whence); + + + + +extern long int ftell (FILE *__stream) ; + + + + +extern void rewind (FILE *__stream); +# 736 "/usr/include/stdio.h" 3 4 +extern int fseeko (FILE *__stream, __off_t __off, int __whence); + + + + +extern __off_t ftello (FILE *__stream) ; +# 760 "/usr/include/stdio.h" 3 4 +extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos); + + + + +extern int fsetpos (FILE *__stream, const fpos_t *__pos); +# 786 "/usr/include/stdio.h" 3 4 +extern void clearerr (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); + +extern int feof (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; + +extern int ferror (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; + + + +extern void clearerr_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); +extern int feof_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; +extern int ferror_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; + + + + + + + +extern void perror (const char *__s); + + + + +extern int fileno (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; + + + + +extern int fileno_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; +# 823 "/usr/include/stdio.h" 3 4 +extern int pclose (FILE *__stream); + + + + + +extern FILE *popen (const char *__command, const char *__modes) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (pclose, 1))) ; + + + + + + +extern char *ctermid (char *__s) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1))); +# 867 "/usr/include/stdio.h" 3 4 +extern void flockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int ftrylockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; + + +extern void funlockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); +# 885 "/usr/include/stdio.h" 3 4 +extern int __uflow (FILE *); +extern int __overflow (FILE *, int); +# 902 "/usr/include/stdio.h" 3 4 + +# 2 "src/test_t/is_good.c" 2 +# 1 "/usr/include/stdlib.h" 1 3 4 +# 26 "/usr/include/stdlib.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 1 3 4 +# 27 "/usr/include/stdlib.h" 2 3 4 + + + + + +# 1 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 1 3 4 +# 321 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 3 4 +typedef int wchar_t; +# 33 "/usr/include/stdlib.h" 2 3 4 + + + + + + + +# 1 "/usr/include/x86_64-linux-gnu/bits/waitflags.h" 1 3 4 +# 41 "/usr/include/stdlib.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/waitstatus.h" 1 3 4 +# 42 "/usr/include/stdlib.h" 2 3 4 +# 59 "/usr/include/stdlib.h" 3 4 +typedef struct + { + int quot; + int rem; + } div_t; + + + +typedef struct + { + long int quot; + long int rem; + } ldiv_t; + + + + + +__extension__ typedef struct + { + long long int quot; + long long int rem; + } lldiv_t; +# 98 "/usr/include/stdlib.h" 3 4 +extern size_t __ctype_get_mb_cur_max (void) __attribute__ ((__nothrow__ , __leaf__)) ; + + + +extern double atof (const char *__nptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; + +extern int atoi (const char *__nptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; + +extern long int atol (const char *__nptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; + + + +__extension__ extern long long int atoll (const char *__nptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; + + + +extern double strtod (const char *__restrict __nptr, + char **__restrict __endptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + +extern float strtof (const char *__restrict __nptr, + char **__restrict __endptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +extern long double strtold (const char *__restrict __nptr, + char **__restrict __endptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 177 "/usr/include/stdlib.h" 3 4 +extern long int strtol (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +extern unsigned long int strtoul (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + +__extension__ +extern long long int strtoq (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +__extension__ +extern unsigned long long int strtouq (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + +__extension__ +extern long long int strtoll (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +__extension__ +extern unsigned long long int strtoull (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 386 "/usr/include/stdlib.h" 3 4 +extern char *l64a (long int __n) __attribute__ ((__nothrow__ , __leaf__)) ; + + +extern long int a64l (const char *__s) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; + + + + +# 1 "/usr/include/x86_64-linux-gnu/sys/types.h" 1 3 4 +# 27 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 + + + + + + +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; + + +typedef __loff_t loff_t; + + + + +typedef __ino_t ino_t; +# 59 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 +typedef __dev_t dev_t; + + + + +typedef __gid_t gid_t; + + + + +typedef __mode_t mode_t; + + + + +typedef __nlink_t nlink_t; + + + + +typedef __uid_t uid_t; +# 97 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 +typedef __pid_t pid_t; + + + + + +typedef __id_t id_t; +# 114 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 +typedef __daddr_t daddr_t; +typedef __caddr_t caddr_t; + + + + + +typedef __key_t key_t; + + + + +# 1 "/usr/include/x86_64-linux-gnu/bits/types/clock_t.h" 1 3 4 + + + + + + +typedef __clock_t clock_t; +# 127 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 + +# 1 "/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h" 1 3 4 + + + + + + +typedef __clockid_t clockid_t; +# 129 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/types/time_t.h" 1 3 4 +# 10 "/usr/include/x86_64-linux-gnu/bits/types/time_t.h" 3 4 +typedef __time_t time_t; +# 130 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/types/timer_t.h" 1 3 4 + + + + + + +typedef __timer_t timer_t; +# 131 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 +# 144 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 +# 1 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 1 3 4 +# 145 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 + + + +typedef unsigned long int ulong; +typedef unsigned short int ushort; +typedef unsigned int uint; + + + + +# 1 "/usr/include/x86_64-linux-gnu/bits/stdint-intn.h" 1 3 4 +# 24 "/usr/include/x86_64-linux-gnu/bits/stdint-intn.h" 3 4 +typedef __int8_t int8_t; +typedef __int16_t int16_t; +typedef __int32_t int32_t; +typedef __int64_t int64_t; +# 156 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 + + +typedef __uint8_t u_int8_t; +typedef __uint16_t u_int16_t; +typedef __uint32_t u_int32_t; +typedef __uint64_t u_int64_t; + + +typedef int register_t __attribute__ ((__mode__ (__word__))); +# 176 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 +# 1 "/usr/include/endian.h" 1 3 4 +# 24 "/usr/include/endian.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/endian.h" 1 3 4 +# 35 "/usr/include/x86_64-linux-gnu/bits/endian.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/endianness.h" 1 3 4 +# 36 "/usr/include/x86_64-linux-gnu/bits/endian.h" 2 3 4 +# 25 "/usr/include/endian.h" 2 3 4 +# 35 "/usr/include/endian.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/byteswap.h" 1 3 4 +# 33 "/usr/include/x86_64-linux-gnu/bits/byteswap.h" 3 4 +static __inline __uint16_t +__bswap_16 (__uint16_t __bsx) +{ + + return __builtin_bswap16 (__bsx); + + + +} + + + + + + +static __inline __uint32_t +__bswap_32 (__uint32_t __bsx) +{ + + return __builtin_bswap32 (__bsx); + + + +} +# 69 "/usr/include/x86_64-linux-gnu/bits/byteswap.h" 3 4 +__extension__ static __inline __uint64_t +__bswap_64 (__uint64_t __bsx) +{ + + return __builtin_bswap64 (__bsx); + + + +} +# 36 "/usr/include/endian.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/uintn-identity.h" 1 3 4 +# 32 "/usr/include/x86_64-linux-gnu/bits/uintn-identity.h" 3 4 +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; +} +# 37 "/usr/include/endian.h" 2 3 4 +# 177 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 + + +# 1 "/usr/include/x86_64-linux-gnu/sys/select.h" 1 3 4 +# 30 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/select.h" 1 3 4 +# 31 "/usr/include/x86_64-linux-gnu/sys/select.h" 2 3 4 + + +# 1 "/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h" 1 3 4 + + + +# 1 "/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h" 1 3 4 + + + + +typedef struct +{ + unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; +} __sigset_t; +# 5 "/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h" 2 3 4 + + +typedef __sigset_t sigset_t; +# 34 "/usr/include/x86_64-linux-gnu/sys/select.h" 2 3 4 + + + +# 1 "/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h" 1 3 4 + + + + + + + +struct timeval +{ + + + + + __time_t tv_sec; + __suseconds_t tv_usec; + +}; +# 38 "/usr/include/x86_64-linux-gnu/sys/select.h" 2 3 4 + +# 1 "/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h" 1 3 4 +# 11 "/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h" 3 4 +struct timespec +{ + + + + __time_t tv_sec; + + + + + __syscall_slong_t tv_nsec; +# 31 "/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h" 3 4 +}; +# 40 "/usr/include/x86_64-linux-gnu/sys/select.h" 2 3 4 + + + +typedef __suseconds_t suseconds_t; + + + + + +typedef long int __fd_mask; +# 59 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4 +typedef struct + { + + + + + + + __fd_mask __fds_bits[1024 / (8 * (int) sizeof (__fd_mask))]; + + + } fd_set; + + + + + + +typedef __fd_mask fd_mask; +# 91 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4 + +# 102 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4 +extern int select (int __nfds, fd_set *__restrict __readfds, + fd_set *__restrict __writefds, + fd_set *__restrict __exceptfds, + struct timeval *__restrict __timeout); +# 127 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4 +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); +# 153 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4 + +# 180 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 + + + + + +typedef __blksize_t blksize_t; + + + + + + +typedef __blkcnt_t blkcnt_t; + + + +typedef __fsblkcnt_t fsblkcnt_t; + + + +typedef __fsfilcnt_t fsfilcnt_t; +# 227 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 1 3 4 +# 23 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 1 3 4 +# 44 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h" 1 3 4 +# 21 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 +# 22 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h" 2 3 4 +# 45 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 2 3 4 + +# 1 "/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h" 1 3 4 +# 25 "/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h" 3 4 +typedef union +{ + __extension__ unsigned long long int __value64; + struct + { + unsigned int __low; + unsigned int __high; + } __value32; +} __atomic_wide_counter; +# 47 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 2 3 4 + + + + +typedef struct __pthread_internal_list +{ + struct __pthread_internal_list *__prev; + struct __pthread_internal_list *__next; +} __pthread_list_t; + +typedef struct __pthread_internal_slist +{ + struct __pthread_internal_slist *__next; +} __pthread_slist_t; +# 76 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/struct_mutex.h" 1 3 4 +# 22 "/usr/include/x86_64-linux-gnu/bits/struct_mutex.h" 3 4 +struct __pthread_mutex_s +{ + int __lock; + unsigned int __count; + int __owner; + + unsigned int __nusers; + + + + int __kind; + + short __spins; + short __elision; + __pthread_list_t __list; +# 53 "/usr/include/x86_64-linux-gnu/bits/struct_mutex.h" 3 4 +}; +# 77 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 2 3 4 +# 89 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h" 1 3 4 +# 23 "/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h" 3 4 +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; + + int __cur_writer; + int __shared; + signed char __rwelision; + + + + + unsigned char __pad1[7]; + + + unsigned long int __pad2; + + + unsigned int __flags; +# 55 "/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h" 3 4 +}; +# 90 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 2 3 4 + + + + +struct __pthread_cond_s +{ + __atomic_wide_counter __wseq; + __atomic_wide_counter __g1_start; + unsigned int __g_refs[2] ; + unsigned int __g_size[2]; + unsigned int __g1_orig_size; + unsigned int __wrefs; + unsigned int __g_signals[2]; +}; + +typedef unsigned int __tss_t; +typedef unsigned long int __thrd_t; + +typedef struct +{ + int __data ; +} __once_flag; +# 24 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 2 3 4 + + + +typedef unsigned long int pthread_t; + + + + +typedef union +{ + char __size[4]; + int __align; +} pthread_mutexattr_t; + + + + +typedef union +{ + char __size[4]; + int __align; +} pthread_condattr_t; + + + +typedef unsigned int pthread_key_t; + + + +typedef int pthread_once_t; + + +union pthread_attr_t +{ + char __size[56]; + long int __align; +}; + +typedef union pthread_attr_t pthread_attr_t; + + + + +typedef union +{ + struct __pthread_mutex_s __data; + char __size[40]; + long int __align; +} pthread_mutex_t; + + +typedef union +{ + struct __pthread_cond_s __data; + char __size[48]; + __extension__ long long int __align; +} pthread_cond_t; + + + + + +typedef union +{ + struct __pthread_rwlock_arch_t __data; + char __size[56]; + long int __align; +} pthread_rwlock_t; + +typedef union +{ + char __size[8]; + long int __align; +} pthread_rwlockattr_t; + + + + + +typedef volatile int pthread_spinlock_t; + + + + +typedef union +{ + char __size[32]; + long int __align; +} pthread_barrier_t; + +typedef union +{ + char __size[4]; + int __align; +} pthread_barrierattr_t; +# 228 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 + + + +# 396 "/usr/include/stdlib.h" 2 3 4 + + + + + + +extern long int random (void) __attribute__ ((__nothrow__ , __leaf__)); + + +extern void srandom (unsigned int __seed) __attribute__ ((__nothrow__ , __leaf__)); + + + + + +extern char *initstate (unsigned int __seed, char *__statebuf, + size_t __statelen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + + + +extern char *setstate (char *__statebuf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + + +struct random_data + { + int32_t *fptr; + int32_t *rptr; + int32_t *state; + int rand_type; + int rand_deg; + int rand_sep; + int32_t *end_ptr; + }; + +extern int random_r (struct random_data *__restrict __buf, + int32_t *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + +extern int srandom_r (unsigned int __seed, struct random_data *__buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + +extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, + size_t __statelen, + struct random_data *__restrict __buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 4))); + +extern int setstate_r (char *__restrict __statebuf, + struct random_data *__restrict __buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + + +extern int rand (void) __attribute__ ((__nothrow__ , __leaf__)); + +extern void srand (unsigned int __seed) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int rand_r (unsigned int *__seed) __attribute__ ((__nothrow__ , __leaf__)); + + + + + + + +extern double drand48 (void) __attribute__ ((__nothrow__ , __leaf__)); +extern double erand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern long int lrand48 (void) __attribute__ ((__nothrow__ , __leaf__)); +extern long int nrand48 (unsigned short int __xsubi[3]) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern long int mrand48 (void) __attribute__ ((__nothrow__ , __leaf__)); +extern long int jrand48 (unsigned short int __xsubi[3]) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern void srand48 (long int __seedval) __attribute__ ((__nothrow__ , __leaf__)); +extern unsigned short int *seed48 (unsigned short int __seed16v[3]) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +extern void lcong48 (unsigned short int __param[7]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + +struct drand48_data + { + unsigned short int __x[3]; + unsigned short int __old_x[3]; + unsigned short int __c; + unsigned short int __init; + __extension__ unsigned long long int __a; + + }; + + +extern int drand48_r (struct drand48_data *__restrict __buffer, + double *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern int erand48_r (unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + double *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int lrand48_r (struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern int nrand48_r (unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int mrand48_r (struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern int jrand48_r (unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int srand48_r (long int __seedval, struct drand48_data *__buffer) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + +extern int seed48_r (unsigned short int __seed16v[3], + struct drand48_data *__buffer) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + +extern int lcong48_r (unsigned short int __param[7], + struct drand48_data *__buffer) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + +extern void *malloc (size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) + __attribute__ ((__alloc_size__ (1))) ; + +extern void *calloc (size_t __nmemb, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__alloc_size__ (1, 2))) ; + + + + + + +extern void *realloc (void *__ptr, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__alloc_size__ (2))); + + +extern void free (void *__ptr) __attribute__ ((__nothrow__ , __leaf__)); + + + + + + + +extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) + __attribute__ ((__alloc_size__ (2, 3))) + __attribute__ ((__malloc__ (__builtin_free, 1))); + + +extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__ (reallocarray, 1))); + + + +# 1 "/usr/include/alloca.h" 1 3 4 +# 24 "/usr/include/alloca.h" 3 4 +# 1 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 1 3 4 +# 25 "/usr/include/alloca.h" 2 3 4 + + + + + + + +extern void *alloca (size_t __size) __attribute__ ((__nothrow__ , __leaf__)); + + + + + + +# 575 "/usr/include/stdlib.h" 2 3 4 + + + + + +extern void *valloc (size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) + __attribute__ ((__alloc_size__ (1))) ; + + + + +extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; + + + + +extern void *aligned_alloc (size_t __alignment, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__alloc_align__ (1))) + __attribute__ ((__alloc_size__ (2))) ; + + + +extern void abort (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); + + + +extern int atexit (void (*__func) (void)) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + + +extern int at_quick_exit (void (*__func) (void)) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + +extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + +extern void exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); + + + + + +extern void quick_exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); + + + + + +extern void _Exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); + + + + +extern char *getenv (const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; +# 654 "/usr/include/stdlib.h" 3 4 +extern int putenv (char *__string) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + +extern int setenv (const char *__name, const char *__value, int __replace) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + + +extern int unsetenv (const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + +extern int clearenv (void) __attribute__ ((__nothrow__ , __leaf__)); +# 682 "/usr/include/stdlib.h" 3 4 +extern char *mktemp (char *__template) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 695 "/usr/include/stdlib.h" 3 4 +extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) ; +# 717 "/usr/include/stdlib.h" 3 4 +extern int mkstemps (char *__template, int __suffixlen) __attribute__ ((__nonnull__ (1))) ; +# 738 "/usr/include/stdlib.h" 3 4 +extern char *mkdtemp (char *__template) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; +# 791 "/usr/include/stdlib.h" 3 4 +extern int system (const char *__command) ; +# 808 "/usr/include/stdlib.h" 3 4 +extern char *realpath (const char *__restrict __name, + char *__restrict __resolved) __attribute__ ((__nothrow__ , __leaf__)) ; + + + + + + +typedef int (*__compar_fn_t) (const void *, const void *); +# 828 "/usr/include/stdlib.h" 3 4 +extern void *bsearch (const void *__key, const void *__base, + size_t __nmemb, size_t __size, __compar_fn_t __compar) + __attribute__ ((__nonnull__ (1, 2, 5))) ; + + + + + + + +extern void qsort (void *__base, size_t __nmemb, size_t __size, + __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4))); +# 848 "/usr/include/stdlib.h" 3 4 +extern int abs (int __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; +extern long int labs (long int __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; + + +__extension__ extern long long int llabs (long long int __x) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; + + + + + + +extern div_t div (int __numer, int __denom) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; +extern ldiv_t ldiv (long int __numer, long int __denom) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; + + +__extension__ extern lldiv_t lldiv (long long int __numer, + long long int __denom) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; +# 880 "/usr/include/stdlib.h" 3 4 +extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) ; + + + + +extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) ; + + + + +extern char *gcvt (double __value, int __ndigit, char *__buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))) ; + + + + +extern char *qecvt (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) ; +extern char *qfcvt (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) ; +extern char *qgcvt (long double __value, int __ndigit, char *__buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))) ; + + + + +extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign, char *__restrict __buf, + size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); +extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign, char *__restrict __buf, + size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__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) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__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) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); + + + + + +extern int mblen (const char *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); + + +extern int mbtowc (wchar_t *__restrict __pwc, + const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); + + +extern int wctomb (char *__s, wchar_t __wchar) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern size_t mbstowcs (wchar_t *__restrict __pwcs, + const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__read_only__, 2))); + +extern size_t wcstombs (char *__restrict __s, + const wchar_t *__restrict __pwcs, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1, 3))) + __attribute__ ((__access__ (__read_only__, 2))); + + + + + + +extern int rpmatch (const char *__response) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; +# 967 "/usr/include/stdlib.h" 3 4 +extern int getsubopt (char **__restrict __optionp, + char *const *__restrict __tokens, + char **__restrict __valuep) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2, 3))) ; +# 1013 "/usr/include/stdlib.h" 3 4 +extern int getloadavg (double __loadavg[], int __nelem) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 1023 "/usr/include/stdlib.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/stdlib-float.h" 1 3 4 +# 1024 "/usr/include/stdlib.h" 2 3 4 +# 1035 "/usr/include/stdlib.h" 3 4 + +# 3 "src/test_t/is_good.c" 2 + +# 1 "./src/test_t/test_t.h" 1 + + + + + + +# 1 "./src/tools_t/tools_t.h" 1 + + + + + +# 1 "/usr/include/string.h" 1 3 4 +# 26 "/usr/include/string.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 1 3 4 +# 27 "/usr/include/string.h" 2 3 4 + + + + + + +# 1 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 1 3 4 +# 34 "/usr/include/string.h" 2 3 4 +# 43 "/usr/include/string.h" 3 4 +extern void *memcpy (void *__restrict __dest, const void *__restrict __src, + size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern void *memmove (void *__dest, const void *__src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + + +extern void *memccpy (void *__restrict __dest, const void *__restrict __src, + int __c, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__access__ (__write_only__, 1, 4))); + + + + +extern void *memset (void *__s, int __c, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern int memcmp (const void *__s1, const void *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); +# 80 "/usr/include/string.h" 3 4 +extern int __memcmpeq (const void *__s1, const void *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); +# 107 "/usr/include/string.h" 3 4 +extern void *memchr (const void *__s, int __c, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); +# 141 "/usr/include/string.h" 3 4 +extern char *strcpy (char *__restrict __dest, const char *__restrict __src) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + +extern char *strncpy (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern char *strcat (char *__restrict __dest, const char *__restrict __src) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + +extern char *strncat (char *__restrict __dest, const char *__restrict __src, + size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int strcmp (const char *__s1, const char *__s2) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + +extern int strncmp (const char *__s1, const char *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int strcoll (const char *__s1, const char *__s2) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + +extern size_t strxfrm (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))) __attribute__ ((__access__ (__write_only__, 1, 3))); + + + +# 1 "/usr/include/x86_64-linux-gnu/bits/types/locale_t.h" 1 3 4 +# 22 "/usr/include/x86_64-linux-gnu/bits/types/locale_t.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h" 1 3 4 +# 27 "/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h" 3 4 +struct __locale_struct +{ + + struct __locale_data *__locales[13]; + + + const unsigned short int *__ctype_b; + const int *__ctype_tolower; + const int *__ctype_toupper; + + + const char *__names[13]; +}; + +typedef struct __locale_struct *__locale_t; +# 23 "/usr/include/x86_64-linux-gnu/bits/types/locale_t.h" 2 3 4 + +typedef __locale_t locale_t; +# 173 "/usr/include/string.h" 2 3 4 + + +extern int strcoll_l (const char *__s1, const char *__s2, locale_t __l) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); + + +extern size_t strxfrm_l (char *__dest, const char *__src, size_t __n, + locale_t __l) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 4))) + __attribute__ ((__access__ (__write_only__, 1, 3))); + + + + + +extern char *strdup (const char *__s) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); + + + + + + +extern char *strndup (const char *__string, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); +# 246 "/usr/include/string.h" 3 4 +extern char *strchr (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); +# 273 "/usr/include/string.h" 3 4 +extern char *strrchr (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); +# 293 "/usr/include/string.h" 3 4 +extern size_t strcspn (const char *__s, const char *__reject) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern size_t strspn (const char *__s, const char *__accept) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); +# 323 "/usr/include/string.h" 3 4 +extern char *strpbrk (const char *__s, const char *__accept) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); +# 350 "/usr/include/string.h" 3 4 +extern char *strstr (const char *__haystack, const char *__needle) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + + + +extern char *strtok (char *__restrict __s, const char *__restrict __delim) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + + + +extern char *__strtok_r (char *__restrict __s, + const char *__restrict __delim, + char **__restrict __save_ptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))); + +extern char *strtok_r (char *__restrict __s, const char *__restrict __delim, + char **__restrict __save_ptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))); +# 407 "/usr/include/string.h" 3 4 +extern size_t strlen (const char *__s) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); + + + + +extern size_t strnlen (const char *__string, size_t __maxlen) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); + + + + +extern char *strerror (int __errnum) __attribute__ ((__nothrow__ , __leaf__)); +# 432 "/usr/include/string.h" 3 4 +extern int strerror_r (int __errnum, char *__buf, size_t __buflen) __asm__ ("" "__xpg_strerror_r") __attribute__ ((__nothrow__ , __leaf__)) + + __attribute__ ((__nonnull__ (2))) + __attribute__ ((__access__ (__write_only__, 2, 3))); +# 458 "/usr/include/string.h" 3 4 +extern char *strerror_l (int __errnum, locale_t __l) __attribute__ ((__nothrow__ , __leaf__)); + + + +# 1 "/usr/include/strings.h" 1 3 4 +# 23 "/usr/include/strings.h" 3 4 +# 1 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 1 3 4 +# 24 "/usr/include/strings.h" 2 3 4 + + + + + + + + + + +extern int bcmp (const void *__s1, const void *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern void bcopy (const void *__src, void *__dest, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern void bzero (void *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 68 "/usr/include/strings.h" 3 4 +extern char *index (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); +# 96 "/usr/include/strings.h" 3 4 +extern char *rindex (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); + + + + + + +extern int ffs (int __i) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); + + + + + +extern int ffsl (long int __l) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); +__extension__ extern int ffsll (long long int __ll) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); + + + +extern int strcasecmp (const char *__s1, const char *__s2) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int strncasecmp (const char *__s1, const char *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + + + + + +extern int strcasecmp_l (const char *__s1, const char *__s2, locale_t __loc) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); + + + +extern int strncasecmp_l (const char *__s1, const char *__s2, + size_t __n, locale_t __loc) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 4))); + + + +# 463 "/usr/include/string.h" 2 3 4 + + + +extern void explicit_bzero (void *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) + __attribute__ ((__access__ (__write_only__, 1, 2))); + + + +extern char *strsep (char **__restrict __stringp, + const char *__restrict __delim) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + +extern char *strsignal (int __sig) __attribute__ ((__nothrow__ , __leaf__)); +# 489 "/usr/include/string.h" 3 4 +extern char *__stpcpy (char *__restrict __dest, const char *__restrict __src) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern char *stpcpy (char *__restrict __dest, const char *__restrict __src) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + +extern char *__stpncpy (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern char *stpncpy (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +# 539 "/usr/include/string.h" 3 4 + +# 7 "./src/tools_t/tools_t.h" 2 +# 1 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stdbool.h" 1 3 4 +# 8 "./src/tools_t/tools_t.h" 2 +# 36 "./src/tools_t/tools_t.h" + +# 36 "./src/tools_t/tools_t.h" +int COMPARE_N_TYPE_CHAR(const void *,const void*); void COPY_ARRAY_TYPE_CHAR(char* dst, const char* src, size_t size); char MAX_ARRAY_TYPE_CHAR(const char *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_CHAR(const char *array, size_t size); char MIN_ARRAY_TYPE_CHAR(const char *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_CHAR(const char *array, size_t size); +int COMPARE_N_TYPE_U_CHAR(const void *,const void*); void COPY_ARRAY_TYPE_U_CHAR(unsigned char* dst, const unsigned char* src, size_t size); unsigned char MAX_ARRAY_TYPE_U_CHAR(const unsigned char *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_U_CHAR(const unsigned char *array, size_t size); unsigned char MIN_ARRAY_TYPE_U_CHAR(const unsigned char *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_U_CHAR(const unsigned char *array, size_t size); +int COMPARE_N_TYPE_INT(const void *,const void*); void COPY_ARRAY_TYPE_INT(int* dst, const int* src, size_t size); int MAX_ARRAY_TYPE_INT(const int *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_INT(const int *array, size_t size); int MIN_ARRAY_TYPE_INT(const int *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_INT(const int *array, size_t size); +int COMPARE_N_TYPE_U_INT(const void *,const void*); void COPY_ARRAY_TYPE_U_INT(unsigned int* dst, const unsigned int* src, size_t size); unsigned int MAX_ARRAY_TYPE_U_INT(const unsigned int *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_U_INT(const unsigned int *array, size_t size); unsigned int MIN_ARRAY_TYPE_U_INT(const unsigned int *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_U_INT(const unsigned int *array, size_t size); +int COMPARE_N_TYPE_L_INT(const void *,const void*); void COPY_ARRAY_TYPE_L_INT(long int* dst, const long int* src, size_t size); long int MAX_ARRAY_TYPE_L_INT(const long int *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_L_INT(const long int *array, size_t size); long int MIN_ARRAY_TYPE_L_INT(const long int *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_L_INT(const long int *array, size_t size); +int COMPARE_N_TYPE_U_L_INT(const void *,const void*); void COPY_ARRAY_TYPE_U_L_INT(unsigned long int* dst, const unsigned long int* src, size_t size); unsigned long int MAX_ARRAY_TYPE_U_L_INT(const unsigned long int *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_U_L_INT(const unsigned long int *array, size_t size); unsigned long int MIN_ARRAY_TYPE_U_L_INT(const unsigned long int *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_U_L_INT(const unsigned long int *array, size_t size); +int COMPARE_N_TYPE_SIZE_T(const void *,const void*); void COPY_ARRAY_TYPE_SIZE_T(size_t* dst, const size_t* src, size_t size); size_t MAX_ARRAY_TYPE_SIZE_T(const size_t *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_SIZE_T(const size_t *array, size_t size); size_t MIN_ARRAY_TYPE_SIZE_T(const size_t *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_SIZE_T(const size_t *array, size_t size); +int COMPARE_N_TYPE_FLOAT(const void *,const void*); void COPY_ARRAY_TYPE_FLOAT(float* dst, const float* src, size_t size); float MAX_ARRAY_TYPE_FLOAT(const float *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_FLOAT(const float *array, size_t size); float MIN_ARRAY_TYPE_FLOAT(const float *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_FLOAT(const float *array, size_t size); +int COMPARE_N_TYPE_DOUBLE(const void *,const void*); void COPY_ARRAY_TYPE_DOUBLE(double* dst, const double* src, size_t size); double MAX_ARRAY_TYPE_DOUBLE(const double *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_DOUBLE(const double *array, size_t size); double MIN_ARRAY_TYPE_DOUBLE(const double *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_DOUBLE(const double *array, size_t size); +int COMPARE_N_TYPE_L_DOUBLE(const void *,const void*); void COPY_ARRAY_TYPE_L_DOUBLE(long double* dst, const long double* src, size_t size); long double MAX_ARRAY_TYPE_L_DOUBLE(const long double *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_L_DOUBLE(const long double *array, size_t size); long double MIN_ARRAY_TYPE_L_DOUBLE(const long double *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_L_DOUBLE(const long double *array, size_t size); +int COMPARE_N_TYPE_STRING(const void *,const void*); void COPY_ARRAY_TYPE_STRING(char** dst, const char** src, size_t size); char* MAX_ARRAY_TYPE_STRING(const char* *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_STRING(const char* *array, size_t size); char* MIN_ARRAY_TYPE_STRING(const char* *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_STRING(const char* *array, size_t size); +# 8 "./src/test_t/test_t.h" 2 +# 17 "./src/test_t/test_t.h" +struct function_list{ + char * name_function; + void(*function_top)(void); + struct function_list * next; +}; +typedef struct function_list function_list; + +void append_function_list(void(*f)(void), char *name_function); +void execute_all_function_list(); +void run_all_tests(); +void init_test(); +# 42 "./src/test_t/test_t.h" +void print_OK(); +void print_KO(); +void print_OK_with_msg(char* msg); +void print_KO_with_msg(char *msg); +void print_OK_with_msg_endl(char* msg); +void print_KO_with_msg_endl(char *msg); +# 5 "src/test_t/is_good.c" 2 + +# 1 "./src/permutation_t/permutation_t.h" 1 + + + + +# 1 "./src/set_theoric_t/set_theoric_t.h" 1 +# 16 "./src/set_theoric_t/set_theoric_t.h" +struct SET_THEORIC_TYPE_U_CHAR{ unsigned char id; unsigned char *set;}; typedef struct SET_THEORIC_TYPE_U_CHAR SET_THEORIC_TYPE_U_CHAR; SET_THEORIC_TYPE_U_CHAR * CREATE_SET_THEORIC_TYPE_U_CHAR(TYPE_TYPE_U_CHAR); +# 16 "./src/set_theoric_t/set_theoric_t.h" 3 4 +_Bool +# 16 "./src/set_theoric_t/set_theoric_t.h" +IS_SET_THEORIC_TYPE_U_CHAR(SET_THEORIC_TYPE_U_CHAR *st); +struct SET_THEORIC_TYPE_U_INT{ unsigned int id; unsigned int *set;}; typedef struct SET_THEORIC_TYPE_U_INT SET_THEORIC_TYPE_U_INT; SET_THEORIC_TYPE_U_INT * CREATE_SET_THEORIC_TYPE_U_INT(TYPE_TYPE_U_INT); +# 17 "./src/set_theoric_t/set_theoric_t.h" 3 4 +_Bool +# 17 "./src/set_theoric_t/set_theoric_t.h" +IS_SET_THEORIC_TYPE_U_INT(SET_THEORIC_TYPE_U_INT *st); +struct SET_THEORIC_TYPE_U_L_INT{ unsigned long int id; unsigned long int *set;}; typedef struct SET_THEORIC_TYPE_U_L_INT SET_THEORIC_TYPE_U_L_INT; SET_THEORIC_TYPE_U_L_INT * CREATE_SET_THEORIC_TYPE_U_L_INT(TYPE_TYPE_U_L_INT); +# 18 "./src/set_theoric_t/set_theoric_t.h" 3 4 +_Bool +# 18 "./src/set_theoric_t/set_theoric_t.h" +IS_SET_THEORIC_TYPE_U_L_INT(SET_THEORIC_TYPE_U_L_INT *st); +struct SET_THEORIC_TYPE_SIZE_T{ size_t id; size_t *set;}; typedef struct SET_THEORIC_TYPE_SIZE_T SET_THEORIC_TYPE_SIZE_T; SET_THEORIC_TYPE_SIZE_T * CREATE_SET_THEORIC_TYPE_SIZE_T(TYPE_TYPE_SIZE_T); +# 19 "./src/set_theoric_t/set_theoric_t.h" 3 4 +_Bool +# 19 "./src/set_theoric_t/set_theoric_t.h" +IS_SET_THEORIC_TYPE_SIZE_T(SET_THEORIC_TYPE_SIZE_T *st); +# 6 "./src/permutation_t/permutation_t.h" 2 +# 23 "./src/permutation_t/permutation_t.h" +struct PERMUTATION_TYPE_CHAR{ size_t size; char * perm; }; typedef struct PERMUTATION_TYPE_CHAR PERMUTATION_TYPE_CHAR; PERMUTATION_TYPE_CHAR * CREATE_PERMUTATION_TYPE_CHAR(size_t size); +struct PERMUTATION_TYPE_U_CHAR{ size_t size; unsigned char * perm; }; typedef struct PERMUTATION_TYPE_U_CHAR PERMUTATION_TYPE_U_CHAR; PERMUTATION_TYPE_U_CHAR * CREATE_PERMUTATION_TYPE_U_CHAR(size_t size); +struct PERMUTATION_TYPE_INT{ size_t size; int * perm; }; typedef struct PERMUTATION_TYPE_INT PERMUTATION_TYPE_INT; PERMUTATION_TYPE_INT * CREATE_PERMUTATION_TYPE_INT(size_t size); +struct PERMUTATION_TYPE_U_INT{ size_t size; unsigned int * perm; }; typedef struct PERMUTATION_TYPE_U_INT PERMUTATION_TYPE_U_INT; PERMUTATION_TYPE_U_INT * CREATE_PERMUTATION_TYPE_U_INT(size_t size); +struct PERMUTATION_TYPE_L_INT{ size_t size; long int * perm; }; typedef struct PERMUTATION_TYPE_L_INT PERMUTATION_TYPE_L_INT; PERMUTATION_TYPE_L_INT * CREATE_PERMUTATION_TYPE_L_INT(size_t size); +struct PERMUTATION_TYPE_U_L_INT{ size_t size; unsigned long int * perm; }; typedef struct PERMUTATION_TYPE_U_L_INT PERMUTATION_TYPE_U_L_INT; PERMUTATION_TYPE_U_L_INT * CREATE_PERMUTATION_TYPE_U_L_INT(size_t size); +struct PERMUTATION_TYPE_SIZE_T{ size_t size; size_t * perm; }; typedef struct PERMUTATION_TYPE_SIZE_T PERMUTATION_TYPE_SIZE_T; PERMUTATION_TYPE_SIZE_T * CREATE_PERMUTATION_TYPE_SIZE_T(size_t size); +struct PERMUTATION_TYPE_FLOAT{ size_t size; float * perm; }; typedef struct PERMUTATION_TYPE_FLOAT PERMUTATION_TYPE_FLOAT; PERMUTATION_TYPE_FLOAT * CREATE_PERMUTATION_TYPE_FLOAT(size_t size); +struct PERMUTATION_TYPE_DOUBLE{ size_t size; double * perm; }; typedef struct PERMUTATION_TYPE_DOUBLE PERMUTATION_TYPE_DOUBLE; PERMUTATION_TYPE_DOUBLE * CREATE_PERMUTATION_TYPE_DOUBLE(size_t size); +struct PERMUTATION_TYPE_L_DOUBLE{ size_t size; long double * perm; }; typedef struct PERMUTATION_TYPE_L_DOUBLE PERMUTATION_TYPE_L_DOUBLE; PERMUTATION_TYPE_L_DOUBLE * CREATE_PERMUTATION_TYPE_L_DOUBLE(size_t size); +struct PERMUTATION_TYPE_STRING{ size_t size; char* * perm; }; typedef struct PERMUTATION_TYPE_STRING PERMUTATION_TYPE_STRING; PERMUTATION_TYPE_STRING * CREATE_PERMUTATION_TYPE_STRING(size_t size); + + + + + +# 38 "./src/permutation_t/permutation_t.h" 3 4 +_Bool +# 38 "./src/permutation_t/permutation_t.h" +IS_PERMUTATION_SET_THEORIC_TYPE_U_CHAR(const PERMUTATION_TYPE_U_CHAR *p); + +# 39 "./src/permutation_t/permutation_t.h" 3 4 +_Bool +# 39 "./src/permutation_t/permutation_t.h" +IS_PERMUTATION_SET_THEORIC_TYPE_U_INT(const PERMUTATION_TYPE_U_INT *p); + +# 40 "./src/permutation_t/permutation_t.h" 3 4 +_Bool +# 40 "./src/permutation_t/permutation_t.h" +IS_PERMUTATION_SET_THEORIC_TYPE_U_L_INT(const PERMUTATION_TYPE_U_L_INT *p); + +# 41 "./src/permutation_t/permutation_t.h" 3 4 +_Bool +# 41 "./src/permutation_t/permutation_t.h" +IS_PERMUTATION_SET_THEORIC_TYPE_SIZE_T(const PERMUTATION_TYPE_SIZE_T *p); +# 7 "src/test_t/is_good.c" 2 + + +void test_size_permutation() +{ + + PERMUTATION_TYPE_CHAR *p = CREATE_PERMUTATION_TYPE_CHAR(3); + + printf(" size = %u \n",p->size); + if(p->size == 3) print_OK_with_msg_endl("GOOD test size passed "); + else print_KO_with_msg_endl("NOT GOOD test size not passed "); + +} +char name_fonction[]="size_permutation";void (*v_test_size_permutation)(void) = &test_size_permutation;append_function_list(v_test_size_permutation,name_fonction); + +int main(){ + + + + return 0; +} +# 0 "src/test_t/test_t.c" +# 0 "" +# 0 "" +# 1 "/usr/include/stdc-predef.h" 1 3 4 +# 0 "" 2 +# 1 "src/test_t/test_t.c" +# 1 "./src/test_t/test_t.h" 1 + + + +# 1 "/usr/include/stdio.h" 1 3 4 +# 27 "/usr/include/stdio.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 1 3 4 +# 33 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 3 4 +# 1 "/usr/include/features.h" 1 3 4 +# 392 "/usr/include/features.h" 3 4 +# 1 "/usr/include/features-time64.h" 1 3 4 +# 20 "/usr/include/features-time64.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 +# 21 "/usr/include/features-time64.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/timesize.h" 1 3 4 +# 19 "/usr/include/x86_64-linux-gnu/bits/timesize.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 +# 20 "/usr/include/x86_64-linux-gnu/bits/timesize.h" 2 3 4 +# 22 "/usr/include/features-time64.h" 2 3 4 +# 393 "/usr/include/features.h" 2 3 4 +# 486 "/usr/include/features.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 1 3 4 +# 559 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 +# 560 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/long-double.h" 1 3 4 +# 561 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 2 3 4 +# 487 "/usr/include/features.h" 2 3 4 +# 510 "/usr/include/features.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/gnu/stubs.h" 1 3 4 +# 10 "/usr/include/x86_64-linux-gnu/gnu/stubs.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/gnu/stubs-64.h" 1 3 4 +# 11 "/usr/include/x86_64-linux-gnu/gnu/stubs.h" 2 3 4 +# 511 "/usr/include/features.h" 2 3 4 +# 34 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 2 3 4 +# 28 "/usr/include/stdio.h" 2 3 4 + + + + + +# 1 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 1 3 4 +# 209 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 3 4 + +# 209 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 3 4 +typedef long unsigned int size_t; +# 34 "/usr/include/stdio.h" 2 3 4 + + +# 1 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stdarg.h" 1 3 4 +# 40 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stdarg.h" 3 4 +typedef __builtin_va_list __gnuc_va_list; +# 37 "/usr/include/stdio.h" 2 3 4 + +# 1 "/usr/include/x86_64-linux-gnu/bits/types.h" 1 3 4 +# 27 "/usr/include/x86_64-linux-gnu/bits/types.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 +# 28 "/usr/include/x86_64-linux-gnu/bits/types.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/timesize.h" 1 3 4 +# 19 "/usr/include/x86_64-linux-gnu/bits/timesize.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 +# 20 "/usr/include/x86_64-linux-gnu/bits/timesize.h" 2 3 4 +# 29 "/usr/include/x86_64-linux-gnu/bits/types.h" 2 3 4 + + +typedef unsigned char __u_char; +typedef unsigned short int __u_short; +typedef unsigned int __u_int; +typedef unsigned long int __u_long; + + +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; + +typedef signed long int __int64_t; +typedef unsigned long int __uint64_t; + + + + + + +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; + + + +typedef long int __quad_t; +typedef unsigned long int __u_quad_t; + + + + + + + +typedef long int __intmax_t; +typedef unsigned long int __uintmax_t; +# 141 "/usr/include/x86_64-linux-gnu/bits/types.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/typesizes.h" 1 3 4 +# 142 "/usr/include/x86_64-linux-gnu/bits/types.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/time64.h" 1 3 4 +# 143 "/usr/include/x86_64-linux-gnu/bits/types.h" 2 3 4 + + +typedef unsigned long int __dev_t; +typedef unsigned int __uid_t; +typedef unsigned int __gid_t; +typedef unsigned long int __ino_t; +typedef unsigned long int __ino64_t; +typedef unsigned int __mode_t; +typedef unsigned long int __nlink_t; +typedef long int __off_t; +typedef long int __off64_t; +typedef int __pid_t; +typedef struct { int __val[2]; } __fsid_t; +typedef long int __clock_t; +typedef unsigned long int __rlim_t; +typedef unsigned long int __rlim64_t; +typedef unsigned int __id_t; +typedef long int __time_t; +typedef unsigned int __useconds_t; +typedef long int __suseconds_t; +typedef long int __suseconds64_t; + +typedef int __daddr_t; +typedef int __key_t; + + +typedef int __clockid_t; + + +typedef void * __timer_t; + + +typedef long int __blksize_t; + + + + +typedef long int __blkcnt_t; +typedef long int __blkcnt64_t; + + +typedef unsigned long int __fsblkcnt_t; +typedef unsigned long int __fsblkcnt64_t; + + +typedef unsigned long int __fsfilcnt_t; +typedef unsigned long int __fsfilcnt64_t; + + +typedef long int __fsword_t; + +typedef long int __ssize_t; + + +typedef long int __syscall_slong_t; + +typedef unsigned long int __syscall_ulong_t; + + + +typedef __off64_t __loff_t; +typedef char *__caddr_t; + + +typedef long int __intptr_t; + + +typedef unsigned int __socklen_t; + + + + +typedef int __sig_atomic_t; +# 39 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h" 1 3 4 + + + + +# 1 "/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h" 1 3 4 +# 13 "/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h" 3 4 +typedef struct +{ + int __count; + union + { + unsigned int __wch; + char __wchb[4]; + } __value; +} __mbstate_t; +# 6 "/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h" 2 3 4 + + + + +typedef struct _G_fpos_t +{ + __off_t __pos; + __mbstate_t __state; +} __fpos_t; +# 40 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h" 1 3 4 +# 10 "/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h" 3 4 +typedef struct _G_fpos64_t +{ + __off64_t __pos; + __mbstate_t __state; +} __fpos64_t; +# 41 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/types/__FILE.h" 1 3 4 + + + +struct _IO_FILE; +typedef struct _IO_FILE __FILE; +# 42 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/types/FILE.h" 1 3 4 + + + +struct _IO_FILE; + + +typedef struct _IO_FILE FILE; +# 43 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h" 1 3 4 +# 35 "/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h" 3 4 +struct _IO_FILE; +struct _IO_marker; +struct _IO_codecvt; +struct _IO_wide_data; + + + + +typedef void _IO_lock_t; + + + + + +struct _IO_FILE +{ + int _flags; + + + char *_IO_read_ptr; + char *_IO_read_end; + char *_IO_read_base; + char *_IO_write_base; + char *_IO_write_ptr; + char *_IO_write_end; + char *_IO_buf_base; + char *_IO_buf_end; + + + char *_IO_save_base; + char *_IO_backup_base; + char *_IO_save_end; + + struct _IO_marker *_markers; + + struct _IO_FILE *_chain; + + int _fileno; + int _flags2; + __off_t _old_offset; + + + unsigned short _cur_column; + signed char _vtable_offset; + char _shortbuf[1]; + + _IO_lock_t *_lock; + + + + + + + + __off64_t _offset; + + struct _IO_codecvt *_codecvt; + struct _IO_wide_data *_wide_data; + struct _IO_FILE *_freeres_list; + void *_freeres_buf; + size_t __pad5; + int _mode; + + char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)]; +}; +# 44 "/usr/include/stdio.h" 2 3 4 +# 52 "/usr/include/stdio.h" 3 4 +typedef __gnuc_va_list va_list; +# 63 "/usr/include/stdio.h" 3 4 +typedef __off_t off_t; +# 77 "/usr/include/stdio.h" 3 4 +typedef __ssize_t ssize_t; + + + + + + +typedef __fpos_t fpos_t; +# 133 "/usr/include/stdio.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/stdio_lim.h" 1 3 4 +# 134 "/usr/include/stdio.h" 2 3 4 +# 143 "/usr/include/stdio.h" 3 4 +extern FILE *stdin; +extern FILE *stdout; +extern FILE *stderr; + + + + + + +extern int remove (const char *__filename) __attribute__ ((__nothrow__ , __leaf__)); + +extern int rename (const char *__old, const char *__new) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int renameat (int __oldfd, const char *__old, int __newfd, + const char *__new) __attribute__ ((__nothrow__ , __leaf__)); +# 178 "/usr/include/stdio.h" 3 4 +extern int fclose (FILE *__stream); +# 188 "/usr/include/stdio.h" 3 4 +extern FILE *tmpfile (void) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; +# 205 "/usr/include/stdio.h" 3 4 +extern char *tmpnam (char[20]) __attribute__ ((__nothrow__ , __leaf__)) ; + + + + +extern char *tmpnam_r (char __s[20]) __attribute__ ((__nothrow__ , __leaf__)) ; +# 222 "/usr/include/stdio.h" 3 4 +extern char *tempnam (const char *__dir, const char *__pfx) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (__builtin_free, 1))); + + + + + + +extern int fflush (FILE *__stream); +# 239 "/usr/include/stdio.h" 3 4 +extern int fflush_unlocked (FILE *__stream); +# 258 "/usr/include/stdio.h" 3 4 +extern FILE *fopen (const char *__restrict __filename, + const char *__restrict __modes) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; + + + + +extern FILE *freopen (const char *__restrict __filename, + const char *__restrict __modes, + FILE *__restrict __stream) ; +# 293 "/usr/include/stdio.h" 3 4 +extern FILE *fdopen (int __fd, const char *__modes) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; +# 308 "/usr/include/stdio.h" 3 4 +extern FILE *fmemopen (void *__s, size_t __len, const char *__modes) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; + + + + +extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; +# 328 "/usr/include/stdio.h" 3 4 +extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, + int __modes, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); + + + + +extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, + size_t __size) __attribute__ ((__nothrow__ , __leaf__)); + + +extern void setlinebuf (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); + + + + + + + +extern int fprintf (FILE *__restrict __stream, + const char *__restrict __format, ...); + + + + +extern int printf (const char *__restrict __format, ...); + +extern int sprintf (char *__restrict __s, + const char *__restrict __format, ...) __attribute__ ((__nothrow__)); + + + + + +extern int vfprintf (FILE *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg); + + + + +extern int vprintf (const char *__restrict __format, __gnuc_va_list __arg); + +extern int vsprintf (char *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg) __attribute__ ((__nothrow__)); + + + +extern int snprintf (char *__restrict __s, size_t __maxlen, + const char *__restrict __format, ...) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 4))); + +extern int vsnprintf (char *__restrict __s, size_t __maxlen, + const char *__restrict __format, __gnuc_va_list __arg) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 0))); +# 403 "/usr/include/stdio.h" 3 4 +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))); + + + + + + + +extern int fscanf (FILE *__restrict __stream, + const char *__restrict __format, ...) ; + + + + +extern int scanf (const char *__restrict __format, ...) ; + +extern int sscanf (const char *__restrict __s, + const char *__restrict __format, ...) __attribute__ ((__nothrow__ , __leaf__)); + + + + + +# 1 "/usr/include/x86_64-linux-gnu/bits/floatn.h" 1 3 4 +# 119 "/usr/include/x86_64-linux-gnu/bits/floatn.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 1 3 4 +# 24 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/long-double.h" 1 3 4 +# 25 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 2 3 4 +# 120 "/usr/include/x86_64-linux-gnu/bits/floatn.h" 2 3 4 +# 431 "/usr/include/stdio.h" 2 3 4 + + + +extern int fscanf (FILE *__restrict __stream, const char *__restrict __format, ...) __asm__ ("" "__isoc99_fscanf") + + ; +extern int scanf (const char *__restrict __format, ...) __asm__ ("" "__isoc99_scanf") + ; +extern int sscanf (const char *__restrict __s, const char *__restrict __format, ...) __asm__ ("" "__isoc99_sscanf") __attribute__ ((__nothrow__ , __leaf__)) + + ; +# 459 "/usr/include/stdio.h" 3 4 +extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg) + __attribute__ ((__format__ (__scanf__, 2, 0))) ; + + + + + +extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) + __attribute__ ((__format__ (__scanf__, 1, 0))) ; + + +extern int vsscanf (const char *__restrict __s, + const char *__restrict __format, __gnuc_va_list __arg) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__format__ (__scanf__, 2, 0))); + + + + + +extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vfscanf") + + + + __attribute__ ((__format__ (__scanf__, 2, 0))) ; +extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vscanf") + + __attribute__ ((__format__ (__scanf__, 1, 0))) ; +extern int vsscanf (const char *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vsscanf") __attribute__ ((__nothrow__ , __leaf__)) + + + + __attribute__ ((__format__ (__scanf__, 2, 0))); +# 513 "/usr/include/stdio.h" 3 4 +extern int fgetc (FILE *__stream); +extern int getc (FILE *__stream); + + + + + +extern int getchar (void); + + + + + + +extern int getc_unlocked (FILE *__stream); +extern int getchar_unlocked (void); +# 538 "/usr/include/stdio.h" 3 4 +extern int fgetc_unlocked (FILE *__stream); +# 549 "/usr/include/stdio.h" 3 4 +extern int fputc (int __c, FILE *__stream); +extern int putc (int __c, FILE *__stream); + + + + + +extern int putchar (int __c); +# 565 "/usr/include/stdio.h" 3 4 +extern int fputc_unlocked (int __c, FILE *__stream); + + + + + + + +extern int putc_unlocked (int __c, FILE *__stream); +extern int putchar_unlocked (int __c); + + + + + + +extern int getw (FILE *__stream); + + +extern int putw (int __w, FILE *__stream); + + + + + + + +extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream) + __attribute__ ((__access__ (__write_only__, 1, 2))); +# 632 "/usr/include/stdio.h" 3 4 +extern __ssize_t __getdelim (char **__restrict __lineptr, + size_t *__restrict __n, int __delimiter, + FILE *__restrict __stream) ; +extern __ssize_t getdelim (char **__restrict __lineptr, + size_t *__restrict __n, int __delimiter, + FILE *__restrict __stream) ; + + + + + + + +extern __ssize_t getline (char **__restrict __lineptr, + size_t *__restrict __n, + FILE *__restrict __stream) ; + + + + + + + +extern int fputs (const char *__restrict __s, FILE *__restrict __stream); + + + + + +extern int puts (const char *__s); + + + + + + +extern int ungetc (int __c, FILE *__stream); + + + + + + +extern size_t fread (void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream) ; + + + + +extern size_t fwrite (const void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __s); +# 702 "/usr/include/stdio.h" 3 4 +extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream) ; +extern size_t fwrite_unlocked (const void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream); + + + + + + + +extern int fseek (FILE *__stream, long int __off, int __whence); + + + + +extern long int ftell (FILE *__stream) ; + + + + +extern void rewind (FILE *__stream); +# 736 "/usr/include/stdio.h" 3 4 +extern int fseeko (FILE *__stream, __off_t __off, int __whence); + + + + +extern __off_t ftello (FILE *__stream) ; +# 760 "/usr/include/stdio.h" 3 4 +extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos); + + + + +extern int fsetpos (FILE *__stream, const fpos_t *__pos); +# 786 "/usr/include/stdio.h" 3 4 +extern void clearerr (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); + +extern int feof (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; + +extern int ferror (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; + + + +extern void clearerr_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); +extern int feof_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; +extern int ferror_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; + + + + + + + +extern void perror (const char *__s); + + + + +extern int fileno (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; + + + + +extern int fileno_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; +# 823 "/usr/include/stdio.h" 3 4 +extern int pclose (FILE *__stream); + + + + + +extern FILE *popen (const char *__command, const char *__modes) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (pclose, 1))) ; + + + + + + +extern char *ctermid (char *__s) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1))); +# 867 "/usr/include/stdio.h" 3 4 +extern void flockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int ftrylockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; + + +extern void funlockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); +# 885 "/usr/include/stdio.h" 3 4 +extern int __uflow (FILE *); +extern int __overflow (FILE *, int); +# 902 "/usr/include/stdio.h" 3 4 + +# 5 "./src/test_t/test_t.h" 2 +# 1 "/usr/include/stdlib.h" 1 3 4 +# 26 "/usr/include/stdlib.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 1 3 4 +# 27 "/usr/include/stdlib.h" 2 3 4 + + + + + +# 1 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 1 3 4 +# 321 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 3 4 +typedef int wchar_t; +# 33 "/usr/include/stdlib.h" 2 3 4 + + + + + + + +# 1 "/usr/include/x86_64-linux-gnu/bits/waitflags.h" 1 3 4 +# 41 "/usr/include/stdlib.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/waitstatus.h" 1 3 4 +# 42 "/usr/include/stdlib.h" 2 3 4 +# 59 "/usr/include/stdlib.h" 3 4 +typedef struct + { + int quot; + int rem; + } div_t; + + + +typedef struct + { + long int quot; + long int rem; + } ldiv_t; + + + + + +__extension__ typedef struct + { + long long int quot; + long long int rem; + } lldiv_t; +# 98 "/usr/include/stdlib.h" 3 4 +extern size_t __ctype_get_mb_cur_max (void) __attribute__ ((__nothrow__ , __leaf__)) ; + + + +extern double atof (const char *__nptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; + +extern int atoi (const char *__nptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; + +extern long int atol (const char *__nptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; + + + +__extension__ extern long long int atoll (const char *__nptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; + + + +extern double strtod (const char *__restrict __nptr, + char **__restrict __endptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + +extern float strtof (const char *__restrict __nptr, + char **__restrict __endptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +extern long double strtold (const char *__restrict __nptr, + char **__restrict __endptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 177 "/usr/include/stdlib.h" 3 4 +extern long int strtol (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +extern unsigned long int strtoul (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + +__extension__ +extern long long int strtoq (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +__extension__ +extern unsigned long long int strtouq (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + +__extension__ +extern long long int strtoll (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +__extension__ +extern unsigned long long int strtoull (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 386 "/usr/include/stdlib.h" 3 4 +extern char *l64a (long int __n) __attribute__ ((__nothrow__ , __leaf__)) ; + + +extern long int a64l (const char *__s) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; + + + + +# 1 "/usr/include/x86_64-linux-gnu/sys/types.h" 1 3 4 +# 27 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 + + + + + + +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; + + +typedef __loff_t loff_t; + + + + +typedef __ino_t ino_t; +# 59 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 +typedef __dev_t dev_t; + + + + +typedef __gid_t gid_t; + + + + +typedef __mode_t mode_t; + + + + +typedef __nlink_t nlink_t; + + + + +typedef __uid_t uid_t; +# 97 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 +typedef __pid_t pid_t; + + + + + +typedef __id_t id_t; +# 114 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 +typedef __daddr_t daddr_t; +typedef __caddr_t caddr_t; + + + + + +typedef __key_t key_t; + + + + +# 1 "/usr/include/x86_64-linux-gnu/bits/types/clock_t.h" 1 3 4 + + + + + + +typedef __clock_t clock_t; +# 127 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 + +# 1 "/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h" 1 3 4 + + + + + + +typedef __clockid_t clockid_t; +# 129 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/types/time_t.h" 1 3 4 +# 10 "/usr/include/x86_64-linux-gnu/bits/types/time_t.h" 3 4 +typedef __time_t time_t; +# 130 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/types/timer_t.h" 1 3 4 + + + + + + +typedef __timer_t timer_t; +# 131 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 +# 144 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 +# 1 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 1 3 4 +# 145 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 + + + +typedef unsigned long int ulong; +typedef unsigned short int ushort; +typedef unsigned int uint; + + + + +# 1 "/usr/include/x86_64-linux-gnu/bits/stdint-intn.h" 1 3 4 +# 24 "/usr/include/x86_64-linux-gnu/bits/stdint-intn.h" 3 4 +typedef __int8_t int8_t; +typedef __int16_t int16_t; +typedef __int32_t int32_t; +typedef __int64_t int64_t; +# 156 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 + + +typedef __uint8_t u_int8_t; +typedef __uint16_t u_int16_t; +typedef __uint32_t u_int32_t; +typedef __uint64_t u_int64_t; + + +typedef int register_t __attribute__ ((__mode__ (__word__))); +# 176 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 +# 1 "/usr/include/endian.h" 1 3 4 +# 24 "/usr/include/endian.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/endian.h" 1 3 4 +# 35 "/usr/include/x86_64-linux-gnu/bits/endian.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/endianness.h" 1 3 4 +# 36 "/usr/include/x86_64-linux-gnu/bits/endian.h" 2 3 4 +# 25 "/usr/include/endian.h" 2 3 4 +# 35 "/usr/include/endian.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/byteswap.h" 1 3 4 +# 33 "/usr/include/x86_64-linux-gnu/bits/byteswap.h" 3 4 +static __inline __uint16_t +__bswap_16 (__uint16_t __bsx) +{ + + return __builtin_bswap16 (__bsx); + + + +} + + + + + + +static __inline __uint32_t +__bswap_32 (__uint32_t __bsx) +{ + + return __builtin_bswap32 (__bsx); + + + +} +# 69 "/usr/include/x86_64-linux-gnu/bits/byteswap.h" 3 4 +__extension__ static __inline __uint64_t +__bswap_64 (__uint64_t __bsx) +{ + + return __builtin_bswap64 (__bsx); + + + +} +# 36 "/usr/include/endian.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/uintn-identity.h" 1 3 4 +# 32 "/usr/include/x86_64-linux-gnu/bits/uintn-identity.h" 3 4 +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; +} +# 37 "/usr/include/endian.h" 2 3 4 +# 177 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 + + +# 1 "/usr/include/x86_64-linux-gnu/sys/select.h" 1 3 4 +# 30 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/select.h" 1 3 4 +# 31 "/usr/include/x86_64-linux-gnu/sys/select.h" 2 3 4 + + +# 1 "/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h" 1 3 4 + + + +# 1 "/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h" 1 3 4 + + + + +typedef struct +{ + unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; +} __sigset_t; +# 5 "/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h" 2 3 4 + + +typedef __sigset_t sigset_t; +# 34 "/usr/include/x86_64-linux-gnu/sys/select.h" 2 3 4 + + + +# 1 "/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h" 1 3 4 + + + + + + + +struct timeval +{ + + + + + __time_t tv_sec; + __suseconds_t tv_usec; + +}; +# 38 "/usr/include/x86_64-linux-gnu/sys/select.h" 2 3 4 + +# 1 "/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h" 1 3 4 +# 11 "/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h" 3 4 +struct timespec +{ + + + + __time_t tv_sec; + + + + + __syscall_slong_t tv_nsec; +# 31 "/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h" 3 4 +}; +# 40 "/usr/include/x86_64-linux-gnu/sys/select.h" 2 3 4 + + + +typedef __suseconds_t suseconds_t; + + + + + +typedef long int __fd_mask; +# 59 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4 +typedef struct + { + + + + + + + __fd_mask __fds_bits[1024 / (8 * (int) sizeof (__fd_mask))]; + + + } fd_set; + + + + + + +typedef __fd_mask fd_mask; +# 91 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4 + +# 102 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4 +extern int select (int __nfds, fd_set *__restrict __readfds, + fd_set *__restrict __writefds, + fd_set *__restrict __exceptfds, + struct timeval *__restrict __timeout); +# 127 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4 +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); +# 153 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4 + +# 180 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 + + + + + +typedef __blksize_t blksize_t; + + + + + + +typedef __blkcnt_t blkcnt_t; + + + +typedef __fsblkcnt_t fsblkcnt_t; + + + +typedef __fsfilcnt_t fsfilcnt_t; +# 227 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 1 3 4 +# 23 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 1 3 4 +# 44 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h" 1 3 4 +# 21 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 +# 22 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h" 2 3 4 +# 45 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 2 3 4 + +# 1 "/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h" 1 3 4 +# 25 "/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h" 3 4 +typedef union +{ + __extension__ unsigned long long int __value64; + struct + { + unsigned int __low; + unsigned int __high; + } __value32; +} __atomic_wide_counter; +# 47 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 2 3 4 + + + + +typedef struct __pthread_internal_list +{ + struct __pthread_internal_list *__prev; + struct __pthread_internal_list *__next; +} __pthread_list_t; + +typedef struct __pthread_internal_slist +{ + struct __pthread_internal_slist *__next; +} __pthread_slist_t; +# 76 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/struct_mutex.h" 1 3 4 +# 22 "/usr/include/x86_64-linux-gnu/bits/struct_mutex.h" 3 4 +struct __pthread_mutex_s +{ + int __lock; + unsigned int __count; + int __owner; + + unsigned int __nusers; + + + + int __kind; + + short __spins; + short __elision; + __pthread_list_t __list; +# 53 "/usr/include/x86_64-linux-gnu/bits/struct_mutex.h" 3 4 +}; +# 77 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 2 3 4 +# 89 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h" 1 3 4 +# 23 "/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h" 3 4 +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; + + int __cur_writer; + int __shared; + signed char __rwelision; + + + + + unsigned char __pad1[7]; + + + unsigned long int __pad2; + + + unsigned int __flags; +# 55 "/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h" 3 4 +}; +# 90 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 2 3 4 + + + + +struct __pthread_cond_s +{ + __atomic_wide_counter __wseq; + __atomic_wide_counter __g1_start; + unsigned int __g_refs[2] ; + unsigned int __g_size[2]; + unsigned int __g1_orig_size; + unsigned int __wrefs; + unsigned int __g_signals[2]; +}; + +typedef unsigned int __tss_t; +typedef unsigned long int __thrd_t; + +typedef struct +{ + int __data ; +} __once_flag; +# 24 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 2 3 4 + + + +typedef unsigned long int pthread_t; + + + + +typedef union +{ + char __size[4]; + int __align; +} pthread_mutexattr_t; + + + + +typedef union +{ + char __size[4]; + int __align; +} pthread_condattr_t; + + + +typedef unsigned int pthread_key_t; + + + +typedef int pthread_once_t; + + +union pthread_attr_t +{ + char __size[56]; + long int __align; +}; + +typedef union pthread_attr_t pthread_attr_t; + + + + +typedef union +{ + struct __pthread_mutex_s __data; + char __size[40]; + long int __align; +} pthread_mutex_t; + + +typedef union +{ + struct __pthread_cond_s __data; + char __size[48]; + __extension__ long long int __align; +} pthread_cond_t; + + + + + +typedef union +{ + struct __pthread_rwlock_arch_t __data; + char __size[56]; + long int __align; +} pthread_rwlock_t; + +typedef union +{ + char __size[8]; + long int __align; +} pthread_rwlockattr_t; + + + + + +typedef volatile int pthread_spinlock_t; + + + + +typedef union +{ + char __size[32]; + long int __align; +} pthread_barrier_t; + +typedef union +{ + char __size[4]; + int __align; +} pthread_barrierattr_t; +# 228 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 + + + +# 396 "/usr/include/stdlib.h" 2 3 4 + + + + + + +extern long int random (void) __attribute__ ((__nothrow__ , __leaf__)); + + +extern void srandom (unsigned int __seed) __attribute__ ((__nothrow__ , __leaf__)); + + + + + +extern char *initstate (unsigned int __seed, char *__statebuf, + size_t __statelen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + + + +extern char *setstate (char *__statebuf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + + +struct random_data + { + int32_t *fptr; + int32_t *rptr; + int32_t *state; + int rand_type; + int rand_deg; + int rand_sep; + int32_t *end_ptr; + }; + +extern int random_r (struct random_data *__restrict __buf, + int32_t *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + +extern int srandom_r (unsigned int __seed, struct random_data *__buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + +extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, + size_t __statelen, + struct random_data *__restrict __buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 4))); + +extern int setstate_r (char *__restrict __statebuf, + struct random_data *__restrict __buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + + +extern int rand (void) __attribute__ ((__nothrow__ , __leaf__)); + +extern void srand (unsigned int __seed) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int rand_r (unsigned int *__seed) __attribute__ ((__nothrow__ , __leaf__)); + + + + + + + +extern double drand48 (void) __attribute__ ((__nothrow__ , __leaf__)); +extern double erand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern long int lrand48 (void) __attribute__ ((__nothrow__ , __leaf__)); +extern long int nrand48 (unsigned short int __xsubi[3]) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern long int mrand48 (void) __attribute__ ((__nothrow__ , __leaf__)); +extern long int jrand48 (unsigned short int __xsubi[3]) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern void srand48 (long int __seedval) __attribute__ ((__nothrow__ , __leaf__)); +extern unsigned short int *seed48 (unsigned short int __seed16v[3]) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +extern void lcong48 (unsigned short int __param[7]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + +struct drand48_data + { + unsigned short int __x[3]; + unsigned short int __old_x[3]; + unsigned short int __c; + unsigned short int __init; + __extension__ unsigned long long int __a; + + }; + + +extern int drand48_r (struct drand48_data *__restrict __buffer, + double *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern int erand48_r (unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + double *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int lrand48_r (struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern int nrand48_r (unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int mrand48_r (struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern int jrand48_r (unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int srand48_r (long int __seedval, struct drand48_data *__buffer) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + +extern int seed48_r (unsigned short int __seed16v[3], + struct drand48_data *__buffer) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + +extern int lcong48_r (unsigned short int __param[7], + struct drand48_data *__buffer) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + +extern void *malloc (size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) + __attribute__ ((__alloc_size__ (1))) ; + +extern void *calloc (size_t __nmemb, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__alloc_size__ (1, 2))) ; + + + + + + +extern void *realloc (void *__ptr, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__alloc_size__ (2))); + + +extern void free (void *__ptr) __attribute__ ((__nothrow__ , __leaf__)); + + + + + + + +extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) + __attribute__ ((__alloc_size__ (2, 3))) + __attribute__ ((__malloc__ (__builtin_free, 1))); + + +extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__ (reallocarray, 1))); + + + +# 1 "/usr/include/alloca.h" 1 3 4 +# 24 "/usr/include/alloca.h" 3 4 +# 1 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 1 3 4 +# 25 "/usr/include/alloca.h" 2 3 4 + + + + + + + +extern void *alloca (size_t __size) __attribute__ ((__nothrow__ , __leaf__)); + + + + + + +# 575 "/usr/include/stdlib.h" 2 3 4 + + + + + +extern void *valloc (size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) + __attribute__ ((__alloc_size__ (1))) ; + + + + +extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; + + + + +extern void *aligned_alloc (size_t __alignment, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__alloc_align__ (1))) + __attribute__ ((__alloc_size__ (2))) ; + + + +extern void abort (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); + + + +extern int atexit (void (*__func) (void)) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + + +extern int at_quick_exit (void (*__func) (void)) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + +extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + +extern void exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); + + + + + +extern void quick_exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); + + + + + +extern void _Exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); + + + + +extern char *getenv (const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; +# 654 "/usr/include/stdlib.h" 3 4 +extern int putenv (char *__string) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + +extern int setenv (const char *__name, const char *__value, int __replace) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + + +extern int unsetenv (const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + +extern int clearenv (void) __attribute__ ((__nothrow__ , __leaf__)); +# 682 "/usr/include/stdlib.h" 3 4 +extern char *mktemp (char *__template) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 695 "/usr/include/stdlib.h" 3 4 +extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) ; +# 717 "/usr/include/stdlib.h" 3 4 +extern int mkstemps (char *__template, int __suffixlen) __attribute__ ((__nonnull__ (1))) ; +# 738 "/usr/include/stdlib.h" 3 4 +extern char *mkdtemp (char *__template) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; +# 791 "/usr/include/stdlib.h" 3 4 +extern int system (const char *__command) ; +# 808 "/usr/include/stdlib.h" 3 4 +extern char *realpath (const char *__restrict __name, + char *__restrict __resolved) __attribute__ ((__nothrow__ , __leaf__)) ; + + + + + + +typedef int (*__compar_fn_t) (const void *, const void *); +# 828 "/usr/include/stdlib.h" 3 4 +extern void *bsearch (const void *__key, const void *__base, + size_t __nmemb, size_t __size, __compar_fn_t __compar) + __attribute__ ((__nonnull__ (1, 2, 5))) ; + + + + + + + +extern void qsort (void *__base, size_t __nmemb, size_t __size, + __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4))); +# 848 "/usr/include/stdlib.h" 3 4 +extern int abs (int __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; +extern long int labs (long int __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; + + +__extension__ extern long long int llabs (long long int __x) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; + + + + + + +extern div_t div (int __numer, int __denom) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; +extern ldiv_t ldiv (long int __numer, long int __denom) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; + + +__extension__ extern lldiv_t lldiv (long long int __numer, + long long int __denom) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; +# 880 "/usr/include/stdlib.h" 3 4 +extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) ; + + + + +extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) ; + + + + +extern char *gcvt (double __value, int __ndigit, char *__buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))) ; + + + + +extern char *qecvt (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) ; +extern char *qfcvt (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) ; +extern char *qgcvt (long double __value, int __ndigit, char *__buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))) ; + + + + +extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign, char *__restrict __buf, + size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); +extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign, char *__restrict __buf, + size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__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) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__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) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); + + + + + +extern int mblen (const char *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); + + +extern int mbtowc (wchar_t *__restrict __pwc, + const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); + + +extern int wctomb (char *__s, wchar_t __wchar) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern size_t mbstowcs (wchar_t *__restrict __pwcs, + const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__read_only__, 2))); + +extern size_t wcstombs (char *__restrict __s, + const wchar_t *__restrict __pwcs, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1, 3))) + __attribute__ ((__access__ (__read_only__, 2))); + + + + + + +extern int rpmatch (const char *__response) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; +# 967 "/usr/include/stdlib.h" 3 4 +extern int getsubopt (char **__restrict __optionp, + char *const *__restrict __tokens, + char **__restrict __valuep) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2, 3))) ; +# 1013 "/usr/include/stdlib.h" 3 4 +extern int getloadavg (double __loadavg[], int __nelem) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 1023 "/usr/include/stdlib.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/stdlib-float.h" 1 3 4 +# 1024 "/usr/include/stdlib.h" 2 3 4 +# 1035 "/usr/include/stdlib.h" 3 4 + +# 6 "./src/test_t/test_t.h" 2 + +# 1 "./src/tools_t/tools_t.h" 1 + + + + + +# 1 "/usr/include/string.h" 1 3 4 +# 26 "/usr/include/string.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 1 3 4 +# 27 "/usr/include/string.h" 2 3 4 + + + + + + +# 1 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 1 3 4 +# 34 "/usr/include/string.h" 2 3 4 +# 43 "/usr/include/string.h" 3 4 +extern void *memcpy (void *__restrict __dest, const void *__restrict __src, + size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern void *memmove (void *__dest, const void *__src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + + +extern void *memccpy (void *__restrict __dest, const void *__restrict __src, + int __c, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__access__ (__write_only__, 1, 4))); + + + + +extern void *memset (void *__s, int __c, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern int memcmp (const void *__s1, const void *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); +# 80 "/usr/include/string.h" 3 4 +extern int __memcmpeq (const void *__s1, const void *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); +# 107 "/usr/include/string.h" 3 4 +extern void *memchr (const void *__s, int __c, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); +# 141 "/usr/include/string.h" 3 4 +extern char *strcpy (char *__restrict __dest, const char *__restrict __src) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + +extern char *strncpy (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern char *strcat (char *__restrict __dest, const char *__restrict __src) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + +extern char *strncat (char *__restrict __dest, const char *__restrict __src, + size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int strcmp (const char *__s1, const char *__s2) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + +extern int strncmp (const char *__s1, const char *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int strcoll (const char *__s1, const char *__s2) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + +extern size_t strxfrm (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))) __attribute__ ((__access__ (__write_only__, 1, 3))); + + + +# 1 "/usr/include/x86_64-linux-gnu/bits/types/locale_t.h" 1 3 4 +# 22 "/usr/include/x86_64-linux-gnu/bits/types/locale_t.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h" 1 3 4 +# 27 "/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h" 3 4 +struct __locale_struct +{ + + struct __locale_data *__locales[13]; + + + const unsigned short int *__ctype_b; + const int *__ctype_tolower; + const int *__ctype_toupper; + + + const char *__names[13]; +}; + +typedef struct __locale_struct *__locale_t; +# 23 "/usr/include/x86_64-linux-gnu/bits/types/locale_t.h" 2 3 4 + +typedef __locale_t locale_t; +# 173 "/usr/include/string.h" 2 3 4 + + +extern int strcoll_l (const char *__s1, const char *__s2, locale_t __l) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); + + +extern size_t strxfrm_l (char *__dest, const char *__src, size_t __n, + locale_t __l) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 4))) + __attribute__ ((__access__ (__write_only__, 1, 3))); + + + + + +extern char *strdup (const char *__s) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); + + + + + + +extern char *strndup (const char *__string, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); +# 246 "/usr/include/string.h" 3 4 +extern char *strchr (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); +# 273 "/usr/include/string.h" 3 4 +extern char *strrchr (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); +# 293 "/usr/include/string.h" 3 4 +extern size_t strcspn (const char *__s, const char *__reject) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern size_t strspn (const char *__s, const char *__accept) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); +# 323 "/usr/include/string.h" 3 4 +extern char *strpbrk (const char *__s, const char *__accept) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); +# 350 "/usr/include/string.h" 3 4 +extern char *strstr (const char *__haystack, const char *__needle) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + + + +extern char *strtok (char *__restrict __s, const char *__restrict __delim) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + + + +extern char *__strtok_r (char *__restrict __s, + const char *__restrict __delim, + char **__restrict __save_ptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))); + +extern char *strtok_r (char *__restrict __s, const char *__restrict __delim, + char **__restrict __save_ptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))); +# 407 "/usr/include/string.h" 3 4 +extern size_t strlen (const char *__s) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); + + + + +extern size_t strnlen (const char *__string, size_t __maxlen) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); + + + + +extern char *strerror (int __errnum) __attribute__ ((__nothrow__ , __leaf__)); +# 432 "/usr/include/string.h" 3 4 +extern int strerror_r (int __errnum, char *__buf, size_t __buflen) __asm__ ("" "__xpg_strerror_r") __attribute__ ((__nothrow__ , __leaf__)) + + __attribute__ ((__nonnull__ (2))) + __attribute__ ((__access__ (__write_only__, 2, 3))); +# 458 "/usr/include/string.h" 3 4 +extern char *strerror_l (int __errnum, locale_t __l) __attribute__ ((__nothrow__ , __leaf__)); + + + +# 1 "/usr/include/strings.h" 1 3 4 +# 23 "/usr/include/strings.h" 3 4 +# 1 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 1 3 4 +# 24 "/usr/include/strings.h" 2 3 4 + + + + + + + + + + +extern int bcmp (const void *__s1, const void *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern void bcopy (const void *__src, void *__dest, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern void bzero (void *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 68 "/usr/include/strings.h" 3 4 +extern char *index (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); +# 96 "/usr/include/strings.h" 3 4 +extern char *rindex (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); + + + + + + +extern int ffs (int __i) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); + + + + + +extern int ffsl (long int __l) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); +__extension__ extern int ffsll (long long int __ll) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); + + + +extern int strcasecmp (const char *__s1, const char *__s2) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int strncasecmp (const char *__s1, const char *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + + + + + +extern int strcasecmp_l (const char *__s1, const char *__s2, locale_t __loc) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); + + + +extern int strncasecmp_l (const char *__s1, const char *__s2, + size_t __n, locale_t __loc) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 4))); + + + +# 463 "/usr/include/string.h" 2 3 4 + + + +extern void explicit_bzero (void *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) + __attribute__ ((__access__ (__write_only__, 1, 2))); + + + +extern char *strsep (char **__restrict __stringp, + const char *__restrict __delim) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + +extern char *strsignal (int __sig) __attribute__ ((__nothrow__ , __leaf__)); +# 489 "/usr/include/string.h" 3 4 +extern char *__stpcpy (char *__restrict __dest, const char *__restrict __src) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern char *stpcpy (char *__restrict __dest, const char *__restrict __src) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + +extern char *__stpncpy (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern char *stpncpy (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +# 539 "/usr/include/string.h" 3 4 + +# 7 "./src/tools_t/tools_t.h" 2 +# 1 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stdbool.h" 1 3 4 +# 8 "./src/tools_t/tools_t.h" 2 +# 36 "./src/tools_t/tools_t.h" + +# 36 "./src/tools_t/tools_t.h" +int COMPARE_N_TYPE_CHAR(const void *,const void*); void COPY_ARRAY_TYPE_CHAR(char* dst, const char* src, size_t size); char MAX_ARRAY_TYPE_CHAR(const char *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_CHAR(const char *array, size_t size); char MIN_ARRAY_TYPE_CHAR(const char *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_CHAR(const char *array, size_t size); +int COMPARE_N_TYPE_U_CHAR(const void *,const void*); void COPY_ARRAY_TYPE_U_CHAR(unsigned char* dst, const unsigned char* src, size_t size); unsigned char MAX_ARRAY_TYPE_U_CHAR(const unsigned char *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_U_CHAR(const unsigned char *array, size_t size); unsigned char MIN_ARRAY_TYPE_U_CHAR(const unsigned char *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_U_CHAR(const unsigned char *array, size_t size); +int COMPARE_N_TYPE_INT(const void *,const void*); void COPY_ARRAY_TYPE_INT(int* dst, const int* src, size_t size); int MAX_ARRAY_TYPE_INT(const int *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_INT(const int *array, size_t size); int MIN_ARRAY_TYPE_INT(const int *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_INT(const int *array, size_t size); +int COMPARE_N_TYPE_U_INT(const void *,const void*); void COPY_ARRAY_TYPE_U_INT(unsigned int* dst, const unsigned int* src, size_t size); unsigned int MAX_ARRAY_TYPE_U_INT(const unsigned int *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_U_INT(const unsigned int *array, size_t size); unsigned int MIN_ARRAY_TYPE_U_INT(const unsigned int *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_U_INT(const unsigned int *array, size_t size); +int COMPARE_N_TYPE_L_INT(const void *,const void*); void COPY_ARRAY_TYPE_L_INT(long int* dst, const long int* src, size_t size); long int MAX_ARRAY_TYPE_L_INT(const long int *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_L_INT(const long int *array, size_t size); long int MIN_ARRAY_TYPE_L_INT(const long int *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_L_INT(const long int *array, size_t size); +int COMPARE_N_TYPE_U_L_INT(const void *,const void*); void COPY_ARRAY_TYPE_U_L_INT(unsigned long int* dst, const unsigned long int* src, size_t size); unsigned long int MAX_ARRAY_TYPE_U_L_INT(const unsigned long int *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_U_L_INT(const unsigned long int *array, size_t size); unsigned long int MIN_ARRAY_TYPE_U_L_INT(const unsigned long int *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_U_L_INT(const unsigned long int *array, size_t size); +int COMPARE_N_TYPE_SIZE_T(const void *,const void*); void COPY_ARRAY_TYPE_SIZE_T(size_t* dst, const size_t* src, size_t size); size_t MAX_ARRAY_TYPE_SIZE_T(const size_t *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_SIZE_T(const size_t *array, size_t size); size_t MIN_ARRAY_TYPE_SIZE_T(const size_t *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_SIZE_T(const size_t *array, size_t size); +int COMPARE_N_TYPE_FLOAT(const void *,const void*); void COPY_ARRAY_TYPE_FLOAT(float* dst, const float* src, size_t size); float MAX_ARRAY_TYPE_FLOAT(const float *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_FLOAT(const float *array, size_t size); float MIN_ARRAY_TYPE_FLOAT(const float *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_FLOAT(const float *array, size_t size); +int COMPARE_N_TYPE_DOUBLE(const void *,const void*); void COPY_ARRAY_TYPE_DOUBLE(double* dst, const double* src, size_t size); double MAX_ARRAY_TYPE_DOUBLE(const double *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_DOUBLE(const double *array, size_t size); double MIN_ARRAY_TYPE_DOUBLE(const double *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_DOUBLE(const double *array, size_t size); +int COMPARE_N_TYPE_L_DOUBLE(const void *,const void*); void COPY_ARRAY_TYPE_L_DOUBLE(long double* dst, const long double* src, size_t size); long double MAX_ARRAY_TYPE_L_DOUBLE(const long double *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_L_DOUBLE(const long double *array, size_t size); long double MIN_ARRAY_TYPE_L_DOUBLE(const long double *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_L_DOUBLE(const long double *array, size_t size); +int COMPARE_N_TYPE_STRING(const void *,const void*); void COPY_ARRAY_TYPE_STRING(char** dst, const char** src, size_t size); char* MAX_ARRAY_TYPE_STRING(const char* *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_STRING(const char* *array, size_t size); char* MIN_ARRAY_TYPE_STRING(const char* *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_STRING(const char* *array, size_t size); +# 8 "./src/test_t/test_t.h" 2 +# 17 "./src/test_t/test_t.h" +struct function_list{ + char * name_function; + void(*function_top)(void); + struct function_list * next; +}; +typedef struct function_list function_list; + +void append_function_list(void(*f)(void), char *name_function); +void execute_all_function_list(); +void run_all_tests(); +void init_test(); +# 42 "./src/test_t/test_t.h" +void print_OK(); +void print_KO(); +void print_OK_with_msg(char* msg); +void print_KO_with_msg(char *msg); +void print_OK_with_msg_endl(char* msg); +void print_KO_with_msg_endl(char *msg); +# 2 "src/test_t/test_t.c" 2 +# 10 "src/test_t/test_t.c" +static function_list *p_f_l; + +void +print_OK() +{ + printf("\033[0;32m"); + printf("["); for(size_t i = 0; i< 7; ++i) printf("="); printf("]"); + printf("\033[0m"); + printf("OK "); +} + +void +print_KO() +{ + printf("\033[0;32m"); + printf("["); for(size_t i = 0; i< 7; ++i) printf("="); printf("]"); + printf("\033[0m"); + printf("KO "); +} + +void +print_OK_with_msg(char *msg) +{ + print_OK(); + printf(" %s ",msg); +} +void +print_KO_with_msg(char *msg) +{ + print_KO(); + printf(" %s ",msg); +} +void +print_OK_with_msg_endl(char *msg) +{ + print_OK(); + printf(" %s\n",msg); +} +void +print_KO_with_msg_endl(char *msg) +{ + print_KO(); + printf(" %s\n", msg); +} + +void +append_function_list(void (*f)(void), char *name_function) +{ + function_list * f_l=malloc(sizeof(function_list)); + if(f_l) + { + if(f_l->name_function) free(f_l->name_function); + f_l->name_function = malloc(sizeof(char)*strlen(name_function) + 1); + strcpy(f_l->name_function, name_function); + f_l->function_top = f; + f_l->next = +# 65 "src/test_t/test_t.c" 3 4 + ((void *)0) +# 65 "src/test_t/test_t.c" + ; + } + else + { + printf("error allocation f_l\n"); + return; + } + + if(p_f_l != +# 73 "src/test_t/test_t.c" 3 4 + ((void *)0) +# 73 "src/test_t/test_t.c" + ) + { + function_list *tmp_f_l = p_f_l; + while(tmp_f_l->next) + tmp_f_l = tmp_f_l->next; + + tmp_f_l->next = f_l; + } + else p_f_l = f_l; +} + +void +execute_all_function_list() +{ + function_list * tmp_f_l = p_f_l; + while(tmp_f_l) + { + printf("exec %s \n",tmp_f_l->name_function); + tmp_f_l->function_top(); + tmp_f_l = tmp_f_l->next; + } +} + +void +clear_fonction_list(function_list **f_l) +{ + if(*f_l != +# 99 "src/test_t/test_t.c" 3 4 + ((void *)0) +# 99 "src/test_t/test_t.c" + ) + { + clear_fonction_list(&((*f_l)->next)); + free(*f_l); + *f_l = +# 103 "src/test_t/test_t.c" 3 4 + ((void *)0) +# 103 "src/test_t/test_t.c" + ; + } +} + +void +run_all_tests() +{ + execute_all_function_list(); + clear_fonction_list(&p_f_l); +} + + +void +init_test() +{ + if(p_f_l) + clear_fonction_list(&p_f_l); + p_f_l = +# 120 "src/test_t/test_t.c" 3 4 + ((void *)0) +# 120 "src/test_t/test_t.c" + ; +} +# 0 "src/permutation_t/permutation_t.c" +# 0 "" +# 0 "" +# 1 "/usr/include/stdc-predef.h" 1 3 4 +# 0 "" 2 +# 1 "src/permutation_t/permutation_t.c" +# 1 "./src/permutation_t/permutation_t.h" 1 + + + +# 1 "./src/tools_t/tools_t.h" 1 + + + +# 1 "/usr/include/stdio.h" 1 3 4 +# 27 "/usr/include/stdio.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 1 3 4 +# 33 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 3 4 +# 1 "/usr/include/features.h" 1 3 4 +# 392 "/usr/include/features.h" 3 4 +# 1 "/usr/include/features-time64.h" 1 3 4 +# 20 "/usr/include/features-time64.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 +# 21 "/usr/include/features-time64.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/timesize.h" 1 3 4 +# 19 "/usr/include/x86_64-linux-gnu/bits/timesize.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 +# 20 "/usr/include/x86_64-linux-gnu/bits/timesize.h" 2 3 4 +# 22 "/usr/include/features-time64.h" 2 3 4 +# 393 "/usr/include/features.h" 2 3 4 +# 486 "/usr/include/features.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 1 3 4 +# 559 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 +# 560 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/long-double.h" 1 3 4 +# 561 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 2 3 4 +# 487 "/usr/include/features.h" 2 3 4 +# 510 "/usr/include/features.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/gnu/stubs.h" 1 3 4 +# 10 "/usr/include/x86_64-linux-gnu/gnu/stubs.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/gnu/stubs-64.h" 1 3 4 +# 11 "/usr/include/x86_64-linux-gnu/gnu/stubs.h" 2 3 4 +# 511 "/usr/include/features.h" 2 3 4 +# 34 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 2 3 4 +# 28 "/usr/include/stdio.h" 2 3 4 + + + + + +# 1 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 1 3 4 +# 209 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 3 4 + +# 209 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 3 4 +typedef long unsigned int size_t; +# 34 "/usr/include/stdio.h" 2 3 4 + + +# 1 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stdarg.h" 1 3 4 +# 40 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stdarg.h" 3 4 +typedef __builtin_va_list __gnuc_va_list; +# 37 "/usr/include/stdio.h" 2 3 4 + +# 1 "/usr/include/x86_64-linux-gnu/bits/types.h" 1 3 4 +# 27 "/usr/include/x86_64-linux-gnu/bits/types.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 +# 28 "/usr/include/x86_64-linux-gnu/bits/types.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/timesize.h" 1 3 4 +# 19 "/usr/include/x86_64-linux-gnu/bits/timesize.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 +# 20 "/usr/include/x86_64-linux-gnu/bits/timesize.h" 2 3 4 +# 29 "/usr/include/x86_64-linux-gnu/bits/types.h" 2 3 4 + + +typedef unsigned char __u_char; +typedef unsigned short int __u_short; +typedef unsigned int __u_int; +typedef unsigned long int __u_long; + + +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; + +typedef signed long int __int64_t; +typedef unsigned long int __uint64_t; + + + + + + +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; + + + +typedef long int __quad_t; +typedef unsigned long int __u_quad_t; + + + + + + + +typedef long int __intmax_t; +typedef unsigned long int __uintmax_t; +# 141 "/usr/include/x86_64-linux-gnu/bits/types.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/typesizes.h" 1 3 4 +# 142 "/usr/include/x86_64-linux-gnu/bits/types.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/time64.h" 1 3 4 +# 143 "/usr/include/x86_64-linux-gnu/bits/types.h" 2 3 4 + + +typedef unsigned long int __dev_t; +typedef unsigned int __uid_t; +typedef unsigned int __gid_t; +typedef unsigned long int __ino_t; +typedef unsigned long int __ino64_t; +typedef unsigned int __mode_t; +typedef unsigned long int __nlink_t; +typedef long int __off_t; +typedef long int __off64_t; +typedef int __pid_t; +typedef struct { int __val[2]; } __fsid_t; +typedef long int __clock_t; +typedef unsigned long int __rlim_t; +typedef unsigned long int __rlim64_t; +typedef unsigned int __id_t; +typedef long int __time_t; +typedef unsigned int __useconds_t; +typedef long int __suseconds_t; +typedef long int __suseconds64_t; + +typedef int __daddr_t; +typedef int __key_t; + + +typedef int __clockid_t; + + +typedef void * __timer_t; + + +typedef long int __blksize_t; + + + + +typedef long int __blkcnt_t; +typedef long int __blkcnt64_t; + + +typedef unsigned long int __fsblkcnt_t; +typedef unsigned long int __fsblkcnt64_t; + + +typedef unsigned long int __fsfilcnt_t; +typedef unsigned long int __fsfilcnt64_t; + + +typedef long int __fsword_t; + +typedef long int __ssize_t; + + +typedef long int __syscall_slong_t; + +typedef unsigned long int __syscall_ulong_t; + + + +typedef __off64_t __loff_t; +typedef char *__caddr_t; + + +typedef long int __intptr_t; + + +typedef unsigned int __socklen_t; + + + + +typedef int __sig_atomic_t; +# 39 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h" 1 3 4 + + + + +# 1 "/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h" 1 3 4 +# 13 "/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h" 3 4 +typedef struct +{ + int __count; + union + { + unsigned int __wch; + char __wchb[4]; + } __value; +} __mbstate_t; +# 6 "/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h" 2 3 4 + + + + +typedef struct _G_fpos_t +{ + __off_t __pos; + __mbstate_t __state; +} __fpos_t; +# 40 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h" 1 3 4 +# 10 "/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h" 3 4 +typedef struct _G_fpos64_t +{ + __off64_t __pos; + __mbstate_t __state; +} __fpos64_t; +# 41 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/types/__FILE.h" 1 3 4 + + + +struct _IO_FILE; +typedef struct _IO_FILE __FILE; +# 42 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/types/FILE.h" 1 3 4 + + + +struct _IO_FILE; + + +typedef struct _IO_FILE FILE; +# 43 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h" 1 3 4 +# 35 "/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h" 3 4 +struct _IO_FILE; +struct _IO_marker; +struct _IO_codecvt; +struct _IO_wide_data; + + + + +typedef void _IO_lock_t; + + + + + +struct _IO_FILE +{ + int _flags; + + + char *_IO_read_ptr; + char *_IO_read_end; + char *_IO_read_base; + char *_IO_write_base; + char *_IO_write_ptr; + char *_IO_write_end; + char *_IO_buf_base; + char *_IO_buf_end; + + + char *_IO_save_base; + char *_IO_backup_base; + char *_IO_save_end; + + struct _IO_marker *_markers; + + struct _IO_FILE *_chain; + + int _fileno; + int _flags2; + __off_t _old_offset; + + + unsigned short _cur_column; + signed char _vtable_offset; + char _shortbuf[1]; + + _IO_lock_t *_lock; + + + + + + + + __off64_t _offset; + + struct _IO_codecvt *_codecvt; + struct _IO_wide_data *_wide_data; + struct _IO_FILE *_freeres_list; + void *_freeres_buf; + size_t __pad5; + int _mode; + + char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)]; +}; +# 44 "/usr/include/stdio.h" 2 3 4 +# 52 "/usr/include/stdio.h" 3 4 +typedef __gnuc_va_list va_list; +# 63 "/usr/include/stdio.h" 3 4 +typedef __off_t off_t; +# 77 "/usr/include/stdio.h" 3 4 +typedef __ssize_t ssize_t; + + + + + + +typedef __fpos_t fpos_t; +# 133 "/usr/include/stdio.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/stdio_lim.h" 1 3 4 +# 134 "/usr/include/stdio.h" 2 3 4 +# 143 "/usr/include/stdio.h" 3 4 +extern FILE *stdin; +extern FILE *stdout; +extern FILE *stderr; + + + + + + +extern int remove (const char *__filename) __attribute__ ((__nothrow__ , __leaf__)); + +extern int rename (const char *__old, const char *__new) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int renameat (int __oldfd, const char *__old, int __newfd, + const char *__new) __attribute__ ((__nothrow__ , __leaf__)); +# 178 "/usr/include/stdio.h" 3 4 +extern int fclose (FILE *__stream); +# 188 "/usr/include/stdio.h" 3 4 +extern FILE *tmpfile (void) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; +# 205 "/usr/include/stdio.h" 3 4 +extern char *tmpnam (char[20]) __attribute__ ((__nothrow__ , __leaf__)) ; + + + + +extern char *tmpnam_r (char __s[20]) __attribute__ ((__nothrow__ , __leaf__)) ; +# 222 "/usr/include/stdio.h" 3 4 +extern char *tempnam (const char *__dir, const char *__pfx) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (__builtin_free, 1))); + + + + + + +extern int fflush (FILE *__stream); +# 239 "/usr/include/stdio.h" 3 4 +extern int fflush_unlocked (FILE *__stream); +# 258 "/usr/include/stdio.h" 3 4 +extern FILE *fopen (const char *__restrict __filename, + const char *__restrict __modes) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; + + + + +extern FILE *freopen (const char *__restrict __filename, + const char *__restrict __modes, + FILE *__restrict __stream) ; +# 293 "/usr/include/stdio.h" 3 4 +extern FILE *fdopen (int __fd, const char *__modes) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; +# 308 "/usr/include/stdio.h" 3 4 +extern FILE *fmemopen (void *__s, size_t __len, const char *__modes) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; + + + + +extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; +# 328 "/usr/include/stdio.h" 3 4 +extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, + int __modes, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); + + + + +extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, + size_t __size) __attribute__ ((__nothrow__ , __leaf__)); + + +extern void setlinebuf (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); + + + + + + + +extern int fprintf (FILE *__restrict __stream, + const char *__restrict __format, ...); + + + + +extern int printf (const char *__restrict __format, ...); + +extern int sprintf (char *__restrict __s, + const char *__restrict __format, ...) __attribute__ ((__nothrow__)); + + + + + +extern int vfprintf (FILE *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg); + + + + +extern int vprintf (const char *__restrict __format, __gnuc_va_list __arg); + +extern int vsprintf (char *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg) __attribute__ ((__nothrow__)); + + + +extern int snprintf (char *__restrict __s, size_t __maxlen, + const char *__restrict __format, ...) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 4))); + +extern int vsnprintf (char *__restrict __s, size_t __maxlen, + const char *__restrict __format, __gnuc_va_list __arg) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 0))); +# 403 "/usr/include/stdio.h" 3 4 +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))); + + + + + + + +extern int fscanf (FILE *__restrict __stream, + const char *__restrict __format, ...) ; + + + + +extern int scanf (const char *__restrict __format, ...) ; + +extern int sscanf (const char *__restrict __s, + const char *__restrict __format, ...) __attribute__ ((__nothrow__ , __leaf__)); + + + + + +# 1 "/usr/include/x86_64-linux-gnu/bits/floatn.h" 1 3 4 +# 119 "/usr/include/x86_64-linux-gnu/bits/floatn.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 1 3 4 +# 24 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/long-double.h" 1 3 4 +# 25 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 2 3 4 +# 120 "/usr/include/x86_64-linux-gnu/bits/floatn.h" 2 3 4 +# 431 "/usr/include/stdio.h" 2 3 4 + + + +extern int fscanf (FILE *__restrict __stream, const char *__restrict __format, ...) __asm__ ("" "__isoc99_fscanf") + + ; +extern int scanf (const char *__restrict __format, ...) __asm__ ("" "__isoc99_scanf") + ; +extern int sscanf (const char *__restrict __s, const char *__restrict __format, ...) __asm__ ("" "__isoc99_sscanf") __attribute__ ((__nothrow__ , __leaf__)) + + ; +# 459 "/usr/include/stdio.h" 3 4 +extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg) + __attribute__ ((__format__ (__scanf__, 2, 0))) ; + + + + + +extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) + __attribute__ ((__format__ (__scanf__, 1, 0))) ; + + +extern int vsscanf (const char *__restrict __s, + const char *__restrict __format, __gnuc_va_list __arg) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__format__ (__scanf__, 2, 0))); + + + + + +extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vfscanf") + + + + __attribute__ ((__format__ (__scanf__, 2, 0))) ; +extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vscanf") + + __attribute__ ((__format__ (__scanf__, 1, 0))) ; +extern int vsscanf (const char *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vsscanf") __attribute__ ((__nothrow__ , __leaf__)) + + + + __attribute__ ((__format__ (__scanf__, 2, 0))); +# 513 "/usr/include/stdio.h" 3 4 +extern int fgetc (FILE *__stream); +extern int getc (FILE *__stream); + + + + + +extern int getchar (void); + + + + + + +extern int getc_unlocked (FILE *__stream); +extern int getchar_unlocked (void); +# 538 "/usr/include/stdio.h" 3 4 +extern int fgetc_unlocked (FILE *__stream); +# 549 "/usr/include/stdio.h" 3 4 +extern int fputc (int __c, FILE *__stream); +extern int putc (int __c, FILE *__stream); + + + + + +extern int putchar (int __c); +# 565 "/usr/include/stdio.h" 3 4 +extern int fputc_unlocked (int __c, FILE *__stream); + + + + + + + +extern int putc_unlocked (int __c, FILE *__stream); +extern int putchar_unlocked (int __c); + + + + + + +extern int getw (FILE *__stream); + + +extern int putw (int __w, FILE *__stream); + + + + + + + +extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream) + __attribute__ ((__access__ (__write_only__, 1, 2))); +# 632 "/usr/include/stdio.h" 3 4 +extern __ssize_t __getdelim (char **__restrict __lineptr, + size_t *__restrict __n, int __delimiter, + FILE *__restrict __stream) ; +extern __ssize_t getdelim (char **__restrict __lineptr, + size_t *__restrict __n, int __delimiter, + FILE *__restrict __stream) ; + + + + + + + +extern __ssize_t getline (char **__restrict __lineptr, + size_t *__restrict __n, + FILE *__restrict __stream) ; + + + + + + + +extern int fputs (const char *__restrict __s, FILE *__restrict __stream); + + + + + +extern int puts (const char *__s); + + + + + + +extern int ungetc (int __c, FILE *__stream); + + + + + + +extern size_t fread (void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream) ; + + + + +extern size_t fwrite (const void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __s); +# 702 "/usr/include/stdio.h" 3 4 +extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream) ; +extern size_t fwrite_unlocked (const void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream); + + + + + + + +extern int fseek (FILE *__stream, long int __off, int __whence); + + + + +extern long int ftell (FILE *__stream) ; + + + + +extern void rewind (FILE *__stream); +# 736 "/usr/include/stdio.h" 3 4 +extern int fseeko (FILE *__stream, __off_t __off, int __whence); + + + + +extern __off_t ftello (FILE *__stream) ; +# 760 "/usr/include/stdio.h" 3 4 +extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos); + + + + +extern int fsetpos (FILE *__stream, const fpos_t *__pos); +# 786 "/usr/include/stdio.h" 3 4 +extern void clearerr (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); + +extern int feof (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; + +extern int ferror (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; + + + +extern void clearerr_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); +extern int feof_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; +extern int ferror_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; + + + + + + + +extern void perror (const char *__s); + + + + +extern int fileno (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; + + + + +extern int fileno_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; +# 823 "/usr/include/stdio.h" 3 4 +extern int pclose (FILE *__stream); + + + + + +extern FILE *popen (const char *__command, const char *__modes) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (pclose, 1))) ; + + + + + + +extern char *ctermid (char *__s) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1))); +# 867 "/usr/include/stdio.h" 3 4 +extern void flockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int ftrylockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; + + +extern void funlockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); +# 885 "/usr/include/stdio.h" 3 4 +extern int __uflow (FILE *); +extern int __overflow (FILE *, int); +# 902 "/usr/include/stdio.h" 3 4 + +# 5 "./src/tools_t/tools_t.h" 2 +# 1 "/usr/include/stdlib.h" 1 3 4 +# 26 "/usr/include/stdlib.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 1 3 4 +# 27 "/usr/include/stdlib.h" 2 3 4 + + + + + +# 1 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 1 3 4 +# 321 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 3 4 +typedef int wchar_t; +# 33 "/usr/include/stdlib.h" 2 3 4 + + + + + + + +# 1 "/usr/include/x86_64-linux-gnu/bits/waitflags.h" 1 3 4 +# 41 "/usr/include/stdlib.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/waitstatus.h" 1 3 4 +# 42 "/usr/include/stdlib.h" 2 3 4 +# 59 "/usr/include/stdlib.h" 3 4 +typedef struct + { + int quot; + int rem; + } div_t; + + + +typedef struct + { + long int quot; + long int rem; + } ldiv_t; + + + + + +__extension__ typedef struct + { + long long int quot; + long long int rem; + } lldiv_t; +# 98 "/usr/include/stdlib.h" 3 4 +extern size_t __ctype_get_mb_cur_max (void) __attribute__ ((__nothrow__ , __leaf__)) ; + + + +extern double atof (const char *__nptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; + +extern int atoi (const char *__nptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; + +extern long int atol (const char *__nptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; + + + +__extension__ extern long long int atoll (const char *__nptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; + + + +extern double strtod (const char *__restrict __nptr, + char **__restrict __endptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + +extern float strtof (const char *__restrict __nptr, + char **__restrict __endptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +extern long double strtold (const char *__restrict __nptr, + char **__restrict __endptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 177 "/usr/include/stdlib.h" 3 4 +extern long int strtol (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +extern unsigned long int strtoul (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + +__extension__ +extern long long int strtoq (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +__extension__ +extern unsigned long long int strtouq (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + +__extension__ +extern long long int strtoll (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +__extension__ +extern unsigned long long int strtoull (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 386 "/usr/include/stdlib.h" 3 4 +extern char *l64a (long int __n) __attribute__ ((__nothrow__ , __leaf__)) ; + + +extern long int a64l (const char *__s) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; + + + + +# 1 "/usr/include/x86_64-linux-gnu/sys/types.h" 1 3 4 +# 27 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 + + + + + + +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; + + +typedef __loff_t loff_t; + + + + +typedef __ino_t ino_t; +# 59 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 +typedef __dev_t dev_t; + + + + +typedef __gid_t gid_t; + + + + +typedef __mode_t mode_t; + + + + +typedef __nlink_t nlink_t; + + + + +typedef __uid_t uid_t; +# 97 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 +typedef __pid_t pid_t; + + + + + +typedef __id_t id_t; +# 114 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 +typedef __daddr_t daddr_t; +typedef __caddr_t caddr_t; + + + + + +typedef __key_t key_t; + + + + +# 1 "/usr/include/x86_64-linux-gnu/bits/types/clock_t.h" 1 3 4 + + + + + + +typedef __clock_t clock_t; +# 127 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 + +# 1 "/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h" 1 3 4 + + + + + + +typedef __clockid_t clockid_t; +# 129 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/types/time_t.h" 1 3 4 +# 10 "/usr/include/x86_64-linux-gnu/bits/types/time_t.h" 3 4 +typedef __time_t time_t; +# 130 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/types/timer_t.h" 1 3 4 + + + + + + +typedef __timer_t timer_t; +# 131 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 +# 144 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 +# 1 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 1 3 4 +# 145 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 + + + +typedef unsigned long int ulong; +typedef unsigned short int ushort; +typedef unsigned int uint; + + + + +# 1 "/usr/include/x86_64-linux-gnu/bits/stdint-intn.h" 1 3 4 +# 24 "/usr/include/x86_64-linux-gnu/bits/stdint-intn.h" 3 4 +typedef __int8_t int8_t; +typedef __int16_t int16_t; +typedef __int32_t int32_t; +typedef __int64_t int64_t; +# 156 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 + + +typedef __uint8_t u_int8_t; +typedef __uint16_t u_int16_t; +typedef __uint32_t u_int32_t; +typedef __uint64_t u_int64_t; + + +typedef int register_t __attribute__ ((__mode__ (__word__))); +# 176 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 +# 1 "/usr/include/endian.h" 1 3 4 +# 24 "/usr/include/endian.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/endian.h" 1 3 4 +# 35 "/usr/include/x86_64-linux-gnu/bits/endian.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/endianness.h" 1 3 4 +# 36 "/usr/include/x86_64-linux-gnu/bits/endian.h" 2 3 4 +# 25 "/usr/include/endian.h" 2 3 4 +# 35 "/usr/include/endian.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/byteswap.h" 1 3 4 +# 33 "/usr/include/x86_64-linux-gnu/bits/byteswap.h" 3 4 +static __inline __uint16_t +__bswap_16 (__uint16_t __bsx) +{ + + return __builtin_bswap16 (__bsx); + + + +} + + + + + + +static __inline __uint32_t +__bswap_32 (__uint32_t __bsx) +{ + + return __builtin_bswap32 (__bsx); + + + +} +# 69 "/usr/include/x86_64-linux-gnu/bits/byteswap.h" 3 4 +__extension__ static __inline __uint64_t +__bswap_64 (__uint64_t __bsx) +{ + + return __builtin_bswap64 (__bsx); + + + +} +# 36 "/usr/include/endian.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/uintn-identity.h" 1 3 4 +# 32 "/usr/include/x86_64-linux-gnu/bits/uintn-identity.h" 3 4 +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; +} +# 37 "/usr/include/endian.h" 2 3 4 +# 177 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 + + +# 1 "/usr/include/x86_64-linux-gnu/sys/select.h" 1 3 4 +# 30 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/select.h" 1 3 4 +# 31 "/usr/include/x86_64-linux-gnu/sys/select.h" 2 3 4 + + +# 1 "/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h" 1 3 4 + + + +# 1 "/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h" 1 3 4 + + + + +typedef struct +{ + unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; +} __sigset_t; +# 5 "/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h" 2 3 4 + + +typedef __sigset_t sigset_t; +# 34 "/usr/include/x86_64-linux-gnu/sys/select.h" 2 3 4 + + + +# 1 "/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h" 1 3 4 + + + + + + + +struct timeval +{ + + + + + __time_t tv_sec; + __suseconds_t tv_usec; + +}; +# 38 "/usr/include/x86_64-linux-gnu/sys/select.h" 2 3 4 + +# 1 "/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h" 1 3 4 +# 11 "/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h" 3 4 +struct timespec +{ + + + + __time_t tv_sec; + + + + + __syscall_slong_t tv_nsec; +# 31 "/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h" 3 4 +}; +# 40 "/usr/include/x86_64-linux-gnu/sys/select.h" 2 3 4 + + + +typedef __suseconds_t suseconds_t; + + + + + +typedef long int __fd_mask; +# 59 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4 +typedef struct + { + + + + + + + __fd_mask __fds_bits[1024 / (8 * (int) sizeof (__fd_mask))]; + + + } fd_set; + + + + + + +typedef __fd_mask fd_mask; +# 91 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4 + +# 102 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4 +extern int select (int __nfds, fd_set *__restrict __readfds, + fd_set *__restrict __writefds, + fd_set *__restrict __exceptfds, + struct timeval *__restrict __timeout); +# 127 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4 +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); +# 153 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4 + +# 180 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 + + + + + +typedef __blksize_t blksize_t; + + + + + + +typedef __blkcnt_t blkcnt_t; + + + +typedef __fsblkcnt_t fsblkcnt_t; + + + +typedef __fsfilcnt_t fsfilcnt_t; +# 227 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 1 3 4 +# 23 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 1 3 4 +# 44 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h" 1 3 4 +# 21 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 +# 22 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h" 2 3 4 +# 45 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 2 3 4 + +# 1 "/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h" 1 3 4 +# 25 "/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h" 3 4 +typedef union +{ + __extension__ unsigned long long int __value64; + struct + { + unsigned int __low; + unsigned int __high; + } __value32; +} __atomic_wide_counter; +# 47 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 2 3 4 + + + + +typedef struct __pthread_internal_list +{ + struct __pthread_internal_list *__prev; + struct __pthread_internal_list *__next; +} __pthread_list_t; + +typedef struct __pthread_internal_slist +{ + struct __pthread_internal_slist *__next; +} __pthread_slist_t; +# 76 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/struct_mutex.h" 1 3 4 +# 22 "/usr/include/x86_64-linux-gnu/bits/struct_mutex.h" 3 4 +struct __pthread_mutex_s +{ + int __lock; + unsigned int __count; + int __owner; + + unsigned int __nusers; + + + + int __kind; + + short __spins; + short __elision; + __pthread_list_t __list; +# 53 "/usr/include/x86_64-linux-gnu/bits/struct_mutex.h" 3 4 +}; +# 77 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 2 3 4 +# 89 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h" 1 3 4 +# 23 "/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h" 3 4 +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; + + int __cur_writer; + int __shared; + signed char __rwelision; + + + + + unsigned char __pad1[7]; + + + unsigned long int __pad2; + + + unsigned int __flags; +# 55 "/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h" 3 4 +}; +# 90 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 2 3 4 + + + + +struct __pthread_cond_s +{ + __atomic_wide_counter __wseq; + __atomic_wide_counter __g1_start; + unsigned int __g_refs[2] ; + unsigned int __g_size[2]; + unsigned int __g1_orig_size; + unsigned int __wrefs; + unsigned int __g_signals[2]; +}; + +typedef unsigned int __tss_t; +typedef unsigned long int __thrd_t; + +typedef struct +{ + int __data ; +} __once_flag; +# 24 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 2 3 4 + + + +typedef unsigned long int pthread_t; + + + + +typedef union +{ + char __size[4]; + int __align; +} pthread_mutexattr_t; + + + + +typedef union +{ + char __size[4]; + int __align; +} pthread_condattr_t; + + + +typedef unsigned int pthread_key_t; + + + +typedef int pthread_once_t; + + +union pthread_attr_t +{ + char __size[56]; + long int __align; +}; + +typedef union pthread_attr_t pthread_attr_t; + + + + +typedef union +{ + struct __pthread_mutex_s __data; + char __size[40]; + long int __align; +} pthread_mutex_t; + + +typedef union +{ + struct __pthread_cond_s __data; + char __size[48]; + __extension__ long long int __align; +} pthread_cond_t; + + + + + +typedef union +{ + struct __pthread_rwlock_arch_t __data; + char __size[56]; + long int __align; +} pthread_rwlock_t; + +typedef union +{ + char __size[8]; + long int __align; +} pthread_rwlockattr_t; + + + + + +typedef volatile int pthread_spinlock_t; + + + + +typedef union +{ + char __size[32]; + long int __align; +} pthread_barrier_t; + +typedef union +{ + char __size[4]; + int __align; +} pthread_barrierattr_t; +# 228 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 + + + +# 396 "/usr/include/stdlib.h" 2 3 4 + + + + + + +extern long int random (void) __attribute__ ((__nothrow__ , __leaf__)); + + +extern void srandom (unsigned int __seed) __attribute__ ((__nothrow__ , __leaf__)); + + + + + +extern char *initstate (unsigned int __seed, char *__statebuf, + size_t __statelen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + + + +extern char *setstate (char *__statebuf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + + +struct random_data + { + int32_t *fptr; + int32_t *rptr; + int32_t *state; + int rand_type; + int rand_deg; + int rand_sep; + int32_t *end_ptr; + }; + +extern int random_r (struct random_data *__restrict __buf, + int32_t *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + +extern int srandom_r (unsigned int __seed, struct random_data *__buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + +extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, + size_t __statelen, + struct random_data *__restrict __buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 4))); + +extern int setstate_r (char *__restrict __statebuf, + struct random_data *__restrict __buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + + +extern int rand (void) __attribute__ ((__nothrow__ , __leaf__)); + +extern void srand (unsigned int __seed) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int rand_r (unsigned int *__seed) __attribute__ ((__nothrow__ , __leaf__)); + + + + + + + +extern double drand48 (void) __attribute__ ((__nothrow__ , __leaf__)); +extern double erand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern long int lrand48 (void) __attribute__ ((__nothrow__ , __leaf__)); +extern long int nrand48 (unsigned short int __xsubi[3]) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern long int mrand48 (void) __attribute__ ((__nothrow__ , __leaf__)); +extern long int jrand48 (unsigned short int __xsubi[3]) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern void srand48 (long int __seedval) __attribute__ ((__nothrow__ , __leaf__)); +extern unsigned short int *seed48 (unsigned short int __seed16v[3]) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +extern void lcong48 (unsigned short int __param[7]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + +struct drand48_data + { + unsigned short int __x[3]; + unsigned short int __old_x[3]; + unsigned short int __c; + unsigned short int __init; + __extension__ unsigned long long int __a; + + }; + + +extern int drand48_r (struct drand48_data *__restrict __buffer, + double *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern int erand48_r (unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + double *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int lrand48_r (struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern int nrand48_r (unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int mrand48_r (struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern int jrand48_r (unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int srand48_r (long int __seedval, struct drand48_data *__buffer) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + +extern int seed48_r (unsigned short int __seed16v[3], + struct drand48_data *__buffer) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + +extern int lcong48_r (unsigned short int __param[7], + struct drand48_data *__buffer) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + +extern void *malloc (size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) + __attribute__ ((__alloc_size__ (1))) ; + +extern void *calloc (size_t __nmemb, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__alloc_size__ (1, 2))) ; + + + + + + +extern void *realloc (void *__ptr, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__alloc_size__ (2))); + + +extern void free (void *__ptr) __attribute__ ((__nothrow__ , __leaf__)); + + + + + + + +extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) + __attribute__ ((__alloc_size__ (2, 3))) + __attribute__ ((__malloc__ (__builtin_free, 1))); + + +extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__ (reallocarray, 1))); + + + +# 1 "/usr/include/alloca.h" 1 3 4 +# 24 "/usr/include/alloca.h" 3 4 +# 1 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 1 3 4 +# 25 "/usr/include/alloca.h" 2 3 4 + + + + + + + +extern void *alloca (size_t __size) __attribute__ ((__nothrow__ , __leaf__)); + + + + + + +# 575 "/usr/include/stdlib.h" 2 3 4 + + + + + +extern void *valloc (size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) + __attribute__ ((__alloc_size__ (1))) ; + + + + +extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; + + + + +extern void *aligned_alloc (size_t __alignment, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__alloc_align__ (1))) + __attribute__ ((__alloc_size__ (2))) ; + + + +extern void abort (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); + + + +extern int atexit (void (*__func) (void)) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + + +extern int at_quick_exit (void (*__func) (void)) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + +extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + +extern void exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); + + + + + +extern void quick_exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); + + + + + +extern void _Exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); + + + + +extern char *getenv (const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; +# 654 "/usr/include/stdlib.h" 3 4 +extern int putenv (char *__string) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + +extern int setenv (const char *__name, const char *__value, int __replace) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + + +extern int unsetenv (const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + +extern int clearenv (void) __attribute__ ((__nothrow__ , __leaf__)); +# 682 "/usr/include/stdlib.h" 3 4 +extern char *mktemp (char *__template) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 695 "/usr/include/stdlib.h" 3 4 +extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) ; +# 717 "/usr/include/stdlib.h" 3 4 +extern int mkstemps (char *__template, int __suffixlen) __attribute__ ((__nonnull__ (1))) ; +# 738 "/usr/include/stdlib.h" 3 4 +extern char *mkdtemp (char *__template) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; +# 791 "/usr/include/stdlib.h" 3 4 +extern int system (const char *__command) ; +# 808 "/usr/include/stdlib.h" 3 4 +extern char *realpath (const char *__restrict __name, + char *__restrict __resolved) __attribute__ ((__nothrow__ , __leaf__)) ; + + + + + + +typedef int (*__compar_fn_t) (const void *, const void *); +# 828 "/usr/include/stdlib.h" 3 4 +extern void *bsearch (const void *__key, const void *__base, + size_t __nmemb, size_t __size, __compar_fn_t __compar) + __attribute__ ((__nonnull__ (1, 2, 5))) ; + + + + + + + +extern void qsort (void *__base, size_t __nmemb, size_t __size, + __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4))); +# 848 "/usr/include/stdlib.h" 3 4 +extern int abs (int __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; +extern long int labs (long int __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; + + +__extension__ extern long long int llabs (long long int __x) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; + + + + + + +extern div_t div (int __numer, int __denom) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; +extern ldiv_t ldiv (long int __numer, long int __denom) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; + + +__extension__ extern lldiv_t lldiv (long long int __numer, + long long int __denom) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; +# 880 "/usr/include/stdlib.h" 3 4 +extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) ; + + + + +extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) ; + + + + +extern char *gcvt (double __value, int __ndigit, char *__buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))) ; + + + + +extern char *qecvt (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) ; +extern char *qfcvt (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) ; +extern char *qgcvt (long double __value, int __ndigit, char *__buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))) ; + + + + +extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign, char *__restrict __buf, + size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); +extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign, char *__restrict __buf, + size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__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) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__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) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); + + + + + +extern int mblen (const char *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); + + +extern int mbtowc (wchar_t *__restrict __pwc, + const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); + + +extern int wctomb (char *__s, wchar_t __wchar) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern size_t mbstowcs (wchar_t *__restrict __pwcs, + const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__read_only__, 2))); + +extern size_t wcstombs (char *__restrict __s, + const wchar_t *__restrict __pwcs, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1, 3))) + __attribute__ ((__access__ (__read_only__, 2))); + + + + + + +extern int rpmatch (const char *__response) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; +# 967 "/usr/include/stdlib.h" 3 4 +extern int getsubopt (char **__restrict __optionp, + char *const *__restrict __tokens, + char **__restrict __valuep) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2, 3))) ; +# 1013 "/usr/include/stdlib.h" 3 4 +extern int getloadavg (double __loadavg[], int __nelem) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 1023 "/usr/include/stdlib.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/stdlib-float.h" 1 3 4 +# 1024 "/usr/include/stdlib.h" 2 3 4 +# 1035 "/usr/include/stdlib.h" 3 4 + +# 6 "./src/tools_t/tools_t.h" 2 +# 1 "/usr/include/string.h" 1 3 4 +# 26 "/usr/include/string.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 1 3 4 +# 27 "/usr/include/string.h" 2 3 4 + + + + + + +# 1 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 1 3 4 +# 34 "/usr/include/string.h" 2 3 4 +# 43 "/usr/include/string.h" 3 4 +extern void *memcpy (void *__restrict __dest, const void *__restrict __src, + size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern void *memmove (void *__dest, const void *__src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + + +extern void *memccpy (void *__restrict __dest, const void *__restrict __src, + int __c, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__access__ (__write_only__, 1, 4))); + + + + +extern void *memset (void *__s, int __c, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern int memcmp (const void *__s1, const void *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); +# 80 "/usr/include/string.h" 3 4 +extern int __memcmpeq (const void *__s1, const void *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); +# 107 "/usr/include/string.h" 3 4 +extern void *memchr (const void *__s, int __c, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); +# 141 "/usr/include/string.h" 3 4 +extern char *strcpy (char *__restrict __dest, const char *__restrict __src) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + +extern char *strncpy (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern char *strcat (char *__restrict __dest, const char *__restrict __src) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + +extern char *strncat (char *__restrict __dest, const char *__restrict __src, + size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int strcmp (const char *__s1, const char *__s2) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + +extern int strncmp (const char *__s1, const char *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int strcoll (const char *__s1, const char *__s2) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + +extern size_t strxfrm (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))) __attribute__ ((__access__ (__write_only__, 1, 3))); + + + +# 1 "/usr/include/x86_64-linux-gnu/bits/types/locale_t.h" 1 3 4 +# 22 "/usr/include/x86_64-linux-gnu/bits/types/locale_t.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h" 1 3 4 +# 27 "/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h" 3 4 +struct __locale_struct +{ + + struct __locale_data *__locales[13]; + + + const unsigned short int *__ctype_b; + const int *__ctype_tolower; + const int *__ctype_toupper; + + + const char *__names[13]; +}; + +typedef struct __locale_struct *__locale_t; +# 23 "/usr/include/x86_64-linux-gnu/bits/types/locale_t.h" 2 3 4 + +typedef __locale_t locale_t; +# 173 "/usr/include/string.h" 2 3 4 + + +extern int strcoll_l (const char *__s1, const char *__s2, locale_t __l) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); + + +extern size_t strxfrm_l (char *__dest, const char *__src, size_t __n, + locale_t __l) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 4))) + __attribute__ ((__access__ (__write_only__, 1, 3))); + + + + + +extern char *strdup (const char *__s) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); + + + + + + +extern char *strndup (const char *__string, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); +# 246 "/usr/include/string.h" 3 4 +extern char *strchr (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); +# 273 "/usr/include/string.h" 3 4 +extern char *strrchr (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); +# 293 "/usr/include/string.h" 3 4 +extern size_t strcspn (const char *__s, const char *__reject) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern size_t strspn (const char *__s, const char *__accept) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); +# 323 "/usr/include/string.h" 3 4 +extern char *strpbrk (const char *__s, const char *__accept) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); +# 350 "/usr/include/string.h" 3 4 +extern char *strstr (const char *__haystack, const char *__needle) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + + + +extern char *strtok (char *__restrict __s, const char *__restrict __delim) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + + + +extern char *__strtok_r (char *__restrict __s, + const char *__restrict __delim, + char **__restrict __save_ptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))); + +extern char *strtok_r (char *__restrict __s, const char *__restrict __delim, + char **__restrict __save_ptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))); +# 407 "/usr/include/string.h" 3 4 +extern size_t strlen (const char *__s) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); + + + + +extern size_t strnlen (const char *__string, size_t __maxlen) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); + + + + +extern char *strerror (int __errnum) __attribute__ ((__nothrow__ , __leaf__)); +# 432 "/usr/include/string.h" 3 4 +extern int strerror_r (int __errnum, char *__buf, size_t __buflen) __asm__ ("" "__xpg_strerror_r") __attribute__ ((__nothrow__ , __leaf__)) + + __attribute__ ((__nonnull__ (2))) + __attribute__ ((__access__ (__write_only__, 2, 3))); +# 458 "/usr/include/string.h" 3 4 +extern char *strerror_l (int __errnum, locale_t __l) __attribute__ ((__nothrow__ , __leaf__)); + + + +# 1 "/usr/include/strings.h" 1 3 4 +# 23 "/usr/include/strings.h" 3 4 +# 1 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 1 3 4 +# 24 "/usr/include/strings.h" 2 3 4 + + + + + + + + + + +extern int bcmp (const void *__s1, const void *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern void bcopy (const void *__src, void *__dest, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern void bzero (void *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 68 "/usr/include/strings.h" 3 4 +extern char *index (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); +# 96 "/usr/include/strings.h" 3 4 +extern char *rindex (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); + + + + + + +extern int ffs (int __i) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); + + + + + +extern int ffsl (long int __l) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); +__extension__ extern int ffsll (long long int __ll) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); + + + +extern int strcasecmp (const char *__s1, const char *__s2) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int strncasecmp (const char *__s1, const char *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + + + + + +extern int strcasecmp_l (const char *__s1, const char *__s2, locale_t __loc) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); + + + +extern int strncasecmp_l (const char *__s1, const char *__s2, + size_t __n, locale_t __loc) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 4))); + + + +# 463 "/usr/include/string.h" 2 3 4 + + + +extern void explicit_bzero (void *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) + __attribute__ ((__access__ (__write_only__, 1, 2))); + + + +extern char *strsep (char **__restrict __stringp, + const char *__restrict __delim) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + +extern char *strsignal (int __sig) __attribute__ ((__nothrow__ , __leaf__)); +# 489 "/usr/include/string.h" 3 4 +extern char *__stpcpy (char *__restrict __dest, const char *__restrict __src) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern char *stpcpy (char *__restrict __dest, const char *__restrict __src) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + +extern char *__stpncpy (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern char *stpncpy (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +# 539 "/usr/include/string.h" 3 4 + +# 7 "./src/tools_t/tools_t.h" 2 +# 1 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stdbool.h" 1 3 4 +# 8 "./src/tools_t/tools_t.h" 2 +# 36 "./src/tools_t/tools_t.h" + +# 36 "./src/tools_t/tools_t.h" +int COMPARE_N_TYPE_CHAR(const void *,const void*); void COPY_ARRAY_TYPE_CHAR(char* dst, const char* src, size_t size); char MAX_ARRAY_TYPE_CHAR(const char *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_CHAR(const char *array, size_t size); char MIN_ARRAY_TYPE_CHAR(const char *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_CHAR(const char *array, size_t size); +int COMPARE_N_TYPE_U_CHAR(const void *,const void*); void COPY_ARRAY_TYPE_U_CHAR(unsigned char* dst, const unsigned char* src, size_t size); unsigned char MAX_ARRAY_TYPE_U_CHAR(const unsigned char *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_U_CHAR(const unsigned char *array, size_t size); unsigned char MIN_ARRAY_TYPE_U_CHAR(const unsigned char *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_U_CHAR(const unsigned char *array, size_t size); +int COMPARE_N_TYPE_INT(const void *,const void*); void COPY_ARRAY_TYPE_INT(int* dst, const int* src, size_t size); int MAX_ARRAY_TYPE_INT(const int *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_INT(const int *array, size_t size); int MIN_ARRAY_TYPE_INT(const int *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_INT(const int *array, size_t size); +int COMPARE_N_TYPE_U_INT(const void *,const void*); void COPY_ARRAY_TYPE_U_INT(unsigned int* dst, const unsigned int* src, size_t size); unsigned int MAX_ARRAY_TYPE_U_INT(const unsigned int *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_U_INT(const unsigned int *array, size_t size); unsigned int MIN_ARRAY_TYPE_U_INT(const unsigned int *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_U_INT(const unsigned int *array, size_t size); +int COMPARE_N_TYPE_L_INT(const void *,const void*); void COPY_ARRAY_TYPE_L_INT(long int* dst, const long int* src, size_t size); long int MAX_ARRAY_TYPE_L_INT(const long int *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_L_INT(const long int *array, size_t size); long int MIN_ARRAY_TYPE_L_INT(const long int *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_L_INT(const long int *array, size_t size); +int COMPARE_N_TYPE_U_L_INT(const void *,const void*); void COPY_ARRAY_TYPE_U_L_INT(unsigned long int* dst, const unsigned long int* src, size_t size); unsigned long int MAX_ARRAY_TYPE_U_L_INT(const unsigned long int *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_U_L_INT(const unsigned long int *array, size_t size); unsigned long int MIN_ARRAY_TYPE_U_L_INT(const unsigned long int *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_U_L_INT(const unsigned long int *array, size_t size); +int COMPARE_N_TYPE_SIZE_T(const void *,const void*); void COPY_ARRAY_TYPE_SIZE_T(size_t* dst, const size_t* src, size_t size); size_t MAX_ARRAY_TYPE_SIZE_T(const size_t *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_SIZE_T(const size_t *array, size_t size); size_t MIN_ARRAY_TYPE_SIZE_T(const size_t *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_SIZE_T(const size_t *array, size_t size); +int COMPARE_N_TYPE_FLOAT(const void *,const void*); void COPY_ARRAY_TYPE_FLOAT(float* dst, const float* src, size_t size); float MAX_ARRAY_TYPE_FLOAT(const float *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_FLOAT(const float *array, size_t size); float MIN_ARRAY_TYPE_FLOAT(const float *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_FLOAT(const float *array, size_t size); +int COMPARE_N_TYPE_DOUBLE(const void *,const void*); void COPY_ARRAY_TYPE_DOUBLE(double* dst, const double* src, size_t size); double MAX_ARRAY_TYPE_DOUBLE(const double *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_DOUBLE(const double *array, size_t size); double MIN_ARRAY_TYPE_DOUBLE(const double *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_DOUBLE(const double *array, size_t size); +int COMPARE_N_TYPE_L_DOUBLE(const void *,const void*); void COPY_ARRAY_TYPE_L_DOUBLE(long double* dst, const long double* src, size_t size); long double MAX_ARRAY_TYPE_L_DOUBLE(const long double *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_L_DOUBLE(const long double *array, size_t size); long double MIN_ARRAY_TYPE_L_DOUBLE(const long double *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_L_DOUBLE(const long double *array, size_t size); +int COMPARE_N_TYPE_STRING(const void *,const void*); void COPY_ARRAY_TYPE_STRING(char** dst, const char** src, size_t size); char* MAX_ARRAY_TYPE_STRING(const char* *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_STRING(const char* *array, size_t size); char* MIN_ARRAY_TYPE_STRING(const char* *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_STRING(const char* *array, size_t size); +# 5 "./src/permutation_t/permutation_t.h" 2 +# 1 "./src/set_theoric_t/set_theoric_t.h" 1 +# 16 "./src/set_theoric_t/set_theoric_t.h" +struct SET_THEORIC_TYPE_U_CHAR{ unsigned char id; unsigned char *set;}; typedef struct SET_THEORIC_TYPE_U_CHAR SET_THEORIC_TYPE_U_CHAR; SET_THEORIC_TYPE_U_CHAR * CREATE_SET_THEORIC_TYPE_U_CHAR(TYPE_TYPE_U_CHAR); +# 16 "./src/set_theoric_t/set_theoric_t.h" 3 4 +_Bool +# 16 "./src/set_theoric_t/set_theoric_t.h" +IS_SET_THEORIC_TYPE_U_CHAR(SET_THEORIC_TYPE_U_CHAR *st); +struct SET_THEORIC_TYPE_U_INT{ unsigned int id; unsigned int *set;}; typedef struct SET_THEORIC_TYPE_U_INT SET_THEORIC_TYPE_U_INT; SET_THEORIC_TYPE_U_INT * CREATE_SET_THEORIC_TYPE_U_INT(TYPE_TYPE_U_INT); +# 17 "./src/set_theoric_t/set_theoric_t.h" 3 4 +_Bool +# 17 "./src/set_theoric_t/set_theoric_t.h" +IS_SET_THEORIC_TYPE_U_INT(SET_THEORIC_TYPE_U_INT *st); +struct SET_THEORIC_TYPE_U_L_INT{ unsigned long int id; unsigned long int *set;}; typedef struct SET_THEORIC_TYPE_U_L_INT SET_THEORIC_TYPE_U_L_INT; SET_THEORIC_TYPE_U_L_INT * CREATE_SET_THEORIC_TYPE_U_L_INT(TYPE_TYPE_U_L_INT); +# 18 "./src/set_theoric_t/set_theoric_t.h" 3 4 +_Bool +# 18 "./src/set_theoric_t/set_theoric_t.h" +IS_SET_THEORIC_TYPE_U_L_INT(SET_THEORIC_TYPE_U_L_INT *st); +struct SET_THEORIC_TYPE_SIZE_T{ size_t id; size_t *set;}; typedef struct SET_THEORIC_TYPE_SIZE_T SET_THEORIC_TYPE_SIZE_T; SET_THEORIC_TYPE_SIZE_T * CREATE_SET_THEORIC_TYPE_SIZE_T(TYPE_TYPE_SIZE_T); +# 19 "./src/set_theoric_t/set_theoric_t.h" 3 4 +_Bool +# 19 "./src/set_theoric_t/set_theoric_t.h" +IS_SET_THEORIC_TYPE_SIZE_T(SET_THEORIC_TYPE_SIZE_T *st); +# 6 "./src/permutation_t/permutation_t.h" 2 +# 23 "./src/permutation_t/permutation_t.h" +struct PERMUTATION_TYPE_CHAR{ size_t size; char * perm; }; typedef struct PERMUTATION_TYPE_CHAR PERMUTATION_TYPE_CHAR; PERMUTATION_TYPE_CHAR * CREATE_PERMUTATION_TYPE_CHAR(size_t size); +struct PERMUTATION_TYPE_U_CHAR{ size_t size; unsigned char * perm; }; typedef struct PERMUTATION_TYPE_U_CHAR PERMUTATION_TYPE_U_CHAR; PERMUTATION_TYPE_U_CHAR * CREATE_PERMUTATION_TYPE_U_CHAR(size_t size); +struct PERMUTATION_TYPE_INT{ size_t size; int * perm; }; typedef struct PERMUTATION_TYPE_INT PERMUTATION_TYPE_INT; PERMUTATION_TYPE_INT * CREATE_PERMUTATION_TYPE_INT(size_t size); +struct PERMUTATION_TYPE_U_INT{ size_t size; unsigned int * perm; }; typedef struct PERMUTATION_TYPE_U_INT PERMUTATION_TYPE_U_INT; PERMUTATION_TYPE_U_INT * CREATE_PERMUTATION_TYPE_U_INT(size_t size); +struct PERMUTATION_TYPE_L_INT{ size_t size; long int * perm; }; typedef struct PERMUTATION_TYPE_L_INT PERMUTATION_TYPE_L_INT; PERMUTATION_TYPE_L_INT * CREATE_PERMUTATION_TYPE_L_INT(size_t size); +struct PERMUTATION_TYPE_U_L_INT{ size_t size; unsigned long int * perm; }; typedef struct PERMUTATION_TYPE_U_L_INT PERMUTATION_TYPE_U_L_INT; PERMUTATION_TYPE_U_L_INT * CREATE_PERMUTATION_TYPE_U_L_INT(size_t size); +struct PERMUTATION_TYPE_SIZE_T{ size_t size; size_t * perm; }; typedef struct PERMUTATION_TYPE_SIZE_T PERMUTATION_TYPE_SIZE_T; PERMUTATION_TYPE_SIZE_T * CREATE_PERMUTATION_TYPE_SIZE_T(size_t size); +struct PERMUTATION_TYPE_FLOAT{ size_t size; float * perm; }; typedef struct PERMUTATION_TYPE_FLOAT PERMUTATION_TYPE_FLOAT; PERMUTATION_TYPE_FLOAT * CREATE_PERMUTATION_TYPE_FLOAT(size_t size); +struct PERMUTATION_TYPE_DOUBLE{ size_t size; double * perm; }; typedef struct PERMUTATION_TYPE_DOUBLE PERMUTATION_TYPE_DOUBLE; PERMUTATION_TYPE_DOUBLE * CREATE_PERMUTATION_TYPE_DOUBLE(size_t size); +struct PERMUTATION_TYPE_L_DOUBLE{ size_t size; long double * perm; }; typedef struct PERMUTATION_TYPE_L_DOUBLE PERMUTATION_TYPE_L_DOUBLE; PERMUTATION_TYPE_L_DOUBLE * CREATE_PERMUTATION_TYPE_L_DOUBLE(size_t size); +struct PERMUTATION_TYPE_STRING{ size_t size; char* * perm; }; typedef struct PERMUTATION_TYPE_STRING PERMUTATION_TYPE_STRING; PERMUTATION_TYPE_STRING * CREATE_PERMUTATION_TYPE_STRING(size_t size); + + + + + +# 38 "./src/permutation_t/permutation_t.h" 3 4 +_Bool +# 38 "./src/permutation_t/permutation_t.h" +IS_PERMUTATION_SET_THEORIC_TYPE_U_CHAR(const PERMUTATION_TYPE_U_CHAR *p); + +# 39 "./src/permutation_t/permutation_t.h" 3 4 +_Bool +# 39 "./src/permutation_t/permutation_t.h" +IS_PERMUTATION_SET_THEORIC_TYPE_U_INT(const PERMUTATION_TYPE_U_INT *p); + +# 40 "./src/permutation_t/permutation_t.h" 3 4 +_Bool +# 40 "./src/permutation_t/permutation_t.h" +IS_PERMUTATION_SET_THEORIC_TYPE_U_L_INT(const PERMUTATION_TYPE_U_L_INT *p); + +# 41 "./src/permutation_t/permutation_t.h" 3 4 +_Bool +# 41 "./src/permutation_t/permutation_t.h" +IS_PERMUTATION_SET_THEORIC_TYPE_SIZE_T(const PERMUTATION_TYPE_SIZE_T *p); +# 2 "src/permutation_t/permutation_t.c" 2 +# 19 "src/permutation_t/permutation_t.c" + +# 19 "src/permutation_t/permutation_t.c" 3 4 +_Bool +# 19 "src/permutation_t/permutation_t.c" +IS_PERMUTATION_SET_THEORIC_TYPE_U_CHAR(const PERMUTATION_TYPE_U_CHAR *p){ if(p == +# 19 "src/permutation_t/permutation_t.c" 3 4 +((void *)0) +# 19 "src/permutation_t/permutation_t.c" +) return +# 19 "src/permutation_t/permutation_t.c" 3 4 +0 +# 19 "src/permutation_t/permutation_t.c" +; size_t size = p->size; unsigned char j; size_t *count_array_i = calloc(size, sizeof(size_t)); if(count_array_i == +# 19 "src/permutation_t/permutation_t.c" 3 4 +((void *)0) +# 19 "src/permutation_t/permutation_t.c" +){ printf("can't alloc count_array_i\n"); return +# 19 "src/permutation_t/permutation_t.c" 3 4 +0 +# 19 "src/permutation_t/permutation_t.c" +;} for(size_t i = 0; i < size; ++i){ j = p->perm[i]; if((COMPARE_N_TYPE_U_CHAR(&j, (unsigned char*)&size) >= 0) || count_array_i[j]){ free(count_array_i); return +# 19 "src/permutation_t/permutation_t.c" 3 4 +0 +# 19 "src/permutation_t/permutation_t.c" +; } ++count_array_i[j];} free(count_array_i); return +# 19 "src/permutation_t/permutation_t.c" 3 4 +1 +# 19 "src/permutation_t/permutation_t.c" +; } + +# 20 "src/permutation_t/permutation_t.c" 3 4 +_Bool +# 20 "src/permutation_t/permutation_t.c" +IS_PERMUTATION_SET_THEORIC_TYPE_U_INT(const PERMUTATION_TYPE_U_INT *p){ if(p == +# 20 "src/permutation_t/permutation_t.c" 3 4 +((void *)0) +# 20 "src/permutation_t/permutation_t.c" +) return +# 20 "src/permutation_t/permutation_t.c" 3 4 +0 +# 20 "src/permutation_t/permutation_t.c" +; size_t size = p->size; unsigned int j; size_t *count_array_i = calloc(size, sizeof(size_t)); if(count_array_i == +# 20 "src/permutation_t/permutation_t.c" 3 4 +((void *)0) +# 20 "src/permutation_t/permutation_t.c" +){ printf("can't alloc count_array_i\n"); return +# 20 "src/permutation_t/permutation_t.c" 3 4 +0 +# 20 "src/permutation_t/permutation_t.c" +;} for(size_t i = 0; i < size; ++i){ j = p->perm[i]; if((COMPARE_N_TYPE_U_INT(&j, (unsigned int*)&size) >= 0) || count_array_i[j]){ free(count_array_i); return +# 20 "src/permutation_t/permutation_t.c" 3 4 +0 +# 20 "src/permutation_t/permutation_t.c" +; } ++count_array_i[j];} free(count_array_i); return +# 20 "src/permutation_t/permutation_t.c" 3 4 +1 +# 20 "src/permutation_t/permutation_t.c" +; } + +# 21 "src/permutation_t/permutation_t.c" 3 4 +_Bool +# 21 "src/permutation_t/permutation_t.c" +IS_PERMUTATION_SET_THEORIC_TYPE_U_L_INT(const PERMUTATION_TYPE_U_L_INT *p){ if(p == +# 21 "src/permutation_t/permutation_t.c" 3 4 +((void *)0) +# 21 "src/permutation_t/permutation_t.c" +) return +# 21 "src/permutation_t/permutation_t.c" 3 4 +0 +# 21 "src/permutation_t/permutation_t.c" +; size_t size = p->size; unsigned long int j; size_t *count_array_i = calloc(size, sizeof(size_t)); if(count_array_i == +# 21 "src/permutation_t/permutation_t.c" 3 4 +((void *)0) +# 21 "src/permutation_t/permutation_t.c" +){ printf("can't alloc count_array_i\n"); return +# 21 "src/permutation_t/permutation_t.c" 3 4 +0 +# 21 "src/permutation_t/permutation_t.c" +;} for(size_t i = 0; i < size; ++i){ j = p->perm[i]; if((COMPARE_N_TYPE_U_L_INT(&j, (unsigned long int*)&size) >= 0) || count_array_i[j]){ free(count_array_i); return +# 21 "src/permutation_t/permutation_t.c" 3 4 +0 +# 21 "src/permutation_t/permutation_t.c" +; } ++count_array_i[j];} free(count_array_i); return +# 21 "src/permutation_t/permutation_t.c" 3 4 +1 +# 21 "src/permutation_t/permutation_t.c" +; } + +# 22 "src/permutation_t/permutation_t.c" 3 4 +_Bool +# 22 "src/permutation_t/permutation_t.c" +IS_PERMUTATION_SET_THEORIC_TYPE_SIZE_T(const PERMUTATION_TYPE_SIZE_T *p){ if(p == +# 22 "src/permutation_t/permutation_t.c" 3 4 +((void *)0) +# 22 "src/permutation_t/permutation_t.c" +) return +# 22 "src/permutation_t/permutation_t.c" 3 4 +0 +# 22 "src/permutation_t/permutation_t.c" +; size_t size = p->size; size_t j; size_t *count_array_i = calloc(size, sizeof(size_t)); if(count_array_i == +# 22 "src/permutation_t/permutation_t.c" 3 4 +((void *)0) +# 22 "src/permutation_t/permutation_t.c" +){ printf("can't alloc count_array_i\n"); return +# 22 "src/permutation_t/permutation_t.c" 3 4 +0 +# 22 "src/permutation_t/permutation_t.c" +;} for(size_t i = 0; i < size; ++i){ j = p->perm[i]; if((COMPARE_N_TYPE_SIZE_T(&j, (size_t*)&size) >= 0) || count_array_i[j]){ free(count_array_i); return +# 22 "src/permutation_t/permutation_t.c" 3 4 +0 +# 22 "src/permutation_t/permutation_t.c" +; } ++count_array_i[j];} free(count_array_i); return +# 22 "src/permutation_t/permutation_t.c" 3 4 +1 +# 22 "src/permutation_t/permutation_t.c" +; } +# 67 "src/permutation_t/permutation_t.c" +PERMUTATION_TYPE_CHAR * CREATE_PERMUTATION_TYPE_CHAR(size_t size){ if (size == 0) return +# 67 "src/permutation_t/permutation_t.c" 3 4 +((void *)0) +# 67 "src/permutation_t/permutation_t.c" +; PERMUTATION_TYPE_CHAR *p = malloc(sizeof(PERMUTATION_TYPE_CHAR)); p->size = size; p->perm = malloc(size * sizeof(char)); return p; } PERMUTATION_TYPE_SIZE_T * TRANSLATE_TO_SET_THEORIC_SIZE_T_TYPE_CHAR(PERMUTATION_TYPE_CHAR *p ){ if (p == +# 67 "src/permutation_t/permutation_t.c" 3 4 +((void *)0) +# 67 "src/permutation_t/permutation_t.c" +) return +# 67 "src/permutation_t/permutation_t.c" 3 4 +((void *)0) +# 67 "src/permutation_t/permutation_t.c" +; PERMUTATION_TYPE_SIZE_T *t_p = malloc(sizeof(PERMUTATION_TYPE_SIZE_T)); size_t size = p->size; t_p->perm = malloc(size * sizeof(size_t)); char *sorted_perm = malloc(size * sizeof(char)); COPY_ARRAY_TYPE_CHAR(sorted_perm, p->perm, size); qsort(sorted_perm, size, sizeof(char), COMPARE_N_TYPE_CHAR); size_t *rec_index_visited = malloc(size * sizeof(size_t)); size_t cur_rec = 0; +# 67 "src/permutation_t/permutation_t.c" 3 4 +_Bool +# 67 "src/permutation_t/permutation_t.c" +found_rec; for(size_t i = 0; i < size; ++i){ for(size_t j = 0; j < size; ++j){ if(COMPARE_N_TYPE_CHAR(&(p->perm[j]), &(sorted_perm[i])) == 0){ found_rec = +# 67 "src/permutation_t/permutation_t.c" 3 4 +0 +# 67 "src/permutation_t/permutation_t.c" +; for(size_t k = 0; k < cur_rec; ++k){ if(rec_index_visited[k] == j){ found_rec == +# 67 "src/permutation_t/permutation_t.c" 3 4 +1 +# 67 "src/permutation_t/permutation_t.c" +; break; } } if(found_rec == +# 67 "src/permutation_t/permutation_t.c" 3 4 +0 +# 67 "src/permutation_t/permutation_t.c" +){ t_p->perm[i] = j; rec_index_visited[cur_rec++] = j; break; } } } } free(rec_index_visited); free(sorted_perm); return t_p; } +# 67 "src/permutation_t/permutation_t.c" 3 4 +_Bool +# 67 "src/permutation_t/permutation_t.c" +IS_PERMUTATION_TYPE_CHAR(const PERMUTATION_TYPE_CHAR *p){ if(p == +# 67 "src/permutation_t/permutation_t.c" 3 4 +((void *)0) +# 67 "src/permutation_t/permutation_t.c" +) return +# 67 "src/permutation_t/permutation_t.c" 3 4 +0 +# 67 "src/permutation_t/permutation_t.c" +; PERMUTATION_TYPE_SIZE_T *t_p = TRANSLATE_TO_SET_THEORIC_SIZE_T_TYPE_CHAR(p); +# 67 "src/permutation_t/permutation_t.c" 3 4 +_Bool +# 67 "src/permutation_t/permutation_t.c" +ret = IS_PERMUTATION_SET_THEORIC_TYPE_SIZE_T(t_p); free(t_p); return ret; } +PERMUTATION_TYPE_U_CHAR * CREATE_PERMUTATION_TYPE_U_CHAR(size_t size){ if (size == 0) return +# 68 "src/permutation_t/permutation_t.c" 3 4 +((void *)0) +# 68 "src/permutation_t/permutation_t.c" +; PERMUTATION_TYPE_U_CHAR *p = malloc(sizeof(PERMUTATION_TYPE_U_CHAR)); p->size = size; p->perm = malloc(size * sizeof(unsigned char)); return p; } PERMUTATION_TYPE_SIZE_T * TRANSLATE_TO_SET_THEORIC_SIZE_T_TYPE_U_CHAR(PERMUTATION_TYPE_U_CHAR *p ){ if (p == +# 68 "src/permutation_t/permutation_t.c" 3 4 +((void *)0) +# 68 "src/permutation_t/permutation_t.c" +) return +# 68 "src/permutation_t/permutation_t.c" 3 4 +((void *)0) +# 68 "src/permutation_t/permutation_t.c" +; PERMUTATION_TYPE_SIZE_T *t_p = malloc(sizeof(PERMUTATION_TYPE_SIZE_T)); size_t size = p->size; t_p->perm = malloc(size * sizeof(size_t)); unsigned char *sorted_perm = malloc(size * sizeof(unsigned char)); COPY_ARRAY_TYPE_U_CHAR(sorted_perm, p->perm, size); qsort(sorted_perm, size, sizeof(unsigned char), COMPARE_N_TYPE_U_CHAR); size_t *rec_index_visited = malloc(size * sizeof(size_t)); size_t cur_rec = 0; +# 68 "src/permutation_t/permutation_t.c" 3 4 +_Bool +# 68 "src/permutation_t/permutation_t.c" +found_rec; for(size_t i = 0; i < size; ++i){ for(size_t j = 0; j < size; ++j){ if(COMPARE_N_TYPE_U_CHAR(&(p->perm[j]), &(sorted_perm[i])) == 0){ found_rec = +# 68 "src/permutation_t/permutation_t.c" 3 4 +0 +# 68 "src/permutation_t/permutation_t.c" +; for(size_t k = 0; k < cur_rec; ++k){ if(rec_index_visited[k] == j){ found_rec == +# 68 "src/permutation_t/permutation_t.c" 3 4 +1 +# 68 "src/permutation_t/permutation_t.c" +; break; } } if(found_rec == +# 68 "src/permutation_t/permutation_t.c" 3 4 +0 +# 68 "src/permutation_t/permutation_t.c" +){ t_p->perm[i] = j; rec_index_visited[cur_rec++] = j; break; } } } } free(rec_index_visited); free(sorted_perm); return t_p; } +# 68 "src/permutation_t/permutation_t.c" 3 4 +_Bool +# 68 "src/permutation_t/permutation_t.c" +IS_PERMUTATION_TYPE_U_CHAR(const PERMUTATION_TYPE_U_CHAR *p){ if(p == +# 68 "src/permutation_t/permutation_t.c" 3 4 +((void *)0) +# 68 "src/permutation_t/permutation_t.c" +) return +# 68 "src/permutation_t/permutation_t.c" 3 4 +0 +# 68 "src/permutation_t/permutation_t.c" +; PERMUTATION_TYPE_SIZE_T *t_p = TRANSLATE_TO_SET_THEORIC_SIZE_T_TYPE_U_CHAR(p); +# 68 "src/permutation_t/permutation_t.c" 3 4 +_Bool +# 68 "src/permutation_t/permutation_t.c" +ret = IS_PERMUTATION_SET_THEORIC_TYPE_SIZE_T(t_p); free(t_p); return ret; } +PERMUTATION_TYPE_INT * CREATE_PERMUTATION_TYPE_INT(size_t size){ if (size == 0) return +# 69 "src/permutation_t/permutation_t.c" 3 4 +((void *)0) +# 69 "src/permutation_t/permutation_t.c" +; PERMUTATION_TYPE_INT *p = malloc(sizeof(PERMUTATION_TYPE_INT)); p->size = size; p->perm = malloc(size * sizeof(int)); return p; } PERMUTATION_TYPE_SIZE_T * TRANSLATE_TO_SET_THEORIC_SIZE_T_TYPE_INT(PERMUTATION_TYPE_INT *p ){ if (p == +# 69 "src/permutation_t/permutation_t.c" 3 4 +((void *)0) +# 69 "src/permutation_t/permutation_t.c" +) return +# 69 "src/permutation_t/permutation_t.c" 3 4 +((void *)0) +# 69 "src/permutation_t/permutation_t.c" +; PERMUTATION_TYPE_SIZE_T *t_p = malloc(sizeof(PERMUTATION_TYPE_SIZE_T)); size_t size = p->size; t_p->perm = malloc(size * sizeof(size_t)); int *sorted_perm = malloc(size * sizeof(int)); COPY_ARRAY_TYPE_INT(sorted_perm, p->perm, size); qsort(sorted_perm, size, sizeof(int), COMPARE_N_TYPE_INT); size_t *rec_index_visited = malloc(size * sizeof(size_t)); size_t cur_rec = 0; +# 69 "src/permutation_t/permutation_t.c" 3 4 +_Bool +# 69 "src/permutation_t/permutation_t.c" +found_rec; for(size_t i = 0; i < size; ++i){ for(size_t j = 0; j < size; ++j){ if(COMPARE_N_TYPE_INT(&(p->perm[j]), &(sorted_perm[i])) == 0){ found_rec = +# 69 "src/permutation_t/permutation_t.c" 3 4 +0 +# 69 "src/permutation_t/permutation_t.c" +; for(size_t k = 0; k < cur_rec; ++k){ if(rec_index_visited[k] == j){ found_rec == +# 69 "src/permutation_t/permutation_t.c" 3 4 +1 +# 69 "src/permutation_t/permutation_t.c" +; break; } } if(found_rec == +# 69 "src/permutation_t/permutation_t.c" 3 4 +0 +# 69 "src/permutation_t/permutation_t.c" +){ t_p->perm[i] = j; rec_index_visited[cur_rec++] = j; break; } } } } free(rec_index_visited); free(sorted_perm); return t_p; } +# 69 "src/permutation_t/permutation_t.c" 3 4 +_Bool +# 69 "src/permutation_t/permutation_t.c" +IS_PERMUTATION_TYPE_INT(const PERMUTATION_TYPE_INT *p){ if(p == +# 69 "src/permutation_t/permutation_t.c" 3 4 +((void *)0) +# 69 "src/permutation_t/permutation_t.c" +) return +# 69 "src/permutation_t/permutation_t.c" 3 4 +0 +# 69 "src/permutation_t/permutation_t.c" +; PERMUTATION_TYPE_SIZE_T *t_p = TRANSLATE_TO_SET_THEORIC_SIZE_T_TYPE_INT(p); +# 69 "src/permutation_t/permutation_t.c" 3 4 +_Bool +# 69 "src/permutation_t/permutation_t.c" +ret = IS_PERMUTATION_SET_THEORIC_TYPE_SIZE_T(t_p); free(t_p); return ret; } +PERMUTATION_TYPE_U_INT * CREATE_PERMUTATION_TYPE_U_INT(size_t size){ if (size == 0) return +# 70 "src/permutation_t/permutation_t.c" 3 4 +((void *)0) +# 70 "src/permutation_t/permutation_t.c" +; PERMUTATION_TYPE_U_INT *p = malloc(sizeof(PERMUTATION_TYPE_U_INT)); p->size = size; p->perm = malloc(size * sizeof(unsigned int)); return p; } PERMUTATION_TYPE_SIZE_T * TRANSLATE_TO_SET_THEORIC_SIZE_T_TYPE_U_INT(PERMUTATION_TYPE_U_INT *p ){ if (p == +# 70 "src/permutation_t/permutation_t.c" 3 4 +((void *)0) +# 70 "src/permutation_t/permutation_t.c" +) return +# 70 "src/permutation_t/permutation_t.c" 3 4 +((void *)0) +# 70 "src/permutation_t/permutation_t.c" +; PERMUTATION_TYPE_SIZE_T *t_p = malloc(sizeof(PERMUTATION_TYPE_SIZE_T)); size_t size = p->size; t_p->perm = malloc(size * sizeof(size_t)); unsigned int *sorted_perm = malloc(size * sizeof(unsigned int)); COPY_ARRAY_TYPE_U_INT(sorted_perm, p->perm, size); qsort(sorted_perm, size, sizeof(unsigned int), COMPARE_N_TYPE_U_INT); size_t *rec_index_visited = malloc(size * sizeof(size_t)); size_t cur_rec = 0; +# 70 "src/permutation_t/permutation_t.c" 3 4 +_Bool +# 70 "src/permutation_t/permutation_t.c" +found_rec; for(size_t i = 0; i < size; ++i){ for(size_t j = 0; j < size; ++j){ if(COMPARE_N_TYPE_U_INT(&(p->perm[j]), &(sorted_perm[i])) == 0){ found_rec = +# 70 "src/permutation_t/permutation_t.c" 3 4 +0 +# 70 "src/permutation_t/permutation_t.c" +; for(size_t k = 0; k < cur_rec; ++k){ if(rec_index_visited[k] == j){ found_rec == +# 70 "src/permutation_t/permutation_t.c" 3 4 +1 +# 70 "src/permutation_t/permutation_t.c" +; break; } } if(found_rec == +# 70 "src/permutation_t/permutation_t.c" 3 4 +0 +# 70 "src/permutation_t/permutation_t.c" +){ t_p->perm[i] = j; rec_index_visited[cur_rec++] = j; break; } } } } free(rec_index_visited); free(sorted_perm); return t_p; } +# 70 "src/permutation_t/permutation_t.c" 3 4 +_Bool +# 70 "src/permutation_t/permutation_t.c" +IS_PERMUTATION_TYPE_U_INT(const PERMUTATION_TYPE_U_INT *p){ if(p == +# 70 "src/permutation_t/permutation_t.c" 3 4 +((void *)0) +# 70 "src/permutation_t/permutation_t.c" +) return +# 70 "src/permutation_t/permutation_t.c" 3 4 +0 +# 70 "src/permutation_t/permutation_t.c" +; PERMUTATION_TYPE_SIZE_T *t_p = TRANSLATE_TO_SET_THEORIC_SIZE_T_TYPE_U_INT(p); +# 70 "src/permutation_t/permutation_t.c" 3 4 +_Bool +# 70 "src/permutation_t/permutation_t.c" +ret = IS_PERMUTATION_SET_THEORIC_TYPE_SIZE_T(t_p); free(t_p); return ret; } +PERMUTATION_TYPE_L_INT * CREATE_PERMUTATION_TYPE_L_INT(size_t size){ if (size == 0) return +# 71 "src/permutation_t/permutation_t.c" 3 4 +((void *)0) +# 71 "src/permutation_t/permutation_t.c" +; PERMUTATION_TYPE_L_INT *p = malloc(sizeof(PERMUTATION_TYPE_L_INT)); p->size = size; p->perm = malloc(size * sizeof(long int)); return p; } PERMUTATION_TYPE_SIZE_T * TRANSLATE_TO_SET_THEORIC_SIZE_T_TYPE_L_INT(PERMUTATION_TYPE_L_INT *p ){ if (p == +# 71 "src/permutation_t/permutation_t.c" 3 4 +((void *)0) +# 71 "src/permutation_t/permutation_t.c" +) return +# 71 "src/permutation_t/permutation_t.c" 3 4 +((void *)0) +# 71 "src/permutation_t/permutation_t.c" +; PERMUTATION_TYPE_SIZE_T *t_p = malloc(sizeof(PERMUTATION_TYPE_SIZE_T)); size_t size = p->size; t_p->perm = malloc(size * sizeof(size_t)); long int *sorted_perm = malloc(size * sizeof(long int)); COPY_ARRAY_TYPE_L_INT(sorted_perm, p->perm, size); qsort(sorted_perm, size, sizeof(long int), COMPARE_N_TYPE_L_INT); size_t *rec_index_visited = malloc(size * sizeof(size_t)); size_t cur_rec = 0; +# 71 "src/permutation_t/permutation_t.c" 3 4 +_Bool +# 71 "src/permutation_t/permutation_t.c" +found_rec; for(size_t i = 0; i < size; ++i){ for(size_t j = 0; j < size; ++j){ if(COMPARE_N_TYPE_L_INT(&(p->perm[j]), &(sorted_perm[i])) == 0){ found_rec = +# 71 "src/permutation_t/permutation_t.c" 3 4 +0 +# 71 "src/permutation_t/permutation_t.c" +; for(size_t k = 0; k < cur_rec; ++k){ if(rec_index_visited[k] == j){ found_rec == +# 71 "src/permutation_t/permutation_t.c" 3 4 +1 +# 71 "src/permutation_t/permutation_t.c" +; break; } } if(found_rec == +# 71 "src/permutation_t/permutation_t.c" 3 4 +0 +# 71 "src/permutation_t/permutation_t.c" +){ t_p->perm[i] = j; rec_index_visited[cur_rec++] = j; break; } } } } free(rec_index_visited); free(sorted_perm); return t_p; } +# 71 "src/permutation_t/permutation_t.c" 3 4 +_Bool +# 71 "src/permutation_t/permutation_t.c" +IS_PERMUTATION_TYPE_L_INT(const PERMUTATION_TYPE_L_INT *p){ if(p == +# 71 "src/permutation_t/permutation_t.c" 3 4 +((void *)0) +# 71 "src/permutation_t/permutation_t.c" +) return +# 71 "src/permutation_t/permutation_t.c" 3 4 +0 +# 71 "src/permutation_t/permutation_t.c" +; PERMUTATION_TYPE_SIZE_T *t_p = TRANSLATE_TO_SET_THEORIC_SIZE_T_TYPE_L_INT(p); +# 71 "src/permutation_t/permutation_t.c" 3 4 +_Bool +# 71 "src/permutation_t/permutation_t.c" +ret = IS_PERMUTATION_SET_THEORIC_TYPE_SIZE_T(t_p); free(t_p); return ret; } +PERMUTATION_TYPE_U_L_INT * CREATE_PERMUTATION_TYPE_U_L_INT(size_t size){ if (size == 0) return +# 72 "src/permutation_t/permutation_t.c" 3 4 +((void *)0) +# 72 "src/permutation_t/permutation_t.c" +; PERMUTATION_TYPE_U_L_INT *p = malloc(sizeof(PERMUTATION_TYPE_U_L_INT)); p->size = size; p->perm = malloc(size * sizeof(unsigned long int)); return p; } PERMUTATION_TYPE_SIZE_T * TRANSLATE_TO_SET_THEORIC_SIZE_T_TYPE_U_L_INT(PERMUTATION_TYPE_U_L_INT *p ){ if (p == +# 72 "src/permutation_t/permutation_t.c" 3 4 +((void *)0) +# 72 "src/permutation_t/permutation_t.c" +) return +# 72 "src/permutation_t/permutation_t.c" 3 4 +((void *)0) +# 72 "src/permutation_t/permutation_t.c" +; PERMUTATION_TYPE_SIZE_T *t_p = malloc(sizeof(PERMUTATION_TYPE_SIZE_T)); size_t size = p->size; t_p->perm = malloc(size * sizeof(size_t)); unsigned long int *sorted_perm = malloc(size * sizeof(unsigned long int)); COPY_ARRAY_TYPE_U_L_INT(sorted_perm, p->perm, size); qsort(sorted_perm, size, sizeof(unsigned long int), COMPARE_N_TYPE_U_L_INT); size_t *rec_index_visited = malloc(size * sizeof(size_t)); size_t cur_rec = 0; +# 72 "src/permutation_t/permutation_t.c" 3 4 +_Bool +# 72 "src/permutation_t/permutation_t.c" +found_rec; for(size_t i = 0; i < size; ++i){ for(size_t j = 0; j < size; ++j){ if(COMPARE_N_TYPE_U_L_INT(&(p->perm[j]), &(sorted_perm[i])) == 0){ found_rec = +# 72 "src/permutation_t/permutation_t.c" 3 4 +0 +# 72 "src/permutation_t/permutation_t.c" +; for(size_t k = 0; k < cur_rec; ++k){ if(rec_index_visited[k] == j){ found_rec == +# 72 "src/permutation_t/permutation_t.c" 3 4 +1 +# 72 "src/permutation_t/permutation_t.c" +; break; } } if(found_rec == +# 72 "src/permutation_t/permutation_t.c" 3 4 +0 +# 72 "src/permutation_t/permutation_t.c" +){ t_p->perm[i] = j; rec_index_visited[cur_rec++] = j; break; } } } } free(rec_index_visited); free(sorted_perm); return t_p; } +# 72 "src/permutation_t/permutation_t.c" 3 4 +_Bool +# 72 "src/permutation_t/permutation_t.c" +IS_PERMUTATION_TYPE_U_L_INT(const PERMUTATION_TYPE_U_L_INT *p){ if(p == +# 72 "src/permutation_t/permutation_t.c" 3 4 +((void *)0) +# 72 "src/permutation_t/permutation_t.c" +) return +# 72 "src/permutation_t/permutation_t.c" 3 4 +0 +# 72 "src/permutation_t/permutation_t.c" +; PERMUTATION_TYPE_SIZE_T *t_p = TRANSLATE_TO_SET_THEORIC_SIZE_T_TYPE_U_L_INT(p); +# 72 "src/permutation_t/permutation_t.c" 3 4 +_Bool +# 72 "src/permutation_t/permutation_t.c" +ret = IS_PERMUTATION_SET_THEORIC_TYPE_SIZE_T(t_p); free(t_p); return ret; } +PERMUTATION_TYPE_SIZE_T * CREATE_PERMUTATION_TYPE_SIZE_T(size_t size){ if (size == 0) return +# 73 "src/permutation_t/permutation_t.c" 3 4 +((void *)0) +# 73 "src/permutation_t/permutation_t.c" +; PERMUTATION_TYPE_SIZE_T *p = malloc(sizeof(PERMUTATION_TYPE_SIZE_T)); p->size = size; p->perm = malloc(size * sizeof(size_t)); return p; } PERMUTATION_TYPE_SIZE_T * TRANSLATE_TO_SET_THEORIC_SIZE_T_TYPE_SIZE_T(PERMUTATION_TYPE_SIZE_T *p ){ if (p == +# 73 "src/permutation_t/permutation_t.c" 3 4 +((void *)0) +# 73 "src/permutation_t/permutation_t.c" +) return +# 73 "src/permutation_t/permutation_t.c" 3 4 +((void *)0) +# 73 "src/permutation_t/permutation_t.c" +; PERMUTATION_TYPE_SIZE_T *t_p = malloc(sizeof(PERMUTATION_TYPE_SIZE_T)); size_t size = p->size; t_p->perm = malloc(size * sizeof(size_t)); size_t *sorted_perm = malloc(size * sizeof(size_t)); COPY_ARRAY_TYPE_SIZE_T(sorted_perm, p->perm, size); qsort(sorted_perm, size, sizeof(size_t), COMPARE_N_TYPE_SIZE_T); size_t *rec_index_visited = malloc(size * sizeof(size_t)); size_t cur_rec = 0; +# 73 "src/permutation_t/permutation_t.c" 3 4 +_Bool +# 73 "src/permutation_t/permutation_t.c" +found_rec; for(size_t i = 0; i < size; ++i){ for(size_t j = 0; j < size; ++j){ if(COMPARE_N_TYPE_SIZE_T(&(p->perm[j]), &(sorted_perm[i])) == 0){ found_rec = +# 73 "src/permutation_t/permutation_t.c" 3 4 +0 +# 73 "src/permutation_t/permutation_t.c" +; for(size_t k = 0; k < cur_rec; ++k){ if(rec_index_visited[k] == j){ found_rec == +# 73 "src/permutation_t/permutation_t.c" 3 4 +1 +# 73 "src/permutation_t/permutation_t.c" +; break; } } if(found_rec == +# 73 "src/permutation_t/permutation_t.c" 3 4 +0 +# 73 "src/permutation_t/permutation_t.c" +){ t_p->perm[i] = j; rec_index_visited[cur_rec++] = j; break; } } } } free(rec_index_visited); free(sorted_perm); return t_p; } +# 73 "src/permutation_t/permutation_t.c" 3 4 +_Bool +# 73 "src/permutation_t/permutation_t.c" +IS_PERMUTATION_TYPE_SIZE_T(const PERMUTATION_TYPE_SIZE_T *p){ if(p == +# 73 "src/permutation_t/permutation_t.c" 3 4 +((void *)0) +# 73 "src/permutation_t/permutation_t.c" +) return +# 73 "src/permutation_t/permutation_t.c" 3 4 +0 +# 73 "src/permutation_t/permutation_t.c" +; PERMUTATION_TYPE_SIZE_T *t_p = TRANSLATE_TO_SET_THEORIC_SIZE_T_TYPE_SIZE_T(p); +# 73 "src/permutation_t/permutation_t.c" 3 4 +_Bool +# 73 "src/permutation_t/permutation_t.c" +ret = IS_PERMUTATION_SET_THEORIC_TYPE_SIZE_T(t_p); free(t_p); return ret; } +PERMUTATION_TYPE_FLOAT * CREATE_PERMUTATION_TYPE_FLOAT(size_t size){ if (size == 0) return +# 74 "src/permutation_t/permutation_t.c" 3 4 +((void *)0) +# 74 "src/permutation_t/permutation_t.c" +; PERMUTATION_TYPE_FLOAT *p = malloc(sizeof(PERMUTATION_TYPE_FLOAT)); p->size = size; p->perm = malloc(size * sizeof(float)); return p; } PERMUTATION_TYPE_SIZE_T * TRANSLATE_TO_SET_THEORIC_SIZE_T_TYPE_FLOAT(PERMUTATION_TYPE_FLOAT *p ){ if (p == +# 74 "src/permutation_t/permutation_t.c" 3 4 +((void *)0) +# 74 "src/permutation_t/permutation_t.c" +) return +# 74 "src/permutation_t/permutation_t.c" 3 4 +((void *)0) +# 74 "src/permutation_t/permutation_t.c" +; PERMUTATION_TYPE_SIZE_T *t_p = malloc(sizeof(PERMUTATION_TYPE_SIZE_T)); size_t size = p->size; t_p->perm = malloc(size * sizeof(size_t)); float *sorted_perm = malloc(size * sizeof(float)); COPY_ARRAY_TYPE_FLOAT(sorted_perm, p->perm, size); qsort(sorted_perm, size, sizeof(float), COMPARE_N_TYPE_FLOAT); size_t *rec_index_visited = malloc(size * sizeof(size_t)); size_t cur_rec = 0; +# 74 "src/permutation_t/permutation_t.c" 3 4 +_Bool +# 74 "src/permutation_t/permutation_t.c" +found_rec; for(size_t i = 0; i < size; ++i){ for(size_t j = 0; j < size; ++j){ if(COMPARE_N_TYPE_FLOAT(&(p->perm[j]), &(sorted_perm[i])) == 0){ found_rec = +# 74 "src/permutation_t/permutation_t.c" 3 4 +0 +# 74 "src/permutation_t/permutation_t.c" +; for(size_t k = 0; k < cur_rec; ++k){ if(rec_index_visited[k] == j){ found_rec == +# 74 "src/permutation_t/permutation_t.c" 3 4 +1 +# 74 "src/permutation_t/permutation_t.c" +; break; } } if(found_rec == +# 74 "src/permutation_t/permutation_t.c" 3 4 +0 +# 74 "src/permutation_t/permutation_t.c" +){ t_p->perm[i] = j; rec_index_visited[cur_rec++] = j; break; } } } } free(rec_index_visited); free(sorted_perm); return t_p; } +# 74 "src/permutation_t/permutation_t.c" 3 4 +_Bool +# 74 "src/permutation_t/permutation_t.c" +IS_PERMUTATION_TYPE_FLOAT(const PERMUTATION_TYPE_FLOAT *p){ if(p == +# 74 "src/permutation_t/permutation_t.c" 3 4 +((void *)0) +# 74 "src/permutation_t/permutation_t.c" +) return +# 74 "src/permutation_t/permutation_t.c" 3 4 +0 +# 74 "src/permutation_t/permutation_t.c" +; PERMUTATION_TYPE_SIZE_T *t_p = TRANSLATE_TO_SET_THEORIC_SIZE_T_TYPE_FLOAT(p); +# 74 "src/permutation_t/permutation_t.c" 3 4 +_Bool +# 74 "src/permutation_t/permutation_t.c" +ret = IS_PERMUTATION_SET_THEORIC_TYPE_SIZE_T(t_p); free(t_p); return ret; } +PERMUTATION_TYPE_DOUBLE * CREATE_PERMUTATION_TYPE_DOUBLE(size_t size){ if (size == 0) return +# 75 "src/permutation_t/permutation_t.c" 3 4 +((void *)0) +# 75 "src/permutation_t/permutation_t.c" +; PERMUTATION_TYPE_DOUBLE *p = malloc(sizeof(PERMUTATION_TYPE_DOUBLE)); p->size = size; p->perm = malloc(size * sizeof(double)); return p; } PERMUTATION_TYPE_SIZE_T * TRANSLATE_TO_SET_THEORIC_SIZE_T_TYPE_DOUBLE(PERMUTATION_TYPE_DOUBLE *p ){ if (p == +# 75 "src/permutation_t/permutation_t.c" 3 4 +((void *)0) +# 75 "src/permutation_t/permutation_t.c" +) return +# 75 "src/permutation_t/permutation_t.c" 3 4 +((void *)0) +# 75 "src/permutation_t/permutation_t.c" +; PERMUTATION_TYPE_SIZE_T *t_p = malloc(sizeof(PERMUTATION_TYPE_SIZE_T)); size_t size = p->size; t_p->perm = malloc(size * sizeof(size_t)); double *sorted_perm = malloc(size * sizeof(double)); COPY_ARRAY_TYPE_DOUBLE(sorted_perm, p->perm, size); qsort(sorted_perm, size, sizeof(double), COMPARE_N_TYPE_DOUBLE); size_t *rec_index_visited = malloc(size * sizeof(size_t)); size_t cur_rec = 0; +# 75 "src/permutation_t/permutation_t.c" 3 4 +_Bool +# 75 "src/permutation_t/permutation_t.c" +found_rec; for(size_t i = 0; i < size; ++i){ for(size_t j = 0; j < size; ++j){ if(COMPARE_N_TYPE_DOUBLE(&(p->perm[j]), &(sorted_perm[i])) == 0){ found_rec = +# 75 "src/permutation_t/permutation_t.c" 3 4 +0 +# 75 "src/permutation_t/permutation_t.c" +; for(size_t k = 0; k < cur_rec; ++k){ if(rec_index_visited[k] == j){ found_rec == +# 75 "src/permutation_t/permutation_t.c" 3 4 +1 +# 75 "src/permutation_t/permutation_t.c" +; break; } } if(found_rec == +# 75 "src/permutation_t/permutation_t.c" 3 4 +0 +# 75 "src/permutation_t/permutation_t.c" +){ t_p->perm[i] = j; rec_index_visited[cur_rec++] = j; break; } } } } free(rec_index_visited); free(sorted_perm); return t_p; } +# 75 "src/permutation_t/permutation_t.c" 3 4 +_Bool +# 75 "src/permutation_t/permutation_t.c" +IS_PERMUTATION_TYPE_DOUBLE(const PERMUTATION_TYPE_DOUBLE *p){ if(p == +# 75 "src/permutation_t/permutation_t.c" 3 4 +((void *)0) +# 75 "src/permutation_t/permutation_t.c" +) return +# 75 "src/permutation_t/permutation_t.c" 3 4 +0 +# 75 "src/permutation_t/permutation_t.c" +; PERMUTATION_TYPE_SIZE_T *t_p = TRANSLATE_TO_SET_THEORIC_SIZE_T_TYPE_DOUBLE(p); +# 75 "src/permutation_t/permutation_t.c" 3 4 +_Bool +# 75 "src/permutation_t/permutation_t.c" +ret = IS_PERMUTATION_SET_THEORIC_TYPE_SIZE_T(t_p); free(t_p); return ret; } +PERMUTATION_TYPE_L_DOUBLE * CREATE_PERMUTATION_TYPE_L_DOUBLE(size_t size){ if (size == 0) return +# 76 "src/permutation_t/permutation_t.c" 3 4 +((void *)0) +# 76 "src/permutation_t/permutation_t.c" +; PERMUTATION_TYPE_L_DOUBLE *p = malloc(sizeof(PERMUTATION_TYPE_L_DOUBLE)); p->size = size; p->perm = malloc(size * sizeof(long double)); return p; } PERMUTATION_TYPE_SIZE_T * TRANSLATE_TO_SET_THEORIC_SIZE_T_TYPE_L_DOUBLE(PERMUTATION_TYPE_L_DOUBLE *p ){ if (p == +# 76 "src/permutation_t/permutation_t.c" 3 4 +((void *)0) +# 76 "src/permutation_t/permutation_t.c" +) return +# 76 "src/permutation_t/permutation_t.c" 3 4 +((void *)0) +# 76 "src/permutation_t/permutation_t.c" +; PERMUTATION_TYPE_SIZE_T *t_p = malloc(sizeof(PERMUTATION_TYPE_SIZE_T)); size_t size = p->size; t_p->perm = malloc(size * sizeof(size_t)); long double *sorted_perm = malloc(size * sizeof(long double)); COPY_ARRAY_TYPE_L_DOUBLE(sorted_perm, p->perm, size); qsort(sorted_perm, size, sizeof(long double), COMPARE_N_TYPE_L_DOUBLE); size_t *rec_index_visited = malloc(size * sizeof(size_t)); size_t cur_rec = 0; +# 76 "src/permutation_t/permutation_t.c" 3 4 +_Bool +# 76 "src/permutation_t/permutation_t.c" +found_rec; for(size_t i = 0; i < size; ++i){ for(size_t j = 0; j < size; ++j){ if(COMPARE_N_TYPE_L_DOUBLE(&(p->perm[j]), &(sorted_perm[i])) == 0){ found_rec = +# 76 "src/permutation_t/permutation_t.c" 3 4 +0 +# 76 "src/permutation_t/permutation_t.c" +; for(size_t k = 0; k < cur_rec; ++k){ if(rec_index_visited[k] == j){ found_rec == +# 76 "src/permutation_t/permutation_t.c" 3 4 +1 +# 76 "src/permutation_t/permutation_t.c" +; break; } } if(found_rec == +# 76 "src/permutation_t/permutation_t.c" 3 4 +0 +# 76 "src/permutation_t/permutation_t.c" +){ t_p->perm[i] = j; rec_index_visited[cur_rec++] = j; break; } } } } free(rec_index_visited); free(sorted_perm); return t_p; } +# 76 "src/permutation_t/permutation_t.c" 3 4 +_Bool +# 76 "src/permutation_t/permutation_t.c" +IS_PERMUTATION_TYPE_L_DOUBLE(const PERMUTATION_TYPE_L_DOUBLE *p){ if(p == +# 76 "src/permutation_t/permutation_t.c" 3 4 +((void *)0) +# 76 "src/permutation_t/permutation_t.c" +) return +# 76 "src/permutation_t/permutation_t.c" 3 4 +0 +# 76 "src/permutation_t/permutation_t.c" +; PERMUTATION_TYPE_SIZE_T *t_p = TRANSLATE_TO_SET_THEORIC_SIZE_T_TYPE_L_DOUBLE(p); +# 76 "src/permutation_t/permutation_t.c" 3 4 +_Bool +# 76 "src/permutation_t/permutation_t.c" +ret = IS_PERMUTATION_SET_THEORIC_TYPE_SIZE_T(t_p); free(t_p); return ret; } +PERMUTATION_TYPE_STRING * CREATE_PERMUTATION_TYPE_STRING(size_t size){ if (size == 0) return +# 77 "src/permutation_t/permutation_t.c" 3 4 +((void *)0) +# 77 "src/permutation_t/permutation_t.c" +; PERMUTATION_TYPE_STRING *p = malloc(sizeof(PERMUTATION_TYPE_STRING)); p->size = size; p->perm = malloc(size * sizeof(char*)); return p; } PERMUTATION_TYPE_SIZE_T * TRANSLATE_TO_SET_THEORIC_SIZE_T_TYPE_STRING(PERMUTATION_TYPE_STRING *p ){ if (p == +# 77 "src/permutation_t/permutation_t.c" 3 4 +((void *)0) +# 77 "src/permutation_t/permutation_t.c" +) return +# 77 "src/permutation_t/permutation_t.c" 3 4 +((void *)0) +# 77 "src/permutation_t/permutation_t.c" +; PERMUTATION_TYPE_SIZE_T *t_p = malloc(sizeof(PERMUTATION_TYPE_SIZE_T)); size_t size = p->size; t_p->perm = malloc(size * sizeof(size_t)); char* *sorted_perm = malloc(size * sizeof(char*)); COPY_ARRAY_TYPE_STRING(sorted_perm, p->perm, size); qsort(sorted_perm, size, sizeof(char*), COMPARE_N_TYPE_STRING); size_t *rec_index_visited = malloc(size * sizeof(size_t)); size_t cur_rec = 0; +# 77 "src/permutation_t/permutation_t.c" 3 4 +_Bool +# 77 "src/permutation_t/permutation_t.c" +found_rec; for(size_t i = 0; i < size; ++i){ for(size_t j = 0; j < size; ++j){ if(COMPARE_N_TYPE_STRING(&(p->perm[j]), &(sorted_perm[i])) == 0){ found_rec = +# 77 "src/permutation_t/permutation_t.c" 3 4 +0 +# 77 "src/permutation_t/permutation_t.c" +; for(size_t k = 0; k < cur_rec; ++k){ if(rec_index_visited[k] == j){ found_rec == +# 77 "src/permutation_t/permutation_t.c" 3 4 +1 +# 77 "src/permutation_t/permutation_t.c" +; break; } } if(found_rec == +# 77 "src/permutation_t/permutation_t.c" 3 4 +0 +# 77 "src/permutation_t/permutation_t.c" +){ t_p->perm[i] = j; rec_index_visited[cur_rec++] = j; break; } } } } free(rec_index_visited); free(sorted_perm); return t_p; } +# 77 "src/permutation_t/permutation_t.c" 3 4 +_Bool +# 77 "src/permutation_t/permutation_t.c" +IS_PERMUTATION_TYPE_STRING(const PERMUTATION_TYPE_STRING *p){ if(p == +# 77 "src/permutation_t/permutation_t.c" 3 4 +((void *)0) +# 77 "src/permutation_t/permutation_t.c" +) return +# 77 "src/permutation_t/permutation_t.c" 3 4 +0 +# 77 "src/permutation_t/permutation_t.c" +; PERMUTATION_TYPE_SIZE_T *t_p = TRANSLATE_TO_SET_THEORIC_SIZE_T_TYPE_STRING(p); +# 77 "src/permutation_t/permutation_t.c" 3 4 +_Bool +# 77 "src/permutation_t/permutation_t.c" +ret = IS_PERMUTATION_SET_THEORIC_TYPE_SIZE_T(t_p); free(t_p); return ret; } +# 0 "src/set_theoric_t/set_theoric_t.c" +# 0 "" +# 0 "" +# 1 "/usr/include/stdc-predef.h" 1 3 4 +# 0 "" 2 +# 1 "src/set_theoric_t/set_theoric_t.c" + +# 1 "./src/set_theoric_t/set_theoric_t.h" 1 + + + +# 1 "/usr/include/stdlib.h" 1 3 4 +# 26 "/usr/include/stdlib.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 1 3 4 +# 33 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 3 4 +# 1 "/usr/include/features.h" 1 3 4 +# 392 "/usr/include/features.h" 3 4 +# 1 "/usr/include/features-time64.h" 1 3 4 +# 20 "/usr/include/features-time64.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 +# 21 "/usr/include/features-time64.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/timesize.h" 1 3 4 +# 19 "/usr/include/x86_64-linux-gnu/bits/timesize.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 +# 20 "/usr/include/x86_64-linux-gnu/bits/timesize.h" 2 3 4 +# 22 "/usr/include/features-time64.h" 2 3 4 +# 393 "/usr/include/features.h" 2 3 4 +# 486 "/usr/include/features.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 1 3 4 +# 559 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 +# 560 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/long-double.h" 1 3 4 +# 561 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 2 3 4 +# 487 "/usr/include/features.h" 2 3 4 +# 510 "/usr/include/features.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/gnu/stubs.h" 1 3 4 +# 10 "/usr/include/x86_64-linux-gnu/gnu/stubs.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/gnu/stubs-64.h" 1 3 4 +# 11 "/usr/include/x86_64-linux-gnu/gnu/stubs.h" 2 3 4 +# 511 "/usr/include/features.h" 2 3 4 +# 34 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 2 3 4 +# 27 "/usr/include/stdlib.h" 2 3 4 + + + + + +# 1 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 1 3 4 +# 209 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 3 4 + +# 209 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 3 4 +typedef long unsigned int size_t; +# 321 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 3 4 +typedef int wchar_t; +# 33 "/usr/include/stdlib.h" 2 3 4 + + + + + + + +# 1 "/usr/include/x86_64-linux-gnu/bits/waitflags.h" 1 3 4 +# 41 "/usr/include/stdlib.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/waitstatus.h" 1 3 4 +# 42 "/usr/include/stdlib.h" 2 3 4 +# 56 "/usr/include/stdlib.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/floatn.h" 1 3 4 +# 119 "/usr/include/x86_64-linux-gnu/bits/floatn.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 1 3 4 +# 24 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/long-double.h" 1 3 4 +# 25 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 2 3 4 +# 120 "/usr/include/x86_64-linux-gnu/bits/floatn.h" 2 3 4 +# 57 "/usr/include/stdlib.h" 2 3 4 + + +typedef struct + { + int quot; + int rem; + } div_t; + + + +typedef struct + { + long int quot; + long int rem; + } ldiv_t; + + + + + +__extension__ typedef struct + { + long long int quot; + long long int rem; + } lldiv_t; +# 98 "/usr/include/stdlib.h" 3 4 +extern size_t __ctype_get_mb_cur_max (void) __attribute__ ((__nothrow__ , __leaf__)) ; + + + +extern double atof (const char *__nptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; + +extern int atoi (const char *__nptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; + +extern long int atol (const char *__nptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; + + + +__extension__ extern long long int atoll (const char *__nptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; + + + +extern double strtod (const char *__restrict __nptr, + char **__restrict __endptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + +extern float strtof (const char *__restrict __nptr, + char **__restrict __endptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +extern long double strtold (const char *__restrict __nptr, + char **__restrict __endptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 177 "/usr/include/stdlib.h" 3 4 +extern long int strtol (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +extern unsigned long int strtoul (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + +__extension__ +extern long long int strtoq (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +__extension__ +extern unsigned long long int strtouq (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + +__extension__ +extern long long int strtoll (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +__extension__ +extern unsigned long long int strtoull (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 386 "/usr/include/stdlib.h" 3 4 +extern char *l64a (long int __n) __attribute__ ((__nothrow__ , __leaf__)) ; + + +extern long int a64l (const char *__s) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; + + + + +# 1 "/usr/include/x86_64-linux-gnu/sys/types.h" 1 3 4 +# 27 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 + + +# 1 "/usr/include/x86_64-linux-gnu/bits/types.h" 1 3 4 +# 27 "/usr/include/x86_64-linux-gnu/bits/types.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 +# 28 "/usr/include/x86_64-linux-gnu/bits/types.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/timesize.h" 1 3 4 +# 19 "/usr/include/x86_64-linux-gnu/bits/timesize.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 +# 20 "/usr/include/x86_64-linux-gnu/bits/timesize.h" 2 3 4 +# 29 "/usr/include/x86_64-linux-gnu/bits/types.h" 2 3 4 + + +typedef unsigned char __u_char; +typedef unsigned short int __u_short; +typedef unsigned int __u_int; +typedef unsigned long int __u_long; + + +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; + +typedef signed long int __int64_t; +typedef unsigned long int __uint64_t; + + + + + + +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; + + + +typedef long int __quad_t; +typedef unsigned long int __u_quad_t; + + + + + + + +typedef long int __intmax_t; +typedef unsigned long int __uintmax_t; +# 141 "/usr/include/x86_64-linux-gnu/bits/types.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/typesizes.h" 1 3 4 +# 142 "/usr/include/x86_64-linux-gnu/bits/types.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/time64.h" 1 3 4 +# 143 "/usr/include/x86_64-linux-gnu/bits/types.h" 2 3 4 + + +typedef unsigned long int __dev_t; +typedef unsigned int __uid_t; +typedef unsigned int __gid_t; +typedef unsigned long int __ino_t; +typedef unsigned long int __ino64_t; +typedef unsigned int __mode_t; +typedef unsigned long int __nlink_t; +typedef long int __off_t; +typedef long int __off64_t; +typedef int __pid_t; +typedef struct { int __val[2]; } __fsid_t; +typedef long int __clock_t; +typedef unsigned long int __rlim_t; +typedef unsigned long int __rlim64_t; +typedef unsigned int __id_t; +typedef long int __time_t; +typedef unsigned int __useconds_t; +typedef long int __suseconds_t; +typedef long int __suseconds64_t; + +typedef int __daddr_t; +typedef int __key_t; + + +typedef int __clockid_t; + + +typedef void * __timer_t; + + +typedef long int __blksize_t; + + + + +typedef long int __blkcnt_t; +typedef long int __blkcnt64_t; + + +typedef unsigned long int __fsblkcnt_t; +typedef unsigned long int __fsblkcnt64_t; + + +typedef unsigned long int __fsfilcnt_t; +typedef unsigned long int __fsfilcnt64_t; + + +typedef long int __fsword_t; + +typedef long int __ssize_t; + + +typedef long int __syscall_slong_t; + +typedef unsigned long int __syscall_ulong_t; + + + +typedef __off64_t __loff_t; +typedef char *__caddr_t; + + +typedef long int __intptr_t; + + +typedef unsigned int __socklen_t; + + + + +typedef int __sig_atomic_t; +# 30 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 + + + +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; + + +typedef __loff_t loff_t; + + + + +typedef __ino_t ino_t; +# 59 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 +typedef __dev_t dev_t; + + + + +typedef __gid_t gid_t; + + + + +typedef __mode_t mode_t; + + + + +typedef __nlink_t nlink_t; + + + + +typedef __uid_t uid_t; + + + + + +typedef __off_t off_t; +# 97 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 +typedef __pid_t pid_t; + + + + + +typedef __id_t id_t; + + + + +typedef __ssize_t ssize_t; + + + + + +typedef __daddr_t daddr_t; +typedef __caddr_t caddr_t; + + + + + +typedef __key_t key_t; + + + + +# 1 "/usr/include/x86_64-linux-gnu/bits/types/clock_t.h" 1 3 4 + + + + + + +typedef __clock_t clock_t; +# 127 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 + +# 1 "/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h" 1 3 4 + + + + + + +typedef __clockid_t clockid_t; +# 129 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/types/time_t.h" 1 3 4 +# 10 "/usr/include/x86_64-linux-gnu/bits/types/time_t.h" 3 4 +typedef __time_t time_t; +# 130 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/types/timer_t.h" 1 3 4 + + + + + + +typedef __timer_t timer_t; +# 131 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 +# 144 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 +# 1 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 1 3 4 +# 145 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 + + + +typedef unsigned long int ulong; +typedef unsigned short int ushort; +typedef unsigned int uint; + + + + +# 1 "/usr/include/x86_64-linux-gnu/bits/stdint-intn.h" 1 3 4 +# 24 "/usr/include/x86_64-linux-gnu/bits/stdint-intn.h" 3 4 +typedef __int8_t int8_t; +typedef __int16_t int16_t; +typedef __int32_t int32_t; +typedef __int64_t int64_t; +# 156 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 + + +typedef __uint8_t u_int8_t; +typedef __uint16_t u_int16_t; +typedef __uint32_t u_int32_t; +typedef __uint64_t u_int64_t; + + +typedef int register_t __attribute__ ((__mode__ (__word__))); +# 176 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 +# 1 "/usr/include/endian.h" 1 3 4 +# 24 "/usr/include/endian.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/endian.h" 1 3 4 +# 35 "/usr/include/x86_64-linux-gnu/bits/endian.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/endianness.h" 1 3 4 +# 36 "/usr/include/x86_64-linux-gnu/bits/endian.h" 2 3 4 +# 25 "/usr/include/endian.h" 2 3 4 +# 35 "/usr/include/endian.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/byteswap.h" 1 3 4 +# 33 "/usr/include/x86_64-linux-gnu/bits/byteswap.h" 3 4 +static __inline __uint16_t +__bswap_16 (__uint16_t __bsx) +{ + + return __builtin_bswap16 (__bsx); + + + +} + + + + + + +static __inline __uint32_t +__bswap_32 (__uint32_t __bsx) +{ + + return __builtin_bswap32 (__bsx); + + + +} +# 69 "/usr/include/x86_64-linux-gnu/bits/byteswap.h" 3 4 +__extension__ static __inline __uint64_t +__bswap_64 (__uint64_t __bsx) +{ + + return __builtin_bswap64 (__bsx); + + + +} +# 36 "/usr/include/endian.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/uintn-identity.h" 1 3 4 +# 32 "/usr/include/x86_64-linux-gnu/bits/uintn-identity.h" 3 4 +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; +} +# 37 "/usr/include/endian.h" 2 3 4 +# 177 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 + + +# 1 "/usr/include/x86_64-linux-gnu/sys/select.h" 1 3 4 +# 30 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/select.h" 1 3 4 +# 31 "/usr/include/x86_64-linux-gnu/sys/select.h" 2 3 4 + + +# 1 "/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h" 1 3 4 + + + +# 1 "/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h" 1 3 4 + + + + +typedef struct +{ + unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; +} __sigset_t; +# 5 "/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h" 2 3 4 + + +typedef __sigset_t sigset_t; +# 34 "/usr/include/x86_64-linux-gnu/sys/select.h" 2 3 4 + + + +# 1 "/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h" 1 3 4 + + + + + + + +struct timeval +{ + + + + + __time_t tv_sec; + __suseconds_t tv_usec; + +}; +# 38 "/usr/include/x86_64-linux-gnu/sys/select.h" 2 3 4 + +# 1 "/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h" 1 3 4 +# 11 "/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h" 3 4 +struct timespec +{ + + + + __time_t tv_sec; + + + + + __syscall_slong_t tv_nsec; +# 31 "/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h" 3 4 +}; +# 40 "/usr/include/x86_64-linux-gnu/sys/select.h" 2 3 4 + + + +typedef __suseconds_t suseconds_t; + + + + + +typedef long int __fd_mask; +# 59 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4 +typedef struct + { + + + + + + + __fd_mask __fds_bits[1024 / (8 * (int) sizeof (__fd_mask))]; + + + } fd_set; + + + + + + +typedef __fd_mask fd_mask; +# 91 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4 + +# 102 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4 +extern int select (int __nfds, fd_set *__restrict __readfds, + fd_set *__restrict __writefds, + fd_set *__restrict __exceptfds, + struct timeval *__restrict __timeout); +# 127 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4 +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); +# 153 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4 + +# 180 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 + + + + + +typedef __blksize_t blksize_t; + + + + + + +typedef __blkcnt_t blkcnt_t; + + + +typedef __fsblkcnt_t fsblkcnt_t; + + + +typedef __fsfilcnt_t fsfilcnt_t; +# 227 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 1 3 4 +# 23 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 1 3 4 +# 44 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h" 1 3 4 +# 21 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 +# 22 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h" 2 3 4 +# 45 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 2 3 4 + +# 1 "/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h" 1 3 4 +# 25 "/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h" 3 4 +typedef union +{ + __extension__ unsigned long long int __value64; + struct + { + unsigned int __low; + unsigned int __high; + } __value32; +} __atomic_wide_counter; +# 47 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 2 3 4 + + + + +typedef struct __pthread_internal_list +{ + struct __pthread_internal_list *__prev; + struct __pthread_internal_list *__next; +} __pthread_list_t; + +typedef struct __pthread_internal_slist +{ + struct __pthread_internal_slist *__next; +} __pthread_slist_t; +# 76 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/struct_mutex.h" 1 3 4 +# 22 "/usr/include/x86_64-linux-gnu/bits/struct_mutex.h" 3 4 +struct __pthread_mutex_s +{ + int __lock; + unsigned int __count; + int __owner; + + unsigned int __nusers; + + + + int __kind; + + short __spins; + short __elision; + __pthread_list_t __list; +# 53 "/usr/include/x86_64-linux-gnu/bits/struct_mutex.h" 3 4 +}; +# 77 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 2 3 4 +# 89 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h" 1 3 4 +# 23 "/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h" 3 4 +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; + + int __cur_writer; + int __shared; + signed char __rwelision; + + + + + unsigned char __pad1[7]; + + + unsigned long int __pad2; + + + unsigned int __flags; +# 55 "/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h" 3 4 +}; +# 90 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 2 3 4 + + + + +struct __pthread_cond_s +{ + __atomic_wide_counter __wseq; + __atomic_wide_counter __g1_start; + unsigned int __g_refs[2] ; + unsigned int __g_size[2]; + unsigned int __g1_orig_size; + unsigned int __wrefs; + unsigned int __g_signals[2]; +}; + +typedef unsigned int __tss_t; +typedef unsigned long int __thrd_t; + +typedef struct +{ + int __data ; +} __once_flag; +# 24 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 2 3 4 + + + +typedef unsigned long int pthread_t; + + + + +typedef union +{ + char __size[4]; + int __align; +} pthread_mutexattr_t; + + + + +typedef union +{ + char __size[4]; + int __align; +} pthread_condattr_t; + + + +typedef unsigned int pthread_key_t; + + + +typedef int pthread_once_t; + + +union pthread_attr_t +{ + char __size[56]; + long int __align; +}; + +typedef union pthread_attr_t pthread_attr_t; + + + + +typedef union +{ + struct __pthread_mutex_s __data; + char __size[40]; + long int __align; +} pthread_mutex_t; + + +typedef union +{ + struct __pthread_cond_s __data; + char __size[48]; + __extension__ long long int __align; +} pthread_cond_t; + + + + + +typedef union +{ + struct __pthread_rwlock_arch_t __data; + char __size[56]; + long int __align; +} pthread_rwlock_t; + +typedef union +{ + char __size[8]; + long int __align; +} pthread_rwlockattr_t; + + + + + +typedef volatile int pthread_spinlock_t; + + + + +typedef union +{ + char __size[32]; + long int __align; +} pthread_barrier_t; + +typedef union +{ + char __size[4]; + int __align; +} pthread_barrierattr_t; +# 228 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 + + + +# 396 "/usr/include/stdlib.h" 2 3 4 + + + + + + +extern long int random (void) __attribute__ ((__nothrow__ , __leaf__)); + + +extern void srandom (unsigned int __seed) __attribute__ ((__nothrow__ , __leaf__)); + + + + + +extern char *initstate (unsigned int __seed, char *__statebuf, + size_t __statelen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + + + +extern char *setstate (char *__statebuf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + + +struct random_data + { + int32_t *fptr; + int32_t *rptr; + int32_t *state; + int rand_type; + int rand_deg; + int rand_sep; + int32_t *end_ptr; + }; + +extern int random_r (struct random_data *__restrict __buf, + int32_t *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + +extern int srandom_r (unsigned int __seed, struct random_data *__buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + +extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, + size_t __statelen, + struct random_data *__restrict __buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 4))); + +extern int setstate_r (char *__restrict __statebuf, + struct random_data *__restrict __buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + + +extern int rand (void) __attribute__ ((__nothrow__ , __leaf__)); + +extern void srand (unsigned int __seed) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int rand_r (unsigned int *__seed) __attribute__ ((__nothrow__ , __leaf__)); + + + + + + + +extern double drand48 (void) __attribute__ ((__nothrow__ , __leaf__)); +extern double erand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern long int lrand48 (void) __attribute__ ((__nothrow__ , __leaf__)); +extern long int nrand48 (unsigned short int __xsubi[3]) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern long int mrand48 (void) __attribute__ ((__nothrow__ , __leaf__)); +extern long int jrand48 (unsigned short int __xsubi[3]) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern void srand48 (long int __seedval) __attribute__ ((__nothrow__ , __leaf__)); +extern unsigned short int *seed48 (unsigned short int __seed16v[3]) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +extern void lcong48 (unsigned short int __param[7]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + +struct drand48_data + { + unsigned short int __x[3]; + unsigned short int __old_x[3]; + unsigned short int __c; + unsigned short int __init; + __extension__ unsigned long long int __a; + + }; + + +extern int drand48_r (struct drand48_data *__restrict __buffer, + double *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern int erand48_r (unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + double *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int lrand48_r (struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern int nrand48_r (unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int mrand48_r (struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern int jrand48_r (unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int srand48_r (long int __seedval, struct drand48_data *__buffer) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + +extern int seed48_r (unsigned short int __seed16v[3], + struct drand48_data *__buffer) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + +extern int lcong48_r (unsigned short int __param[7], + struct drand48_data *__buffer) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + +extern void *malloc (size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) + __attribute__ ((__alloc_size__ (1))) ; + +extern void *calloc (size_t __nmemb, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__alloc_size__ (1, 2))) ; + + + + + + +extern void *realloc (void *__ptr, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__alloc_size__ (2))); + + +extern void free (void *__ptr) __attribute__ ((__nothrow__ , __leaf__)); + + + + + + + +extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) + __attribute__ ((__alloc_size__ (2, 3))) + __attribute__ ((__malloc__ (__builtin_free, 1))); + + +extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__ (reallocarray, 1))); + + + +# 1 "/usr/include/alloca.h" 1 3 4 +# 24 "/usr/include/alloca.h" 3 4 +# 1 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 1 3 4 +# 25 "/usr/include/alloca.h" 2 3 4 + + + + + + + +extern void *alloca (size_t __size) __attribute__ ((__nothrow__ , __leaf__)); + + + + + + +# 575 "/usr/include/stdlib.h" 2 3 4 + + + + + +extern void *valloc (size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) + __attribute__ ((__alloc_size__ (1))) ; + + + + +extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; + + + + +extern void *aligned_alloc (size_t __alignment, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__alloc_align__ (1))) + __attribute__ ((__alloc_size__ (2))) ; + + + +extern void abort (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); + + + +extern int atexit (void (*__func) (void)) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + + +extern int at_quick_exit (void (*__func) (void)) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + +extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + +extern void exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); + + + + + +extern void quick_exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); + + + + + +extern void _Exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); + + + + +extern char *getenv (const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; +# 654 "/usr/include/stdlib.h" 3 4 +extern int putenv (char *__string) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + +extern int setenv (const char *__name, const char *__value, int __replace) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + + +extern int unsetenv (const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + +extern int clearenv (void) __attribute__ ((__nothrow__ , __leaf__)); +# 682 "/usr/include/stdlib.h" 3 4 +extern char *mktemp (char *__template) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 695 "/usr/include/stdlib.h" 3 4 +extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) ; +# 717 "/usr/include/stdlib.h" 3 4 +extern int mkstemps (char *__template, int __suffixlen) __attribute__ ((__nonnull__ (1))) ; +# 738 "/usr/include/stdlib.h" 3 4 +extern char *mkdtemp (char *__template) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; +# 791 "/usr/include/stdlib.h" 3 4 +extern int system (const char *__command) ; +# 808 "/usr/include/stdlib.h" 3 4 +extern char *realpath (const char *__restrict __name, + char *__restrict __resolved) __attribute__ ((__nothrow__ , __leaf__)) ; + + + + + + +typedef int (*__compar_fn_t) (const void *, const void *); +# 828 "/usr/include/stdlib.h" 3 4 +extern void *bsearch (const void *__key, const void *__base, + size_t __nmemb, size_t __size, __compar_fn_t __compar) + __attribute__ ((__nonnull__ (1, 2, 5))) ; + + + + + + + +extern void qsort (void *__base, size_t __nmemb, size_t __size, + __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4))); +# 848 "/usr/include/stdlib.h" 3 4 +extern int abs (int __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; +extern long int labs (long int __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; + + +__extension__ extern long long int llabs (long long int __x) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; + + + + + + +extern div_t div (int __numer, int __denom) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; +extern ldiv_t ldiv (long int __numer, long int __denom) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; + + +__extension__ extern lldiv_t lldiv (long long int __numer, + long long int __denom) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; +# 880 "/usr/include/stdlib.h" 3 4 +extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) ; + + + + +extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) ; + + + + +extern char *gcvt (double __value, int __ndigit, char *__buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))) ; + + + + +extern char *qecvt (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) ; +extern char *qfcvt (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) ; +extern char *qgcvt (long double __value, int __ndigit, char *__buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))) ; + + + + +extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign, char *__restrict __buf, + size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); +extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign, char *__restrict __buf, + size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__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) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__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) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); + + + + + +extern int mblen (const char *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); + + +extern int mbtowc (wchar_t *__restrict __pwc, + const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); + + +extern int wctomb (char *__s, wchar_t __wchar) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern size_t mbstowcs (wchar_t *__restrict __pwcs, + const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__read_only__, 2))); + +extern size_t wcstombs (char *__restrict __s, + const wchar_t *__restrict __pwcs, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1, 3))) + __attribute__ ((__access__ (__read_only__, 2))); + + + + + + +extern int rpmatch (const char *__response) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; +# 967 "/usr/include/stdlib.h" 3 4 +extern int getsubopt (char **__restrict __optionp, + char *const *__restrict __tokens, + char **__restrict __valuep) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2, 3))) ; +# 1013 "/usr/include/stdlib.h" 3 4 +extern int getloadavg (double __loadavg[], int __nelem) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 1023 "/usr/include/stdlib.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/stdlib-float.h" 1 3 4 +# 1024 "/usr/include/stdlib.h" 2 3 4 +# 1035 "/usr/include/stdlib.h" 3 4 + +# 5 "./src/set_theoric_t/set_theoric_t.h" 2 + +# 1 "./src/tools_t/tools_t.h" 1 + + + +# 1 "/usr/include/stdio.h" 1 3 4 +# 27 "/usr/include/stdio.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 1 3 4 +# 28 "/usr/include/stdio.h" 2 3 4 + + + + + +# 1 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 1 3 4 +# 34 "/usr/include/stdio.h" 2 3 4 + + +# 1 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stdarg.h" 1 3 4 +# 40 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stdarg.h" 3 4 +typedef __builtin_va_list __gnuc_va_list; +# 37 "/usr/include/stdio.h" 2 3 4 + + +# 1 "/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h" 1 3 4 + + + + +# 1 "/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h" 1 3 4 +# 13 "/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h" 3 4 +typedef struct +{ + int __count; + union + { + unsigned int __wch; + char __wchb[4]; + } __value; +} __mbstate_t; +# 6 "/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h" 2 3 4 + + + + +typedef struct _G_fpos_t +{ + __off_t __pos; + __mbstate_t __state; +} __fpos_t; +# 40 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h" 1 3 4 +# 10 "/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h" 3 4 +typedef struct _G_fpos64_t +{ + __off64_t __pos; + __mbstate_t __state; +} __fpos64_t; +# 41 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/types/__FILE.h" 1 3 4 + + + +struct _IO_FILE; +typedef struct _IO_FILE __FILE; +# 42 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/types/FILE.h" 1 3 4 + + + +struct _IO_FILE; + + +typedef struct _IO_FILE FILE; +# 43 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h" 1 3 4 +# 35 "/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h" 3 4 +struct _IO_FILE; +struct _IO_marker; +struct _IO_codecvt; +struct _IO_wide_data; + + + + +typedef void _IO_lock_t; + + + + + +struct _IO_FILE +{ + int _flags; + + + char *_IO_read_ptr; + char *_IO_read_end; + char *_IO_read_base; + char *_IO_write_base; + char *_IO_write_ptr; + char *_IO_write_end; + char *_IO_buf_base; + char *_IO_buf_end; + + + char *_IO_save_base; + char *_IO_backup_base; + char *_IO_save_end; + + struct _IO_marker *_markers; + + struct _IO_FILE *_chain; + + int _fileno; + int _flags2; + __off_t _old_offset; + + + unsigned short _cur_column; + signed char _vtable_offset; + char _shortbuf[1]; + + _IO_lock_t *_lock; + + + + + + + + __off64_t _offset; + + struct _IO_codecvt *_codecvt; + struct _IO_wide_data *_wide_data; + struct _IO_FILE *_freeres_list; + void *_freeres_buf; + size_t __pad5; + int _mode; + + char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)]; +}; +# 44 "/usr/include/stdio.h" 2 3 4 +# 52 "/usr/include/stdio.h" 3 4 +typedef __gnuc_va_list va_list; +# 84 "/usr/include/stdio.h" 3 4 +typedef __fpos_t fpos_t; +# 133 "/usr/include/stdio.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/stdio_lim.h" 1 3 4 +# 134 "/usr/include/stdio.h" 2 3 4 +# 143 "/usr/include/stdio.h" 3 4 +extern FILE *stdin; +extern FILE *stdout; +extern FILE *stderr; + + + + + + +extern int remove (const char *__filename) __attribute__ ((__nothrow__ , __leaf__)); + +extern int rename (const char *__old, const char *__new) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int renameat (int __oldfd, const char *__old, int __newfd, + const char *__new) __attribute__ ((__nothrow__ , __leaf__)); +# 178 "/usr/include/stdio.h" 3 4 +extern int fclose (FILE *__stream); +# 188 "/usr/include/stdio.h" 3 4 +extern FILE *tmpfile (void) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; +# 205 "/usr/include/stdio.h" 3 4 +extern char *tmpnam (char[20]) __attribute__ ((__nothrow__ , __leaf__)) ; + + + + +extern char *tmpnam_r (char __s[20]) __attribute__ ((__nothrow__ , __leaf__)) ; +# 222 "/usr/include/stdio.h" 3 4 +extern char *tempnam (const char *__dir, const char *__pfx) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (__builtin_free, 1))); + + + + + + +extern int fflush (FILE *__stream); +# 239 "/usr/include/stdio.h" 3 4 +extern int fflush_unlocked (FILE *__stream); +# 258 "/usr/include/stdio.h" 3 4 +extern FILE *fopen (const char *__restrict __filename, + const char *__restrict __modes) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; + + + + +extern FILE *freopen (const char *__restrict __filename, + const char *__restrict __modes, + FILE *__restrict __stream) ; +# 293 "/usr/include/stdio.h" 3 4 +extern FILE *fdopen (int __fd, const char *__modes) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; +# 308 "/usr/include/stdio.h" 3 4 +extern FILE *fmemopen (void *__s, size_t __len, const char *__modes) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; + + + + +extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; +# 328 "/usr/include/stdio.h" 3 4 +extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, + int __modes, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); + + + + +extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, + size_t __size) __attribute__ ((__nothrow__ , __leaf__)); + + +extern void setlinebuf (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); + + + + + + + +extern int fprintf (FILE *__restrict __stream, + const char *__restrict __format, ...); + + + + +extern int printf (const char *__restrict __format, ...); + +extern int sprintf (char *__restrict __s, + const char *__restrict __format, ...) __attribute__ ((__nothrow__)); + + + + + +extern int vfprintf (FILE *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg); + + + + +extern int vprintf (const char *__restrict __format, __gnuc_va_list __arg); + +extern int vsprintf (char *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg) __attribute__ ((__nothrow__)); + + + +extern int snprintf (char *__restrict __s, size_t __maxlen, + const char *__restrict __format, ...) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 4))); + +extern int vsnprintf (char *__restrict __s, size_t __maxlen, + const char *__restrict __format, __gnuc_va_list __arg) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 0))); +# 403 "/usr/include/stdio.h" 3 4 +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))); + + + + + + + +extern int fscanf (FILE *__restrict __stream, + const char *__restrict __format, ...) ; + + + + +extern int scanf (const char *__restrict __format, ...) ; + +extern int sscanf (const char *__restrict __s, + const char *__restrict __format, ...) __attribute__ ((__nothrow__ , __leaf__)); +# 434 "/usr/include/stdio.h" 3 4 +extern int fscanf (FILE *__restrict __stream, const char *__restrict __format, ...) __asm__ ("" "__isoc99_fscanf") + + ; +extern int scanf (const char *__restrict __format, ...) __asm__ ("" "__isoc99_scanf") + ; +extern int sscanf (const char *__restrict __s, const char *__restrict __format, ...) __asm__ ("" "__isoc99_sscanf") __attribute__ ((__nothrow__ , __leaf__)) + + ; +# 459 "/usr/include/stdio.h" 3 4 +extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg) + __attribute__ ((__format__ (__scanf__, 2, 0))) ; + + + + + +extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) + __attribute__ ((__format__ (__scanf__, 1, 0))) ; + + +extern int vsscanf (const char *__restrict __s, + const char *__restrict __format, __gnuc_va_list __arg) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__format__ (__scanf__, 2, 0))); + + + + + +extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vfscanf") + + + + __attribute__ ((__format__ (__scanf__, 2, 0))) ; +extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vscanf") + + __attribute__ ((__format__ (__scanf__, 1, 0))) ; +extern int vsscanf (const char *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vsscanf") __attribute__ ((__nothrow__ , __leaf__)) + + + + __attribute__ ((__format__ (__scanf__, 2, 0))); +# 513 "/usr/include/stdio.h" 3 4 +extern int fgetc (FILE *__stream); +extern int getc (FILE *__stream); + + + + + +extern int getchar (void); + + + + + + +extern int getc_unlocked (FILE *__stream); +extern int getchar_unlocked (void); +# 538 "/usr/include/stdio.h" 3 4 +extern int fgetc_unlocked (FILE *__stream); +# 549 "/usr/include/stdio.h" 3 4 +extern int fputc (int __c, FILE *__stream); +extern int putc (int __c, FILE *__stream); + + + + + +extern int putchar (int __c); +# 565 "/usr/include/stdio.h" 3 4 +extern int fputc_unlocked (int __c, FILE *__stream); + + + + + + + +extern int putc_unlocked (int __c, FILE *__stream); +extern int putchar_unlocked (int __c); + + + + + + +extern int getw (FILE *__stream); + + +extern int putw (int __w, FILE *__stream); + + + + + + + +extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream) + __attribute__ ((__access__ (__write_only__, 1, 2))); +# 632 "/usr/include/stdio.h" 3 4 +extern __ssize_t __getdelim (char **__restrict __lineptr, + size_t *__restrict __n, int __delimiter, + FILE *__restrict __stream) ; +extern __ssize_t getdelim (char **__restrict __lineptr, + size_t *__restrict __n, int __delimiter, + FILE *__restrict __stream) ; + + + + + + + +extern __ssize_t getline (char **__restrict __lineptr, + size_t *__restrict __n, + FILE *__restrict __stream) ; + + + + + + + +extern int fputs (const char *__restrict __s, FILE *__restrict __stream); + + + + + +extern int puts (const char *__s); + + + + + + +extern int ungetc (int __c, FILE *__stream); + + + + + + +extern size_t fread (void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream) ; + + + + +extern size_t fwrite (const void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __s); +# 702 "/usr/include/stdio.h" 3 4 +extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream) ; +extern size_t fwrite_unlocked (const void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream); + + + + + + + +extern int fseek (FILE *__stream, long int __off, int __whence); + + + + +extern long int ftell (FILE *__stream) ; + + + + +extern void rewind (FILE *__stream); +# 736 "/usr/include/stdio.h" 3 4 +extern int fseeko (FILE *__stream, __off_t __off, int __whence); + + + + +extern __off_t ftello (FILE *__stream) ; +# 760 "/usr/include/stdio.h" 3 4 +extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos); + + + + +extern int fsetpos (FILE *__stream, const fpos_t *__pos); +# 786 "/usr/include/stdio.h" 3 4 +extern void clearerr (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); + +extern int feof (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; + +extern int ferror (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; + + + +extern void clearerr_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); +extern int feof_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; +extern int ferror_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; + + + + + + + +extern void perror (const char *__s); + + + + +extern int fileno (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; + + + + +extern int fileno_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; +# 823 "/usr/include/stdio.h" 3 4 +extern int pclose (FILE *__stream); + + + + + +extern FILE *popen (const char *__command, const char *__modes) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (pclose, 1))) ; + + + + + + +extern char *ctermid (char *__s) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1))); +# 867 "/usr/include/stdio.h" 3 4 +extern void flockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int ftrylockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; + + +extern void funlockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); +# 885 "/usr/include/stdio.h" 3 4 +extern int __uflow (FILE *); +extern int __overflow (FILE *, int); +# 902 "/usr/include/stdio.h" 3 4 + +# 5 "./src/tools_t/tools_t.h" 2 + +# 1 "/usr/include/string.h" 1 3 4 +# 26 "/usr/include/string.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 1 3 4 +# 27 "/usr/include/string.h" 2 3 4 + + + + + + +# 1 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 1 3 4 +# 34 "/usr/include/string.h" 2 3 4 +# 43 "/usr/include/string.h" 3 4 +extern void *memcpy (void *__restrict __dest, const void *__restrict __src, + size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern void *memmove (void *__dest, const void *__src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + + +extern void *memccpy (void *__restrict __dest, const void *__restrict __src, + int __c, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__access__ (__write_only__, 1, 4))); + + + + +extern void *memset (void *__s, int __c, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern int memcmp (const void *__s1, const void *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); +# 80 "/usr/include/string.h" 3 4 +extern int __memcmpeq (const void *__s1, const void *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); +# 107 "/usr/include/string.h" 3 4 +extern void *memchr (const void *__s, int __c, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); +# 141 "/usr/include/string.h" 3 4 +extern char *strcpy (char *__restrict __dest, const char *__restrict __src) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + +extern char *strncpy (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern char *strcat (char *__restrict __dest, const char *__restrict __src) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + +extern char *strncat (char *__restrict __dest, const char *__restrict __src, + size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int strcmp (const char *__s1, const char *__s2) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + +extern int strncmp (const char *__s1, const char *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int strcoll (const char *__s1, const char *__s2) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + +extern size_t strxfrm (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))) __attribute__ ((__access__ (__write_only__, 1, 3))); + + + +# 1 "/usr/include/x86_64-linux-gnu/bits/types/locale_t.h" 1 3 4 +# 22 "/usr/include/x86_64-linux-gnu/bits/types/locale_t.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h" 1 3 4 +# 27 "/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h" 3 4 +struct __locale_struct +{ + + struct __locale_data *__locales[13]; + + + const unsigned short int *__ctype_b; + const int *__ctype_tolower; + const int *__ctype_toupper; + + + const char *__names[13]; +}; + +typedef struct __locale_struct *__locale_t; +# 23 "/usr/include/x86_64-linux-gnu/bits/types/locale_t.h" 2 3 4 + +typedef __locale_t locale_t; +# 173 "/usr/include/string.h" 2 3 4 + + +extern int strcoll_l (const char *__s1, const char *__s2, locale_t __l) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); + + +extern size_t strxfrm_l (char *__dest, const char *__src, size_t __n, + locale_t __l) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 4))) + __attribute__ ((__access__ (__write_only__, 1, 3))); + + + + + +extern char *strdup (const char *__s) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); + + + + + + +extern char *strndup (const char *__string, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); +# 246 "/usr/include/string.h" 3 4 +extern char *strchr (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); +# 273 "/usr/include/string.h" 3 4 +extern char *strrchr (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); +# 293 "/usr/include/string.h" 3 4 +extern size_t strcspn (const char *__s, const char *__reject) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern size_t strspn (const char *__s, const char *__accept) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); +# 323 "/usr/include/string.h" 3 4 +extern char *strpbrk (const char *__s, const char *__accept) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); +# 350 "/usr/include/string.h" 3 4 +extern char *strstr (const char *__haystack, const char *__needle) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + + + +extern char *strtok (char *__restrict __s, const char *__restrict __delim) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + + + +extern char *__strtok_r (char *__restrict __s, + const char *__restrict __delim, + char **__restrict __save_ptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))); + +extern char *strtok_r (char *__restrict __s, const char *__restrict __delim, + char **__restrict __save_ptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))); +# 407 "/usr/include/string.h" 3 4 +extern size_t strlen (const char *__s) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); + + + + +extern size_t strnlen (const char *__string, size_t __maxlen) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); + + + + +extern char *strerror (int __errnum) __attribute__ ((__nothrow__ , __leaf__)); +# 432 "/usr/include/string.h" 3 4 +extern int strerror_r (int __errnum, char *__buf, size_t __buflen) __asm__ ("" "__xpg_strerror_r") __attribute__ ((__nothrow__ , __leaf__)) + + __attribute__ ((__nonnull__ (2))) + __attribute__ ((__access__ (__write_only__, 2, 3))); +# 458 "/usr/include/string.h" 3 4 +extern char *strerror_l (int __errnum, locale_t __l) __attribute__ ((__nothrow__ , __leaf__)); + + + +# 1 "/usr/include/strings.h" 1 3 4 +# 23 "/usr/include/strings.h" 3 4 +# 1 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 1 3 4 +# 24 "/usr/include/strings.h" 2 3 4 + + + + + + + + + + +extern int bcmp (const void *__s1, const void *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern void bcopy (const void *__src, void *__dest, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern void bzero (void *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 68 "/usr/include/strings.h" 3 4 +extern char *index (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); +# 96 "/usr/include/strings.h" 3 4 +extern char *rindex (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); + + + + + + +extern int ffs (int __i) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); + + + + + +extern int ffsl (long int __l) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); +__extension__ extern int ffsll (long long int __ll) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); + + + +extern int strcasecmp (const char *__s1, const char *__s2) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int strncasecmp (const char *__s1, const char *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + + + + + +extern int strcasecmp_l (const char *__s1, const char *__s2, locale_t __loc) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); + + + +extern int strncasecmp_l (const char *__s1, const char *__s2, + size_t __n, locale_t __loc) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 4))); + + + +# 463 "/usr/include/string.h" 2 3 4 + + + +extern void explicit_bzero (void *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) + __attribute__ ((__access__ (__write_only__, 1, 2))); + + + +extern char *strsep (char **__restrict __stringp, + const char *__restrict __delim) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + +extern char *strsignal (int __sig) __attribute__ ((__nothrow__ , __leaf__)); +# 489 "/usr/include/string.h" 3 4 +extern char *__stpcpy (char *__restrict __dest, const char *__restrict __src) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern char *stpcpy (char *__restrict __dest, const char *__restrict __src) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + +extern char *__stpncpy (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern char *stpncpy (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +# 539 "/usr/include/string.h" 3 4 + +# 7 "./src/tools_t/tools_t.h" 2 +# 1 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stdbool.h" 1 3 4 +# 8 "./src/tools_t/tools_t.h" 2 +# 36 "./src/tools_t/tools_t.h" + +# 36 "./src/tools_t/tools_t.h" +int COMPARE_N_TYPE_CHAR(const void *,const void*); void COPY_ARRAY_TYPE_CHAR(char* dst, const char* src, size_t size); char MAX_ARRAY_TYPE_CHAR(const char *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_CHAR(const char *array, size_t size); char MIN_ARRAY_TYPE_CHAR(const char *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_CHAR(const char *array, size_t size); +int COMPARE_N_TYPE_U_CHAR(const void *,const void*); void COPY_ARRAY_TYPE_U_CHAR(unsigned char* dst, const unsigned char* src, size_t size); unsigned char MAX_ARRAY_TYPE_U_CHAR(const unsigned char *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_U_CHAR(const unsigned char *array, size_t size); unsigned char MIN_ARRAY_TYPE_U_CHAR(const unsigned char *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_U_CHAR(const unsigned char *array, size_t size); +int COMPARE_N_TYPE_INT(const void *,const void*); void COPY_ARRAY_TYPE_INT(int* dst, const int* src, size_t size); int MAX_ARRAY_TYPE_INT(const int *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_INT(const int *array, size_t size); int MIN_ARRAY_TYPE_INT(const int *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_INT(const int *array, size_t size); +int COMPARE_N_TYPE_U_INT(const void *,const void*); void COPY_ARRAY_TYPE_U_INT(unsigned int* dst, const unsigned int* src, size_t size); unsigned int MAX_ARRAY_TYPE_U_INT(const unsigned int *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_U_INT(const unsigned int *array, size_t size); unsigned int MIN_ARRAY_TYPE_U_INT(const unsigned int *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_U_INT(const unsigned int *array, size_t size); +int COMPARE_N_TYPE_L_INT(const void *,const void*); void COPY_ARRAY_TYPE_L_INT(long int* dst, const long int* src, size_t size); long int MAX_ARRAY_TYPE_L_INT(const long int *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_L_INT(const long int *array, size_t size); long int MIN_ARRAY_TYPE_L_INT(const long int *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_L_INT(const long int *array, size_t size); +int COMPARE_N_TYPE_U_L_INT(const void *,const void*); void COPY_ARRAY_TYPE_U_L_INT(unsigned long int* dst, const unsigned long int* src, size_t size); unsigned long int MAX_ARRAY_TYPE_U_L_INT(const unsigned long int *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_U_L_INT(const unsigned long int *array, size_t size); unsigned long int MIN_ARRAY_TYPE_U_L_INT(const unsigned long int *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_U_L_INT(const unsigned long int *array, size_t size); +int COMPARE_N_TYPE_SIZE_T(const void *,const void*); void COPY_ARRAY_TYPE_SIZE_T(size_t* dst, const size_t* src, size_t size); size_t MAX_ARRAY_TYPE_SIZE_T(const size_t *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_SIZE_T(const size_t *array, size_t size); size_t MIN_ARRAY_TYPE_SIZE_T(const size_t *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_SIZE_T(const size_t *array, size_t size); +int COMPARE_N_TYPE_FLOAT(const void *,const void*); void COPY_ARRAY_TYPE_FLOAT(float* dst, const float* src, size_t size); float MAX_ARRAY_TYPE_FLOAT(const float *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_FLOAT(const float *array, size_t size); float MIN_ARRAY_TYPE_FLOAT(const float *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_FLOAT(const float *array, size_t size); +int COMPARE_N_TYPE_DOUBLE(const void *,const void*); void COPY_ARRAY_TYPE_DOUBLE(double* dst, const double* src, size_t size); double MAX_ARRAY_TYPE_DOUBLE(const double *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_DOUBLE(const double *array, size_t size); double MIN_ARRAY_TYPE_DOUBLE(const double *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_DOUBLE(const double *array, size_t size); +int COMPARE_N_TYPE_L_DOUBLE(const void *,const void*); void COPY_ARRAY_TYPE_L_DOUBLE(long double* dst, const long double* src, size_t size); long double MAX_ARRAY_TYPE_L_DOUBLE(const long double *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_L_DOUBLE(const long double *array, size_t size); long double MIN_ARRAY_TYPE_L_DOUBLE(const long double *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_L_DOUBLE(const long double *array, size_t size); +int COMPARE_N_TYPE_STRING(const void *,const void*); void COPY_ARRAY_TYPE_STRING(char** dst, const char** src, size_t size); char* MAX_ARRAY_TYPE_STRING(const char* *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_STRING(const char* *array, size_t size); char* MIN_ARRAY_TYPE_STRING(const char* *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_STRING(const char* *array, size_t size); +# 7 "./src/set_theoric_t/set_theoric_t.h" 2 +# 16 "./src/set_theoric_t/set_theoric_t.h" +struct SET_THEORIC_TYPE_U_CHAR{ unsigned char id; unsigned char *set;}; typedef struct SET_THEORIC_TYPE_U_CHAR SET_THEORIC_TYPE_U_CHAR; SET_THEORIC_TYPE_U_CHAR * CREATE_SET_THEORIC_TYPE_U_CHAR(TYPE_TYPE_U_CHAR); +# 16 "./src/set_theoric_t/set_theoric_t.h" 3 4 +_Bool +# 16 "./src/set_theoric_t/set_theoric_t.h" +IS_SET_THEORIC_TYPE_U_CHAR(SET_THEORIC_TYPE_U_CHAR *st); +struct SET_THEORIC_TYPE_U_INT{ unsigned int id; unsigned int *set;}; typedef struct SET_THEORIC_TYPE_U_INT SET_THEORIC_TYPE_U_INT; SET_THEORIC_TYPE_U_INT * CREATE_SET_THEORIC_TYPE_U_INT(TYPE_TYPE_U_INT); +# 17 "./src/set_theoric_t/set_theoric_t.h" 3 4 +_Bool +# 17 "./src/set_theoric_t/set_theoric_t.h" +IS_SET_THEORIC_TYPE_U_INT(SET_THEORIC_TYPE_U_INT *st); +struct SET_THEORIC_TYPE_U_L_INT{ unsigned long int id; unsigned long int *set;}; typedef struct SET_THEORIC_TYPE_U_L_INT SET_THEORIC_TYPE_U_L_INT; SET_THEORIC_TYPE_U_L_INT * CREATE_SET_THEORIC_TYPE_U_L_INT(TYPE_TYPE_U_L_INT); +# 18 "./src/set_theoric_t/set_theoric_t.h" 3 4 +_Bool +# 18 "./src/set_theoric_t/set_theoric_t.h" +IS_SET_THEORIC_TYPE_U_L_INT(SET_THEORIC_TYPE_U_L_INT *st); +struct SET_THEORIC_TYPE_SIZE_T{ size_t id; size_t *set;}; typedef struct SET_THEORIC_TYPE_SIZE_T SET_THEORIC_TYPE_SIZE_T; SET_THEORIC_TYPE_SIZE_T * CREATE_SET_THEORIC_TYPE_SIZE_T(TYPE_TYPE_SIZE_T); +# 19 "./src/set_theoric_t/set_theoric_t.h" 3 4 +_Bool +# 19 "./src/set_theoric_t/set_theoric_t.h" +IS_SET_THEORIC_TYPE_SIZE_T(SET_THEORIC_TYPE_SIZE_T *st); +# 3 "src/set_theoric_t/set_theoric_t.c" 2 +# 18 "src/set_theoric_t/set_theoric_t.c" +SET_THEORIC_TYPE_U_CHAR * CREATE_SET_THEORIC_TYPE_U_CHAR(size_t id){ if(id == 0) return +# 18 "src/set_theoric_t/set_theoric_t.c" 3 4 +((void *)0) +# 18 "src/set_theoric_t/set_theoric_t.c" +; SET_THEORIC_TYPE_U_CHAR *ret_set = malloc(sizeof(SET_THEORIC_TYPE_U_CHAR)); ret_set->id = id; ret_set->set = malloc(id*sizeof(unsigned char)); for(unsigned char i = 0; i < id; ++i) ret_set->set[i]=i; return ret_set; } +# 18 "src/set_theoric_t/set_theoric_t.c" 3 4 +_Bool +# 18 "src/set_theoric_t/set_theoric_t.c" +IS_SET_THEORIC_TYPE_U_CHAR(SET_THEORIC_TYPE_U_CHAR *st){ for(unsigned char i = 0; i < st->id; ++i){ if(st->set[i] != i) return +# 18 "src/set_theoric_t/set_theoric_t.c" 3 4 +0 +# 18 "src/set_theoric_t/set_theoric_t.c" +; return +# 18 "src/set_theoric_t/set_theoric_t.c" 3 4 +1 +# 18 "src/set_theoric_t/set_theoric_t.c" +; } } +SET_THEORIC_TYPE_U_INT * CREATE_SET_THEORIC_TYPE_U_INT(size_t id){ if(id == 0) return +# 19 "src/set_theoric_t/set_theoric_t.c" 3 4 +((void *)0) +# 19 "src/set_theoric_t/set_theoric_t.c" +; SET_THEORIC_TYPE_U_INT *ret_set = malloc(sizeof(SET_THEORIC_TYPE_U_INT)); ret_set->id = id; ret_set->set = malloc(id*sizeof(unsigned int)); for(unsigned int i = 0; i < id; ++i) ret_set->set[i]=i; return ret_set; } +# 19 "src/set_theoric_t/set_theoric_t.c" 3 4 +_Bool +# 19 "src/set_theoric_t/set_theoric_t.c" +IS_SET_THEORIC_TYPE_U_INT(SET_THEORIC_TYPE_U_INT *st){ for(unsigned int i = 0; i < st->id; ++i){ if(st->set[i] != i) return +# 19 "src/set_theoric_t/set_theoric_t.c" 3 4 +0 +# 19 "src/set_theoric_t/set_theoric_t.c" +; return +# 19 "src/set_theoric_t/set_theoric_t.c" 3 4 +1 +# 19 "src/set_theoric_t/set_theoric_t.c" +; } } +SET_THEORIC_TYPE_U_L_INT * CREATE_SET_THEORIC_TYPE_U_L_INT(size_t id){ if(id == 0) return +# 20 "src/set_theoric_t/set_theoric_t.c" 3 4 +((void *)0) +# 20 "src/set_theoric_t/set_theoric_t.c" +; SET_THEORIC_TYPE_U_L_INT *ret_set = malloc(sizeof(SET_THEORIC_TYPE_U_L_INT)); ret_set->id = id; ret_set->set = malloc(id*sizeof(unsigned long int)); for(unsigned long int i = 0; i < id; ++i) ret_set->set[i]=i; return ret_set; } +# 20 "src/set_theoric_t/set_theoric_t.c" 3 4 +_Bool +# 20 "src/set_theoric_t/set_theoric_t.c" +IS_SET_THEORIC_TYPE_U_L_INT(SET_THEORIC_TYPE_U_L_INT *st){ for(unsigned long int i = 0; i < st->id; ++i){ if(st->set[i] != i) return +# 20 "src/set_theoric_t/set_theoric_t.c" 3 4 +0 +# 20 "src/set_theoric_t/set_theoric_t.c" +; return +# 20 "src/set_theoric_t/set_theoric_t.c" 3 4 +1 +# 20 "src/set_theoric_t/set_theoric_t.c" +; } } +SET_THEORIC_TYPE_SIZE_T * CREATE_SET_THEORIC_TYPE_SIZE_T(size_t id){ if(id == 0) return +# 21 "src/set_theoric_t/set_theoric_t.c" 3 4 +((void *)0) +# 21 "src/set_theoric_t/set_theoric_t.c" +; SET_THEORIC_TYPE_SIZE_T *ret_set = malloc(sizeof(SET_THEORIC_TYPE_SIZE_T)); ret_set->id = id; ret_set->set = malloc(id*sizeof(size_t)); for(size_t i = 0; i < id; ++i) ret_set->set[i]=i; return ret_set; } +# 21 "src/set_theoric_t/set_theoric_t.c" 3 4 +_Bool +# 21 "src/set_theoric_t/set_theoric_t.c" +IS_SET_THEORIC_TYPE_SIZE_T(SET_THEORIC_TYPE_SIZE_T *st){ for(size_t i = 0; i < st->id; ++i){ if(st->set[i] != i) return +# 21 "src/set_theoric_t/set_theoric_t.c" 3 4 +0 +# 21 "src/set_theoric_t/set_theoric_t.c" +; return +# 21 "src/set_theoric_t/set_theoric_t.c" 3 4 +1 +# 21 "src/set_theoric_t/set_theoric_t.c" +; } } +# 0 "src/tools_t/tools_t.c" +# 0 "" +# 0 "" +# 1 "/usr/include/stdc-predef.h" 1 3 4 +# 0 "" 2 +# 1 "src/tools_t/tools_t.c" +# 1 "./src/tools_t/tools_t.h" 1 + + + +# 1 "/usr/include/stdio.h" 1 3 4 +# 27 "/usr/include/stdio.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 1 3 4 +# 33 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 3 4 +# 1 "/usr/include/features.h" 1 3 4 +# 392 "/usr/include/features.h" 3 4 +# 1 "/usr/include/features-time64.h" 1 3 4 +# 20 "/usr/include/features-time64.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 +# 21 "/usr/include/features-time64.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/timesize.h" 1 3 4 +# 19 "/usr/include/x86_64-linux-gnu/bits/timesize.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 +# 20 "/usr/include/x86_64-linux-gnu/bits/timesize.h" 2 3 4 +# 22 "/usr/include/features-time64.h" 2 3 4 +# 393 "/usr/include/features.h" 2 3 4 +# 486 "/usr/include/features.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 1 3 4 +# 559 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 +# 560 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/long-double.h" 1 3 4 +# 561 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 2 3 4 +# 487 "/usr/include/features.h" 2 3 4 +# 510 "/usr/include/features.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/gnu/stubs.h" 1 3 4 +# 10 "/usr/include/x86_64-linux-gnu/gnu/stubs.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/gnu/stubs-64.h" 1 3 4 +# 11 "/usr/include/x86_64-linux-gnu/gnu/stubs.h" 2 3 4 +# 511 "/usr/include/features.h" 2 3 4 +# 34 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 2 3 4 +# 28 "/usr/include/stdio.h" 2 3 4 + + + + + +# 1 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 1 3 4 +# 209 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 3 4 + +# 209 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 3 4 +typedef long unsigned int size_t; +# 34 "/usr/include/stdio.h" 2 3 4 + + +# 1 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stdarg.h" 1 3 4 +# 40 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stdarg.h" 3 4 +typedef __builtin_va_list __gnuc_va_list; +# 37 "/usr/include/stdio.h" 2 3 4 + +# 1 "/usr/include/x86_64-linux-gnu/bits/types.h" 1 3 4 +# 27 "/usr/include/x86_64-linux-gnu/bits/types.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 +# 28 "/usr/include/x86_64-linux-gnu/bits/types.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/timesize.h" 1 3 4 +# 19 "/usr/include/x86_64-linux-gnu/bits/timesize.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 +# 20 "/usr/include/x86_64-linux-gnu/bits/timesize.h" 2 3 4 +# 29 "/usr/include/x86_64-linux-gnu/bits/types.h" 2 3 4 + + +typedef unsigned char __u_char; +typedef unsigned short int __u_short; +typedef unsigned int __u_int; +typedef unsigned long int __u_long; + + +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; + +typedef signed long int __int64_t; +typedef unsigned long int __uint64_t; + + + + + + +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; + + + +typedef long int __quad_t; +typedef unsigned long int __u_quad_t; + + + + + + + +typedef long int __intmax_t; +typedef unsigned long int __uintmax_t; +# 141 "/usr/include/x86_64-linux-gnu/bits/types.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/typesizes.h" 1 3 4 +# 142 "/usr/include/x86_64-linux-gnu/bits/types.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/time64.h" 1 3 4 +# 143 "/usr/include/x86_64-linux-gnu/bits/types.h" 2 3 4 + + +typedef unsigned long int __dev_t; +typedef unsigned int __uid_t; +typedef unsigned int __gid_t; +typedef unsigned long int __ino_t; +typedef unsigned long int __ino64_t; +typedef unsigned int __mode_t; +typedef unsigned long int __nlink_t; +typedef long int __off_t; +typedef long int __off64_t; +typedef int __pid_t; +typedef struct { int __val[2]; } __fsid_t; +typedef long int __clock_t; +typedef unsigned long int __rlim_t; +typedef unsigned long int __rlim64_t; +typedef unsigned int __id_t; +typedef long int __time_t; +typedef unsigned int __useconds_t; +typedef long int __suseconds_t; +typedef long int __suseconds64_t; + +typedef int __daddr_t; +typedef int __key_t; + + +typedef int __clockid_t; + + +typedef void * __timer_t; + + +typedef long int __blksize_t; + + + + +typedef long int __blkcnt_t; +typedef long int __blkcnt64_t; + + +typedef unsigned long int __fsblkcnt_t; +typedef unsigned long int __fsblkcnt64_t; + + +typedef unsigned long int __fsfilcnt_t; +typedef unsigned long int __fsfilcnt64_t; + + +typedef long int __fsword_t; + +typedef long int __ssize_t; + + +typedef long int __syscall_slong_t; + +typedef unsigned long int __syscall_ulong_t; + + + +typedef __off64_t __loff_t; +typedef char *__caddr_t; + + +typedef long int __intptr_t; + + +typedef unsigned int __socklen_t; + + + + +typedef int __sig_atomic_t; +# 39 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h" 1 3 4 + + + + +# 1 "/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h" 1 3 4 +# 13 "/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h" 3 4 +typedef struct +{ + int __count; + union + { + unsigned int __wch; + char __wchb[4]; + } __value; +} __mbstate_t; +# 6 "/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h" 2 3 4 + + + + +typedef struct _G_fpos_t +{ + __off_t __pos; + __mbstate_t __state; +} __fpos_t; +# 40 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h" 1 3 4 +# 10 "/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h" 3 4 +typedef struct _G_fpos64_t +{ + __off64_t __pos; + __mbstate_t __state; +} __fpos64_t; +# 41 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/types/__FILE.h" 1 3 4 + + + +struct _IO_FILE; +typedef struct _IO_FILE __FILE; +# 42 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/types/FILE.h" 1 3 4 + + + +struct _IO_FILE; + + +typedef struct _IO_FILE FILE; +# 43 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h" 1 3 4 +# 35 "/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h" 3 4 +struct _IO_FILE; +struct _IO_marker; +struct _IO_codecvt; +struct _IO_wide_data; + + + + +typedef void _IO_lock_t; + + + + + +struct _IO_FILE +{ + int _flags; + + + char *_IO_read_ptr; + char *_IO_read_end; + char *_IO_read_base; + char *_IO_write_base; + char *_IO_write_ptr; + char *_IO_write_end; + char *_IO_buf_base; + char *_IO_buf_end; + + + char *_IO_save_base; + char *_IO_backup_base; + char *_IO_save_end; + + struct _IO_marker *_markers; + + struct _IO_FILE *_chain; + + int _fileno; + int _flags2; + __off_t _old_offset; + + + unsigned short _cur_column; + signed char _vtable_offset; + char _shortbuf[1]; + + _IO_lock_t *_lock; + + + + + + + + __off64_t _offset; + + struct _IO_codecvt *_codecvt; + struct _IO_wide_data *_wide_data; + struct _IO_FILE *_freeres_list; + void *_freeres_buf; + size_t __pad5; + int _mode; + + char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)]; +}; +# 44 "/usr/include/stdio.h" 2 3 4 +# 52 "/usr/include/stdio.h" 3 4 +typedef __gnuc_va_list va_list; +# 63 "/usr/include/stdio.h" 3 4 +typedef __off_t off_t; +# 77 "/usr/include/stdio.h" 3 4 +typedef __ssize_t ssize_t; + + + + + + +typedef __fpos_t fpos_t; +# 133 "/usr/include/stdio.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/stdio_lim.h" 1 3 4 +# 134 "/usr/include/stdio.h" 2 3 4 +# 143 "/usr/include/stdio.h" 3 4 +extern FILE *stdin; +extern FILE *stdout; +extern FILE *stderr; + + + + + + +extern int remove (const char *__filename) __attribute__ ((__nothrow__ , __leaf__)); + +extern int rename (const char *__old, const char *__new) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int renameat (int __oldfd, const char *__old, int __newfd, + const char *__new) __attribute__ ((__nothrow__ , __leaf__)); +# 178 "/usr/include/stdio.h" 3 4 +extern int fclose (FILE *__stream); +# 188 "/usr/include/stdio.h" 3 4 +extern FILE *tmpfile (void) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; +# 205 "/usr/include/stdio.h" 3 4 +extern char *tmpnam (char[20]) __attribute__ ((__nothrow__ , __leaf__)) ; + + + + +extern char *tmpnam_r (char __s[20]) __attribute__ ((__nothrow__ , __leaf__)) ; +# 222 "/usr/include/stdio.h" 3 4 +extern char *tempnam (const char *__dir, const char *__pfx) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (__builtin_free, 1))); + + + + + + +extern int fflush (FILE *__stream); +# 239 "/usr/include/stdio.h" 3 4 +extern int fflush_unlocked (FILE *__stream); +# 258 "/usr/include/stdio.h" 3 4 +extern FILE *fopen (const char *__restrict __filename, + const char *__restrict __modes) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; + + + + +extern FILE *freopen (const char *__restrict __filename, + const char *__restrict __modes, + FILE *__restrict __stream) ; +# 293 "/usr/include/stdio.h" 3 4 +extern FILE *fdopen (int __fd, const char *__modes) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; +# 308 "/usr/include/stdio.h" 3 4 +extern FILE *fmemopen (void *__s, size_t __len, const char *__modes) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; + + + + +extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; +# 328 "/usr/include/stdio.h" 3 4 +extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, + int __modes, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); + + + + +extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, + size_t __size) __attribute__ ((__nothrow__ , __leaf__)); + + +extern void setlinebuf (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); + + + + + + + +extern int fprintf (FILE *__restrict __stream, + const char *__restrict __format, ...); + + + + +extern int printf (const char *__restrict __format, ...); + +extern int sprintf (char *__restrict __s, + const char *__restrict __format, ...) __attribute__ ((__nothrow__)); + + + + + +extern int vfprintf (FILE *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg); + + + + +extern int vprintf (const char *__restrict __format, __gnuc_va_list __arg); + +extern int vsprintf (char *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg) __attribute__ ((__nothrow__)); + + + +extern int snprintf (char *__restrict __s, size_t __maxlen, + const char *__restrict __format, ...) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 4))); + +extern int vsnprintf (char *__restrict __s, size_t __maxlen, + const char *__restrict __format, __gnuc_va_list __arg) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 0))); +# 403 "/usr/include/stdio.h" 3 4 +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))); + + + + + + + +extern int fscanf (FILE *__restrict __stream, + const char *__restrict __format, ...) ; + + + + +extern int scanf (const char *__restrict __format, ...) ; + +extern int sscanf (const char *__restrict __s, + const char *__restrict __format, ...) __attribute__ ((__nothrow__ , __leaf__)); + + + + + +# 1 "/usr/include/x86_64-linux-gnu/bits/floatn.h" 1 3 4 +# 119 "/usr/include/x86_64-linux-gnu/bits/floatn.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 1 3 4 +# 24 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/long-double.h" 1 3 4 +# 25 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 2 3 4 +# 120 "/usr/include/x86_64-linux-gnu/bits/floatn.h" 2 3 4 +# 431 "/usr/include/stdio.h" 2 3 4 + + + +extern int fscanf (FILE *__restrict __stream, const char *__restrict __format, ...) __asm__ ("" "__isoc99_fscanf") + + ; +extern int scanf (const char *__restrict __format, ...) __asm__ ("" "__isoc99_scanf") + ; +extern int sscanf (const char *__restrict __s, const char *__restrict __format, ...) __asm__ ("" "__isoc99_sscanf") __attribute__ ((__nothrow__ , __leaf__)) + + ; +# 459 "/usr/include/stdio.h" 3 4 +extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg) + __attribute__ ((__format__ (__scanf__, 2, 0))) ; + + + + + +extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) + __attribute__ ((__format__ (__scanf__, 1, 0))) ; + + +extern int vsscanf (const char *__restrict __s, + const char *__restrict __format, __gnuc_va_list __arg) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__format__ (__scanf__, 2, 0))); + + + + + +extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vfscanf") + + + + __attribute__ ((__format__ (__scanf__, 2, 0))) ; +extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vscanf") + + __attribute__ ((__format__ (__scanf__, 1, 0))) ; +extern int vsscanf (const char *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vsscanf") __attribute__ ((__nothrow__ , __leaf__)) + + + + __attribute__ ((__format__ (__scanf__, 2, 0))); +# 513 "/usr/include/stdio.h" 3 4 +extern int fgetc (FILE *__stream); +extern int getc (FILE *__stream); + + + + + +extern int getchar (void); + + + + + + +extern int getc_unlocked (FILE *__stream); +extern int getchar_unlocked (void); +# 538 "/usr/include/stdio.h" 3 4 +extern int fgetc_unlocked (FILE *__stream); +# 549 "/usr/include/stdio.h" 3 4 +extern int fputc (int __c, FILE *__stream); +extern int putc (int __c, FILE *__stream); + + + + + +extern int putchar (int __c); +# 565 "/usr/include/stdio.h" 3 4 +extern int fputc_unlocked (int __c, FILE *__stream); + + + + + + + +extern int putc_unlocked (int __c, FILE *__stream); +extern int putchar_unlocked (int __c); + + + + + + +extern int getw (FILE *__stream); + + +extern int putw (int __w, FILE *__stream); + + + + + + + +extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream) + __attribute__ ((__access__ (__write_only__, 1, 2))); +# 632 "/usr/include/stdio.h" 3 4 +extern __ssize_t __getdelim (char **__restrict __lineptr, + size_t *__restrict __n, int __delimiter, + FILE *__restrict __stream) ; +extern __ssize_t getdelim (char **__restrict __lineptr, + size_t *__restrict __n, int __delimiter, + FILE *__restrict __stream) ; + + + + + + + +extern __ssize_t getline (char **__restrict __lineptr, + size_t *__restrict __n, + FILE *__restrict __stream) ; + + + + + + + +extern int fputs (const char *__restrict __s, FILE *__restrict __stream); + + + + + +extern int puts (const char *__s); + + + + + + +extern int ungetc (int __c, FILE *__stream); + + + + + + +extern size_t fread (void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream) ; + + + + +extern size_t fwrite (const void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __s); +# 702 "/usr/include/stdio.h" 3 4 +extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream) ; +extern size_t fwrite_unlocked (const void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream); + + + + + + + +extern int fseek (FILE *__stream, long int __off, int __whence); + + + + +extern long int ftell (FILE *__stream) ; + + + + +extern void rewind (FILE *__stream); +# 736 "/usr/include/stdio.h" 3 4 +extern int fseeko (FILE *__stream, __off_t __off, int __whence); + + + + +extern __off_t ftello (FILE *__stream) ; +# 760 "/usr/include/stdio.h" 3 4 +extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos); + + + + +extern int fsetpos (FILE *__stream, const fpos_t *__pos); +# 786 "/usr/include/stdio.h" 3 4 +extern void clearerr (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); + +extern int feof (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; + +extern int ferror (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; + + + +extern void clearerr_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); +extern int feof_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; +extern int ferror_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; + + + + + + + +extern void perror (const char *__s); + + + + +extern int fileno (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; + + + + +extern int fileno_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; +# 823 "/usr/include/stdio.h" 3 4 +extern int pclose (FILE *__stream); + + + + + +extern FILE *popen (const char *__command, const char *__modes) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (pclose, 1))) ; + + + + + + +extern char *ctermid (char *__s) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1))); +# 867 "/usr/include/stdio.h" 3 4 +extern void flockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int ftrylockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; + + +extern void funlockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); +# 885 "/usr/include/stdio.h" 3 4 +extern int __uflow (FILE *); +extern int __overflow (FILE *, int); +# 902 "/usr/include/stdio.h" 3 4 + +# 5 "./src/tools_t/tools_t.h" 2 +# 1 "/usr/include/stdlib.h" 1 3 4 +# 26 "/usr/include/stdlib.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 1 3 4 +# 27 "/usr/include/stdlib.h" 2 3 4 + + + + + +# 1 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 1 3 4 +# 321 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 3 4 +typedef int wchar_t; +# 33 "/usr/include/stdlib.h" 2 3 4 + + + + + + + +# 1 "/usr/include/x86_64-linux-gnu/bits/waitflags.h" 1 3 4 +# 41 "/usr/include/stdlib.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/waitstatus.h" 1 3 4 +# 42 "/usr/include/stdlib.h" 2 3 4 +# 59 "/usr/include/stdlib.h" 3 4 +typedef struct + { + int quot; + int rem; + } div_t; + + + +typedef struct + { + long int quot; + long int rem; + } ldiv_t; + + + + + +__extension__ typedef struct + { + long long int quot; + long long int rem; + } lldiv_t; +# 98 "/usr/include/stdlib.h" 3 4 +extern size_t __ctype_get_mb_cur_max (void) __attribute__ ((__nothrow__ , __leaf__)) ; + + + +extern double atof (const char *__nptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; + +extern int atoi (const char *__nptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; + +extern long int atol (const char *__nptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; + + + +__extension__ extern long long int atoll (const char *__nptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; + + + +extern double strtod (const char *__restrict __nptr, + char **__restrict __endptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + +extern float strtof (const char *__restrict __nptr, + char **__restrict __endptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +extern long double strtold (const char *__restrict __nptr, + char **__restrict __endptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 177 "/usr/include/stdlib.h" 3 4 +extern long int strtol (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +extern unsigned long int strtoul (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + +__extension__ +extern long long int strtoq (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +__extension__ +extern unsigned long long int strtouq (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + +__extension__ +extern long long int strtoll (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +__extension__ +extern unsigned long long int strtoull (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 386 "/usr/include/stdlib.h" 3 4 +extern char *l64a (long int __n) __attribute__ ((__nothrow__ , __leaf__)) ; + + +extern long int a64l (const char *__s) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; + + + + +# 1 "/usr/include/x86_64-linux-gnu/sys/types.h" 1 3 4 +# 27 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 + + + + + + +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; + + +typedef __loff_t loff_t; + + + + +typedef __ino_t ino_t; +# 59 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 +typedef __dev_t dev_t; + + + + +typedef __gid_t gid_t; + + + + +typedef __mode_t mode_t; + + + + +typedef __nlink_t nlink_t; + + + + +typedef __uid_t uid_t; +# 97 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 +typedef __pid_t pid_t; + + + + + +typedef __id_t id_t; +# 114 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 +typedef __daddr_t daddr_t; +typedef __caddr_t caddr_t; + + + + + +typedef __key_t key_t; + + + + +# 1 "/usr/include/x86_64-linux-gnu/bits/types/clock_t.h" 1 3 4 + + + + + + +typedef __clock_t clock_t; +# 127 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 + +# 1 "/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h" 1 3 4 + + + + + + +typedef __clockid_t clockid_t; +# 129 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/types/time_t.h" 1 3 4 +# 10 "/usr/include/x86_64-linux-gnu/bits/types/time_t.h" 3 4 +typedef __time_t time_t; +# 130 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/types/timer_t.h" 1 3 4 + + + + + + +typedef __timer_t timer_t; +# 131 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 +# 144 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 +# 1 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 1 3 4 +# 145 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 + + + +typedef unsigned long int ulong; +typedef unsigned short int ushort; +typedef unsigned int uint; + + + + +# 1 "/usr/include/x86_64-linux-gnu/bits/stdint-intn.h" 1 3 4 +# 24 "/usr/include/x86_64-linux-gnu/bits/stdint-intn.h" 3 4 +typedef __int8_t int8_t; +typedef __int16_t int16_t; +typedef __int32_t int32_t; +typedef __int64_t int64_t; +# 156 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 + + +typedef __uint8_t u_int8_t; +typedef __uint16_t u_int16_t; +typedef __uint32_t u_int32_t; +typedef __uint64_t u_int64_t; + + +typedef int register_t __attribute__ ((__mode__ (__word__))); +# 176 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 +# 1 "/usr/include/endian.h" 1 3 4 +# 24 "/usr/include/endian.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/endian.h" 1 3 4 +# 35 "/usr/include/x86_64-linux-gnu/bits/endian.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/endianness.h" 1 3 4 +# 36 "/usr/include/x86_64-linux-gnu/bits/endian.h" 2 3 4 +# 25 "/usr/include/endian.h" 2 3 4 +# 35 "/usr/include/endian.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/byteswap.h" 1 3 4 +# 33 "/usr/include/x86_64-linux-gnu/bits/byteswap.h" 3 4 +static __inline __uint16_t +__bswap_16 (__uint16_t __bsx) +{ + + return __builtin_bswap16 (__bsx); + + + +} + + + + + + +static __inline __uint32_t +__bswap_32 (__uint32_t __bsx) +{ + + return __builtin_bswap32 (__bsx); + + + +} +# 69 "/usr/include/x86_64-linux-gnu/bits/byteswap.h" 3 4 +__extension__ static __inline __uint64_t +__bswap_64 (__uint64_t __bsx) +{ + + return __builtin_bswap64 (__bsx); + + + +} +# 36 "/usr/include/endian.h" 2 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/uintn-identity.h" 1 3 4 +# 32 "/usr/include/x86_64-linux-gnu/bits/uintn-identity.h" 3 4 +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; +} +# 37 "/usr/include/endian.h" 2 3 4 +# 177 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 + + +# 1 "/usr/include/x86_64-linux-gnu/sys/select.h" 1 3 4 +# 30 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/select.h" 1 3 4 +# 31 "/usr/include/x86_64-linux-gnu/sys/select.h" 2 3 4 + + +# 1 "/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h" 1 3 4 + + + +# 1 "/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h" 1 3 4 + + + + +typedef struct +{ + unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; +} __sigset_t; +# 5 "/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h" 2 3 4 + + +typedef __sigset_t sigset_t; +# 34 "/usr/include/x86_64-linux-gnu/sys/select.h" 2 3 4 + + + +# 1 "/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h" 1 3 4 + + + + + + + +struct timeval +{ + + + + + __time_t tv_sec; + __suseconds_t tv_usec; + +}; +# 38 "/usr/include/x86_64-linux-gnu/sys/select.h" 2 3 4 + +# 1 "/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h" 1 3 4 +# 11 "/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h" 3 4 +struct timespec +{ + + + + __time_t tv_sec; + + + + + __syscall_slong_t tv_nsec; +# 31 "/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h" 3 4 +}; +# 40 "/usr/include/x86_64-linux-gnu/sys/select.h" 2 3 4 + + + +typedef __suseconds_t suseconds_t; + + + + + +typedef long int __fd_mask; +# 59 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4 +typedef struct + { + + + + + + + __fd_mask __fds_bits[1024 / (8 * (int) sizeof (__fd_mask))]; + + + } fd_set; + + + + + + +typedef __fd_mask fd_mask; +# 91 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4 + +# 102 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4 +extern int select (int __nfds, fd_set *__restrict __readfds, + fd_set *__restrict __writefds, + fd_set *__restrict __exceptfds, + struct timeval *__restrict __timeout); +# 127 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4 +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); +# 153 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4 + +# 180 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 + + + + + +typedef __blksize_t blksize_t; + + + + + + +typedef __blkcnt_t blkcnt_t; + + + +typedef __fsblkcnt_t fsblkcnt_t; + + + +typedef __fsfilcnt_t fsfilcnt_t; +# 227 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 1 3 4 +# 23 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 1 3 4 +# 44 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h" 1 3 4 +# 21 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 +# 22 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h" 2 3 4 +# 45 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 2 3 4 + +# 1 "/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h" 1 3 4 +# 25 "/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h" 3 4 +typedef union +{ + __extension__ unsigned long long int __value64; + struct + { + unsigned int __low; + unsigned int __high; + } __value32; +} __atomic_wide_counter; +# 47 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 2 3 4 + + + + +typedef struct __pthread_internal_list +{ + struct __pthread_internal_list *__prev; + struct __pthread_internal_list *__next; +} __pthread_list_t; + +typedef struct __pthread_internal_slist +{ + struct __pthread_internal_slist *__next; +} __pthread_slist_t; +# 76 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/struct_mutex.h" 1 3 4 +# 22 "/usr/include/x86_64-linux-gnu/bits/struct_mutex.h" 3 4 +struct __pthread_mutex_s +{ + int __lock; + unsigned int __count; + int __owner; + + unsigned int __nusers; + + + + int __kind; + + short __spins; + short __elision; + __pthread_list_t __list; +# 53 "/usr/include/x86_64-linux-gnu/bits/struct_mutex.h" 3 4 +}; +# 77 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 2 3 4 +# 89 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h" 1 3 4 +# 23 "/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h" 3 4 +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; + + int __cur_writer; + int __shared; + signed char __rwelision; + + + + + unsigned char __pad1[7]; + + + unsigned long int __pad2; + + + unsigned int __flags; +# 55 "/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h" 3 4 +}; +# 90 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 2 3 4 + + + + +struct __pthread_cond_s +{ + __atomic_wide_counter __wseq; + __atomic_wide_counter __g1_start; + unsigned int __g_refs[2] ; + unsigned int __g_size[2]; + unsigned int __g1_orig_size; + unsigned int __wrefs; + unsigned int __g_signals[2]; +}; + +typedef unsigned int __tss_t; +typedef unsigned long int __thrd_t; + +typedef struct +{ + int __data ; +} __once_flag; +# 24 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 2 3 4 + + + +typedef unsigned long int pthread_t; + + + + +typedef union +{ + char __size[4]; + int __align; +} pthread_mutexattr_t; + + + + +typedef union +{ + char __size[4]; + int __align; +} pthread_condattr_t; + + + +typedef unsigned int pthread_key_t; + + + +typedef int pthread_once_t; + + +union pthread_attr_t +{ + char __size[56]; + long int __align; +}; + +typedef union pthread_attr_t pthread_attr_t; + + + + +typedef union +{ + struct __pthread_mutex_s __data; + char __size[40]; + long int __align; +} pthread_mutex_t; + + +typedef union +{ + struct __pthread_cond_s __data; + char __size[48]; + __extension__ long long int __align; +} pthread_cond_t; + + + + + +typedef union +{ + struct __pthread_rwlock_arch_t __data; + char __size[56]; + long int __align; +} pthread_rwlock_t; + +typedef union +{ + char __size[8]; + long int __align; +} pthread_rwlockattr_t; + + + + + +typedef volatile int pthread_spinlock_t; + + + + +typedef union +{ + char __size[32]; + long int __align; +} pthread_barrier_t; + +typedef union +{ + char __size[4]; + int __align; +} pthread_barrierattr_t; +# 228 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 + + + +# 396 "/usr/include/stdlib.h" 2 3 4 + + + + + + +extern long int random (void) __attribute__ ((__nothrow__ , __leaf__)); + + +extern void srandom (unsigned int __seed) __attribute__ ((__nothrow__ , __leaf__)); + + + + + +extern char *initstate (unsigned int __seed, char *__statebuf, + size_t __statelen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + + + +extern char *setstate (char *__statebuf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + + +struct random_data + { + int32_t *fptr; + int32_t *rptr; + int32_t *state; + int rand_type; + int rand_deg; + int rand_sep; + int32_t *end_ptr; + }; + +extern int random_r (struct random_data *__restrict __buf, + int32_t *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + +extern int srandom_r (unsigned int __seed, struct random_data *__buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + +extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, + size_t __statelen, + struct random_data *__restrict __buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 4))); + +extern int setstate_r (char *__restrict __statebuf, + struct random_data *__restrict __buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + + +extern int rand (void) __attribute__ ((__nothrow__ , __leaf__)); + +extern void srand (unsigned int __seed) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int rand_r (unsigned int *__seed) __attribute__ ((__nothrow__ , __leaf__)); + + + + + + + +extern double drand48 (void) __attribute__ ((__nothrow__ , __leaf__)); +extern double erand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern long int lrand48 (void) __attribute__ ((__nothrow__ , __leaf__)); +extern long int nrand48 (unsigned short int __xsubi[3]) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern long int mrand48 (void) __attribute__ ((__nothrow__ , __leaf__)); +extern long int jrand48 (unsigned short int __xsubi[3]) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern void srand48 (long int __seedval) __attribute__ ((__nothrow__ , __leaf__)); +extern unsigned short int *seed48 (unsigned short int __seed16v[3]) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +extern void lcong48 (unsigned short int __param[7]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + +struct drand48_data + { + unsigned short int __x[3]; + unsigned short int __old_x[3]; + unsigned short int __c; + unsigned short int __init; + __extension__ unsigned long long int __a; + + }; + + +extern int drand48_r (struct drand48_data *__restrict __buffer, + double *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern int erand48_r (unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + double *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int lrand48_r (struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern int nrand48_r (unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int mrand48_r (struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern int jrand48_r (unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int srand48_r (long int __seedval, struct drand48_data *__buffer) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + +extern int seed48_r (unsigned short int __seed16v[3], + struct drand48_data *__buffer) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + +extern int lcong48_r (unsigned short int __param[7], + struct drand48_data *__buffer) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + +extern void *malloc (size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) + __attribute__ ((__alloc_size__ (1))) ; + +extern void *calloc (size_t __nmemb, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__alloc_size__ (1, 2))) ; + + + + + + +extern void *realloc (void *__ptr, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__alloc_size__ (2))); + + +extern void free (void *__ptr) __attribute__ ((__nothrow__ , __leaf__)); + + + + + + + +extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) + __attribute__ ((__alloc_size__ (2, 3))) + __attribute__ ((__malloc__ (__builtin_free, 1))); + + +extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__ (reallocarray, 1))); + + + +# 1 "/usr/include/alloca.h" 1 3 4 +# 24 "/usr/include/alloca.h" 3 4 +# 1 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 1 3 4 +# 25 "/usr/include/alloca.h" 2 3 4 + + + + + + + +extern void *alloca (size_t __size) __attribute__ ((__nothrow__ , __leaf__)); + + + + + + +# 575 "/usr/include/stdlib.h" 2 3 4 + + + + + +extern void *valloc (size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) + __attribute__ ((__alloc_size__ (1))) ; + + + + +extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; + + + + +extern void *aligned_alloc (size_t __alignment, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__alloc_align__ (1))) + __attribute__ ((__alloc_size__ (2))) ; + + + +extern void abort (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); + + + +extern int atexit (void (*__func) (void)) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + + +extern int at_quick_exit (void (*__func) (void)) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + +extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + +extern void exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); + + + + + +extern void quick_exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); + + + + + +extern void _Exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); + + + + +extern char *getenv (const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; +# 654 "/usr/include/stdlib.h" 3 4 +extern int putenv (char *__string) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + +extern int setenv (const char *__name, const char *__value, int __replace) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + + +extern int unsetenv (const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + +extern int clearenv (void) __attribute__ ((__nothrow__ , __leaf__)); +# 682 "/usr/include/stdlib.h" 3 4 +extern char *mktemp (char *__template) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 695 "/usr/include/stdlib.h" 3 4 +extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) ; +# 717 "/usr/include/stdlib.h" 3 4 +extern int mkstemps (char *__template, int __suffixlen) __attribute__ ((__nonnull__ (1))) ; +# 738 "/usr/include/stdlib.h" 3 4 +extern char *mkdtemp (char *__template) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; +# 791 "/usr/include/stdlib.h" 3 4 +extern int system (const char *__command) ; +# 808 "/usr/include/stdlib.h" 3 4 +extern char *realpath (const char *__restrict __name, + char *__restrict __resolved) __attribute__ ((__nothrow__ , __leaf__)) ; + + + + + + +typedef int (*__compar_fn_t) (const void *, const void *); +# 828 "/usr/include/stdlib.h" 3 4 +extern void *bsearch (const void *__key, const void *__base, + size_t __nmemb, size_t __size, __compar_fn_t __compar) + __attribute__ ((__nonnull__ (1, 2, 5))) ; + + + + + + + +extern void qsort (void *__base, size_t __nmemb, size_t __size, + __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4))); +# 848 "/usr/include/stdlib.h" 3 4 +extern int abs (int __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; +extern long int labs (long int __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; + + +__extension__ extern long long int llabs (long long int __x) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; + + + + + + +extern div_t div (int __numer, int __denom) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; +extern ldiv_t ldiv (long int __numer, long int __denom) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; + + +__extension__ extern lldiv_t lldiv (long long int __numer, + long long int __denom) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; +# 880 "/usr/include/stdlib.h" 3 4 +extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) ; + + + + +extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) ; + + + + +extern char *gcvt (double __value, int __ndigit, char *__buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))) ; + + + + +extern char *qecvt (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) ; +extern char *qfcvt (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) ; +extern char *qgcvt (long double __value, int __ndigit, char *__buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))) ; + + + + +extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign, char *__restrict __buf, + size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); +extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign, char *__restrict __buf, + size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__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) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__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) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); + + + + + +extern int mblen (const char *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); + + +extern int mbtowc (wchar_t *__restrict __pwc, + const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); + + +extern int wctomb (char *__s, wchar_t __wchar) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern size_t mbstowcs (wchar_t *__restrict __pwcs, + const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__read_only__, 2))); + +extern size_t wcstombs (char *__restrict __s, + const wchar_t *__restrict __pwcs, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1, 3))) + __attribute__ ((__access__ (__read_only__, 2))); + + + + + + +extern int rpmatch (const char *__response) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; +# 967 "/usr/include/stdlib.h" 3 4 +extern int getsubopt (char **__restrict __optionp, + char *const *__restrict __tokens, + char **__restrict __valuep) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2, 3))) ; +# 1013 "/usr/include/stdlib.h" 3 4 +extern int getloadavg (double __loadavg[], int __nelem) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 1023 "/usr/include/stdlib.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/stdlib-float.h" 1 3 4 +# 1024 "/usr/include/stdlib.h" 2 3 4 +# 1035 "/usr/include/stdlib.h" 3 4 + +# 6 "./src/tools_t/tools_t.h" 2 +# 1 "/usr/include/string.h" 1 3 4 +# 26 "/usr/include/string.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 1 3 4 +# 27 "/usr/include/string.h" 2 3 4 + + + + + + +# 1 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 1 3 4 +# 34 "/usr/include/string.h" 2 3 4 +# 43 "/usr/include/string.h" 3 4 +extern void *memcpy (void *__restrict __dest, const void *__restrict __src, + size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern void *memmove (void *__dest, const void *__src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + + +extern void *memccpy (void *__restrict __dest, const void *__restrict __src, + int __c, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__access__ (__write_only__, 1, 4))); + + + + +extern void *memset (void *__s, int __c, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern int memcmp (const void *__s1, const void *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); +# 80 "/usr/include/string.h" 3 4 +extern int __memcmpeq (const void *__s1, const void *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); +# 107 "/usr/include/string.h" 3 4 +extern void *memchr (const void *__s, int __c, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); +# 141 "/usr/include/string.h" 3 4 +extern char *strcpy (char *__restrict __dest, const char *__restrict __src) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + +extern char *strncpy (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern char *strcat (char *__restrict __dest, const char *__restrict __src) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + +extern char *strncat (char *__restrict __dest, const char *__restrict __src, + size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int strcmp (const char *__s1, const char *__s2) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + +extern int strncmp (const char *__s1, const char *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int strcoll (const char *__s1, const char *__s2) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + +extern size_t strxfrm (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))) __attribute__ ((__access__ (__write_only__, 1, 3))); + + + +# 1 "/usr/include/x86_64-linux-gnu/bits/types/locale_t.h" 1 3 4 +# 22 "/usr/include/x86_64-linux-gnu/bits/types/locale_t.h" 3 4 +# 1 "/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h" 1 3 4 +# 27 "/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h" 3 4 +struct __locale_struct +{ + + struct __locale_data *__locales[13]; + + + const unsigned short int *__ctype_b; + const int *__ctype_tolower; + const int *__ctype_toupper; + + + const char *__names[13]; +}; + +typedef struct __locale_struct *__locale_t; +# 23 "/usr/include/x86_64-linux-gnu/bits/types/locale_t.h" 2 3 4 + +typedef __locale_t locale_t; +# 173 "/usr/include/string.h" 2 3 4 + + +extern int strcoll_l (const char *__s1, const char *__s2, locale_t __l) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); + + +extern size_t strxfrm_l (char *__dest, const char *__src, size_t __n, + locale_t __l) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 4))) + __attribute__ ((__access__ (__write_only__, 1, 3))); + + + + + +extern char *strdup (const char *__s) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); + + + + + + +extern char *strndup (const char *__string, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); +# 246 "/usr/include/string.h" 3 4 +extern char *strchr (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); +# 273 "/usr/include/string.h" 3 4 +extern char *strrchr (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); +# 293 "/usr/include/string.h" 3 4 +extern size_t strcspn (const char *__s, const char *__reject) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern size_t strspn (const char *__s, const char *__accept) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); +# 323 "/usr/include/string.h" 3 4 +extern char *strpbrk (const char *__s, const char *__accept) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); +# 350 "/usr/include/string.h" 3 4 +extern char *strstr (const char *__haystack, const char *__needle) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + + + +extern char *strtok (char *__restrict __s, const char *__restrict __delim) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + + + +extern char *__strtok_r (char *__restrict __s, + const char *__restrict __delim, + char **__restrict __save_ptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))); + +extern char *strtok_r (char *__restrict __s, const char *__restrict __delim, + char **__restrict __save_ptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))); +# 407 "/usr/include/string.h" 3 4 +extern size_t strlen (const char *__s) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); + + + + +extern size_t strnlen (const char *__string, size_t __maxlen) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); + + + + +extern char *strerror (int __errnum) __attribute__ ((__nothrow__ , __leaf__)); +# 432 "/usr/include/string.h" 3 4 +extern int strerror_r (int __errnum, char *__buf, size_t __buflen) __asm__ ("" "__xpg_strerror_r") __attribute__ ((__nothrow__ , __leaf__)) + + __attribute__ ((__nonnull__ (2))) + __attribute__ ((__access__ (__write_only__, 2, 3))); +# 458 "/usr/include/string.h" 3 4 +extern char *strerror_l (int __errnum, locale_t __l) __attribute__ ((__nothrow__ , __leaf__)); + + + +# 1 "/usr/include/strings.h" 1 3 4 +# 23 "/usr/include/strings.h" 3 4 +# 1 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h" 1 3 4 +# 24 "/usr/include/strings.h" 2 3 4 + + + + + + + + + + +extern int bcmp (const void *__s1, const void *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern void bcopy (const void *__src, void *__dest, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern void bzero (void *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 68 "/usr/include/strings.h" 3 4 +extern char *index (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); +# 96 "/usr/include/strings.h" 3 4 +extern char *rindex (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); + + + + + + +extern int ffs (int __i) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); + + + + + +extern int ffsl (long int __l) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); +__extension__ extern int ffsll (long long int __ll) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); + + + +extern int strcasecmp (const char *__s1, const char *__s2) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int strncasecmp (const char *__s1, const char *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + + + + + +extern int strcasecmp_l (const char *__s1, const char *__s2, locale_t __loc) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); + + + +extern int strncasecmp_l (const char *__s1, const char *__s2, + size_t __n, locale_t __loc) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 4))); + + + +# 463 "/usr/include/string.h" 2 3 4 + + + +extern void explicit_bzero (void *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) + __attribute__ ((__access__ (__write_only__, 1, 2))); + + + +extern char *strsep (char **__restrict __stringp, + const char *__restrict __delim) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + +extern char *strsignal (int __sig) __attribute__ ((__nothrow__ , __leaf__)); +# 489 "/usr/include/string.h" 3 4 +extern char *__stpcpy (char *__restrict __dest, const char *__restrict __src) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern char *stpcpy (char *__restrict __dest, const char *__restrict __src) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + +extern char *__stpncpy (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern char *stpncpy (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +# 539 "/usr/include/string.h" 3 4 + +# 7 "./src/tools_t/tools_t.h" 2 +# 1 "/usr/lib/gcc/x86_64-linux-gnu/11/include/stdbool.h" 1 3 4 +# 8 "./src/tools_t/tools_t.h" 2 +# 36 "./src/tools_t/tools_t.h" + +# 36 "./src/tools_t/tools_t.h" +int COMPARE_N_TYPE_CHAR(const void *,const void*); void COPY_ARRAY_TYPE_CHAR(char* dst, const char* src, size_t size); char MAX_ARRAY_TYPE_CHAR(const char *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_CHAR(const char *array, size_t size); char MIN_ARRAY_TYPE_CHAR(const char *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_CHAR(const char *array, size_t size); +int COMPARE_N_TYPE_U_CHAR(const void *,const void*); void COPY_ARRAY_TYPE_U_CHAR(unsigned char* dst, const unsigned char* src, size_t size); unsigned char MAX_ARRAY_TYPE_U_CHAR(const unsigned char *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_U_CHAR(const unsigned char *array, size_t size); unsigned char MIN_ARRAY_TYPE_U_CHAR(const unsigned char *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_U_CHAR(const unsigned char *array, size_t size); +int COMPARE_N_TYPE_INT(const void *,const void*); void COPY_ARRAY_TYPE_INT(int* dst, const int* src, size_t size); int MAX_ARRAY_TYPE_INT(const int *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_INT(const int *array, size_t size); int MIN_ARRAY_TYPE_INT(const int *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_INT(const int *array, size_t size); +int COMPARE_N_TYPE_U_INT(const void *,const void*); void COPY_ARRAY_TYPE_U_INT(unsigned int* dst, const unsigned int* src, size_t size); unsigned int MAX_ARRAY_TYPE_U_INT(const unsigned int *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_U_INT(const unsigned int *array, size_t size); unsigned int MIN_ARRAY_TYPE_U_INT(const unsigned int *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_U_INT(const unsigned int *array, size_t size); +int COMPARE_N_TYPE_L_INT(const void *,const void*); void COPY_ARRAY_TYPE_L_INT(long int* dst, const long int* src, size_t size); long int MAX_ARRAY_TYPE_L_INT(const long int *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_L_INT(const long int *array, size_t size); long int MIN_ARRAY_TYPE_L_INT(const long int *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_L_INT(const long int *array, size_t size); +int COMPARE_N_TYPE_U_L_INT(const void *,const void*); void COPY_ARRAY_TYPE_U_L_INT(unsigned long int* dst, const unsigned long int* src, size_t size); unsigned long int MAX_ARRAY_TYPE_U_L_INT(const unsigned long int *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_U_L_INT(const unsigned long int *array, size_t size); unsigned long int MIN_ARRAY_TYPE_U_L_INT(const unsigned long int *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_U_L_INT(const unsigned long int *array, size_t size); +int COMPARE_N_TYPE_SIZE_T(const void *,const void*); void COPY_ARRAY_TYPE_SIZE_T(size_t* dst, const size_t* src, size_t size); size_t MAX_ARRAY_TYPE_SIZE_T(const size_t *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_SIZE_T(const size_t *array, size_t size); size_t MIN_ARRAY_TYPE_SIZE_T(const size_t *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_SIZE_T(const size_t *array, size_t size); +int COMPARE_N_TYPE_FLOAT(const void *,const void*); void COPY_ARRAY_TYPE_FLOAT(float* dst, const float* src, size_t size); float MAX_ARRAY_TYPE_FLOAT(const float *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_FLOAT(const float *array, size_t size); float MIN_ARRAY_TYPE_FLOAT(const float *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_FLOAT(const float *array, size_t size); +int COMPARE_N_TYPE_DOUBLE(const void *,const void*); void COPY_ARRAY_TYPE_DOUBLE(double* dst, const double* src, size_t size); double MAX_ARRAY_TYPE_DOUBLE(const double *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_DOUBLE(const double *array, size_t size); double MIN_ARRAY_TYPE_DOUBLE(const double *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_DOUBLE(const double *array, size_t size); +int COMPARE_N_TYPE_L_DOUBLE(const void *,const void*); void COPY_ARRAY_TYPE_L_DOUBLE(long double* dst, const long double* src, size_t size); long double MAX_ARRAY_TYPE_L_DOUBLE(const long double *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_L_DOUBLE(const long double *array, size_t size); long double MIN_ARRAY_TYPE_L_DOUBLE(const long double *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_L_DOUBLE(const long double *array, size_t size); +int COMPARE_N_TYPE_STRING(const void *,const void*); void COPY_ARRAY_TYPE_STRING(char** dst, const char** src, size_t size); char* MAX_ARRAY_TYPE_STRING(const char* *array, size_t size); size_t ARG_MAX_ARRAY_TYPE_STRING(const char* *array, size_t size); char* MIN_ARRAY_TYPE_STRING(const char* *array, size_t size); size_t ARG_MIN_ARRAY_TYPE_STRING(const char* *array, size_t size); +# 2 "src/tools_t/tools_t.c" 2 +# 14 "src/tools_t/tools_t.c" +int +COMPARE_N_TYPE_STRING(const void *a,const void* b) +{ + return strcmp(( char*)a,( char*)b); +} + +void COPY_ARRAY_TYPE_STRING(char** dst, const char** src, size_t size) +{ + for(size_t i = 0; i < size; ++i) strcpy(dst[i],src[i]); +} + + +int COMPARE_N_TYPE_CHAR(const void *a, const void *b){ if (*(char*)a == *(char*)b) return 0; if (*(char*)a > *(char*)b) return 1; return -1; } void COPY_ARRAY_TYPE_CHAR(char *dst, const char *src, size_t size){ for(size_t i = 0; i < size; ++i) dst[i]=src[i]; } +int COMPARE_N_TYPE_U_CHAR(const void *a, const void *b){ if (*(unsigned char*)a == *(unsigned char*)b) return 0; if (*(unsigned char*)a > *(unsigned char*)b) return 1; return -1; } void COPY_ARRAY_TYPE_U_CHAR(unsigned char *dst, const unsigned char *src, size_t size){ for(size_t i = 0; i < size; ++i) dst[i]=src[i]; } +int COMPARE_N_TYPE_INT(const void *a, const void *b){ if (*(int*)a == *(int*)b) return 0; if (*(int*)a > *(int*)b) return 1; return -1; } void COPY_ARRAY_TYPE_INT(int *dst, const int *src, size_t size){ for(size_t i = 0; i < size; ++i) dst[i]=src[i]; } +int COMPARE_N_TYPE_U_INT(const void *a, const void *b){ if (*(unsigned int*)a == *(unsigned int*)b) return 0; if (*(unsigned int*)a > *(unsigned int*)b) return 1; return -1; } void COPY_ARRAY_TYPE_U_INT(unsigned int *dst, const unsigned int *src, size_t size){ for(size_t i = 0; i < size; ++i) dst[i]=src[i]; } +int COMPARE_N_TYPE_L_INT(const void *a, const void *b){ if (*(long int*)a == *(long int*)b) return 0; if (*(long int*)a > *(long int*)b) return 1; return -1; } void COPY_ARRAY_TYPE_L_INT(long int *dst, const long int *src, size_t size){ for(size_t i = 0; i < size; ++i) dst[i]=src[i]; } +int COMPARE_N_TYPE_U_L_INT(const void *a, const void *b){ if (*(unsigned long int*)a == *(unsigned long int*)b) return 0; if (*(unsigned long int*)a > *(unsigned long int*)b) return 1; return -1; } void COPY_ARRAY_TYPE_U_L_INT(unsigned long int *dst, const unsigned long int *src, size_t size){ for(size_t i = 0; i < size; ++i) dst[i]=src[i]; } +int COMPARE_N_TYPE_SIZE_T(const void *a, const void *b){ if (*(size_t*)a == *(size_t*)b) return 0; if (*(size_t*)a > *(size_t*)b) return 1; return -1; } void COPY_ARRAY_TYPE_SIZE_T(size_t *dst, const size_t *src, size_t size){ for(size_t i = 0; i < size; ++i) dst[i]=src[i]; } +int COMPARE_N_TYPE_FLOAT(const void *a, const void *b){ if (*(float*)a == *(float*)b) return 0; if (*(float*)a > *(float*)b) return 1; return -1; } void COPY_ARRAY_TYPE_FLOAT(float *dst, const float *src, size_t size){ for(size_t i = 0; i < size; ++i) dst[i]=src[i]; } +int COMPARE_N_TYPE_DOUBLE(const void *a, const void *b){ if (*(double*)a == *(double*)b) return 0; if (*(double*)a > *(double*)b) return 1; return -1; } void COPY_ARRAY_TYPE_DOUBLE(double *dst, const double *src, size_t size){ for(size_t i = 0; i < size; ++i) dst[i]=src[i]; } +int COMPARE_N_TYPE_L_DOUBLE(const void *a, const void *b){ if (*(long double*)a == *(long double*)b) return 0; if (*(long double*)a > *(long double*)b) return 1; return -1; } void COPY_ARRAY_TYPE_L_DOUBLE(long double *dst, const long double *src, size_t size){ for(size_t i = 0; i < size; ++i) dst[i]=src[i]; } +# 68 "src/tools_t/tools_t.c" +char MAX_ARRAY_TYPE_CHAR(const char *array, size_t size){ if(array == +# 68 "src/tools_t/tools_t.c" 3 4 +((void *)0) +# 68 "src/tools_t/tools_t.c" +) return 0; char mx =(char)array[0]; for(size_t i = 0; i < size; ++i) if(COMPARE_N_TYPE_CHAR(&mx,&array[i]) < 0) mx =(char)array[i]; return mx;} size_t ARG_MAX_ARRAY_TYPE_CHAR(const char *array, size_t size){ if(array == +# 68 "src/tools_t/tools_t.c" 3 4 +((void *)0) +# 68 "src/tools_t/tools_t.c" +) return 0; size_t i_mx = 0; for(size_t i = 0; i < size; ++i) if(COMPARE_N_TYPE_CHAR(&array[i_mx],&array[i]) < 0) i_mx = i; return i_mx;} char MIN_ARRAY_TYPE_CHAR(const char *array, size_t size){ if(array == +# 68 "src/tools_t/tools_t.c" 3 4 +((void *)0) +# 68 "src/tools_t/tools_t.c" +) return 0; char mn =(char)array[0]; for(size_t i = 0; i < size; ++i) if(COMPARE_N_TYPE_CHAR(&mn,&array[i]) > 0) mn =(char)array[i]; return mn;} size_t ARG_MIN_ARRAY_TYPE_CHAR(const char *array, size_t size){ if(array == +# 68 "src/tools_t/tools_t.c" 3 4 +((void *)0) +# 68 "src/tools_t/tools_t.c" +) return 0; size_t i_mn = 0; for(size_t i = 0; i < size; ++i) if(COMPARE_N_TYPE_CHAR(&array[i_mn],&array[i]) > 0) i_mn = i; return i_mn;} +unsigned char MAX_ARRAY_TYPE_U_CHAR(const unsigned char *array, size_t size){ if(array == +# 69 "src/tools_t/tools_t.c" 3 4 +((void *)0) +# 69 "src/tools_t/tools_t.c" +) return 0; unsigned char mx =(unsigned char)array[0]; for(size_t i = 0; i < size; ++i) if(COMPARE_N_TYPE_U_CHAR(&mx,&array[i]) < 0) mx =(unsigned char)array[i]; return mx;} size_t ARG_MAX_ARRAY_TYPE_U_CHAR(const unsigned char *array, size_t size){ if(array == +# 69 "src/tools_t/tools_t.c" 3 4 +((void *)0) +# 69 "src/tools_t/tools_t.c" +) return 0; size_t i_mx = 0; for(size_t i = 0; i < size; ++i) if(COMPARE_N_TYPE_U_CHAR(&array[i_mx],&array[i]) < 0) i_mx = i; return i_mx;} unsigned char MIN_ARRAY_TYPE_U_CHAR(const unsigned char *array, size_t size){ if(array == +# 69 "src/tools_t/tools_t.c" 3 4 +((void *)0) +# 69 "src/tools_t/tools_t.c" +) return 0; unsigned char mn =(unsigned char)array[0]; for(size_t i = 0; i < size; ++i) if(COMPARE_N_TYPE_U_CHAR(&mn,&array[i]) > 0) mn =(unsigned char)array[i]; return mn;} size_t ARG_MIN_ARRAY_TYPE_U_CHAR(const unsigned char *array, size_t size){ if(array == +# 69 "src/tools_t/tools_t.c" 3 4 +((void *)0) +# 69 "src/tools_t/tools_t.c" +) return 0; size_t i_mn = 0; for(size_t i = 0; i < size; ++i) if(COMPARE_N_TYPE_U_CHAR(&array[i_mn],&array[i]) > 0) i_mn = i; return i_mn;} +int MAX_ARRAY_TYPE_INT(const int *array, size_t size){ if(array == +# 70 "src/tools_t/tools_t.c" 3 4 +((void *)0) +# 70 "src/tools_t/tools_t.c" +) return 0; int mx =(int)array[0]; for(size_t i = 0; i < size; ++i) if(COMPARE_N_TYPE_INT(&mx,&array[i]) < 0) mx =(int)array[i]; return mx;} size_t ARG_MAX_ARRAY_TYPE_INT(const int *array, size_t size){ if(array == +# 70 "src/tools_t/tools_t.c" 3 4 +((void *)0) +# 70 "src/tools_t/tools_t.c" +) return 0; size_t i_mx = 0; for(size_t i = 0; i < size; ++i) if(COMPARE_N_TYPE_INT(&array[i_mx],&array[i]) < 0) i_mx = i; return i_mx;} int MIN_ARRAY_TYPE_INT(const int *array, size_t size){ if(array == +# 70 "src/tools_t/tools_t.c" 3 4 +((void *)0) +# 70 "src/tools_t/tools_t.c" +) return 0; int mn =(int)array[0]; for(size_t i = 0; i < size; ++i) if(COMPARE_N_TYPE_INT(&mn,&array[i]) > 0) mn =(int)array[i]; return mn;} size_t ARG_MIN_ARRAY_TYPE_INT(const int *array, size_t size){ if(array == +# 70 "src/tools_t/tools_t.c" 3 4 +((void *)0) +# 70 "src/tools_t/tools_t.c" +) return 0; size_t i_mn = 0; for(size_t i = 0; i < size; ++i) if(COMPARE_N_TYPE_INT(&array[i_mn],&array[i]) > 0) i_mn = i; return i_mn;} +unsigned int MAX_ARRAY_TYPE_U_INT(const unsigned int *array, size_t size){ if(array == +# 71 "src/tools_t/tools_t.c" 3 4 +((void *)0) +# 71 "src/tools_t/tools_t.c" +) return 0; unsigned int mx =(unsigned int)array[0]; for(size_t i = 0; i < size; ++i) if(COMPARE_N_TYPE_U_INT(&mx,&array[i]) < 0) mx =(unsigned int)array[i]; return mx;} size_t ARG_MAX_ARRAY_TYPE_U_INT(const unsigned int *array, size_t size){ if(array == +# 71 "src/tools_t/tools_t.c" 3 4 +((void *)0) +# 71 "src/tools_t/tools_t.c" +) return 0; size_t i_mx = 0; for(size_t i = 0; i < size; ++i) if(COMPARE_N_TYPE_U_INT(&array[i_mx],&array[i]) < 0) i_mx = i; return i_mx;} unsigned int MIN_ARRAY_TYPE_U_INT(const unsigned int *array, size_t size){ if(array == +# 71 "src/tools_t/tools_t.c" 3 4 +((void *)0) +# 71 "src/tools_t/tools_t.c" +) return 0; unsigned int mn =(unsigned int)array[0]; for(size_t i = 0; i < size; ++i) if(COMPARE_N_TYPE_U_INT(&mn,&array[i]) > 0) mn =(unsigned int)array[i]; return mn;} size_t ARG_MIN_ARRAY_TYPE_U_INT(const unsigned int *array, size_t size){ if(array == +# 71 "src/tools_t/tools_t.c" 3 4 +((void *)0) +# 71 "src/tools_t/tools_t.c" +) return 0; size_t i_mn = 0; for(size_t i = 0; i < size; ++i) if(COMPARE_N_TYPE_U_INT(&array[i_mn],&array[i]) > 0) i_mn = i; return i_mn;} +long int MAX_ARRAY_TYPE_L_INT(const long int *array, size_t size){ if(array == +# 72 "src/tools_t/tools_t.c" 3 4 +((void *)0) +# 72 "src/tools_t/tools_t.c" +) return 0; long int mx =(long int)array[0]; for(size_t i = 0; i < size; ++i) if(COMPARE_N_TYPE_L_INT(&mx,&array[i]) < 0) mx =(long int)array[i]; return mx;} size_t ARG_MAX_ARRAY_TYPE_L_INT(const long int *array, size_t size){ if(array == +# 72 "src/tools_t/tools_t.c" 3 4 +((void *)0) +# 72 "src/tools_t/tools_t.c" +) return 0; size_t i_mx = 0; for(size_t i = 0; i < size; ++i) if(COMPARE_N_TYPE_L_INT(&array[i_mx],&array[i]) < 0) i_mx = i; return i_mx;} long int MIN_ARRAY_TYPE_L_INT(const long int *array, size_t size){ if(array == +# 72 "src/tools_t/tools_t.c" 3 4 +((void *)0) +# 72 "src/tools_t/tools_t.c" +) return 0; long int mn =(long int)array[0]; for(size_t i = 0; i < size; ++i) if(COMPARE_N_TYPE_L_INT(&mn,&array[i]) > 0) mn =(long int)array[i]; return mn;} size_t ARG_MIN_ARRAY_TYPE_L_INT(const long int *array, size_t size){ if(array == +# 72 "src/tools_t/tools_t.c" 3 4 +((void *)0) +# 72 "src/tools_t/tools_t.c" +) return 0; size_t i_mn = 0; for(size_t i = 0; i < size; ++i) if(COMPARE_N_TYPE_L_INT(&array[i_mn],&array[i]) > 0) i_mn = i; return i_mn;} +unsigned long int MAX_ARRAY_TYPE_U_L_INT(const unsigned long int *array, size_t size){ if(array == +# 73 "src/tools_t/tools_t.c" 3 4 +((void *)0) +# 73 "src/tools_t/tools_t.c" +) return 0; unsigned long int mx =(unsigned long int)array[0]; for(size_t i = 0; i < size; ++i) if(COMPARE_N_TYPE_U_L_INT(&mx,&array[i]) < 0) mx =(unsigned long int)array[i]; return mx;} size_t ARG_MAX_ARRAY_TYPE_U_L_INT(const unsigned long int *array, size_t size){ if(array == +# 73 "src/tools_t/tools_t.c" 3 4 +((void *)0) +# 73 "src/tools_t/tools_t.c" +) return 0; size_t i_mx = 0; for(size_t i = 0; i < size; ++i) if(COMPARE_N_TYPE_U_L_INT(&array[i_mx],&array[i]) < 0) i_mx = i; return i_mx;} unsigned long int MIN_ARRAY_TYPE_U_L_INT(const unsigned long int *array, size_t size){ if(array == +# 73 "src/tools_t/tools_t.c" 3 4 +((void *)0) +# 73 "src/tools_t/tools_t.c" +) return 0; unsigned long int mn =(unsigned long int)array[0]; for(size_t i = 0; i < size; ++i) if(COMPARE_N_TYPE_U_L_INT(&mn,&array[i]) > 0) mn =(unsigned long int)array[i]; return mn;} size_t ARG_MIN_ARRAY_TYPE_U_L_INT(const unsigned long int *array, size_t size){ if(array == +# 73 "src/tools_t/tools_t.c" 3 4 +((void *)0) +# 73 "src/tools_t/tools_t.c" +) return 0; size_t i_mn = 0; for(size_t i = 0; i < size; ++i) if(COMPARE_N_TYPE_U_L_INT(&array[i_mn],&array[i]) > 0) i_mn = i; return i_mn;} +size_t MAX_ARRAY_TYPE_SIZE_T(const size_t *array, size_t size){ if(array == +# 74 "src/tools_t/tools_t.c" 3 4 +((void *)0) +# 74 "src/tools_t/tools_t.c" +) return 0; size_t mx =(size_t)array[0]; for(size_t i = 0; i < size; ++i) if(COMPARE_N_TYPE_SIZE_T(&mx,&array[i]) < 0) mx =(size_t)array[i]; return mx;} size_t ARG_MAX_ARRAY_TYPE_SIZE_T(const size_t *array, size_t size){ if(array == +# 74 "src/tools_t/tools_t.c" 3 4 +((void *)0) +# 74 "src/tools_t/tools_t.c" +) return 0; size_t i_mx = 0; for(size_t i = 0; i < size; ++i) if(COMPARE_N_TYPE_SIZE_T(&array[i_mx],&array[i]) < 0) i_mx = i; return i_mx;} size_t MIN_ARRAY_TYPE_SIZE_T(const size_t *array, size_t size){ if(array == +# 74 "src/tools_t/tools_t.c" 3 4 +((void *)0) +# 74 "src/tools_t/tools_t.c" +) return 0; size_t mn =(size_t)array[0]; for(size_t i = 0; i < size; ++i) if(COMPARE_N_TYPE_SIZE_T(&mn,&array[i]) > 0) mn =(size_t)array[i]; return mn;} size_t ARG_MIN_ARRAY_TYPE_SIZE_T(const size_t *array, size_t size){ if(array == +# 74 "src/tools_t/tools_t.c" 3 4 +((void *)0) +# 74 "src/tools_t/tools_t.c" +) return 0; size_t i_mn = 0; for(size_t i = 0; i < size; ++i) if(COMPARE_N_TYPE_SIZE_T(&array[i_mn],&array[i]) > 0) i_mn = i; return i_mn;} +float MAX_ARRAY_TYPE_FLOAT(const float *array, size_t size){ if(array == +# 75 "src/tools_t/tools_t.c" 3 4 +((void *)0) +# 75 "src/tools_t/tools_t.c" +) return 0; float mx =(float)array[0]; for(size_t i = 0; i < size; ++i) if(COMPARE_N_TYPE_FLOAT(&mx,&array[i]) < 0) mx =(float)array[i]; return mx;} size_t ARG_MAX_ARRAY_TYPE_FLOAT(const float *array, size_t size){ if(array == +# 75 "src/tools_t/tools_t.c" 3 4 +((void *)0) +# 75 "src/tools_t/tools_t.c" +) return 0; size_t i_mx = 0; for(size_t i = 0; i < size; ++i) if(COMPARE_N_TYPE_FLOAT(&array[i_mx],&array[i]) < 0) i_mx = i; return i_mx;} float MIN_ARRAY_TYPE_FLOAT(const float *array, size_t size){ if(array == +# 75 "src/tools_t/tools_t.c" 3 4 +((void *)0) +# 75 "src/tools_t/tools_t.c" +) return 0; float mn =(float)array[0]; for(size_t i = 0; i < size; ++i) if(COMPARE_N_TYPE_FLOAT(&mn,&array[i]) > 0) mn =(float)array[i]; return mn;} size_t ARG_MIN_ARRAY_TYPE_FLOAT(const float *array, size_t size){ if(array == +# 75 "src/tools_t/tools_t.c" 3 4 +((void *)0) +# 75 "src/tools_t/tools_t.c" +) return 0; size_t i_mn = 0; for(size_t i = 0; i < size; ++i) if(COMPARE_N_TYPE_FLOAT(&array[i_mn],&array[i]) > 0) i_mn = i; return i_mn;} +double MAX_ARRAY_TYPE_DOUBLE(const double *array, size_t size){ if(array == +# 76 "src/tools_t/tools_t.c" 3 4 +((void *)0) +# 76 "src/tools_t/tools_t.c" +) return 0; double mx =(double)array[0]; for(size_t i = 0; i < size; ++i) if(COMPARE_N_TYPE_DOUBLE(&mx,&array[i]) < 0) mx =(double)array[i]; return mx;} size_t ARG_MAX_ARRAY_TYPE_DOUBLE(const double *array, size_t size){ if(array == +# 76 "src/tools_t/tools_t.c" 3 4 +((void *)0) +# 76 "src/tools_t/tools_t.c" +) return 0; size_t i_mx = 0; for(size_t i = 0; i < size; ++i) if(COMPARE_N_TYPE_DOUBLE(&array[i_mx],&array[i]) < 0) i_mx = i; return i_mx;} double MIN_ARRAY_TYPE_DOUBLE(const double *array, size_t size){ if(array == +# 76 "src/tools_t/tools_t.c" 3 4 +((void *)0) +# 76 "src/tools_t/tools_t.c" +) return 0; double mn =(double)array[0]; for(size_t i = 0; i < size; ++i) if(COMPARE_N_TYPE_DOUBLE(&mn,&array[i]) > 0) mn =(double)array[i]; return mn;} size_t ARG_MIN_ARRAY_TYPE_DOUBLE(const double *array, size_t size){ if(array == +# 76 "src/tools_t/tools_t.c" 3 4 +((void *)0) +# 76 "src/tools_t/tools_t.c" +) return 0; size_t i_mn = 0; for(size_t i = 0; i < size; ++i) if(COMPARE_N_TYPE_DOUBLE(&array[i_mn],&array[i]) > 0) i_mn = i; return i_mn;} +long double MAX_ARRAY_TYPE_L_DOUBLE(const long double *array, size_t size){ if(array == +# 77 "src/tools_t/tools_t.c" 3 4 +((void *)0) +# 77 "src/tools_t/tools_t.c" +) return 0; long double mx =(long double)array[0]; for(size_t i = 0; i < size; ++i) if(COMPARE_N_TYPE_L_DOUBLE(&mx,&array[i]) < 0) mx =(long double)array[i]; return mx;} size_t ARG_MAX_ARRAY_TYPE_L_DOUBLE(const long double *array, size_t size){ if(array == +# 77 "src/tools_t/tools_t.c" 3 4 +((void *)0) +# 77 "src/tools_t/tools_t.c" +) return 0; size_t i_mx = 0; for(size_t i = 0; i < size; ++i) if(COMPARE_N_TYPE_L_DOUBLE(&array[i_mx],&array[i]) < 0) i_mx = i; return i_mx;} long double MIN_ARRAY_TYPE_L_DOUBLE(const long double *array, size_t size){ if(array == +# 77 "src/tools_t/tools_t.c" 3 4 +((void *)0) +# 77 "src/tools_t/tools_t.c" +) return 0; long double mn =(long double)array[0]; for(size_t i = 0; i < size; ++i) if(COMPARE_N_TYPE_L_DOUBLE(&mn,&array[i]) > 0) mn =(long double)array[i]; return mn;} size_t ARG_MIN_ARRAY_TYPE_L_DOUBLE(const long double *array, size_t size){ if(array == +# 77 "src/tools_t/tools_t.c" 3 4 +((void *)0) +# 77 "src/tools_t/tools_t.c" +) return 0; size_t i_mn = 0; for(size_t i = 0; i < size; ++i) if(COMPARE_N_TYPE_L_DOUBLE(&array[i_mn],&array[i]) > 0) i_mn = i; return i_mn;} +char* MAX_ARRAY_TYPE_STRING(const char* *array, size_t size){ if(array == +# 78 "src/tools_t/tools_t.c" 3 4 +((void *)0) +# 78 "src/tools_t/tools_t.c" +) return 0; char* mx =(char*)array[0]; for(size_t i = 0; i < size; ++i) if(COMPARE_N_TYPE_STRING(&mx,&array[i]) < 0) mx =(char*)array[i]; return mx;} size_t ARG_MAX_ARRAY_TYPE_STRING(const char* *array, size_t size){ if(array == +# 78 "src/tools_t/tools_t.c" 3 4 +((void *)0) +# 78 "src/tools_t/tools_t.c" +) return 0; size_t i_mx = 0; for(size_t i = 0; i < size; ++i) if(COMPARE_N_TYPE_STRING(&array[i_mx],&array[i]) < 0) i_mx = i; return i_mx;} char* MIN_ARRAY_TYPE_STRING(const char* *array, size_t size){ if(array == +# 78 "src/tools_t/tools_t.c" 3 4 +((void *)0) +# 78 "src/tools_t/tools_t.c" +) return 0; char* mn =(char*)array[0]; for(size_t i = 0; i < size; ++i) if(COMPARE_N_TYPE_STRING(&mn,&array[i]) > 0) mn =(char*)array[i]; return mn;} size_t ARG_MIN_ARRAY_TYPE_STRING(const char* *array, size_t size){ if(array == +# 78 "src/tools_t/tools_t.c" 3 4 +((void *)0) +# 78 "src/tools_t/tools_t.c" +) return 0; size_t i_mn = 0; for(size_t i = 0; i < size; ++i) if(COMPARE_N_TYPE_STRING(&array[i_mn],&array[i]) > 0) i_mn = i; return i_mn;} diff --git a/isgood b/isgood index 51e3be2e9840d59e0466d43bcd1a53a16e6740cb..0045f4ab715fd39d3bc723b1c72c3b10ee5a6b4b 100644 GIT binary patch literal 42456 zcmeHw3w%_?_5V#^5fMy4KolRVf(4Zb;VmEuWXVPeL`)D=y5zAT(apnTS3m`0d6aZX zMJ-kP6Q#c&wo0{PLF$_zkAOvt&jzU)71~8oj6vI|=>ETF=FEL%Z+w8XpUyOW-I@Qlx|{^0S{UvF4XJY+Y?5D#6Xk4+SHDktEF zc%(n>5O~7T^_qWoi7dtbcP!97Vvs0|W8r@VygLRz#ZfH&kq-D&2mA~NJWa<~`Ug7T z*8%UwkNqNl#?q7JfcHA!Hv#X)kNt`R;(R-j>ONooyj)*lacOR#_!hrbk{bw=dW`bakaMqhr> zjlRO%;($i_C@e>4>60@iO!Oru4bw|Qjbd`raLt#Io#`v^SNP`?R|fqR*_jgqWu^Y? z+`NDvhRrD{D`mrck~JnHx)zV9jKjb5Uq|t;su7e|9C(URB>&UZv$(h$WvEJ&3Af>{ zUn6`wXq4ut9y+u5WYWA0Wx7vycsIA(d4;4aJ5{~mPKl?vt9(V6MiXA;5W+`H_%4LttJ#DzRV>NAu3E$O(uQ%blneZoyCp>V%11CIi!UHEfaKZ!59ypwE&X?XrO`W}A*Ph!o z&AX&F7$2?oF5238ix7$qp9XYGwExur3Fm6WUqqCa10O`A(G{Xj8;X_#ujzH#*t8tj ztk-En({kWRy-pjAmIJ@l>$JgWIdGR=r;SC+fjjg%Z75m}+@#lOBhhjoSFh6sqUFF< zst#+<7S^U|!d}!@EhOuW`bt~9##Ucqt1qzCL$-Q}t?swgXW8mG=K7F-W>mlSQ*ZT$ z-bMSGv$8!yYKQFf){HwJZi@CA3eL|8lM>Edj80;JYR1h3##`f>MqqSnuos4|H|&+fkw&t+%=^azk%To3+KnvQn_rMP@-a__j|WzL!vXK+0}{pcd(jKv~or zx470KdwU!8r`Xj8S^YO(BZMu&H?Wi%~NE|ov1xeR*>#R4@L%G4yNS8K^bd1$V z2fqT%LPU!AwrOK0BIf9DkNZ8W~ zX9!o;bgL7+*bR#}iPEbH19lW9l-5SF6If?x0ja2np&|)52rkxD+-6nLT~~3LXc%UH zB{--9Q$&fv%qvQDXgKUjfJ)K)Texj%J2dC%LMk?Q;||a|{uuCF8VeD^UtK8%>1h#= z?|mhlc&~25HbLDkop^(CV#o`lDs-mRW~O0Cmcp#i1z^h5nQk>RB`79i#H9gU&c>}3 znPOOcHPZV4Z}ox(O!J#>fw47ERxMch_TueQEl8O>UEKN0bc?- z;;l{;z|ugLXaGb*`%}V-9Pnph$s#$|{{pqb8=lo__`-WfQzQE4t$twuGLN_VDYpPC zXA4kM1TeXJNx1+u^8gmt2Hgn*Jyi(S)*D_T^;3*JcLg&+DjZx3Ezn$G)_faq=&i7zza7knd#iII z%REP_797!nvk;l7b79<~+Bn3_2r7nMBMr8AH6(cGhZur57K zneo6qE(GT2jt{8Hm-;xt!+M^H$a6hYCT-kr~=7K4&*tv+Z|x z<$=DsD>qc?u6&e=Vb@v%^N_$OSC)H}E2~6_T)9Y;*p;2oTZ=2_7^<$9%4ZpvX%^)Z zbmbT5%G1rtAC-%caOI=OG{SQm$(3_^8?F?HLV<8{WwKf8Q-|Ae<$|W_5E79QnYM^5 zHr!ZJp}R4UieXp2ftevN%8dillp9Bj61j1#D6tziAyA|ne_seFWaSP~adO{bp_fg)x#cL_cj!z# z3X^U^`*KORfQn&PKLc}yz$o{9Jb_H5CE-g^q8@%NN^DaVg2Upz56X4rZ&NYs`m2H2 zB``|)^Sbg?y7J9tq$1T`|cMNC--eIYa98gqx(i-r-;}KH6s3y z2{P-E8FwK58j%r!7Yp%Ch6DduruXqfDu!Jj8JGrvfw)+^9!(`<$$`&^5;^dBQDO&< zr?pG0scU8Ytu|Dxl*)f?V8RyVx9ZBT*Ogb9m467Q!GW-)F7n}LqKxj;MV>uPxDX^! z{e!5I6YGI$uw}zCv&NQBj>?H&pP@(LBc-|%S5YzSdeFe!BQVN|1u4pjK~W+n&J`tg z;+K@8}{wzMJn%V zVB##wKfPQje_fPF`M*SomCumTCn9kM@|beshuukVi>kgMs!mSaZ`N4!Pe&&XpgZ&? z{F90BUVup*!lXuQTemo;8E!l)04roh>`uk7tA~L(NnljcY8a<_8WAPx=|NHAo|e)g zXO6{JZ`74b>FiQDaU3pkn{)Ab1cNu?TLFtZshKwj~>px2*t0*Um>V8pm z%8Cz~HJ;bx=*CekaAO4jWWt5GldcY--5h&fd=7UvyiuyYVNq*aF8?QENefwiaR}Qc&Ff|^x*k~?DjFcJPySG^P-f}92T{Q;g zX97c~6?8{*^%&*7d{H9r6^asj??AKi-m}tsR~V|sOXVpBX1GOpe_eSeUHL_3<;$TQ z4uUOpk>yBbdrNRQSkSL|@7R8kp$XK9t%(RmGx{tYO+nd6?zOElCtF%L;ONOw7Ei`r zs{5if4#^2cx>H9|G3**;UlCCII2jp-3bCsH`d z`5bo5COhFRKP(zX6oPC*~)J1wgskfSr#s&x`bQ+0O?vQ>hSX~K% zK>H{sT4Yi(*REuOuH<4}NwHbUU(lPF#!&~!jJ~>t3v~^h%o?iO(SXxT zq2!lBfckPsl*p+cjxhBlO*u83(wRI$W7g`W3c^4{IK^i*OKp{~V$-rTt`Qe9YU zJPn~v;EX$%;9cZtjT3BRJdG8v;vV_m#sM_WpWPx=iFxd4JvdDEj)pR_NS^A5&f>YF z=(Zs2G6;wlcw^CmRxPw`g>|%~V!BaY>9C2_~Se%zHYQ1#s1vuZPL-DXU6R&<9@g|Fl zUg}&ea0h#UWfb+N2AQ>br6|(K(#)ElD`r;YEgH&2q6PR$9@URoLdI6y^E9;?c@zdC z0k%0zKj}luiSluGWC;$mzMmt*qF>(4jU8xG&HVs9ua-To6HgR`i;K`zabB;_Wyw<0 zHU5}5KMvj|{p4-Y4tsl*?xR>s&)>2xnpie#u+?Y9tX&$fNH8;A-Y%5N(CKM3twSB6#JY6{=#EHDi`F zYoUk!BeTqP%TM93(PEtE_C^}Nf$A5_amSdChOI{vGZWwc?~j>>X33ao#>|#6^A8MN zteEk4Vv}>;$fGr`F5pwqpta}ORbu3GigrzHq8r~HsMHHi~NN3hIO?wY-;-M(q2*cv-#7UbR+OkWFHJjosLYZ{MHQ%CG9QtgkqM-}0=E8(eb{P4XG|D_2X^o zzY;2CKkjT_eWKL-C~*nrcv_>OKG6{Fv3oULqFaq_YLPX>M0eZdJw(f}_Eht{jxpQm zu`zAWgcfnw-4}{16VAH&sJ-4;Ic)kSxlwGAr8zZSO8jb>5WQC&Z9M{(`yrE$2spEr=&Zja;klSEoMc#dQwt4PnNmlmER z#{8h`Y2>n~$seYB0exY0!!uY+;a}SS<3Lf&@t2`!S-iCyZ?77R>fPAr&3nphNN_E{zdZS?o^{iVY1H9eP5u%j%)3puu?>q?12;)r`W ztX12FqRwe3Vp%%x`}W~`IsVx9!7DrA4dWi5-fNl>{e`<6sA@dUwJ>3C_5Frq2oH&x z+omB=w{|onV!GP~1$VKQxu#F^W8IKH=en z>tCjq7jrM9mmz0vKAdn#Ei!U4DRN*PVPRFlC}y5XqI1Hfo4?oS4drk&We7Skqzs`@ z2uB#47?14%HnHY)XNyxnws3a=6ARJb7W5ZoSExVUxJG|lWPe5DPP`cwUe)3A$vBfp z=fWS_<84MxR6SNG>M`1g$3Eq|_IR(jGu%7iy#sp(J=9Or-rKon!J&jddk$6Y>RMRs zY1&iLw0BlyPst(NcVeW)O@UeFMk!>SAMZzYmDU`$mYh5bUP~+ z0oh@J*$fQzcke}eM_EUAr)6~I{c{67!!o_n=xN3KjEfdDXd&J!OozG#TH8IJsDmv! zxWfrG-6_Xm=Lmv4?Y-`tBMEw*NwvO(XCV2bfx8McVs2${8mO?n!S`(aXN7>ncziYeS1E4ES}+HC5M zrAtPM_80yjmsG#{qqyW@JiK30yYN5ek|xpq4~vqUcmF6ZnJG>BkGW(IUIoCA{Gcew zf8|GU$s}pgv2{s4z)$m@&UkTdsPk$C6pr<7vM= zu}s|co&1xhEYcIp1hk1&Q{QSMr&5-sBl{)1(omY^MDs3QLvT(s8%Xf`Cz|i?uj#^! zg-7A9)BbW?{Pj3qW^m3z$IV|K3p0);zCPM{T>O+V$Hi%-!f8%-fIo2I z{2`IHAMf@Yb)DdVnooWx3(BeraTjHsd+HN0A=Y>)2sckm^Rl<__ zbY_m7x4sz%SG}RjvVcATJlzI(=zKx{E^=(`Q94f9*Zyt5Yk0Nl*sY*P5%vzZUo z!M7el|Bx+6ulL269o=TP1@8zPhiq1iH@BSQ>p1S)8u3cgQSaMc`15gb+AwKr`}qqS zF#cUn`fqol*?;0X;eit#IN^a49{B&!1IBM`mc6gUFRS*I`zuO9!Q5bRS!uF6=&uaA z@qV(ra!bpCMg9tRTfW>m^y{n(a|4z5<<&MVQppfa=&}=&+pu$^$!PLh+H=eHZq5z( z^2*8rPMU@~5r%zxzX}6oxj`*h5%Oz!TCO$(zW`ozW4I7?wC@sku6vxje|{I$f`laM zYvTbQF6m-tI(b7AO~;lW`Ym+XRiU4ngZZ!QT0Z`~SC)_e&HeX}?_a6)y>4)c*1wYe z)7(Skkd^0FR{9Ivg%xEb?*5hTE?uG*)OJbD4~B9BqUf1d?#~bU3q%FJQ+2ohCa@F-=R?Mg2(0wGG3X(GsWsgCz;Vf4UvBE6{o&DxT{n7FA=h zxk?*<=4BTR?RP$*N&b5LtOlPDBqT1v2k~2rdj?fL%u8e-M=0AOF$?6_|-^8`|}O? z$)I1+j(h<0%y#6LgI?B-{9~Y3fPNaF-v16=;>ZH>&o1Eoe{l9+6X->t-*2`*eud}& z$#=!)W*>llhMArv`{xGk642iP{jiztS=1qZzu|){@H~ojMEr>;HHPu6dK=}S{{rjD zS7sgYEjoP#=zgp#-7S6WtoLyp=+mEwMtfW6-2|O%tOtGax@h!DGaWW|7$;aX;`t0b zl~17=l^hi+@3wxgJ&z&U`xEx zSh%Dfin%KAtjGGChq4~i@iX;!SPlB;ps%vff2GrFL9f8NKEX^k&B;d4e+9aeehvGM zw?Us_mXDvR>vw~GDjsdkw9w_GAp285Pj81l8}usB=UU`Tb^TSK{}uG#Tj&q!^wpsM z6#JD7^H_995e}sGYeD}x_A$S-(3j}+M$kXU{^m}L{-wHp`lC<<*!Mhak$*s!cY}Ul zYcx94EPsO#*WAFRfPMt@$!2=|M9Bag*+_qgi}qC4T6kpQCHi8}f7%Xx4e0lQevL(b zir$B zeKF{xv6sBgLZ7D7*MJ@b9ZS9;pCQP?zgs~s1bv{HE}IwheV~_t9x&76^L70lvA{kD z`mGjvg--7WdhZ>v$C$=14fF}1JINP-zN#Jh#h~v5-N}DzK<|OQw3C0ff}RPwll(r= zf8CCJ$CL4Q&_JhsiIIbDH2M#E|CjN-qlKQW)6+oD1Kml!0Q8OR$S(%{a69sAKu`aR zbNgFCUkv&Ri+w-W?b`?XXP`U9Uq{?a48=XkJr?<2=<@wQ{~hQ~@@b&&Z%4iW^clF< zahiXNLB9)hryRcq^iy|7qc>aZE79%S3VH$PPV)Oe|DYZDj<^>ZiF++4`F@~p0Nttm zG|;=?p3F(U0Q8@O?j*k$^mjpDYw6!__5Q5^eGcyJmRjfwboy4%Ujf}oejn)9;9k&4 zzGGM1ql4}w-w*WkH=O0uKz|%`C;0-E!Pi^-zgG8uKhWvRey8@+K+ncKyOVqY=>GuS zNq#ZtnYhP)!P5Q)z5O+ye+;^l{8rGja3hI91zdNh`&aC>ovg+^1s=piSW;wb|r>j^3 z4O<&|@gXa173gXbn{Aw-%c}nOar<(86hm3eGfxyJ;l|BVK0UXu$WeUr^MiBPF&3l>AaXO+`@|MbcPW|DExhF zh_XA29feyTajEvt;kx4cDk}R2c7gha>oZti)SwH=X09hQ{R^(Ec3Ax}164J#RSo9x zPGOkEa5lqohE)t#FkH=W9m86Nv0HJ*s=rU1K5^n@?g2S@q0(T;J!DAIu%y9*hJ-|Q z$in30q`|`mGTK=eQE0e2YM(~!T;$g{P?mF`xS8QJz*zh=zVTY3whqr%%$FM#!qamX z^EH(5YJMqN1`2W7nOfosiBa<|N8o$w^F{IBh63qV^IPGU3I1OC{8M<^YsRwwNx|Pk zE6<2Y(=zO32Q*Og| z1wNJ@r}3h5{5U)nsuu^OXv}oQ($i1ypRU>G#US7{?KG`E-=qM=6v5v|&o7EP9rzv? zuV0Lo7;(0Q;th;{hZCoG&H(&v0t))|X14t#{B<&-`ch zmyF_k9>u>izRYXY6J`86oKO$5{vJr6)UU*05+Tk^Q9PgV8!6y%iL+S1;fz0ZvOsIf z&W~CDwseUX_x31`W`5t5690q*S{CqbE}Ov=tP^fpg*Z+Wtqypy^GJ%sh_e$E146&z zGT`mNcSpR9vc=ooY|j{;D9Ue-IOutX`Oh9BbVS3E}pOB3PayX*TCR-?5DepNG|3(s$;zxRxkI5jS32)x0k zO2e2xk>i}hTI}#D3#p&>m)d-%F(e@mvSR=NW&<7PoIQ{(9TIeh!J6{B~fx)T8>lpZOo- zfmLxBWqiUU$*=m=8}pRn+--~Vb9w$wxlHn3CxNz#^Tsz*Btqqf14=))tLz!hdfrd7 zwmTVkid%c$_+RF~m=O`p@935Y@!S^0RMHO#ZMMW?n8cOE{C9DDs`2$R{^4xN zx0LyBXZ#aCkqD)KCF39EI8k=4WxTroQGVFL_}2$XJ>t11ihpJNNf$}H%0C}7{;Y8l z&ta-X8NYwD#1~7T(feWKpEb0>!?jcbZ4l!h9V`)dGTy`ZZ`cn58Gjw)cb_g1UopN| z;JIP~w=w@tz7Y}cH-KKl_@8io3$RQd#(&Q1zKS1u7D)Ebv90eL8UGmjLFM6#I370g zI->OKV*Xn=pQv&92>3+I_j$^ZY!BUUsT^hMmNt#!xr+DI7c%h(>)*ujIg9b9abAkI zt#`#dUXiOM;|t86hYc$A_g9=amHp?kp7P<6QLURD*dD(};@7gCWadB577rfAU(E6L zd*+`FJo&-CZU&gYd!Tk?zdaZv2Z_?_&xVoBC6WW1jpsq~k#KX+zI zM&scvvQJTRPi|w{FLYI@iv_BurrJ8;q;+hF7zjAr`Xo7Y~bB&gBgtGaU9O;>{=$4 zvYrMUGQT>&>mg^=SmxpU()<2Qs zU&Y&e#;?7Y^|H35j4!@OB33c}UdF${28wsIh<0^;MQ}(`ndbB5<`w&bxpOoiDubcI z!lZnyz+d5?L+^c8_<|+A{6JZ$zY?4UWxhFqvOIjmP!KGusPyHA=4tt5CFKD>-Vje3 z9Gk;eSX^4{%dM!$o$vFP1}o-kg%!CaeqTYTq+~usOf?@kgBI4}O5dEavI3X{#!zX# z&zCgJC=NA>$wqOAQ5-D4LkL1%z7g-Mq|Zh2lZI%8st6u@kx}U*CZBK8wA4(G&od>> z=hJ*?GpD3xW=sS+eM*kc<7KKhZJOpwpFDL!>SW*4Nt3SjWc#vHCrtMEw24!*X8Ka6 zO-r5W%buC#@nuZO*67QGil9$?RDjNwm7xEAe@gn~j0qEc$w|pc!?oPWphWzHC?#D9+0#v!Sj8AF=2e#HpECsna~ZDYE-4%&u2X zne1b?m|Jf%X6?C-oT2&W`SU|Tzb`iskPfzb1is6dlCD*RN{PcqAF@>XAX6UHeEx#m zU~cShW9VBK`Qee%XEQWP2qXG(MQD{HB+XSLWb3gUY%v3A6as!DW@r>_UK73ZQGn&& z=*usY;Y6(?m2Z;!iqH^@e;{S%zF8 zomf^u0anmPT*aW!@U8JG8jE2l+0Wh$#ArhAo^`Ydjl_syl@n70dr7(OHF9%|X~R?6 zHUN5n#*olyMgH6ZA3PJw*`jY|U$^;!i&EyCk}~*Jq!A=JUqNM=uPC>)05jEQ4_j#q zDmCG!LPtSysV{^tuVgGL8`b#5@G{RXn@XNDw&vT0j=eiW#56NPM9agnRZ6o>%uo@g zHl>p$Pfg9XcT~=km|mv=R{HGo*`}I%QC?A88uVW2%P$L*RcIv;D$BRT19zT2)sqW? zeLk=v5zoRj7?3u_83?c25RFk`KS@5Dkahg0H>wk;{v>=$DId}@yR ze0i0XJSD`ew+~%1CA?v=bD^LmTT>_;iO)7;43X1(mcDUrd$97294HmTLQM5JMga5J z*aFxv!kQi&1Iw}!sk9^3L18gDCuZW1z2e9a?l zwVMqG+cm0;*Pa=)0nMM6ORFlr^t{Eol@nXoSgBdrN*hq@gJlXQsKzbUnkq+IORAh- z63op53|2^3q)JFN{)%!f37V%9zwBHx( zMY)wlT2jIMQZyl9utHL9_E%Km!)i;#2U>+ckV^twDh~v;B-*!YNhl`GDdR$=KVM4< z`sblaHvr%+6PuqTe-Ur_iwdAk)uay2K0-p3(Nu0pF_cMhq!ld*HytIom*9JxqXB&( z9EYEHRzlz3(4`dd&f$dkYiXBEa zQc=mP^MqpHNJO=--tSOw4`}Ag?*E%Wq<1Bhym~)EK{pF4`xT#p3qhxMFH~K3a+!sH!?xN)k=_|l2h;*o4h&? zR`5ozRe_RI*iANh_5PBA-4r83yZ^Sayc&OPHZwA;=lQ@`-EXS?3JT{Zn zH(&Pl_kw7VpCh^J8FsXFSjCUhxgQ0*rYzUixeY6Ww%1p^B8J>utF%lDp|PLh9_RS z%uvOSq{x3$sw7P0=ObsMO1VJUuktUBA9dTMg#0(_E(sr_Ro@kk;1NnJ MxX!c**s9w90|=QZH2?qr literal 42112 zcmeHQ34B!5)qe@A8cmR(hzoIN31JI}3rYwB6Pf@G6PK!e3|UC(WMMKgie@*B>( z=iGDdx#ymH-rZ($n=5s8WJH9fQa|lVjdF{INX!f-)c%4W0A^^@w3G4wNbMYLAoBeM zPSR&c0IEz4kybdE@%;daZ#X@KfoDmyrl8W0An`e+7_LA;Ek>3kz5(>ec{}`Kwk)Th zq8s%sl61`mvrd(G1h{WzB1-hu$2v=pt2{~gg(>Q zo_06^G)fBE`Er@h4rfU=O+l)I(!zHGSv{$50rSN#5@IwvtY$qFRP}uud}NodCe_X9 zT%S`vl(GF4WbjjsyN$ z2fXfpAMb#F1o$|7?CCTh!s+uY@NxFS$PdEjyfAoeX>p-Hpy_(%GOwPKSK#&KEzj2S zy*^)ICb00LOuabZ^#}BPZ(e~`9Pnr67YR^Qsuh(4inSbnb~Z|)Q07f~X6{XTjyKPz z75VcD0y$cy6hvak_oixdQd4Fo>yr`^ji$4LoOG(E+Wre|gQvzO!*2eSR1v}9jl zLAJ-c*hjT2$uBHmeRNqgY(es~e(-Tk*B2Mp^8H@xHDF9yi<79NrTr)K808Lh95~hjRmQh%r~0wYD^NP z$%H>i78U=un(%0dkvdFx8h0wKWjy%>`L;?wGvR4Gt8~8!FWy5;*l5Db@hl0OOn9n8 zrOhV1vIWs7~H9s|NT9T-p&BhOU`P&*+*H zf{oE5S5dha7@~ZNC_iN;fze0Y<*n|m?_cHK+R@J)vCX~vNFWvh2C#s^!Nwe67sXHg zw`w|(wUV(J?$y)Zri}-8`MZHAcg6I7Ak*~oBf(%(7L2`ZzyahVZUnDUKk+x;0wO(R zfDg_TvxPdm=_7QryWG{`uAmPdx1m*Q(+IhJGYV);zk+1(wDScM`wVyaiXB<*ivAal z5~{d5Cf2%Fuh^lLoG1!6zfb52*A5}n)riN&Kaop7Zqp4AiAr0+(5jW3ff~ok8k-_j zWzCOL+3l_-0Im5B$_QZ#FbG^t?ufeRr?fKHL3dR~qq_>Qd=ClUf4-*OSzCHe^i!^b z(NER7t72awez3HHg;YWR3>8_FF8P96c4(FpLyUX%^AYZH09R84_!`}px|*WzD1t4O zl<_2m2A8`cqa({bHda_9Frevb5V~ix_l#!3Og5X1f;6kmKK>T!L^EFfoSV`72=ObM z-EIhDn{923gb^yVa@T$~+kQ6No6>A&Rk-$-f0@x{sM-$A3}4*AWE2>b$v*$g!DQz{ zcyCPBfEpSMH~TlLv6}3~xzc3oNdeeL`%;r(d2a~meaO_O>JfvAoc6W+2SuQEiOOq|`y2cVOqyOtNtlD9V@4B20t!DEb(;n0d1O1>l~MghCYA z%3md}b?2a?DoP}(YSA;w>mn=9#{JT+~*tCqSIa0kKWdYP#cnHtJe zWKf+u+!55;jqVDn+EwR{*uf)V_t_M6qwl0Bz0I|SL^Tlip>t6VL&gZg9XyyWb=3u; z5mFl{q&B!Och&m;iU_=Ab!)_$+Q5}S!Zf1cJA}HT;yQPEBq)ea3lNbr%y9~GNi`~Q zXei{?k=#1SMX0`#;?8Q<4npmasB>f}LceWqTKcgt3yiqEDO)}_TKciGZ;Xc|;R2_~ z*O>GU@ZW;yRp$B_WFh)Ah(oJB{t|KQYPnQ-cvnjkq@KCj5GmHl)!IIyT1m9U)%FQA zT+8Thi>v(!2RBH$=y~PqC@V+wdP7rCzsnl!s2pe zl!eP-_6oSY>CMAdmm49ab#}Q%V%YAI(XEy;6c(yt#g;doF;AqHhoYRAHK|B91l4|R zBi*FVk?vGer29cz$o;-ApS$dSN95$wh;&tmDkk@fhq$i0-%6_7+5L1u?wR|YFGV}K zUw=b%C--aqP$=c(eqRhHPcdGuzoo3n{jMi&Q^Z>@r5$Vcn}lk=sqQzpHROJue;}TF z?0%;plA7G_5s2%$`vs};u*@XPTix$0DXr`7XIdrOqaPMPD*7!%wck|tD}OKKeka^oB+?O40t1GxO~O?AJDCSfA6%DqiK z_t^dJMi?=<-vo&3y8GQhm4|gdvGm9kYM6*QU3_JpC+Gs?0%;rfSKIy@prr9e*LKO zujVSk6Po<_fog4Z$nl^deX?k8$3kep8LcQD%Gex;N(MZdQsP%)lg;GxLcPcK_nWEpOlcoF7_BiS6C2mvn+aRTNcE5w>jh8KI<7I0jbf6Z8 z*>~w5T6tWCTEDj5H@Wk^%TUw4OZ4AD-q%k)ciH=bwtbgjh+ih}t7+_x_YI`V!+M_x zL;r-Zo(8|)30}wGS80egd!MLvspNF>z7q#nyzez}S{+*WzH`v(edkMQoxQKo?0vP$ z`$8uZVcgHO@Vy?@er?@vQfK!&)#QF_-wL_k8u{F1_p@*N{S;Bek0 z2UNLqzb3iDD2ox115xBAK{F!XHrL16p))|lhU0?4R0Vcr36w>ya(x^j5IBdwF+9HPKn}Te#1v}=gqA?>?V*qi5 z1?QDwyBrIPNF1`Y(ji+b9kTh~pn}$}fshW>Bs%rH)YVZu2E}k@b%KSiQiX%IcHPRh?AHZx%* zkE#Ki5ru-Lp+#rxc7@~6&PGu&U9(7oD`em>_hr;jMh<0CYR}rW7Fpd>>gMCDRE01U z#;0MYv#6CJbhoTTC(hKZYNaT<6_%=s`iUG-7{C!P<7$u1Xxp8P7E(m@qfNhV8SL2W z=aveJP+*vlgO4z+q;$)Q6WNMt7?`a1SCbXR$gtV*B_}&}QO|B!^S@co!_hJH%4-E2 z9G$Rrc@+Lr9(peIpQXU~t=%&0z=@{&$#@EM4hfypbnC65eVE-(&=O!I4_(MD1Q&!h%YJMFDXkHuTDC z^uI`jO>g33Z<5nR{VRK9l3QN;N=&i_R}1c}UHKm~$IgA?s$J|RYG2R;Jesqf(#)p!{cn!_G8fX|-p@0l25yCR1!#kG} z_pDp2k>!aBFxmpk#J_aOK8uw`MqrtVI?Z!J#8is1t(X&vbHNkWa@_}A`T$HiVh!~Hww7uj*M*ASsbZ~SY+ zpO1^Za&d*kIezufUbz^?nD=PdWouIL;*d)Q1>+7jM=&hKF>BCCR!38iLBuj5wTF?X__7;UalWM%J+cFE4;Vzm2kTjXouY0n8o zdg*DAJC2LdhDcqHZTRnrrwiRHec%c zpZBzFxYpBaPs@DqxEO7O)b$t{ZD3CH2epUt>E%hgOW67`Edb{5i&4#~Z3}>DLX%S3 zJjKl0*q}wJx{xf(3-mGIX&K<6{RR2$S$tP?%nQ9VoYL>;%Ybs+%sh5)(B2p>h-*A> zw_Y3W!>z}~a0{fm$KK;;YY^LZrU{$!I5h#XP1s6>CWgnEO4WsASv?MTS5uBVdS$JB z;`T&sFbG0Ht!42Ses9Zp39583`JM@-W^c8)mid+VUZ~mXl=4eVI8|t3_@2_025m@I zS4~*7<@lL!1#Y@_=M6gpJE$;!Np0sHRD4mt|K9fxc@cA5rBNhw|Vh1=0s0JLx z^2MATa>t{Q*9)733ZSiaQxHsdRI(t=TQ*~)yK36zM z_tv8AxV?i2(YwiR;~%?Zvff5Bx75|azmDSqe#=48d%ZK-@18j>MjI-1J-X2lgy?rh z#P8i0zi>m5sW0_epw9w*7U;7;p9T6X&}V`F9t+U#ImZ>_H>=~O$6Z(wcOrgqy5QnK zocP)4xXi+mf`IPz`@N-l9)9`l%zl?|?5Ak~n5X@*U~oU4*KG<0`{NG#Zvf8%Onf{T zd=dDwe;*7cB7Xy*2XO5Z!C(OJg_>Y+9pFb#27@(#qn{22>j75)wgbBU5Ddl+fLy>t zz$QQs;3mwy1Asxmb%57A3x2@ySn<^Zt^{lc+yfYk-w%8g+YgC=UjTXlGq9Nx033(i zuyug90@eW51J(mpV^6jn@H4V~f2XHxH0Pr=yb$}1!T&f1}6To`F zZ{u*U9dPt3;K!HemjNaM)&Y6|AHrdL0PrKgb%68gzz=xQYv2bg0c;063>b?aaGr`= zL5YCR0(t=Z)q@}Ke*o73?gOj=%=s($0iOVD2iy-BiywM+?*TvH-GCmz1Aqa*i{1b~ zpdYXX@M*w$z*8H*4|ok=EPfdK_kf9jUjTXlzq1$ofDZt!1B}Gg-WtF(zQ*8{!=*bZ3u7Wna%oOb~e0q?-P z-UHYH7y$eU7Dwv1el-z&Q59qu@4Hv)P9<8k~P0DK*A9pE+X;0L5%{;3D71Z)Sq9M?u-@pWQ+p^|) zvY3c7qXrFLi?4JM9>1xiaByCRcM9(Xep zLYC;&gntz6r5_Yi^nPO_s07h>;S-B^Guc8PW6)bbzZmhyi5>;M%Mh2G=<%SZ{T_CP z9HaioZwUpd{#4L!2YrX7{w+rRKHx{!1cUP}{Id=IO3<$b-AR5m=#`*5$=?Nf;#1D@ zTR_hQ{aQ=?^NsqW@O!N5L2p1gqkaAUV(1?a`ohi5@>4;-19T_(KG2^5-AR5W=>BJ% z%}C5oocQBG{~_p3{HdTn4f<%a{6!)Ce4y8Y z?laRPGmZKyL66!M45nDuQv3r1pQphd#|z3=Na^B z(60sEiGLU9_kzCA!avvGZvp*f(66)57Z~&?%!~VBzWqxJeVsv%2YnUjH(TiW20az@ zJxAg9fxd9JGk+!MzXjc?{%X)^9pF^|F3@iU-HE>i^iPh$ABB1Se5@lLwzO}9(Y|=l z_kw(cY*#s z=uY*wfW89jE+_t|C{23@bSM6J(EV7aIq|20-T=B2zYp{!SkF1}SAzZu=ucSe|FB{I zYS0&9{pZBL3v~L1v=e^|=+|Mr=)@m|b>SA!pR?3oW7HoH`VClLI`OB1{ygYT{65fi ztV^BvD?xt=^oK0<-)Gcc4SFipv1=^!?;G@8pl<@*iN6K(OR(;B;*Y|*c0K4${TC1V z7_66_^iKtSE$B}CKF~*EeI1UUn$(y2EYN3xJ`40&pw9w*7U;7;p9T6X@ZW9$_4jVo z-?yc$Pf9rwXjsz7#D^@H;)~RJwS;GIUi}?i{P7BruoWT_{+fVD>hI~&IR+&~|M!t# zA>}t=@0b#{5Jj574+A;hz;rCJMcTssc=JK&w{vk&DXaQeE)j|W={r%yA=L};gLcK>S=yhFA4 zMOGmLV5kUfxG|0u^-SPTg?;vO;F-^asf>T;5{VFd;&`0P_>t5>NXZgt*#gfQ6S$en zm*Fg%k~kX%{3YWbOBHDCE(x@!8Ncy-i4bQ&c%(BW(ldRM#4A191fH2qAR2*+$}bg% z1)3p$6ysyak&slqLm9t)mc&0SffmnruUjG>V|+63ar|rspCj(ZX^86VpNi%~JR*IL zOqUq32aHFZ!EJ|A1BL;vs65;Wc)Y8OE=k zCd;dMwSnV?#tl{Dw?N6~dX=7a0xxBl|9^+e|1C*kl|G*WPyT5i?+XS>JB&-0<&{4V z5_q#@`8$Xv#+zfvNUJy$V)^tlqR;>qR(gGX4-#TQxS(An;g$TKuG|4=-8xqQN962r~Y(lHSwzna31_5?G0KypCQ z7D)u$Qluj+=b>-Q{9TM6K1j-Wi~C*4AIJDTT(9!CnT)@Z%ez?4HH?37wpD%+;}7z< z7|rGHV!XI;1)TE#Cj_1gnZPzKKbXgzk7?I4{$o}|+5Z6JGdK>Y_|w7oF}C>pM;>>Z zISwm1r(o7hcD{?pud>gDjNdaxDx&0H1$+$VSHo@ZuUTCFywhZP6=!Z@{89`7N=lB# z{k4eabr(spwuZ}>a=)ne)OyChK3*17ayB#m%{VLmHO9yC0!iGtLXk+e&%YMP^3O@2 zrAJ9S{FDRyV~jt-a;`gHB2>L)Jl>bglz25C7|wRSkKdchf5rk&cC){yF5&ViaA`^$ zZnP^HUp8Ih)j0Jq{#;f>`FTF$&*S%<8ozWVP5m1=Qp!<&_%!2}TrKfR&Nl`7TaIdJCE^AJl++43FB|)xTNa6hw+Oi zTjg(J{5>2Guaji$TGq2*oR(-B#d^-D^dSCk)-^BKr!}`z} zHOc=C#|_o4JNW$`&jnS#Kf>jI%kO11j^1FrysV*V>iu$<@wGhORa`w4sOh?Q zah@LVF42G}4wU5NBxGt?+5YS$dBuTjzaGffGkt{x*~KWCRj4oV6)yJr^sGRkzgYK{ zEYmUz^NW1hf$Xe=3E@lVIe7(ne7QcmAmA_6a{S)>Y(1+aKfe?#rkswF>K?u_UHDrpN~h3w_1nN!MqmC#AV`*SuM}uIaO` zo0pW9l8l<>%*)VSZl=0trEB_})cG@$QuX<>XD@VlbWhUERF|%$EYugc($g|LNuHGX z^K{R33tW1Jp6pIa*OKQixK2+>Pfxl|qEqI1sJLKuyXL2-BwLE-__MQT%t=j|nXFGr zn3OQZF4~DNDSeKfmNL&=)54VRxO9(}obF2UxWeg|sT4l}lTYlQN0WGjarmK(17aZN z7kwFB_4m+7xB5Dp*TLDl=LMuon2^yOA!;By=;P?ajs$Z&w^~HDyi1+JmX}I(iqo=g zyQdot;S_t>PjyU7cqV8Yu&lb6#i-e?WeyY0Nz_<$s#V1APHz<99T4Z#Hizyo+Sny4 zI=P@B#Ytx#6S|(c%uCY-PFKb+07Ne48ri`OijVPY$EzZ>v zvPuh3g@ggWq}-hCFUFF>lF>o)XZyUwz)wZKfR;e36Db`=4wOmluZ*Tv-%s-RMsrwHKHkkOyW_JD!z>!``zOi4z`zGYy=4AJu zUw~-lk7GUs?>95!S#8HC_>hgimI(@~a!QQKE4azVU&jOm*D6Maici5m*!b1Hv4T}< zqt(W*#BQX7I8s_V>zpUo&OaO$o`5yevvGxU^R~?iS0c8 z_km#MZ^)D-6|BVFd~;I%qj2xyfr_YV)P165D`W|Kd6if2LllcP@vD0jtGdYl1$fDK zRsHH-LK*Y7Qsa;)eo#{Ns{a2Sa8yL`tNTXFZllupUX29C|B7G1fnYZC8|QJWB#Wv? z2~d109|dN@sruFaZ_FxL!d{;0GN&P2{{%A<&x)V7V-2d}H$&w+Mj<@RSS53H-2Z1I xI}9JCkBYz8{x)=%9Pperm, size);\ + | ~^~~~~~ + | | + | char ** +src/permutation_t/permutation_t.c:77:1: note: in expansion of macro ‘GENERATE_PERMUTATION_FUNCTIONS’ + 77 | GENERATE_PERMUTATION_FUNCTIONS(TYPE_STRING) + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +In file included from ./src/permutation_t/permutation_t.h:4, + from src/permutation_t/permutation_t.c:1: +./src/tools_t/tools_t.h:29:49: note: expected ‘const char **’ but argument is of type ‘char **’ + 29 | void COPY_ARRAY_##type(type* dst, const type* src, size_t size);\ + | ~~~~~~~~~~~~^~~ +./src/tools_t/tools_t.h:46:1: note: in expansion of macro ‘GENERATE_ALL’ + 46 | GENERATE_ALL(TYPE_STRING) + | ^~~~~~~~~~~~ +src/permutation_t/permutation_t.c: In function ‘IS_PERMUTATION_TYPE_STRING’: +src/permutation_t/permutation_t.c:60:75: warning: passing argument 1 of ‘TRANSLATE_TO_SET_THEORIC_SIZE_T_TYPE_STRING’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] + 60 | PERMUTATION_TYPE_SIZE_T *t_p = TRANSLATE_TO_SET_THEORIC_SIZE_T_##type(p);\ + | ^ +src/permutation_t/permutation_t.c:77:1: note: in expansion of macro ‘GENERATE_PERMUTATION_FUNCTIONS’ + 77 | GENERATE_PERMUTATION_FUNCTIONS(TYPE_STRING) + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src/permutation_t/permutation_t.c:33:88: note: expected ‘PERMUTATION_TYPE_STRING *’ but argument is of type ‘const PERMUTATION_TYPE_STRING *’ + 33 | PERMUTATION_TYPE_SIZE_T * TRANSLATE_TO_SET_THEORIC_SIZE_T_##type(PERMUTATION_##type *p ){\ + | ~~~~~~~~~~~~~~~~~~~~^ +src/permutation_t/permutation_t.c:77:1: note: in expansion of macro ‘GENERATE_PERMUTATION_FUNCTIONS’ + 77 | GENERATE_PERMUTATION_FUNCTIONS(TYPE_STRING) + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +In file included from src/set_theoric_t/set_theoric_t.c:2: +./src/set_theoric_t/set_theoric_t.h:13:18: warning: parameter names (without types) in function declaration + 13 | typedef struct SET_THEORIC_##type SET_THEORIC_##type; \ + | ^~~~~~~~~~~~ +./src/set_theoric_t/set_theoric_t.h:17:1: note: in expansion of macro ‘GENERATE_UNSIGNED_SET_THEORIC’ + 17 | GENERATE_UNSIGNED_SET_THEORIC(TYPE_U_CHAR) + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +./src/set_theoric_t/set_theoric_t.h:13:18: warning: parameter names (without types) in function declaration + 13 | typedef struct SET_THEORIC_##type SET_THEORIC_##type; \ + | ^~~~~~~~~~~~ +./src/set_theoric_t/set_theoric_t.h:18:1: note: in expansion of macro ‘GENERATE_UNSIGNED_SET_THEORIC’ + 18 | GENERATE_UNSIGNED_SET_THEORIC(TYPE_U_INT) + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +./src/set_theoric_t/set_theoric_t.h:13:18: warning: parameter names (without types) in function declaration + 13 | typedef struct SET_THEORIC_##type SET_THEORIC_##type; \ + | ^~~~~~~~~~~~ +./src/set_theoric_t/set_theoric_t.h:19:1: note: in expansion of macro ‘GENERATE_UNSIGNED_SET_THEORIC’ + 19 | GENERATE_UNSIGNED_SET_THEORIC(TYPE_U_L_INT) + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +./src/set_theoric_t/set_theoric_t.h:13:18: warning: parameter names (without types) in function declaration + 13 | typedef struct SET_THEORIC_##type SET_THEORIC_##type; \ + | ^~~~~~~~~~~~ +./src/set_theoric_t/set_theoric_t.h:20:1: note: in expansion of macro ‘GENERATE_UNSIGNED_SET_THEORIC’ + 20 | GENERATE_UNSIGNED_SET_THEORIC(TYPE_SIZE_T) + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/set_theoric_t/set_theoric_t.c b/src/set_theoric_t/set_theoric_t.c index fd12aa4..cdc4d01 100644 --- a/src/set_theoric_t/set_theoric_t.c +++ b/src/set_theoric_t/set_theoric_t.c @@ -1,22 +1,25 @@ #include "src/set_theoric_t/set_theoric_t.h" -#define GENERATE_UNSIGNED_SET_THEORIC(type)\ - SET_THEORIC_##type * CREATE_SET_THEORIC_##type(size_t id){\ - if(id == 0) return NULL;\ - SET_THEORIC_##type *ret_set = malloc(sizeof(SET_THEORIC_##type));\ - ret_set->id = id;\ - ret_set->set = malloc(id*sizeof(type));\ - for(type i = 0; i < id; ++i) ret_set->set[i]=i;\ - return ret_set; }\ -\ - bool IS_SET_THEORIC_##type(SET_THEORIC_##type *st){\ - for(type i = 0; i < st->id; ++i){\ - if(st->set[i] != i) return false;\ - return true; } }\ +#define GENERATE_SET_THEORIC(type) \ + SET_THEORIC_##type * CREATE_SET_THEORIC_##type(size_t id){ \ + if(id == 0) return NULL; \ + SET_THEORIC_##type *ret_set = malloc(sizeof(SET_THEORIC_##type)); \ + ret_set->id = id; \ + ret_set->set = malloc(id*sizeof(type)); \ + for(type i = 0; i < id; ++i) ret_set->set[i]=i; \ + return ret_set; \ + } \ + \ + bool IS_SET_THEORIC_##type(SET_THEORIC_##type *st){ \ + for(type i = 0; i < st->id; ++i){ \ + if(st->set[i] != i) return false; \ + return true; \ + } \ + } \ -GENERATE_UNSIGNED_SET_THEORIC(TYPE_U_CHAR) -GENERATE_UNSIGNED_SET_THEORIC(TYPE_U_INT) -GENERATE_UNSIGNED_SET_THEORIC(TYPE_U_L_INT) -GENERATE_UNSIGNED_SET_THEORIC(TYPE_SIZE_T) +GENERATE_SET_THEORIC(TYPE_U_CHAR) +GENERATE_SET_THEORIC(TYPE_U_INT) +GENERATE_SET_THEORIC(TYPE_U_L_INT) +GENERATE_SET_THEORIC(TYPE_SIZE_T) diff --git a/src/set_theoric_t/set_theoric_t.h b/src/set_theoric_t/set_theoric_t.h index 47780e7..2fda0bb 100644 --- a/src/set_theoric_t/set_theoric_t.h +++ b/src/set_theoric_t/set_theoric_t.h @@ -5,13 +5,14 @@ #include "src/tools_t/tools_t.h" -#define GENERATE_UNSIGNED_SET_THEORIC(type)\ - struct SET_THEORIC_##type{\ - type id;\ - type *set;};\ - typedef struct SET_THEORIC_##type SET_THEORIC_##type; \ - SET_THEORIC_##type * CREATE_SET_THEORIC_##type(TYPE_##type);\ - bool IS_SET_THEORIC_##type(SET_THEORIC_##type *st);\ +#define GENERATE_UNSIGNED_SET_THEORIC(type) \ + struct SET_THEORIC_##type{ \ + type id; \ + type *set; \ + }; \ + typedef struct SET_THEORIC_##type SET_THEORIC_##type; \ + SET_THEORIC_##type * CREATE_SET_THEORIC_##type(TYPE_##type); \ + bool IS_SET_THEORIC_##type(SET_THEORIC_##type *st); \ GENERATE_UNSIGNED_SET_THEORIC(TYPE_U_CHAR) GENERATE_UNSIGNED_SET_THEORIC(TYPE_U_INT) diff --git a/src/test_t/is_good.c b/src/test_t/is_good.c index 0f8527a..1bf676f 100644 --- a/src/test_t/is_good.c +++ b/src/test_t/is_good.c @@ -1,13 +1,77 @@ #include #include +#include -#include "src/permutation_t/permutation_t.h" +#include "src/test_t/test_t.h" +//#include "src/permutation_t/permutation_t.h" +TEST(size_permutation2){ + printf("another size_permutation2 again\n"); + ASSERT_TRUE(false); +} -int main(){ +TEST(size_permutation) +{ +/* PERMUTATION_TYPE_CHAR *p = CREATE_PERMUTATION_TYPE_CHAR(3); printf(" size = %u \n",p->size); + if(p->size == 3) print_OK_with_msg_endl(" FF yeah GOOD test size passed "); + else print_KO_with_msg_endl("NOT GOOD test size not passed "); +*/ + printf("test size_permutation2\n"); +} +TEST(size_permutation2){ + printf("another size_permutation2 again false\n"); + bool val_bool = false; + ASSERT_TRUE(val_bool); +} +TEST(size_permutation2) +{ + printf("test size_permutation2\n"); + bool val_bool = true; + ASSERT_FALSE(val_bool); +/* + PERMUTATION_TYPE_CHAR *p = CREATE_PERMUTATION_TYPE_CHAR(3); + + printf(" size = %u \n",p->size); + if(p->size == 3) print_OK_with_msg_endl(" FF yeah GOOD test size passed "); + else print_KO_with_msg_endl("NOT GOOD test size not passed "); +*/ +} +TEST(size_permutation2){ + printf("another size_permutation2 float\n"); + ASSERT_TRUE(true); + float a = 1.1; + float b = 1.1; + ASSERT_EQ_TYPE_FLOAT(a,b); + b=1.10001; + ASSERT_EQ_TYPE_FLOAT(a,b); + ASSERT_EQ_TYPE_FLOAT(1.2,b); +} +TEST(){ + unsigned char c = 'a'; + printf("another size_permutation2, a = %c\n",c); + ASSERT_FALSE(true); + ASSERT_TRUE(true); + ASSERT_TRUE(true); +} + +//END_TEST(size_permutation) + +//INIT() + + +int main(){ + //p_fonction_l=malloc(sizeof(p_fonction_l)); + //init_test(); + + run_all_tests(); + + //run_some_tests(8, 1, 2, 2, 3, 3, 0, 4, 1); + //run_some_tests(8, 5, 7, 1, 1, 1, 1, 1, 1); + //run_some_tests_one_by_one(3, 1, 2, 2); + //run_all_tests_exept(2, 1, 3); return 0; } diff --git a/src/test_t/test_t.c b/src/test_t/test_t.c new file mode 100644 index 0000000..d115cac --- /dev/null +++ b/src/test_t/test_t.c @@ -0,0 +1,310 @@ +#include "src/test_t/test_t.h" + + +#define DEFAULT_K "\033[0m" //Resets the text to default color +#define GREEN_K "\033[0;32m" +#define RED_K "\033[0;31m" + + +#define HK_EQ "[==========]" +#define HK_TR "[----------]" +#define HK_RN "[RUN ]" +#define HK_DN "[ DONE]" +#define HK_OK "[ OK ]" +#define HK_FL "[ FAILED ]" + +#define INCR_PASS_CNT ++count_passed; ++count_passed_local; +#define INCR_FAIL_CNT ++count_failed; ++count_failed_local; + +struct failed_lists{ + char *name; + struct failed_lists *next; +} *failed_l = NULL; + +void append_failed_list(const char *name_failed){ + static struct failed_lists *failed_static = NULL; + if(failed_static == NULL){ + failed_l = malloc(sizeof(struct failed_lists)); + failed_l->name = malloc(strlen(name_failed)); + strcpy(failed_l->name, name_failed); + failed_l->next = NULL; + failed_static = failed_l; + } + else{ + struct failed_lists *tmp = malloc(sizeof(struct failed_lists)); + tmp->name = malloc(strlen(name_failed)); + strcpy(tmp->name, name_failed); + tmp->next = NULL; + failed_static->next = tmp; + failed_static = tmp; + } +} + + +size_t count_tests = 0; + +size_t count_passed = 0; +size_t count_passed_local = 0; + +size_t count_failed = 0; +size_t count_failed_local = 0; + + +struct func f_beging; + + +void vprintf_colored(char *color, char *format, ...) { + va_list args; + printf("%s",color); + va_start(args, format); + vprintf(format, args); + va_end(args); + printf(DEFAULT_K); +} + +void printHK_color(char *color, char *HK, char * format, ...){ + printf("%s%s%s",color, HK, DEFAULT_K); + va_list args; + va_start(args, format); + vprintf(format, args); + va_end(args); +} + +#define ASSERT_EXPECT_FROM(expect, not_expect) \ +bool assert_##expect##_from(bool val, const char * var_name, const char *func_name){ \ + if(val == expect) { \ + INCR_PASS_CNT; \ + printHK_color(GREEN_K,HK_TR," 1 test passed from %s \n\n",func_name); \ + return true; \ + }else { \ + INCR_FAIL_CNT; \ + printHK_color(RED_K,HK_TR," 1 test failed from %s \n",func_name); \ + append_failed_list(func_name); \ + printf("Value of: %s\nActual: %s\nExpected: %s\n\n",#not_expect, #expect, var_name); \ + return false; \ + } \ +} + +ASSERT_EXPECT_FROM(true,false) +ASSERT_EXPECT_FROM(false,true) + +#define ASSERT_EQ_TYPE(type)\ +bool assert_eq_##type(type var1, type var2, \ + const char *var1_name, const char *var2_name, const char *func_name){ \ + if(COMPARE_N_##type(&var1, &var2) == 0){ \ + INCR_PASS_CNT; \ + printHK_color(GREEN_K,HK_TR," 1 test passed from %s \n\n",func_name); \ + return true; \ + }else { \ + INCR_FAIL_CNT; \ + printHK_color(RED_K,HK_TR," 1 test failed from %s \n",func_name); \ + append_failed_list(func_name); \ + printf("Expected equality of these values:\n %s\n\tWhich is: %s\n %s\n\tWhich is: %s\n\n"\ + ,var1_name, type##_TO_STR(var1), var2_name, type##_TO_STR(var1)); \ + return false; \ + } \ +} + +ASSERT_EQ_TYPE(TYPE_CHAR) +ASSERT_EQ_TYPE(TYPE_U_CHAR) +ASSERT_EQ_TYPE(TYPE_INT) +ASSERT_EQ_TYPE(TYPE_U_INT) +ASSERT_EQ_TYPE(TYPE_L_INT) +ASSERT_EQ_TYPE(TYPE_U_L_INT) +ASSERT_EQ_TYPE(TYPE_SIZE_T) +ASSERT_EQ_TYPE(TYPE_FLOAT) +ASSERT_EQ_TYPE(TYPE_DOUBLE) +ASSERT_EQ_TYPE(TYPE_L_DOUBLE) +ASSERT_EQ_TYPE(TYPE_STRING) + + +void +append_func(void (*run)(void), char *name){ + static struct func *f_static = NULL; + if(f_static == NULL){ + f_static = &f_beging; + f_static->name = malloc(strlen(name)); + strcpy(f_static->name,name); + f_static->run = run; + f_static->next = NULL; + } + else{ + struct func *tmp = malloc(sizeof(struct func)); + tmp->run = run; + tmp->name = malloc(strlen(name)); + strcpy(tmp->name,name); + tmp->next = NULL; + f_static->next = tmp; + f_static = tmp; + } + ++count_tests; +} + +void begin_execute_func(char *fun_ame){ + vprintf_colored(GREEN_K,HK_RN); + printf(" %s\n", fun_ame); + count_passed_local = 0; + count_failed_local = 0; +} +void end_execute_func(char *fun_ame){ + if(count_passed_local){ + printHK_color(GREEN_K,HK_DN," %lu tests passed from %s\n",count_passed_local,fun_ame); + } + if(count_failed_local){ + printHK_color(RED_K, HK_DN, " %lu tests failed from %s\n",count_failed_local,fun_ame); + } +} + +void head_run(size_t nbtest){ + printHK_color(GREEN_K, HK_EQ," Running %lu tests.\n",nbtest); +} + +void list_failed_test(struct failed_lists *failed_lst){ + printHK_color(RED_K, HK_FL," %s\n",failed_lst->name); + if(failed_lst->next) list_failed_test(failed_lst->next); +} + + +void +stat_end_run(){ + if(failed_l != NULL){ + printHK_color(RED_K, HK_FL," %lu tests, listed below:\n",count_failed); + list_failed_test(failed_l); + } +} + +bool is_in_array(size_t *array, size_t sz, size_t num){ + bool found = false; + for(size_t i = 0; i < sz; ++i){ + if(array[i] == num){ + found = true; + break; + } + } + return found; +} + +void execute_all(struct func *fun){ + struct func *tmp = fun; + //printHK_color(GREEN_K, HK_EQ," Running %lu tests.\n",count_tests); + while(tmp){ + begin_execute_func(tmp->name); + tmp->run(); + end_execute_func(tmp->name); + tmp = tmp->next; + } +} + +void execute_one_test(struct func *fun, size_t num){ + size_t cur = 0; + struct func *tmp = fun; + while(tmp){ + if(cur++ == num){ + begin_execute_func(fun->name); + fun->run(); + end_execute_func(fun->name); + } + tmp = tmp->next; + } +} + + +void execute_some_tests_ordered(struct func *fun, size_t cnt, size_t *array ) +{ + struct func *tmp = fun; + size_t cur = 0, index = 0; + + while(tmp){ + if((cur < cnt) && (index++ == array[cur])){ + begin_execute_func(tmp->name); + tmp->run(); + end_execute_func(tmp->name); + ++cur; + } + tmp = tmp->next; + } +} + +void +run_some_tests(size_t cnt, ...) +{ + head_run(cnt); + va_list args; + va_start(args, cnt); + for(size_t i=0; i < cnt; ++i){ + execute_one_test(&f_beging, va_arg(args, size_t)); + } + va_end(args); + stat_end_run(); +} + +void +run_some_tests_ordered(size_t cnt, ... ) +{ + head_run(cnt); + va_list args; + va_start(args, cnt); + size_t *array=malloc(cnt*sizeof(size_t)); + for(size_t i=0; i < cnt; ++i){ + array[i] = va_arg(args, size_t); + } + + execute_some_tests_ordered(&f_beging, cnt, array); + va_end(args); + stat_end_run(); +} + + + + +void execute_all_tests_exept(struct func *fun, size_t cnt, size_t *array ) +{ + struct func *tmp = fun; + size_t cur = 0; + while(tmp){ + if(!is_in_array(array, cnt, cur++)){ + begin_execute_func(tmp->name); + tmp->run(); + end_execute_func(tmp->name); + } + tmp = tmp->next; + } +} + +void +run_all_tests_exept(size_t cnt, ... ) +{ + if(count_tests >= cnt) + head_run(count_tests - cnt); + va_list args; + va_start(args, cnt); + size_t *array=malloc(cnt*sizeof(size_t)); + for(size_t i=0; i < cnt; ++i){ + array[i] = va_arg(args, size_t); + } + + execute_all_tests_exept(&f_beging, cnt, array); + va_end(args); + stat_end_run(); +} + + +void +run_all_tests() +{ + head_run(count_tests); + execute_all(&f_beging); + stat_end_run(); +} + +void +clear_all_func(struct func **fun) +{ + if(*fun != NULL) + { + clear_all_func(&((*fun)->next)); + free(*fun); + *fun = NULL; + } +} + diff --git a/src/test_t/test_t.c.bk b/src/test_t/test_t.c.bk new file mode 100644 index 0000000..90bfad9 --- /dev/null +++ b/src/test_t/test_t.c.bk @@ -0,0 +1,129 @@ +#include "src/test_t/test_t.h" + +#define CHANGE_TO_DEFAULT_COLOR_IN_TERMINAL printf("\033[0m"); //Resets the text to default color +#define CHANGE_COLOR_TO_GREEN_IN_TERMINAL printf("\033[0;32m"); // Green +#define CHANGE_COLOR_TO_RED_IN_TERMINAL printf("\033[0;31m"); // Red + +#define PRINT_HOOK_WITH_EQ_SYMBOLE \ + printf("["); for(size_t i = 0; i< SIZE_OK; ++i) printf("="); printf("]"); + +//static function_list *p_f_l; +function_list *p_f_l; + +void +print_OK() +{ + CHANGE_COLOR_TO_GREEN_IN_TERMINAL + PRINT_HOOK_WITH_EQ_SYMBOLE + CHANGE_TO_DEFAULT_COLOR_IN_TERMINAL + printf("OK "); +} + +void +print_KO() +{ + CHANGE_COLOR_TO_GREEN_IN_TERMINAL + PRINT_HOOK_WITH_EQ_SYMBOLE + CHANGE_TO_DEFAULT_COLOR_IN_TERMINAL + printf("KO "); +} + +void +print_OK_with_msg(char *msg) +{ + print_OK(); + printf(" %s ",msg); +} +void +print_KO_with_msg(char *msg) +{ + print_KO(); + printf(" %s ",msg); +} +void +print_OK_with_msg_endl(char *msg) +{ + print_OK(); + printf(" %s\n",msg); +} +void +print_KO_with_msg_endl(char *msg) +{ + print_KO(); + printf(" %s\n", msg); +} + +void +run_all_tests() +{ + initiation_test(); + execute_all_function_list(); + clear_fonction_list(&p_f_l); +} + + +void +append_function_list(void (*f)(void), char *name_function) +{ + printf("append %s test\n",name_function); + static size_t counter=0; + function_list * f_l=malloc(sizeof(function_list)); + if(f_l) + { + if(f_l->name_function) free(f_l->name_function); + f_l->name_function = malloc(sizeof(char)*strlen(name_function) + 1); + strcpy(f_l->name_function, name_function); + f_l->function_top = f; + f_l->next = NULL; + } + else + { + printf("error allocation f_l\n"); + return; + } + + if(p_f_l != NULL) + { + function_list *tmp_f_l = p_f_l; + while(tmp_f_l->next) + tmp_f_l = tmp_f_l->next; + + tmp_f_l->next = f_l; + } + else p_f_l = f_l; +} + +void +execute_all_function_list() +{ + printf("run functions tests\n"); + function_list * tmp_f_l = p_f_l; + while(tmp_f_l) + { + printf("RUN %s \n",tmp_f_l->name_function); + tmp_f_l->function_top(); + tmp_f_l = tmp_f_l->next; + } +} + +void +clear_fonction_list(function_list **f_l) +{ + if(*f_l != NULL) + { + clear_fonction_list(&((*f_l)->next)); + free(*f_l); + *f_l = NULL; + } +} + + +void +initiation_test() +{ + if(p_f_l != NULL) + { + free(p_f_l); + p_f_l=NULL; + } +} diff --git a/src/test_t/test_t.h b/src/test_t/test_t.h new file mode 100644 index 0000000..0c83264 --- /dev/null +++ b/src/test_t/test_t.h @@ -0,0 +1,106 @@ +#ifndef __TEST_C_H__ +#define __TEST_C_H__ + +#include +#include +#include +#include + +#include "src/tools_t/tools_t.h" + + + +struct func { + char *name; + void (*run)(void); + struct func *next; +}; + +//void begin_f(); +//struct func f_beging; + +void vprintf_colored(char *color, char * format, ...); + +void run_all_tests(); +void execute_all(struct func *fun); +void append_func(void (*run)(void), char *name); +void clear_all_func(); +void run_some_tests(size_t cnt, ... ); +void run_all_tests_exept(size_t cnt, ... ); +void run_some_tests_ordered(size_t cnt, ... ); + + + + +bool assert_true_from(bool val, const char* var_name, const char * func_name); +bool assert_false_from(bool val, const char* var_name, const char * func_name); + + +#define GEN_ASSERT_EQ_TYPE_FUNC(type)\ + bool assert_eq_##type(type var1, type var2, \ + const char *var1_name, const char *var2_name, const char *func_name); \ + +GEN_ASSERT_EQ_TYPE_FUNC(TYPE_CHAR) +GEN_ASSERT_EQ_TYPE_FUNC(TYPE_U_CHAR) +GEN_ASSERT_EQ_TYPE_FUNC(TYPE_INT) +GEN_ASSERT_EQ_TYPE_FUNC(TYPE_U_INT) +GEN_ASSERT_EQ_TYPE_FUNC(TYPE_L_INT) +GEN_ASSERT_EQ_TYPE_FUNC(TYPE_U_L_INT) +GEN_ASSERT_EQ_TYPE_FUNC(TYPE_SIZE_T) +GEN_ASSERT_EQ_TYPE_FUNC(TYPE_FLOAT) +GEN_ASSERT_EQ_TYPE_FUNC(TYPE_DOUBLE) +GEN_ASSERT_EQ_TYPE_FUNC(TYPE_L_DOUBLE) +GEN_ASSERT_EQ_TYPE_FUNC(TYPE_STRING) + +#define ASSERT_EQ_TYPE_CHAR(var1, var2) if(assert_eq_TYPE_CHAR(var1, var2, #var1, #var2, __func__) == false) return ; +#define ASSERT_EQ_TYPE_U_CHAR(var1, var2) if(assert_eq_TYPE_U_CHAR(var1, var2, #var1, #var2, __func__) == false) return ; +#define ASSERT_EQ_TYPE_INT(var1, var2) if(assert_eq_TYPE_INT(var1, var2, #var1, #var2, __func__) == false) return ; +#define ASSERT_EQ_TYPE_U_INT(var1, var2) if(assert_eq_TYPE_U_INT(var1, var2, #var1, #var2, __func__) == false) return ; +#define ASSERT_EQ_TYPE_L_INT(var1, var2) if(assert_eq_TYPE_L_INT(var1, var2, #var1, #var2, __func__) == false) return ; +#define ASSERT_EQ_TYPE_U_L_INT(var1, var2) if(assert_eq_TYPE_U_L_INT(var1, var2, #var1, #var2, __func__) == false) return ; +#define ASSERT_EQ_TYPE_SIZE_T(var1, var2) if(assert_eq_TYPE_SIZE_T(var1, var2, #var1, #var2, __func__) == false) return ; +#define ASSERT_EQ_TYPE_FLOAT(var1, var2) if(assert_eq_TYPE_FLOAT(var1, var2, #var1, #var2, __func__) == false) return ; +#define ASSERT_EQ_TYPE_DOUBLE(var1, var2) if(assert_eq_TYPE_DOUBLE(var1, var2, #var1, #var2, __func__) == false) return ; +#define ASSERT_EQ_TYPE_L_DOUBLE(var1, var2) if(assert_eq_TYPE_L_DOUBLE(var1, var2, #var1, #var2, __func__) == false) return ; +#define ASSERT_EQ_TYPE_STRING(var1, var2) if(assert_eq_TYPE_STRING(var1, var2, #var1, #var2, __func__) == false) return ; + + + +#define CONCAT(x,y) x ## y +#define STRFY(x) # x + +#define test_label test + +#define FTEST_(count, name_f) \ + void CONCAT(test_##name_f##____,count)(void); \ + __attribute__((constructor)) \ + void CONCAT(append_test_##name_f,count)(void){ \ + append_func(CONCAT(test_##name_f##____,count),STRFY(name_f test count)); \ + } \ + void CONCAT(test_##name_f##____,count)(void) + +#define FTEST__(count, name_f) \ + void CONCAT(name_f##___,count)(void); \ + __attribute__((constructor)) \ + void CONCAT(append_test_##name_f,count)(void){ \ + append_func(CONCAT(name_f##___,count),STRFY(name_f test count)); \ + } \ + void CONCAT(name_f##___,count)(void) + + +#define TEST(name_f)\ + FTEST_(__COUNTER__,name_f) + +//#define TEST(name_f) \ + FTEST__(__COUNTER__,name_f) + +#define ASSERT_TRUE(val)\ + if(assert_true_from(val,#val,__func__) == false) return; + +#define ASSERT_FALSE(val)\ + if(assert_false_from(val,#val,__func__) == false) return; + + + + +#endif /* __TEST_C_H__ */ diff --git a/src/test_t/test_t.h.bk b/src/test_t/test_t.h.bk new file mode 100644 index 0000000..5942430 --- /dev/null +++ b/src/test_t/test_t.h.bk @@ -0,0 +1,55 @@ +#ifndef __TEST_C_H__ +#define __TEST_C_H__ + +#include +#include + +#include "src/tools_t/tools_t.h" + +#define SIZE_OK 7 + +/* +size_t COUNT_OK = 0; +size_t COUNT_KO = 0; +size_t COUNT_TEST = 0; +*/ + +struct function_list{ + char * name_function; + void(*function_top)(void); + struct function_list * next; +}; +typedef struct function_list function_list; + +void clear_fonction_list(function_list **f_l); +void append_function_list(void(*f)(void), char *name_function); +void execute_all_function_list(); +void run_all_tests(); +void initiation_test(); + + + +#define TEST(name_f) \ + void test_##name_f(void); \ + void append_test_##name_f(void){ \ + append_function_list(test_##name_f,#name_f); \ + } \ + struct STRUCT_##name_f{ \ + void (*append)(void); \ + } instance_struct_test_##name_f = {append_test_##name_f}; \ +void test_##name_f(void) + + + + + +void print_OK(); +void print_KO(); +void print_OK_with_msg(char* msg); +void print_KO_with_msg(char *msg); +void print_OK_with_msg_endl(char* msg); +void print_KO_with_msg_endl(char *msg); + + + +#endif /* __TEST_C_H__ */ diff --git a/src/tools_t/tools_t.c b/src/tools_t/tools_t.c index 0f980ff..ed07fed 100644 --- a/src/tools_t/tools_t.c +++ b/src/tools_t/tools_t.c @@ -1,9 +1,34 @@ #include "src/tools_t/tools_t.h" +#define GEN_TO_STR_N(type,size,format) \ + TYPE_STRING type##_TO_STR(type var){ \ + char *ret = malloc(size); \ + sprintf(ret,format,var); \ + ret[strlen(ret)]='\0'; \ + return ret; } + +GEN_TO_STR_N(TYPE_CHAR,2,"%c") +GEN_TO_STR_N(TYPE_U_CHAR,2,"%c") +GEN_TO_STR_N(TYPE_INT,22,"%d") +GEN_TO_STR_N(TYPE_U_INT,22,"%u") +GEN_TO_STR_N(TYPE_L_INT,22,"%ld") +GEN_TO_STR_N(TYPE_U_L_INT,22,"%lu") +GEN_TO_STR_N(TYPE_SIZE_T,22,"%lu") +GEN_TO_STR_N(TYPE_FLOAT,128,"%f") +GEN_TO_STR_N(TYPE_DOUBLE,256,"%lf") +GEN_TO_STR_N(TYPE_L_DOUBLE,256,"%Lf") + +TYPE_STRING TYPE_STRING_TO_STR(TYPE_STRING var){ + return var; +} + +#define MIN_ABS_FLOAT 1 +#define MULT_FLOAT_ERR 100000 + #define GENERATE_FUNCTION_NUMERIC(type)\ int COMPARE_N_##type(const void *a, const void *b){ \ - if (*(type*)a == *(type*)b) return 0; \ + if (abs((*(type*)a - *(type*)b) * MULT_FLOAT_ERR) < MIN_ABS_FLOAT ) return 0; \ if (*(type*)a > *(type*)b) return 1; \ return -1; }\ \ diff --git a/src/tools_t/tools_t.h b/src/tools_t/tools_t.h index 5736307..3f18fce 100644 --- a/src/tools_t/tools_t.h +++ b/src/tools_t/tools_t.h @@ -31,6 +31,7 @@ size_t ARG_MAX_ARRAY_##type(const type *array, size_t size);\ type MIN_ARRAY_##type(const type *array, size_t size);\ size_t ARG_MIN_ARRAY_##type(const type *array, size_t size);\ + TYPE_STRING type##_TO_STR(type var);\ GENERATE_ALL(TYPE_CHAR)