// Target: i686-redhat-linux // Configured with: ../configure --enable-bootstrap --enable-languages=c,c++,objc,obj-c++,fortran,ada,go,lto --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-plugin --enable-initfini-array --disable-libgcj --with-default-libstdcxx-abi=c++98 --with-isl --enable-gnu-indirect-function --with-tune=generic --with-arch=i686 --build=i686-redhat-linux // Thread model: posix // gcc version 5.0.0 20150217 (Red Hat 5.0.0-0.15) (GCC) // // In file included from /builddir/build/BUILD/firefox-36.0/mozilla-release/objdir/dom/media/ogg/Unified_cpp_dom_media_ogg0.cpp:20:0: // /builddir/build/BUILD/firefox-36.0/mozilla-release/dom/media/ogg/OggReader.cpp: In member function 'nsresult mozilla::OggReader::DecodeVorbis(ogg_packet*)': // /builddir/build/BUILD/firefox-36.0/mozilla-release/dom/media/ogg/OggReader.cpp:572:1: internal compiler error: in reload_combine_note_use, at postreload.c:1556 // } // ^ // Please submit a full bug report, // with preprocessed source if appropriate. // See for instructions. // /usr/libexec/gcc/i686-redhat-linux/5.0.0/cc1plus -quiet -I ../../../dist/stl_wrappers -I ../../../dist/system_wrappers -I /builddir/build/BUILD/firefox-36.0/mozilla-release/dom/media/ogg -I . -I ../../../dist/include -I /usr/include/nspr4 -I /usr/include/nss3 -I /usr/include/pixman-1 -MD Unified_cpp_dom_media_ogg0.d -MF .deps/Unified_cpp_dom_media_ogg0.o.pp -MP -MQ Unified_cpp_dom_media_ogg0.o -D_GNU_SOURCE -D_REENTRANT -D STATIC_EXPORTABLE_JS_API -D MOZILLA_INTERNAL_API -D IMPL_LIBXUL -D MOZ_GLUE_IN_PROGRAM -D AB_CD=en-US -D NO_NSPR_10_SUPPORT -D MOZILLA_CLIENT -D NDEBUG -D TRIMMED -include /builddir/build/BUILD/firefox-36.0/mozilla-release/config/gcc_hidden.h -include ../../../mozilla-config.h -D_FORTIFY_SOURCE=2 /builddir/build/BUILD/firefox-36.0/mozilla-release/objdir/dom/media/ogg/Unified_cpp_dom_media_ogg0.cpp -quiet -dumpbase Unified_cpp_dom_media_ogg0.cpp -m32 -march=i686 -mtune=atom -auxbase-strip Unified_cpp_dom_media_ogg0.o -g -grecord-gcc-switches -g -O2 -Os -Wall -Wempty-body -Woverloaded-virtual -Wsign-compare -Wwrite-strings -Wno-invalid-offsetof -Wcast-align -Werror=format-security -Wformat-security -Wformat=1 -Werror=format-security -std=gnu++11 -fPIC -fstack-protector-strong -fasynchronous-unwind-tables -fno-strict-aliasing -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -fno-math-errno -freorder-blocks -fomit-frame-pointer --param ssp-buffer-size=4 -o - -frandom-seed=0 -fdump-noaddr # 1 "/builddir/build/BUILD/firefox-36.0/mozilla-release/objdir/dom/media/ogg/Unified_cpp_dom_media_ogg0.cpp" # 1 "/builddir/build/BUILD/firefox-36.0/mozilla-release/objdir/dom/media/ogg//" # 1 "" # 1 "" # 1 "/usr/include/stdc-predef.h" 1 3 4 # 1 "" 2 # 1 "/builddir/build/BUILD/firefox-36.0/mozilla-release/config/gcc_hidden.h" 1 #pragma GCC visibility push(hidden) # 1 "" 2 # 1 "./../../../mozilla-config.h" 1 # 201 "./../../../mozilla-config.h" # 1 "../../../dist/include/mozilla/Char16.h" 1 # 215 "../../../dist/include/mozilla/Char16.h" typedef const char16_t* char16ptr_t; # 229 "../../../dist/include/mozilla/Char16.h" static_assert(sizeof(char16_t) == 2, "Is char16_t type 16 bits?"); static_assert(char16_t(-1) > char16_t(0), "Is char16_t type unsigned?"); static_assert(sizeof(u'A') == 2, "Is char literal 16 bits?"); static_assert(sizeof(u""[0]) == 2, "Is string char 16 bits?"); # 202 "./../../../mozilla-config.h" 2 # 1 "" 2 # 1 "/builddir/build/BUILD/firefox-36.0/mozilla-release/objdir/dom/media/ogg/Unified_cpp_dom_media_ogg0.cpp" # 1 "/builddir/build/BUILD/firefox-36.0/mozilla-release/dom/media/ogg/OggCodecState.cpp" 1 # 1 "../../../dist/system_wrappers/string.h" 1 # 2 "../../../dist/system_wrappers/string.h" 3 #pragma GCC visibility push(default) # 1 "/usr/include/string.h" 1 3 4 # 25 "/usr/include/string.h" 3 4 # 1 "../../../dist/system_wrappers/features.h" 1 3 4 # 2 "../../../dist/system_wrappers/features.h" 3 #pragma GCC visibility push(default) # 1 "/usr/include/features.h" 1 3 4 # 365 "/usr/include/features.h" 3 4 # 1 "../../../dist/system_wrappers/sys/cdefs.h" 1 3 4 # 2 "../../../dist/system_wrappers/sys/cdefs.h" 3 #pragma GCC visibility push(default) # 1 "/usr/include/sys/cdefs.h" 1 3 4 # 402 "/usr/include/sys/cdefs.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 403 "/usr/include/sys/cdefs.h" 2 3 4 # 4 "../../../dist/system_wrappers/sys/cdefs.h" 2 3 #pragma GCC visibility pop # 366 "/usr/include/features.h" 2 3 4 # 389 "/usr/include/features.h" 3 4 # 1 "/usr/include/gnu/stubs.h" 1 3 4 # 1 "/usr/include/gnu/stubs-32.h" 1 3 4 # 8 "/usr/include/gnu/stubs.h" 2 3 4 # 390 "/usr/include/features.h" 2 3 4 # 4 "../../../dist/system_wrappers/features.h" 2 3 #pragma GCC visibility pop # 26 "/usr/include/string.h" 2 3 4 # 27 "/usr/include/string.h" 3 4 extern "C" { # 1 "../../../dist/system_wrappers/stddef.h" 1 3 4 # 2 "../../../dist/system_wrappers/stddef.h" 3 #pragma GCC visibility push(default) # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/stddef.h" 1 3 4 # 216 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/stddef.h" 3 4 typedef unsigned int size_t; # 4 "../../../dist/system_wrappers/stddef.h" 2 3 #pragma GCC visibility pop # 33 "/usr/include/string.h" 2 3 4 # 44 "/usr/include/string.h" 3 4 extern void *memcpy (void *__restrict __dest, const void *__restrict __src, size_t __n) throw () __attribute__ ((__nonnull__ (1, 2))); extern void *memmove (void *__dest, const void *__src, size_t __n) throw () __attribute__ ((__nonnull__ (1, 2))); extern void *memccpy (void *__restrict __dest, const void *__restrict __src, int __c, size_t __n) throw () __attribute__ ((__nonnull__ (1, 2))); extern void *memset (void *__s, int __c, size_t __n) throw () __attribute__ ((__nonnull__ (1))); extern int memcmp (const void *__s1, const void *__s2, size_t __n) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern "C++" { extern void *memchr (void *__s, int __c, size_t __n) throw () __asm ("memchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern const void *memchr (const void *__s, int __c, size_t __n) throw () __asm ("memchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) void * memchr (void *__s, int __c, size_t __n) throw () { return __builtin_memchr (__s, __c, __n); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const void * memchr (const void *__s, int __c, size_t __n) throw () { return __builtin_memchr (__s, __c, __n); } } extern "C++" void *rawmemchr (void *__s, int __c) throw () __asm ("rawmemchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern "C++" const void *rawmemchr (const void *__s, int __c) throw () __asm ("rawmemchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern "C++" void *memrchr (void *__s, int __c, size_t __n) throw () __asm ("memrchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern "C++" const void *memrchr (const void *__s, int __c, size_t __n) throw () __asm ("memrchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern char *strcpy (char *__restrict __dest, const char *__restrict __src) throw () __attribute__ ((__nonnull__ (1, 2))); extern char *strncpy (char *__restrict __dest, const char *__restrict __src, size_t __n) throw () __attribute__ ((__nonnull__ (1, 2))); extern char *strcat (char *__restrict __dest, const char *__restrict __src) throw () __attribute__ ((__nonnull__ (1, 2))); extern char *strncat (char *__restrict __dest, const char *__restrict __src, size_t __n) throw () __attribute__ ((__nonnull__ (1, 2))); extern int strcmp (const char *__s1, const char *__s2) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern int strncmp (const char *__s1, const char *__s2, size_t __n) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern int strcoll (const char *__s1, const char *__s2) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern size_t strxfrm (char *__restrict __dest, const char *__restrict __src, size_t __n) throw () __attribute__ ((__nonnull__ (2))); # 1 "../../../dist/system_wrappers/xlocale.h" 1 3 4 # 2 "../../../dist/system_wrappers/xlocale.h" 3 #pragma GCC visibility push(default) # 1 "/usr/include/xlocale.h" 1 3 4 # 27 "/usr/include/xlocale.h" 3 4 typedef 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]; } *__locale_t; typedef __locale_t locale_t; # 4 "../../../dist/system_wrappers/xlocale.h" 2 3 #pragma GCC visibility pop # 164 "/usr/include/string.h" 2 3 4 extern int strcoll_l (const char *__s1, const char *__s2, __locale_t __l) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); extern size_t strxfrm_l (char *__dest, const char *__src, size_t __n, __locale_t __l) throw () __attribute__ ((__nonnull__ (2, 4))); extern char *strdup (const char *__s) throw () __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); extern char *strndup (const char *__string, size_t __n) throw () __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); # 210 "/usr/include/string.h" 3 4 extern "C++" { extern char *strchr (char *__s, int __c) throw () __asm ("strchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern const char *strchr (const char *__s, int __c) throw () __asm ("strchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char * strchr (char *__s, int __c) throw () { return __builtin_strchr (__s, __c); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char * strchr (const char *__s, int __c) throw () { return __builtin_strchr (__s, __c); } } extern "C++" { extern char *strrchr (char *__s, int __c) throw () __asm ("strrchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern const char *strrchr (const char *__s, int __c) throw () __asm ("strrchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char * strrchr (char *__s, int __c) throw () { return __builtin_strrchr (__s, __c); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char * strrchr (const char *__s, int __c) throw () { return __builtin_strrchr (__s, __c); } } extern "C++" char *strchrnul (char *__s, int __c) throw () __asm ("strchrnul") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern "C++" const char *strchrnul (const char *__s, int __c) throw () __asm ("strchrnul") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern size_t strcspn (const char *__s, const char *__reject) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern size_t strspn (const char *__s, const char *__accept) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern "C++" { extern char *strpbrk (char *__s, const char *__accept) throw () __asm ("strpbrk") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern const char *strpbrk (const char *__s, const char *__accept) throw () __asm ("strpbrk") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char * strpbrk (char *__s, const char *__accept) throw () { return __builtin_strpbrk (__s, __accept); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char * strpbrk (const char *__s, const char *__accept) throw () { return __builtin_strpbrk (__s, __accept); } } extern "C++" { extern char *strstr (char *__haystack, const char *__needle) throw () __asm ("strstr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern const char *strstr (const char *__haystack, const char *__needle) throw () __asm ("strstr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char * strstr (char *__haystack, const char *__needle) throw () { return __builtin_strstr (__haystack, __needle); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char * strstr (const char *__haystack, const char *__needle) throw () { return __builtin_strstr (__haystack, __needle); } } extern char *strtok (char *__restrict __s, const char *__restrict __delim) throw () __attribute__ ((__nonnull__ (2))); extern char *__strtok_r (char *__restrict __s, const char *__restrict __delim, char **__restrict __save_ptr) throw () __attribute__ ((__nonnull__ (2, 3))); extern char *strtok_r (char *__restrict __s, const char *__restrict __delim, char **__restrict __save_ptr) throw () __attribute__ ((__nonnull__ (2, 3))); extern "C++" char *strcasestr (char *__haystack, const char *__needle) throw () __asm ("strcasestr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern "C++" const char *strcasestr (const char *__haystack, const char *__needle) throw () __asm ("strcasestr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); # 381 "/usr/include/string.h" 3 4 extern void *memmem (const void *__haystack, size_t __haystacklen, const void *__needle, size_t __needlelen) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 3))); extern void *__mempcpy (void *__restrict __dest, const void *__restrict __src, size_t __n) throw () __attribute__ ((__nonnull__ (1, 2))); extern void *mempcpy (void *__restrict __dest, const void *__restrict __src, size_t __n) throw () __attribute__ ((__nonnull__ (1, 2))); extern size_t strlen (const char *__s) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern size_t strnlen (const char *__string, size_t __maxlen) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern char *strerror (int __errnum) throw (); # 437 "/usr/include/string.h" 3 4 extern char *strerror_r (int __errnum, char *__buf, size_t __buflen) throw () __attribute__ ((__nonnull__ (2))) __attribute__ ((__warn_unused_result__)); extern char *strerror_l (int __errnum, __locale_t __l) throw (); extern void __bzero (void *__s, size_t __n) throw () __attribute__ ((__nonnull__ (1))); extern void bcopy (const void *__src, void *__dest, size_t __n) throw () __attribute__ ((__nonnull__ (1, 2))); extern void bzero (void *__s, size_t __n) throw () __attribute__ ((__nonnull__ (1))); extern int bcmp (const void *__s1, const void *__s2, size_t __n) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern "C++" { extern char *index (char *__s, int __c) throw () __asm ("index") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern const char *index (const char *__s, int __c) throw () __asm ("index") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char * index (char *__s, int __c) throw () { return __builtin_index (__s, __c); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char * index (const char *__s, int __c) throw () { return __builtin_index (__s, __c); } } extern "C++" { extern char *rindex (char *__s, int __c) throw () __asm ("rindex") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern const char *rindex (const char *__s, int __c) throw () __asm ("rindex") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) char * rindex (char *__s, int __c) throw () { return __builtin_rindex (__s, __c); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) const char * rindex (const char *__s, int __c) throw () { return __builtin_rindex (__s, __c); } } extern int ffs (int __i) throw () __attribute__ ((__const__)); extern int ffsl (long int __l) throw () __attribute__ ((__const__)); __extension__ extern int ffsll (long long int __ll) throw () __attribute__ ((__const__)); extern int strcasecmp (const char *__s1, const char *__s2) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern int strncasecmp (const char *__s1, const char *__s2, size_t __n) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern int strcasecmp_l (const char *__s1, const char *__s2, __locale_t __loc) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); extern int strncasecmp_l (const char *__s1, const char *__s2, size_t __n, __locale_t __loc) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 4))); extern char *strsep (char **__restrict __stringp, const char *__restrict __delim) throw () __attribute__ ((__nonnull__ (1, 2))); extern char *strsignal (int __sig) throw (); extern char *__stpcpy (char *__restrict __dest, const char *__restrict __src) throw () __attribute__ ((__nonnull__ (1, 2))); extern char *stpcpy (char *__restrict __dest, const char *__restrict __src) throw () __attribute__ ((__nonnull__ (1, 2))); extern char *__stpncpy (char *__restrict __dest, const char *__restrict __src, size_t __n) throw () __attribute__ ((__nonnull__ (1, 2))); extern char *stpncpy (char *__restrict __dest, const char *__restrict __src, size_t __n) throw () __attribute__ ((__nonnull__ (1, 2))); extern int strverscmp (const char *__s1, const char *__s2) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strfry (char *__string) throw () __attribute__ ((__nonnull__ (1))); extern void *memfrob (void *__s, size_t __n) throw () __attribute__ ((__nonnull__ (1))); extern "C++" char *basename (char *__filename) throw () __asm ("basename") __attribute__ ((__nonnull__ (1))); extern "C++" const char *basename (const char *__filename) throw () __asm ("basename") __attribute__ ((__nonnull__ (1))); # 639 "/usr/include/string.h" 3 4 # 1 "/usr/include/bits/string3.h" 1 3 4 # 49 "/usr/include/bits/string3.h" 3 4 extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void * __attribute__ ((__leaf__)) memcpy (void *__restrict __dest, const void *__restrict __src, size_t __len) throw () { return __builtin___memcpy_chk (__dest, __src, __len, __builtin_object_size (__dest, 0)); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void * __attribute__ ((__leaf__)) memmove (void *__dest, const void *__src, size_t __len) throw () { return __builtin___memmove_chk (__dest, __src, __len, __builtin_object_size (__dest, 0)); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void * __attribute__ ((__leaf__)) mempcpy (void *__restrict __dest, const void *__restrict __src, size_t __len) throw () { return __builtin___mempcpy_chk (__dest, __src, __len, __builtin_object_size (__dest, 0)); } # 77 "/usr/include/bits/string3.h" 3 4 extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void * __attribute__ ((__leaf__)) memset (void *__dest, int __ch, size_t __len) throw () { # 90 "/usr/include/bits/string3.h" 3 4 return __builtin___memset_chk (__dest, __ch, __len, __builtin_object_size (__dest, 0)); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void __attribute__ ((__leaf__)) bcopy (const void *__src, void *__dest, size_t __len) throw () { (void) __builtin___memmove_chk (__dest, __src, __len, __builtin_object_size (__dest, 0)); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void __attribute__ ((__leaf__)) bzero (void *__dest, size_t __len) throw () { (void) __builtin___memset_chk (__dest, '\0', __len, __builtin_object_size (__dest, 0)); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * __attribute__ ((__leaf__)) strcpy (char *__restrict __dest, const char *__restrict __src) throw () { return __builtin___strcpy_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1)); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * __attribute__ ((__leaf__)) stpcpy (char *__restrict __dest, const char *__restrict __src) throw () { return __builtin___stpcpy_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1)); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * __attribute__ ((__leaf__)) strncpy (char *__restrict __dest, const char *__restrict __src, size_t __len) throw () { return __builtin___strncpy_chk (__dest, __src, __len, __builtin_object_size (__dest, 2 > 1)); } extern char *__stpncpy_chk (char *__dest, const char *__src, size_t __n, size_t __destlen) throw (); extern char *__stpncpy_alias (char *__dest, const char *__src, size_t __n) throw () __asm__ ("" "stpncpy") ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * __attribute__ ((__leaf__)) stpncpy (char *__dest, const char *__src, size_t __n) throw () { if (__builtin_object_size (__dest, 2 > 1) != (size_t) -1 && (!__builtin_constant_p (__n) || __n <= __builtin_object_size (__dest, 2 > 1))) return __stpncpy_chk (__dest, __src, __n, __builtin_object_size (__dest, 2 > 1)); return __stpncpy_alias (__dest, __src, __n); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * __attribute__ ((__leaf__)) strcat (char *__restrict __dest, const char *__restrict __src) throw () { return __builtin___strcat_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1)); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * __attribute__ ((__leaf__)) strncat (char *__restrict __dest, const char *__restrict __src, size_t __len) throw () { return __builtin___strncat_chk (__dest, __src, __len, __builtin_object_size (__dest, 2 > 1)); } # 640 "/usr/include/string.h" 2 3 4 } # 4 "../../../dist/system_wrappers/string.h" 2 3 #pragma GCC visibility pop # 8 "/builddir/build/BUILD/firefox-36.0/mozilla-release/dom/media/ogg/OggCodecState.cpp" 2 # 1 "../../../dist/include/mozilla/DebugOnly.h" 1 # 15 "../../../dist/include/mozilla/DebugOnly.h" # 1 "../../../dist/include/mozilla/Attributes.h" 1 # 12 "../../../dist/include/mozilla/Attributes.h" # 1 "../../../dist/include/mozilla/Compiler.h" 1 # 59 "../../../dist/include/mozilla/Compiler.h" # 1 "../../../dist/system_wrappers/cstddef" 1 # 2 "../../../dist/system_wrappers/cstddef" 3 #pragma GCC visibility push(default) # 1 "/usr/include/c++/5.0.0/cstddef" 1 3 # 42 "/usr/include/c++/5.0.0/cstddef" 3 # 43 "/usr/include/c++/5.0.0/cstddef" 3 # 1 "/usr/include/c++/5.0.0/i686-redhat-linux/bits/c++config.h" 1 3 # 194 "/usr/include/c++/5.0.0/i686-redhat-linux/bits/c++config.h" 3 namespace std { typedef unsigned int size_t; typedef int ptrdiff_t; typedef decltype(nullptr) nullptr_t; } # 478 "/usr/include/c++/5.0.0/i686-redhat-linux/bits/c++config.h" 3 # 1 "/usr/include/c++/5.0.0/i686-redhat-linux/bits/os_defines.h" 1 3 # 39 "/usr/include/c++/5.0.0/i686-redhat-linux/bits/os_defines.h" 3 # 1 "../../../dist/system_wrappers/features.h" 1 3 # 2 "../../../dist/system_wrappers/features.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 40 "/usr/include/c++/5.0.0/i686-redhat-linux/bits/os_defines.h" 2 3 # 479 "/usr/include/c++/5.0.0/i686-redhat-linux/bits/c++config.h" 2 3 # 1 "/usr/include/c++/5.0.0/i686-redhat-linux/bits/cpu_defines.h" 1 3 # 482 "/usr/include/c++/5.0.0/i686-redhat-linux/bits/c++config.h" 2 3 # 45 "/usr/include/c++/5.0.0/cstddef" 2 3 # 1 "../../../dist/system_wrappers/stddef.h" 1 3 # 2 "../../../dist/system_wrappers/stddef.h" 3 #pragma GCC visibility push(default) # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/stddef.h" 1 3 4 # 149 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/stddef.h" 3 4 typedef int ptrdiff_t; # 426 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/stddef.h" 3 4 typedef struct { long long __max_align_ll __attribute__((__aligned__(__alignof__(long long)))); long double __max_align_ld __attribute__((__aligned__(__alignof__(long double)))); } max_align_t; typedef decltype(nullptr) nullptr_t; # 4 "../../../dist/system_wrappers/stddef.h" 2 3 #pragma GCC visibility pop # 46 "/usr/include/c++/5.0.0/cstddef" 2 3 namespace std { using ::max_align_t; } # 4 "../../../dist/system_wrappers/cstddef" 2 3 #pragma GCC visibility pop # 60 "../../../dist/include/mozilla/Compiler.h" 2 # 13 "../../../dist/include/mozilla/Attributes.h" 2 # 16 "../../../dist/include/mozilla/DebugOnly.h" 2 # 17 "../../../dist/include/mozilla/DebugOnly.h" namespace mozilla { # 36 "../../../dist/include/mozilla/DebugOnly.h" template class DebugOnly { public: # 63 "../../../dist/include/mozilla/DebugOnly.h" DebugOnly() { } DebugOnly(const T&) { } DebugOnly(const DebugOnly&) { } DebugOnly& operator=(const T&) { return *this; } void operator++(int) { } void operator--(int) { } ~DebugOnly() {} }; } # 10 "/builddir/build/BUILD/firefox-36.0/mozilla-release/dom/media/ogg/OggCodecState.cpp" 2 # 1 "../../../dist/include/mozilla/Endian.h" 1 # 67 "../../../dist/include/mozilla/Endian.h" # 1 "../../../dist/include/mozilla/Assertions.h" 1 # 18 "../../../dist/include/mozilla/Assertions.h" # 1 "../../../dist/include/mozilla/Likely.h" 1 # 19 "../../../dist/include/mozilla/Assertions.h" 2 # 1 "../../../dist/include/mozilla/MacroArgs.h" 1 # 20 "../../../dist/include/mozilla/Assertions.h" 2 # 1 "../../../dist/include/nsTraceRefcnt.h" 1 # 9 "../../../dist/include/nsTraceRefcnt.h" # 1 "../../../dist/system_wrappers/stdio.h" 1 # 2 "../../../dist/system_wrappers/stdio.h" 3 #pragma GCC visibility push(default) # 1 "/usr/include/stdio.h" 1 3 4 # 27 "/usr/include/stdio.h" 3 4 # 1 "../../../dist/system_wrappers/features.h" 1 3 4 # 2 "../../../dist/system_wrappers/features.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 28 "/usr/include/stdio.h" 2 3 4 # 29 "/usr/include/stdio.h" 3 4 extern "C" { # 1 "../../../dist/system_wrappers/stddef.h" 1 3 4 # 2 "../../../dist/system_wrappers/stddef.h" 3 #pragma GCC visibility push(default) # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/stddef.h" 1 3 4 # 4 "../../../dist/system_wrappers/stddef.h" 2 3 #pragma GCC visibility pop # 34 "/usr/include/stdio.h" 2 3 4 # 1 "/usr/include/bits/types.h" 1 3 4 # 26 "/usr/include/bits/types.h" 3 4 # 1 "../../../dist/system_wrappers/features.h" 1 3 4 # 2 "../../../dist/system_wrappers/features.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 27 "/usr/include/bits/types.h" 2 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 28 "/usr/include/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; __extension__ typedef signed long long int __int64_t; __extension__ typedef unsigned long long int __uint64_t; __extension__ typedef long long int __quad_t; __extension__ typedef unsigned long long int __u_quad_t; # 121 "/usr/include/bits/types.h" 3 4 # 1 "/usr/include/bits/typesizes.h" 1 3 4 # 122 "/usr/include/bits/types.h" 2 3 4 __extension__ typedef __u_quad_t __dev_t; __extension__ typedef unsigned int __uid_t; __extension__ typedef unsigned int __gid_t; __extension__ typedef unsigned long int __ino_t; __extension__ typedef __u_quad_t __ino64_t; __extension__ typedef unsigned int __mode_t; __extension__ typedef unsigned int __nlink_t; __extension__ typedef long int __off_t; __extension__ typedef __quad_t __off64_t; __extension__ typedef int __pid_t; __extension__ typedef struct { int __val[2]; } __fsid_t; __extension__ typedef long int __clock_t; __extension__ typedef unsigned long int __rlim_t; __extension__ typedef __u_quad_t __rlim64_t; __extension__ typedef unsigned int __id_t; __extension__ typedef long int __time_t; __extension__ typedef unsigned int __useconds_t; __extension__ typedef long int __suseconds_t; __extension__ typedef int __daddr_t; __extension__ typedef int __key_t; __extension__ typedef int __clockid_t; __extension__ typedef void * __timer_t; __extension__ typedef long int __blksize_t; __extension__ typedef long int __blkcnt_t; __extension__ typedef __quad_t __blkcnt64_t; __extension__ typedef unsigned long int __fsblkcnt_t; __extension__ typedef __u_quad_t __fsblkcnt64_t; __extension__ typedef unsigned long int __fsfilcnt_t; __extension__ typedef __u_quad_t __fsfilcnt64_t; __extension__ typedef int __fsword_t; __extension__ typedef int __ssize_t; __extension__ typedef long int __syscall_slong_t; __extension__ typedef unsigned long int __syscall_ulong_t; typedef __off64_t __loff_t; typedef __quad_t *__qaddr_t; typedef char *__caddr_t; __extension__ typedef int __intptr_t; __extension__ typedef unsigned int __socklen_t; # 36 "/usr/include/stdio.h" 2 3 4 # 44 "/usr/include/stdio.h" 3 4 struct _IO_FILE; typedef struct _IO_FILE FILE; # 64 "/usr/include/stdio.h" 3 4 typedef struct _IO_FILE __FILE; # 74 "/usr/include/stdio.h" 3 4 # 1 "/usr/include/libio.h" 1 3 4 # 31 "/usr/include/libio.h" 3 4 # 1 "/usr/include/_G_config.h" 1 3 4 # 15 "/usr/include/_G_config.h" 3 4 # 1 "../../../dist/system_wrappers/stddef.h" 1 3 4 # 2 "../../../dist/system_wrappers/stddef.h" 3 #pragma GCC visibility push(default) # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/stddef.h" 1 3 4 # 4 "../../../dist/system_wrappers/stddef.h" 2 3 #pragma GCC visibility pop # 16 "/usr/include/_G_config.h" 2 3 4 # 1 "../../../dist/system_wrappers/wchar.h" 1 3 4 # 2 "../../../dist/system_wrappers/wchar.h" 3 #pragma GCC visibility push(default) # 1 "/usr/include/wchar.h" 1 3 4 # 82 "/usr/include/wchar.h" 3 4 typedef struct { int __count; union { unsigned int __wch; char __wchb[4]; } __value; } __mbstate_t; # 4 "../../../dist/system_wrappers/wchar.h" 2 3 #pragma GCC visibility pop # 21 "/usr/include/_G_config.h" 2 3 4 typedef struct { __off_t __pos; __mbstate_t __state; } _G_fpos_t; typedef struct { __off64_t __pos; __mbstate_t __state; } _G_fpos64_t; # 32 "/usr/include/libio.h" 2 3 4 # 49 "/usr/include/libio.h" 3 4 # 1 "../../../dist/system_wrappers/stdarg.h" 1 3 4 # 2 "../../../dist/system_wrappers/stdarg.h" 3 #pragma GCC visibility push(default) # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/stdarg.h" 1 3 4 # 40 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/stdarg.h" 3 4 typedef __builtin_va_list __gnuc_va_list; # 4 "../../../dist/system_wrappers/stdarg.h" 2 3 #pragma GCC visibility pop # 50 "/usr/include/libio.h" 2 3 4 # 144 "/usr/include/libio.h" 3 4 struct _IO_jump_t; struct _IO_FILE; # 154 "/usr/include/libio.h" 3 4 typedef void _IO_lock_t; struct _IO_marker { struct _IO_marker *_next; struct _IO_FILE *_sbuf; int _pos; # 177 "/usr/include/libio.h" 3 4 }; enum __codecvt_result { __codecvt_ok, __codecvt_partial, __codecvt_error, __codecvt_noconv }; # 245 "/usr/include/libio.h" 3 4 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; # 293 "/usr/include/libio.h" 3 4 __off64_t _offset; # 302 "/usr/include/libio.h" 3 4 void *__pad1; void *__pad2; void *__pad3; void *__pad4; size_t __pad5; int _mode; char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)]; }; struct _IO_FILE_plus; extern struct _IO_FILE_plus _IO_2_1_stdin_; extern struct _IO_FILE_plus _IO_2_1_stdout_; extern struct _IO_FILE_plus _IO_2_1_stderr_; # 338 "/usr/include/libio.h" 3 4 typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes); typedef __ssize_t __io_write_fn (void *__cookie, const char *__buf, size_t __n); typedef int __io_seek_fn (void *__cookie, __off64_t *__pos, int __w); typedef int __io_close_fn (void *__cookie); typedef __io_read_fn cookie_read_function_t; typedef __io_write_fn cookie_write_function_t; typedef __io_seek_fn cookie_seek_function_t; typedef __io_close_fn cookie_close_function_t; typedef struct { __io_read_fn *read; __io_write_fn *write; __io_seek_fn *seek; __io_close_fn *close; } _IO_cookie_io_functions_t; typedef _IO_cookie_io_functions_t cookie_io_functions_t; struct _IO_cookie_file; extern void _IO_cookie_init (struct _IO_cookie_file *__cfile, int __read_write, void *__cookie, _IO_cookie_io_functions_t __fns); extern "C" { extern int __underflow (_IO_FILE *); extern int __uflow (_IO_FILE *); extern int __overflow (_IO_FILE *, int); # 434 "/usr/include/libio.h" 3 4 extern int _IO_getc (_IO_FILE *__fp); extern int _IO_putc (int __c, _IO_FILE *__fp); extern int _IO_feof (_IO_FILE *__fp) throw (); extern int _IO_ferror (_IO_FILE *__fp) throw (); extern int _IO_peekc_locked (_IO_FILE *__fp); extern void _IO_flockfile (_IO_FILE *) throw (); extern void _IO_funlockfile (_IO_FILE *) throw (); extern int _IO_ftrylockfile (_IO_FILE *) throw (); # 464 "/usr/include/libio.h" 3 4 extern int _IO_vfscanf (_IO_FILE * __restrict, const char * __restrict, __gnuc_va_list, int *__restrict); extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict, __gnuc_va_list); extern __ssize_t _IO_padn (_IO_FILE *, int, __ssize_t); extern size_t _IO_sgetn (_IO_FILE *, void *, size_t); extern __off64_t _IO_seekoff (_IO_FILE *, __off64_t, int, int); extern __off64_t _IO_seekpos (_IO_FILE *, __off64_t, int); extern void _IO_free_backup_area (_IO_FILE *) throw (); # 526 "/usr/include/libio.h" 3 4 } # 75 "/usr/include/stdio.h" 2 3 4 typedef __gnuc_va_list va_list; # 90 "/usr/include/stdio.h" 3 4 typedef __off_t off_t; typedef __off64_t off64_t; typedef __ssize_t ssize_t; typedef _G_fpos_t fpos_t; typedef _G_fpos64_t fpos64_t; # 164 "/usr/include/stdio.h" 3 4 # 1 "/usr/include/bits/stdio_lim.h" 1 3 4 # 165 "/usr/include/stdio.h" 2 3 4 extern struct _IO_FILE *stdin; extern struct _IO_FILE *stdout; extern struct _IO_FILE *stderr; extern int remove (const char *__filename) throw (); extern int rename (const char *__old, const char *__new) throw (); extern int renameat (int __oldfd, const char *__old, int __newfd, const char *__new) throw (); extern FILE *tmpfile (void) __attribute__ ((__warn_unused_result__)); # 205 "/usr/include/stdio.h" 3 4 extern FILE *tmpfile64 (void) __attribute__ ((__warn_unused_result__)); extern char *tmpnam (char *__s) throw () __attribute__ ((__warn_unused_result__)); extern char *tmpnam_r (char *__s) throw () __attribute__ ((__warn_unused_result__)); # 227 "/usr/include/stdio.h" 3 4 extern char *tempnam (const char *__dir, const char *__pfx) throw () __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__)); extern int fclose (FILE *__stream); extern int fflush (FILE *__stream); # 252 "/usr/include/stdio.h" 3 4 extern int fflush_unlocked (FILE *__stream); # 262 "/usr/include/stdio.h" 3 4 extern int fcloseall (void); extern FILE *fopen (const char *__restrict __filename, const char *__restrict __modes) __attribute__ ((__warn_unused_result__)); extern FILE *freopen (const char *__restrict __filename, const char *__restrict __modes, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); # 295 "/usr/include/stdio.h" 3 4 extern FILE *fopen64 (const char *__restrict __filename, const char *__restrict __modes) __attribute__ ((__warn_unused_result__)); extern FILE *freopen64 (const char *__restrict __filename, const char *__restrict __modes, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); extern FILE *fdopen (int __fd, const char *__modes) throw () __attribute__ ((__warn_unused_result__)); extern FILE *fopencookie (void *__restrict __magic_cookie, const char *__restrict __modes, _IO_cookie_io_functions_t __io_funcs) throw () __attribute__ ((__warn_unused_result__)); extern FILE *fmemopen (void *__s, size_t __len, const char *__modes) throw () __attribute__ ((__warn_unused_result__)); extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) throw () __attribute__ ((__warn_unused_result__)); extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) throw (); extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, int __modes, size_t __n) throw (); extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, size_t __size) throw (); extern void setlinebuf (FILE *__stream) throw (); 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, ...) throw (); 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) throw (); extern int snprintf (char *__restrict __s, size_t __maxlen, const char *__restrict __format, ...) throw () __attribute__ ((__format__ (__printf__, 3, 4))); extern int vsnprintf (char *__restrict __s, size_t __maxlen, const char *__restrict __format, __gnuc_va_list __arg) throw () __attribute__ ((__format__ (__printf__, 3, 0))); extern int vasprintf (char **__restrict __ptr, const char *__restrict __f, __gnuc_va_list __arg) throw () __attribute__ ((__format__ (__printf__, 2, 0))) __attribute__ ((__warn_unused_result__)); extern int __asprintf (char **__restrict __ptr, const char *__restrict __fmt, ...) throw () __attribute__ ((__format__ (__printf__, 2, 3))) __attribute__ ((__warn_unused_result__)); extern int asprintf (char **__restrict __ptr, const char *__restrict __fmt, ...) throw () __attribute__ ((__format__ (__printf__, 2, 3))) __attribute__ ((__warn_unused_result__)); 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, ...) __attribute__ ((__warn_unused_result__)); extern int scanf (const char *__restrict __format, ...) __attribute__ ((__warn_unused_result__)); extern int sscanf (const char *__restrict __s, const char *__restrict __format, ...) throw (); # 463 "/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))) __attribute__ ((__warn_unused_result__)); extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__format__ (__scanf__, 1, 0))) __attribute__ ((__warn_unused_result__)); extern int vsscanf (const char *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) throw () __attribute__ ((__format__ (__scanf__, 2, 0))); # 522 "/usr/include/stdio.h" 3 4 extern int fgetc (FILE *__stream); extern int getc (FILE *__stream); extern int getchar (void); # 550 "/usr/include/stdio.h" 3 4 extern int getc_unlocked (FILE *__stream); extern int getchar_unlocked (void); # 561 "/usr/include/stdio.h" 3 4 extern int fgetc_unlocked (FILE *__stream); extern int fputc (int __c, FILE *__stream); extern int putc (int __c, FILE *__stream); extern int putchar (int __c); # 594 "/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__ ((__warn_unused_result__)); # 638 "/usr/include/stdio.h" 3 4 extern char *gets (char *__s) __attribute__ ((__warn_unused_result__)) __attribute__ ((__deprecated__)); # 649 "/usr/include/stdio.h" 3 4 extern char *fgets_unlocked (char *__restrict __s, int __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); # 665 "/usr/include/stdio.h" 3 4 extern __ssize_t __getdelim (char **__restrict __lineptr, size_t *__restrict __n, int __delimiter, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); extern __ssize_t getdelim (char **__restrict __lineptr, size_t *__restrict __n, int __delimiter, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); extern __ssize_t getline (char **__restrict __lineptr, size_t *__restrict __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); 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) __attribute__ ((__warn_unused_result__)); extern size_t fwrite (const void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __s); # 726 "/usr/include/stdio.h" 3 4 extern int fputs_unlocked (const char *__restrict __s, FILE *__restrict __stream); # 737 "/usr/include/stdio.h" 3 4 extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); 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) __attribute__ ((__warn_unused_result__)); extern void rewind (FILE *__stream); # 773 "/usr/include/stdio.h" 3 4 extern int fseeko (FILE *__stream, __off_t __off, int __whence); extern __off_t ftello (FILE *__stream) __attribute__ ((__warn_unused_result__)); # 792 "/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); # 815 "/usr/include/stdio.h" 3 4 extern int fseeko64 (FILE *__stream, __off64_t __off, int __whence); extern __off64_t ftello64 (FILE *__stream) __attribute__ ((__warn_unused_result__)); extern int fgetpos64 (FILE *__restrict __stream, fpos64_t *__restrict __pos); extern int fsetpos64 (FILE *__stream, const fpos64_t *__pos); extern void clearerr (FILE *__stream) throw (); extern int feof (FILE *__stream) throw () __attribute__ ((__warn_unused_result__)); extern int ferror (FILE *__stream) throw () __attribute__ ((__warn_unused_result__)); extern void clearerr_unlocked (FILE *__stream) throw (); extern int feof_unlocked (FILE *__stream) throw () __attribute__ ((__warn_unused_result__)); extern int ferror_unlocked (FILE *__stream) throw () __attribute__ ((__warn_unused_result__)); extern void perror (const char *__s); # 1 "/usr/include/bits/sys_errlist.h" 1 3 4 # 26 "/usr/include/bits/sys_errlist.h" 3 4 extern int sys_nerr; extern const char *const sys_errlist[]; extern int _sys_nerr; extern const char *const _sys_errlist[]; # 854 "/usr/include/stdio.h" 2 3 4 extern int fileno (FILE *__stream) throw () __attribute__ ((__warn_unused_result__)); extern int fileno_unlocked (FILE *__stream) throw () __attribute__ ((__warn_unused_result__)); # 872 "/usr/include/stdio.h" 3 4 extern FILE *popen (const char *__command, const char *__modes) __attribute__ ((__warn_unused_result__)); extern int pclose (FILE *__stream); extern char *ctermid (char *__s) throw (); extern char *cuserid (char *__s); struct obstack; extern int obstack_printf (struct obstack *__restrict __obstack, const char *__restrict __format, ...) throw () __attribute__ ((__format__ (__printf__, 2, 3))); extern int obstack_vprintf (struct obstack *__restrict __obstack, const char *__restrict __format, __gnuc_va_list __args) throw () __attribute__ ((__format__ (__printf__, 2, 0))); extern void flockfile (FILE *__stream) throw (); extern int ftrylockfile (FILE *__stream) throw () __attribute__ ((__warn_unused_result__)); extern void funlockfile (FILE *__stream) throw (); # 936 "/usr/include/stdio.h" 3 4 # 1 "/usr/include/bits/stdio2.h" 1 3 4 # 23 "/usr/include/bits/stdio2.h" 3 4 extern int __sprintf_chk (char *__restrict __s, int __flag, size_t __slen, const char *__restrict __format, ...) throw (); extern int __vsprintf_chk (char *__restrict __s, int __flag, size_t __slen, const char *__restrict __format, __gnuc_va_list __ap) throw (); extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int __attribute__ ((__leaf__)) sprintf (char *__restrict __s, const char *__restrict __fmt, ...) throw () { return __builtin___sprintf_chk (__s, 2 - 1, __builtin_object_size (__s, 2 > 1), __fmt, __builtin_va_arg_pack ()); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int __attribute__ ((__leaf__)) vsprintf (char *__restrict __s, const char *__restrict __fmt, __gnuc_va_list __ap) throw () { return __builtin___vsprintf_chk (__s, 2 - 1, __builtin_object_size (__s, 2 > 1), __fmt, __ap); } extern int __snprintf_chk (char *__restrict __s, size_t __n, int __flag, size_t __slen, const char *__restrict __format, ...) throw (); extern int __vsnprintf_chk (char *__restrict __s, size_t __n, int __flag, size_t __slen, const char *__restrict __format, __gnuc_va_list __ap) throw (); extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int __attribute__ ((__leaf__)) snprintf (char *__restrict __s, size_t __n, const char *__restrict __fmt, ...) throw () { return __builtin___snprintf_chk (__s, __n, 2 - 1, __builtin_object_size (__s, 2 > 1), __fmt, __builtin_va_arg_pack ()); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int __attribute__ ((__leaf__)) vsnprintf (char *__restrict __s, size_t __n, const char *__restrict __fmt, __gnuc_va_list __ap) throw () { return __builtin___vsnprintf_chk (__s, __n, 2 - 1, __builtin_object_size (__s, 2 > 1), __fmt, __ap); } extern int __fprintf_chk (FILE *__restrict __stream, int __flag, const char *__restrict __format, ...); extern int __printf_chk (int __flag, const char *__restrict __format, ...); extern int __vfprintf_chk (FILE *__restrict __stream, int __flag, const char *__restrict __format, __gnuc_va_list __ap); extern int __vprintf_chk (int __flag, const char *__restrict __format, __gnuc_va_list __ap); extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int fprintf (FILE *__restrict __stream, const char *__restrict __fmt, ...) { return __fprintf_chk (__stream, 2 - 1, __fmt, __builtin_va_arg_pack ()); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int printf (const char *__restrict __fmt, ...) { return __printf_chk (2 - 1, __fmt, __builtin_va_arg_pack ()); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int vprintf (const char *__restrict __fmt, __gnuc_va_list __ap) { return __vprintf_chk (2 - 1, __fmt, __ap); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int vfprintf (FILE *__restrict __stream, const char *__restrict __fmt, __gnuc_va_list __ap) { return __vfprintf_chk (__stream, 2 - 1, __fmt, __ap); } extern int __dprintf_chk (int __fd, int __flag, const char *__restrict __fmt, ...) __attribute__ ((__format__ (__printf__, 3, 4))); extern int __vdprintf_chk (int __fd, int __flag, const char *__restrict __fmt, __gnuc_va_list __arg) __attribute__ ((__format__ (__printf__, 3, 0))); extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int dprintf (int __fd, const char *__restrict __fmt, ...) { return __dprintf_chk (__fd, 2 - 1, __fmt, __builtin_va_arg_pack ()); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int vdprintf (int __fd, const char *__restrict __fmt, __gnuc_va_list __ap) { return __vdprintf_chk (__fd, 2 - 1, __fmt, __ap); } extern int __asprintf_chk (char **__restrict __ptr, int __flag, const char *__restrict __fmt, ...) throw () __attribute__ ((__format__ (__printf__, 3, 4))) __attribute__ ((__warn_unused_result__)); extern int __vasprintf_chk (char **__restrict __ptr, int __flag, const char *__restrict __fmt, __gnuc_va_list __arg) throw () __attribute__ ((__format__ (__printf__, 3, 0))) __attribute__ ((__warn_unused_result__)); extern int __obstack_printf_chk (struct obstack *__restrict __obstack, int __flag, const char *__restrict __format, ...) throw () __attribute__ ((__format__ (__printf__, 3, 4))); extern int __obstack_vprintf_chk (struct obstack *__restrict __obstack, int __flag, const char *__restrict __format, __gnuc_va_list __args) throw () __attribute__ ((__format__ (__printf__, 3, 0))); extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int __attribute__ ((__leaf__)) asprintf (char **__restrict __ptr, const char *__restrict __fmt, ...) throw () { return __asprintf_chk (__ptr, 2 - 1, __fmt, __builtin_va_arg_pack ()); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int __attribute__ ((__leaf__)) __asprintf (char **__restrict __ptr, const char *__restrict __fmt, ...) throw () { return __asprintf_chk (__ptr, 2 - 1, __fmt, __builtin_va_arg_pack ()); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int __attribute__ ((__leaf__)) obstack_printf (struct obstack *__restrict __obstack, const char *__restrict __fmt, ...) throw () { return __obstack_printf_chk (__obstack, 2 - 1, __fmt, __builtin_va_arg_pack ()); } # 206 "/usr/include/bits/stdio2.h" 3 4 extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int __attribute__ ((__leaf__)) vasprintf (char **__restrict __ptr, const char *__restrict __fmt, __gnuc_va_list __ap) throw () { return __vasprintf_chk (__ptr, 2 - 1, __fmt, __ap); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int __attribute__ ((__leaf__)) obstack_vprintf (struct obstack *__restrict __obstack, const char *__restrict __fmt, __gnuc_va_list __ap) throw () { return __obstack_vprintf_chk (__obstack, 2 - 1, __fmt, __ap); } # 241 "/usr/include/bits/stdio2.h" 3 4 extern char *__fgets_chk (char *__restrict __s, size_t __size, int __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); extern char *__fgets_alias (char *__restrict __s, int __n, FILE *__restrict __stream) __asm__ ("" "fgets") __attribute__ ((__warn_unused_result__)); extern char *__fgets_chk_warn (char *__restrict __s, size_t __size, int __n, FILE *__restrict __stream) __asm__ ("" "__fgets_chk") __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgets called with bigger size than length " "of destination buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) char * fgets (char *__restrict __s, int __n, FILE *__restrict __stream) { if (__builtin_object_size (__s, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__n) || __n <= 0) return __fgets_chk (__s, __builtin_object_size (__s, 2 > 1), __n, __stream); if ((size_t) __n > __builtin_object_size (__s, 2 > 1)) return __fgets_chk_warn (__s, __builtin_object_size (__s, 2 > 1), __n, __stream); } return __fgets_alias (__s, __n, __stream); } extern size_t __fread_chk (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); extern size_t __fread_alias (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "fread") __attribute__ ((__warn_unused_result__)); extern size_t __fread_chk_warn (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "__fread_chk") __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fread called with bigger size * nmemb than length " "of destination buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) size_t fread (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) { if (__builtin_object_size (__ptr, 0) != (size_t) -1) { if (!__builtin_constant_p (__size) || !__builtin_constant_p (__n) || (__size | __n) >= (((size_t) 1) << (8 * sizeof (size_t) / 2))) return __fread_chk (__ptr, __builtin_object_size (__ptr, 0), __size, __n, __stream); if (__size * __n > __builtin_object_size (__ptr, 0)) return __fread_chk_warn (__ptr, __builtin_object_size (__ptr, 0), __size, __n, __stream); } return __fread_alias (__ptr, __size, __n, __stream); } extern char *__fgets_unlocked_chk (char *__restrict __s, size_t __size, int __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); extern char *__fgets_unlocked_alias (char *__restrict __s, int __n, FILE *__restrict __stream) __asm__ ("" "fgets_unlocked") __attribute__ ((__warn_unused_result__)); extern char *__fgets_unlocked_chk_warn (char *__restrict __s, size_t __size, int __n, FILE *__restrict __stream) __asm__ ("" "__fgets_unlocked_chk") __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgets_unlocked called with bigger size than length " "of destination buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) char * fgets_unlocked (char *__restrict __s, int __n, FILE *__restrict __stream) { if (__builtin_object_size (__s, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__n) || __n <= 0) return __fgets_unlocked_chk (__s, __builtin_object_size (__s, 2 > 1), __n, __stream); if ((size_t) __n > __builtin_object_size (__s, 2 > 1)) return __fgets_unlocked_chk_warn (__s, __builtin_object_size (__s, 2 > 1), __n, __stream); } return __fgets_unlocked_alias (__s, __n, __stream); } extern size_t __fread_unlocked_chk (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); extern size_t __fread_unlocked_alias (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "fread_unlocked") __attribute__ ((__warn_unused_result__)); extern size_t __fread_unlocked_chk_warn (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "__fread_unlocked_chk") __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fread_unlocked called with bigger size * nmemb than " "length of destination buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) size_t fread_unlocked (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) { if (__builtin_object_size (__ptr, 0) != (size_t) -1) { if (!__builtin_constant_p (__size) || !__builtin_constant_p (__n) || (__size | __n) >= (((size_t) 1) << (8 * sizeof (size_t) / 2))) return __fread_unlocked_chk (__ptr, __builtin_object_size (__ptr, 0), __size, __n, __stream); if (__size * __n > __builtin_object_size (__ptr, 0)) return __fread_unlocked_chk_warn (__ptr, __builtin_object_size (__ptr, 0), __size, __n, __stream); } # 380 "/usr/include/bits/stdio2.h" 3 4 return __fread_unlocked_alias (__ptr, __size, __n, __stream); } # 937 "/usr/include/stdio.h" 2 3 4 } # 4 "../../../dist/system_wrappers/stdio.h" 2 3 #pragma GCC visibility pop # 10 "../../../dist/include/nsTraceRefcnt.h" 2 # 1 "../../../dist/include/nscore.h" 1 # 15 "../../../dist/include/nscore.h" # 1 "../../../dist/include/xpcom-config.h" 1 # 16 "../../../dist/include/nscore.h" 2 # 1 "../../../dist/include/mozilla/mozalloc.h" 1 # 15 "../../../dist/include/mozilla/mozalloc.h" # 1 "../../../dist/system_wrappers/stdlib.h" 1 # 2 "../../../dist/system_wrappers/stdlib.h" 3 #pragma GCC visibility push(default) # 1 "/usr/include/stdlib.h" 1 3 4 # 24 "/usr/include/stdlib.h" 3 4 # 1 "../../../dist/system_wrappers/features.h" 1 3 4 # 2 "../../../dist/system_wrappers/features.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 25 "/usr/include/stdlib.h" 2 3 4 # 1 "../../../dist/system_wrappers/stddef.h" 1 3 4 # 2 "../../../dist/system_wrappers/stddef.h" 3 #pragma GCC visibility push(default) # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/stddef.h" 1 3 4 # 4 "../../../dist/system_wrappers/stddef.h" 2 3 #pragma GCC visibility pop # 33 "/usr/include/stdlib.h" 2 3 4 extern "C" { # 1 "/usr/include/bits/waitflags.h" 1 3 4 # 42 "/usr/include/stdlib.h" 2 3 4 # 1 "/usr/include/bits/waitstatus.h" 1 3 4 # 64 "/usr/include/bits/waitstatus.h" 3 4 # 1 "../../../dist/system_wrappers/endian.h" 1 3 4 # 2 "../../../dist/system_wrappers/endian.h" 3 #pragma GCC visibility push(default) # 1 "/usr/include/endian.h" 1 3 4 # 21 "/usr/include/endian.h" 3 4 # 1 "../../../dist/system_wrappers/features.h" 1 3 4 # 2 "../../../dist/system_wrappers/features.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 22 "/usr/include/endian.h" 2 3 4 # 36 "/usr/include/endian.h" 3 4 # 1 "/usr/include/bits/endian.h" 1 3 4 # 37 "/usr/include/endian.h" 2 3 4 # 60 "/usr/include/endian.h" 3 4 # 1 "/usr/include/bits/byteswap.h" 1 3 4 # 26 "/usr/include/bits/byteswap.h" 3 4 # 1 "../../../dist/system_wrappers/features.h" 1 3 4 # 2 "../../../dist/system_wrappers/features.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 27 "/usr/include/bits/byteswap.h" 2 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 29 "/usr/include/bits/byteswap.h" 2 3 4 # 1 "/usr/include/bits/byteswap-16.h" 1 3 4 # 36 "/usr/include/bits/byteswap.h" 2 3 4 # 44 "/usr/include/bits/byteswap.h" 3 4 static __inline unsigned int __bswap_32 (unsigned int __bsx) { return __builtin_bswap32 (__bsx); } # 108 "/usr/include/bits/byteswap.h" 3 4 static __inline __uint64_t __bswap_64 (__uint64_t __bsx) { return __builtin_bswap64 (__bsx); } # 61 "/usr/include/endian.h" 2 3 4 # 4 "../../../dist/system_wrappers/endian.h" 2 3 #pragma GCC visibility pop # 65 "/usr/include/bits/waitstatus.h" 2 3 4 union wait { int w_status; struct { unsigned int __w_termsig:7; unsigned int __w_coredump:1; unsigned int __w_retcode:8; unsigned int:16; } __wait_terminated; struct { unsigned int __w_stopval:8; unsigned int __w_stopsig:8; unsigned int:16; } __wait_stopped; }; # 43 "/usr/include/stdlib.h" 2 3 4 # 95 "/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; # 139 "/usr/include/stdlib.h" 3 4 extern size_t __ctype_get_mb_cur_max (void) throw () __attribute__ ((__warn_unused_result__)); extern double atof (const char *__nptr) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern int atoi (const char *__nptr) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern long int atol (const char *__nptr) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); __extension__ extern long long int atoll (const char *__nptr) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern double strtod (const char *__restrict __nptr, char **__restrict __endptr) throw () __attribute__ ((__nonnull__ (1))); extern float strtof (const char *__restrict __nptr, char **__restrict __endptr) throw () __attribute__ ((__nonnull__ (1))); extern long double strtold (const char *__restrict __nptr, char **__restrict __endptr) throw () __attribute__ ((__nonnull__ (1))); extern long int strtol (const char *__restrict __nptr, char **__restrict __endptr, int __base) throw () __attribute__ ((__nonnull__ (1))); extern unsigned long int strtoul (const char *__restrict __nptr, char **__restrict __endptr, int __base) throw () __attribute__ ((__nonnull__ (1))); __extension__ extern long long int strtoq (const char *__restrict __nptr, char **__restrict __endptr, int __base) throw () __attribute__ ((__nonnull__ (1))); __extension__ extern unsigned long long int strtouq (const char *__restrict __nptr, char **__restrict __endptr, int __base) throw () __attribute__ ((__nonnull__ (1))); __extension__ extern long long int strtoll (const char *__restrict __nptr, char **__restrict __endptr, int __base) throw () __attribute__ ((__nonnull__ (1))); __extension__ extern unsigned long long int strtoull (const char *__restrict __nptr, char **__restrict __endptr, int __base) throw () __attribute__ ((__nonnull__ (1))); # 235 "/usr/include/stdlib.h" 3 4 # 1 "../../../dist/system_wrappers/xlocale.h" 1 3 4 # 2 "../../../dist/system_wrappers/xlocale.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 236 "/usr/include/stdlib.h" 2 3 4 extern long int strtol_l (const char *__restrict __nptr, char **__restrict __endptr, int __base, __locale_t __loc) throw () __attribute__ ((__nonnull__ (1, 4))); extern unsigned long int strtoul_l (const char *__restrict __nptr, char **__restrict __endptr, int __base, __locale_t __loc) throw () __attribute__ ((__nonnull__ (1, 4))); __extension__ extern long long int strtoll_l (const char *__restrict __nptr, char **__restrict __endptr, int __base, __locale_t __loc) throw () __attribute__ ((__nonnull__ (1, 4))); __extension__ extern unsigned long long int strtoull_l (const char *__restrict __nptr, char **__restrict __endptr, int __base, __locale_t __loc) throw () __attribute__ ((__nonnull__ (1, 4))); extern double strtod_l (const char *__restrict __nptr, char **__restrict __endptr, __locale_t __loc) throw () __attribute__ ((__nonnull__ (1, 3))); extern float strtof_l (const char *__restrict __nptr, char **__restrict __endptr, __locale_t __loc) throw () __attribute__ ((__nonnull__ (1, 3))); extern long double strtold_l (const char *__restrict __nptr, char **__restrict __endptr, __locale_t __loc) throw () __attribute__ ((__nonnull__ (1, 3))); # 305 "/usr/include/stdlib.h" 3 4 extern char *l64a (long int __n) throw () __attribute__ ((__warn_unused_result__)); extern long int a64l (const char *__s) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); # 1 "../../../dist/system_wrappers/sys/types.h" 1 3 4 # 2 "../../../dist/system_wrappers/sys/types.h" 3 #pragma GCC visibility push(default) # 1 "/usr/include/sys/types.h" 1 3 4 # 25 "/usr/include/sys/types.h" 3 4 # 1 "../../../dist/system_wrappers/features.h" 1 3 4 # 2 "../../../dist/system_wrappers/features.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 26 "/usr/include/sys/types.h" 2 3 4 extern "C" { 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; typedef __ino64_t ino64_t; 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; # 98 "/usr/include/sys/types.h" 3 4 typedef __pid_t pid_t; typedef __id_t id_t; # 115 "/usr/include/sys/types.h" 3 4 typedef __daddr_t daddr_t; typedef __caddr_t caddr_t; typedef __key_t key_t; # 132 "/usr/include/sys/types.h" 3 4 # 1 "../../../dist/system_wrappers/time.h" 1 3 4 # 2 "../../../dist/system_wrappers/time.h" 3 #pragma GCC visibility push(default) # 1 "/usr/include/time.h" 1 3 4 # 57 "/usr/include/time.h" 3 4 typedef __clock_t clock_t; # 73 "/usr/include/time.h" 3 4 typedef __time_t time_t; # 91 "/usr/include/time.h" 3 4 typedef __clockid_t clockid_t; # 103 "/usr/include/time.h" 3 4 typedef __timer_t timer_t; # 4 "../../../dist/system_wrappers/time.h" 2 3 #pragma GCC visibility pop # 133 "/usr/include/sys/types.h" 2 3 4 typedef __useconds_t useconds_t; typedef __suseconds_t suseconds_t; # 1 "../../../dist/system_wrappers/stddef.h" 1 3 4 # 2 "../../../dist/system_wrappers/stddef.h" 3 #pragma GCC visibility push(default) # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/stddef.h" 1 3 4 # 4 "../../../dist/system_wrappers/stddef.h" 2 3 #pragma GCC visibility pop # 147 "/usr/include/sys/types.h" 2 3 4 typedef unsigned long int ulong; typedef unsigned short int ushort; typedef unsigned int uint; # 194 "/usr/include/sys/types.h" 3 4 typedef int int8_t __attribute__ ((__mode__ (__QI__))); typedef int int16_t __attribute__ ((__mode__ (__HI__))); typedef int int32_t __attribute__ ((__mode__ (__SI__))); typedef int int64_t __attribute__ ((__mode__ (__DI__))); typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__))); typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__))); typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__))); typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__))); typedef int register_t __attribute__ ((__mode__ (__word__))); # 216 "/usr/include/sys/types.h" 3 4 # 1 "../../../dist/system_wrappers/endian.h" 1 3 4 # 2 "../../../dist/system_wrappers/endian.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 217 "/usr/include/sys/types.h" 2 3 4 # 1 "../../../dist/system_wrappers/sys/select.h" 1 3 4 # 2 "../../../dist/system_wrappers/sys/select.h" 3 #pragma GCC visibility push(default) # 1 "/usr/include/sys/select.h" 1 3 4 # 24 "/usr/include/sys/select.h" 3 4 # 1 "../../../dist/system_wrappers/features.h" 1 3 4 # 2 "../../../dist/system_wrappers/features.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 25 "/usr/include/sys/select.h" 2 3 4 # 1 "/usr/include/bits/select.h" 1 3 4 # 22 "/usr/include/bits/select.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 23 "/usr/include/bits/select.h" 2 3 4 # 31 "/usr/include/sys/select.h" 2 3 4 # 1 "/usr/include/bits/sigset.h" 1 3 4 # 22 "/usr/include/bits/sigset.h" 3 4 typedef int __sig_atomic_t; typedef struct { unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; } __sigset_t; # 34 "/usr/include/sys/select.h" 2 3 4 typedef __sigset_t sigset_t; # 1 "../../../dist/system_wrappers/time.h" 1 3 4 # 2 "../../../dist/system_wrappers/time.h" 3 #pragma GCC visibility push(default) # 1 "/usr/include/time.h" 1 3 4 # 120 "/usr/include/time.h" 3 4 struct timespec { __time_t tv_sec; __syscall_slong_t tv_nsec; }; # 4 "../../../dist/system_wrappers/time.h" 2 3 #pragma GCC visibility pop # 44 "/usr/include/sys/select.h" 2 3 4 # 1 "/usr/include/bits/time.h" 1 3 4 # 30 "/usr/include/bits/time.h" 3 4 struct timeval { __time_t tv_sec; __suseconds_t tv_usec; }; # 46 "/usr/include/sys/select.h" 2 3 4 # 54 "/usr/include/sys/select.h" 3 4 typedef long int __fd_mask; # 64 "/usr/include/sys/select.h" 3 4 typedef struct { __fd_mask fds_bits[1024 / (8 * (int) sizeof (__fd_mask))]; } fd_set; typedef __fd_mask fd_mask; # 96 "/usr/include/sys/select.h" 3 4 extern "C" { # 106 "/usr/include/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); # 118 "/usr/include/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); # 1 "/usr/include/bits/select2.h" 1 3 4 # 24 "/usr/include/bits/select2.h" 3 4 extern long int __fdelt_chk (long int __d); extern long int __fdelt_warn (long int __d) __attribute__((__warning__ ("bit outside of fd_set selected"))); # 129 "/usr/include/sys/select.h" 2 3 4 } # 4 "../../../dist/system_wrappers/sys/select.h" 2 3 #pragma GCC visibility pop # 220 "/usr/include/sys/types.h" 2 3 4 # 1 "/usr/include/sys/sysmacros.h" 1 3 4 # 22 "/usr/include/sys/sysmacros.h" 3 4 # 1 "../../../dist/system_wrappers/features.h" 1 3 4 # 2 "../../../dist/system_wrappers/features.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 23 "/usr/include/sys/sysmacros.h" 2 3 4 extern "C" { __extension__ extern unsigned int gnu_dev_major (unsigned long long int __dev) throw () __attribute__ ((__const__)); __extension__ extern unsigned int gnu_dev_minor (unsigned long long int __dev) throw () __attribute__ ((__const__)); __extension__ extern unsigned long long int gnu_dev_makedev (unsigned int __major, unsigned int __minor) throw () __attribute__ ((__const__)); # 58 "/usr/include/sys/sysmacros.h" 3 4 } # 223 "/usr/include/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; # 262 "/usr/include/sys/types.h" 3 4 typedef __blkcnt64_t blkcnt64_t; typedef __fsblkcnt64_t fsblkcnt64_t; typedef __fsfilcnt64_t fsfilcnt64_t; # 1 "/usr/include/bits/pthreadtypes.h" 1 3 4 # 21 "/usr/include/bits/pthreadtypes.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 22 "/usr/include/bits/pthreadtypes.h" 2 3 4 # 60 "/usr/include/bits/pthreadtypes.h" 3 4 typedef unsigned long int pthread_t; union pthread_attr_t { char __size[36]; long int __align; }; typedef union pthread_attr_t pthread_attr_t; # 81 "/usr/include/bits/pthreadtypes.h" 3 4 typedef struct __pthread_internal_slist { struct __pthread_internal_slist *__next; } __pthread_slist_t; typedef union { struct __pthread_mutex_s { int __lock; unsigned int __count; int __owner; int __kind; # 111 "/usr/include/bits/pthreadtypes.h" 3 4 unsigned int __nusers; __extension__ union { struct { short __espins; short __elision; } __elision_data; __pthread_slist_t __list; }; } __data; char __size[24]; long int __align; } pthread_mutex_t; typedef union { char __size[4]; int __align; } pthread_mutexattr_t; typedef union { struct { int __lock; unsigned int __futex; __extension__ unsigned long long int __total_seq; __extension__ unsigned long long int __wakeup_seq; __extension__ unsigned long long int __woken_seq; void *__mutex; unsigned int __nwaiters; unsigned int __broadcast_seq; } __data; char __size[48]; __extension__ long long int __align; } pthread_cond_t; typedef union { char __size[4]; int __align; } pthread_condattr_t; typedef unsigned int pthread_key_t; typedef int pthread_once_t; typedef union { # 202 "/usr/include/bits/pthreadtypes.h" 3 4 struct { int __lock; unsigned int __nr_readers; unsigned int __readers_wakeup; unsigned int __writer_wakeup; unsigned int __nr_readers_queued; unsigned int __nr_writers_queued; unsigned char __flags; unsigned char __shared; signed char __rwelision; unsigned char __pad2; int __writer; } __data; char __size[32]; 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[20]; long int __align; } pthread_barrier_t; typedef union { char __size[4]; int __align; } pthread_barrierattr_t; # 271 "/usr/include/sys/types.h" 2 3 4 } # 4 "../../../dist/system_wrappers/sys/types.h" 2 3 #pragma GCC visibility pop # 315 "/usr/include/stdlib.h" 2 3 4 extern long int random (void) throw (); extern void srandom (unsigned int __seed) throw (); extern char *initstate (unsigned int __seed, char *__statebuf, size_t __statelen) throw () __attribute__ ((__nonnull__ (2))); extern char *setstate (char *__statebuf) throw () __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) throw () __attribute__ ((__nonnull__ (1, 2))); extern int srandom_r (unsigned int __seed, struct random_data *__buf) throw () __attribute__ ((__nonnull__ (2))); extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, size_t __statelen, struct random_data *__restrict __buf) throw () __attribute__ ((__nonnull__ (2, 4))); extern int setstate_r (char *__restrict __statebuf, struct random_data *__restrict __buf) throw () __attribute__ ((__nonnull__ (1, 2))); extern int rand (void) throw (); extern void srand (unsigned int __seed) throw (); extern int rand_r (unsigned int *__seed) throw (); extern double drand48 (void) throw (); extern double erand48 (unsigned short int __xsubi[3]) throw () __attribute__ ((__nonnull__ (1))); extern long int lrand48 (void) throw (); extern long int nrand48 (unsigned short int __xsubi[3]) throw () __attribute__ ((__nonnull__ (1))); extern long int mrand48 (void) throw (); extern long int jrand48 (unsigned short int __xsubi[3]) throw () __attribute__ ((__nonnull__ (1))); extern void srand48 (long int __seedval) throw (); extern unsigned short int *seed48 (unsigned short int __seed16v[3]) throw () __attribute__ ((__nonnull__ (1))); extern void lcong48 (unsigned short int __param[7]) throw () __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) throw () __attribute__ ((__nonnull__ (1, 2))); extern int erand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, double *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2))); extern int lrand48_r (struct drand48_data *__restrict __buffer, long int *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2))); extern int nrand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, long int *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2))); extern int mrand48_r (struct drand48_data *__restrict __buffer, long int *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2))); extern int jrand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, long int *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2))); extern int srand48_r (long int __seedval, struct drand48_data *__buffer) throw () __attribute__ ((__nonnull__ (2))); extern int seed48_r (unsigned short int __seed16v[3], struct drand48_data *__buffer) throw () __attribute__ ((__nonnull__ (1, 2))); extern int lcong48_r (unsigned short int __param[7], struct drand48_data *__buffer) throw () __attribute__ ((__nonnull__ (1, 2))); extern void *malloc (size_t __size) throw () __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__)); extern void *calloc (size_t __nmemb, size_t __size) throw () __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__)); extern void *realloc (void *__ptr, size_t __size) throw () __attribute__ ((__warn_unused_result__)); extern void free (void *__ptr) throw (); extern void cfree (void *__ptr) throw (); # 1 "../../../dist/system_wrappers/alloca.h" 1 3 4 # 2 "../../../dist/system_wrappers/alloca.h" 3 #pragma GCC visibility push(default) # 1 "/usr/include/alloca.h" 1 3 4 # 21 "/usr/include/alloca.h" 3 4 # 1 "../../../dist/system_wrappers/features.h" 1 3 4 # 2 "../../../dist/system_wrappers/features.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 22 "/usr/include/alloca.h" 2 3 4 # 1 "../../../dist/system_wrappers/stddef.h" 1 3 4 # 2 "../../../dist/system_wrappers/stddef.h" 3 #pragma GCC visibility push(default) # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/stddef.h" 1 3 4 # 4 "../../../dist/system_wrappers/stddef.h" 2 3 #pragma GCC visibility pop # 25 "/usr/include/alloca.h" 2 3 4 extern "C" { extern void *alloca (size_t __size) throw (); } # 4 "../../../dist/system_wrappers/alloca.h" 2 3 #pragma GCC visibility pop # 493 "/usr/include/stdlib.h" 2 3 4 extern void *valloc (size_t __size) throw () __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__)); extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern void *aligned_alloc (size_t __alignment, size_t __size) throw () __attribute__ ((__malloc__)) __attribute__ ((__alloc_size__ (2))) __attribute__ ((__warn_unused_result__)); extern void abort (void) throw () __attribute__ ((__noreturn__)); extern int atexit (void (*__func) (void)) throw () __attribute__ ((__nonnull__ (1))); extern "C++" int at_quick_exit (void (*__func) (void)) throw () __asm ("at_quick_exit") __attribute__ ((__nonnull__ (1))); extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) throw () __attribute__ ((__nonnull__ (1))); extern void exit (int __status) throw () __attribute__ ((__noreturn__)); extern void quick_exit (int __status) throw () __attribute__ ((__noreturn__)); extern void _Exit (int __status) throw () __attribute__ ((__noreturn__)); extern char *getenv (const char *__name) throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern char *secure_getenv (const char *__name) throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern int putenv (char *__string) throw () __attribute__ ((__nonnull__ (1))); extern int setenv (const char *__name, const char *__value, int __replace) throw () __attribute__ ((__nonnull__ (2))); extern int unsetenv (const char *__name) throw () __attribute__ ((__nonnull__ (1))); extern int clearenv (void) throw (); # 606 "/usr/include/stdlib.h" 3 4 extern char *mktemp (char *__template) throw () __attribute__ ((__nonnull__ (1))); # 619 "/usr/include/stdlib.h" 3 4 extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); # 629 "/usr/include/stdlib.h" 3 4 extern int mkstemp64 (char *__template) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); # 641 "/usr/include/stdlib.h" 3 4 extern int mkstemps (char *__template, int __suffixlen) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); # 651 "/usr/include/stdlib.h" 3 4 extern int mkstemps64 (char *__template, int __suffixlen) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); # 662 "/usr/include/stdlib.h" 3 4 extern char *mkdtemp (char *__template) throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); # 673 "/usr/include/stdlib.h" 3 4 extern int mkostemp (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); # 683 "/usr/include/stdlib.h" 3 4 extern int mkostemp64 (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); # 693 "/usr/include/stdlib.h" 3 4 extern int mkostemps (char *__template, int __suffixlen, int __flags) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); # 705 "/usr/include/stdlib.h" 3 4 extern int mkostemps64 (char *__template, int __suffixlen, int __flags) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern int system (const char *__command) __attribute__ ((__warn_unused_result__)); extern char *canonicalize_file_name (const char *__name) throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); # 733 "/usr/include/stdlib.h" 3 4 extern char *realpath (const char *__restrict __name, char *__restrict __resolved) throw () __attribute__ ((__warn_unused_result__)); typedef int (*__compar_fn_t) (const void *, const void *); typedef __compar_fn_t comparison_fn_t; typedef int (*__compar_d_fn_t) (const void *, const void *, void *); extern void *bsearch (const void *__key, const void *__base, size_t __nmemb, size_t __size, __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 2, 5))) __attribute__ ((__warn_unused_result__)); extern void qsort (void *__base, size_t __nmemb, size_t __size, __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4))); extern void qsort_r (void *__base, size_t __nmemb, size_t __size, __compar_d_fn_t __compar, void *__arg) __attribute__ ((__nonnull__ (1, 4))); extern int abs (int __x) throw () __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); extern long int labs (long int __x) throw () __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); __extension__ extern long long int llabs (long long int __x) throw () __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); extern div_t div (int __numer, int __denom) throw () __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); extern ldiv_t ldiv (long int __numer, long int __denom) throw () __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); __extension__ extern lldiv_t lldiv (long long int __numer, long long int __denom) throw () __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); # 811 "/usr/include/stdlib.h" 3 4 extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) throw () __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) throw () __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); extern char *gcvt (double __value, int __ndigit, char *__buf) throw () __attribute__ ((__nonnull__ (3))) __attribute__ ((__warn_unused_result__)); extern char *qecvt (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) throw () __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); extern char *qfcvt (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) throw () __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); extern char *qgcvt (long double __value, int __ndigit, char *__buf) throw () __attribute__ ((__nonnull__ (3))) __attribute__ ((__warn_unused_result__)); extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) throw () __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) throw () __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) throw () __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) throw () __attribute__ ((__nonnull__ (3, 4, 5))); extern int mblen (const char *__s, size_t __n) throw (); extern int mbtowc (wchar_t *__restrict __pwc, const char *__restrict __s, size_t __n) throw (); extern int wctomb (char *__s, wchar_t __wchar) throw (); extern size_t mbstowcs (wchar_t *__restrict __pwcs, const char *__restrict __s, size_t __n) throw (); extern size_t wcstombs (char *__restrict __s, const wchar_t *__restrict __pwcs, size_t __n) throw (); extern int rpmatch (const char *__response) throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); # 898 "/usr/include/stdlib.h" 3 4 extern int getsubopt (char **__restrict __optionp, char *const *__restrict __tokens, char **__restrict __valuep) throw () __attribute__ ((__nonnull__ (1, 2, 3))) __attribute__ ((__warn_unused_result__)); extern void setkey (const char *__key) throw () __attribute__ ((__nonnull__ (1))); extern int posix_openpt (int __oflag) __attribute__ ((__warn_unused_result__)); extern int grantpt (int __fd) throw (); extern int unlockpt (int __fd) throw (); extern char *ptsname (int __fd) throw () __attribute__ ((__warn_unused_result__)); extern int ptsname_r (int __fd, char *__buf, size_t __buflen) throw () __attribute__ ((__nonnull__ (2))); extern int getpt (void); extern int getloadavg (double __loadavg[], int __nelem) throw () __attribute__ ((__nonnull__ (1))); # 1 "/usr/include/bits/stdlib-float.h" 1 3 4 # 955 "/usr/include/stdlib.h" 2 3 4 # 1 "/usr/include/bits/stdlib.h" 1 3 4 # 23 "/usr/include/bits/stdlib.h" 3 4 extern char *__realpath_chk (const char *__restrict __name, char *__restrict __resolved, size_t __resolvedlen) throw () __attribute__ ((__warn_unused_result__)); extern char *__realpath_alias (const char *__restrict __name, char *__restrict __resolved) throw () __asm__ ("" "realpath") __attribute__ ((__warn_unused_result__)); extern char *__realpath_chk_warn (const char *__restrict __name, char *__restrict __resolved, size_t __resolvedlen) throw () __asm__ ("" "__realpath_chk") __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("second argument of realpath must be either NULL or at " "least PATH_MAX bytes long buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) char * __attribute__ ((__leaf__)) realpath (const char *__restrict __name, char *__restrict __resolved) throw () { if (__builtin_object_size (__resolved, 2 > 1) != (size_t) -1) { return __realpath_chk (__name, __resolved, __builtin_object_size (__resolved, 2 > 1)); } return __realpath_alias (__name, __resolved); } extern int __ptsname_r_chk (int __fd, char *__buf, size_t __buflen, size_t __nreal) throw () __attribute__ ((__nonnull__ (2))); extern int __ptsname_r_alias (int __fd, char *__buf, size_t __buflen) throw () __asm__ ("" "ptsname_r") __attribute__ ((__nonnull__ (2))); extern int __ptsname_r_chk_warn (int __fd, char *__buf, size_t __buflen, size_t __nreal) throw () __asm__ ("" "__ptsname_r_chk") __attribute__ ((__nonnull__ (2))) __attribute__((__warning__ ("ptsname_r called with buflen bigger than " "size of buf"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int __attribute__ ((__leaf__)) ptsname_r (int __fd, char *__buf, size_t __buflen) throw () { if (__builtin_object_size (__buf, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__buflen)) return __ptsname_r_chk (__fd, __buf, __buflen, __builtin_object_size (__buf, 2 > 1)); if (__buflen > __builtin_object_size (__buf, 2 > 1)) return __ptsname_r_chk_warn (__fd, __buf, __buflen, __builtin_object_size (__buf, 2 > 1)); } return __ptsname_r_alias (__fd, __buf, __buflen); } extern int __wctomb_chk (char *__s, wchar_t __wchar, size_t __buflen) throw () __attribute__ ((__warn_unused_result__)); extern int __wctomb_alias (char *__s, wchar_t __wchar) throw () __asm__ ("" "wctomb") __attribute__ ((__warn_unused_result__)); extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) int __attribute__ ((__leaf__)) wctomb (char *__s, wchar_t __wchar) throw () { if (__builtin_object_size (__s, 2 > 1) != (size_t) -1 && 16 > __builtin_object_size (__s, 2 > 1)) return __wctomb_chk (__s, __wchar, __builtin_object_size (__s, 2 > 1)); return __wctomb_alias (__s, __wchar); } extern size_t __mbstowcs_chk (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len, size_t __dstlen) throw (); extern size_t __mbstowcs_alias (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len) throw () __asm__ ("" "mbstowcs") ; extern size_t __mbstowcs_chk_warn (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len, size_t __dstlen) throw () __asm__ ("" "__mbstowcs_chk") __attribute__((__warning__ ("mbstowcs called with dst buffer smaller than len " "* sizeof (wchar_t)"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t __attribute__ ((__leaf__)) mbstowcs (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len) throw () { if (__builtin_object_size (__dst, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__len)) return __mbstowcs_chk (__dst, __src, __len, __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)); if (__len > __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)) return __mbstowcs_chk_warn (__dst, __src, __len, __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)); } return __mbstowcs_alias (__dst, __src, __len); } extern size_t __wcstombs_chk (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len, size_t __dstlen) throw (); extern size_t __wcstombs_alias (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len) throw () __asm__ ("" "wcstombs") ; extern size_t __wcstombs_chk_warn (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len, size_t __dstlen) throw () __asm__ ("" "__wcstombs_chk") __attribute__((__warning__ ("wcstombs called with dst buffer smaller than len"))); extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t __attribute__ ((__leaf__)) wcstombs (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len) throw () { if (__builtin_object_size (__dst, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__len)) return __wcstombs_chk (__dst, __src, __len, __builtin_object_size (__dst, 2 > 1)); if (__len > __builtin_object_size (__dst, 2 > 1)) return __wcstombs_chk_warn (__dst, __src, __len, __builtin_object_size (__dst, 2 > 1)); } return __wcstombs_alias (__dst, __src, __len); } # 959 "/usr/include/stdlib.h" 2 3 4 # 967 "/usr/include/stdlib.h" 3 4 } # 4 "../../../dist/system_wrappers/stdlib.h" 2 3 #pragma GCC visibility pop # 16 "../../../dist/include/mozilla/mozalloc.h" 2 # 1 "../../../dist/system_wrappers/string.h" 1 # 2 "../../../dist/system_wrappers/string.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 17 "../../../dist/include/mozilla/mozalloc.h" 2 # 1 "../../../dist/stl_wrappers/new" 1 # 18 "../../../dist/stl_wrappers/new" # 19 "../../../dist/stl_wrappers/new" 3 # 33 "../../../dist/stl_wrappers/new" 3 # 1 "../../../dist/system_wrappers/new" 1 3 # 2 "../../../dist/system_wrappers/new" 3 #pragma GCC visibility push(default) # 1 "/usr/include/c++/5.0.0/new" 1 3 # 37 "/usr/include/c++/5.0.0/new" 3 # 38 "/usr/include/c++/5.0.0/new" 3 # 1 "../../../dist/system_wrappers/exception" 1 3 # 2 "../../../dist/system_wrappers/exception" 3 #pragma GCC visibility push(default) # 1 "/usr/include/c++/5.0.0/exception" 1 3 # 33 "/usr/include/c++/5.0.0/exception" 3 # 34 "/usr/include/c++/5.0.0/exception" 3 #pragma GCC visibility push(default) # 1 "/usr/include/c++/5.0.0/bits/atomic_lockfree_defines.h" 1 3 # 33 "/usr/include/c++/5.0.0/bits/atomic_lockfree_defines.h" 3 # 34 "/usr/include/c++/5.0.0/bits/atomic_lockfree_defines.h" 3 # 39 "/usr/include/c++/5.0.0/exception" 2 3 extern "C++" { namespace std { # 60 "/usr/include/c++/5.0.0/exception" 3 class exception { public: exception() noexcept { } virtual ~exception() noexcept; virtual const char* what() const noexcept; }; class bad_exception : public exception { public: bad_exception() noexcept { } virtual ~bad_exception() noexcept; virtual const char* what() const noexcept; }; typedef void (*terminate_handler) (); typedef void (*unexpected_handler) (); terminate_handler set_terminate(terminate_handler) noexcept; terminate_handler get_terminate() noexcept; void terminate() noexcept __attribute__ ((__noreturn__)); unexpected_handler set_unexpected(unexpected_handler) noexcept; unexpected_handler get_unexpected() noexcept; void unexpected() __attribute__ ((__noreturn__)); # 127 "/usr/include/c++/5.0.0/exception" 3 bool uncaught_exception() noexcept __attribute__ ((__pure__)); } namespace __gnu_cxx { # 152 "/usr/include/c++/5.0.0/exception" 3 void __verbose_terminate_handler(); } } #pragma GCC visibility pop # 1 "/usr/include/c++/5.0.0/bits/exception_ptr.h" 1 3 # 34 "/usr/include/c++/5.0.0/bits/exception_ptr.h" 3 #pragma GCC visibility push(default) # 1 "/usr/include/c++/5.0.0/bits/exception_defines.h" 1 3 # 38 "/usr/include/c++/5.0.0/bits/exception_ptr.h" 2 3 extern "C++" { namespace std { class type_info; namespace __exception_ptr { class exception_ptr; } using __exception_ptr::exception_ptr; exception_ptr current_exception() noexcept; void rethrow_exception(exception_ptr) __attribute__ ((__noreturn__)); namespace __exception_ptr { class exception_ptr { void* _M_exception_object; explicit exception_ptr(void* __e) noexcept; void _M_addref() noexcept; void _M_release() noexcept; void *_M_get() const noexcept __attribute__ ((__pure__)); friend exception_ptr std::current_exception() noexcept; friend void std::rethrow_exception(exception_ptr); public: exception_ptr() noexcept; exception_ptr(const exception_ptr&) noexcept; exception_ptr(nullptr_t) noexcept : _M_exception_object(0) { } exception_ptr(exception_ptr&& __o) noexcept : _M_exception_object(__o._M_exception_object) { __o._M_exception_object = 0; } # 111 "/usr/include/c++/5.0.0/bits/exception_ptr.h" 3 exception_ptr& operator=(const exception_ptr&) noexcept; exception_ptr& operator=(exception_ptr&& __o) noexcept { exception_ptr(static_cast(__o)).swap(*this); return *this; } ~exception_ptr() noexcept; void swap(exception_ptr&) noexcept; # 138 "/usr/include/c++/5.0.0/bits/exception_ptr.h" 3 explicit operator bool() const { return _M_exception_object; } friend bool operator==(const exception_ptr&, const exception_ptr&) noexcept __attribute__ ((__pure__)); const class std::type_info* __cxa_exception_type() const noexcept __attribute__ ((__pure__)); }; bool operator==(const exception_ptr&, const exception_ptr&) noexcept __attribute__ ((__pure__)); bool operator!=(const exception_ptr&, const exception_ptr&) noexcept __attribute__ ((__pure__)); inline void swap(exception_ptr& __lhs, exception_ptr& __rhs) { __lhs.swap(__rhs); } } template exception_ptr make_exception_ptr(_Ex __ex) noexcept { # 181 "/usr/include/c++/5.0.0/bits/exception_ptr.h" 3 return exception_ptr(); } template exception_ptr copy_exception(_Ex __ex) noexcept __attribute__ ((__deprecated__)); template exception_ptr copy_exception(_Ex __ex) noexcept { return std::make_exception_ptr<_Ex>(__ex); } } } #pragma GCC visibility pop # 163 "/usr/include/c++/5.0.0/exception" 2 3 # 1 "/usr/include/c++/5.0.0/bits/nested_exception.h" 1 3 # 33 "/usr/include/c++/5.0.0/bits/nested_exception.h" 3 #pragma GCC visibility push(default) # 45 "/usr/include/c++/5.0.0/bits/nested_exception.h" 3 extern "C++" { namespace std { class nested_exception { exception_ptr _M_ptr; public: nested_exception() noexcept : _M_ptr(current_exception()) { } nested_exception(const nested_exception&) noexcept = default; nested_exception& operator=(const nested_exception&) noexcept = default; virtual ~nested_exception() noexcept; [[noreturn]] void rethrow_nested() const { if (_M_ptr) rethrow_exception(_M_ptr); std::terminate(); } exception_ptr nested_ptr() const noexcept { return _M_ptr; } }; template struct _Nested_exception : public _Except, public nested_exception { explicit _Nested_exception(const _Except& __ex) : _Except(__ex) { } explicit _Nested_exception(_Except&& __ex) : _Except(static_cast<_Except&&>(__ex)) { } }; template struct _Throw_with_nested_impl { template static void _S_throw(_Up&& __t) { throw _Nested_exception<_Tp>{static_cast<_Up&&>(__t)}; } }; template struct _Throw_with_nested_impl<_Tp, false> { template static void _S_throw(_Up&& __t) { throw static_cast<_Up&&>(__t); } }; template struct _Throw_with_nested_helper : _Throw_with_nested_impl<_Tp> { }; template struct _Throw_with_nested_helper<_Tp, false> : _Throw_with_nested_impl<_Tp, false> { }; template struct _Throw_with_nested_helper<_Tp&, false> : _Throw_with_nested_helper<_Tp> { }; template struct _Throw_with_nested_helper<_Tp&&, false> : _Throw_with_nested_helper<_Tp> { }; template [[noreturn]] inline void throw_with_nested(_Tp&& __t) { _Throw_with_nested_helper<_Tp>::_S_throw(static_cast<_Tp&&>(__t)); } template struct _Rethrow_if_nested_impl { static void _S_rethrow(const _Tp& __t) { if (auto __tp = dynamic_cast(&__t)) __tp->rethrow_nested(); } }; template struct _Rethrow_if_nested_impl<_Tp, false> { static void _S_rethrow(const _Tp&) { } }; template inline void rethrow_if_nested(const _Ex& __ex) { _Rethrow_if_nested_impl<_Ex>::_S_rethrow(__ex); } } } #pragma GCC visibility pop # 164 "/usr/include/c++/5.0.0/exception" 2 3 # 4 "../../../dist/system_wrappers/exception" 2 3 #pragma GCC visibility pop # 41 "/usr/include/c++/5.0.0/new" 2 3 #pragma GCC visibility push(default) extern "C++" { namespace std { class bad_alloc : public exception { public: bad_alloc() throw() { } virtual ~bad_alloc() throw(); virtual const char* what() const throw(); }; class bad_array_new_length : public bad_alloc { public: bad_array_new_length() throw() { }; virtual ~bad_array_new_length() throw(); virtual const char* what() const throw(); }; struct nothrow_t { }; extern const nothrow_t nothrow; typedef void (*new_handler)(); new_handler set_new_handler(new_handler) throw(); new_handler get_new_handler() noexcept; } # 111 "/usr/include/c++/5.0.0/new" 3 void* operator new(std::size_t) __attribute__((__externally_visible__)); void* operator new[](std::size_t) __attribute__((__externally_visible__)); void operator delete(void*) noexcept __attribute__((__externally_visible__)); void operator delete[](void*) noexcept __attribute__((__externally_visible__)); void* operator new(std::size_t, const std::nothrow_t&) noexcept __attribute__((__externally_visible__)); void* operator new[](std::size_t, const std::nothrow_t&) noexcept __attribute__((__externally_visible__)); void operator delete(void*, const std::nothrow_t&) noexcept __attribute__((__externally_visible__)); void operator delete[](void*, const std::nothrow_t&) noexcept __attribute__((__externally_visible__)); inline void* operator new(std::size_t, void* __p) noexcept { return __p; } inline void* operator new[](std::size_t, void* __p) noexcept { return __p; } inline void operator delete (void*, void*) noexcept { } inline void operator delete[](void*, void*) noexcept { } } #pragma GCC visibility pop # 4 "../../../dist/system_wrappers/new" 2 3 #pragma GCC visibility pop # 34 "../../../dist/stl_wrappers/new" 2 3 # 1 "../../../dist/include/mozilla/mozalloc.h" 1 3 # 40 "../../../dist/stl_wrappers/new" 2 3 # 54 "../../../dist/stl_wrappers/new" 3 #pragma GCC visibility push(default) # 1 "../../../dist/system_wrappers/new" 1 3 # 2 "../../../dist/system_wrappers/new" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 56 "../../../dist/stl_wrappers/new" 2 3 #pragma GCC visibility pop # 66 "../../../dist/stl_wrappers/new" 3 # 1 "../../../dist/include/mozilla/throw_gcc.h" 1 3 # 13 "../../../dist/include/mozilla/throw_gcc.h" 3 # 1 "../../../dist/system_wrappers/stdio.h" 1 3 # 2 "../../../dist/system_wrappers/stdio.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 14 "../../../dist/include/mozilla/throw_gcc.h" 2 3 # 1 "../../../dist/system_wrappers/string.h" 1 3 # 2 "../../../dist/system_wrappers/string.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 15 "../../../dist/include/mozilla/throw_gcc.h" 2 3 # 1 "../../../dist/include/mozilla/mozalloc_abort.h" 1 3 # 33 "../../../dist/include/mozilla/mozalloc_abort.h" 3 __attribute__ ((visibility ("default"))) # 35 "../../../dist/include/mozilla/mozalloc_abort.h" __attribute__((noreturn)) # 37 "../../../dist/include/mozilla/mozalloc_abort.h" 3 void mozalloc_abort(const char* const msg); # 21 "../../../dist/include/mozilla/throw_gcc.h" 2 3 namespace std { # 28 "../../../dist/include/mozilla/throw_gcc.h" __attribute__((noreturn)) __attribute__((always_inline)) inline # 28 "../../../dist/include/mozilla/throw_gcc.h" 3 void __throw_bad_exception(void) { mozalloc_abort("fatal: STL threw bad_exception"); } # 34 "../../../dist/include/mozilla/throw_gcc.h" __attribute__((noreturn)) __attribute__((always_inline)) inline # 34 "../../../dist/include/mozilla/throw_gcc.h" 3 void __throw_bad_alloc(void) { mozalloc_abort("fatal: STL threw bad_alloc"); } # 40 "../../../dist/include/mozilla/throw_gcc.h" __attribute__((noreturn)) __attribute__((always_inline)) inline # 40 "../../../dist/include/mozilla/throw_gcc.h" 3 void __throw_bad_cast(void) { mozalloc_abort("fatal: STL threw bad_cast"); } # 46 "../../../dist/include/mozilla/throw_gcc.h" __attribute__((noreturn)) __attribute__((always_inline)) inline # 46 "../../../dist/include/mozilla/throw_gcc.h" 3 void __throw_bad_typeid(void) { mozalloc_abort("fatal: STL threw bad_typeid"); } # 52 "../../../dist/include/mozilla/throw_gcc.h" __attribute__((noreturn)) __attribute__((always_inline)) inline # 52 "../../../dist/include/mozilla/throw_gcc.h" 3 void __throw_logic_error(const char* msg) { mozalloc_abort(msg); } # 58 "../../../dist/include/mozilla/throw_gcc.h" __attribute__((noreturn)) __attribute__((always_inline)) inline # 58 "../../../dist/include/mozilla/throw_gcc.h" 3 void __throw_domain_error(const char* msg) { mozalloc_abort(msg); } # 64 "../../../dist/include/mozilla/throw_gcc.h" __attribute__((noreturn)) __attribute__((always_inline)) inline # 64 "../../../dist/include/mozilla/throw_gcc.h" 3 void __throw_invalid_argument(const char* msg) { mozalloc_abort(msg); } # 70 "../../../dist/include/mozilla/throw_gcc.h" __attribute__((noreturn)) __attribute__((always_inline)) inline # 70 "../../../dist/include/mozilla/throw_gcc.h" 3 void __throw_length_error(const char* msg) { mozalloc_abort(msg); } # 76 "../../../dist/include/mozilla/throw_gcc.h" __attribute__((noreturn)) __attribute__((always_inline)) inline # 76 "../../../dist/include/mozilla/throw_gcc.h" 3 void __throw_out_of_range(const char* msg) { mozalloc_abort(msg); } # 82 "../../../dist/include/mozilla/throw_gcc.h" __attribute__((noreturn)) __attribute__((always_inline)) inline # 82 "../../../dist/include/mozilla/throw_gcc.h" 3 void __throw_runtime_error(const char* msg) { mozalloc_abort(msg); } # 88 "../../../dist/include/mozilla/throw_gcc.h" __attribute__((noreturn)) __attribute__((always_inline)) inline # 88 "../../../dist/include/mozilla/throw_gcc.h" 3 void __throw_range_error(const char* msg) { mozalloc_abort(msg); } # 94 "../../../dist/include/mozilla/throw_gcc.h" __attribute__((noreturn)) __attribute__((always_inline)) inline # 94 "../../../dist/include/mozilla/throw_gcc.h" 3 void __throw_overflow_error(const char* msg) { mozalloc_abort(msg); } # 100 "../../../dist/include/mozilla/throw_gcc.h" __attribute__((noreturn)) __attribute__((always_inline)) inline # 100 "../../../dist/include/mozilla/throw_gcc.h" 3 void __throw_underflow_error(const char* msg) { mozalloc_abort(msg); } # 106 "../../../dist/include/mozilla/throw_gcc.h" __attribute__((noreturn)) __attribute__((always_inline)) inline # 106 "../../../dist/include/mozilla/throw_gcc.h" 3 void __throw_ios_failure(const char* msg) { mozalloc_abort(msg); } # 112 "../../../dist/include/mozilla/throw_gcc.h" __attribute__((noreturn)) __attribute__((always_inline)) inline # 112 "../../../dist/include/mozilla/throw_gcc.h" 3 void __throw_system_error(int err) { char error[128]; snprintf(error, sizeof(error)-1, "fatal: STL threw system_error: %s (%d)", strerror(err), err); mozalloc_abort(error); } } # 67 "../../../dist/stl_wrappers/new" 2 3 # 19 "../../../dist/include/mozilla/mozalloc.h" 2 # 1 "../../../dist/include/xpcom-config.h" 1 # 21 "../../../dist/include/mozilla/mozalloc.h" 2 # 1 "../../../dist/include/mozilla/fallible.h" 1 # 8 "../../../dist/include/mozilla/fallible.h" namespace mozilla { struct fallible_t { }; } # 24 "../../../dist/include/mozilla/mozalloc.h" 2 # 60 "../../../dist/include/mozilla/mozalloc.h" extern "C" { # 77 "../../../dist/include/mozilla/mozalloc.h" # 77 "../../../dist/include/mozilla/mozalloc.h" 3 __attribute__ ((visibility ("default"))) # 78 "../../../dist/include/mozilla/mozalloc.h" void moz_free(void* ptr); # 80 "../../../dist/include/mozilla/mozalloc.h" 3 __attribute__ ((visibility ("default"))) # 80 "../../../dist/include/mozilla/mozalloc.h" void* moz_xmalloc(size_t size) __attribute__((malloc)) __attribute__((warn_unused_result)); # 83 "../../../dist/include/mozilla/mozalloc.h" 3 __attribute__ ((visibility ("default"))) # 84 "../../../dist/include/mozilla/mozalloc.h" void* moz_malloc(size_t size) __attribute__((malloc)) __attribute__((warn_unused_result)); # 88 "../../../dist/include/mozilla/mozalloc.h" 3 __attribute__ ((visibility ("default"))) # 88 "../../../dist/include/mozilla/mozalloc.h" void* moz_xcalloc(size_t nmemb, size_t size) __attribute__((malloc)) __attribute__((warn_unused_result)); # 91 "../../../dist/include/mozilla/mozalloc.h" 3 __attribute__ ((visibility ("default"))) # 91 "../../../dist/include/mozilla/mozalloc.h" void* moz_calloc(size_t nmemb, size_t size) __attribute__((malloc)) __attribute__((warn_unused_result)); # 95 "../../../dist/include/mozilla/mozalloc.h" 3 __attribute__ ((visibility ("default"))) # 95 "../../../dist/include/mozilla/mozalloc.h" void* moz_xrealloc(void* ptr, size_t size) __attribute__((malloc)) __attribute__((warn_unused_result)); # 98 "../../../dist/include/mozilla/mozalloc.h" 3 __attribute__ ((visibility ("default"))) # 98 "../../../dist/include/mozilla/mozalloc.h" void* moz_realloc(void* ptr, size_t size) __attribute__((malloc)) __attribute__((warn_unused_result)); # 102 "../../../dist/include/mozilla/mozalloc.h" 3 __attribute__ ((visibility ("default"))) # 102 "../../../dist/include/mozilla/mozalloc.h" char* moz_xstrdup(const char* str) __attribute__((malloc)) __attribute__((warn_unused_result)); # 105 "../../../dist/include/mozilla/mozalloc.h" 3 __attribute__ ((visibility ("default"))) # 105 "../../../dist/include/mozilla/mozalloc.h" char* moz_strdup(const char* str) __attribute__((malloc)) __attribute__((warn_unused_result)); # 108 "../../../dist/include/mozilla/mozalloc.h" 3 __attribute__ ((visibility ("default"))) # 108 "../../../dist/include/mozilla/mozalloc.h" size_t moz_malloc_usable_size(void *ptr); # 110 "../../../dist/include/mozilla/mozalloc.h" 3 __attribute__ ((visibility ("default"))) # 110 "../../../dist/include/mozilla/mozalloc.h" size_t moz_malloc_size_of(const void *ptr); # 113 "../../../dist/include/mozilla/mozalloc.h" 3 __attribute__ ((visibility ("default"))) # 113 "../../../dist/include/mozilla/mozalloc.h" char* moz_xstrndup(const char* str, size_t strsize) __attribute__((malloc)) __attribute__((warn_unused_result)); # 116 "../../../dist/include/mozilla/mozalloc.h" 3 __attribute__ ((visibility ("default"))) # 116 "../../../dist/include/mozilla/mozalloc.h" char* moz_strndup(const char* str, size_t strsize) __attribute__((malloc)) __attribute__((warn_unused_result)); # 122 "../../../dist/include/mozilla/mozalloc.h" 3 __attribute__ ((visibility ("default"))) # 122 "../../../dist/include/mozilla/mozalloc.h" int moz_xposix_memalign(void **ptr, size_t alignment, size_t size) __attribute__((warn_unused_result)); # 125 "../../../dist/include/mozilla/mozalloc.h" 3 __attribute__ ((visibility ("default"))) # 125 "../../../dist/include/mozilla/mozalloc.h" int moz_posix_memalign(void **ptr, size_t alignment, size_t size) __attribute__((warn_unused_result)); # 131 "../../../dist/include/mozilla/mozalloc.h" 3 __attribute__ ((visibility ("default"))) # 131 "../../../dist/include/mozilla/mozalloc.h" void* moz_xmemalign(size_t boundary, size_t size) __attribute__((malloc)) __attribute__((warn_unused_result)); # 134 "../../../dist/include/mozilla/mozalloc.h" 3 __attribute__ ((visibility ("default"))) # 134 "../../../dist/include/mozilla/mozalloc.h" void* moz_memalign(size_t boundary, size_t size) __attribute__((malloc)) __attribute__((warn_unused_result)); # 140 "../../../dist/include/mozilla/mozalloc.h" 3 __attribute__ ((visibility ("default"))) # 140 "../../../dist/include/mozilla/mozalloc.h" void* moz_xvalloc(size_t size) __attribute__((malloc)) __attribute__((warn_unused_result)); # 143 "../../../dist/include/mozilla/mozalloc.h" 3 __attribute__ ((visibility ("default"))) # 143 "../../../dist/include/mozilla/mozalloc.h" void* moz_valloc(size_t size) __attribute__((malloc)) __attribute__((warn_unused_result)); } # 205 "../../../dist/include/mozilla/mozalloc.h" __attribute__((always_inline)) inline void* operator new(size_t size) throw(std::bad_alloc) { return moz_xmalloc(size); } __attribute__((always_inline)) inline void* operator new(size_t size, const std::nothrow_t&) throw() { return moz_malloc(size); } __attribute__((always_inline)) inline void* operator new[](size_t size) throw(std::bad_alloc) { return moz_xmalloc(size); } __attribute__((always_inline)) inline void* operator new[](size_t size, const std::nothrow_t&) throw() { return moz_malloc(size); } __attribute__((always_inline)) inline void operator delete(void* ptr) throw() { return moz_free(ptr); } __attribute__((always_inline)) inline void operator delete(void* ptr, const std::nothrow_t&) throw() { return moz_free(ptr); } __attribute__((always_inline)) inline void operator delete[](void* ptr) throw() { return moz_free(ptr); } __attribute__((always_inline)) inline void operator delete[](void* ptr, const std::nothrow_t&) throw() { return moz_free(ptr); } # 273 "../../../dist/include/mozilla/mozalloc.h" __attribute__((always_inline)) inline void* operator new(size_t size, const mozilla::fallible_t&) throw() { return moz_malloc(size); } __attribute__((always_inline)) inline void* operator new[](size_t size, const mozilla::fallible_t&) throw() { return moz_malloc(size); } __attribute__((always_inline)) inline void operator delete(void* ptr, const mozilla::fallible_t&) throw() { moz_free(ptr); } __attribute__((always_inline)) inline void operator delete[](void* ptr, const mozilla::fallible_t&) throw() { moz_free(ptr); } # 21 "../../../dist/include/nscore.h" 2 # 1 "../../../dist/system_wrappers/stddef.h" 1 # 2 "../../../dist/system_wrappers/stddef.h" 3 #pragma GCC visibility push(default) # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/stddef.h" 1 3 4 # 4 "../../../dist/system_wrappers/stddef.h" 2 3 #pragma GCC visibility pop # 27 "../../../dist/include/nscore.h" 2 # 1 "../../../dist/system_wrappers/stdint.h" 1 # 2 "../../../dist/system_wrappers/stdint.h" 3 #pragma GCC visibility push(default) # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/stdint.h" 1 3 4 # 9 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/stdint.h" 3 4 # 1 "/usr/include/stdint.h" 1 3 4 # 25 "/usr/include/stdint.h" 3 4 # 1 "../../../dist/system_wrappers/features.h" 1 3 4 # 2 "../../../dist/system_wrappers/features.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 26 "/usr/include/stdint.h" 2 3 4 # 1 "/usr/include/bits/wchar.h" 1 3 4 # 27 "/usr/include/stdint.h" 2 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 28 "/usr/include/stdint.h" 2 3 4 # 48 "/usr/include/stdint.h" 3 4 # 48 "/usr/include/stdint.h" 3 4 typedef unsigned char uint8_t; typedef unsigned short int uint16_t; typedef unsigned int uint32_t; __extension__ typedef unsigned long long int uint64_t; typedef signed char int_least8_t; typedef short int int_least16_t; typedef int int_least32_t; __extension__ typedef long long int int_least64_t; typedef unsigned char uint_least8_t; typedef unsigned short int uint_least16_t; typedef unsigned int uint_least32_t; __extension__ typedef unsigned long long int uint_least64_t; typedef signed char int_fast8_t; typedef int int_fast16_t; typedef int int_fast32_t; __extension__ typedef long long int int_fast64_t; typedef unsigned char uint_fast8_t; typedef unsigned int uint_fast16_t; typedef unsigned int uint_fast32_t; __extension__ typedef unsigned long long int uint_fast64_t; # 125 "/usr/include/stdint.h" 3 4 typedef int intptr_t; typedef unsigned int uintptr_t; # 137 "/usr/include/stdint.h" 3 4 __extension__ typedef long long int intmax_t; __extension__ typedef unsigned long long int uintmax_t; # 10 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/stdint.h" 2 3 4 # 4 "../../../dist/system_wrappers/stdint.h" 2 3 #pragma GCC visibility pop # 28 "../../../dist/include/nscore.h" 2 # 1 "../../../dist/include/mozilla/NullPtr.h" 1 # 32 "../../../dist/include/mozilla/NullPtr.h" # 32 "../../../dist/include/mozilla/NullPtr.h" namespace mozilla { # 69 "../../../dist/include/mozilla/NullPtr.h" template struct IsNullPointer { static const bool value = false; }; } # 96 "../../../dist/include/mozilla/NullPtr.h" namespace mozilla { typedef decltype(nullptr) NullptrT; template<> struct IsNullPointer { static const bool value = true; }; } # 31 "../../../dist/include/nscore.h" 2 # 1 "../../../dist/include/mozilla/RefCountType.h" 1 # 10 "../../../dist/include/mozilla/RefCountType.h" # 1 "../../../dist/system_wrappers/stdint.h" 1 # 2 "../../../dist/system_wrappers/stdint.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 11 "../../../dist/include/mozilla/RefCountType.h" 2 # 22 "../../../dist/include/mozilla/RefCountType.h" typedef uintptr_t MozRefCountType; # 34 "../../../dist/include/mozilla/RefCountType.h" typedef uint32_t MozExternalRefCountType; # 34 "../../../dist/include/nscore.h" 2 # 269 "../../../dist/include/nscore.h" # 1 "../../../dist/include/nsError.h" 1 # 10 "../../../dist/include/nsError.h" # 1 "../../../dist/include/mozilla/Likely.h" 1 # 11 "../../../dist/include/nsError.h" 2 # 1 "../../../dist/include/mozilla/TypedEnum.h" 1 # 12 "../../../dist/include/mozilla/TypedEnum.h" # 1 "../../../dist/include/mozilla/TypedEnumInternal.h" 1 # 48 "../../../dist/include/mozilla/TypedEnumInternal.h" namespace mozilla { # 74 "../../../dist/include/mozilla/TypedEnumInternal.h" template class CastableTypedEnumResult { private: const E mValue; public: explicit constexpr CastableTypedEnumResult(E aValue) : mValue(aValue) {} constexpr operator E() const { return mValue; } template explicit constexpr operator DestinationType() const { return DestinationType(mValue); } constexpr bool operator !() const { return !bool(mValue); } # 104 "../../../dist/include/mozilla/TypedEnumInternal.h" }; } # 13 "../../../dist/include/mozilla/TypedEnum.h" 2 # 12 "../../../dist/include/nsError.h" 2 # 1 "../../../dist/system_wrappers/stdint.h" 1 # 2 "../../../dist/system_wrappers/stdint.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 14 "../../../dist/include/nsError.h" 2 # 126 "../../../dist/include/nsError.h" typedef enum class tag_nsresult : uint32_t { # 1 "../../../dist/include/ErrorList.h" 1 NS_OK = 0, NS_ERROR_BASE = 0xC1F30000, NS_ERROR_NOT_INITIALIZED = NS_ERROR_BASE + 1, NS_ERROR_ALREADY_INITIALIZED = NS_ERROR_BASE + 2, NS_ERROR_NOT_IMPLEMENTED = 0x80004001, NS_NOINTERFACE = 0x80004002, NS_ERROR_NO_INTERFACE = NS_NOINTERFACE, NS_ERROR_ABORT = 0x80004004, NS_ERROR_FAILURE = 0x80004005, NS_ERROR_UNEXPECTED = 0x8000ffff, NS_ERROR_OUT_OF_MEMORY = 0x8007000e, NS_ERROR_ILLEGAL_VALUE = 0x80070057, NS_ERROR_INVALID_ARG = NS_ERROR_ILLEGAL_VALUE, NS_ERROR_INVALID_POINTER = NS_ERROR_INVALID_ARG, NS_ERROR_NULL_POINTER = NS_ERROR_INVALID_ARG, NS_ERROR_NO_AGGREGATION = 0x80040110, NS_ERROR_NOT_AVAILABLE = 0x80040111, NS_ERROR_FACTORY_NOT_REGISTERED = 0x80040154, NS_ERROR_FACTORY_REGISTER_AGAIN = 0x80040155, NS_ERROR_FACTORY_NOT_LOADED = 0x800401f8, NS_ERROR_FACTORY_NO_SIGNATURE_SUPPORT = NS_ERROR_BASE + 0x101, NS_ERROR_FACTORY_EXISTS = NS_ERROR_BASE + 0x100, NS_ERROR_CANNOT_CONVERT_DATA = ((uint32_t)(1) << 31) | ((uint32_t)(1 + 0x45) << 16) | (uint32_t)(1), NS_ERROR_OBJECT_IS_IMMUTABLE = ((uint32_t)(1) << 31) | ((uint32_t)(1 + 0x45) << 16) | (uint32_t)(2), NS_ERROR_LOSS_OF_SIGNIFICANT_DATA = ((uint32_t)(1) << 31) | ((uint32_t)(1 + 0x45) << 16) | (uint32_t)(3), NS_ERROR_NOT_SAME_THREAD = ((uint32_t)(1) << 31) | ((uint32_t)(1 + 0x45) << 16) | (uint32_t)(4), NS_ERROR_ILLEGAL_DURING_SHUTDOWN = ((uint32_t)(1) << 31) | ((uint32_t)(1 + 0x45) << 16) | (uint32_t)(30), NS_ERROR_SERVICE_NOT_AVAILABLE = ((uint32_t)(1) << 31) | ((uint32_t)(1 + 0x45) << 16) | (uint32_t)(22), NS_SUCCESS_LOSS_OF_INSIGNIFICANT_DATA = ((uint32_t)(0) << 31) | ((uint32_t)(1 + 0x45) << 16) | (uint32_t)(1), NS_SUCCESS_INTERRUPTED_TRAVERSE = ((uint32_t)(0) << 31) | ((uint32_t)(1 + 0x45) << 16) | (uint32_t)(2), NS_ERROR_SERVICE_NOT_FOUND = ((uint32_t)(0) << 31) | ((uint32_t)(1 + 0x45) << 16) | (uint32_t)(22), NS_ERROR_SERVICE_IN_USE = ((uint32_t)(0) << 31) | ((uint32_t)(1 + 0x45) << 16) | (uint32_t)(23), # 80 "../../../dist/include/ErrorList.h" NS_BASE_STREAM_CLOSED = ((uint32_t)(1) << 31) | ((uint32_t)(2 + 0x45) << 16) | (uint32_t)(2), NS_BASE_STREAM_OSERROR = ((uint32_t)(1) << 31) | ((uint32_t)(2 + 0x45) << 16) | (uint32_t)(3), NS_BASE_STREAM_ILLEGAL_ARGS = ((uint32_t)(1) << 31) | ((uint32_t)(2 + 0x45) << 16) | (uint32_t)(4), NS_BASE_STREAM_NO_CONVERTER = ((uint32_t)(1) << 31) | ((uint32_t)(2 + 0x45) << 16) | (uint32_t)(5), NS_BASE_STREAM_BAD_CONVERSION = ((uint32_t)(1) << 31) | ((uint32_t)(2 + 0x45) << 16) | (uint32_t)(6), NS_BASE_STREAM_WOULD_BLOCK = ((uint32_t)(1) << 31) | ((uint32_t)(2 + 0x45) << 16) | (uint32_t)(7), # 98 "../../../dist/include/ErrorList.h" NS_ERROR_GFX_PRINTER_NO_PRINTER_AVAILABLE = ((uint32_t)(1) << 31) | ((uint32_t)(3 + 0x45) << 16) | (uint32_t)(1), NS_ERROR_GFX_PRINTER_NAME_NOT_FOUND = ((uint32_t)(1) << 31) | ((uint32_t)(3 + 0x45) << 16) | (uint32_t)(2), NS_ERROR_GFX_PRINTER_COULD_NOT_OPEN_FILE = ((uint32_t)(1) << 31) | ((uint32_t)(3 + 0x45) << 16) | (uint32_t)(3), NS_ERROR_GFX_PRINTER_STARTDOC = ((uint32_t)(1) << 31) | ((uint32_t)(3 + 0x45) << 16) | (uint32_t)(4), NS_ERROR_GFX_PRINTER_ENDDOC = ((uint32_t)(1) << 31) | ((uint32_t)(3 + 0x45) << 16) | (uint32_t)(5), NS_ERROR_GFX_PRINTER_STARTPAGE = ((uint32_t)(1) << 31) | ((uint32_t)(3 + 0x45) << 16) | (uint32_t)(6), NS_ERROR_GFX_PRINTER_DOC_IS_BUSY = ((uint32_t)(1) << 31) | ((uint32_t)(3 + 0x45) << 16) | (uint32_t)(7), NS_ERROR_GFX_CMAP_MALFORMED = ((uint32_t)(1) << 31) | ((uint32_t)(3 + 0x45) << 16) | (uint32_t)(51), # 123 "../../../dist/include/ErrorList.h" NS_SUCCESS_EVENT_CONSUMED = ((uint32_t)(0) << 31) | ((uint32_t)(4 + 0x45) << 16) | (uint32_t)(1), # 140 "../../../dist/include/ErrorList.h" NS_BINDING_SUCCEEDED = NS_OK, NS_BINDING_FAILED = ((uint32_t)(1) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(1), NS_BINDING_ABORTED = ((uint32_t)(1) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(2), NS_BINDING_REDIRECTED = ((uint32_t)(1) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(3), NS_BINDING_RETARGETED = ((uint32_t)(1) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(4), NS_ERROR_MALFORMED_URI = ((uint32_t)(1) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(10), NS_ERROR_IN_PROGRESS = ((uint32_t)(1) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(15), NS_ERROR_NO_CONTENT = ((uint32_t)(1) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(17), NS_ERROR_UNKNOWN_PROTOCOL = ((uint32_t)(1) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(18), NS_ERROR_INVALID_CONTENT_ENCODING = ((uint32_t)(1) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(27), NS_ERROR_CORRUPTED_CONTENT = ((uint32_t)(1) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(29), NS_ERROR_FIRST_HEADER_FIELD_COMPONENT_EMPTY = ((uint32_t)(1) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(34), NS_ERROR_ALREADY_OPENED = ((uint32_t)(1) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(73), NS_ERROR_ALREADY_CONNECTED = ((uint32_t)(1) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(11), NS_ERROR_NOT_CONNECTED = ((uint32_t)(1) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(12), NS_ERROR_CONNECTION_REFUSED = ((uint32_t)(1) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(13), NS_ERROR_NET_TIMEOUT = ((uint32_t)(1) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(14), NS_ERROR_OFFLINE = ((uint32_t)(1) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(16), NS_ERROR_PORT_ACCESS_NOT_ALLOWED = ((uint32_t)(1) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(19), NS_ERROR_NET_RESET = ((uint32_t)(1) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(20), NS_ERROR_NET_INTERRUPT = ((uint32_t)(1) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(71), NS_ERROR_PROXY_CONNECTION_REFUSED = ((uint32_t)(1) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(72), NS_ERROR_NET_PARTIAL_TRANSFER = ((uint32_t)(1) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(76), NS_ERROR_NOT_RESUMABLE = ((uint32_t)(1) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(25), NS_ERROR_REDIRECT_LOOP = ((uint32_t)(1) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(31), NS_ERROR_ENTITY_CHANGED = ((uint32_t)(1) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(32), NS_ERROR_UNSAFE_CONTENT_TYPE = ((uint32_t)(1) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(74), NS_ERROR_REMOTE_XUL = ((uint32_t)(1) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(75), NS_ERROR_FTP_LOGIN = ((uint32_t)(1) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(21), NS_ERROR_FTP_CWD = ((uint32_t)(1) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(22), NS_ERROR_FTP_PASV = ((uint32_t)(1) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(23), NS_ERROR_FTP_PWD = ((uint32_t)(1) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(24), NS_ERROR_FTP_LIST = ((uint32_t)(1) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(28), NS_ERROR_UNKNOWN_HOST = ((uint32_t)(1) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(30), NS_ERROR_DNS_LOOKUP_QUEUE_FULL = ((uint32_t)(1) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(33), NS_ERROR_UNKNOWN_PROXY_HOST = ((uint32_t)(1) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(42), NS_ERROR_UNKNOWN_SOCKET_TYPE = ((uint32_t)(1) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(51), NS_ERROR_SOCKET_CREATE_FAILED = ((uint32_t)(1) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(52), NS_ERROR_SOCKET_ADDRESS_NOT_SUPPORTED = ((uint32_t)(1) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(53), NS_ERROR_SOCKET_ADDRESS_IN_USE = ((uint32_t)(1) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(54), NS_ERROR_CACHE_KEY_NOT_FOUND = ((uint32_t)(1) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(61), NS_ERROR_CACHE_DATA_IS_STREAM = ((uint32_t)(1) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(62), NS_ERROR_CACHE_DATA_IS_NOT_STREAM = ((uint32_t)(1) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(63), NS_ERROR_CACHE_WAIT_FOR_VALIDATION = ((uint32_t)(1) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(64), NS_ERROR_CACHE_ENTRY_DOOMED = ((uint32_t)(1) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(65), NS_ERROR_CACHE_READ_ACCESS_DENIED = ((uint32_t)(1) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(66), NS_ERROR_CACHE_WRITE_ACCESS_DENIED = ((uint32_t)(1) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(67), NS_ERROR_CACHE_IN_USE = ((uint32_t)(1) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(68), NS_ERROR_DOCUMENT_NOT_CACHED = ((uint32_t)(1) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(70), NS_ERROR_INSUFFICIENT_DOMAIN_LEVELS = ((uint32_t)(1) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(80), NS_ERROR_HOST_IS_IP_ADDRESS = ((uint32_t)(1) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(81), NS_SUCCESS_ADOPTED_DATA = ((uint32_t)(0) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(90), NS_NET_STATUS_BEGIN_FTP_TRANSACTION = ((uint32_t)(0) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(27), NS_NET_STATUS_END_FTP_TRANSACTION = ((uint32_t)(0) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(28), NS_SUCCESS_AUTH_FINISHED = ((uint32_t)(0) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(40), NS_NET_STATUS_READING = ((uint32_t)(1) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(8), NS_NET_STATUS_WRITING = ((uint32_t)(1) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(9), NS_NET_STATUS_RESOLVING_HOST = ((uint32_t)(1) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(3), NS_NET_STATUS_RESOLVED_HOST = ((uint32_t)(1) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(11), NS_NET_STATUS_CONNECTING_TO = ((uint32_t)(1) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(7), NS_NET_STATUS_CONNECTED_TO = ((uint32_t)(1) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(4), NS_NET_STATUS_SENDING_TO = ((uint32_t)(1) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(5), NS_NET_STATUS_WAITING_FOR = ((uint32_t)(1) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(10), NS_NET_STATUS_RECEIVING_FROM = ((uint32_t)(1) << 31) | ((uint32_t)(6 + 0x45) << 16) | (uint32_t)(6), NS_ERROR_PLUGINS_PLUGINSNOTCHANGED = ((uint32_t)(1) << 31) | ((uint32_t)(7 + 0x45) << 16) | (uint32_t)(1000), NS_ERROR_PLUGIN_DISABLED = ((uint32_t)(1) << 31) | ((uint32_t)(7 + 0x45) << 16) | (uint32_t)(1001), NS_ERROR_PLUGIN_BLOCKLISTED = ((uint32_t)(1) << 31) | ((uint32_t)(7 + 0x45) << 16) | (uint32_t)(1002), NS_ERROR_PLUGIN_TIME_RANGE_NOT_SUPPORTED = ((uint32_t)(1) << 31) | ((uint32_t)(7 + 0x45) << 16) | (uint32_t)(1003), NS_ERROR_PLUGIN_CLICKTOPLAY = ((uint32_t)(1) << 31) | ((uint32_t)(7 + 0x45) << 16) | (uint32_t)(1004), # 341 "../../../dist/include/ErrorList.h" NS_TABLELAYOUT_CELL_NOT_FOUND = ((uint32_t)(0) << 31) | ((uint32_t)(8 + 0x45) << 16) | (uint32_t)(0), NS_POSITION_BEFORE_TABLE = ((uint32_t)(0) << 31) | ((uint32_t)(8 + 0x45) << 16) | (uint32_t)(3), NS_STATE_PROPERTY_EXISTS = NS_OK, NS_STATE_PROPERTY_NOT_THERE = ((uint32_t)(0) << 31) | ((uint32_t)(8 + 0x45) << 16) | (uint32_t)(5), NS_ERROR_HTMLPARSER_CONTINUE = NS_OK, NS_ERROR_HTMLPARSER_EOF = ((uint32_t)(1) << 31) | ((uint32_t)(9 + 0x45) << 16) | (uint32_t)(1000), NS_ERROR_HTMLPARSER_UNKNOWN = ((uint32_t)(1) << 31) | ((uint32_t)(9 + 0x45) << 16) | (uint32_t)(1001), NS_ERROR_HTMLPARSER_CANTPROPAGATE = ((uint32_t)(1) << 31) | ((uint32_t)(9 + 0x45) << 16) | (uint32_t)(1002), NS_ERROR_HTMLPARSER_CONTEXTMISMATCH = ((uint32_t)(1) << 31) | ((uint32_t)(9 + 0x45) << 16) | (uint32_t)(1003), NS_ERROR_HTMLPARSER_BADFILENAME = ((uint32_t)(1) << 31) | ((uint32_t)(9 + 0x45) << 16) | (uint32_t)(1004), NS_ERROR_HTMLPARSER_BADURL = ((uint32_t)(1) << 31) | ((uint32_t)(9 + 0x45) << 16) | (uint32_t)(1005), NS_ERROR_HTMLPARSER_INVALIDPARSERCONTEXT = ((uint32_t)(1) << 31) | ((uint32_t)(9 + 0x45) << 16) | (uint32_t)(1006), NS_ERROR_HTMLPARSER_INTERRUPTED = ((uint32_t)(1) << 31) | ((uint32_t)(9 + 0x45) << 16) | (uint32_t)(1007), NS_ERROR_HTMLPARSER_BLOCK = ((uint32_t)(1) << 31) | ((uint32_t)(9 + 0x45) << 16) | (uint32_t)(1008), NS_ERROR_HTMLPARSER_BADTOKENIZER = ((uint32_t)(1) << 31) | ((uint32_t)(9 + 0x45) << 16) | (uint32_t)(1009), NS_ERROR_HTMLPARSER_BADATTRIBUTE = ((uint32_t)(1) << 31) | ((uint32_t)(9 + 0x45) << 16) | (uint32_t)(1010), NS_ERROR_HTMLPARSER_UNRESOLVEDDTD = ((uint32_t)(1) << 31) | ((uint32_t)(9 + 0x45) << 16) | (uint32_t)(1011), NS_ERROR_HTMLPARSER_MISPLACEDTABLECONTENT = ((uint32_t)(1) << 31) | ((uint32_t)(9 + 0x45) << 16) | (uint32_t)(1012), NS_ERROR_HTMLPARSER_BADDTD = ((uint32_t)(1) << 31) | ((uint32_t)(9 + 0x45) << 16) | (uint32_t)(1013), NS_ERROR_HTMLPARSER_BADCONTEXT = ((uint32_t)(1) << 31) | ((uint32_t)(9 + 0x45) << 16) | (uint32_t)(1014), NS_ERROR_HTMLPARSER_STOPPARSING = ((uint32_t)(1) << 31) | ((uint32_t)(9 + 0x45) << 16) | (uint32_t)(1015), NS_ERROR_HTMLPARSER_UNTERMINATEDSTRINGLITERAL = ((uint32_t)(1) << 31) | ((uint32_t)(9 + 0x45) << 16) | (uint32_t)(1016), NS_ERROR_HTMLPARSER_HIERARCHYTOODEEP = ((uint32_t)(1) << 31) | ((uint32_t)(9 + 0x45) << 16) | (uint32_t)(1017), NS_ERROR_HTMLPARSER_FAKE_ENDTAG = ((uint32_t)(1) << 31) | ((uint32_t)(9 + 0x45) << 16) | (uint32_t)(1018), NS_ERROR_HTMLPARSER_INVALID_COMMENT = ((uint32_t)(1) << 31) | ((uint32_t)(9 + 0x45) << 16) | (uint32_t)(1019), NS_HTMLTOKENS_NOT_AN_ENTITY = ((uint32_t)(0) << 31) | ((uint32_t)(9 + 0x45) << 16) | (uint32_t)(2000), NS_HTMLPARSER_VALID_META_CHARSET = ((uint32_t)(0) << 31) | ((uint32_t)(9 + 0x45) << 16) | (uint32_t)(3000), # 390 "../../../dist/include/ErrorList.h" NS_RDF_ASSERTION_ACCEPTED = NS_OK, NS_RDF_CURSOR_EMPTY = ((uint32_t)(0) << 31) | ((uint32_t)(10 + 0x45) << 16) | (uint32_t)(1), NS_RDF_NO_VALUE = ((uint32_t)(0) << 31) | ((uint32_t)(10 + 0x45) << 16) | (uint32_t)(2), NS_RDF_ASSERTION_REJECTED = ((uint32_t)(0) << 31) | ((uint32_t)(10 + 0x45) << 16) | (uint32_t)(3), NS_RDF_STOP_VISIT = ((uint32_t)(0) << 31) | ((uint32_t)(10 + 0x45) << 16) | (uint32_t)(4), NS_ERROR_UCONV_NOCONV = ((uint32_t)(1) << 31) | ((uint32_t)(11 + 0x45) << 16) | (uint32_t)(1), NS_ERROR_UDEC_ILLEGALINPUT = ((uint32_t)(1) << 31) | ((uint32_t)(11 + 0x45) << 16) | (uint32_t)(14), NS_SUCCESS_USING_FALLBACK_LOCALE = ((uint32_t)(0) << 31) | ((uint32_t)(11 + 0x45) << 16) | (uint32_t)(2), NS_OK_UDEC_EXACTLENGTH = ((uint32_t)(0) << 31) | ((uint32_t)(11 + 0x45) << 16) | (uint32_t)(11), NS_OK_UDEC_MOREINPUT = ((uint32_t)(0) << 31) | ((uint32_t)(11 + 0x45) << 16) | (uint32_t)(12), NS_OK_UDEC_MOREOUTPUT = ((uint32_t)(0) << 31) | ((uint32_t)(11 + 0x45) << 16) | (uint32_t)(13), NS_OK_UDEC_NOBOMFOUND = ((uint32_t)(0) << 31) | ((uint32_t)(11 + 0x45) << 16) | (uint32_t)(14), NS_OK_UENC_EXACTLENGTH = ((uint32_t)(0) << 31) | ((uint32_t)(11 + 0x45) << 16) | (uint32_t)(33), NS_OK_UENC_MOREOUTPUT = ((uint32_t)(0) << 31) | ((uint32_t)(11 + 0x45) << 16) | (uint32_t)(34), NS_ERROR_UENC_NOMAPPING = ((uint32_t)(0) << 31) | ((uint32_t)(11 + 0x45) << 16) | (uint32_t)(35), NS_OK_UENC_MOREINPUT = ((uint32_t)(0) << 31) | ((uint32_t)(11 + 0x45) << 16) | (uint32_t)(36), NS_EXACT_LENGTH = NS_OK_UDEC_EXACTLENGTH, NS_PARTIAL_MORE_INPUT = NS_OK_UDEC_MOREINPUT, NS_PARTIAL_MORE_OUTPUT = NS_OK_UDEC_MOREOUTPUT, NS_ERROR_ILLEGAL_INPUT = NS_ERROR_UDEC_ILLEGALINPUT, # 436 "../../../dist/include/ErrorList.h" NS_ERROR_FILE_UNRECOGNIZED_PATH = ((uint32_t)(1) << 31) | ((uint32_t)(13 + 0x45) << 16) | (uint32_t)(1), NS_ERROR_FILE_UNRESOLVABLE_SYMLINK = ((uint32_t)(1) << 31) | ((uint32_t)(13 + 0x45) << 16) | (uint32_t)(2), NS_ERROR_FILE_EXECUTION_FAILED = ((uint32_t)(1) << 31) | ((uint32_t)(13 + 0x45) << 16) | (uint32_t)(3), NS_ERROR_FILE_UNKNOWN_TYPE = ((uint32_t)(1) << 31) | ((uint32_t)(13 + 0x45) << 16) | (uint32_t)(4), NS_ERROR_FILE_DESTINATION_NOT_DIR = ((uint32_t)(1) << 31) | ((uint32_t)(13 + 0x45) << 16) | (uint32_t)(5), NS_ERROR_FILE_TARGET_DOES_NOT_EXIST = ((uint32_t)(1) << 31) | ((uint32_t)(13 + 0x45) << 16) | (uint32_t)(6), NS_ERROR_FILE_COPY_OR_MOVE_FAILED = ((uint32_t)(1) << 31) | ((uint32_t)(13 + 0x45) << 16) | (uint32_t)(7), NS_ERROR_FILE_ALREADY_EXISTS = ((uint32_t)(1) << 31) | ((uint32_t)(13 + 0x45) << 16) | (uint32_t)(8), NS_ERROR_FILE_INVALID_PATH = ((uint32_t)(1) << 31) | ((uint32_t)(13 + 0x45) << 16) | (uint32_t)(9), NS_ERROR_FILE_DISK_FULL = ((uint32_t)(1) << 31) | ((uint32_t)(13 + 0x45) << 16) | (uint32_t)(10), NS_ERROR_FILE_CORRUPTED = ((uint32_t)(1) << 31) | ((uint32_t)(13 + 0x45) << 16) | (uint32_t)(11), NS_ERROR_FILE_NOT_DIRECTORY = ((uint32_t)(1) << 31) | ((uint32_t)(13 + 0x45) << 16) | (uint32_t)(12), NS_ERROR_FILE_IS_DIRECTORY = ((uint32_t)(1) << 31) | ((uint32_t)(13 + 0x45) << 16) | (uint32_t)(13), NS_ERROR_FILE_IS_LOCKED = ((uint32_t)(1) << 31) | ((uint32_t)(13 + 0x45) << 16) | (uint32_t)(14), NS_ERROR_FILE_TOO_BIG = ((uint32_t)(1) << 31) | ((uint32_t)(13 + 0x45) << 16) | (uint32_t)(15), NS_ERROR_FILE_NO_DEVICE_SPACE = ((uint32_t)(1) << 31) | ((uint32_t)(13 + 0x45) << 16) | (uint32_t)(16), NS_ERROR_FILE_NAME_TOO_LONG = ((uint32_t)(1) << 31) | ((uint32_t)(13 + 0x45) << 16) | (uint32_t)(17), NS_ERROR_FILE_NOT_FOUND = ((uint32_t)(1) << 31) | ((uint32_t)(13 + 0x45) << 16) | (uint32_t)(18), NS_ERROR_FILE_READ_ONLY = ((uint32_t)(1) << 31) | ((uint32_t)(13 + 0x45) << 16) | (uint32_t)(19), NS_ERROR_FILE_DIR_NOT_EMPTY = ((uint32_t)(1) << 31) | ((uint32_t)(13 + 0x45) << 16) | (uint32_t)(20), NS_ERROR_FILE_ACCESS_DENIED = ((uint32_t)(1) << 31) | ((uint32_t)(13 + 0x45) << 16) | (uint32_t)(21), NS_SUCCESS_FILE_DIRECTORY_EMPTY = ((uint32_t)(0) << 31) | ((uint32_t)(13 + 0x45) << 16) | (uint32_t)(1), NS_SUCCESS_AGGREGATE_RESULT = ((uint32_t)(0) << 31) | ((uint32_t)(13 + 0x45) << 16) | (uint32_t)(2), # 472 "../../../dist/include/ErrorList.h" NS_ERROR_DOM_INDEX_SIZE_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(14 + 0x45) << 16) | (uint32_t)(1), NS_ERROR_DOM_HIERARCHY_REQUEST_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(14 + 0x45) << 16) | (uint32_t)(3), NS_ERROR_DOM_WRONG_DOCUMENT_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(14 + 0x45) << 16) | (uint32_t)(4), NS_ERROR_DOM_INVALID_CHARACTER_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(14 + 0x45) << 16) | (uint32_t)(5), NS_ERROR_DOM_NO_MODIFICATION_ALLOWED_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(14 + 0x45) << 16) | (uint32_t)(7), NS_ERROR_DOM_NOT_FOUND_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(14 + 0x45) << 16) | (uint32_t)(8), NS_ERROR_DOM_NOT_SUPPORTED_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(14 + 0x45) << 16) | (uint32_t)(9), NS_ERROR_DOM_INUSE_ATTRIBUTE_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(14 + 0x45) << 16) | (uint32_t)(10), NS_ERROR_DOM_INVALID_STATE_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(14 + 0x45) << 16) | (uint32_t)(11), NS_ERROR_DOM_SYNTAX_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(14 + 0x45) << 16) | (uint32_t)(12), NS_ERROR_DOM_INVALID_MODIFICATION_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(14 + 0x45) << 16) | (uint32_t)(13), NS_ERROR_DOM_NAMESPACE_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(14 + 0x45) << 16) | (uint32_t)(14), NS_ERROR_DOM_INVALID_ACCESS_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(14 + 0x45) << 16) | (uint32_t)(15), NS_ERROR_DOM_TYPE_MISMATCH_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(14 + 0x45) << 16) | (uint32_t)(17), NS_ERROR_DOM_SECURITY_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(14 + 0x45) << 16) | (uint32_t)(18), NS_ERROR_DOM_NETWORK_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(14 + 0x45) << 16) | (uint32_t)(19), NS_ERROR_DOM_ABORT_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(14 + 0x45) << 16) | (uint32_t)(20), NS_ERROR_DOM_URL_MISMATCH_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(14 + 0x45) << 16) | (uint32_t)(21), NS_ERROR_DOM_QUOTA_EXCEEDED_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(14 + 0x45) << 16) | (uint32_t)(22), NS_ERROR_DOM_TIMEOUT_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(14 + 0x45) << 16) | (uint32_t)(23), NS_ERROR_DOM_INVALID_NODE_TYPE_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(14 + 0x45) << 16) | (uint32_t)(24), NS_ERROR_DOM_DATA_CLONE_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(14 + 0x45) << 16) | (uint32_t)(25), NS_ERROR_TYPE_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(14 + 0x45) << 16) | (uint32_t)(26), NS_ERROR_RANGE_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(14 + 0x45) << 16) | (uint32_t)(27), NS_ERROR_DOM_ENCODING_NOT_SUPPORTED_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(14 + 0x45) << 16) | (uint32_t)(28), NS_ERROR_DOM_ENCODING_NOT_UTF_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(14 + 0x45) << 16) | (uint32_t)(29), NS_ERROR_DOM_ENCODING_DECODE_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(14 + 0x45) << 16) | (uint32_t)(30), NS_ERROR_DOM_INVALID_POINTER_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(14 + 0x45) << 16) | (uint32_t)(31), NS_ERROR_DOM_UNKNOWN_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(14 + 0x45) << 16) | (uint32_t)(32), NS_ERROR_DOM_DATA_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(14 + 0x45) << 16) | (uint32_t)(33), NS_ERROR_DOM_OPERATION_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(14 + 0x45) << 16) | (uint32_t)(34), NS_ERROR_DOM_SECMAN_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(14 + 0x45) << 16) | (uint32_t)(1001), NS_ERROR_DOM_WRONG_TYPE_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(14 + 0x45) << 16) | (uint32_t)(1002), NS_ERROR_DOM_NOT_OBJECT_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(14 + 0x45) << 16) | (uint32_t)(1003), NS_ERROR_DOM_NOT_XPC_OBJECT_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(14 + 0x45) << 16) | (uint32_t)(1004), NS_ERROR_DOM_NOT_NUMBER_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(14 + 0x45) << 16) | (uint32_t)(1005), NS_ERROR_DOM_NOT_BOOLEAN_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(14 + 0x45) << 16) | (uint32_t)(1006), NS_ERROR_DOM_NOT_FUNCTION_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(14 + 0x45) << 16) | (uint32_t)(1007), NS_ERROR_DOM_TOO_FEW_PARAMETERS_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(14 + 0x45) << 16) | (uint32_t)(1008), NS_ERROR_DOM_BAD_DOCUMENT_DOMAIN = ((uint32_t)(1) << 31) | ((uint32_t)(14 + 0x45) << 16) | (uint32_t)(1009), NS_ERROR_DOM_PROP_ACCESS_DENIED = ((uint32_t)(1) << 31) | ((uint32_t)(14 + 0x45) << 16) | (uint32_t)(1010), NS_ERROR_DOM_XPCONNECT_ACCESS_DENIED = ((uint32_t)(1) << 31) | ((uint32_t)(14 + 0x45) << 16) | (uint32_t)(1011), NS_ERROR_DOM_BAD_URI = ((uint32_t)(1) << 31) | ((uint32_t)(14 + 0x45) << 16) | (uint32_t)(1012), NS_ERROR_DOM_RETVAL_UNDEFINED = ((uint32_t)(1) << 31) | ((uint32_t)(14 + 0x45) << 16) | (uint32_t)(1013), NS_ERROR_DOM_QUOTA_REACHED = ((uint32_t)(1) << 31) | ((uint32_t)(14 + 0x45) << 16) | (uint32_t)(1014), NS_ERROR_DOM_JS_EXCEPTION = ((uint32_t)(1) << 31) | ((uint32_t)(14 + 0x45) << 16) | (uint32_t)(1015), NS_SUCCESS_DOM_NO_OPERATION = ((uint32_t)(0) << 31) | ((uint32_t)(14 + 0x45) << 16) | (uint32_t)(1), NS_IMAGELIB_SUCCESS_LOAD_FINISHED = ((uint32_t)(0) << 31) | ((uint32_t)(15 + 0x45) << 16) | (uint32_t)(0), NS_IMAGELIB_CHANGING_OWNER = ((uint32_t)(0) << 31) | ((uint32_t)(15 + 0x45) << 16) | (uint32_t)(1), NS_IMAGELIB_ERROR_FAILURE = ((uint32_t)(1) << 31) | ((uint32_t)(15 + 0x45) << 16) | (uint32_t)(5), NS_IMAGELIB_ERROR_NO_DECODER = ((uint32_t)(1) << 31) | ((uint32_t)(15 + 0x45) << 16) | (uint32_t)(6), NS_IMAGELIB_ERROR_NOT_FINISHED = ((uint32_t)(1) << 31) | ((uint32_t)(15 + 0x45) << 16) | (uint32_t)(7), NS_IMAGELIB_ERROR_NO_ENCODER = ((uint32_t)(1) << 31) | ((uint32_t)(15 + 0x45) << 16) | (uint32_t)(9), NS_ERROR_EDITOR_NO_SELECTION = ((uint32_t)(1) << 31) | ((uint32_t)(17 + 0x45) << 16) | (uint32_t)(1), NS_ERROR_EDITOR_NO_TEXTNODE = ((uint32_t)(1) << 31) | ((uint32_t)(17 + 0x45) << 16) | (uint32_t)(2), NS_FOUND_TARGET = ((uint32_t)(1) << 31) | ((uint32_t)(17 + 0x45) << 16) | (uint32_t)(3), NS_EDITOR_ELEMENT_NOT_FOUND = ((uint32_t)(0) << 31) | ((uint32_t)(17 + 0x45) << 16) | (uint32_t)(1), NS_ERROR_XPC_NOT_ENOUGH_ARGS = ((uint32_t)(1) << 31) | ((uint32_t)(18 + 0x45) << 16) | (uint32_t)(1), NS_ERROR_XPC_NEED_OUT_OBJECT = ((uint32_t)(1) << 31) | ((uint32_t)(18 + 0x45) << 16) | (uint32_t)(2), NS_ERROR_XPC_CANT_SET_OUT_VAL = ((uint32_t)(1) << 31) | ((uint32_t)(18 + 0x45) << 16) | (uint32_t)(3), NS_ERROR_XPC_NATIVE_RETURNED_FAILURE = ((uint32_t)(1) << 31) | ((uint32_t)(18 + 0x45) << 16) | (uint32_t)(4), NS_ERROR_XPC_CANT_GET_INTERFACE_INFO = ((uint32_t)(1) << 31) | ((uint32_t)(18 + 0x45) << 16) | (uint32_t)(5), NS_ERROR_XPC_CANT_GET_PARAM_IFACE_INFO = ((uint32_t)(1) << 31) | ((uint32_t)(18 + 0x45) << 16) | (uint32_t)(6), NS_ERROR_XPC_CANT_GET_METHOD_INFO = ((uint32_t)(1) << 31) | ((uint32_t)(18 + 0x45) << 16) | (uint32_t)(7), NS_ERROR_XPC_UNEXPECTED = ((uint32_t)(1) << 31) | ((uint32_t)(18 + 0x45) << 16) | (uint32_t)(8), NS_ERROR_XPC_BAD_CONVERT_JS = ((uint32_t)(1) << 31) | ((uint32_t)(18 + 0x45) << 16) | (uint32_t)(9), NS_ERROR_XPC_BAD_CONVERT_NATIVE = ((uint32_t)(1) << 31) | ((uint32_t)(18 + 0x45) << 16) | (uint32_t)(10), NS_ERROR_XPC_BAD_CONVERT_JS_NULL_REF = ((uint32_t)(1) << 31) | ((uint32_t)(18 + 0x45) << 16) | (uint32_t)(11), NS_ERROR_XPC_BAD_OP_ON_WN_PROTO = ((uint32_t)(1) << 31) | ((uint32_t)(18 + 0x45) << 16) | (uint32_t)(12), NS_ERROR_XPC_CANT_CONVERT_WN_TO_FUN = ((uint32_t)(1) << 31) | ((uint32_t)(18 + 0x45) << 16) | (uint32_t)(13), NS_ERROR_XPC_CANT_DEFINE_PROP_ON_WN = ((uint32_t)(1) << 31) | ((uint32_t)(18 + 0x45) << 16) | (uint32_t)(14), NS_ERROR_XPC_CANT_WATCH_WN_STATIC = ((uint32_t)(1) << 31) | ((uint32_t)(18 + 0x45) << 16) | (uint32_t)(15), NS_ERROR_XPC_CANT_EXPORT_WN_STATIC = ((uint32_t)(1) << 31) | ((uint32_t)(18 + 0x45) << 16) | (uint32_t)(16), NS_ERROR_XPC_SCRIPTABLE_CALL_FAILED = ((uint32_t)(1) << 31) | ((uint32_t)(18 + 0x45) << 16) | (uint32_t)(17), NS_ERROR_XPC_SCRIPTABLE_CTOR_FAILED = ((uint32_t)(1) << 31) | ((uint32_t)(18 + 0x45) << 16) | (uint32_t)(18), NS_ERROR_XPC_CANT_CALL_WO_SCRIPTABLE = ((uint32_t)(1) << 31) | ((uint32_t)(18 + 0x45) << 16) | (uint32_t)(19), NS_ERROR_XPC_CANT_CTOR_WO_SCRIPTABLE = ((uint32_t)(1) << 31) | ((uint32_t)(18 + 0x45) << 16) | (uint32_t)(20), NS_ERROR_XPC_CI_RETURNED_FAILURE = ((uint32_t)(1) << 31) | ((uint32_t)(18 + 0x45) << 16) | (uint32_t)(21), NS_ERROR_XPC_GS_RETURNED_FAILURE = ((uint32_t)(1) << 31) | ((uint32_t)(18 + 0x45) << 16) | (uint32_t)(22), NS_ERROR_XPC_BAD_CID = ((uint32_t)(1) << 31) | ((uint32_t)(18 + 0x45) << 16) | (uint32_t)(23), NS_ERROR_XPC_BAD_IID = ((uint32_t)(1) << 31) | ((uint32_t)(18 + 0x45) << 16) | (uint32_t)(24), NS_ERROR_XPC_CANT_CREATE_WN = ((uint32_t)(1) << 31) | ((uint32_t)(18 + 0x45) << 16) | (uint32_t)(25), NS_ERROR_XPC_JS_THREW_EXCEPTION = ((uint32_t)(1) << 31) | ((uint32_t)(18 + 0x45) << 16) | (uint32_t)(26), NS_ERROR_XPC_JS_THREW_NATIVE_OBJECT = ((uint32_t)(1) << 31) | ((uint32_t)(18 + 0x45) << 16) | (uint32_t)(27), NS_ERROR_XPC_JS_THREW_JS_OBJECT = ((uint32_t)(1) << 31) | ((uint32_t)(18 + 0x45) << 16) | (uint32_t)(28), NS_ERROR_XPC_JS_THREW_NULL = ((uint32_t)(1) << 31) | ((uint32_t)(18 + 0x45) << 16) | (uint32_t)(29), NS_ERROR_XPC_JS_THREW_STRING = ((uint32_t)(1) << 31) | ((uint32_t)(18 + 0x45) << 16) | (uint32_t)(30), NS_ERROR_XPC_JS_THREW_NUMBER = ((uint32_t)(1) << 31) | ((uint32_t)(18 + 0x45) << 16) | (uint32_t)(31), NS_ERROR_XPC_JAVASCRIPT_ERROR = ((uint32_t)(1) << 31) | ((uint32_t)(18 + 0x45) << 16) | (uint32_t)(32), NS_ERROR_XPC_JAVASCRIPT_ERROR_WITH_DETAILS = ((uint32_t)(1) << 31) | ((uint32_t)(18 + 0x45) << 16) | (uint32_t)(33), NS_ERROR_XPC_CANT_CONVERT_PRIMITIVE_TO_ARRAY = ((uint32_t)(1) << 31) | ((uint32_t)(18 + 0x45) << 16) | (uint32_t)(34), NS_ERROR_XPC_CANT_CONVERT_OBJECT_TO_ARRAY = ((uint32_t)(1) << 31) | ((uint32_t)(18 + 0x45) << 16) | (uint32_t)(35), NS_ERROR_XPC_NOT_ENOUGH_ELEMENTS_IN_ARRAY = ((uint32_t)(1) << 31) | ((uint32_t)(18 + 0x45) << 16) | (uint32_t)(36), NS_ERROR_XPC_CANT_GET_ARRAY_INFO = ((uint32_t)(1) << 31) | ((uint32_t)(18 + 0x45) << 16) | (uint32_t)(37), NS_ERROR_XPC_NOT_ENOUGH_CHARS_IN_STRING = ((uint32_t)(1) << 31) | ((uint32_t)(18 + 0x45) << 16) | (uint32_t)(38), NS_ERROR_XPC_SECURITY_MANAGER_VETO = ((uint32_t)(1) << 31) | ((uint32_t)(18 + 0x45) << 16) | (uint32_t)(39), NS_ERROR_XPC_INTERFACE_NOT_SCRIPTABLE = ((uint32_t)(1) << 31) | ((uint32_t)(18 + 0x45) << 16) | (uint32_t)(40), NS_ERROR_XPC_INTERFACE_NOT_FROM_NSISUPPORTS = ((uint32_t)(1) << 31) | ((uint32_t)(18 + 0x45) << 16) | (uint32_t)(41), NS_ERROR_XPC_CANT_GET_JSOBJECT_OF_DOM_OBJECT = ((uint32_t)(1) << 31) | ((uint32_t)(18 + 0x45) << 16) | (uint32_t)(42), NS_ERROR_XPC_CANT_SET_READ_ONLY_CONSTANT = ((uint32_t)(1) << 31) | ((uint32_t)(18 + 0x45) << 16) | (uint32_t)(43), NS_ERROR_XPC_CANT_SET_READ_ONLY_ATTRIBUTE = ((uint32_t)(1) << 31) | ((uint32_t)(18 + 0x45) << 16) | (uint32_t)(44), NS_ERROR_XPC_CANT_SET_READ_ONLY_METHOD = ((uint32_t)(1) << 31) | ((uint32_t)(18 + 0x45) << 16) | (uint32_t)(45), NS_ERROR_XPC_CANT_ADD_PROP_TO_WRAPPED_NATIVE = ((uint32_t)(1) << 31) | ((uint32_t)(18 + 0x45) << 16) | (uint32_t)(46), NS_ERROR_XPC_CALL_TO_SCRIPTABLE_FAILED = ((uint32_t)(1) << 31) | ((uint32_t)(18 + 0x45) << 16) | (uint32_t)(47), NS_ERROR_XPC_JSOBJECT_HAS_NO_FUNCTION_NAMED = ((uint32_t)(1) << 31) | ((uint32_t)(18 + 0x45) << 16) | (uint32_t)(48), NS_ERROR_XPC_BAD_ID_STRING = ((uint32_t)(1) << 31) | ((uint32_t)(18 + 0x45) << 16) | (uint32_t)(49), NS_ERROR_XPC_BAD_INITIALIZER_NAME = ((uint32_t)(1) << 31) | ((uint32_t)(18 + 0x45) << 16) | (uint32_t)(50), NS_ERROR_XPC_HAS_BEEN_SHUTDOWN = ((uint32_t)(1) << 31) | ((uint32_t)(18 + 0x45) << 16) | (uint32_t)(51), NS_ERROR_XPC_CANT_MODIFY_PROP_ON_WN = ((uint32_t)(1) << 31) | ((uint32_t)(18 + 0x45) << 16) | (uint32_t)(52), NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL = ((uint32_t)(1) << 31) | ((uint32_t)(18 + 0x45) << 16) | (uint32_t)(53), NS_ERROR_XPC_CANT_PASS_CPOW_TO_NATIVE = ((uint32_t)(1) << 31) | ((uint32_t)(18 + 0x45) << 16) | (uint32_t)(54), NS_SUCCESS_I_DID_SOMETHING = ((uint32_t)(0) << 31) | ((uint32_t)(18 + 0x45) << 16) | (uint32_t)(1), NS_ERROR_LAUNCHED_CHILD_PROCESS = ((uint32_t)(1) << 31) | ((uint32_t)(19 + 0x45) << 16) | (uint32_t)(200), # 634 "../../../dist/include/ErrorList.h" NS_ERROR_CSP_FORM_ACTION_VIOLATION = ((uint32_t)(1) << 31) | ((uint32_t)(21 + 0x45) << 16) | (uint32_t)(98), NS_ERROR_CSP_FRAME_ANCESTOR_VIOLATION = ((uint32_t)(1) << 31) | ((uint32_t)(21 + 0x45) << 16) | (uint32_t)(99), NS_ERROR_CMS_VERIFY_NOT_SIGNED = ((uint32_t)(1) << 31) | ((uint32_t)(21 + 0x45) << 16) | (uint32_t)(1024), NS_ERROR_CMS_VERIFY_NO_CONTENT_INFO = ((uint32_t)(1) << 31) | ((uint32_t)(21 + 0x45) << 16) | (uint32_t)(1025), NS_ERROR_CMS_VERIFY_BAD_DIGEST = ((uint32_t)(1) << 31) | ((uint32_t)(21 + 0x45) << 16) | (uint32_t)(1026), NS_ERROR_CMS_VERIFY_NOCERT = ((uint32_t)(1) << 31) | ((uint32_t)(21 + 0x45) << 16) | (uint32_t)(1028), NS_ERROR_CMS_VERIFY_UNTRUSTED = ((uint32_t)(1) << 31) | ((uint32_t)(21 + 0x45) << 16) | (uint32_t)(1029), NS_ERROR_CMS_VERIFY_ERROR_UNVERIFIED = ((uint32_t)(1) << 31) | ((uint32_t)(21 + 0x45) << 16) | (uint32_t)(1031), NS_ERROR_CMS_VERIFY_ERROR_PROCESSING = ((uint32_t)(1) << 31) | ((uint32_t)(21 + 0x45) << 16) | (uint32_t)(1032), NS_ERROR_CMS_VERIFY_BAD_SIGNATURE = ((uint32_t)(1) << 31) | ((uint32_t)(21 + 0x45) << 16) | (uint32_t)(1033), NS_ERROR_CMS_VERIFY_DIGEST_MISMATCH = ((uint32_t)(1) << 31) | ((uint32_t)(21 + 0x45) << 16) | (uint32_t)(1034), NS_ERROR_CMS_VERIFY_UNKNOWN_ALGO = ((uint32_t)(1) << 31) | ((uint32_t)(21 + 0x45) << 16) | (uint32_t)(1035), NS_ERROR_CMS_VERIFY_UNSUPPORTED_ALGO = ((uint32_t)(1) << 31) | ((uint32_t)(21 + 0x45) << 16) | (uint32_t)(1036), NS_ERROR_CMS_VERIFY_MALFORMED_SIGNATURE = ((uint32_t)(1) << 31) | ((uint32_t)(21 + 0x45) << 16) | (uint32_t)(1037), NS_ERROR_CMS_VERIFY_HEADER_MISMATCH = ((uint32_t)(1) << 31) | ((uint32_t)(21 + 0x45) << 16) | (uint32_t)(1038), NS_ERROR_CMS_VERIFY_NOT_YET_ATTEMPTED = ((uint32_t)(1) << 31) | ((uint32_t)(21 + 0x45) << 16) | (uint32_t)(1039), NS_ERROR_CMS_VERIFY_CERT_WITHOUT_ADDRESS = ((uint32_t)(1) << 31) | ((uint32_t)(21 + 0x45) << 16) | (uint32_t)(1040), NS_ERROR_CMS_ENCRYPT_NO_BULK_ALG = ((uint32_t)(1) << 31) | ((uint32_t)(21 + 0x45) << 16) | (uint32_t)(1056), NS_ERROR_CMS_ENCRYPT_INCOMPLETE = ((uint32_t)(1) << 31) | ((uint32_t)(21 + 0x45) << 16) | (uint32_t)(1057), # 664 "../../../dist/include/ErrorList.h" NS_ERROR_DOM_INVALID_EXPRESSION_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(22 + 0x45) << 16) | (uint32_t)(51), NS_ERROR_DOM_TYPE_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(22 + 0x45) << 16) | (uint32_t)(52), NS_ERROR_WONT_HANDLE_CONTENT = ((uint32_t)(1) << 31) | ((uint32_t)(24 + 0x45) << 16) | (uint32_t)(1), NS_ERROR_MALWARE_URI = ((uint32_t)(1) << 31) | ((uint32_t)(24 + 0x45) << 16) | (uint32_t)(30), NS_ERROR_PHISHING_URI = ((uint32_t)(1) << 31) | ((uint32_t)(24 + 0x45) << 16) | (uint32_t)(31), NS_ERROR_TRACKING_URI = ((uint32_t)(1) << 31) | ((uint32_t)(24 + 0x45) << 16) | (uint32_t)(34), NS_ERROR_SAVE_LINK_AS_TIMEOUT = ((uint32_t)(1) << 31) | ((uint32_t)(24 + 0x45) << 16) | (uint32_t)(32), NS_ERROR_PARSED_DATA_CACHED = ((uint32_t)(1) << 31) | ((uint32_t)(24 + 0x45) << 16) | (uint32_t)(33), NS_REFRESHURI_HEADER_FOUND = ((uint32_t)(0) << 31) | ((uint32_t)(24 + 0x45) << 16) | (uint32_t)(2), # 697 "../../../dist/include/ErrorList.h" NS_ERROR_IMAGE_SRC_CHANGED = ((uint32_t)(1) << 31) | ((uint32_t)(25 + 0x45) << 16) | (uint32_t)(4), NS_ERROR_IMAGE_BLOCKED = ((uint32_t)(1) << 31) | ((uint32_t)(25 + 0x45) << 16) | (uint32_t)(5), NS_ERROR_CONTENT_BLOCKED = ((uint32_t)(1) << 31) | ((uint32_t)(25 + 0x45) << 16) | (uint32_t)(6), NS_ERROR_CONTENT_BLOCKED_SHOW_ALT = ((uint32_t)(1) << 31) | ((uint32_t)(25 + 0x45) << 16) | (uint32_t)(7), NS_PROPTABLE_PROP_NOT_THERE = ((uint32_t)(1) << 31) | ((uint32_t)(25 + 0x45) << 16) | (uint32_t)(10), NS_ERROR_XBL_BLOCKED = ((uint32_t)(1) << 31) | ((uint32_t)(25 + 0x45) << 16) | (uint32_t)(15), NS_ERROR_CONTENT_CRASHED = ((uint32_t)(1) << 31) | ((uint32_t)(25 + 0x45) << 16) | (uint32_t)(16), NS_HTML_STYLE_PROPERTY_NOT_THERE = ((uint32_t)(0) << 31) | ((uint32_t)(25 + 0x45) << 16) | (uint32_t)(2), NS_CONTENT_BLOCKED = ((uint32_t)(0) << 31) | ((uint32_t)(25 + 0x45) << 16) | (uint32_t)(8), NS_CONTENT_BLOCKED_SHOW_ALT = ((uint32_t)(0) << 31) | ((uint32_t)(25 + 0x45) << 16) | (uint32_t)(9), NS_PROPTABLE_PROP_OVERWRITTEN = ((uint32_t)(0) << 31) | ((uint32_t)(25 + 0x45) << 16) | (uint32_t)(11), NS_FINDBROADCASTER_NOT_FOUND = ((uint32_t)(0) << 31) | ((uint32_t)(25 + 0x45) << 16) | (uint32_t)(12), NS_FINDBROADCASTER_FOUND = ((uint32_t)(0) << 31) | ((uint32_t)(25 + 0x45) << 16) | (uint32_t)(13), NS_FINDBROADCASTER_AWAIT_OVERLAYS = ((uint32_t)(0) << 31) | ((uint32_t)(25 + 0x45) << 16) | (uint32_t)(14), NS_ERROR_XPATH_INVALID_ARG = NS_ERROR_INVALID_ARG, NS_ERROR_XSLT_PARSE_FAILURE = ((uint32_t)(1) << 31) | ((uint32_t)(27 + 0x45) << 16) | (uint32_t)(1), NS_ERROR_XPATH_PARSE_FAILURE = ((uint32_t)(1) << 31) | ((uint32_t)(27 + 0x45) << 16) | (uint32_t)(2), NS_ERROR_XSLT_ALREADY_SET = ((uint32_t)(1) << 31) | ((uint32_t)(27 + 0x45) << 16) | (uint32_t)(3), NS_ERROR_XSLT_EXECUTION_FAILURE = ((uint32_t)(1) << 31) | ((uint32_t)(27 + 0x45) << 16) | (uint32_t)(4), NS_ERROR_XPATH_UNKNOWN_FUNCTION = ((uint32_t)(1) << 31) | ((uint32_t)(27 + 0x45) << 16) | (uint32_t)(5), NS_ERROR_XSLT_BAD_RECURSION = ((uint32_t)(1) << 31) | ((uint32_t)(27 + 0x45) << 16) | (uint32_t)(6), NS_ERROR_XSLT_BAD_VALUE = ((uint32_t)(1) << 31) | ((uint32_t)(27 + 0x45) << 16) | (uint32_t)(7), NS_ERROR_XSLT_NODESET_EXPECTED = ((uint32_t)(1) << 31) | ((uint32_t)(27 + 0x45) << 16) | (uint32_t)(8), NS_ERROR_XSLT_ABORTED = ((uint32_t)(1) << 31) | ((uint32_t)(27 + 0x45) << 16) | (uint32_t)(9), NS_ERROR_XSLT_NETWORK_ERROR = ((uint32_t)(1) << 31) | ((uint32_t)(27 + 0x45) << 16) | (uint32_t)(10), NS_ERROR_XSLT_WRONG_MIME_TYPE = ((uint32_t)(1) << 31) | ((uint32_t)(27 + 0x45) << 16) | (uint32_t)(11), NS_ERROR_XSLT_LOAD_RECURSION = ((uint32_t)(1) << 31) | ((uint32_t)(27 + 0x45) << 16) | (uint32_t)(12), NS_ERROR_XPATH_BAD_ARGUMENT_COUNT = ((uint32_t)(1) << 31) | ((uint32_t)(27 + 0x45) << 16) | (uint32_t)(13), NS_ERROR_XPATH_BAD_EXTENSION_FUNCTION = ((uint32_t)(1) << 31) | ((uint32_t)(27 + 0x45) << 16) | (uint32_t)(14), NS_ERROR_XPATH_PAREN_EXPECTED = ((uint32_t)(1) << 31) | ((uint32_t)(27 + 0x45) << 16) | (uint32_t)(15), NS_ERROR_XPATH_INVALID_AXIS = ((uint32_t)(1) << 31) | ((uint32_t)(27 + 0x45) << 16) | (uint32_t)(16), NS_ERROR_XPATH_NO_NODE_TYPE_TEST = ((uint32_t)(1) << 31) | ((uint32_t)(27 + 0x45) << 16) | (uint32_t)(17), NS_ERROR_XPATH_BRACKET_EXPECTED = ((uint32_t)(1) << 31) | ((uint32_t)(27 + 0x45) << 16) | (uint32_t)(18), NS_ERROR_XPATH_INVALID_VAR_NAME = ((uint32_t)(1) << 31) | ((uint32_t)(27 + 0x45) << 16) | (uint32_t)(19), NS_ERROR_XPATH_UNEXPECTED_END = ((uint32_t)(1) << 31) | ((uint32_t)(27 + 0x45) << 16) | (uint32_t)(20), NS_ERROR_XPATH_OPERATOR_EXPECTED = ((uint32_t)(1) << 31) | ((uint32_t)(27 + 0x45) << 16) | (uint32_t)(21), NS_ERROR_XPATH_UNCLOSED_LITERAL = ((uint32_t)(1) << 31) | ((uint32_t)(27 + 0x45) << 16) | (uint32_t)(22), NS_ERROR_XPATH_BAD_COLON = ((uint32_t)(1) << 31) | ((uint32_t)(27 + 0x45) << 16) | (uint32_t)(23), NS_ERROR_XPATH_BAD_BANG = ((uint32_t)(1) << 31) | ((uint32_t)(27 + 0x45) << 16) | (uint32_t)(24), NS_ERROR_XPATH_ILLEGAL_CHAR = ((uint32_t)(1) << 31) | ((uint32_t)(27 + 0x45) << 16) | (uint32_t)(25), NS_ERROR_XPATH_BINARY_EXPECTED = ((uint32_t)(1) << 31) | ((uint32_t)(27 + 0x45) << 16) | (uint32_t)(26), NS_ERROR_XSLT_LOAD_BLOCKED_ERROR = ((uint32_t)(1) << 31) | ((uint32_t)(27 + 0x45) << 16) | (uint32_t)(27), NS_ERROR_XPATH_INVALID_EXPRESSION_EVALUATED = ((uint32_t)(1) << 31) | ((uint32_t)(27 + 0x45) << 16) | (uint32_t)(28), NS_ERROR_XPATH_UNBALANCED_CURLY_BRACE = ((uint32_t)(1) << 31) | ((uint32_t)(27 + 0x45) << 16) | (uint32_t)(29), NS_ERROR_XSLT_BAD_NODE_NAME = ((uint32_t)(1) << 31) | ((uint32_t)(27 + 0x45) << 16) | (uint32_t)(30), NS_ERROR_XSLT_VAR_ALREADY_SET = ((uint32_t)(1) << 31) | ((uint32_t)(27 + 0x45) << 16) | (uint32_t)(31), NS_XSLT_GET_NEW_HANDLER = ((uint32_t)(0) << 31) | ((uint32_t)(27 + 0x45) << 16) | (uint32_t)(1), # 768 "../../../dist/include/ErrorList.h" NS_ERROR_DOM_SVG_WRONG_TYPE_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(29 + 0x45) << 16) | (uint32_t)(0), NS_ERROR_DOM_SVG_MATRIX_NOT_INVERTABLE = ((uint32_t)(1) << 31) | ((uint32_t)(29 + 0x45) << 16) | (uint32_t)(2), # 786 "../../../dist/include/ErrorList.h" NS_ERROR_STORAGE_BUSY = ((uint32_t)(1) << 31) | ((uint32_t)(30 + 0x45) << 16) | (uint32_t)(1), NS_ERROR_STORAGE_IOERR = ((uint32_t)(1) << 31) | ((uint32_t)(30 + 0x45) << 16) | (uint32_t)(2), NS_ERROR_STORAGE_CONSTRAINT = ((uint32_t)(1) << 31) | ((uint32_t)(30 + 0x45) << 16) | (uint32_t)(3), NS_ERROR_DOM_FILE_NOT_FOUND_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(32 + 0x45) << 16) | (uint32_t)(0), NS_ERROR_DOM_FILE_NOT_READABLE_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(32 + 0x45) << 16) | (uint32_t)(1), NS_ERROR_DOM_FILE_ABORT_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(32 + 0x45) << 16) | (uint32_t)(2), # 807 "../../../dist/include/ErrorList.h" NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(33 + 0x45) << 16) | (uint32_t)(1), NS_ERROR_DOM_INDEXEDDB_NOT_FOUND_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(33 + 0x45) << 16) | (uint32_t)(3), NS_ERROR_DOM_INDEXEDDB_CONSTRAINT_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(33 + 0x45) << 16) | (uint32_t)(4), NS_ERROR_DOM_INDEXEDDB_DATA_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(33 + 0x45) << 16) | (uint32_t)(5), NS_ERROR_DOM_INDEXEDDB_NOT_ALLOWED_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(33 + 0x45) << 16) | (uint32_t)(6), NS_ERROR_DOM_INDEXEDDB_TRANSACTION_INACTIVE_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(33 + 0x45) << 16) | (uint32_t)(7), NS_ERROR_DOM_INDEXEDDB_ABORT_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(33 + 0x45) << 16) | (uint32_t)(8), NS_ERROR_DOM_INDEXEDDB_READ_ONLY_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(33 + 0x45) << 16) | (uint32_t)(9), NS_ERROR_DOM_INDEXEDDB_TIMEOUT_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(33 + 0x45) << 16) | (uint32_t)(10), NS_ERROR_DOM_INDEXEDDB_QUOTA_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(33 + 0x45) << 16) | (uint32_t)(11), NS_ERROR_DOM_INDEXEDDB_VERSION_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(33 + 0x45) << 16) | (uint32_t)(12), NS_ERROR_DOM_INDEXEDDB_RECOVERABLE_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(33 + 0x45) << 16) | (uint32_t)(1001), NS_ERROR_DOM_FILEHANDLE_UNKNOWN_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(34 + 0x45) << 16) | (uint32_t)(1), NS_ERROR_DOM_FILEHANDLE_NOT_ALLOWED_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(34 + 0x45) << 16) | (uint32_t)(2), NS_ERROR_DOM_FILEHANDLE_INACTIVE_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(34 + 0x45) << 16) | (uint32_t)(3), NS_ERROR_DOM_FILEHANDLE_ABORT_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(34 + 0x45) << 16) | (uint32_t)(4), NS_ERROR_DOM_FILEHANDLE_READ_ONLY_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(34 + 0x45) << 16) | (uint32_t)(5), NS_ERROR_DOM_FILEHANDLE_QUOTA_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(34 + 0x45) << 16) | (uint32_t)(6), NS_ERROR_SIGNED_JAR_NOT_SIGNED = ((uint32_t)(1) << 31) | ((uint32_t)(35 + 0x45) << 16) | (uint32_t)(1), NS_ERROR_SIGNED_JAR_MODIFIED_ENTRY = ((uint32_t)(1) << 31) | ((uint32_t)(35 + 0x45) << 16) | (uint32_t)(2), NS_ERROR_SIGNED_JAR_UNSIGNED_ENTRY = ((uint32_t)(1) << 31) | ((uint32_t)(35 + 0x45) << 16) | (uint32_t)(3), NS_ERROR_SIGNED_JAR_ENTRY_MISSING = ((uint32_t)(1) << 31) | ((uint32_t)(35 + 0x45) << 16) | (uint32_t)(4), NS_ERROR_SIGNED_JAR_WRONG_SIGNATURE = ((uint32_t)(1) << 31) | ((uint32_t)(35 + 0x45) << 16) | (uint32_t)(5), NS_ERROR_SIGNED_JAR_ENTRY_TOO_LARGE = ((uint32_t)(1) << 31) | ((uint32_t)(35 + 0x45) << 16) | (uint32_t)(6), NS_ERROR_SIGNED_JAR_ENTRY_INVALID = ((uint32_t)(1) << 31) | ((uint32_t)(35 + 0x45) << 16) | (uint32_t)(7), NS_ERROR_SIGNED_JAR_MANIFEST_INVALID = ((uint32_t)(1) << 31) | ((uint32_t)(35 + 0x45) << 16) | (uint32_t)(8), NS_ERROR_DOM_FILESYSTEM_INVALID_PATH_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(36 + 0x45) << 16) | (uint32_t)(1), NS_ERROR_DOM_FILESYSTEM_INVALID_MODIFICATION_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(36 + 0x45) << 16) | (uint32_t)(2), NS_ERROR_DOM_FILESYSTEM_NO_MODIFICATION_ALLOWED_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(36 + 0x45) << 16) | (uint32_t)(3), NS_ERROR_DOM_FILESYSTEM_PATH_EXISTS_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(36 + 0x45) << 16) | (uint32_t)(4), NS_ERROR_DOM_FILESYSTEM_TYPE_MISMATCH_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(36 + 0x45) << 16) | (uint32_t)(5), NS_ERROR_DOM_FILESYSTEM_UNKNOWN_ERR = ((uint32_t)(1) << 31) | ((uint32_t)(36 + 0x45) << 16) | (uint32_t)(6), NS_ERROR_DOM_BLUETOOTH_FAIL = ((uint32_t)(1) << 31) | ((uint32_t)(37 + 0x45) << 16) | (uint32_t)(1), NS_ERROR_DOM_BLUETOOTH_NOT_READY = ((uint32_t)(1) << 31) | ((uint32_t)(37 + 0x45) << 16) | (uint32_t)(2), NS_ERROR_DOM_BLUETOOTH_NOMEM = ((uint32_t)(1) << 31) | ((uint32_t)(37 + 0x45) << 16) | (uint32_t)(3), NS_ERROR_DOM_BLUETOOTH_BUSY = ((uint32_t)(1) << 31) | ((uint32_t)(37 + 0x45) << 16) | (uint32_t)(4), NS_ERROR_DOM_BLUETOOTH_DONE = ((uint32_t)(1) << 31) | ((uint32_t)(37 + 0x45) << 16) | (uint32_t)(5), NS_ERROR_DOM_BLUETOOTH_UNSUPPORTED = ((uint32_t)(1) << 31) | ((uint32_t)(37 + 0x45) << 16) | (uint32_t)(6), NS_ERROR_DOM_BLUETOOTH_PARM_INVALID = ((uint32_t)(1) << 31) | ((uint32_t)(37 + 0x45) << 16) | (uint32_t)(7), NS_ERROR_DOM_BLUETOOTH_UNHANDLED = ((uint32_t)(1) << 31) | ((uint32_t)(37 + 0x45) << 16) | (uint32_t)(8), NS_ERROR_DOM_BLUETOOTH_AUTH_FAILURE = ((uint32_t)(1) << 31) | ((uint32_t)(37 + 0x45) << 16) | (uint32_t)(9), NS_ERROR_DOM_BLUETOOTH_RMT_DEV_DOWN = ((uint32_t)(1) << 31) | ((uint32_t)(37 + 0x45) << 16) | (uint32_t)(10), NS_ERROR_DOM_BLUETOOTH_AUTH_REJECTED = ((uint32_t)(1) << 31) | ((uint32_t)(37 + 0x45) << 16) | (uint32_t)(11), NS_ERROR_SIGNED_APP_MANIFEST_INVALID = ((uint32_t)(1) << 31) | ((uint32_t)(38 + 0x45) << 16) | (uint32_t)(1), # 890 "../../../dist/include/ErrorList.h" NS_ERROR_DOWNLOAD_COMPLETE = ((uint32_t)(1) << 31) | ((uint32_t)(51 + 0x45) << 16) | (uint32_t)(1), NS_ERROR_DOWNLOAD_NOT_PARTIAL = ((uint32_t)(1) << 31) | ((uint32_t)(51 + 0x45) << 16) | (uint32_t)(2), NS_ERROR_UNORM_MOREOUTPUT = ((uint32_t)(1) << 31) | ((uint32_t)(51 + 0x45) << 16) | (uint32_t)(33), NS_ERROR_DOCSHELL_REQUEST_REJECTED = ((uint32_t)(1) << 31) | ((uint32_t)(51 + 0x45) << 16) | (uint32_t)(1001), NS_ERROR_DOCUMENT_IS_PRINTMODE = ((uint32_t)(1) << 31) | ((uint32_t)(51 + 0x45) << 16) | (uint32_t)(2001), NS_SUCCESS_DONT_FIXUP = ((uint32_t)(0) << 31) | ((uint32_t)(51 + 0x45) << 16) | (uint32_t)(1), NS_SUCCESS_RESTART_APP = ((uint32_t)(0) << 31) | ((uint32_t)(51 + 0x45) << 16) | (uint32_t)(1), NS_SUCCESS_RESTART_METRO_APP = ((uint32_t)(0) << 31) | ((uint32_t)(51 + 0x45) << 16) | (uint32_t)(2), NS_SUCCESS_RESTART_APP_NOT_SAME_PROFILE = ((uint32_t)(0) << 31) | ((uint32_t)(51 + 0x45) << 16) | (uint32_t)(3), NS_SUCCESS_UNORM_NOTFOUND = ((uint32_t)(0) << 31) | ((uint32_t)(51 + 0x45) << 16) | (uint32_t)(17), NS_ERROR_NOT_IN_TREE = ((uint32_t)(1) << 31) | ((uint32_t)(51 + 0x45) << 16) | (uint32_t)(38), NS_OK_NO_NAME_CLAUSE_HANDLED = ((uint32_t)(0) << 31) | ((uint32_t)(51 + 0x45) << 16) | (uint32_t)(34) # 131 "../../../dist/include/nsError.h" 2 } nsresult; # 1 "../../../dist/include/ErrorListCxxDefines.h" 1 # 139 "../../../dist/include/nsError.h" 2 # 183 "../../../dist/include/nsError.h" inline uint32_t NS_FAILED_impl(nsresult aErr) { return static_cast(aErr) & 0x80000000; } static_assert(((nsresult)0) < ((nsresult)-1), "nsresult must be an unsigned type"); static_assert(sizeof(nsresult) == sizeof(uint32_t), "nsresult must be 32 bits"); # 225 "../../../dist/include/nsError.h" extern nsresult NS_ErrorAccordingToNSPR(); inline uint16_t NS_ERROR_GET_CODE(nsresult aErr) { return uint32_t(aErr) & 0xffff; } inline uint16_t NS_ERROR_GET_MODULE(nsresult aErr) { return ((uint32_t(aErr) >> 16) - 0x45) & 0x1fff; } inline bool NS_ERROR_GET_SEVERITY(nsresult aErr) { return uint32_t(aErr) >> 31; } # 270 "../../../dist/include/nscore.h" 2 typedef MozRefCountType nsrefcnt; # 11 "../../../dist/include/nsTraceRefcnt.h" 2 class nsTraceRefcnt { public: static void Shutdown(); enum StatisticsType { ALL_STATS, NEW_STATS }; static nsresult DumpStatistics(StatisticsType aType = ALL_STATS, FILE* aOut = 0); static void ResetStatistics(); static void DemangleSymbol(const char* aSymbol, char* aBuffer, int aBufLen); static void WalkTheStack(FILE* aStream); # 39 "../../../dist/include/nsTraceRefcnt.h" static void WalkTheStackCached(FILE* aStream); static void SetActivityIsLegal(bool aLegal); }; # 61 "../../../dist/include/nsTraceRefcnt.h" extern "C" void NS_MeanAndStdDev(double aNumberOfValues, double aSumOfValues, double aSumOfSquaredValues, double* aMeanResult, double* aStdDevResult); # 22 "../../../dist/include/mozilla/Assertions.h" 2 # 1 "../../../dist/system_wrappers/stddef.h" 1 # 2 "../../../dist/system_wrappers/stddef.h" 3 #pragma GCC visibility push(default) # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/stddef.h" 1 3 4 # 4 "../../../dist/system_wrappers/stddef.h" 2 3 #pragma GCC visibility pop # 25 "../../../dist/include/mozilla/Assertions.h" 2 # 1 "../../../dist/system_wrappers/stdio.h" 1 # 2 "../../../dist/system_wrappers/stdio.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 26 "../../../dist/include/mozilla/Assertions.h" 2 # 1 "../../../dist/system_wrappers/stdlib.h" 1 # 2 "../../../dist/system_wrappers/stdlib.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 27 "../../../dist/include/mozilla/Assertions.h" 2 # 44 "../../../dist/include/mozilla/Assertions.h" # 1 "../../../dist/system_wrappers/signal.h" 1 # 2 "../../../dist/system_wrappers/signal.h" 3 #pragma GCC visibility push(default) # 1 "/usr/include/signal.h" 1 3 4 # 28 "/usr/include/signal.h" 3 4 # 1 "../../../dist/system_wrappers/features.h" 1 3 4 # 2 "../../../dist/system_wrappers/features.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 29 "/usr/include/signal.h" 2 3 4 # 30 "/usr/include/signal.h" 3 4 extern "C" { # 1 "/usr/include/bits/sigset.h" 1 3 4 # 102 "/usr/include/bits/sigset.h" 3 4 extern int __sigismember (const __sigset_t *, int); extern int __sigaddset (__sigset_t *, int); extern int __sigdelset (__sigset_t *, int); # 33 "/usr/include/signal.h" 2 3 4 typedef __sig_atomic_t sig_atomic_t; # 57 "/usr/include/signal.h" 3 4 # 1 "/usr/include/bits/signum.h" 1 3 4 # 58 "/usr/include/signal.h" 2 3 4 # 75 "/usr/include/signal.h" 3 4 # 1 "../../../dist/system_wrappers/time.h" 1 3 4 # 2 "../../../dist/system_wrappers/time.h" 3 #pragma GCC visibility push(default) # 1 "/usr/include/time.h" 1 3 4 # 4 "../../../dist/system_wrappers/time.h" 2 3 #pragma GCC visibility pop # 76 "/usr/include/signal.h" 2 3 4 # 1 "/usr/include/bits/siginfo.h" 1 3 4 # 24 "/usr/include/bits/siginfo.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 25 "/usr/include/bits/siginfo.h" 2 3 4 typedef union sigval { int sival_int; void *sival_ptr; } sigval_t; # 58 "/usr/include/bits/siginfo.h" 3 4 typedef __clock_t __sigchld_clock_t; typedef struct { int si_signo; int si_errno; int si_code; union { int _pad[((128 / sizeof (int)) - 3)]; struct { __pid_t si_pid; __uid_t si_uid; } _kill; struct { int si_tid; int si_overrun; sigval_t si_sigval; } _timer; struct { __pid_t si_pid; __uid_t si_uid; sigval_t si_sigval; } _rt; struct { __pid_t si_pid; __uid_t si_uid; int si_status; __sigchld_clock_t si_utime; __sigchld_clock_t si_stime; } _sigchld; struct { void *si_addr; short int si_addr_lsb; } _sigfault; struct { long int si_band; int si_fd; } _sigpoll; struct { void *_call_addr; int _syscall; unsigned int _arch; } _sigsys; } _sifields; } siginfo_t ; # 153 "/usr/include/bits/siginfo.h" 3 4 enum { SI_ASYNCNL = -60, SI_TKILL = -6, SI_SIGIO, SI_ASYNCIO, SI_MESGQ, SI_TIMER, SI_QUEUE, SI_USER, SI_KERNEL = 0x80 }; enum { ILL_ILLOPC = 1, ILL_ILLOPN, ILL_ILLADR, ILL_ILLTRP, ILL_PRVOPC, ILL_PRVREG, ILL_COPROC, ILL_BADSTK }; enum { FPE_INTDIV = 1, FPE_INTOVF, FPE_FLTDIV, FPE_FLTOVF, FPE_FLTUND, FPE_FLTRES, FPE_FLTINV, FPE_FLTSUB }; enum { SEGV_MAPERR = 1, SEGV_ACCERR }; enum { BUS_ADRALN = 1, BUS_ADRERR, BUS_OBJERR, BUS_MCEERR_AR, BUS_MCEERR_AO }; enum { TRAP_BRKPT = 1, TRAP_TRACE }; enum { CLD_EXITED = 1, CLD_KILLED, CLD_DUMPED, CLD_TRAPPED, CLD_STOPPED, CLD_CONTINUED }; enum { POLL_IN = 1, POLL_OUT, POLL_MSG, POLL_ERR, POLL_PRI, POLL_HUP }; # 313 "/usr/include/bits/siginfo.h" 3 4 typedef struct sigevent { sigval_t sigev_value; int sigev_signo; int sigev_notify; union { int _pad[((64 / sizeof (int)) - 3)]; __pid_t _tid; struct { void (*_function) (sigval_t); pthread_attr_t *_attribute; } _sigev_thread; } _sigev_un; } sigevent_t; enum { SIGEV_SIGNAL = 0, SIGEV_NONE, SIGEV_THREAD, SIGEV_THREAD_ID = 4 }; # 81 "/usr/include/signal.h" 2 3 4 typedef void (*__sighandler_t) (int); extern __sighandler_t __sysv_signal (int __sig, __sighandler_t __handler) throw (); extern __sighandler_t sysv_signal (int __sig, __sighandler_t __handler) throw (); extern __sighandler_t signal (int __sig, __sighandler_t __handler) throw (); # 114 "/usr/include/signal.h" 3 4 extern __sighandler_t bsd_signal (int __sig, __sighandler_t __handler) throw (); extern int kill (__pid_t __pid, int __sig) throw (); extern int killpg (__pid_t __pgrp, int __sig) throw (); extern int raise (int __sig) throw (); extern __sighandler_t ssignal (int __sig, __sighandler_t __handler) throw (); extern int gsignal (int __sig) throw (); extern void psignal (int __sig, const char *__s); extern void psiginfo (const siginfo_t *__pinfo, const char *__s); # 170 "/usr/include/signal.h" 3 4 extern int sigpause (int __sig) __asm__ ("__xpg_sigpause"); # 189 "/usr/include/signal.h" 3 4 extern int sigblock (int __mask) throw () __attribute__ ((__deprecated__)); extern int sigsetmask (int __mask) throw () __attribute__ ((__deprecated__)); extern int siggetmask (void) throw () __attribute__ ((__deprecated__)); # 204 "/usr/include/signal.h" 3 4 typedef __sighandler_t sighandler_t; typedef __sighandler_t sig_t; extern int sigemptyset (sigset_t *__set) throw () __attribute__ ((__nonnull__ (1))); extern int sigfillset (sigset_t *__set) throw () __attribute__ ((__nonnull__ (1))); extern int sigaddset (sigset_t *__set, int __signo) throw () __attribute__ ((__nonnull__ (1))); extern int sigdelset (sigset_t *__set, int __signo) throw () __attribute__ ((__nonnull__ (1))); extern int sigismember (const sigset_t *__set, int __signo) throw () __attribute__ ((__nonnull__ (1))); extern int sigisemptyset (const sigset_t *__set) throw () __attribute__ ((__nonnull__ (1))); extern int sigandset (sigset_t *__set, const sigset_t *__left, const sigset_t *__right) throw () __attribute__ ((__nonnull__ (1, 2, 3))); extern int sigorset (sigset_t *__set, const sigset_t *__left, const sigset_t *__right) throw () __attribute__ ((__nonnull__ (1, 2, 3))); # 1 "/usr/include/bits/sigaction.h" 1 3 4 # 24 "/usr/include/bits/sigaction.h" 3 4 struct sigaction { union { __sighandler_t sa_handler; void (*sa_sigaction) (int, siginfo_t *, void *); } __sigaction_handler; __sigset_t sa_mask; int sa_flags; void (*sa_restorer) (void); }; # 246 "/usr/include/signal.h" 2 3 4 extern int sigprocmask (int __how, const sigset_t *__restrict __set, sigset_t *__restrict __oset) throw (); extern int sigsuspend (const sigset_t *__set) __attribute__ ((__nonnull__ (1))); extern int sigaction (int __sig, const struct sigaction *__restrict __act, struct sigaction *__restrict __oact) throw (); extern int sigpending (sigset_t *__set) throw () __attribute__ ((__nonnull__ (1))); extern int sigwait (const sigset_t *__restrict __set, int *__restrict __sig) __attribute__ ((__nonnull__ (1, 2))); extern int sigwaitinfo (const sigset_t *__restrict __set, siginfo_t *__restrict __info) __attribute__ ((__nonnull__ (1))); extern int sigtimedwait (const sigset_t *__restrict __set, siginfo_t *__restrict __info, const struct timespec *__restrict __timeout) __attribute__ ((__nonnull__ (1))); extern int sigqueue (__pid_t __pid, int __sig, const union sigval __val) throw (); # 303 "/usr/include/signal.h" 3 4 extern const char *const _sys_siglist[65]; extern const char *const sys_siglist[65]; # 1 "/usr/include/bits/sigcontext.h" 1 3 4 # 29 "/usr/include/bits/sigcontext.h" 3 4 struct _fpx_sw_bytes { __uint32_t magic1; __uint32_t extended_size; __uint64_t xstate_bv; __uint32_t xstate_size; __uint32_t padding[7]; }; struct _fpreg { unsigned short significand[4]; unsigned short exponent; }; struct _fpxreg { unsigned short significand[4]; unsigned short exponent; unsigned short padding[3]; }; struct _xmmreg { __uint32_t element[4]; }; struct _fpstate { __uint32_t cw; __uint32_t sw; __uint32_t tag; __uint32_t ipoff; __uint32_t cssel; __uint32_t dataoff; __uint32_t datasel; struct _fpreg _st[8]; unsigned short status; unsigned short magic; __uint32_t _fxsr_env[6]; __uint32_t mxcsr; __uint32_t reserved; struct _fpxreg _fxsr_st[8]; struct _xmmreg _xmm[8]; __uint32_t padding[56]; }; # 93 "/usr/include/bits/sigcontext.h" 3 4 struct sigcontext { unsigned short gs, __gsh; unsigned short fs, __fsh; unsigned short es, __esh; unsigned short ds, __dsh; unsigned long edi; unsigned long esi; unsigned long ebp; unsigned long esp; unsigned long ebx; unsigned long edx; unsigned long ecx; unsigned long eax; unsigned long trapno; unsigned long err; unsigned long eip; unsigned short cs, __csh; unsigned long eflags; unsigned long esp_at_signal; unsigned short ss, __ssh; struct _fpstate * fpstate; unsigned long oldmask; unsigned long cr2; }; # 175 "/usr/include/bits/sigcontext.h" 3 4 struct _xsave_hdr { __uint64_t xstate_bv; __uint64_t reserved1[2]; __uint64_t reserved2[5]; }; struct _ymmh_state { __uint32_t ymmh_space[64]; }; struct _xstate { struct _fpstate fpstate; struct _xsave_hdr xstate_hdr; struct _ymmh_state ymmh; }; # 309 "/usr/include/signal.h" 2 3 4 extern int sigreturn (struct sigcontext *__scp) throw (); # 1 "../../../dist/system_wrappers/stddef.h" 1 3 4 # 2 "../../../dist/system_wrappers/stddef.h" 3 #pragma GCC visibility push(default) # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/stddef.h" 1 3 4 # 4 "../../../dist/system_wrappers/stddef.h" 2 3 #pragma GCC visibility pop # 319 "/usr/include/signal.h" 2 3 4 extern int siginterrupt (int __sig, int __interrupt) throw (); # 1 "/usr/include/bits/sigstack.h" 1 3 4 # 25 "/usr/include/bits/sigstack.h" 3 4 struct sigstack { void *ss_sp; int ss_onstack; }; enum { SS_ONSTACK = 1, SS_DISABLE }; # 49 "/usr/include/bits/sigstack.h" 3 4 typedef struct sigaltstack { void *ss_sp; int ss_flags; size_t ss_size; } stack_t; # 326 "/usr/include/signal.h" 2 3 4 # 1 "../../../dist/system_wrappers/sys/ucontext.h" 1 3 4 # 2 "../../../dist/system_wrappers/sys/ucontext.h" 3 #pragma GCC visibility push(default) # 1 "/usr/include/sys/ucontext.h" 1 3 4 # 21 "/usr/include/sys/ucontext.h" 3 4 # 1 "../../../dist/system_wrappers/features.h" 1 3 4 # 2 "../../../dist/system_wrappers/features.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 22 "/usr/include/sys/ucontext.h" 2 3 4 # 1 "../../../dist/system_wrappers/signal.h" 1 3 4 # 2 "../../../dist/system_wrappers/signal.h" 3 #pragma GCC visibility push(default) # 1 "/usr/include/signal.h" 1 3 4 # 4 "../../../dist/system_wrappers/signal.h" 2 3 #pragma GCC visibility pop # 23 "/usr/include/sys/ucontext.h" 2 3 4 # 146 "/usr/include/sys/ucontext.h" 3 4 typedef int greg_t; typedef greg_t gregset_t[19]; enum { REG_GS = 0, REG_FS, REG_ES, REG_DS, REG_EDI, REG_ESI, REG_EBP, REG_ESP, REG_EBX, REG_EDX, REG_ECX, REG_EAX, REG_TRAPNO, REG_ERR, REG_EIP, REG_CS, REG_EFL, REG_UESP, REG_SS }; struct _libc_fpreg { unsigned short int significand[4]; unsigned short int exponent; }; struct _libc_fpstate { unsigned long int cw; unsigned long int sw; unsigned long int tag; unsigned long int ipoff; unsigned long int cssel; unsigned long int dataoff; unsigned long int datasel; struct _libc_fpreg _st[8]; unsigned long int status; }; typedef struct _libc_fpstate *fpregset_t; typedef struct { gregset_t gregs; fpregset_t fpregs; unsigned long int oldmask; unsigned long int cr2; } mcontext_t; typedef struct ucontext { unsigned long int uc_flags; struct ucontext *uc_link; stack_t uc_stack; mcontext_t uc_mcontext; __sigset_t uc_sigmask; struct _libc_fpstate __fpregs_mem; } ucontext_t; # 4 "../../../dist/system_wrappers/sys/ucontext.h" 2 3 #pragma GCC visibility pop # 329 "/usr/include/signal.h" 2 3 4 extern int sigstack (struct sigstack *__ss, struct sigstack *__oss) throw () __attribute__ ((__deprecated__)); extern int sigaltstack (const struct sigaltstack *__restrict __ss, struct sigaltstack *__restrict __oss) throw (); extern int sighold (int __sig) throw (); extern int sigrelse (int __sig) throw (); extern int sigignore (int __sig) throw (); extern __sighandler_t sigset (int __sig, __sighandler_t __disp) throw (); # 1 "/usr/include/bits/sigthread.h" 1 3 4 # 30 "/usr/include/bits/sigthread.h" 3 4 extern int pthread_sigmask (int __how, const __sigset_t *__restrict __newmask, __sigset_t *__restrict __oldmask)throw (); extern int pthread_kill (pthread_t __threadid, int __signo) throw (); extern int pthread_sigqueue (pthread_t __threadid, int __signo, const union sigval __value) throw (); # 365 "/usr/include/signal.h" 2 3 4 extern int __libc_current_sigrtmin (void) throw (); extern int __libc_current_sigrtmax (void) throw (); } # 4 "../../../dist/system_wrappers/signal.h" 2 3 #pragma GCC visibility pop # 45 "../../../dist/include/mozilla/Assertions.h" 2 # 123 "../../../dist/include/mozilla/Assertions.h" # 123 "../../../dist/include/mozilla/Assertions.h" extern "C" { # 134 "../../../dist/include/mozilla/Assertions.h" static __attribute__((always_inline)) inline void MOZ_ReportAssertionFailure(const char* aStr, const char* aFilename, int aLine) { fprintf( # 143 "../../../dist/include/mozilla/Assertions.h" 3 4 stderr # 143 "../../../dist/include/mozilla/Assertions.h" , "Assertion failure: %s, at %s:%d\n", aStr, aFilename, aLine); nsTraceRefcnt::WalkTheStack( # 145 "../../../dist/include/mozilla/Assertions.h" 3 4 stderr # 145 "../../../dist/include/mozilla/Assertions.h" ); fflush( # 147 "../../../dist/include/mozilla/Assertions.h" 3 4 stderr # 147 "../../../dist/include/mozilla/Assertions.h" ); } static __attribute__((always_inline)) inline void MOZ_ReportCrash(const char* aStr, const char* aFilename, int aLine) { fprintf( # 159 "../../../dist/include/mozilla/Assertions.h" 3 4 stderr # 159 "../../../dist/include/mozilla/Assertions.h" , "Hit MOZ_CRASH(%s) at %s:%d\n", aStr, aFilename, aLine); nsTraceRefcnt::WalkTheStack( # 161 "../../../dist/include/mozilla/Assertions.h" 3 4 stderr # 161 "../../../dist/include/mozilla/Assertions.h" ); fflush( # 163 "../../../dist/include/mozilla/Assertions.h" 3 4 stderr # 163 "../../../dist/include/mozilla/Assertions.h" ); } # 262 "../../../dist/include/mozilla/Assertions.h" } # 318 "../../../dist/include/mozilla/Assertions.h" # 1 "../../../dist/include/mozilla/TypeTraits.h" 1 # 12 "../../../dist/include/mozilla/TypeTraits.h" # 1 "../../../dist/include/mozilla/Types.h" 1 # 18 "../../../dist/include/mozilla/Types.h" # 1 "../../../dist/system_wrappers/stddef.h" 1 # 2 "../../../dist/system_wrappers/stddef.h" 3 #pragma GCC visibility push(default) # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/stddef.h" 1 3 4 # 4 "../../../dist/system_wrappers/stddef.h" 2 3 #pragma GCC visibility pop # 19 "../../../dist/include/mozilla/Types.h" 2 # 1 "../../../dist/system_wrappers/stdint.h" 1 # 2 "../../../dist/system_wrappers/stdint.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 20 "../../../dist/include/mozilla/Types.h" 2 # 13 "../../../dist/include/mozilla/TypeTraits.h" 2 # 1 "../../../dist/system_wrappers/wchar.h" 1 # 2 "../../../dist/system_wrappers/wchar.h" 3 #pragma GCC visibility push(default) # 1 "/usr/include/wchar.h" 1 3 4 # 27 "/usr/include/wchar.h" 3 4 # 1 "../../../dist/system_wrappers/features.h" 1 3 4 # 2 "../../../dist/system_wrappers/features.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 28 "/usr/include/wchar.h" 2 3 4 # 36 "/usr/include/wchar.h" 3 4 # 1 "../../../dist/system_wrappers/stdio.h" 1 3 4 # 2 "../../../dist/system_wrappers/stdio.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 37 "/usr/include/wchar.h" 2 3 4 # 1 "../../../dist/system_wrappers/stdarg.h" 1 3 4 # 2 "../../../dist/system_wrappers/stdarg.h" 3 #pragma GCC visibility push(default) # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/stdarg.h" 1 3 4 # 4 "../../../dist/system_wrappers/stdarg.h" 2 3 #pragma GCC visibility pop # 40 "/usr/include/wchar.h" 2 3 4 # 51 "/usr/include/wchar.h" 3 4 # 1 "../../../dist/system_wrappers/stddef.h" 1 3 4 # 2 "../../../dist/system_wrappers/stddef.h" 3 #pragma GCC visibility push(default) # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/stddef.h" 1 3 4 # 357 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/stddef.h" 3 4 # 357 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/stddef.h" 3 4 typedef unsigned int wint_t; # 4 "../../../dist/system_wrappers/stddef.h" 2 3 #pragma GCC visibility pop # 52 "/usr/include/wchar.h" 2 3 4 # 104 "/usr/include/wchar.h" 3 4 typedef __mbstate_t mbstate_t; # 132 "/usr/include/wchar.h" 3 4 extern "C" { struct tm; extern wchar_t *wcscpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src) throw (); extern wchar_t *wcsncpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) throw (); extern wchar_t *wcscat (wchar_t *__restrict __dest, const wchar_t *__restrict __src) throw (); extern wchar_t *wcsncat (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) throw (); extern int wcscmp (const wchar_t *__s1, const wchar_t *__s2) throw () __attribute__ ((__pure__)); extern int wcsncmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n) throw () __attribute__ ((__pure__)); extern int wcscasecmp (const wchar_t *__s1, const wchar_t *__s2) throw (); extern int wcsncasecmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n) throw (); # 1 "../../../dist/system_wrappers/xlocale.h" 1 3 4 # 2 "../../../dist/system_wrappers/xlocale.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 181 "/usr/include/wchar.h" 2 3 4 extern int wcscasecmp_l (const wchar_t *__s1, const wchar_t *__s2, __locale_t __loc) throw (); extern int wcsncasecmp_l (const wchar_t *__s1, const wchar_t *__s2, size_t __n, __locale_t __loc) throw (); extern int wcscoll (const wchar_t *__s1, const wchar_t *__s2) throw (); extern size_t wcsxfrm (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n) throw (); extern int wcscoll_l (const wchar_t *__s1, const wchar_t *__s2, __locale_t __loc) throw (); extern size_t wcsxfrm_l (wchar_t *__s1, const wchar_t *__s2, size_t __n, __locale_t __loc) throw (); extern wchar_t *wcsdup (const wchar_t *__s) throw () __attribute__ ((__malloc__)); extern "C++" wchar_t *wcschr (wchar_t *__wcs, wchar_t __wc) throw () __asm ("wcschr") __attribute__ ((__pure__)); extern "C++" const wchar_t *wcschr (const wchar_t *__wcs, wchar_t __wc) throw () __asm ("wcschr") __attribute__ ((__pure__)); extern "C++" wchar_t *wcsrchr (wchar_t *__wcs, wchar_t __wc) throw () __asm ("wcsrchr") __attribute__ ((__pure__)); extern "C++" const wchar_t *wcsrchr (const wchar_t *__wcs, wchar_t __wc) throw () __asm ("wcsrchr") __attribute__ ((__pure__)); extern wchar_t *wcschrnul (const wchar_t *__s, wchar_t __wc) throw () __attribute__ ((__pure__)); extern size_t wcscspn (const wchar_t *__wcs, const wchar_t *__reject) throw () __attribute__ ((__pure__)); extern size_t wcsspn (const wchar_t *__wcs, const wchar_t *__accept) throw () __attribute__ ((__pure__)); extern "C++" wchar_t *wcspbrk (wchar_t *__wcs, const wchar_t *__accept) throw () __asm ("wcspbrk") __attribute__ ((__pure__)); extern "C++" const wchar_t *wcspbrk (const wchar_t *__wcs, const wchar_t *__accept) throw () __asm ("wcspbrk") __attribute__ ((__pure__)); extern "C++" wchar_t *wcsstr (wchar_t *__haystack, const wchar_t *__needle) throw () __asm ("wcsstr") __attribute__ ((__pure__)); extern "C++" const wchar_t *wcsstr (const wchar_t *__haystack, const wchar_t *__needle) throw () __asm ("wcsstr") __attribute__ ((__pure__)); extern wchar_t *wcstok (wchar_t *__restrict __s, const wchar_t *__restrict __delim, wchar_t **__restrict __ptr) throw (); extern size_t wcslen (const wchar_t *__s) throw () __attribute__ ((__pure__)); extern "C++" wchar_t *wcswcs (wchar_t *__haystack, const wchar_t *__needle) throw () __asm ("wcswcs") __attribute__ ((__pure__)); extern "C++" const wchar_t *wcswcs (const wchar_t *__haystack, const wchar_t *__needle) throw () __asm ("wcswcs") __attribute__ ((__pure__)); # 306 "/usr/include/wchar.h" 3 4 extern size_t wcsnlen (const wchar_t *__s, size_t __maxlen) throw () __attribute__ ((__pure__)); extern "C++" wchar_t *wmemchr (wchar_t *__s, wchar_t __c, size_t __n) throw () __asm ("wmemchr") __attribute__ ((__pure__)); extern "C++" const wchar_t *wmemchr (const wchar_t *__s, wchar_t __c, size_t __n) throw () __asm ("wmemchr") __attribute__ ((__pure__)); extern int wmemcmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n) throw () __attribute__ ((__pure__)); extern wchar_t *wmemcpy (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n) throw (); extern wchar_t *wmemmove (wchar_t *__s1, const wchar_t *__s2, size_t __n) throw (); extern wchar_t *wmemset (wchar_t *__s, wchar_t __c, size_t __n) throw (); extern wchar_t *wmempcpy (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n) throw (); extern wint_t btowc (int __c) throw (); extern int wctob (wint_t __c) throw (); extern int mbsinit (const mbstate_t *__ps) throw () __attribute__ ((__pure__)); extern size_t mbrtowc (wchar_t *__restrict __pwc, const char *__restrict __s, size_t __n, mbstate_t *__restrict __p) throw (); extern size_t wcrtomb (char *__restrict __s, wchar_t __wc, mbstate_t *__restrict __ps) throw (); extern size_t __mbrlen (const char *__restrict __s, size_t __n, mbstate_t *__restrict __ps) throw (); extern size_t mbrlen (const char *__restrict __s, size_t __n, mbstate_t *__restrict __ps) throw (); # 405 "/usr/include/wchar.h" 3 4 extern size_t mbsrtowcs (wchar_t *__restrict __dst, const char **__restrict __src, size_t __len, mbstate_t *__restrict __ps) throw (); extern size_t wcsrtombs (char *__restrict __dst, const wchar_t **__restrict __src, size_t __len, mbstate_t *__restrict __ps) throw (); extern size_t mbsnrtowcs (wchar_t *__restrict __dst, const char **__restrict __src, size_t __nmc, size_t __len, mbstate_t *__restrict __ps) throw (); extern size_t wcsnrtombs (char *__restrict __dst, const wchar_t **__restrict __src, size_t __nwc, size_t __len, mbstate_t *__restrict __ps) throw (); extern int wcwidth (wchar_t __c) throw (); extern int wcswidth (const wchar_t *__s, size_t __n) throw (); extern double wcstod (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr) throw (); extern float wcstof (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr) throw (); extern long double wcstold (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr) throw (); extern long int wcstol (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) throw (); extern unsigned long int wcstoul (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) throw (); __extension__ extern long long int wcstoll (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) throw (); __extension__ extern unsigned long long int wcstoull (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) throw (); __extension__ extern long long int wcstoq (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) throw (); __extension__ extern unsigned long long int wcstouq (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) throw (); # 526 "/usr/include/wchar.h" 3 4 # 1 "../../../dist/system_wrappers/xlocale.h" 1 3 4 # 2 "../../../dist/system_wrappers/xlocale.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 527 "/usr/include/wchar.h" 2 3 4 extern long int wcstol_l (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base, __locale_t __loc) throw (); extern unsigned long int wcstoul_l (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base, __locale_t __loc) throw (); __extension__ extern long long int wcstoll_l (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base, __locale_t __loc) throw (); __extension__ extern unsigned long long int wcstoull_l (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base, __locale_t __loc) throw (); extern double wcstod_l (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, __locale_t __loc) throw (); extern float wcstof_l (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, __locale_t __loc) throw (); extern long double wcstold_l (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, __locale_t __loc) throw (); extern wchar_t *wcpcpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src) throw (); extern wchar_t *wcpncpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) throw (); extern __FILE *open_wmemstream (wchar_t **__bufloc, size_t *__sizeloc) throw (); extern int fwide (__FILE *__fp, int __mode) throw (); extern int fwprintf (__FILE *__restrict __stream, const wchar_t *__restrict __format, ...) ; extern int wprintf (const wchar_t *__restrict __format, ...) ; extern int swprintf (wchar_t *__restrict __s, size_t __n, const wchar_t *__restrict __format, ...) throw () ; extern int vfwprintf (__FILE *__restrict __s, const wchar_t *__restrict __format, __gnuc_va_list __arg) ; extern int vwprintf (const wchar_t *__restrict __format, __gnuc_va_list __arg) ; extern int vswprintf (wchar_t *__restrict __s, size_t __n, const wchar_t *__restrict __format, __gnuc_va_list __arg) throw () ; extern int fwscanf (__FILE *__restrict __stream, const wchar_t *__restrict __format, ...) ; extern int wscanf (const wchar_t *__restrict __format, ...) ; extern int swscanf (const wchar_t *__restrict __s, const wchar_t *__restrict __format, ...) throw () ; # 680 "/usr/include/wchar.h" 3 4 extern int vfwscanf (__FILE *__restrict __s, const wchar_t *__restrict __format, __gnuc_va_list __arg) ; extern int vwscanf (const wchar_t *__restrict __format, __gnuc_va_list __arg) ; extern int vswscanf (const wchar_t *__restrict __s, const wchar_t *__restrict __format, __gnuc_va_list __arg) throw () ; # 736 "/usr/include/wchar.h" 3 4 extern wint_t fgetwc (__FILE *__stream); extern wint_t getwc (__FILE *__stream); extern wint_t getwchar (void); extern wint_t fputwc (wchar_t __wc, __FILE *__stream); extern wint_t putwc (wchar_t __wc, __FILE *__stream); extern wint_t putwchar (wchar_t __wc); extern wchar_t *fgetws (wchar_t *__restrict __ws, int __n, __FILE *__restrict __stream); extern int fputws (const wchar_t *__restrict __ws, __FILE *__restrict __stream); extern wint_t ungetwc (wint_t __wc, __FILE *__stream); # 801 "/usr/include/wchar.h" 3 4 extern wint_t getwc_unlocked (__FILE *__stream); extern wint_t getwchar_unlocked (void); extern wint_t fgetwc_unlocked (__FILE *__stream); extern wint_t fputwc_unlocked (wchar_t __wc, __FILE *__stream); # 827 "/usr/include/wchar.h" 3 4 extern wint_t putwc_unlocked (wchar_t __wc, __FILE *__stream); extern wint_t putwchar_unlocked (wchar_t __wc); # 837 "/usr/include/wchar.h" 3 4 extern wchar_t *fgetws_unlocked (wchar_t *__restrict __ws, int __n, __FILE *__restrict __stream); extern int fputws_unlocked (const wchar_t *__restrict __ws, __FILE *__restrict __stream); extern size_t wcsftime (wchar_t *__restrict __s, size_t __maxsize, const wchar_t *__restrict __format, const struct tm *__restrict __tp) throw (); # 1 "../../../dist/system_wrappers/xlocale.h" 1 3 4 # 2 "../../../dist/system_wrappers/xlocale.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 862 "/usr/include/wchar.h" 2 3 4 extern size_t wcsftime_l (wchar_t *__restrict __s, size_t __maxsize, const wchar_t *__restrict __format, const struct tm *__restrict __tp, __locale_t __loc) throw (); # 884 "/usr/include/wchar.h" 3 4 # 1 "/usr/include/bits/wchar2.h" 1 3 4 # 24 "/usr/include/bits/wchar2.h" 3 4 extern wchar_t *__wmemcpy_chk (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n, size_t __ns1) throw (); extern wchar_t *__wmemcpy_alias (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n) throw () __asm__ ("" "wmemcpy") ; extern wchar_t *__wmemcpy_chk_warn (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n, size_t __ns1) throw () __asm__ ("" "__wmemcpy_chk") __attribute__((__warning__ ("wmemcpy called with length bigger than size of destination " "buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t * __attribute__ ((__leaf__)) wmemcpy (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n) throw () { if (__builtin_object_size (__s1, 0) != (size_t) -1) { if (!__builtin_constant_p (__n)) return __wmemcpy_chk (__s1, __s2, __n, __builtin_object_size (__s1, 0) / sizeof (wchar_t)); if (__n > __builtin_object_size (__s1, 0) / sizeof (wchar_t)) return __wmemcpy_chk_warn (__s1, __s2, __n, __builtin_object_size (__s1, 0) / sizeof (wchar_t)); } return __wmemcpy_alias (__s1, __s2, __n); } extern wchar_t *__wmemmove_chk (wchar_t *__s1, const wchar_t *__s2, size_t __n, size_t __ns1) throw (); extern wchar_t *__wmemmove_alias (wchar_t *__s1, const wchar_t *__s2, size_t __n) throw () __asm__ ("" "wmemmove") ; extern wchar_t *__wmemmove_chk_warn (wchar_t *__s1, const wchar_t *__s2, size_t __n, size_t __ns1) throw () __asm__ ("" "__wmemmove_chk") __attribute__((__warning__ ("wmemmove called with length bigger than size of destination " "buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t * __attribute__ ((__leaf__)) wmemmove (wchar_t *__s1, const wchar_t *__s2, size_t __n) throw () { if (__builtin_object_size (__s1, 0) != (size_t) -1) { if (!__builtin_constant_p (__n)) return __wmemmove_chk (__s1, __s2, __n, __builtin_object_size (__s1, 0) / sizeof (wchar_t)); if (__n > __builtin_object_size (__s1, 0) / sizeof (wchar_t)) return __wmemmove_chk_warn (__s1, __s2, __n, __builtin_object_size (__s1, 0) / sizeof (wchar_t)); } return __wmemmove_alias (__s1, __s2, __n); } extern wchar_t *__wmempcpy_chk (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n, size_t __ns1) throw (); extern wchar_t *__wmempcpy_alias (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n) throw () __asm__ ("" "wmempcpy") ; extern wchar_t *__wmempcpy_chk_warn (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n, size_t __ns1) throw () __asm__ ("" "__wmempcpy_chk") __attribute__((__warning__ ("wmempcpy called with length bigger than size of destination " "buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t * __attribute__ ((__leaf__)) wmempcpy (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n) throw () { if (__builtin_object_size (__s1, 0) != (size_t) -1) { if (!__builtin_constant_p (__n)) return __wmempcpy_chk (__s1, __s2, __n, __builtin_object_size (__s1, 0) / sizeof (wchar_t)); if (__n > __builtin_object_size (__s1, 0) / sizeof (wchar_t)) return __wmempcpy_chk_warn (__s1, __s2, __n, __builtin_object_size (__s1, 0) / sizeof (wchar_t)); } return __wmempcpy_alias (__s1, __s2, __n); } extern wchar_t *__wmemset_chk (wchar_t *__s, wchar_t __c, size_t __n, size_t __ns) throw (); extern wchar_t *__wmemset_alias (wchar_t *__s, wchar_t __c, size_t __n) throw () __asm__ ("" "wmemset") ; extern wchar_t *__wmemset_chk_warn (wchar_t *__s, wchar_t __c, size_t __n, size_t __ns) throw () __asm__ ("" "__wmemset_chk") __attribute__((__warning__ ("wmemset called with length bigger than size of destination " "buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t * __attribute__ ((__leaf__)) wmemset (wchar_t *__s, wchar_t __c, size_t __n) throw () { if (__builtin_object_size (__s, 0) != (size_t) -1) { if (!__builtin_constant_p (__n)) return __wmemset_chk (__s, __c, __n, __builtin_object_size (__s, 0) / sizeof (wchar_t)); if (__n > __builtin_object_size (__s, 0) / sizeof (wchar_t)) return __wmemset_chk_warn (__s, __c, __n, __builtin_object_size (__s, 0) / sizeof (wchar_t)); } return __wmemset_alias (__s, __c, __n); } extern wchar_t *__wcscpy_chk (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) throw (); extern wchar_t *__wcscpy_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src) throw () __asm__ ("" "wcscpy") ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t * __attribute__ ((__leaf__)) wcscpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src) throw () { if (__builtin_object_size (__dest, 2 > 1) != (size_t) -1) return __wcscpy_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)); return __wcscpy_alias (__dest, __src); } extern wchar_t *__wcpcpy_chk (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __destlen) throw (); extern wchar_t *__wcpcpy_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src) throw () __asm__ ("" "wcpcpy") ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t * __attribute__ ((__leaf__)) wcpcpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src) throw () { if (__builtin_object_size (__dest, 2 > 1) != (size_t) -1) return __wcpcpy_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)); return __wcpcpy_alias (__dest, __src); } extern wchar_t *__wcsncpy_chk (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n, size_t __destlen) throw (); extern wchar_t *__wcsncpy_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) throw () __asm__ ("" "wcsncpy") ; extern wchar_t *__wcsncpy_chk_warn (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n, size_t __destlen) throw () __asm__ ("" "__wcsncpy_chk") __attribute__((__warning__ ("wcsncpy called with length bigger than size of destination " "buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t * __attribute__ ((__leaf__)) wcsncpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) throw () { if (__builtin_object_size (__dest, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__n)) return __wcsncpy_chk (__dest, __src, __n, __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)); if (__n > __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)) return __wcsncpy_chk_warn (__dest, __src, __n, __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)); } return __wcsncpy_alias (__dest, __src, __n); } extern wchar_t *__wcpncpy_chk (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n, size_t __destlen) throw (); extern wchar_t *__wcpncpy_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) throw () __asm__ ("" "wcpncpy") ; extern wchar_t *__wcpncpy_chk_warn (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n, size_t __destlen) throw () __asm__ ("" "__wcpncpy_chk") __attribute__((__warning__ ("wcpncpy called with length bigger than size of destination " "buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t * __attribute__ ((__leaf__)) wcpncpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) throw () { if (__builtin_object_size (__dest, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__n)) return __wcpncpy_chk (__dest, __src, __n, __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)); if (__n > __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)) return __wcpncpy_chk_warn (__dest, __src, __n, __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)); } return __wcpncpy_alias (__dest, __src, __n); } extern wchar_t *__wcscat_chk (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __destlen) throw (); extern wchar_t *__wcscat_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src) throw () __asm__ ("" "wcscat") ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t * __attribute__ ((__leaf__)) wcscat (wchar_t *__restrict __dest, const wchar_t *__restrict __src) throw () { if (__builtin_object_size (__dest, 2 > 1) != (size_t) -1) return __wcscat_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)); return __wcscat_alias (__dest, __src); } extern wchar_t *__wcsncat_chk (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n, size_t __destlen) throw (); extern wchar_t *__wcsncat_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) throw () __asm__ ("" "wcsncat") ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t * __attribute__ ((__leaf__)) wcsncat (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) throw () { if (__builtin_object_size (__dest, 2 > 1) != (size_t) -1) return __wcsncat_chk (__dest, __src, __n, __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t)); return __wcsncat_alias (__dest, __src, __n); } extern int __swprintf_chk (wchar_t *__restrict __s, size_t __n, int __flag, size_t __s_len, const wchar_t *__restrict __format, ...) throw () ; extern int __swprintf_alias (wchar_t *__restrict __s, size_t __n, const wchar_t *__restrict __fmt, ...) throw () __asm__ ("" "swprintf") ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int __attribute__ ((__leaf__)) swprintf (wchar_t *__restrict __s, size_t __n, const wchar_t *__restrict __fmt, ...) throw () { if (__builtin_object_size (__s, 2 > 1) != (size_t) -1 || 2 > 1) return __swprintf_chk (__s, __n, 2 - 1, __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t), __fmt, __builtin_va_arg_pack ()); return __swprintf_alias (__s, __n, __fmt, __builtin_va_arg_pack ()); } # 303 "/usr/include/bits/wchar2.h" 3 4 extern int __vswprintf_chk (wchar_t *__restrict __s, size_t __n, int __flag, size_t __s_len, const wchar_t *__restrict __format, __gnuc_va_list __arg) throw () ; extern int __vswprintf_alias (wchar_t *__restrict __s, size_t __n, const wchar_t *__restrict __fmt, __gnuc_va_list __ap) throw () __asm__ ("" "vswprintf") ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int __attribute__ ((__leaf__)) vswprintf (wchar_t *__restrict __s, size_t __n, const wchar_t *__restrict __fmt, __gnuc_va_list __ap) throw () { if (__builtin_object_size (__s, 2 > 1) != (size_t) -1 || 2 > 1) return __vswprintf_chk (__s, __n, 2 - 1, __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t), __fmt, __ap); return __vswprintf_alias (__s, __n, __fmt, __ap); } extern int __fwprintf_chk (__FILE *__restrict __stream, int __flag, const wchar_t *__restrict __format, ...); extern int __wprintf_chk (int __flag, const wchar_t *__restrict __format, ...); extern int __vfwprintf_chk (__FILE *__restrict __stream, int __flag, const wchar_t *__restrict __format, __gnuc_va_list __ap); extern int __vwprintf_chk (int __flag, const wchar_t *__restrict __format, __gnuc_va_list __ap); extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int wprintf (const wchar_t *__restrict __fmt, ...) { return __wprintf_chk (2 - 1, __fmt, __builtin_va_arg_pack ()); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int fwprintf (__FILE *__restrict __stream, const wchar_t *__restrict __fmt, ...) { return __fwprintf_chk (__stream, 2 - 1, __fmt, __builtin_va_arg_pack ()); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int vwprintf (const wchar_t *__restrict __fmt, __gnuc_va_list __ap) { return __vwprintf_chk (2 - 1, __fmt, __ap); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int vfwprintf (__FILE *__restrict __stream, const wchar_t *__restrict __fmt, __gnuc_va_list __ap) { return __vfwprintf_chk (__stream, 2 - 1, __fmt, __ap); } extern wchar_t *__fgetws_chk (wchar_t *__restrict __s, size_t __size, int __n, __FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); extern wchar_t *__fgetws_alias (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream) __asm__ ("" "fgetws") __attribute__ ((__warn_unused_result__)); extern wchar_t *__fgetws_chk_warn (wchar_t *__restrict __s, size_t __size, int __n, __FILE *__restrict __stream) __asm__ ("" "__fgetws_chk") __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgetws called with bigger size than length " "of destination buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) wchar_t * fgetws (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream) { if (__builtin_object_size (__s, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__n) || __n <= 0) return __fgetws_chk (__s, __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t), __n, __stream); if ((size_t) __n > __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t)) return __fgetws_chk_warn (__s, __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t), __n, __stream); } return __fgetws_alias (__s, __n, __stream); } extern wchar_t *__fgetws_unlocked_chk (wchar_t *__restrict __s, size_t __size, int __n, __FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); extern wchar_t *__fgetws_unlocked_alias (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream) __asm__ ("" "fgetws_unlocked") __attribute__ ((__warn_unused_result__)); extern wchar_t *__fgetws_unlocked_chk_warn (wchar_t *__restrict __s, size_t __size, int __n, __FILE *__restrict __stream) __asm__ ("" "__fgetws_unlocked_chk") __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgetws_unlocked called with bigger size than length " "of destination buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) wchar_t * fgetws_unlocked (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream) { if (__builtin_object_size (__s, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__n) || __n <= 0) return __fgetws_unlocked_chk (__s, __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t), __n, __stream); if ((size_t) __n > __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t)) return __fgetws_unlocked_chk_warn (__s, __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t), __n, __stream); } return __fgetws_unlocked_alias (__s, __n, __stream); } extern size_t __wcrtomb_chk (char *__restrict __s, wchar_t __wchar, mbstate_t *__restrict __p, size_t __buflen) throw () __attribute__ ((__warn_unused_result__)); extern size_t __wcrtomb_alias (char *__restrict __s, wchar_t __wchar, mbstate_t *__restrict __ps) throw () __asm__ ("" "wcrtomb") __attribute__ ((__warn_unused_result__)); extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) size_t __attribute__ ((__leaf__)) wcrtomb (char *__restrict __s, wchar_t __wchar, mbstate_t *__restrict __ps) throw () { if (__builtin_object_size (__s, 2 > 1) != (size_t) -1 && 16 > __builtin_object_size (__s, 2 > 1)) return __wcrtomb_chk (__s, __wchar, __ps, __builtin_object_size (__s, 2 > 1)); return __wcrtomb_alias (__s, __wchar, __ps); } extern size_t __mbsrtowcs_chk (wchar_t *__restrict __dst, const char **__restrict __src, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) throw (); extern size_t __mbsrtowcs_alias (wchar_t *__restrict __dst, const char **__restrict __src, size_t __len, mbstate_t *__restrict __ps) throw () __asm__ ("" "mbsrtowcs") ; extern size_t __mbsrtowcs_chk_warn (wchar_t *__restrict __dst, const char **__restrict __src, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) throw () __asm__ ("" "__mbsrtowcs_chk") __attribute__((__warning__ ("mbsrtowcs called with dst buffer smaller than len " "* sizeof (wchar_t)"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t __attribute__ ((__leaf__)) mbsrtowcs (wchar_t *__restrict __dst, const char **__restrict __src, size_t __len, mbstate_t *__restrict __ps) throw () { if (__builtin_object_size (__dst, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__len)) return __mbsrtowcs_chk (__dst, __src, __len, __ps, __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)); if (__len > __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)) return __mbsrtowcs_chk_warn (__dst, __src, __len, __ps, __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)); } return __mbsrtowcs_alias (__dst, __src, __len, __ps); } extern size_t __wcsrtombs_chk (char *__restrict __dst, const wchar_t **__restrict __src, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) throw (); extern size_t __wcsrtombs_alias (char *__restrict __dst, const wchar_t **__restrict __src, size_t __len, mbstate_t *__restrict __ps) throw () __asm__ ("" "wcsrtombs") ; extern size_t __wcsrtombs_chk_warn (char *__restrict __dst, const wchar_t **__restrict __src, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) throw () __asm__ ("" "__wcsrtombs_chk") __attribute__((__warning__ ("wcsrtombs called with dst buffer smaller than len"))); extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t __attribute__ ((__leaf__)) wcsrtombs (char *__restrict __dst, const wchar_t **__restrict __src, size_t __len, mbstate_t *__restrict __ps) throw () { if (__builtin_object_size (__dst, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__len)) return __wcsrtombs_chk (__dst, __src, __len, __ps, __builtin_object_size (__dst, 2 > 1)); if (__len > __builtin_object_size (__dst, 2 > 1)) return __wcsrtombs_chk_warn (__dst, __src, __len, __ps, __builtin_object_size (__dst, 2 > 1)); } return __wcsrtombs_alias (__dst, __src, __len, __ps); } extern size_t __mbsnrtowcs_chk (wchar_t *__restrict __dst, const char **__restrict __src, size_t __nmc, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) throw (); extern size_t __mbsnrtowcs_alias (wchar_t *__restrict __dst, const char **__restrict __src, size_t __nmc, size_t __len, mbstate_t *__restrict __ps) throw () __asm__ ("" "mbsnrtowcs") ; extern size_t __mbsnrtowcs_chk_warn (wchar_t *__restrict __dst, const char **__restrict __src, size_t __nmc, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) throw () __asm__ ("" "__mbsnrtowcs_chk") __attribute__((__warning__ ("mbsnrtowcs called with dst buffer smaller than len " "* sizeof (wchar_t)"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t __attribute__ ((__leaf__)) mbsnrtowcs (wchar_t *__restrict __dst, const char **__restrict __src, size_t __nmc, size_t __len, mbstate_t *__restrict __ps) throw () { if (__builtin_object_size (__dst, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__len)) return __mbsnrtowcs_chk (__dst, __src, __nmc, __len, __ps, __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)); if (__len > __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)) return __mbsnrtowcs_chk_warn (__dst, __src, __nmc, __len, __ps, __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)); } return __mbsnrtowcs_alias (__dst, __src, __nmc, __len, __ps); } extern size_t __wcsnrtombs_chk (char *__restrict __dst, const wchar_t **__restrict __src, size_t __nwc, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) throw (); extern size_t __wcsnrtombs_alias (char *__restrict __dst, const wchar_t **__restrict __src, size_t __nwc, size_t __len, mbstate_t *__restrict __ps) throw () __asm__ ("" "wcsnrtombs") ; extern size_t __wcsnrtombs_chk_warn (char *__restrict __dst, const wchar_t **__restrict __src, size_t __nwc, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) throw () __asm__ ("" "__wcsnrtombs_chk") __attribute__((__warning__ ("wcsnrtombs called with dst buffer smaller than len"))); extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t __attribute__ ((__leaf__)) wcsnrtombs (char *__restrict __dst, const wchar_t **__restrict __src, size_t __nwc, size_t __len, mbstate_t *__restrict __ps) throw () { if (__builtin_object_size (__dst, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__len)) return __wcsnrtombs_chk (__dst, __src, __nwc, __len, __ps, __builtin_object_size (__dst, 2 > 1)); if (__len > __builtin_object_size (__dst, 2 > 1)) return __wcsnrtombs_chk_warn (__dst, __src, __nwc, __len, __ps, __builtin_object_size (__dst, 2 > 1)); } return __wcsnrtombs_alias (__dst, __src, __nwc, __len, __ps); } # 885 "/usr/include/wchar.h" 2 3 4 } # 4 "../../../dist/system_wrappers/wchar.h" 2 3 #pragma GCC visibility pop # 21 "../../../dist/include/mozilla/TypeTraits.h" 2 # 22 "../../../dist/include/mozilla/TypeTraits.h" namespace mozilla { template struct RemoveCV; template struct IntegralConstant { static const T value = Value; typedef T ValueType; typedef IntegralConstant Type; }; typedef IntegralConstant TrueType; typedef IntegralConstant FalseType; namespace detail { template struct IsVoidHelper : FalseType {}; template<> struct IsVoidHelper : TrueType {}; } # 68 "../../../dist/include/mozilla/TypeTraits.h" template struct IsVoid : detail::IsVoidHelper::Type> {}; namespace detail { template struct IsIntegralHelper : FalseType {}; template<> struct IsIntegralHelper : TrueType {}; template<> struct IsIntegralHelper : TrueType {}; template<> struct IsIntegralHelper : TrueType {}; template<> struct IsIntegralHelper : TrueType {}; template<> struct IsIntegralHelper : TrueType {}; template<> struct IsIntegralHelper : TrueType {}; template<> struct IsIntegralHelper : TrueType {}; template<> struct IsIntegralHelper : TrueType {}; template<> struct IsIntegralHelper : TrueType {}; template<> struct IsIntegralHelper : TrueType {}; template<> struct IsIntegralHelper : TrueType {}; template<> struct IsIntegralHelper : TrueType {}; template<> struct IsIntegralHelper : TrueType {}; template<> struct IsIntegralHelper : TrueType {}; } # 107 "../../../dist/include/mozilla/TypeTraits.h" template struct IsIntegral : detail::IsIntegralHelper::Type> {}; template struct IsSame; namespace detail { template struct IsFloatingPointHelper : IntegralConstant::value || IsSame::value || IsSame::value> {}; } # 135 "../../../dist/include/mozilla/TypeTraits.h" template struct IsFloatingPoint : detail::IsFloatingPointHelper::Type> {}; namespace detail { template struct IsArrayHelper : FalseType {}; template struct IsArrayHelper : TrueType {}; template struct IsArrayHelper : TrueType {}; } # 161 "../../../dist/include/mozilla/TypeTraits.h" template struct IsArray : detail::IsArrayHelper::Type> {}; # 175 "../../../dist/include/mozilla/TypeTraits.h" template struct IsPointer : FalseType {}; template struct IsPointer : TrueType {}; # 192 "../../../dist/include/mozilla/TypeTraits.h" template struct IsLvalueReference : FalseType {}; template struct IsLvalueReference : TrueType {}; # 209 "../../../dist/include/mozilla/TypeTraits.h" template struct IsRvalueReference : FalseType {}; template struct IsRvalueReference : TrueType {}; namespace detail { template struct IsEnumHelper : IntegralConstant {}; } # 232 "../../../dist/include/mozilla/TypeTraits.h" template struct IsEnum : detail::IsEnumHelper::Type> {}; namespace detail { template struct IsClassHelper : IntegralConstant {}; } # 259 "../../../dist/include/mozilla/TypeTraits.h" template struct IsClass : detail::IsClassHelper::Type> {}; # 280 "../../../dist/include/mozilla/TypeTraits.h" template struct IsReference : IntegralConstant::value || IsRvalueReference::value> {}; # 294 "../../../dist/include/mozilla/TypeTraits.h" template struct IsArithmetic : IntegralConstant::value || IsFloatingPoint::value> {}; # 308 "../../../dist/include/mozilla/TypeTraits.h" template struct IsConst : FalseType {}; template struct IsConst : TrueType {}; # 321 "../../../dist/include/mozilla/TypeTraits.h" template struct IsVolatile : FalseType {}; template struct IsVolatile : TrueType {}; # 335 "../../../dist/include/mozilla/TypeTraits.h" template struct IsPod : public FalseType {}; template<> struct IsPod : TrueType {}; template<> struct IsPod : TrueType {}; template<> struct IsPod : TrueType {}; template<> struct IsPod : TrueType {}; template<> struct IsPod : TrueType {}; template<> struct IsPod : TrueType {}; template<> struct IsPod : TrueType {}; template<> struct IsPod : TrueType {}; template<> struct IsPod : TrueType {}; template<> struct IsPod : TrueType {}; template<> struct IsPod : TrueType {}; template<> struct IsPod : TrueType {}; template<> struct IsPod : TrueType {}; template<> struct IsPod : TrueType {}; template<> struct IsPod : TrueType {}; template<> struct IsPod : TrueType {}; template struct IsPod : TrueType {}; namespace detail { template struct IsEmptyHelper : IntegralConstant::value && __is_empty(T)> {}; } # 411 "../../../dist/include/mozilla/TypeTraits.h" template struct IsEmpty : detail::IsEmptyHelper::Type> {}; namespace detail { template::value, bool = IsIntegral::value, typename NoCV = typename RemoveCV::Type> struct IsSignedHelper; template struct IsSignedHelper : TrueType {}; template struct IsSignedHelper : IntegralConstant {}; template struct IsSignedHelper : FalseType {}; } # 449 "../../../dist/include/mozilla/TypeTraits.h" template struct IsSigned : detail::IsSignedHelper {}; namespace detail { template::value, bool = IsIntegral::value, typename NoCV = typename RemoveCV::Type> struct IsUnsignedHelper; template struct IsUnsignedHelper : FalseType {}; template struct IsUnsignedHelper : IntegralConstant::value || bool(NoCV(1) < NoCV(-1)))> {}; template struct IsUnsignedHelper : FalseType {}; } # 485 "../../../dist/include/mozilla/TypeTraits.h" template struct IsUnsigned : detail::IsUnsignedHelper {}; # 502 "../../../dist/include/mozilla/TypeTraits.h" template struct IsSame : FalseType {}; template struct IsSame : TrueType {}; namespace detail { template struct BaseOfTester : IntegralConstant {}; # 567 "../../../dist/include/mozilla/TypeTraits.h" } # 581 "../../../dist/include/mozilla/TypeTraits.h" template struct IsBaseOf : IntegralConstant::value> {}; namespace detail { template struct ConvertibleTester { private: static From create(); template static char test(To to); template static int test(...); public: static const bool value = sizeof(test(create())) == sizeof(char); }; } # 628 "../../../dist/include/mozilla/TypeTraits.h" template struct IsConvertible : IntegralConstant::value> {}; # 645 "../../../dist/include/mozilla/TypeTraits.h" template struct RemoveConst { typedef T Type; }; template struct RemoveConst { typedef T Type; }; # 665 "../../../dist/include/mozilla/TypeTraits.h" template struct RemoveVolatile { typedef T Type; }; template struct RemoveVolatile { typedef T Type; }; # 685 "../../../dist/include/mozilla/TypeTraits.h" template struct RemoveCV { typedef typename RemoveConst::Type>::Type Type; }; # 701 "../../../dist/include/mozilla/TypeTraits.h" template struct RemoveReference { typedef T Type; }; template struct RemoveReference { typedef T Type; }; template struct RemoveReference { typedef T Type; }; template struct Conditional; namespace detail { enum Voidness { TIsVoid, TIsNotVoid }; template::value ? TIsVoid : TIsNotVoid> struct AddLvalueReferenceHelper; template struct AddLvalueReferenceHelper { typedef void Type; }; template struct AddLvalueReferenceHelper { typedef T& Type; }; } # 757 "../../../dist/include/mozilla/TypeTraits.h" template struct AddLvalueReference : detail::AddLvalueReferenceHelper {}; template struct EnableIf; namespace detail { template struct WithC : Conditional {}; template struct WithV : Conditional {}; template struct WithCV : WithC::Type> {}; template struct CorrespondingSigned; template<> struct CorrespondingSigned { typedef signed char Type; }; template<> struct CorrespondingSigned { typedef signed char Type; }; template<> struct CorrespondingSigned { typedef short Type; }; template<> struct CorrespondingSigned { typedef int Type; }; template<> struct CorrespondingSigned { typedef long Type; }; template<> struct CorrespondingSigned { typedef long long Type; }; template::Type, bool IsSignedIntegerType = IsSigned::value && !IsSame::value> struct MakeSigned; template struct MakeSigned { typedef T Type; }; template struct MakeSigned : WithCV::value, IsVolatile::value, typename CorrespondingSigned::Type> {}; } # 840 "../../../dist/include/mozilla/TypeTraits.h" template struct MakeSigned : EnableIf::value && !IsSame::Type>::value, typename detail::MakeSigned >::Type {}; namespace detail { template struct CorrespondingUnsigned; template<> struct CorrespondingUnsigned { typedef unsigned char Type; }; template<> struct CorrespondingUnsigned { typedef unsigned char Type; }; template<> struct CorrespondingUnsigned { typedef unsigned short Type; }; template<> struct CorrespondingUnsigned { typedef unsigned int Type; }; template<> struct CorrespondingUnsigned { typedef unsigned long Type; }; template<> struct CorrespondingUnsigned { typedef unsigned long long Type; }; template::Type, bool IsUnsignedIntegerType = IsUnsigned::value && !IsSame::value> struct MakeUnsigned; template struct MakeUnsigned { typedef T Type; }; template struct MakeUnsigned : WithCV::value, IsVolatile::value, typename CorrespondingUnsigned::Type> {}; } # 909 "../../../dist/include/mozilla/TypeTraits.h" template struct MakeUnsigned : EnableIf::value && !IsSame::Type>::value, typename detail::MakeUnsigned >::Type {}; # 928 "../../../dist/include/mozilla/TypeTraits.h" template struct RemoveExtent { typedef T Type; }; template struct RemoveExtent { typedef T Type; }; template struct RemoveExtent { typedef T Type; }; # 968 "../../../dist/include/mozilla/TypeTraits.h" template struct EnableIf {}; template struct EnableIf { typedef T Type; }; template struct Conditional { typedef A Type; }; template struct Conditional { typedef B Type; }; } # 319 "../../../dist/include/mozilla/Assertions.h" 2 namespace mozilla { namespace detail { template struct IsFunction { static const bool value = false; }; template struct IsFunction { static const bool value = true; }; template struct AssertionConditionType { typedef typename RemoveReference::Type ValueT; static_assert(!IsArray::value, "Expected boolean assertion condition, got an array or a " "string!"); static_assert(!IsFunction::value, "Expected boolean assertion condition, got a function! Did " "you intend to call that function?"); static_assert(!IsFloatingPoint::value, "It's often a bad idea to assert that a floating-point number " "is nonzero, because such assertions tend to intermittently " "fail. Shouldn't your code gracefully handle this case instead " "of asserting? Anyway, if you really want to do that, write an " "explicit boolean condition, like !!x or x!=0."); static const bool isValid = true; }; } } # 68 "../../../dist/include/mozilla/Endian.h" 2 # 1 "../../../dist/system_wrappers/stdint.h" 1 # 2 "../../../dist/system_wrappers/stdint.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 74 "../../../dist/include/mozilla/Endian.h" 2 # 1 "../../../dist/system_wrappers/string.h" 1 # 2 "../../../dist/system_wrappers/string.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 75 "../../../dist/include/mozilla/Endian.h" 2 # 158 "../../../dist/include/mozilla/Endian.h" namespace mozilla { namespace detail { template struct Swapper; template struct Swapper { static T swap(T aValue) { return __builtin_bswap16(aValue); } }; template struct Swapper { static T swap(T aValue) { return T(__builtin_bswap32(aValue)); # 198 "../../../dist/include/mozilla/Endian.h" } }; template struct Swapper { static inline T swap(T aValue) { return T(__builtin_bswap64(aValue)); # 220 "../../../dist/include/mozilla/Endian.h" } }; enum Endianness { Little, Big }; class EndianUtils { static void assertNoOverlap(const void* aDest, const void* aSrc, size_t aCount) { DebugOnly byteDestPtr = static_cast(aDest); DebugOnly byteSrcPtr = static_cast(aSrc); do { } while (0) ; } template static void assertAligned(T* aPtr) { do { } while (0); } protected: template static inline T maybeSwap(T aValue) { if (SourceEndian == DestEndian) { return aValue; } return Swapper::swap(aValue); } template static inline void maybeSwapInPlace(T* aPtr, size_t aCount) { assertAligned(aPtr); if (SourceEndian == DestEndian) { return; } for (size_t i = 0; i < aCount; i++) { aPtr[i] = Swapper::swap(aPtr[i]); } } template static void copyAndSwapTo(void* aDest, const T* aSrc, size_t aCount) { assertNoOverlap(aDest, aSrc, aCount * sizeof(T)); assertAligned(aSrc); if (SourceEndian == DestEndian) { memcpy(aDest, aSrc, aCount * sizeof(T)); return; } uint8_t* byteDestPtr = static_cast(aDest); for (size_t i = 0; i < aCount; ++i) { union { T mVal; uint8_t mBuffer[sizeof(T)]; } u; u.mVal = maybeSwap(aSrc[i]); memcpy(byteDestPtr, u.mBuffer, sizeof(T)); byteDestPtr += sizeof(T); } } template static void copyAndSwapFrom(T* aDest, const void* aSrc, size_t aCount) { assertNoOverlap(aDest, aSrc, aCount * sizeof(T)); assertAligned(aDest); if (SourceEndian == DestEndian) { memcpy(aDest, aSrc, aCount * sizeof(T)); return; } const uint8_t* byteSrcPtr = static_cast(aSrc); for (size_t i = 0; i < aCount; ++i) { union { T mVal; uint8_t mBuffer[sizeof(T)]; } u; memcpy(u.mBuffer, byteSrcPtr, sizeof(T)); aDest[i] = maybeSwap(u.mVal); byteSrcPtr += sizeof(T); } } }; template class Endian : private EndianUtils { protected: static __attribute__ ((warn_unused_result)) uint16_t readUint16(const void* aPtr) { return read(aPtr); } static __attribute__ ((warn_unused_result)) uint32_t readUint32(const void* aPtr) { return read(aPtr); } static __attribute__ ((warn_unused_result)) uint64_t readUint64(const void* aPtr) { return read(aPtr); } static __attribute__ ((warn_unused_result)) int16_t readInt16(const void* aPtr) { return read(aPtr); } static __attribute__ ((warn_unused_result)) int32_t readInt32(const void* aPtr) { return read(aPtr); } static __attribute__ ((warn_unused_result)) int64_t readInt64(const void* aPtr) { return read(aPtr); } static void writeUint16(void* aPtr, uint16_t aValue) { write(aPtr, aValue); } static void writeUint32(void* aPtr, uint32_t aValue) { write(aPtr, aValue); } static void writeUint64(void* aPtr, uint64_t aValue) { write(aPtr, aValue); } static void writeInt16(void* aPtr, int16_t aValue) { write(aPtr, aValue); } static void writeInt32(void* aPtr, int32_t aValue) { write(aPtr, aValue); } static void writeInt64(void* aPtr, int64_t aValue) { write(aPtr, aValue); } # 425 "../../../dist/include/mozilla/Endian.h" template __attribute__ ((warn_unused_result)) static T swapToLittleEndian(T aValue) { return maybeSwap(aValue); } template static void copyAndSwapToLittleEndian(void* aDest, const T* aSrc, size_t aCount) { copyAndSwapTo(aDest, aSrc, aCount); } template static void swapToLittleEndianInPlace(T* aPtr, size_t aCount) { maybeSwapInPlace(aPtr, aCount); } template __attribute__ ((warn_unused_result)) static T swapToBigEndian(T aValue) { return maybeSwap(aValue); } template static void copyAndSwapToBigEndian(void* aDest, const T* aSrc, size_t aCount) { copyAndSwapTo(aDest, aSrc, aCount); } template static void swapToBigEndianInPlace(T* aPtr, size_t aCount) { maybeSwapInPlace(aPtr, aCount); } template __attribute__ ((warn_unused_result)) static T swapToNetworkOrder(T aValue) { return swapToBigEndian(aValue); } template static void copyAndSwapToNetworkOrder(void* aDest, const T* aSrc, size_t aCount) { copyAndSwapToBigEndian(aDest, aSrc, aCount); } template static void swapToNetworkOrderInPlace(T* aPtr, size_t aCount) { swapToBigEndianInPlace(aPtr, aCount); } template __attribute__ ((warn_unused_result)) static T swapFromLittleEndian(T aValue) { return maybeSwap(aValue); } template static void copyAndSwapFromLittleEndian(T* aDest, const void* aSrc, size_t aCount) { copyAndSwapFrom(aDest, aSrc, aCount); } template static void swapFromLittleEndianInPlace(T* aPtr, size_t aCount) { maybeSwapInPlace(aPtr, aCount); } template __attribute__ ((warn_unused_result)) static T swapFromBigEndian(T aValue) { return maybeSwap(aValue); } template static void copyAndSwapFromBigEndian(T* aDest, const void* aSrc, size_t aCount) { copyAndSwapFrom(aDest, aSrc, aCount); } template static void swapFromBigEndianInPlace(T* aPtr, size_t aCount) { maybeSwapInPlace(aPtr, aCount); } template __attribute__ ((warn_unused_result)) static T swapFromNetworkOrder(T aValue) { return swapFromBigEndian(aValue); } template static void copyAndSwapFromNetworkOrder(T* aDest, const void* aSrc, size_t aCount) { copyAndSwapFromBigEndian(aDest, aSrc, aCount); } template static void swapFromNetworkOrderInPlace(T* aPtr, size_t aCount) { swapFromBigEndianInPlace(aPtr, aCount); } private: template static T read(const void* aPtr) { union { T mVal; uint8_t mBuffer[sizeof(T)]; } u; memcpy(u.mBuffer, aPtr, sizeof(T)); return maybeSwap(u.mVal); } template static void write(void* aPtr, T aValue) { T tmp = maybeSwap(aValue); memcpy(aPtr, &tmp, sizeof(T)); } Endian() = delete; Endian(const Endian& aTther) = delete; void operator=(const Endian& aOther) = delete; }; template class EndianReadWrite : public Endian { private: typedef Endian super; public: using super::readUint16; using super::readUint32; using super::readUint64; using super::readInt16; using super::readInt32; using super::readInt64; using super::writeUint16; using super::writeUint32; using super::writeUint64; using super::writeInt16; using super::writeInt32; using super::writeInt64; }; } class LittleEndian final : public detail::EndianReadWrite {}; class BigEndian final : public detail::EndianReadWrite {}; typedef BigEndian NetworkEndian; class NativeEndian final : public detail::Endian { private: typedef detail::Endian super; public: using super::swapToLittleEndian; using super::copyAndSwapToLittleEndian; using super::swapToLittleEndianInPlace; using super::swapToBigEndian; using super::copyAndSwapToBigEndian; using super::swapToBigEndianInPlace; using super::swapToNetworkOrder; using super::copyAndSwapToNetworkOrder; using super::swapToNetworkOrderInPlace; using super::swapFromLittleEndian; using super::copyAndSwapFromLittleEndian; using super::swapFromLittleEndianInPlace; using super::swapFromBigEndian; using super::copyAndSwapFromBigEndian; using super::swapFromBigEndianInPlace; using super::swapFromNetworkOrder; using super::copyAndSwapFromNetworkOrder; using super::swapFromNetworkOrderInPlace; }; } # 11 "/builddir/build/BUILD/firefox-36.0/mozilla-release/dom/media/ogg/OggCodecState.cpp" 2 # 1 "../../../dist/system_wrappers/stdint.h" 1 # 2 "../../../dist/system_wrappers/stdint.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 12 "/builddir/build/BUILD/firefox-36.0/mozilla-release/dom/media/ogg/OggCodecState.cpp" 2 # 1 "../../../dist/include/nsDebug.h" 1 # 13 "../../../dist/include/nsDebug.h" # 1 "../../../dist/include/nsXPCOM.h" 1 # 10 "../../../dist/include/nsXPCOM.h" # 1 "../../../dist/include/nsXPCOMCID.h" 1 # 11 "../../../dist/include/nsXPCOM.h" 2 # 20 "../../../dist/include/nsXPCOM.h" class nsAString_internal; class nsACString_internal; class nsISupports; class nsIModule; class nsIComponentManager; class nsIComponentRegistrar; class nsIServiceManager; class nsIFile; class nsILocalFile; class nsIDirectoryServiceProvider; class nsIMemory; class nsIDebug; namespace mozilla { struct Module; } # 72 "../../../dist/include/nsXPCOM.h" extern "C" __attribute__ ((visibility ("default"))) nsresult NS_InitXPCOM2(nsIServiceManager** aResult, nsIFile* aBinDirectory, nsIDirectoryServiceProvider* aAppFileLocationProvider); # 87 "../../../dist/include/nsXPCOM.h" extern "C" __attribute__ ((visibility ("default"))) nsresult NS_ShutdownXPCOM(nsIServiceManager* aServMgr); # 98 "../../../dist/include/nsXPCOM.h" extern "C" __attribute__ ((visibility ("default"))) nsresult NS_GetServiceManager(nsIServiceManager** aResult); # 108 "../../../dist/include/nsXPCOM.h" extern "C" __attribute__ ((visibility ("default"))) nsresult NS_GetComponentManager(nsIComponentManager** aResult); # 119 "../../../dist/include/nsXPCOM.h" extern "C" __attribute__ ((visibility ("default"))) nsresult NS_GetComponentRegistrar(nsIComponentRegistrar** aResult); # 129 "../../../dist/include/nsXPCOM.h" extern "C" __attribute__ ((visibility ("default"))) nsresult NS_GetMemoryManager(nsIMemory** aResult); # 154 "../../../dist/include/nsXPCOM.h" extern "C" __attribute__ ((visibility ("default"))) nsresult NS_NewLocalFile(const nsAString_internal& aPath, bool aFollowLinks, nsIFile** aResult); extern "C" __attribute__ ((visibility ("default"))) nsresult NS_NewNativeLocalFile(const nsACString_internal& aPath, bool aFollowLinks, nsIFile** aResult); # 172 "../../../dist/include/nsXPCOM.h" extern "C" __attribute__ ((visibility ("default"))) void* NS_Alloc(size_t aSize); # 189 "../../../dist/include/nsXPCOM.h" extern "C" __attribute__ ((visibility ("default"))) void* NS_Realloc(void* aPtr, size_t aSize); # 199 "../../../dist/include/nsXPCOM.h" extern "C" __attribute__ ((visibility ("default"))) void NS_Free(void* aPtr); enum { NS_DEBUG_WARNING = 0, NS_DEBUG_ASSERTION = 1, NS_DEBUG_BREAK = 2, NS_DEBUG_ABORT = 3 }; # 228 "../../../dist/include/nsXPCOM.h" extern "C" __attribute__ ((visibility ("default"))) void NS_DebugBreak(uint32_t aSeverity, const char* aStr, const char* aExpr, const char* aFile, int32_t aLine); # 248 "../../../dist/include/nsXPCOM.h" extern "C" __attribute__ ((visibility ("default"))) void NS_LogInit(); extern "C" __attribute__ ((visibility ("default"))) void NS_LogTerm(); # 262 "../../../dist/include/nsXPCOM.h" extern "C" __attribute__ ((visibility ("default"))) void NS_LogCtor(void* aPtr, const char* aTypeName, uint32_t aInstanceSize); extern "C" __attribute__ ((visibility ("default"))) void NS_LogDtor(void* aPtr, const char* aTypeName, uint32_t aInstanceSize); # 278 "../../../dist/include/nsXPCOM.h" extern "C" __attribute__ ((visibility ("default"))) void NS_LogAddRef(void* aPtr, nsrefcnt aNewRefCnt, const char* aTypeName, uint32_t aInstanceSize); extern "C" __attribute__ ((visibility ("default"))) void NS_LogRelease(void* aPtr, nsrefcnt aNewRefCnt, const char* aTypeName); # 294 "../../../dist/include/nsXPCOM.h" extern "C" __attribute__ ((visibility ("default"))) void NS_LogCOMPtrAddRef(void* aCOMPtr, nsISupports* aObject); extern "C" __attribute__ ((visibility ("default"))) void NS_LogCOMPtrRelease(void* aCOMPtr, nsISupports* aObject); # 306 "../../../dist/include/nsXPCOM.h" class nsCycleCollectionParticipant; class nsCycleCollectingAutoRefCnt; extern "C" __attribute__ ((visibility ("default"))) void NS_CycleCollectorSuspect3(void* aPtr, nsCycleCollectionParticipant* aCp, nsCycleCollectingAutoRefCnt* aRefCnt, bool* aShouldDelete); # 391 "../../../dist/include/nsXPCOM.h" extern "C" __attribute__ ((visibility ("default"))) nsresult NS_GetDebug(nsIDebug** aResult); # 14 "../../../dist/include/nsDebug.h" 2 # 1 "../../../dist/include/mozilla/Assertions.h" 1 # 15 "../../../dist/include/nsDebug.h" 2 # 1 "../../../dist/system_wrappers/stdarg.h" 1 # 2 "../../../dist/system_wrappers/stdarg.h" 3 #pragma GCC visibility push(default) # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/stdarg.h" 1 3 4 # 4 "../../../dist/system_wrappers/stdarg.h" 2 3 #pragma GCC visibility pop # 17 "../../../dist/include/nsDebug.h" 2 # 387 "../../../dist/include/nsDebug.h" void NS_ABORT_OOM(size_t aSize); typedef void (*StderrCallback)(const char* aFmt, va_list aArgs); extern "C" { # 415 "../../../dist/include/nsDebug.h" void printf_stderr(const char* aFmt, ...) __attribute__ ((format (printf, 1, 2))); void vprintf_stderr(const char* aFmt, va_list aArgs); # 437 "../../../dist/include/nsDebug.h" void fprintf_stderr(FILE* aFile, const char* aFmt, ...) __attribute__ ((format (printf, 2, 3))); void set_stderr_callback(StderrCallback aCallback); } # 14 "/builddir/build/BUILD/firefox-36.0/mozilla-release/dom/media/ogg/OggCodecState.cpp" 2 # 1 "../../../dist/include/MediaDecoderReader.h" 1 # 9 "../../../dist/include/MediaDecoderReader.h" # 1 "../../../dist/include/AbstractMediaDecoder.h" 1 # 10 "../../../dist/include/AbstractMediaDecoder.h" # 1 "../../../dist/include/mozilla/Attributes.h" 1 # 11 "../../../dist/include/AbstractMediaDecoder.h" 2 # 1 "../../../dist/include/MediaInfo.h" 1 # 9 "../../../dist/include/MediaInfo.h" # 1 "../../../dist/include/nsSize.h" 1 # 9 "../../../dist/include/nsSize.h" # 1 "../../../dist/include/nsCoord.h" 1 # 9 "../../../dist/include/nsCoord.h" # 1 "../../../dist/include/nsAlgorithm.h" 1 # 10 "../../../dist/include/nsAlgorithm.h" # 1 "../../../dist/include/nsCharTraits.h" 1 # 10 "../../../dist/include/nsCharTraits.h" # 1 "../../../dist/system_wrappers/ctype.h" 1 # 2 "../../../dist/system_wrappers/ctype.h" 3 #pragma GCC visibility push(default) # 1 "/usr/include/ctype.h" 1 3 4 # 25 "/usr/include/ctype.h" 3 4 # 1 "../../../dist/system_wrappers/features.h" 1 3 4 # 2 "../../../dist/system_wrappers/features.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 26 "/usr/include/ctype.h" 2 3 4 # 28 "/usr/include/ctype.h" 3 4 extern "C" { # 39 "/usr/include/ctype.h" 3 4 # 1 "../../../dist/system_wrappers/endian.h" 1 3 4 # 2 "../../../dist/system_wrappers/endian.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 40 "/usr/include/ctype.h" 2 3 4 enum { _ISupper = ((0) < 8 ? ((1 << (0)) << 8) : ((1 << (0)) >> 8)), _ISlower = ((1) < 8 ? ((1 << (1)) << 8) : ((1 << (1)) >> 8)), _ISalpha = ((2) < 8 ? ((1 << (2)) << 8) : ((1 << (2)) >> 8)), _ISdigit = ((3) < 8 ? ((1 << (3)) << 8) : ((1 << (3)) >> 8)), _ISxdigit = ((4) < 8 ? ((1 << (4)) << 8) : ((1 << (4)) >> 8)), _ISspace = ((5) < 8 ? ((1 << (5)) << 8) : ((1 << (5)) >> 8)), _ISprint = ((6) < 8 ? ((1 << (6)) << 8) : ((1 << (6)) >> 8)), _ISgraph = ((7) < 8 ? ((1 << (7)) << 8) : ((1 << (7)) >> 8)), _ISblank = ((8) < 8 ? ((1 << (8)) << 8) : ((1 << (8)) >> 8)), _IScntrl = ((9) < 8 ? ((1 << (9)) << 8) : ((1 << (9)) >> 8)), _ISpunct = ((10) < 8 ? ((1 << (10)) << 8) : ((1 << (10)) >> 8)), _ISalnum = ((11) < 8 ? ((1 << (11)) << 8) : ((1 << (11)) >> 8)) }; # 79 "/usr/include/ctype.h" 3 4 extern const unsigned short int **__ctype_b_loc (void) throw () __attribute__ ((__const__)); extern const __int32_t **__ctype_tolower_loc (void) throw () __attribute__ ((__const__)); extern const __int32_t **__ctype_toupper_loc (void) throw () __attribute__ ((__const__)); # 104 "/usr/include/ctype.h" 3 4 extern int isalnum (int) throw (); extern int isalpha (int) throw (); extern int iscntrl (int) throw (); extern int isdigit (int) throw (); extern int islower (int) throw (); extern int isgraph (int) throw (); extern int isprint (int) throw (); extern int ispunct (int) throw (); extern int isspace (int) throw (); extern int isupper (int) throw (); extern int isxdigit (int) throw (); extern int tolower (int __c) throw (); extern int toupper (int __c) throw (); extern int isblank (int) throw (); extern int isctype (int __c, int __mask) throw (); extern int isascii (int __c) throw (); extern int toascii (int __c) throw (); extern int _toupper (int) throw (); extern int _tolower (int) throw (); # 257 "/usr/include/ctype.h" 3 4 # 1 "../../../dist/system_wrappers/xlocale.h" 1 3 4 # 2 "../../../dist/system_wrappers/xlocale.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 258 "/usr/include/ctype.h" 2 3 4 # 271 "/usr/include/ctype.h" 3 4 extern int isalnum_l (int, __locale_t) throw (); extern int isalpha_l (int, __locale_t) throw (); extern int iscntrl_l (int, __locale_t) throw (); extern int isdigit_l (int, __locale_t) throw (); extern int islower_l (int, __locale_t) throw (); extern int isgraph_l (int, __locale_t) throw (); extern int isprint_l (int, __locale_t) throw (); extern int ispunct_l (int, __locale_t) throw (); extern int isspace_l (int, __locale_t) throw (); extern int isupper_l (int, __locale_t) throw (); extern int isxdigit_l (int, __locale_t) throw (); extern int isblank_l (int, __locale_t) throw (); extern int __tolower_l (int __c, __locale_t __l) throw (); extern int tolower_l (int __c, __locale_t __l) throw (); extern int __toupper_l (int __c, __locale_t __l) throw (); extern int toupper_l (int __c, __locale_t __l) throw (); # 347 "/usr/include/ctype.h" 3 4 } # 4 "../../../dist/system_wrappers/ctype.h" 2 3 #pragma GCC visibility pop # 11 "../../../dist/include/nsCharTraits.h" 2 # 1 "../../../dist/system_wrappers/string.h" 1 # 2 "../../../dist/system_wrappers/string.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 12 "../../../dist/include/nsCharTraits.h" 2 # 24 "../../../dist/include/nsCharTraits.h" # 1 "../../../dist/include/nsDebug.h" 1 # 25 "../../../dist/include/nsCharTraits.h" 2 # 86 "../../../dist/include/nsCharTraits.h" # 86 "../../../dist/include/nsCharTraits.h" template struct nsCharTraits { }; template <> struct nsCharTraits { typedef char16_t char_type; typedef uint16_t unsigned_char_type; typedef char incompatible_char_type; static char_type* const sEmptyBuffer; static void assign(char_type& aLhs, char_type aRhs) { aLhs = aRhs; } typedef int int_type; static char_type to_char_type(int_type aChar) { return char_type(aChar); } static int_type to_int_type(char_type aChar) { return int_type(static_cast(aChar)); } static bool eq_int_type(int_type aLhs, int_type aRhs) { return aLhs == aRhs; } static bool eq(char_type aLhs, char_type aRhs) { return aLhs == aRhs; } static bool lt(char_type aLhs, char_type aRhs) { return aLhs < aRhs; } static char_type* move(char_type* aStr1, const char_type* aStr2, size_t aN) { return static_cast(memmove(aStr1, aStr2, aN * sizeof(char_type))); } static char_type* copy(char_type* aStr1, const char_type* aStr2, size_t aN) { return static_cast(memcpy(aStr1, aStr2, aN * sizeof(char_type))); } static char_type* copyASCII(char_type* aStr1, const char* aStr2, size_t aN) { for (char_type* s = aStr1; aN--; ++s, ++aStr2) { do { } while(0); *s = static_cast(*aStr2); } return aStr1; } static char_type* assign(char_type* aStr, size_t aN, char_type aChar) { char_type* result = aStr; while (aN--) { assign(*aStr++, aChar); } return result; } static int compare(const char_type* aStr1, const char_type* aStr2, size_t aN) { for (; aN--; ++aStr1, ++aStr2) { if (!eq(*aStr1, *aStr2)) { return to_int_type(*aStr1) - to_int_type(*aStr2); } } return 0; } static int compareASCII(const char_type* aStr1, const char* aStr2, size_t aN) { for (; aN--; ++aStr1, ++aStr2) { do { } while(0); if (!eq_int_type(to_int_type(*aStr1), to_int_type(static_cast(*aStr2)))) { return to_int_type(*aStr1) - to_int_type(static_cast(*aStr2)); } } return 0; } static int compareASCIINullTerminated(const char_type* aStr1, size_t aN, const char* aStr2) { for (; aN--; ++aStr1, ++aStr2) { if (!*aStr2) { return 1; } do { } while(0); if (!eq_int_type(to_int_type(*aStr1), to_int_type(static_cast(*aStr2)))) { return to_int_type(*aStr1) - to_int_type(static_cast(*aStr2)); } } if (*aStr2) { return -1; } return 0; } static char_type ASCIIToLower(char_type aChar) { if (aChar >= 'A' && aChar <= 'Z') { return char_type(aChar + ('a' - 'A')); } return aChar; } static int compareLowerCaseToASCII(const char_type* aStr1, const char* aStr2, size_t aN) { for (; aN--; ++aStr1, ++aStr2) { do { } while(0); do { } while(0) ; char_type lower_s1 = ASCIIToLower(*aStr1); if (lower_s1 != static_cast(*aStr2)) { return to_int_type(lower_s1) - to_int_type(static_cast(*aStr2)); } } return 0; } static int compareLowerCaseToASCIINullTerminated(const char_type* aStr1, size_t aN, const char* aStr2) { for (; aN--; ++aStr1, ++aStr2) { if (!*aStr2) { return 1; } do { } while(0); do { } while(0) ; char_type lower_s1 = ASCIIToLower(*aStr1); if (lower_s1 != static_cast(*aStr2)) { return to_int_type(lower_s1) - to_int_type(static_cast(*aStr2)); } } if (*aStr2) { return -1; } return 0; } static size_t length(const char_type* aStr) { size_t result = 0; while (!eq(*aStr++, char_type(0))) { ++result; } return result; } static const char_type* find(const char_type* aStr, size_t aN, char_type aChar) { while (aN--) { if (eq(*aStr, aChar)) { return aStr; } ++aStr; } return 0; } }; template <> struct nsCharTraits { typedef char char_type; typedef unsigned char unsigned_char_type; typedef char16_t incompatible_char_type; static char_type* const sEmptyBuffer; static void assign(char_type& aLhs, char_type aRhs) { aLhs = aRhs; } typedef int int_type; static char_type to_char_type(int_type aChar) { return char_type(aChar); } static int_type to_int_type(char_type aChar) { return int_type(static_cast(aChar)); } static bool eq_int_type(int_type aLhs, int_type aRhs) { return aLhs == aRhs; } static bool eq(char_type aLhs, char_type aRhs) { return aLhs == aRhs; } static bool lt(char_type aLhs, char_type aRhs) { return aLhs < aRhs; } static char_type* move(char_type* aStr1, const char_type* aStr2, size_t aN) { return static_cast(memmove(aStr1, aStr2, aN * sizeof(char_type))); } static char_type* copy(char_type* aStr1, const char_type* aStr2, size_t aN) { return static_cast(memcpy(aStr1, aStr2, aN * sizeof(char_type))); } static char_type* copyASCII(char_type* aStr1, const char* aStr2, size_t aN) { return copy(aStr1, aStr2, aN); } static char_type* assign(char_type* aStr, size_t aN, char_type aChar) { return static_cast(memset(aStr, to_int_type(aChar), aN)); } static int compare(const char_type* aStr1, const char_type* aStr2, size_t aN) { return memcmp(aStr1, aStr2, aN); } static int compareASCII(const char_type* aStr1, const char* aStr2, size_t aN) { return compare(aStr1, aStr2, aN); } static int compareASCIINullTerminated(const char_type* aStr1, size_t aN, const char* aStr2) { for (; aN--; ++aStr1, ++aStr2) { if (!*aStr2) { return 1; } do { } while(0); if (*aStr1 != *aStr2) { return to_int_type(*aStr1) - to_int_type(*aStr2); } } if (*aStr2) { return -1; } return 0; } static char_type ASCIIToLower(char_type aChar) { if (aChar >= 'A' && aChar <= 'Z') { return char_type(aChar + ('a' - 'A')); } return aChar; } static int compareLowerCaseToASCII(const char_type* aStr1, const char* aStr2, size_t aN) { for (; aN--; ++aStr1, ++aStr2) { do { } while(0); do { } while(0) ; char_type lower_s1 = ASCIIToLower(*aStr1); if (lower_s1 != *aStr2) { return to_int_type(lower_s1) - to_int_type(*aStr2); } } return 0; } static int compareLowerCaseToASCIINullTerminated(const char_type* aStr1, size_t aN, const char* aStr2) { for (; aN--; ++aStr1, ++aStr2) { if (!*aStr2) { return 1; } do { } while(0); do { } while(0) ; char_type lower_s1 = ASCIIToLower(*aStr1); if (lower_s1 != *aStr2) { return to_int_type(lower_s1) - to_int_type(*aStr2); } } if (*aStr2) { return -1; } return 0; } static size_t length(const char_type* aStr) { return strlen(aStr); } static const char_type* find(const char_type* aStr, size_t aN, char_type aChar) { return reinterpret_cast(memchr(aStr, to_int_type(aChar), aN)); } }; template struct nsCharSourceTraits { typedef typename InputIterator::difference_type difference_type; static uint32_t readable_distance(const InputIterator& aFirst, const InputIterator& aLast) { return uint32_t(aLast.get() - aFirst.get()); } static const typename InputIterator::value_type* read(const InputIterator& aIter) { return aIter.get(); } static void advance(InputIterator& aStr, difference_type aN) { aStr.advance(aN); } }; template struct nsCharSourceTraits { typedef ptrdiff_t difference_type; static uint32_t readable_distance(CharT* aStr) { return uint32_t(nsCharTraits::length(aStr)); } static uint32_t readable_distance(CharT* aFirst, CharT* aLast) { return uint32_t(aLast - aFirst); } static const CharT* read(CharT* aStr) { return aStr; } static void advance(CharT*& aStr, difference_type aN) { aStr += aN; } }; template struct nsCharSinkTraits { static void write(OutputIterator& aIter, const typename OutputIterator::value_type* aStr, uint32_t aN) { aIter.write(aStr, aN); } }; template struct nsCharSinkTraits { static void write(CharT*& aIter, const CharT* aStr, uint32_t aN) { nsCharTraits::move(aIter, aStr, aN); aIter += aN; } }; # 11 "../../../dist/include/nsAlgorithm.h" 2 template inline T NS_ROUNDUP(const T& aA, const T& aB) { return ((aA + (aB - 1)) / aB) * aB; } template inline const T& XPCOM_MIN(const T& aA, const T& aB) { return aB < aA ? aB : aA; } template inline const T& XPCOM_MAX(const T& aA, const T& aB) { return aA > aB ? aA : aB; } namespace mozilla { template inline const T& clamped(const T& aA, const T& aMin, const T& aMax) { do { } while(0) ; return XPCOM_MIN(XPCOM_MAX(aA, aMin), aMax); } } template inline uint32_t NS_COUNT(InputIterator& aFirst, const InputIterator& aLast, const T& aValue) { uint32_t result = 0; for (; aFirst != aLast; ++aFirst) if (*aFirst == aValue) { ++result; } return result; } template inline OutputIterator& copy_string(const InputIterator& aFirst, const InputIterator& aLast, OutputIterator& aResult) { typedef nsCharSourceTraits source_traits; typedef nsCharSinkTraits sink_traits; sink_traits::write(aResult, source_traits::read(aFirst), source_traits::readable_distance(aFirst, aLast)); return aResult; } # 10 "../../../dist/include/nsCoord.h" 2 # 1 "../../../dist/include/nsMathUtils.h" 1 # 12 "../../../dist/include/nsMathUtils.h" # 1 "/usr/include/c++/5.0.0/cmath" 1 3 # 39 "/usr/include/c++/5.0.0/cmath" 3 # 40 "/usr/include/c++/5.0.0/cmath" 3 # 1 "/usr/include/c++/5.0.0/bits/cpp_type_traits.h" 1 3 # 35 "/usr/include/c++/5.0.0/bits/cpp_type_traits.h" 3 # 36 "/usr/include/c++/5.0.0/bits/cpp_type_traits.h" 3 # 68 "/usr/include/c++/5.0.0/bits/cpp_type_traits.h" 3 # 68 "/usr/include/c++/5.0.0/bits/cpp_type_traits.h" 3 namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { template class __normal_iterator; } namespace std __attribute__ ((__visibility__ ("default"))) { struct __true_type { }; struct __false_type { }; template struct __truth_type { typedef __false_type __type; }; template<> struct __truth_type { typedef __true_type __type; }; template struct __traitor { enum { __value = bool(_Sp::__value) || bool(_Tp::__value) }; typedef typename __truth_type<__value>::__type __type; }; template struct __are_same { enum { __value = 0 }; typedef __false_type __type; }; template struct __are_same<_Tp, _Tp> { enum { __value = 1 }; typedef __true_type __type; }; template struct __is_void { enum { __value = 0 }; typedef __false_type __type; }; template<> struct __is_void { enum { __value = 1 }; typedef __true_type __type; }; template struct __is_integer { enum { __value = 0 }; typedef __false_type __type; }; template<> struct __is_integer { enum { __value = 1 }; typedef __true_type __type; }; template<> struct __is_integer { enum { __value = 1 }; typedef __true_type __type; }; template<> struct __is_integer { enum { __value = 1 }; typedef __true_type __type; }; template<> struct __is_integer { enum { __value = 1 }; typedef __true_type __type; }; template<> struct __is_integer { enum { __value = 1 }; typedef __true_type __type; }; template<> struct __is_integer { enum { __value = 1 }; typedef __true_type __type; }; template<> struct __is_integer { enum { __value = 1 }; typedef __true_type __type; }; template<> struct __is_integer { enum { __value = 1 }; typedef __true_type __type; }; template<> struct __is_integer { enum { __value = 1 }; typedef __true_type __type; }; template<> struct __is_integer { enum { __value = 1 }; typedef __true_type __type; }; template<> struct __is_integer { enum { __value = 1 }; typedef __true_type __type; }; template<> struct __is_integer { enum { __value = 1 }; typedef __true_type __type; }; template<> struct __is_integer { enum { __value = 1 }; typedef __true_type __type; }; template<> struct __is_integer { enum { __value = 1 }; typedef __true_type __type; }; template<> struct __is_integer { enum { __value = 1 }; typedef __true_type __type; }; # 287 "/usr/include/c++/5.0.0/bits/cpp_type_traits.h" 3 template struct __is_floating { enum { __value = 0 }; typedef __false_type __type; }; template<> struct __is_floating { enum { __value = 1 }; typedef __true_type __type; }; template<> struct __is_floating { enum { __value = 1 }; typedef __true_type __type; }; template<> struct __is_floating { enum { __value = 1 }; typedef __true_type __type; }; template struct __is_pointer { enum { __value = 0 }; typedef __false_type __type; }; template struct __is_pointer<_Tp*> { enum { __value = 1 }; typedef __true_type __type; }; template struct __is_normal_iterator { enum { __value = 0 }; typedef __false_type __type; }; template struct __is_normal_iterator< __gnu_cxx::__normal_iterator<_Iterator, _Container> > { enum { __value = 1 }; typedef __true_type __type; }; template struct __is_arithmetic : public __traitor<__is_integer<_Tp>, __is_floating<_Tp> > { }; template struct __is_scalar : public __traitor<__is_arithmetic<_Tp>, __is_pointer<_Tp> > { }; template struct __is_char { enum { __value = 0 }; typedef __false_type __type; }; template<> struct __is_char { enum { __value = 1 }; typedef __true_type __type; }; template<> struct __is_char { enum { __value = 1 }; typedef __true_type __type; }; template struct __is_byte { enum { __value = 0 }; typedef __false_type __type; }; template<> struct __is_byte { enum { __value = 1 }; typedef __true_type __type; }; template<> struct __is_byte { enum { __value = 1 }; typedef __true_type __type; }; template<> struct __is_byte { enum { __value = 1 }; typedef __true_type __type; }; template struct __is_move_iterator { enum { __value = 0 }; typedef __false_type __type; }; template class move_iterator; template struct __is_move_iterator< move_iterator<_Iterator> > { enum { __value = 1 }; typedef __true_type __type; }; } # 43 "/usr/include/c++/5.0.0/cmath" 2 3 # 1 "/usr/include/c++/5.0.0/ext/type_traits.h" 1 3 # 32 "/usr/include/c++/5.0.0/ext/type_traits.h" 3 # 33 "/usr/include/c++/5.0.0/ext/type_traits.h" 3 namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { template struct __enable_if { }; template struct __enable_if { typedef _Tp __type; }; template struct __conditional_type { typedef _Iftrue __type; }; template struct __conditional_type { typedef _Iffalse __type; }; template struct __add_unsigned { private: typedef __enable_if::__value, _Tp> __if_type; public: typedef typename __if_type::__type __type; }; template<> struct __add_unsigned { typedef unsigned char __type; }; template<> struct __add_unsigned { typedef unsigned char __type; }; template<> struct __add_unsigned { typedef unsigned short __type; }; template<> struct __add_unsigned { typedef unsigned int __type; }; template<> struct __add_unsigned { typedef unsigned long __type; }; template<> struct __add_unsigned { typedef unsigned long long __type; }; template<> struct __add_unsigned; template<> struct __add_unsigned; template struct __remove_unsigned { private: typedef __enable_if::__value, _Tp> __if_type; public: typedef typename __if_type::__type __type; }; template<> struct __remove_unsigned { typedef signed char __type; }; template<> struct __remove_unsigned { typedef signed char __type; }; template<> struct __remove_unsigned { typedef short __type; }; template<> struct __remove_unsigned { typedef int __type; }; template<> struct __remove_unsigned { typedef long __type; }; template<> struct __remove_unsigned { typedef long long __type; }; template<> struct __remove_unsigned; template<> struct __remove_unsigned; template inline bool __is_null_pointer(_Type* __ptr) { return __ptr == 0; } template inline bool __is_null_pointer(_Type) { return false; } inline bool __is_null_pointer(std::nullptr_t) { return true; } template::__value> struct __promote { typedef double __type; }; template struct __promote<_Tp, false> { }; template<> struct __promote { typedef long double __type; }; template<> struct __promote { typedef double __type; }; template<> struct __promote { typedef float __type; }; template::__type, typename _Up2 = typename __promote<_Up>::__type> struct __promote_2 { typedef __typeof__(_Tp2() + _Up2()) __type; }; template::__type, typename _Up2 = typename __promote<_Up>::__type, typename _Vp2 = typename __promote<_Vp>::__type> struct __promote_3 { typedef __typeof__(_Tp2() + _Up2() + _Vp2()) __type; }; template::__type, typename _Up2 = typename __promote<_Up>::__type, typename _Vp2 = typename __promote<_Vp>::__type, typename _Wp2 = typename __promote<_Wp>::__type> struct __promote_4 { typedef __typeof__(_Tp2() + _Up2() + _Vp2() + _Wp2()) __type; }; } # 44 "/usr/include/c++/5.0.0/cmath" 2 3 # 1 "../../../dist/system_wrappers/math.h" 1 3 # 2 "../../../dist/system_wrappers/math.h" 3 #pragma GCC visibility push(default) # 1 "/usr/include/math.h" 1 3 4 # 26 "/usr/include/math.h" 3 4 # 1 "../../../dist/system_wrappers/features.h" 1 3 4 # 2 "../../../dist/system_wrappers/features.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 27 "/usr/include/math.h" 2 3 4 extern "C" { # 1 "/usr/include/bits/huge_val.h" 1 3 4 # 33 "/usr/include/math.h" 2 3 4 # 1 "/usr/include/bits/huge_valf.h" 1 3 4 # 35 "/usr/include/math.h" 2 3 4 # 1 "/usr/include/bits/huge_vall.h" 1 3 4 # 36 "/usr/include/math.h" 2 3 4 # 1 "/usr/include/bits/inf.h" 1 3 4 # 39 "/usr/include/math.h" 2 3 4 # 1 "/usr/include/bits/nan.h" 1 3 4 # 42 "/usr/include/math.h" 2 3 4 # 1 "/usr/include/bits/mathdef.h" 1 3 4 # 35 "/usr/include/bits/mathdef.h" 3 4 typedef long double float_t; typedef long double double_t; # 46 "/usr/include/math.h" 2 3 4 # 69 "/usr/include/math.h" 3 4 # 1 "/usr/include/bits/mathcalls.h" 1 3 4 # 52 "/usr/include/bits/mathcalls.h" 3 4 extern double acos (double __x) throw (); extern double __acos (double __x) throw (); extern double asin (double __x) throw (); extern double __asin (double __x) throw (); extern double atan (double __x) throw (); extern double __atan (double __x) throw (); extern double atan2 (double __y, double __x) throw (); extern double __atan2 (double __y, double __x) throw (); extern double cos (double __x) throw (); extern double __cos (double __x) throw (); extern double sin (double __x) throw (); extern double __sin (double __x) throw (); extern double tan (double __x) throw (); extern double __tan (double __x) throw (); extern double cosh (double __x) throw (); extern double __cosh (double __x) throw (); extern double sinh (double __x) throw (); extern double __sinh (double __x) throw (); extern double tanh (double __x) throw (); extern double __tanh (double __x) throw (); extern void sincos (double __x, double *__sinx, double *__cosx) throw (); extern void __sincos (double __x, double *__sinx, double *__cosx) throw () ; extern double acosh (double __x) throw (); extern double __acosh (double __x) throw (); extern double asinh (double __x) throw (); extern double __asinh (double __x) throw (); extern double atanh (double __x) throw (); extern double __atanh (double __x) throw (); extern double exp (double __x) throw (); extern double __exp (double __x) throw (); extern double frexp (double __x, int *__exponent) throw (); extern double __frexp (double __x, int *__exponent) throw (); extern double ldexp (double __x, int __exponent) throw (); extern double __ldexp (double __x, int __exponent) throw (); extern double log (double __x) throw (); extern double __log (double __x) throw (); extern double log10 (double __x) throw (); extern double __log10 (double __x) throw (); extern double modf (double __x, double *__iptr) throw (); extern double __modf (double __x, double *__iptr) throw () __attribute__ ((__nonnull__ (2))); extern double exp10 (double __x) throw (); extern double __exp10 (double __x) throw (); extern double pow10 (double __x) throw (); extern double __pow10 (double __x) throw (); extern double expm1 (double __x) throw (); extern double __expm1 (double __x) throw (); extern double log1p (double __x) throw (); extern double __log1p (double __x) throw (); extern double logb (double __x) throw (); extern double __logb (double __x) throw (); extern double exp2 (double __x) throw (); extern double __exp2 (double __x) throw (); extern double log2 (double __x) throw (); extern double __log2 (double __x) throw (); extern double pow (double __x, double __y) throw (); extern double __pow (double __x, double __y) throw (); extern double sqrt (double __x) throw (); extern double __sqrt (double __x) throw (); extern double hypot (double __x, double __y) throw (); extern double __hypot (double __x, double __y) throw (); extern double cbrt (double __x) throw (); extern double __cbrt (double __x) throw (); extern double ceil (double __x) throw () __attribute__ ((__const__)); extern double __ceil (double __x) throw () __attribute__ ((__const__)); extern double fabs (double __x) throw () __attribute__ ((__const__)); extern double __fabs (double __x) throw () __attribute__ ((__const__)); extern double floor (double __x) throw () __attribute__ ((__const__)); extern double __floor (double __x) throw () __attribute__ ((__const__)); extern double fmod (double __x, double __y) throw (); extern double __fmod (double __x, double __y) throw (); extern int __isinf (double __value) throw () __attribute__ ((__const__)); extern int __finite (double __value) throw () __attribute__ ((__const__)); extern int isinf (double __value) throw () __attribute__ ((__const__)); extern int finite (double __value) throw () __attribute__ ((__const__)); extern double drem (double __x, double __y) throw (); extern double __drem (double __x, double __y) throw (); extern double significand (double __x) throw (); extern double __significand (double __x) throw (); extern double copysign (double __x, double __y) throw () __attribute__ ((__const__)); extern double __copysign (double __x, double __y) throw () __attribute__ ((__const__)); extern double nan (const char *__tagb) throw () __attribute__ ((__const__)); extern double __nan (const char *__tagb) throw () __attribute__ ((__const__)); extern int __isnan (double __value) throw () __attribute__ ((__const__)); extern int isnan (double __value) throw () __attribute__ ((__const__)); extern double j0 (double) throw (); extern double __j0 (double) throw (); extern double j1 (double) throw (); extern double __j1 (double) throw (); extern double jn (int, double) throw (); extern double __jn (int, double) throw (); extern double y0 (double) throw (); extern double __y0 (double) throw (); extern double y1 (double) throw (); extern double __y1 (double) throw (); extern double yn (int, double) throw (); extern double __yn (int, double) throw (); extern double erf (double) throw (); extern double __erf (double) throw (); extern double erfc (double) throw (); extern double __erfc (double) throw (); extern double lgamma (double) throw (); extern double __lgamma (double) throw (); extern double tgamma (double) throw (); extern double __tgamma (double) throw (); extern double gamma (double) throw (); extern double __gamma (double) throw (); extern double lgamma_r (double, int *__signgamp) throw (); extern double __lgamma_r (double, int *__signgamp) throw (); extern double rint (double __x) throw (); extern double __rint (double __x) throw (); extern double nextafter (double __x, double __y) throw () __attribute__ ((__const__)); extern double __nextafter (double __x, double __y) throw () __attribute__ ((__const__)); extern double nexttoward (double __x, long double __y) throw () __attribute__ ((__const__)); extern double __nexttoward (double __x, long double __y) throw () __attribute__ ((__const__)); extern double remainder (double __x, double __y) throw (); extern double __remainder (double __x, double __y) throw (); extern double scalbn (double __x, int __n) throw (); extern double __scalbn (double __x, int __n) throw (); extern int ilogb (double __x) throw (); extern int __ilogb (double __x) throw (); extern double scalbln (double __x, long int __n) throw (); extern double __scalbln (double __x, long int __n) throw (); extern double nearbyint (double __x) throw (); extern double __nearbyint (double __x) throw (); extern double round (double __x) throw () __attribute__ ((__const__)); extern double __round (double __x) throw () __attribute__ ((__const__)); extern double trunc (double __x) throw () __attribute__ ((__const__)); extern double __trunc (double __x) throw () __attribute__ ((__const__)); extern double remquo (double __x, double __y, int *__quo) throw (); extern double __remquo (double __x, double __y, int *__quo) throw (); extern long int lrint (double __x) throw (); extern long int __lrint (double __x) throw (); __extension__ extern long long int llrint (double __x) throw (); extern long long int __llrint (double __x) throw (); extern long int lround (double __x) throw (); extern long int __lround (double __x) throw (); __extension__ extern long long int llround (double __x) throw (); extern long long int __llround (double __x) throw (); extern double fdim (double __x, double __y) throw (); extern double __fdim (double __x, double __y) throw (); extern double fmax (double __x, double __y) throw () __attribute__ ((__const__)); extern double __fmax (double __x, double __y) throw () __attribute__ ((__const__)); extern double fmin (double __x, double __y) throw () __attribute__ ((__const__)); extern double __fmin (double __x, double __y) throw () __attribute__ ((__const__)); extern int __fpclassify (double __value) throw () __attribute__ ((__const__)); extern int __signbit (double __value) throw () __attribute__ ((__const__)); extern double fma (double __x, double __y, double __z) throw (); extern double __fma (double __x, double __y, double __z) throw (); extern int __issignaling (double __value) throw () __attribute__ ((__const__)); extern double scalb (double __x, double __n) throw (); extern double __scalb (double __x, double __n) throw (); # 70 "/usr/include/math.h" 2 3 4 # 88 "/usr/include/math.h" 3 4 # 1 "/usr/include/bits/mathcalls.h" 1 3 4 # 52 "/usr/include/bits/mathcalls.h" 3 4 extern float acosf (float __x) throw (); extern float __acosf (float __x) throw (); extern float asinf (float __x) throw (); extern float __asinf (float __x) throw (); extern float atanf (float __x) throw (); extern float __atanf (float __x) throw (); extern float atan2f (float __y, float __x) throw (); extern float __atan2f (float __y, float __x) throw (); extern float cosf (float __x) throw (); extern float __cosf (float __x) throw (); extern float sinf (float __x) throw (); extern float __sinf (float __x) throw (); extern float tanf (float __x) throw (); extern float __tanf (float __x) throw (); extern float coshf (float __x) throw (); extern float __coshf (float __x) throw (); extern float sinhf (float __x) throw (); extern float __sinhf (float __x) throw (); extern float tanhf (float __x) throw (); extern float __tanhf (float __x) throw (); extern void sincosf (float __x, float *__sinx, float *__cosx) throw (); extern void __sincosf (float __x, float *__sinx, float *__cosx) throw () ; extern float acoshf (float __x) throw (); extern float __acoshf (float __x) throw (); extern float asinhf (float __x) throw (); extern float __asinhf (float __x) throw (); extern float atanhf (float __x) throw (); extern float __atanhf (float __x) throw (); extern float expf (float __x) throw (); extern float __expf (float __x) throw (); extern float frexpf (float __x, int *__exponent) throw (); extern float __frexpf (float __x, int *__exponent) throw (); extern float ldexpf (float __x, int __exponent) throw (); extern float __ldexpf (float __x, int __exponent) throw (); extern float logf (float __x) throw (); extern float __logf (float __x) throw (); extern float log10f (float __x) throw (); extern float __log10f (float __x) throw (); extern float modff (float __x, float *__iptr) throw (); extern float __modff (float __x, float *__iptr) throw () __attribute__ ((__nonnull__ (2))); extern float exp10f (float __x) throw (); extern float __exp10f (float __x) throw (); extern float pow10f (float __x) throw (); extern float __pow10f (float __x) throw (); extern float expm1f (float __x) throw (); extern float __expm1f (float __x) throw (); extern float log1pf (float __x) throw (); extern float __log1pf (float __x) throw (); extern float logbf (float __x) throw (); extern float __logbf (float __x) throw (); extern float exp2f (float __x) throw (); extern float __exp2f (float __x) throw (); extern float log2f (float __x) throw (); extern float __log2f (float __x) throw (); extern float powf (float __x, float __y) throw (); extern float __powf (float __x, float __y) throw (); extern float sqrtf (float __x) throw (); extern float __sqrtf (float __x) throw (); extern float hypotf (float __x, float __y) throw (); extern float __hypotf (float __x, float __y) throw (); extern float cbrtf (float __x) throw (); extern float __cbrtf (float __x) throw (); extern float ceilf (float __x) throw () __attribute__ ((__const__)); extern float __ceilf (float __x) throw () __attribute__ ((__const__)); extern float fabsf (float __x) throw () __attribute__ ((__const__)); extern float __fabsf (float __x) throw () __attribute__ ((__const__)); extern float floorf (float __x) throw () __attribute__ ((__const__)); extern float __floorf (float __x) throw () __attribute__ ((__const__)); extern float fmodf (float __x, float __y) throw (); extern float __fmodf (float __x, float __y) throw (); extern int __isinff (float __value) throw () __attribute__ ((__const__)); extern int __finitef (float __value) throw () __attribute__ ((__const__)); extern int isinff (float __value) throw () __attribute__ ((__const__)); extern int finitef (float __value) throw () __attribute__ ((__const__)); extern float dremf (float __x, float __y) throw (); extern float __dremf (float __x, float __y) throw (); extern float significandf (float __x) throw (); extern float __significandf (float __x) throw (); extern float copysignf (float __x, float __y) throw () __attribute__ ((__const__)); extern float __copysignf (float __x, float __y) throw () __attribute__ ((__const__)); extern float nanf (const char *__tagb) throw () __attribute__ ((__const__)); extern float __nanf (const char *__tagb) throw () __attribute__ ((__const__)); extern int __isnanf (float __value) throw () __attribute__ ((__const__)); extern int isnanf (float __value) throw () __attribute__ ((__const__)); extern float j0f (float) throw (); extern float __j0f (float) throw (); extern float j1f (float) throw (); extern float __j1f (float) throw (); extern float jnf (int, float) throw (); extern float __jnf (int, float) throw (); extern float y0f (float) throw (); extern float __y0f (float) throw (); extern float y1f (float) throw (); extern float __y1f (float) throw (); extern float ynf (int, float) throw (); extern float __ynf (int, float) throw (); extern float erff (float) throw (); extern float __erff (float) throw (); extern float erfcf (float) throw (); extern float __erfcf (float) throw (); extern float lgammaf (float) throw (); extern float __lgammaf (float) throw (); extern float tgammaf (float) throw (); extern float __tgammaf (float) throw (); extern float gammaf (float) throw (); extern float __gammaf (float) throw (); extern float lgammaf_r (float, int *__signgamp) throw (); extern float __lgammaf_r (float, int *__signgamp) throw (); extern float rintf (float __x) throw (); extern float __rintf (float __x) throw (); extern float nextafterf (float __x, float __y) throw () __attribute__ ((__const__)); extern float __nextafterf (float __x, float __y) throw () __attribute__ ((__const__)); extern float nexttowardf (float __x, long double __y) throw () __attribute__ ((__const__)); extern float __nexttowardf (float __x, long double __y) throw () __attribute__ ((__const__)); extern float remainderf (float __x, float __y) throw (); extern float __remainderf (float __x, float __y) throw (); extern float scalbnf (float __x, int __n) throw (); extern float __scalbnf (float __x, int __n) throw (); extern int ilogbf (float __x) throw (); extern int __ilogbf (float __x) throw (); extern float scalblnf (float __x, long int __n) throw (); extern float __scalblnf (float __x, long int __n) throw (); extern float nearbyintf (float __x) throw (); extern float __nearbyintf (float __x) throw (); extern float roundf (float __x) throw () __attribute__ ((__const__)); extern float __roundf (float __x) throw () __attribute__ ((__const__)); extern float truncf (float __x) throw () __attribute__ ((__const__)); extern float __truncf (float __x) throw () __attribute__ ((__const__)); extern float remquof (float __x, float __y, int *__quo) throw (); extern float __remquof (float __x, float __y, int *__quo) throw (); extern long int lrintf (float __x) throw (); extern long int __lrintf (float __x) throw (); __extension__ extern long long int llrintf (float __x) throw (); extern long long int __llrintf (float __x) throw (); extern long int lroundf (float __x) throw (); extern long int __lroundf (float __x) throw (); __extension__ extern long long int llroundf (float __x) throw (); extern long long int __llroundf (float __x) throw (); extern float fdimf (float __x, float __y) throw (); extern float __fdimf (float __x, float __y) throw (); extern float fmaxf (float __x, float __y) throw () __attribute__ ((__const__)); extern float __fmaxf (float __x, float __y) throw () __attribute__ ((__const__)); extern float fminf (float __x, float __y) throw () __attribute__ ((__const__)); extern float __fminf (float __x, float __y) throw () __attribute__ ((__const__)); extern int __fpclassifyf (float __value) throw () __attribute__ ((__const__)); extern int __signbitf (float __value) throw () __attribute__ ((__const__)); extern float fmaf (float __x, float __y, float __z) throw (); extern float __fmaf (float __x, float __y, float __z) throw (); extern int __issignalingf (float __value) throw () __attribute__ ((__const__)); extern float scalbf (float __x, float __n) throw (); extern float __scalbf (float __x, float __n) throw (); # 89 "/usr/include/math.h" 2 3 4 # 133 "/usr/include/math.h" 3 4 # 1 "/usr/include/bits/mathcalls.h" 1 3 4 # 52 "/usr/include/bits/mathcalls.h" 3 4 extern long double acosl (long double __x) throw (); extern long double __acosl (long double __x) throw (); extern long double asinl (long double __x) throw (); extern long double __asinl (long double __x) throw (); extern long double atanl (long double __x) throw (); extern long double __atanl (long double __x) throw (); extern long double atan2l (long double __y, long double __x) throw (); extern long double __atan2l (long double __y, long double __x) throw (); extern long double cosl (long double __x) throw (); extern long double __cosl (long double __x) throw (); extern long double sinl (long double __x) throw (); extern long double __sinl (long double __x) throw (); extern long double tanl (long double __x) throw (); extern long double __tanl (long double __x) throw (); extern long double coshl (long double __x) throw (); extern long double __coshl (long double __x) throw (); extern long double sinhl (long double __x) throw (); extern long double __sinhl (long double __x) throw (); extern long double tanhl (long double __x) throw (); extern long double __tanhl (long double __x) throw (); extern void sincosl (long double __x, long double *__sinx, long double *__cosx) throw (); extern void __sincosl (long double __x, long double *__sinx, long double *__cosx) throw () ; extern long double acoshl (long double __x) throw (); extern long double __acoshl (long double __x) throw (); extern long double asinhl (long double __x) throw (); extern long double __asinhl (long double __x) throw (); extern long double atanhl (long double __x) throw (); extern long double __atanhl (long double __x) throw (); extern long double expl (long double __x) throw (); extern long double __expl (long double __x) throw (); extern long double frexpl (long double __x, int *__exponent) throw (); extern long double __frexpl (long double __x, int *__exponent) throw (); extern long double ldexpl (long double __x, int __exponent) throw (); extern long double __ldexpl (long double __x, int __exponent) throw (); extern long double logl (long double __x) throw (); extern long double __logl (long double __x) throw (); extern long double log10l (long double __x) throw (); extern long double __log10l (long double __x) throw (); extern long double modfl (long double __x, long double *__iptr) throw (); extern long double __modfl (long double __x, long double *__iptr) throw () __attribute__ ((__nonnull__ (2))); extern long double exp10l (long double __x) throw (); extern long double __exp10l (long double __x) throw (); extern long double pow10l (long double __x) throw (); extern long double __pow10l (long double __x) throw (); extern long double expm1l (long double __x) throw (); extern long double __expm1l (long double __x) throw (); extern long double log1pl (long double __x) throw (); extern long double __log1pl (long double __x) throw (); extern long double logbl (long double __x) throw (); extern long double __logbl (long double __x) throw (); extern long double exp2l (long double __x) throw (); extern long double __exp2l (long double __x) throw (); extern long double log2l (long double __x) throw (); extern long double __log2l (long double __x) throw (); extern long double powl (long double __x, long double __y) throw (); extern long double __powl (long double __x, long double __y) throw (); extern long double sqrtl (long double __x) throw (); extern long double __sqrtl (long double __x) throw (); extern long double hypotl (long double __x, long double __y) throw (); extern long double __hypotl (long double __x, long double __y) throw (); extern long double cbrtl (long double __x) throw (); extern long double __cbrtl (long double __x) throw (); extern long double ceill (long double __x) throw () __attribute__ ((__const__)); extern long double __ceill (long double __x) throw () __attribute__ ((__const__)); extern long double fabsl (long double __x) throw () __attribute__ ((__const__)); extern long double __fabsl (long double __x) throw () __attribute__ ((__const__)); extern long double floorl (long double __x) throw () __attribute__ ((__const__)); extern long double __floorl (long double __x) throw () __attribute__ ((__const__)); extern long double fmodl (long double __x, long double __y) throw (); extern long double __fmodl (long double __x, long double __y) throw (); extern int __isinfl (long double __value) throw () __attribute__ ((__const__)); extern int __finitel (long double __value) throw () __attribute__ ((__const__)); extern int isinfl (long double __value) throw () __attribute__ ((__const__)); extern int finitel (long double __value) throw () __attribute__ ((__const__)); extern long double dreml (long double __x, long double __y) throw (); extern long double __dreml (long double __x, long double __y) throw (); extern long double significandl (long double __x) throw (); extern long double __significandl (long double __x) throw (); extern long double copysignl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double __copysignl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double nanl (const char *__tagb) throw () __attribute__ ((__const__)); extern long double __nanl (const char *__tagb) throw () __attribute__ ((__const__)); extern int __isnanl (long double __value) throw () __attribute__ ((__const__)); extern int isnanl (long double __value) throw () __attribute__ ((__const__)); extern long double j0l (long double) throw (); extern long double __j0l (long double) throw (); extern long double j1l (long double) throw (); extern long double __j1l (long double) throw (); extern long double jnl (int, long double) throw (); extern long double __jnl (int, long double) throw (); extern long double y0l (long double) throw (); extern long double __y0l (long double) throw (); extern long double y1l (long double) throw (); extern long double __y1l (long double) throw (); extern long double ynl (int, long double) throw (); extern long double __ynl (int, long double) throw (); extern long double erfl (long double) throw (); extern long double __erfl (long double) throw (); extern long double erfcl (long double) throw (); extern long double __erfcl (long double) throw (); extern long double lgammal (long double) throw (); extern long double __lgammal (long double) throw (); extern long double tgammal (long double) throw (); extern long double __tgammal (long double) throw (); extern long double gammal (long double) throw (); extern long double __gammal (long double) throw (); extern long double lgammal_r (long double, int *__signgamp) throw (); extern long double __lgammal_r (long double, int *__signgamp) throw (); extern long double rintl (long double __x) throw (); extern long double __rintl (long double __x) throw (); extern long double nextafterl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double __nextafterl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double nexttowardl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double __nexttowardl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double remainderl (long double __x, long double __y) throw (); extern long double __remainderl (long double __x, long double __y) throw (); extern long double scalbnl (long double __x, int __n) throw (); extern long double __scalbnl (long double __x, int __n) throw (); extern int ilogbl (long double __x) throw (); extern int __ilogbl (long double __x) throw (); extern long double scalblnl (long double __x, long int __n) throw (); extern long double __scalblnl (long double __x, long int __n) throw (); extern long double nearbyintl (long double __x) throw (); extern long double __nearbyintl (long double __x) throw (); extern long double roundl (long double __x) throw () __attribute__ ((__const__)); extern long double __roundl (long double __x) throw () __attribute__ ((__const__)); extern long double truncl (long double __x) throw () __attribute__ ((__const__)); extern long double __truncl (long double __x) throw () __attribute__ ((__const__)); extern long double remquol (long double __x, long double __y, int *__quo) throw (); extern long double __remquol (long double __x, long double __y, int *__quo) throw (); extern long int lrintl (long double __x) throw (); extern long int __lrintl (long double __x) throw (); __extension__ extern long long int llrintl (long double __x) throw (); extern long long int __llrintl (long double __x) throw (); extern long int lroundl (long double __x) throw (); extern long int __lroundl (long double __x) throw (); __extension__ extern long long int llroundl (long double __x) throw (); extern long long int __llroundl (long double __x) throw (); extern long double fdiml (long double __x, long double __y) throw (); extern long double __fdiml (long double __x, long double __y) throw (); extern long double fmaxl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double __fmaxl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double fminl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double __fminl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern int __fpclassifyl (long double __value) throw () __attribute__ ((__const__)); extern int __signbitl (long double __value) throw () __attribute__ ((__const__)); extern long double fmal (long double __x, long double __y, long double __z) throw (); extern long double __fmal (long double __x, long double __y, long double __z) throw (); extern int __issignalingl (long double __value) throw () __attribute__ ((__const__)); extern long double scalbl (long double __x, long double __n) throw (); extern long double __scalbl (long double __x, long double __n) throw (); # 134 "/usr/include/math.h" 2 3 4 # 149 "/usr/include/math.h" 3 4 extern int signgam; # 190 "/usr/include/math.h" 3 4 enum { FP_NAN = 0, FP_INFINITE = 1, FP_ZERO = 2, FP_SUBNORMAL = 3, FP_NORMAL = 4 }; # 302 "/usr/include/math.h" 3 4 typedef enum { _IEEE_ = -1, _SVID_, _XOPEN_, _POSIX_, _ISOC_ } _LIB_VERSION_TYPE; extern _LIB_VERSION_TYPE _LIB_VERSION; # 325 "/usr/include/math.h" 3 4 struct __exception { int type; char *name; double arg1; double arg2; double retval; }; extern int matherr (struct __exception *__exc) throw (); # 489 "/usr/include/math.h" 3 4 } # 4 "../../../dist/system_wrappers/math.h" 2 3 #pragma GCC visibility pop # 45 "/usr/include/c++/5.0.0/cmath" 2 3 # 75 "/usr/include/c++/5.0.0/cmath" 3 namespace std __attribute__ ((__visibility__ ("default"))) { inline constexpr double abs(double __x) { return __builtin_fabs(__x); } inline constexpr float abs(float __x) { return __builtin_fabsf(__x); } inline constexpr long double abs(long double __x) { return __builtin_fabsl(__x); } template inline constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type abs(_Tp __x) { return __builtin_fabs(__x); } using ::acos; inline constexpr float acos(float __x) { return __builtin_acosf(__x); } inline constexpr long double acos(long double __x) { return __builtin_acosl(__x); } template inline constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type acos(_Tp __x) { return __builtin_acos(__x); } using ::asin; inline constexpr float asin(float __x) { return __builtin_asinf(__x); } inline constexpr long double asin(long double __x) { return __builtin_asinl(__x); } template inline constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type asin(_Tp __x) { return __builtin_asin(__x); } using ::atan; inline constexpr float atan(float __x) { return __builtin_atanf(__x); } inline constexpr long double atan(long double __x) { return __builtin_atanl(__x); } template inline constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type atan(_Tp __x) { return __builtin_atan(__x); } using ::atan2; inline constexpr float atan2(float __y, float __x) { return __builtin_atan2f(__y, __x); } inline constexpr long double atan2(long double __y, long double __x) { return __builtin_atan2l(__y, __x); } template inline constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type atan2(_Tp __y, _Up __x) { typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type; return atan2(__type(__y), __type(__x)); } using ::ceil; inline constexpr float ceil(float __x) { return __builtin_ceilf(__x); } inline constexpr long double ceil(long double __x) { return __builtin_ceill(__x); } template inline constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type ceil(_Tp __x) { return __builtin_ceil(__x); } using ::cos; inline constexpr float cos(float __x) { return __builtin_cosf(__x); } inline constexpr long double cos(long double __x) { return __builtin_cosl(__x); } template inline constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type cos(_Tp __x) { return __builtin_cos(__x); } using ::cosh; inline constexpr float cosh(float __x) { return __builtin_coshf(__x); } inline constexpr long double cosh(long double __x) { return __builtin_coshl(__x); } template inline constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type cosh(_Tp __x) { return __builtin_cosh(__x); } using ::exp; inline constexpr float exp(float __x) { return __builtin_expf(__x); } inline constexpr long double exp(long double __x) { return __builtin_expl(__x); } template inline constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type exp(_Tp __x) { return __builtin_exp(__x); } using ::fabs; inline constexpr float fabs(float __x) { return __builtin_fabsf(__x); } inline constexpr long double fabs(long double __x) { return __builtin_fabsl(__x); } template inline constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type fabs(_Tp __x) { return __builtin_fabs(__x); } using ::floor; inline constexpr float floor(float __x) { return __builtin_floorf(__x); } inline constexpr long double floor(long double __x) { return __builtin_floorl(__x); } template inline constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type floor(_Tp __x) { return __builtin_floor(__x); } using ::fmod; inline constexpr float fmod(float __x, float __y) { return __builtin_fmodf(__x, __y); } inline constexpr long double fmod(long double __x, long double __y) { return __builtin_fmodl(__x, __y); } template inline constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type fmod(_Tp __x, _Up __y) { typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type; return fmod(__type(__x), __type(__y)); } using ::frexp; inline float frexp(float __x, int* __exp) { return __builtin_frexpf(__x, __exp); } inline long double frexp(long double __x, int* __exp) { return __builtin_frexpl(__x, __exp); } template inline constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type frexp(_Tp __x, int* __exp) { return __builtin_frexp(__x, __exp); } using ::ldexp; inline constexpr float ldexp(float __x, int __exp) { return __builtin_ldexpf(__x, __exp); } inline constexpr long double ldexp(long double __x, int __exp) { return __builtin_ldexpl(__x, __exp); } template inline constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type ldexp(_Tp __x, int __exp) { return __builtin_ldexp(__x, __exp); } using ::log; inline constexpr float log(float __x) { return __builtin_logf(__x); } inline constexpr long double log(long double __x) { return __builtin_logl(__x); } template inline constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type log(_Tp __x) { return __builtin_log(__x); } using ::log10; inline constexpr float log10(float __x) { return __builtin_log10f(__x); } inline constexpr long double log10(long double __x) { return __builtin_log10l(__x); } template inline constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type log10(_Tp __x) { return __builtin_log10(__x); } using ::modf; inline float modf(float __x, float* __iptr) { return __builtin_modff(__x, __iptr); } inline long double modf(long double __x, long double* __iptr) { return __builtin_modfl(__x, __iptr); } using ::pow; inline constexpr float pow(float __x, float __y) { return __builtin_powf(__x, __y); } inline constexpr long double pow(long double __x, long double __y) { return __builtin_powl(__x, __y); } # 431 "/usr/include/c++/5.0.0/cmath" 3 template inline constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type pow(_Tp __x, _Up __y) { typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type; return pow(__type(__x), __type(__y)); } using ::sin; inline constexpr float sin(float __x) { return __builtin_sinf(__x); } inline constexpr long double sin(long double __x) { return __builtin_sinl(__x); } template inline constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type sin(_Tp __x) { return __builtin_sin(__x); } using ::sinh; inline constexpr float sinh(float __x) { return __builtin_sinhf(__x); } inline constexpr long double sinh(long double __x) { return __builtin_sinhl(__x); } template inline constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type sinh(_Tp __x) { return __builtin_sinh(__x); } using ::sqrt; inline constexpr float sqrt(float __x) { return __builtin_sqrtf(__x); } inline constexpr long double sqrt(long double __x) { return __builtin_sqrtl(__x); } template inline constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type sqrt(_Tp __x) { return __builtin_sqrt(__x); } using ::tan; inline constexpr float tan(float __x) { return __builtin_tanf(__x); } inline constexpr long double tan(long double __x) { return __builtin_tanl(__x); } template inline constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type tan(_Tp __x) { return __builtin_tan(__x); } using ::tanh; inline constexpr float tanh(float __x) { return __builtin_tanhf(__x); } inline constexpr long double tanh(long double __x) { return __builtin_tanhl(__x); } template inline constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type tanh(_Tp __x) { return __builtin_tanh(__x); } } # 555 "/usr/include/c++/5.0.0/cmath" 3 namespace std __attribute__ ((__visibility__ ("default"))) { constexpr int fpclassify(float __x) { return __builtin_fpclassify(0, 1, 4, 3, 2, __x); } constexpr int fpclassify(double __x) { return __builtin_fpclassify(0, 1, 4, 3, 2, __x); } constexpr int fpclassify(long double __x) { return __builtin_fpclassify(0, 1, 4, 3, 2, __x); } template constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, int>::__type fpclassify(_Tp __x) { return __x != 0 ? 4 : 2; } constexpr bool isfinite(float __x) { return __builtin_isfinite(__x); } constexpr bool isfinite(double __x) { return __builtin_isfinite(__x); } constexpr bool isfinite(long double __x) { return __builtin_isfinite(__x); } template constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, bool>::__type isfinite(_Tp __x) { return true; } constexpr bool isinf(float __x) { return __builtin_isinf(__x); } constexpr bool isinf(double __x) { return __builtin_isinf(__x); } constexpr bool isinf(long double __x) { return __builtin_isinf(__x); } template constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, bool>::__type isinf(_Tp __x) { return false; } constexpr bool isnan(float __x) { return __builtin_isnan(__x); } constexpr bool isnan(double __x) { return __builtin_isnan(__x); } constexpr bool isnan(long double __x) { return __builtin_isnan(__x); } template constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, bool>::__type isnan(_Tp __x) { return false; } constexpr bool isnormal(float __x) { return __builtin_isnormal(__x); } constexpr bool isnormal(double __x) { return __builtin_isnormal(__x); } constexpr bool isnormal(long double __x) { return __builtin_isnormal(__x); } template constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, bool>::__type isnormal(_Tp __x) { return __x != 0 ? true : false; } constexpr bool signbit(float __x) { return __builtin_signbitf(__x); } constexpr bool signbit(double __x) { return __builtin_signbit(__x); } constexpr bool signbit(long double __x) { return __builtin_signbitl(__x); } template constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, bool>::__type signbit(_Tp __x) { return __x < 0 ? true : false; } constexpr bool isgreater(float __x, float __y) { return __builtin_isgreater(__x, __y); } constexpr bool isgreater(double __x, double __y) { return __builtin_isgreater(__x, __y); } constexpr bool isgreater(long double __x, long double __y) { return __builtin_isgreater(__x, __y); } template constexpr typename __gnu_cxx::__enable_if<(__is_arithmetic<_Tp>::__value && __is_arithmetic<_Up>::__value), bool>::__type isgreater(_Tp __x, _Up __y) { typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type; return __builtin_isgreater(__type(__x), __type(__y)); } constexpr bool isgreaterequal(float __x, float __y) { return __builtin_isgreaterequal(__x, __y); } constexpr bool isgreaterequal(double __x, double __y) { return __builtin_isgreaterequal(__x, __y); } constexpr bool isgreaterequal(long double __x, long double __y) { return __builtin_isgreaterequal(__x, __y); } template constexpr typename __gnu_cxx::__enable_if<(__is_arithmetic<_Tp>::__value && __is_arithmetic<_Up>::__value), bool>::__type isgreaterequal(_Tp __x, _Up __y) { typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type; return __builtin_isgreaterequal(__type(__x), __type(__y)); } constexpr bool isless(float __x, float __y) { return __builtin_isless(__x, __y); } constexpr bool isless(double __x, double __y) { return __builtin_isless(__x, __y); } constexpr bool isless(long double __x, long double __y) { return __builtin_isless(__x, __y); } template constexpr typename __gnu_cxx::__enable_if<(__is_arithmetic<_Tp>::__value && __is_arithmetic<_Up>::__value), bool>::__type isless(_Tp __x, _Up __y) { typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type; return __builtin_isless(__type(__x), __type(__y)); } constexpr bool islessequal(float __x, float __y) { return __builtin_islessequal(__x, __y); } constexpr bool islessequal(double __x, double __y) { return __builtin_islessequal(__x, __y); } constexpr bool islessequal(long double __x, long double __y) { return __builtin_islessequal(__x, __y); } template constexpr typename __gnu_cxx::__enable_if<(__is_arithmetic<_Tp>::__value && __is_arithmetic<_Up>::__value), bool>::__type islessequal(_Tp __x, _Up __y) { typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type; return __builtin_islessequal(__type(__x), __type(__y)); } constexpr bool islessgreater(float __x, float __y) { return __builtin_islessgreater(__x, __y); } constexpr bool islessgreater(double __x, double __y) { return __builtin_islessgreater(__x, __y); } constexpr bool islessgreater(long double __x, long double __y) { return __builtin_islessgreater(__x, __y); } template constexpr typename __gnu_cxx::__enable_if<(__is_arithmetic<_Tp>::__value && __is_arithmetic<_Up>::__value), bool>::__type islessgreater(_Tp __x, _Up __y) { typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type; return __builtin_islessgreater(__type(__x), __type(__y)); } constexpr bool isunordered(float __x, float __y) { return __builtin_isunordered(__x, __y); } constexpr bool isunordered(double __x, double __y) { return __builtin_isunordered(__x, __y); } constexpr bool isunordered(long double __x, long double __y) { return __builtin_isunordered(__x, __y); } template constexpr typename __gnu_cxx::__enable_if<(__is_arithmetic<_Tp>::__value && __is_arithmetic<_Up>::__value), bool>::__type isunordered(_Tp __x, _Up __y) { typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type; return __builtin_isunordered(__type(__x), __type(__y)); } # 917 "/usr/include/c++/5.0.0/cmath" 3 } # 1033 "/usr/include/c++/5.0.0/cmath" 3 namespace std __attribute__ ((__visibility__ ("default"))) { using ::double_t; using ::float_t; using ::acosh; using ::acoshf; using ::acoshl; using ::asinh; using ::asinhf; using ::asinhl; using ::atanh; using ::atanhf; using ::atanhl; using ::cbrt; using ::cbrtf; using ::cbrtl; using ::copysign; using ::copysignf; using ::copysignl; using ::erf; using ::erff; using ::erfl; using ::erfc; using ::erfcf; using ::erfcl; using ::exp2; using ::exp2f; using ::exp2l; using ::expm1; using ::expm1f; using ::expm1l; using ::fdim; using ::fdimf; using ::fdiml; using ::fma; using ::fmaf; using ::fmal; using ::fmax; using ::fmaxf; using ::fmaxl; using ::fmin; using ::fminf; using ::fminl; using ::hypot; using ::hypotf; using ::hypotl; using ::ilogb; using ::ilogbf; using ::ilogbl; using ::lgamma; using ::lgammaf; using ::lgammal; using ::llrint; using ::llrintf; using ::llrintl; using ::llround; using ::llroundf; using ::llroundl; using ::log1p; using ::log1pf; using ::log1pl; using ::log2; using ::log2f; using ::log2l; using ::logb; using ::logbf; using ::logbl; using ::lrint; using ::lrintf; using ::lrintl; using ::lround; using ::lroundf; using ::lroundl; using ::nan; using ::nanf; using ::nanl; using ::nearbyint; using ::nearbyintf; using ::nearbyintl; using ::nextafter; using ::nextafterf; using ::nextafterl; using ::nexttoward; using ::nexttowardf; using ::nexttowardl; using ::remainder; using ::remainderf; using ::remainderl; using ::remquo; using ::remquof; using ::remquol; using ::rint; using ::rintf; using ::rintl; using ::round; using ::roundf; using ::roundl; using ::scalbln; using ::scalblnf; using ::scalblnl; using ::scalbn; using ::scalbnf; using ::scalbnl; using ::tgamma; using ::tgammaf; using ::tgammal; using ::trunc; using ::truncf; using ::truncl; constexpr float acosh(float __x) { return __builtin_acoshf(__x); } constexpr long double acosh(long double __x) { return __builtin_acoshl(__x); } template constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type acosh(_Tp __x) { return __builtin_acosh(__x); } constexpr float asinh(float __x) { return __builtin_asinhf(__x); } constexpr long double asinh(long double __x) { return __builtin_asinhl(__x); } template constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type asinh(_Tp __x) { return __builtin_asinh(__x); } constexpr float atanh(float __x) { return __builtin_atanhf(__x); } constexpr long double atanh(long double __x) { return __builtin_atanhl(__x); } template constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type atanh(_Tp __x) { return __builtin_atanh(__x); } constexpr float cbrt(float __x) { return __builtin_cbrtf(__x); } constexpr long double cbrt(long double __x) { return __builtin_cbrtl(__x); } template constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type cbrt(_Tp __x) { return __builtin_cbrt(__x); } constexpr float copysign(float __x, float __y) { return __builtin_copysignf(__x, __y); } constexpr long double copysign(long double __x, long double __y) { return __builtin_copysignl(__x, __y); } template constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type copysign(_Tp __x, _Up __y) { typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type; return copysign(__type(__x), __type(__y)); } constexpr float erf(float __x) { return __builtin_erff(__x); } constexpr long double erf(long double __x) { return __builtin_erfl(__x); } template constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type erf(_Tp __x) { return __builtin_erf(__x); } constexpr float erfc(float __x) { return __builtin_erfcf(__x); } constexpr long double erfc(long double __x) { return __builtin_erfcl(__x); } template constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type erfc(_Tp __x) { return __builtin_erfc(__x); } constexpr float exp2(float __x) { return __builtin_exp2f(__x); } constexpr long double exp2(long double __x) { return __builtin_exp2l(__x); } template constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type exp2(_Tp __x) { return __builtin_exp2(__x); } constexpr float expm1(float __x) { return __builtin_expm1f(__x); } constexpr long double expm1(long double __x) { return __builtin_expm1l(__x); } template constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type expm1(_Tp __x) { return __builtin_expm1(__x); } constexpr float fdim(float __x, float __y) { return __builtin_fdimf(__x, __y); } constexpr long double fdim(long double __x, long double __y) { return __builtin_fdiml(__x, __y); } template constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type fdim(_Tp __x, _Up __y) { typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type; return fdim(__type(__x), __type(__y)); } constexpr float fma(float __x, float __y, float __z) { return __builtin_fmaf(__x, __y, __z); } constexpr long double fma(long double __x, long double __y, long double __z) { return __builtin_fmal(__x, __y, __z); } template constexpr typename __gnu_cxx::__promote_3<_Tp, _Up, _Vp>::__type fma(_Tp __x, _Up __y, _Vp __z) { typedef typename __gnu_cxx::__promote_3<_Tp, _Up, _Vp>::__type __type; return fma(__type(__x), __type(__y), __type(__z)); } constexpr float fmax(float __x, float __y) { return __builtin_fmaxf(__x, __y); } constexpr long double fmax(long double __x, long double __y) { return __builtin_fmaxl(__x, __y); } template constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type fmax(_Tp __x, _Up __y) { typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type; return fmax(__type(__x), __type(__y)); } constexpr float fmin(float __x, float __y) { return __builtin_fminf(__x, __y); } constexpr long double fmin(long double __x, long double __y) { return __builtin_fminl(__x, __y); } template constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type fmin(_Tp __x, _Up __y) { typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type; return fmin(__type(__x), __type(__y)); } constexpr float hypot(float __x, float __y) { return __builtin_hypotf(__x, __y); } constexpr long double hypot(long double __x, long double __y) { return __builtin_hypotl(__x, __y); } template constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type hypot(_Tp __x, _Up __y) { typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type; return hypot(__type(__x), __type(__y)); } constexpr int ilogb(float __x) { return __builtin_ilogbf(__x); } constexpr int ilogb(long double __x) { return __builtin_ilogbl(__x); } template constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, int>::__type ilogb(_Tp __x) { return __builtin_ilogb(__x); } constexpr float lgamma(float __x) { return __builtin_lgammaf(__x); } constexpr long double lgamma(long double __x) { return __builtin_lgammal(__x); } template constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type lgamma(_Tp __x) { return __builtin_lgamma(__x); } constexpr long long llrint(float __x) { return __builtin_llrintf(__x); } constexpr long long llrint(long double __x) { return __builtin_llrintl(__x); } template constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, long long>::__type llrint(_Tp __x) { return __builtin_llrint(__x); } constexpr long long llround(float __x) { return __builtin_llroundf(__x); } constexpr long long llround(long double __x) { return __builtin_llroundl(__x); } template constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, long long>::__type llround(_Tp __x) { return __builtin_llround(__x); } constexpr float log1p(float __x) { return __builtin_log1pf(__x); } constexpr long double log1p(long double __x) { return __builtin_log1pl(__x); } template constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type log1p(_Tp __x) { return __builtin_log1p(__x); } constexpr float log2(float __x) { return __builtin_log2f(__x); } constexpr long double log2(long double __x) { return __builtin_log2l(__x); } template constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type log2(_Tp __x) { return __builtin_log2(__x); } constexpr float logb(float __x) { return __builtin_logbf(__x); } constexpr long double logb(long double __x) { return __builtin_logbl(__x); } template constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type logb(_Tp __x) { return __builtin_logb(__x); } constexpr long lrint(float __x) { return __builtin_lrintf(__x); } constexpr long lrint(long double __x) { return __builtin_lrintl(__x); } template constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, long>::__type lrint(_Tp __x) { return __builtin_lrint(__x); } constexpr long lround(float __x) { return __builtin_lroundf(__x); } constexpr long lround(long double __x) { return __builtin_lroundl(__x); } template constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, long>::__type lround(_Tp __x) { return __builtin_lround(__x); } constexpr float nearbyint(float __x) { return __builtin_nearbyintf(__x); } constexpr long double nearbyint(long double __x) { return __builtin_nearbyintl(__x); } template constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type nearbyint(_Tp __x) { return __builtin_nearbyint(__x); } constexpr float nextafter(float __x, float __y) { return __builtin_nextafterf(__x, __y); } constexpr long double nextafter(long double __x, long double __y) { return __builtin_nextafterl(__x, __y); } template constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type nextafter(_Tp __x, _Up __y) { typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type; return nextafter(__type(__x), __type(__y)); } constexpr float nexttoward(float __x, long double __y) { return __builtin_nexttowardf(__x, __y); } constexpr long double nexttoward(long double __x, long double __y) { return __builtin_nexttowardl(__x, __y); } template constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type nexttoward(_Tp __x, long double __y) { return __builtin_nexttoward(__x, __y); } constexpr float remainder(float __x, float __y) { return __builtin_remainderf(__x, __y); } constexpr long double remainder(long double __x, long double __y) { return __builtin_remainderl(__x, __y); } template constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type remainder(_Tp __x, _Up __y) { typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type; return remainder(__type(__x), __type(__y)); } inline float remquo(float __x, float __y, int* __pquo) { return __builtin_remquof(__x, __y, __pquo); } inline long double remquo(long double __x, long double __y, int* __pquo) { return __builtin_remquol(__x, __y, __pquo); } template inline typename __gnu_cxx::__promote_2<_Tp, _Up>::__type remquo(_Tp __x, _Up __y, int* __pquo) { typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type; return remquo(__type(__x), __type(__y), __pquo); } constexpr float rint(float __x) { return __builtin_rintf(__x); } constexpr long double rint(long double __x) { return __builtin_rintl(__x); } template constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type rint(_Tp __x) { return __builtin_rint(__x); } constexpr float round(float __x) { return __builtin_roundf(__x); } constexpr long double round(long double __x) { return __builtin_roundl(__x); } template constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type round(_Tp __x) { return __builtin_round(__x); } constexpr float scalbln(float __x, long __ex) { return __builtin_scalblnf(__x, __ex); } constexpr long double scalbln(long double __x, long __ex) { return __builtin_scalblnl(__x, __ex); } template constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type scalbln(_Tp __x, long __ex) { return __builtin_scalbln(__x, __ex); } constexpr float scalbn(float __x, int __ex) { return __builtin_scalbnf(__x, __ex); } constexpr long double scalbn(long double __x, int __ex) { return __builtin_scalbnl(__x, __ex); } template constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type scalbn(_Tp __x, int __ex) { return __builtin_scalbn(__x, __ex); } constexpr float tgamma(float __x) { return __builtin_tgammaf(__x); } constexpr long double tgamma(long double __x) { return __builtin_tgammal(__x); } template constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type tgamma(_Tp __x) { return __builtin_tgamma(__x); } constexpr float trunc(float __x) { return __builtin_truncf(__x); } constexpr long double trunc(long double __x) { return __builtin_truncl(__x); } template constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type trunc(_Tp __x) { return __builtin_trunc(__x); } } # 13 "../../../dist/include/nsMathUtils.h" 2 # 1 "../../../dist/system_wrappers/float.h" 1 # 2 "../../../dist/system_wrappers/float.h" 3 #pragma GCC visibility push(default) # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/float.h" 1 3 4 # 4 "../../../dist/system_wrappers/float.h" 2 3 #pragma GCC visibility pop # 14 "../../../dist/include/nsMathUtils.h" 2 # 22 "../../../dist/include/nsMathUtils.h" # 22 "../../../dist/include/nsMathUtils.h" inline double NS_round(double aNum) { return aNum >= 0.0 ? floor(aNum + 0.5) : ceil(aNum - 0.5); } inline float NS_roundf(float aNum) { return aNum >= 0.0f ? floorf(aNum + 0.5f) : ceilf(aNum - 0.5f); } inline int32_t NS_lround(double aNum) { return aNum >= 0.0 ? int32_t(aNum + 0.5) : int32_t(aNum - 0.5); } # 74 "../../../dist/include/nsMathUtils.h" inline int32_t NS_lroundf(float aNum) { return aNum >= 0.0f ? int32_t(aNum + 0.5f) : int32_t(aNum - 0.5f); } inline double NS_hypot(double aNum1, double aNum2) { return __builtin_hypot(aNum1, aNum2); } inline bool NS_finite(double aNum) { # 112 "../../../dist/include/nsMathUtils.h" return finite(aNum); } inline double NS_floorModulo(double aNum1, double aNum2) { return (aNum1 - aNum2 * floor(aNum1 / aNum2)); } # 12 "../../../dist/include/nsCoord.h" 2 # 1 "../../../dist/system_wrappers/math.h" 1 # 2 "../../../dist/system_wrappers/math.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 13 "../../../dist/include/nsCoord.h" 2 # 1 "../../../dist/system_wrappers/float.h" 1 # 2 "../../../dist/system_wrappers/float.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 14 "../../../dist/include/nsCoord.h" 2 # 1 "../../../dist/stl_wrappers/algorithm" 1 # 18 "../../../dist/stl_wrappers/algorithm" # 19 "../../../dist/stl_wrappers/algorithm" 3 # 33 "../../../dist/stl_wrappers/algorithm" 3 # 1 "../../../dist/system_wrappers/new" 1 3 # 2 "../../../dist/system_wrappers/new" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 34 "../../../dist/stl_wrappers/algorithm" 2 3 # 54 "../../../dist/stl_wrappers/algorithm" 3 #pragma GCC visibility push(default) # 1 "../../../dist/system_wrappers/algorithm" 1 3 # 2 "../../../dist/system_wrappers/algorithm" 3 #pragma GCC visibility push(default) # 1 "/usr/include/c++/5.0.0/algorithm" 1 3 # 58 "/usr/include/c++/5.0.0/algorithm" 3 # 59 "/usr/include/c++/5.0.0/algorithm" 3 # 1 "../../../dist/stl_wrappers/utility" 1 3 # 18 "../../../dist/stl_wrappers/utility" 3 # 19 "../../../dist/stl_wrappers/utility" 3 # 33 "../../../dist/stl_wrappers/utility" 3 # 1 "../../../dist/system_wrappers/new" 1 3 # 2 "../../../dist/system_wrappers/new" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 34 "../../../dist/stl_wrappers/utility" 2 3 # 54 "../../../dist/stl_wrappers/utility" 3 #pragma GCC visibility push(default) # 1 "../../../dist/system_wrappers/utility" 1 3 # 2 "../../../dist/system_wrappers/utility" 3 #pragma GCC visibility push(default) # 1 "/usr/include/c++/5.0.0/utility" 1 3 # 58 "/usr/include/c++/5.0.0/utility" 3 # 59 "/usr/include/c++/5.0.0/utility" 3 # 69 "/usr/include/c++/5.0.0/utility" 3 # 1 "/usr/include/c++/5.0.0/bits/stl_relops.h" 1 3 # 67 "/usr/include/c++/5.0.0/bits/stl_relops.h" 3 # 67 "/usr/include/c++/5.0.0/bits/stl_relops.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { namespace rel_ops { # 85 "/usr/include/c++/5.0.0/bits/stl_relops.h" 3 template inline bool operator!=(const _Tp& __x, const _Tp& __y) { return !(__x == __y); } # 98 "/usr/include/c++/5.0.0/bits/stl_relops.h" 3 template inline bool operator>(const _Tp& __x, const _Tp& __y) { return __y < __x; } # 111 "/usr/include/c++/5.0.0/bits/stl_relops.h" 3 template inline bool operator<=(const _Tp& __x, const _Tp& __y) { return !(__y < __x); } # 124 "/usr/include/c++/5.0.0/bits/stl_relops.h" 3 template inline bool operator>=(const _Tp& __x, const _Tp& __y) { return !(__x < __y); } } } # 70 "/usr/include/c++/5.0.0/utility" 2 3 # 1 "/usr/include/c++/5.0.0/bits/stl_pair.h" 1 3 # 59 "/usr/include/c++/5.0.0/bits/stl_pair.h" 3 # 1 "/usr/include/c++/5.0.0/bits/move.h" 1 3 # 34 "/usr/include/c++/5.0.0/bits/move.h" 3 # 1 "/usr/include/c++/5.0.0/bits/concept_check.h" 1 3 # 33 "/usr/include/c++/5.0.0/bits/concept_check.h" 3 # 34 "/usr/include/c++/5.0.0/bits/concept_check.h" 3 # 35 "/usr/include/c++/5.0.0/bits/move.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { template inline _Tp* __addressof(_Tp& __r) noexcept { return reinterpret_cast<_Tp*> (&const_cast(reinterpret_cast(__r))); } } # 1 "/usr/include/c++/5.0.0/type_traits" 1 3 # 32 "/usr/include/c++/5.0.0/type_traits" 3 # 33 "/usr/include/c++/5.0.0/type_traits" 3 # 42 "/usr/include/c++/5.0.0/type_traits" 3 namespace std { typedef short unsigned int uint_least16_t; typedef unsigned int uint_least32_t; } namespace std __attribute__ ((__visibility__ ("default"))) { # 68 "/usr/include/c++/5.0.0/type_traits" 3 template struct integral_constant { static constexpr _Tp value = __v; typedef _Tp value_type; typedef integral_constant<_Tp, __v> type; constexpr operator value_type() const { return value; } }; template constexpr _Tp integral_constant<_Tp, __v>::value; typedef integral_constant true_type; typedef integral_constant false_type; template using __bool_constant = integral_constant; template struct conditional; template struct __or_; template<> struct __or_<> : public false_type { }; template struct __or_<_B1> : public _B1 { }; template struct __or_<_B1, _B2> : public conditional<_B1::value, _B1, _B2>::type { }; template struct __or_<_B1, _B2, _B3, _Bn...> : public conditional<_B1::value, _B1, __or_<_B2, _B3, _Bn...>>::type { }; template struct __and_; template<> struct __and_<> : public true_type { }; template struct __and_<_B1> : public _B1 { }; template struct __and_<_B1, _B2> : public conditional<_B1::value, _B2, _B1>::type { }; template struct __and_<_B1, _B2, _B3, _Bn...> : public conditional<_B1::value, __and_<_B2, _B3, _Bn...>, _B1>::type { }; template struct __not_ : public integral_constant { }; template struct __success_type { typedef _Tp type; }; struct __failure_type { }; template struct remove_cv; template struct __is_void_helper : public false_type { }; template<> struct __is_void_helper : public true_type { }; template struct is_void : public __is_void_helper::type>::type { }; template struct __is_integral_helper : public false_type { }; template<> struct __is_integral_helper : public true_type { }; template<> struct __is_integral_helper : public true_type { }; template<> struct __is_integral_helper : public true_type { }; template<> struct __is_integral_helper : public true_type { }; template<> struct __is_integral_helper : public true_type { }; template<> struct __is_integral_helper : public true_type { }; template<> struct __is_integral_helper : public true_type { }; template<> struct __is_integral_helper : public true_type { }; template<> struct __is_integral_helper : public true_type { }; template<> struct __is_integral_helper : public true_type { }; template<> struct __is_integral_helper : public true_type { }; template<> struct __is_integral_helper : public true_type { }; template<> struct __is_integral_helper : public true_type { }; template<> struct __is_integral_helper : public true_type { }; template<> struct __is_integral_helper : public true_type { }; # 288 "/usr/include/c++/5.0.0/type_traits" 3 template struct is_integral : public __is_integral_helper::type>::type { }; template struct __is_floating_point_helper : public false_type { }; template<> struct __is_floating_point_helper : public true_type { }; template<> struct __is_floating_point_helper : public true_type { }; template<> struct __is_floating_point_helper : public true_type { }; template<> struct __is_floating_point_helper<__float128> : public true_type { }; template struct is_floating_point : public __is_floating_point_helper::type>::type { }; template struct is_array : public false_type { }; template struct is_array<_Tp[_Size]> : public true_type { }; template struct is_array<_Tp[]> : public true_type { }; template struct __is_pointer_helper : public false_type { }; template struct __is_pointer_helper<_Tp*> : public true_type { }; template struct is_pointer : public __is_pointer_helper::type>::type { }; template struct is_lvalue_reference : public false_type { }; template struct is_lvalue_reference<_Tp&> : public true_type { }; template struct is_rvalue_reference : public false_type { }; template struct is_rvalue_reference<_Tp&&> : public true_type { }; template struct is_function; template struct __is_member_object_pointer_helper : public false_type { }; template struct __is_member_object_pointer_helper<_Tp _Cp::*> : public integral_constant::value> { }; template struct is_member_object_pointer : public __is_member_object_pointer_helper< typename remove_cv<_Tp>::type>::type { }; template struct __is_member_function_pointer_helper : public false_type { }; template struct __is_member_function_pointer_helper<_Tp _Cp::*> : public integral_constant::value> { }; template struct is_member_function_pointer : public __is_member_function_pointer_helper< typename remove_cv<_Tp>::type>::type { }; template struct is_enum : public integral_constant { }; template struct is_union : public integral_constant { }; template struct is_class : public integral_constant { }; template struct is_function : public false_type { }; template struct is_function<_Res(_ArgTypes...)> : public true_type { }; template struct is_function<_Res(_ArgTypes...) &> : public true_type { }; template struct is_function<_Res(_ArgTypes...) &&> : public true_type { }; template struct is_function<_Res(_ArgTypes......)> : public true_type { }; template struct is_function<_Res(_ArgTypes......) &> : public true_type { }; template struct is_function<_Res(_ArgTypes......) &&> : public true_type { }; template struct is_function<_Res(_ArgTypes...) const> : public true_type { }; template struct is_function<_Res(_ArgTypes...) const &> : public true_type { }; template struct is_function<_Res(_ArgTypes...) const &&> : public true_type { }; template struct is_function<_Res(_ArgTypes......) const> : public true_type { }; template struct is_function<_Res(_ArgTypes......) const &> : public true_type { }; template struct is_function<_Res(_ArgTypes......) const &&> : public true_type { }; template struct is_function<_Res(_ArgTypes...) volatile> : public true_type { }; template struct is_function<_Res(_ArgTypes...) volatile &> : public true_type { }; template struct is_function<_Res(_ArgTypes...) volatile &&> : public true_type { }; template struct is_function<_Res(_ArgTypes......) volatile> : public true_type { }; template struct is_function<_Res(_ArgTypes......) volatile &> : public true_type { }; template struct is_function<_Res(_ArgTypes......) volatile &&> : public true_type { }; template struct is_function<_Res(_ArgTypes...) const volatile> : public true_type { }; template struct is_function<_Res(_ArgTypes...) const volatile &> : public true_type { }; template struct is_function<_Res(_ArgTypes...) const volatile &&> : public true_type { }; template struct is_function<_Res(_ArgTypes......) const volatile> : public true_type { }; template struct is_function<_Res(_ArgTypes......) const volatile &> : public true_type { }; template struct is_function<_Res(_ArgTypes......) const volatile &&> : public true_type { }; template struct __is_null_pointer_helper : public false_type { }; template<> struct __is_null_pointer_helper : public true_type { }; template struct is_null_pointer : public __is_null_pointer_helper::type>::type { }; template struct __is_nullptr_t : public is_null_pointer<_Tp> { }; template struct is_reference : public __or_, is_rvalue_reference<_Tp>>::type { }; template struct is_arithmetic : public __or_, is_floating_point<_Tp>>::type { }; template struct is_fundamental : public __or_, is_void<_Tp>, is_null_pointer<_Tp>>::type { }; template struct is_object : public __not_<__or_, is_reference<_Tp>, is_void<_Tp>>>::type { }; template struct is_member_pointer; template struct is_scalar : public __or_, is_enum<_Tp>, is_pointer<_Tp>, is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type { }; template struct is_compound : public integral_constant::value> { }; template struct __is_member_pointer_helper : public false_type { }; template struct __is_member_pointer_helper<_Tp _Cp::*> : public true_type { }; template struct is_member_pointer : public __is_member_pointer_helper::type>::type { }; template struct __is_referenceable : public __or_, is_reference<_Tp>>::type { }; template struct __is_referenceable<_Res(_Args...)> : public true_type { }; template struct __is_referenceable<_Res(_Args......)> : public true_type { }; template struct is_const : public false_type { }; template struct is_const<_Tp const> : public true_type { }; template struct is_volatile : public false_type { }; template struct is_volatile<_Tp volatile> : public true_type { }; template struct is_trivial : public integral_constant { }; template struct is_trivially_copyable : public integral_constant { }; template struct is_standard_layout : public integral_constant { }; template struct is_pod : public integral_constant { }; template struct is_literal_type : public integral_constant { }; template struct is_empty : public integral_constant { }; template struct is_polymorphic : public integral_constant { }; # 688 "/usr/include/c++/5.0.0/type_traits" 3 template struct is_abstract : public integral_constant { }; template::value> struct __is_signed_helper : public false_type { }; template struct __is_signed_helper<_Tp, true> : public integral_constant { }; template struct is_signed : public __is_signed_helper<_Tp>::type { }; template struct is_unsigned : public __and_, __not_>>::type { }; template struct add_rvalue_reference; template typename add_rvalue_reference<_Tp>::type declval() noexcept; template struct extent; template struct remove_all_extents; template struct __is_array_known_bounds : public integral_constant::value > 0)> { }; template struct __is_array_unknown_bounds : public __and_, __not_>>::type { }; struct __do_is_destructible_impl { template().~_Tp())> static true_type __test(int); template static false_type __test(...); }; template struct __is_destructible_impl : public __do_is_destructible_impl { typedef decltype(__test<_Tp>(0)) type; }; template, __is_array_unknown_bounds<_Tp>, is_function<_Tp>>::value, bool = __or_, is_scalar<_Tp>>::value> struct __is_destructible_safe; template struct __is_destructible_safe<_Tp, false, false> : public __is_destructible_impl::type>::type { }; template struct __is_destructible_safe<_Tp, true, false> : public false_type { }; template struct __is_destructible_safe<_Tp, false, true> : public true_type { }; template struct is_destructible : public __is_destructible_safe<_Tp>::type { }; struct __do_is_nt_destructible_impl { template static integral_constant().~_Tp())> __test(int); template static false_type __test(...); }; template struct __is_nt_destructible_impl : public __do_is_nt_destructible_impl { typedef decltype(__test<_Tp>(0)) type; }; template, __is_array_unknown_bounds<_Tp>, is_function<_Tp>>::value, bool = __or_, is_scalar<_Tp>>::value> struct __is_nt_destructible_safe; template struct __is_nt_destructible_safe<_Tp, false, false> : public __is_nt_destructible_impl::type>::type { }; template struct __is_nt_destructible_safe<_Tp, true, false> : public false_type { }; template struct __is_nt_destructible_safe<_Tp, false, true> : public true_type { }; template struct is_nothrow_destructible : public __is_nt_destructible_safe<_Tp>::type { }; struct __do_is_default_constructible_impl { template static true_type __test(int); template static false_type __test(...); }; template struct __is_default_constructible_impl : public __do_is_default_constructible_impl { typedef decltype(__test<_Tp>(0)) type; }; template struct __is_default_constructible_atom : public __and_<__not_>, __is_default_constructible_impl<_Tp>>::type { }; template::value> struct __is_default_constructible_safe; template struct __is_default_constructible_safe<_Tp, true> : public __and_<__is_array_known_bounds<_Tp>, __is_default_constructible_atom::type>>::type { }; template struct __is_default_constructible_safe<_Tp, false> : public __is_default_constructible_atom<_Tp>::type { }; template struct is_default_constructible : public __is_default_constructible_safe<_Tp>::type { }; # 900 "/usr/include/c++/5.0.0/type_traits" 3 struct __do_is_static_castable_impl { template(declval<_From>()))> static true_type __test(int); template static false_type __test(...); }; template struct __is_static_castable_impl : public __do_is_static_castable_impl { typedef decltype(__test<_From, _To>(0)) type; }; template struct __is_static_castable_safe : public __is_static_castable_impl<_From, _To>::type { }; template struct __is_static_castable : public integral_constant::value)> { }; struct __do_is_direct_constructible_impl { template()))> static true_type __test(int); template static false_type __test(...); }; template struct __is_direct_constructible_impl : public __do_is_direct_constructible_impl { typedef decltype(__test<_Tp, _Arg>(0)) type; }; template struct __is_direct_constructible_new_safe : public __and_, __is_direct_constructible_impl<_Tp, _Arg>>::type { }; template struct is_same; template struct is_base_of; template struct remove_reference; template, is_function<_From>>>::value> struct __is_base_to_derived_ref; template struct __is_base_to_derived_ref<_From, _To, true> { typedef typename remove_cv::type>::type __src_t; typedef typename remove_cv::type>::type __dst_t; typedef __and_<__not_>, is_base_of<__src_t, __dst_t>> type; static constexpr bool value = type::value; }; template struct __is_base_to_derived_ref<_From, _To, false> : public false_type { }; template, is_rvalue_reference<_To>>::value> struct __is_lvalue_to_rvalue_ref; template struct __is_lvalue_to_rvalue_ref<_From, _To, true> { typedef typename remove_cv::type>::type __src_t; typedef typename remove_cv::type>::type __dst_t; typedef __and_<__not_>, __or_, is_base_of<__dst_t, __src_t>>> type; static constexpr bool value = type::value; }; template struct __is_lvalue_to_rvalue_ref<_From, _To, false> : public false_type { }; template struct __is_direct_constructible_ref_cast : public __and_<__is_static_castable<_Arg, _Tp>, __not_<__or_<__is_base_to_derived_ref<_Arg, _Tp>, __is_lvalue_to_rvalue_ref<_Arg, _Tp> >>>::type { }; template struct __is_direct_constructible_new : public conditional::value, __is_direct_constructible_ref_cast<_Tp, _Arg>, __is_direct_constructible_new_safe<_Tp, _Arg> >::type { }; template struct __is_direct_constructible : public __is_direct_constructible_new<_Tp, _Arg>::type { }; struct __do_is_nary_constructible_impl { template()...))> static true_type __test(int); template static false_type __test(...); }; template struct __is_nary_constructible_impl : public __do_is_nary_constructible_impl { typedef decltype(__test<_Tp, _Args...>(0)) type; }; template struct __is_nary_constructible : public __is_nary_constructible_impl<_Tp, _Args...>::type { static_assert(sizeof...(_Args) > 1, "Only useful for > 1 arguments"); }; template struct __is_constructible_impl : public __is_nary_constructible<_Tp, _Args...> { }; template struct __is_constructible_impl<_Tp, _Arg> : public __is_direct_constructible<_Tp, _Arg> { }; template struct __is_constructible_impl<_Tp> : public is_default_constructible<_Tp> { }; template struct is_constructible : public __is_constructible_impl<_Tp, _Args...>::type { }; template::value> struct __is_copy_constructible_impl; template struct __is_copy_constructible_impl<_Tp, false> : public false_type { }; template struct __is_copy_constructible_impl<_Tp, true> : public is_constructible<_Tp, const _Tp&> { }; template struct is_copy_constructible : public __is_copy_constructible_impl<_Tp> { }; template::value> struct __is_move_constructible_impl; template struct __is_move_constructible_impl<_Tp, false> : public false_type { }; template struct __is_move_constructible_impl<_Tp, true> : public is_constructible<_Tp, _Tp&&> { }; template struct is_move_constructible : public __is_move_constructible_impl<_Tp> { }; template struct __is_nt_default_constructible_atom : public integral_constant { }; template::value> struct __is_nt_default_constructible_impl; template struct __is_nt_default_constructible_impl<_Tp, true> : public __and_<__is_array_known_bounds<_Tp>, __is_nt_default_constructible_atom::type>>::type { }; template struct __is_nt_default_constructible_impl<_Tp, false> : public __is_nt_default_constructible_atom<_Tp> { }; template struct is_nothrow_default_constructible : public __and_, __is_nt_default_constructible_impl<_Tp>>::type { }; template struct __is_nt_constructible_impl : public integral_constant()...))> { }; template struct __is_nt_constructible_impl<_Tp, _Arg> : public integral_constant(declval<_Arg>()))> { }; template struct __is_nt_constructible_impl<_Tp> : public is_nothrow_default_constructible<_Tp> { }; template struct is_nothrow_constructible : public __and_, __is_nt_constructible_impl<_Tp, _Args...>>::type { }; template::value> struct __is_nothrow_copy_constructible_impl; template struct __is_nothrow_copy_constructible_impl<_Tp, false> : public false_type { }; template struct __is_nothrow_copy_constructible_impl<_Tp, true> : public is_nothrow_constructible<_Tp, const _Tp&> { }; template struct is_nothrow_copy_constructible : public __is_nothrow_copy_constructible_impl<_Tp> { }; template::value> struct __is_nothrow_move_constructible_impl; template struct __is_nothrow_move_constructible_impl<_Tp, false> : public false_type { }; template struct __is_nothrow_move_constructible_impl<_Tp, true> : public is_nothrow_constructible<_Tp, _Tp&&> { }; template struct is_nothrow_move_constructible : public __is_nothrow_move_constructible_impl<_Tp> { }; template class __is_assignable_helper { template() = declval<_Up1>())> static true_type __test(int); template static false_type __test(...); public: typedef decltype(__test<_Tp, _Up>(0)) type; }; template struct is_assignable : public __is_assignable_helper<_Tp, _Up>::type { }; template::value> struct __is_copy_assignable_impl; template struct __is_copy_assignable_impl<_Tp, false> : public false_type { }; template struct __is_copy_assignable_impl<_Tp, true> : public is_assignable<_Tp&, const _Tp&> { }; template struct is_copy_assignable : public __is_copy_assignable_impl<_Tp> { }; template::value> struct __is_move_assignable_impl; template struct __is_move_assignable_impl<_Tp, false> : public false_type { }; template struct __is_move_assignable_impl<_Tp, true> : public is_assignable<_Tp&, _Tp&&> { }; template struct is_move_assignable : public __is_move_assignable_impl<_Tp> { }; template struct __is_nt_assignable_impl : public integral_constant() = declval<_Up>())> { }; template struct is_nothrow_assignable : public __and_, __is_nt_assignable_impl<_Tp, _Up>>::type { }; template::value> struct __is_nt_copy_assignable_impl; template struct __is_nt_copy_assignable_impl<_Tp, false> : public false_type { }; template struct __is_nt_copy_assignable_impl<_Tp, true> : public is_nothrow_assignable<_Tp&, const _Tp&> { }; template struct is_nothrow_copy_assignable : public __is_nt_copy_assignable_impl<_Tp> { }; template::value> struct __is_nt_move_assignable_impl; template struct __is_nt_move_assignable_impl<_Tp, false> : public false_type { }; template struct __is_nt_move_assignable_impl<_Tp, true> : public is_nothrow_assignable<_Tp&, _Tp&&> { }; template struct is_nothrow_move_assignable : public __is_nt_move_assignable_impl<_Tp> { }; template struct is_trivially_constructible : public __and_, integral_constant>::type { }; template struct is_trivially_default_constructible : public is_trivially_constructible<_Tp>::type { }; template struct is_trivially_copy_constructible : public __and_, integral_constant>::type { }; template struct is_trivially_move_constructible : public __and_, integral_constant>::type { }; template struct is_trivially_assignable : public __and_, integral_constant>::type { }; template struct is_trivially_copy_assignable : public __and_, integral_constant>::type { }; template struct is_trivially_move_assignable : public __and_, integral_constant>::type { }; template struct is_trivially_destructible : public __and_, integral_constant>::type { }; template struct has_trivial_default_constructor : public integral_constant { } __attribute__ ((__deprecated__)); template struct has_trivial_copy_constructor : public integral_constant { } __attribute__ ((__deprecated__)); template struct has_trivial_copy_assign : public integral_constant { } __attribute__ ((__deprecated__)); template struct has_virtual_destructor : public integral_constant { }; template struct alignment_of : public integral_constant { }; template struct rank : public integral_constant { }; template struct rank<_Tp[_Size]> : public integral_constant::value> { }; template struct rank<_Tp[]> : public integral_constant::value> { }; template struct extent : public integral_constant { }; template struct extent<_Tp[_Size], _Uint> : public integral_constant::value> { }; template struct extent<_Tp[], _Uint> : public integral_constant::value> { }; template struct is_same : public false_type { }; template struct is_same<_Tp, _Tp> : public true_type { }; template struct is_base_of : public integral_constant { }; template, is_function<_To>, is_array<_To>>::value> struct __is_convertible_helper { typedef typename is_void<_To>::type type; }; template class __is_convertible_helper<_From, _To, false> { template static void __test_aux(_To1); template(std::declval<_From1>()))> static true_type __test(int); template static false_type __test(...); public: typedef decltype(__test<_From, _To>(0)) type; }; template struct is_convertible : public __is_convertible_helper<_From, _To>::type { }; template struct remove_const { typedef _Tp type; }; template struct remove_const<_Tp const> { typedef _Tp type; }; template struct remove_volatile { typedef _Tp type; }; template struct remove_volatile<_Tp volatile> { typedef _Tp type; }; template struct remove_cv { typedef typename remove_const::type>::type type; }; template struct add_const { typedef _Tp const type; }; template struct add_volatile { typedef _Tp volatile type; }; template struct add_cv { typedef typename add_const::type>::type type; }; # 1574 "/usr/include/c++/5.0.0/type_traits" 3 template struct remove_reference { typedef _Tp type; }; template struct remove_reference<_Tp&> { typedef _Tp type; }; template struct remove_reference<_Tp&&> { typedef _Tp type; }; template::value> struct __add_lvalue_reference_helper { typedef _Tp type; }; template struct __add_lvalue_reference_helper<_Tp, true> { typedef _Tp& type; }; template struct add_lvalue_reference : public __add_lvalue_reference_helper<_Tp> { }; template::value> struct __add_rvalue_reference_helper { typedef _Tp type; }; template struct __add_rvalue_reference_helper<_Tp, true> { typedef _Tp&& type; }; template struct add_rvalue_reference : public __add_rvalue_reference_helper<_Tp> { }; # 1631 "/usr/include/c++/5.0.0/type_traits" 3 template struct __cv_selector; template struct __cv_selector<_Unqualified, false, false> { typedef _Unqualified __type; }; template struct __cv_selector<_Unqualified, false, true> { typedef volatile _Unqualified __type; }; template struct __cv_selector<_Unqualified, true, false> { typedef const _Unqualified __type; }; template struct __cv_selector<_Unqualified, true, true> { typedef const volatile _Unqualified __type; }; template::value, bool _IsVol = is_volatile<_Qualified>::value> class __match_cv_qualifiers { typedef __cv_selector<_Unqualified, _IsConst, _IsVol> __match; public: typedef typename __match::__type __type; }; template struct __make_unsigned { typedef _Tp __type; }; template<> struct __make_unsigned { typedef unsigned char __type; }; template<> struct __make_unsigned { typedef unsigned char __type; }; template<> struct __make_unsigned { typedef unsigned short __type; }; template<> struct __make_unsigned { typedef unsigned int __type; }; template<> struct __make_unsigned { typedef unsigned long __type; }; template<> struct __make_unsigned { typedef unsigned long long __type; }; template<> struct __make_unsigned : __make_unsigned { }; # 1718 "/usr/include/c++/5.0.0/type_traits" 3 template::value, bool _IsEnum = is_enum<_Tp>::value> class __make_unsigned_selector; template class __make_unsigned_selector<_Tp, true, false> { typedef __make_unsigned::type> __unsignedt; typedef typename __unsignedt::__type __unsigned_type; typedef __match_cv_qualifiers<_Tp, __unsigned_type> __cv_unsigned; public: typedef typename __cv_unsigned::__type __type; }; template class __make_unsigned_selector<_Tp, false, true> { typedef unsigned char __smallest; static const bool __b0 = sizeof(_Tp) <= sizeof(__smallest); static const bool __b1 = sizeof(_Tp) <= sizeof(unsigned short); static const bool __b2 = sizeof(_Tp) <= sizeof(unsigned int); typedef conditional<__b2, unsigned int, unsigned long> __cond2; typedef typename __cond2::type __cond2_type; typedef conditional<__b1, unsigned short, __cond2_type> __cond1; typedef typename __cond1::type __cond1_type; public: typedef typename conditional<__b0, __smallest, __cond1_type>::type __type; }; template struct make_unsigned { typedef typename __make_unsigned_selector<_Tp>::__type type; }; template<> struct make_unsigned; template struct __make_signed { typedef _Tp __type; }; template<> struct __make_signed { typedef signed char __type; }; template<> struct __make_signed { typedef signed char __type; }; template<> struct __make_signed { typedef signed short __type; }; template<> struct __make_signed { typedef signed int __type; }; template<> struct __make_signed { typedef signed long __type; }; template<> struct __make_signed { typedef signed long long __type; }; # 1800 "/usr/include/c++/5.0.0/type_traits" 3 template<> struct __make_signed : __make_signed { }; template<> struct __make_signed : __make_signed { }; # 1830 "/usr/include/c++/5.0.0/type_traits" 3 template::value, bool _IsEnum = is_enum<_Tp>::value> class __make_signed_selector; template class __make_signed_selector<_Tp, true, false> { typedef __make_signed::type> __signedt; typedef typename __signedt::__type __signed_type; typedef __match_cv_qualifiers<_Tp, __signed_type> __cv_signed; public: typedef typename __cv_signed::__type __type; }; template class __make_signed_selector<_Tp, false, true> { typedef signed char __smallest; static const bool __b0 = sizeof(_Tp) <= sizeof(__smallest); static const bool __b1 = sizeof(_Tp) <= sizeof(signed short); static const bool __b2 = sizeof(_Tp) <= sizeof(signed int); typedef conditional<__b2, signed int, signed long> __cond2; typedef typename __cond2::type __cond2_type; typedef conditional<__b1, signed short, __cond2_type> __cond1; typedef typename __cond1::type __cond1_type; public: typedef typename conditional<__b0, __smallest, __cond1_type>::type __type; }; template struct make_signed { typedef typename __make_signed_selector<_Tp>::__type type; }; template<> struct make_signed; # 1888 "/usr/include/c++/5.0.0/type_traits" 3 template struct remove_extent { typedef _Tp type; }; template struct remove_extent<_Tp[_Size]> { typedef _Tp type; }; template struct remove_extent<_Tp[]> { typedef _Tp type; }; template struct remove_all_extents { typedef _Tp type; }; template struct remove_all_extents<_Tp[_Size]> { typedef typename remove_all_extents<_Tp>::type type; }; template struct remove_all_extents<_Tp[]> { typedef typename remove_all_extents<_Tp>::type type; }; # 1925 "/usr/include/c++/5.0.0/type_traits" 3 template struct __remove_pointer_helper { typedef _Tp type; }; template struct __remove_pointer_helper<_Tp, _Up*> { typedef _Up type; }; template struct remove_pointer : public __remove_pointer_helper<_Tp, typename remove_cv<_Tp>::type> { }; template, is_void<_Tp>>::value> struct __add_pointer_helper { typedef _Tp type; }; template struct __add_pointer_helper<_Tp, true> { typedef typename remove_reference<_Tp>::type* type; }; template struct add_pointer : public __add_pointer_helper<_Tp> { }; # 1964 "/usr/include/c++/5.0.0/type_traits" 3 template struct __aligned_storage_msa { union __type { unsigned char __data[_Len]; struct __attribute__((__aligned__)) { } __align; }; }; # 1984 "/usr/include/c++/5.0.0/type_traits" 3 template::__type)> struct aligned_storage { union type { unsigned char __data[_Len]; struct __attribute__((__aligned__((_Align)))) { } __align; }; }; template struct __strictest_alignment { static const size_t _S_alignment = 0; static const size_t _S_size = 0; }; template struct __strictest_alignment<_Tp, _Types...> { static const size_t _S_alignment = alignof(_Tp) > __strictest_alignment<_Types...>::_S_alignment ? alignof(_Tp) : __strictest_alignment<_Types...>::_S_alignment; static const size_t _S_size = sizeof(_Tp) > __strictest_alignment<_Types...>::_S_size ? sizeof(_Tp) : __strictest_alignment<_Types...>::_S_size; }; # 2023 "/usr/include/c++/5.0.0/type_traits" 3 template struct aligned_union { private: static_assert(sizeof...(_Types) != 0, "At least one type is required"); using __strictest = __strictest_alignment<_Types...>; static const size_t _S_len = _Len > __strictest::_S_size ? _Len : __strictest::_S_size; public: static const size_t alignment_value = __strictest::_S_alignment; typedef typename aligned_storage<_S_len, alignment_value>::type type; }; template const size_t aligned_union<_Len, _Types...>::alignment_value; template::value, bool _IsFunction = is_function<_Up>::value> struct __decay_selector; template struct __decay_selector<_Up, false, false> { typedef typename remove_cv<_Up>::type __type; }; template struct __decay_selector<_Up, true, false> { typedef typename remove_extent<_Up>::type* __type; }; template struct __decay_selector<_Up, false, true> { typedef typename add_pointer<_Up>::type __type; }; template class decay { typedef typename remove_reference<_Tp>::type __remove_type; public: typedef typename __decay_selector<__remove_type>::__type type; }; template class reference_wrapper; template struct __strip_reference_wrapper { typedef _Tp __type; }; template struct __strip_reference_wrapper > { typedef _Tp& __type; }; template struct __decay_and_strip { typedef typename __strip_reference_wrapper< typename decay<_Tp>::type>::__type __type; }; template struct enable_if { }; template struct enable_if { typedef _Tp type; }; template using _Require = typename enable_if<__and_<_Cond...>::value>::type; template struct conditional { typedef _Iftrue type; }; template struct conditional { typedef _Iffalse type; }; template struct common_type; struct __do_common_type_impl { template static __success_type() : std::declval<_Up>())>::type> _S_test(int); template static __failure_type _S_test(...); }; template struct __common_type_impl : private __do_common_type_impl { typedef decltype(_S_test<_Tp, _Up>(0)) type; }; struct __do_member_type_wrapper { template static __success_type _S_test(int); template static __failure_type _S_test(...); }; template struct __member_type_wrapper : private __do_member_type_wrapper { typedef decltype(_S_test<_Tp>(0)) type; }; template struct __expanded_common_type_wrapper { typedef common_type type; }; template struct __expanded_common_type_wrapper<__failure_type, _Args...> { typedef __failure_type type; }; template struct common_type<_Tp> { typedef typename decay<_Tp>::type type; }; template struct common_type<_Tp, _Up> : public __common_type_impl<_Tp, _Up>::type { }; template struct common_type<_Tp, _Up, _Vp...> : public __expanded_common_type_wrapper>::type, _Vp...>::type { }; template struct underlying_type { typedef __underlying_type(_Tp) type; }; template struct __declval_protector { static const bool __stop = false; static typename add_rvalue_reference<_Tp>::type __delegate(); }; template inline typename add_rvalue_reference<_Tp>::type declval() noexcept { static_assert(__declval_protector<_Tp>::__stop, "declval() must not be used!"); return __declval_protector<_Tp>::__delegate(); } template class result_of; struct __result_of_memfun_ref_impl { template static __success_type().*std::declval<_Fp>())(std::declval<_Args>()...) )> _S_test(int); template static __failure_type _S_test(...); }; template struct __result_of_memfun_ref : private __result_of_memfun_ref_impl { typedef decltype(_S_test<_MemPtr, _Arg, _Args...>(0)) type; }; struct __result_of_memfun_deref_impl { template static __success_type()).*std::declval<_Fp>())(std::declval<_Args>()...) )> _S_test(int); template static __failure_type _S_test(...); }; template struct __result_of_memfun_deref : private __result_of_memfun_deref_impl { typedef decltype(_S_test<_MemPtr, _Arg, _Args...>(0)) type; }; struct __result_of_memobj_ref_impl { template static __success_type().*std::declval<_Fp>() )> _S_test(int); template static __failure_type _S_test(...); }; template struct __result_of_memobj_ref : private __result_of_memobj_ref_impl { typedef decltype(_S_test<_MemPtr, _Arg>(0)) type; }; struct __result_of_memobj_deref_impl { template static __success_type()).*std::declval<_Fp>() )> _S_test(int); template static __failure_type _S_test(...); }; template struct __result_of_memobj_deref : private __result_of_memobj_deref_impl { typedef decltype(_S_test<_MemPtr, _Arg>(0)) type; }; template struct __result_of_memobj; template struct __result_of_memobj<_Res _Class::*, _Arg> { typedef typename remove_cv::type>::type _Argval; typedef _Res _Class::* _MemPtr; typedef typename conditional<__or_, is_base_of<_Class, _Argval>>::value, __result_of_memobj_ref<_MemPtr, _Arg>, __result_of_memobj_deref<_MemPtr, _Arg> >::type::type type; }; template struct __result_of_memfun; template struct __result_of_memfun<_Res _Class::*, _Arg, _Args...> { typedef typename remove_cv::type>::type _Argval; typedef _Res _Class::* _MemPtr; typedef typename conditional<__or_, is_base_of<_Class, _Argval>>::value, __result_of_memfun_ref<_MemPtr, _Arg, _Args...>, __result_of_memfun_deref<_MemPtr, _Arg, _Args...> >::type::type type; }; template struct __result_of_impl { typedef __failure_type type; }; template struct __result_of_impl : public __result_of_memobj::type, _Arg> { }; template struct __result_of_impl : public __result_of_memfun::type, _Arg, _Args...> { }; struct __result_of_other_impl { template static __success_type()(std::declval<_Args>()...) )> _S_test(int); template static __failure_type _S_test(...); }; template struct __result_of_impl : private __result_of_other_impl { typedef decltype(_S_test<_Functor, _ArgTypes...>(0)) type; }; template struct result_of<_Functor(_ArgTypes...)> : public __result_of_impl< is_member_object_pointer< typename remove_reference<_Functor>::type >::value, is_member_function_pointer< typename remove_reference<_Functor>::type >::value, _Functor, _ArgTypes... >::type { }; # 2407 "/usr/include/c++/5.0.0/type_traits" 3 template using __void_t = void; # 2425 "/usr/include/c++/5.0.0/type_traits" 3 } # 58 "/usr/include/c++/5.0.0/bits/move.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 74 "/usr/include/c++/5.0.0/bits/move.h" 3 template constexpr _Tp&& forward(typename std::remove_reference<_Tp>::type& __t) noexcept { return static_cast<_Tp&&>(__t); } template constexpr _Tp&& forward(typename std::remove_reference<_Tp>::type&& __t) noexcept { static_assert(!std::is_lvalue_reference<_Tp>::value, "template argument" " substituting _Tp is an lvalue reference type"); return static_cast<_Tp&&>(__t); } template constexpr typename std::remove_reference<_Tp>::type&& move(_Tp&& __t) noexcept { return static_cast::type&&>(__t); } template struct __move_if_noexcept_cond : public __and_<__not_>, is_copy_constructible<_Tp>>::type { }; # 118 "/usr/include/c++/5.0.0/bits/move.h" 3 template constexpr typename conditional<__move_if_noexcept_cond<_Tp>::value, const _Tp&, _Tp&&>::type move_if_noexcept(_Tp& __x) noexcept { return std::move(__x); } # 133 "/usr/include/c++/5.0.0/bits/move.h" 3 template inline _Tp* addressof(_Tp& __r) noexcept { return std::__addressof(__r); } template inline _Tp __exchange(_Tp& __obj, _Up&& __new_val) { _Tp __old_val = std::move(__obj); __obj = std::forward<_Up>(__new_val); return __old_val; } } # 159 "/usr/include/c++/5.0.0/bits/move.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 174 "/usr/include/c++/5.0.0/bits/move.h" 3 template inline void swap(_Tp& __a, _Tp& __b) noexcept(__and_, is_nothrow_move_assignable<_Tp>>::value) { _Tp __tmp = std::move(__a); __a = std::move(__b); __b = std::move(__tmp); } template inline void swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm]) noexcept(noexcept(swap(*__a, *__b))) { for (size_t __n = 0; __n < _Nm; ++__n) swap(__a[__n], __b[__n]); } } # 60 "/usr/include/c++/5.0.0/bits/stl_pair.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 76 "/usr/include/c++/5.0.0/bits/stl_pair.h" 3 struct piecewise_construct_t { }; constexpr piecewise_construct_t piecewise_construct = piecewise_construct_t(); template class tuple; template struct _Index_tuple; # 95 "/usr/include/c++/5.0.0/bits/stl_pair.h" 3 template struct pair { typedef _T1 first_type; typedef _T2 second_type; _T1 first; _T2 second; constexpr pair() : first(), second() { } constexpr pair(const _T1& __a, const _T2& __b) : first(__a), second(__b) { } template, is_convertible>::value>::type> constexpr pair(const pair<_U1, _U2>& __p) : first(__p.first), second(__p.second) { } constexpr pair(const pair&) = default; constexpr pair(pair&&) = default; template::value>::type> constexpr pair(_U1&& __x, const _T2& __y) : first(std::forward<_U1>(__x)), second(__y) { } template::value>::type> constexpr pair(const _T1& __x, _U2&& __y) : first(__x), second(std::forward<_U2>(__y)) { } template, is_convertible<_U2, _T2>>::value>::type> constexpr pair(_U1&& __x, _U2&& __y) : first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y)) { } template, is_convertible<_U2, _T2>>::value>::type> constexpr pair(pair<_U1, _U2>&& __p) : first(std::forward<_U1>(__p.first)), second(std::forward<_U2>(__p.second)) { } template pair(piecewise_construct_t, tuple<_Args1...>, tuple<_Args2...>); pair& operator=(const pair& __p) { first = __p.first; second = __p.second; return *this; } pair& operator=(pair&& __p) noexcept(__and_, is_nothrow_move_assignable<_T2>>::value) { first = std::forward(__p.first); second = std::forward(__p.second); return *this; } template pair& operator=(const pair<_U1, _U2>& __p) { first = __p.first; second = __p.second; return *this; } template pair& operator=(pair<_U1, _U2>&& __p) { first = std::forward<_U1>(__p.first); second = std::forward<_U2>(__p.second); return *this; } void swap(pair& __p) noexcept(noexcept(swap(first, __p.first)) && noexcept(swap(second, __p.second))) { using std::swap; swap(first, __p.first); swap(second, __p.second); } private: template pair(tuple<_Args1...>&, tuple<_Args2...>&, _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>); }; template inline constexpr bool operator==(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) { return __x.first == __y.first && __x.second == __y.second; } template inline constexpr bool operator<(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) { return __x.first < __y.first || (!(__y.first < __x.first) && __x.second < __y.second); } template inline constexpr bool operator!=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) { return !(__x == __y); } template inline constexpr bool operator>(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) { return __y < __x; } template inline constexpr bool operator<=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) { return !(__y < __x); } template inline constexpr bool operator>=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) { return !(__x < __y); } template inline void swap(pair<_T1, _T2>& __x, pair<_T1, _T2>& __y) noexcept(noexcept(__x.swap(__y))) { __x.swap(__y); } # 273 "/usr/include/c++/5.0.0/bits/stl_pair.h" 3 template constexpr pair::__type, typename __decay_and_strip<_T2>::__type> make_pair(_T1&& __x, _T2&& __y) { typedef typename __decay_and_strip<_T1>::__type __ds_type1; typedef typename __decay_and_strip<_T2>::__type __ds_type2; typedef pair<__ds_type1, __ds_type2> __pair_type; return __pair_type(std::forward<_T1>(__x), std::forward<_T2>(__y)); } # 292 "/usr/include/c++/5.0.0/bits/stl_pair.h" 3 } # 71 "/usr/include/c++/5.0.0/utility" 2 3 # 1 "/usr/include/c++/5.0.0/initializer_list" 1 3 # 33 "/usr/include/c++/5.0.0/initializer_list" 3 # 34 "/usr/include/c++/5.0.0/initializer_list" 3 #pragma GCC visibility push(default) namespace std { template class initializer_list { public: typedef _E value_type; typedef const _E& reference; typedef const _E& const_reference; typedef size_t size_type; typedef const _E* iterator; typedef const _E* const_iterator; private: iterator _M_array; size_type _M_len; constexpr initializer_list(const_iterator __a, size_type __l) : _M_array(__a), _M_len(__l) { } public: constexpr initializer_list() noexcept : _M_array(0), _M_len(0) { } constexpr size_type size() const noexcept { return _M_len; } constexpr const_iterator begin() const noexcept { return _M_array; } constexpr const_iterator end() const noexcept { return begin() + size(); } }; template constexpr const _Tp* begin(initializer_list<_Tp> __ils) noexcept { return __ils.begin(); } template constexpr const _Tp* end(initializer_list<_Tp> __ils) noexcept { return __ils.end(); } } #pragma GCC visibility pop # 76 "/usr/include/c++/5.0.0/utility" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { template class tuple_size; template class tuple_element; template struct tuple_size> : public integral_constant { }; template struct tuple_element<0, std::pair<_Tp1, _Tp2>> { typedef _Tp1 type; }; template struct tuple_element<1, std::pair<_Tp1, _Tp2>> { typedef _Tp2 type; }; template struct __pair_get; template<> struct __pair_get<0> { template static constexpr _Tp1& __get(std::pair<_Tp1, _Tp2>& __pair) noexcept { return __pair.first; } template static constexpr _Tp1&& __move_get(std::pair<_Tp1, _Tp2>&& __pair) noexcept { return std::forward<_Tp1>(__pair.first); } template static constexpr const _Tp1& __const_get(const std::pair<_Tp1, _Tp2>& __pair) noexcept { return __pair.first; } }; template<> struct __pair_get<1> { template static constexpr _Tp2& __get(std::pair<_Tp1, _Tp2>& __pair) noexcept { return __pair.second; } template static constexpr _Tp2&& __move_get(std::pair<_Tp1, _Tp2>&& __pair) noexcept { return std::forward<_Tp2>(__pair.second); } template static constexpr const _Tp2& __const_get(const std::pair<_Tp1, _Tp2>& __pair) noexcept { return __pair.second; } }; template constexpr typename tuple_element<_Int, std::pair<_Tp1, _Tp2>>::type& get(std::pair<_Tp1, _Tp2>& __in) noexcept { return __pair_get<_Int>::__get(__in); } template constexpr typename tuple_element<_Int, std::pair<_Tp1, _Tp2>>::type&& get(std::pair<_Tp1, _Tp2>&& __in) noexcept { return __pair_get<_Int>::__move_get(std::move(__in)); } template constexpr const typename tuple_element<_Int, std::pair<_Tp1, _Tp2>>::type& get(const std::pair<_Tp1, _Tp2>& __in) noexcept { return __pair_get<_Int>::__const_get(__in); } # 205 "/usr/include/c++/5.0.0/utility" 3 template struct _Index_tuple { typedef _Index_tuple<_Indexes..., sizeof...(_Indexes)> __next; }; template struct _Build_index_tuple { typedef typename _Build_index_tuple<_Num - 1>::__type::__next __type; }; template<> struct _Build_index_tuple<0> { typedef _Index_tuple<> __type; }; # 267 "/usr/include/c++/5.0.0/utility" 3 } # 4 "../../../dist/system_wrappers/utility" 2 3 #pragma GCC visibility pop # 56 "../../../dist/stl_wrappers/utility" 2 3 #pragma GCC visibility pop # 61 "/usr/include/c++/5.0.0/algorithm" 2 3 # 1 "/usr/include/c++/5.0.0/bits/stl_algobase.h" 1 3 # 60 "/usr/include/c++/5.0.0/bits/stl_algobase.h" 3 # 1 "/usr/include/c++/5.0.0/bits/functexcept.h" 1 3 # 42 "/usr/include/c++/5.0.0/bits/functexcept.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { void __throw_bad_exception(void) __attribute__((__noreturn__)); void __throw_bad_alloc(void) __attribute__((__noreturn__)); void __throw_bad_cast(void) __attribute__((__noreturn__)); void __throw_bad_typeid(void) __attribute__((__noreturn__)); void __throw_logic_error(const char*) __attribute__((__noreturn__)); void __throw_domain_error(const char*) __attribute__((__noreturn__)); void __throw_invalid_argument(const char*) __attribute__((__noreturn__)); void __throw_length_error(const char*) __attribute__((__noreturn__)); void __throw_out_of_range(const char*) __attribute__((__noreturn__)); void __throw_out_of_range_fmt(const char*, ...) __attribute__((__noreturn__)) __attribute__((__format__(__gnu_printf__, 1, 2))); void __throw_runtime_error(const char*) __attribute__((__noreturn__)); void __throw_range_error(const char*) __attribute__((__noreturn__)); void __throw_overflow_error(const char*) __attribute__((__noreturn__)); void __throw_underflow_error(const char*) __attribute__((__noreturn__)); void __throw_ios_failure(const char*) __attribute__((__noreturn__)); void __throw_system_error(int) __attribute__((__noreturn__)); void __throw_future_error(int) __attribute__((__noreturn__)); void __throw_bad_function_call() __attribute__((__noreturn__)); } # 61 "/usr/include/c++/5.0.0/bits/stl_algobase.h" 2 3 # 1 "/usr/include/c++/5.0.0/ext/numeric_traits.h" 1 3 # 32 "/usr/include/c++/5.0.0/ext/numeric_traits.h" 3 # 33 "/usr/include/c++/5.0.0/ext/numeric_traits.h" 3 namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { # 54 "/usr/include/c++/5.0.0/ext/numeric_traits.h" 3 template struct __numeric_traits_integer { static const _Value __min = (((_Value)(-1) < 0) ? (_Value)1 << (sizeof(_Value) * 8 - ((_Value)(-1) < 0)) : (_Value)0); static const _Value __max = (((_Value)(-1) < 0) ? (((((_Value)1 << ((sizeof(_Value) * 8 - ((_Value)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(_Value)0); static const bool __is_signed = ((_Value)(-1) < 0); static const int __digits = (sizeof(_Value) * 8 - ((_Value)(-1) < 0)); }; template const _Value __numeric_traits_integer<_Value>::__min; template const _Value __numeric_traits_integer<_Value>::__max; template const bool __numeric_traits_integer<_Value>::__is_signed; template const int __numeric_traits_integer<_Value>::__digits; # 99 "/usr/include/c++/5.0.0/ext/numeric_traits.h" 3 template struct __numeric_traits_floating { static const int __max_digits10 = (2 + (std::__are_same<_Value, float>::__value ? 24 : std::__are_same<_Value, double>::__value ? 53 : 64) * 643L / 2136); static const bool __is_signed = true; static const int __digits10 = (std::__are_same<_Value, float>::__value ? 6 : std::__are_same<_Value, double>::__value ? 15 : 18); static const int __max_exponent10 = (std::__are_same<_Value, float>::__value ? 38 : std::__are_same<_Value, double>::__value ? 308 : 4932); }; template const int __numeric_traits_floating<_Value>::__max_digits10; template const bool __numeric_traits_floating<_Value>::__is_signed; template const int __numeric_traits_floating<_Value>::__digits10; template const int __numeric_traits_floating<_Value>::__max_exponent10; template struct __numeric_traits : public __conditional_type::__value, __numeric_traits_integer<_Value>, __numeric_traits_floating<_Value> >::__type { }; } # 64 "/usr/include/c++/5.0.0/bits/stl_algobase.h" 2 3 # 1 "/usr/include/c++/5.0.0/bits/stl_iterator_base_types.h" 1 3 # 62 "/usr/include/c++/5.0.0/bits/stl_iterator_base_types.h" 3 # 63 "/usr/include/c++/5.0.0/bits/stl_iterator_base_types.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 89 "/usr/include/c++/5.0.0/bits/stl_iterator_base_types.h" 3 struct input_iterator_tag { }; struct output_iterator_tag { }; struct forward_iterator_tag : public input_iterator_tag { }; struct bidirectional_iterator_tag : public forward_iterator_tag { }; struct random_access_iterator_tag : public bidirectional_iterator_tag { }; # 116 "/usr/include/c++/5.0.0/bits/stl_iterator_base_types.h" 3 template struct iterator { typedef _Category iterator_category; typedef _Tp value_type; typedef _Distance difference_type; typedef _Pointer pointer; typedef _Reference reference; }; # 143 "/usr/include/c++/5.0.0/bits/stl_iterator_base_types.h" 3 template> struct __iterator_traits { }; template struct __iterator_traits<_Iterator, __void_t> { typedef typename _Iterator::iterator_category iterator_category; typedef typename _Iterator::value_type value_type; typedef typename _Iterator::difference_type difference_type; typedef typename _Iterator::pointer pointer; typedef typename _Iterator::reference reference; }; template struct iterator_traits : public __iterator_traits<_Iterator> { }; # 177 "/usr/include/c++/5.0.0/bits/stl_iterator_base_types.h" 3 template struct iterator_traits<_Tp*> { typedef random_access_iterator_tag iterator_category; typedef _Tp value_type; typedef ptrdiff_t difference_type; typedef _Tp* pointer; typedef _Tp& reference; }; template struct iterator_traits { typedef random_access_iterator_tag iterator_category; typedef _Tp value_type; typedef ptrdiff_t difference_type; typedef const _Tp* pointer; typedef const _Tp& reference; }; template inline typename iterator_traits<_Iter>::iterator_category __iterator_category(const _Iter&) { return typename iterator_traits<_Iter>::iterator_category(); } template struct _Iter_base { typedef _Iterator iterator_type; static iterator_type _S_base(_Iterator __it) { return __it; } }; template struct _Iter_base<_Iterator, true> { typedef typename _Iterator::iterator_type iterator_type; static iterator_type _S_base(_Iterator __it) { return __it.base(); } }; template using _RequireInputIter = typename enable_if::iterator_category, input_iterator_tag>::value>::type; } # 66 "/usr/include/c++/5.0.0/bits/stl_algobase.h" 2 3 # 1 "/usr/include/c++/5.0.0/bits/stl_iterator_base_funcs.h" 1 3 # 62 "/usr/include/c++/5.0.0/bits/stl_iterator_base_funcs.h" 3 # 63 "/usr/include/c++/5.0.0/bits/stl_iterator_base_funcs.h" 3 # 1 "/usr/include/c++/5.0.0/debug/debug.h" 1 3 # 46 "/usr/include/c++/5.0.0/debug/debug.h" 3 namespace std { namespace __debug { } } namespace __gnu_debug { using namespace std::__debug; } # 66 "/usr/include/c++/5.0.0/bits/stl_iterator_base_funcs.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { template inline typename iterator_traits<_InputIterator>::difference_type __distance(_InputIterator __first, _InputIterator __last, input_iterator_tag) { typename iterator_traits<_InputIterator>::difference_type __n = 0; while (__first != __last) { ++__first; ++__n; } return __n; } template inline typename iterator_traits<_RandomAccessIterator>::difference_type __distance(_RandomAccessIterator __first, _RandomAccessIterator __last, random_access_iterator_tag) { return __last - __first; } # 112 "/usr/include/c++/5.0.0/bits/stl_iterator_base_funcs.h" 3 template inline typename iterator_traits<_InputIterator>::difference_type distance(_InputIterator __first, _InputIterator __last) { return std::__distance(__first, __last, std::__iterator_category(__first)); } template inline void __advance(_InputIterator& __i, _Distance __n, input_iterator_tag) { ; while (__n--) ++__i; } template inline void __advance(_BidirectionalIterator& __i, _Distance __n, bidirectional_iterator_tag) { if (__n > 0) while (__n--) ++__i; else while (__n++) --__i; } template inline void __advance(_RandomAccessIterator& __i, _Distance __n, random_access_iterator_tag) { __i += __n; } # 171 "/usr/include/c++/5.0.0/bits/stl_iterator_base_funcs.h" 3 template inline void advance(_InputIterator& __i, _Distance __n) { typename iterator_traits<_InputIterator>::difference_type __d = __n; std::__advance(__i, __d, std::__iterator_category(__i)); } template inline _ForwardIterator next(_ForwardIterator __x, typename iterator_traits<_ForwardIterator>::difference_type __n = 1) { std::advance(__x, __n); return __x; } template inline _BidirectionalIterator prev(_BidirectionalIterator __x, typename iterator_traits<_BidirectionalIterator>::difference_type __n = 1) { std::advance(__x, -__n); return __x; } } # 67 "/usr/include/c++/5.0.0/bits/stl_algobase.h" 2 3 # 1 "/usr/include/c++/5.0.0/bits/stl_iterator.h" 1 3 # 66 "/usr/include/c++/5.0.0/bits/stl_iterator.h" 3 # 1 "/usr/include/c++/5.0.0/bits/ptr_traits.h" 1 3 # 37 "/usr/include/c++/5.0.0/bits/ptr_traits.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template> struct __has_element_type : false_type { }; template struct __has_element_type<_Tp, __void_t> : true_type { }; template> struct __has_difference_type : false_type { }; template struct __has_difference_type<_Tp, __void_t> : true_type { }; template::value> struct __ptrtr_elt_type; template struct __ptrtr_elt_type<_Tp, true> { typedef typename _Tp::element_type __type; }; template class _SomePtr, typename _Tp, typename... _Args> struct __ptrtr_elt_type<_SomePtr<_Tp, _Args...>, false> { typedef _Tp __type; }; template::value> struct __ptrtr_diff_type { typedef typename _Tp::difference_type __type; }; template struct __ptrtr_diff_type<_Tp, false> { typedef ptrdiff_t __type; }; template class __ptrtr_rebind_helper { template static constexpr true_type _S_chk(typename _Ptr2::template rebind<_Up2>*); template static constexpr false_type _S_chk(...); public: using __type = decltype(_S_chk<_Ptr, _Up>(nullptr)); }; template::__type::value> struct __ptrtr_rebind; template struct __ptrtr_rebind<_Tp, _Up, true> { typedef typename _Tp::template rebind<_Up> __type; }; template class _SomePtr, typename _Up, typename _Tp, typename... _Args> struct __ptrtr_rebind<_SomePtr<_Tp, _Args...>, _Up, false> { typedef _SomePtr<_Up, _Args...> __type; }; template::type> struct __ptrtr_not_void { typedef _Tp __type; }; template struct __ptrtr_not_void<_Tp, void> { struct __type { }; }; template class __ptrtr_pointer_to { typedef typename __ptrtr_elt_type<_Ptr>::__type __orig_type; typedef typename __ptrtr_not_void<__orig_type>::__type __element_type; public: static _Ptr pointer_to(__element_type& __e) { return _Ptr::pointer_to(__e); } }; template struct pointer_traits : __ptrtr_pointer_to<_Ptr> { typedef _Ptr pointer; typedef typename __ptrtr_elt_type<_Ptr>::__type element_type; typedef typename __ptrtr_diff_type<_Ptr>::__type difference_type; template using rebind = typename __ptrtr_rebind<_Ptr, _Up>::__type; }; template struct pointer_traits<_Tp*> { typedef _Tp* pointer; typedef _Tp element_type; typedef ptrdiff_t difference_type; template using rebind = _Up*; static pointer pointer_to(typename __ptrtr_not_void::__type& __r) noexcept { return std::addressof(__r); } }; } # 67 "/usr/include/c++/5.0.0/bits/stl_iterator.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 96 "/usr/include/c++/5.0.0/bits/stl_iterator.h" 3 template class reverse_iterator : public iterator::iterator_category, typename iterator_traits<_Iterator>::value_type, typename iterator_traits<_Iterator>::difference_type, typename iterator_traits<_Iterator>::pointer, typename iterator_traits<_Iterator>::reference> { protected: _Iterator current; typedef iterator_traits<_Iterator> __traits_type; public: typedef _Iterator iterator_type; typedef typename __traits_type::difference_type difference_type; typedef typename __traits_type::pointer pointer; typedef typename __traits_type::reference reference; reverse_iterator() : current() { } explicit reverse_iterator(iterator_type __x) : current(__x) { } reverse_iterator(const reverse_iterator& __x) : current(__x.current) { } template reverse_iterator(const reverse_iterator<_Iter>& __x) : current(__x.base()) { } iterator_type base() const { return current; } # 160 "/usr/include/c++/5.0.0/bits/stl_iterator.h" 3 reference operator*() const { _Iterator __tmp = current; return *--__tmp; } pointer operator->() const { return &(operator*()); } reverse_iterator& operator++() { --current; return *this; } reverse_iterator operator++(int) { reverse_iterator __tmp = *this; --current; return __tmp; } reverse_iterator& operator--() { ++current; return *this; } reverse_iterator operator--(int) { reverse_iterator __tmp = *this; ++current; return __tmp; } reverse_iterator operator+(difference_type __n) const { return reverse_iterator(current - __n); } reverse_iterator& operator+=(difference_type __n) { current -= __n; return *this; } reverse_iterator operator-(difference_type __n) const { return reverse_iterator(current + __n); } reverse_iterator& operator-=(difference_type __n) { current += __n; return *this; } reference operator[](difference_type __n) const { return *(*this + __n); } }; # 290 "/usr/include/c++/5.0.0/bits/stl_iterator.h" 3 template inline bool operator==(const reverse_iterator<_Iterator>& __x, const reverse_iterator<_Iterator>& __y) { return __x.base() == __y.base(); } template inline bool operator<(const reverse_iterator<_Iterator>& __x, const reverse_iterator<_Iterator>& __y) { return __y.base() < __x.base(); } template inline bool operator!=(const reverse_iterator<_Iterator>& __x, const reverse_iterator<_Iterator>& __y) { return !(__x == __y); } template inline bool operator>(const reverse_iterator<_Iterator>& __x, const reverse_iterator<_Iterator>& __y) { return __y < __x; } template inline bool operator<=(const reverse_iterator<_Iterator>& __x, const reverse_iterator<_Iterator>& __y) { return !(__y < __x); } template inline bool operator>=(const reverse_iterator<_Iterator>& __x, const reverse_iterator<_Iterator>& __y) { return !(__x < __y); } template inline typename reverse_iterator<_Iterator>::difference_type operator-(const reverse_iterator<_Iterator>& __x, const reverse_iterator<_Iterator>& __y) { return __y.base() - __x.base(); } template inline reverse_iterator<_Iterator> operator+(typename reverse_iterator<_Iterator>::difference_type __n, const reverse_iterator<_Iterator>& __x) { return reverse_iterator<_Iterator>(__x.base() - __n); } template inline bool operator==(const reverse_iterator<_IteratorL>& __x, const reverse_iterator<_IteratorR>& __y) { return __x.base() == __y.base(); } template inline bool operator<(const reverse_iterator<_IteratorL>& __x, const reverse_iterator<_IteratorR>& __y) { return __y.base() < __x.base(); } template inline bool operator!=(const reverse_iterator<_IteratorL>& __x, const reverse_iterator<_IteratorR>& __y) { return !(__x == __y); } template inline bool operator>(const reverse_iterator<_IteratorL>& __x, const reverse_iterator<_IteratorR>& __y) { return __y < __x; } template inline bool operator<=(const reverse_iterator<_IteratorL>& __x, const reverse_iterator<_IteratorR>& __y) { return !(__y < __x); } template inline bool operator>=(const reverse_iterator<_IteratorL>& __x, const reverse_iterator<_IteratorR>& __y) { return !(__x < __y); } template inline auto operator-(const reverse_iterator<_IteratorL>& __x, const reverse_iterator<_IteratorR>& __y) -> decltype(__y.base() - __x.base()) { return __y.base() - __x.base(); } # 414 "/usr/include/c++/5.0.0/bits/stl_iterator.h" 3 template class back_insert_iterator : public iterator { protected: _Container* container; public: typedef _Container container_type; explicit back_insert_iterator(_Container& __x) : container(&__x) { } # 448 "/usr/include/c++/5.0.0/bits/stl_iterator.h" 3 back_insert_iterator& operator=(const typename _Container::value_type& __value) { container->push_back(__value); return *this; } back_insert_iterator& operator=(typename _Container::value_type&& __value) { container->push_back(std::move(__value)); return *this; } back_insert_iterator& operator*() { return *this; } back_insert_iterator& operator++() { return *this; } back_insert_iterator operator++(int) { return *this; } }; # 490 "/usr/include/c++/5.0.0/bits/stl_iterator.h" 3 template inline back_insert_iterator<_Container> back_inserter(_Container& __x) { return back_insert_iterator<_Container>(__x); } # 505 "/usr/include/c++/5.0.0/bits/stl_iterator.h" 3 template class front_insert_iterator : public iterator { protected: _Container* container; public: typedef _Container container_type; explicit front_insert_iterator(_Container& __x) : container(&__x) { } # 538 "/usr/include/c++/5.0.0/bits/stl_iterator.h" 3 front_insert_iterator& operator=(const typename _Container::value_type& __value) { container->push_front(__value); return *this; } front_insert_iterator& operator=(typename _Container::value_type&& __value) { container->push_front(std::move(__value)); return *this; } front_insert_iterator& operator*() { return *this; } front_insert_iterator& operator++() { return *this; } front_insert_iterator operator++(int) { return *this; } }; # 580 "/usr/include/c++/5.0.0/bits/stl_iterator.h" 3 template inline front_insert_iterator<_Container> front_inserter(_Container& __x) { return front_insert_iterator<_Container>(__x); } # 599 "/usr/include/c++/5.0.0/bits/stl_iterator.h" 3 template class insert_iterator : public iterator { protected: _Container* container; typename _Container::iterator iter; public: typedef _Container container_type; insert_iterator(_Container& __x, typename _Container::iterator __i) : container(&__x), iter(__i) {} # 650 "/usr/include/c++/5.0.0/bits/stl_iterator.h" 3 insert_iterator& operator=(const typename _Container::value_type& __value) { iter = container->insert(iter, __value); ++iter; return *this; } insert_iterator& operator=(typename _Container::value_type&& __value) { iter = container->insert(iter, std::move(__value)); ++iter; return *this; } insert_iterator& operator*() { return *this; } insert_iterator& operator++() { return *this; } insert_iterator& operator++(int) { return *this; } }; # 694 "/usr/include/c++/5.0.0/bits/stl_iterator.h" 3 template inline insert_iterator<_Container> inserter(_Container& __x, _Iterator __i) { return insert_iterator<_Container>(__x, typename _Container::iterator(__i)); } } namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { # 718 "/usr/include/c++/5.0.0/bits/stl_iterator.h" 3 using std::iterator_traits; using std::iterator; template class __normal_iterator { protected: _Iterator _M_current; typedef iterator_traits<_Iterator> __traits_type; public: typedef _Iterator iterator_type; typedef typename __traits_type::iterator_category iterator_category; typedef typename __traits_type::value_type value_type; typedef typename __traits_type::difference_type difference_type; typedef typename __traits_type::reference reference; typedef typename __traits_type::pointer pointer; constexpr __normal_iterator() noexcept : _M_current(_Iterator()) { } explicit __normal_iterator(const _Iterator& __i) noexcept : _M_current(__i) { } template __normal_iterator(const __normal_iterator<_Iter, typename __enable_if< (std::__are_same<_Iter, typename _Container::pointer>::__value), _Container>::__type>& __i) noexcept : _M_current(__i.base()) { } reference operator*() const noexcept { return *_M_current; } pointer operator->() const noexcept { return _M_current; } __normal_iterator& operator++() noexcept { ++_M_current; return *this; } __normal_iterator operator++(int) noexcept { return __normal_iterator(_M_current++); } __normal_iterator& operator--() noexcept { --_M_current; return *this; } __normal_iterator operator--(int) noexcept { return __normal_iterator(_M_current--); } reference operator[](difference_type __n) const noexcept { return _M_current[__n]; } __normal_iterator& operator+=(difference_type __n) noexcept { _M_current += __n; return *this; } __normal_iterator operator+(difference_type __n) const noexcept { return __normal_iterator(_M_current + __n); } __normal_iterator& operator-=(difference_type __n) noexcept { _M_current -= __n; return *this; } __normal_iterator operator-(difference_type __n) const noexcept { return __normal_iterator(_M_current - __n); } const _Iterator& base() const noexcept { return _M_current; } }; # 818 "/usr/include/c++/5.0.0/bits/stl_iterator.h" 3 template inline bool operator==(const __normal_iterator<_IteratorL, _Container>& __lhs, const __normal_iterator<_IteratorR, _Container>& __rhs) noexcept { return __lhs.base() == __rhs.base(); } template inline bool operator==(const __normal_iterator<_Iterator, _Container>& __lhs, const __normal_iterator<_Iterator, _Container>& __rhs) noexcept { return __lhs.base() == __rhs.base(); } template inline bool operator!=(const __normal_iterator<_IteratorL, _Container>& __lhs, const __normal_iterator<_IteratorR, _Container>& __rhs) noexcept { return __lhs.base() != __rhs.base(); } template inline bool operator!=(const __normal_iterator<_Iterator, _Container>& __lhs, const __normal_iterator<_Iterator, _Container>& __rhs) noexcept { return __lhs.base() != __rhs.base(); } template inline bool operator<(const __normal_iterator<_IteratorL, _Container>& __lhs, const __normal_iterator<_IteratorR, _Container>& __rhs) noexcept { return __lhs.base() < __rhs.base(); } template inline bool operator<(const __normal_iterator<_Iterator, _Container>& __lhs, const __normal_iterator<_Iterator, _Container>& __rhs) noexcept { return __lhs.base() < __rhs.base(); } template inline bool operator>(const __normal_iterator<_IteratorL, _Container>& __lhs, const __normal_iterator<_IteratorR, _Container>& __rhs) noexcept { return __lhs.base() > __rhs.base(); } template inline bool operator>(const __normal_iterator<_Iterator, _Container>& __lhs, const __normal_iterator<_Iterator, _Container>& __rhs) noexcept { return __lhs.base() > __rhs.base(); } template inline bool operator<=(const __normal_iterator<_IteratorL, _Container>& __lhs, const __normal_iterator<_IteratorR, _Container>& __rhs) noexcept { return __lhs.base() <= __rhs.base(); } template inline bool operator<=(const __normal_iterator<_Iterator, _Container>& __lhs, const __normal_iterator<_Iterator, _Container>& __rhs) noexcept { return __lhs.base() <= __rhs.base(); } template inline bool operator>=(const __normal_iterator<_IteratorL, _Container>& __lhs, const __normal_iterator<_IteratorR, _Container>& __rhs) noexcept { return __lhs.base() >= __rhs.base(); } template inline bool operator>=(const __normal_iterator<_Iterator, _Container>& __lhs, const __normal_iterator<_Iterator, _Container>& __rhs) noexcept { return __lhs.base() >= __rhs.base(); } template inline auto operator-(const __normal_iterator<_IteratorL, _Container>& __lhs, const __normal_iterator<_IteratorR, _Container>& __rhs) noexcept -> decltype(__lhs.base() - __rhs.base()) { return __lhs.base() - __rhs.base(); } template inline typename __normal_iterator<_Iterator, _Container>::difference_type operator-(const __normal_iterator<_Iterator, _Container>& __lhs, const __normal_iterator<_Iterator, _Container>& __rhs) noexcept { return __lhs.base() - __rhs.base(); } template inline __normal_iterator<_Iterator, _Container> operator+(typename __normal_iterator<_Iterator, _Container>::difference_type __n, const __normal_iterator<_Iterator, _Container>& __i) noexcept { return __normal_iterator<_Iterator, _Container>(__i.base() + __n); } } namespace std __attribute__ ((__visibility__ ("default"))) { # 958 "/usr/include/c++/5.0.0/bits/stl_iterator.h" 3 template class move_iterator { protected: _Iterator _M_current; typedef iterator_traits<_Iterator> __traits_type; typedef typename __traits_type::reference __base_ref; public: typedef _Iterator iterator_type; typedef typename __traits_type::iterator_category iterator_category; typedef typename __traits_type::value_type value_type; typedef typename __traits_type::difference_type difference_type; typedef _Iterator pointer; typedef typename conditional::value, typename remove_reference<__base_ref>::type&&, __base_ref>::type reference; move_iterator() : _M_current() { } explicit move_iterator(iterator_type __i) : _M_current(__i) { } template move_iterator(const move_iterator<_Iter>& __i) : _M_current(__i.base()) { } iterator_type base() const { return _M_current; } reference operator*() const { return static_cast(*_M_current); } pointer operator->() const { return _M_current; } move_iterator& operator++() { ++_M_current; return *this; } move_iterator operator++(int) { move_iterator __tmp = *this; ++_M_current; return __tmp; } move_iterator& operator--() { --_M_current; return *this; } move_iterator operator--(int) { move_iterator __tmp = *this; --_M_current; return __tmp; } move_iterator operator+(difference_type __n) const { return move_iterator(_M_current + __n); } move_iterator& operator+=(difference_type __n) { _M_current += __n; return *this; } move_iterator operator-(difference_type __n) const { return move_iterator(_M_current - __n); } move_iterator& operator-=(difference_type __n) { _M_current -= __n; return *this; } reference operator[](difference_type __n) const { return std::move(_M_current[__n]); } }; template inline bool operator==(const move_iterator<_IteratorL>& __x, const move_iterator<_IteratorR>& __y) { return __x.base() == __y.base(); } template inline bool operator==(const move_iterator<_Iterator>& __x, const move_iterator<_Iterator>& __y) { return __x.base() == __y.base(); } template inline bool operator!=(const move_iterator<_IteratorL>& __x, const move_iterator<_IteratorR>& __y) { return !(__x == __y); } template inline bool operator!=(const move_iterator<_Iterator>& __x, const move_iterator<_Iterator>& __y) { return !(__x == __y); } template inline bool operator<(const move_iterator<_IteratorL>& __x, const move_iterator<_IteratorR>& __y) { return __x.base() < __y.base(); } template inline bool operator<(const move_iterator<_Iterator>& __x, const move_iterator<_Iterator>& __y) { return __x.base() < __y.base(); } template inline bool operator<=(const move_iterator<_IteratorL>& __x, const move_iterator<_IteratorR>& __y) { return !(__y < __x); } template inline bool operator<=(const move_iterator<_Iterator>& __x, const move_iterator<_Iterator>& __y) { return !(__y < __x); } template inline bool operator>(const move_iterator<_IteratorL>& __x, const move_iterator<_IteratorR>& __y) { return __y < __x; } template inline bool operator>(const move_iterator<_Iterator>& __x, const move_iterator<_Iterator>& __y) { return __y < __x; } template inline bool operator>=(const move_iterator<_IteratorL>& __x, const move_iterator<_IteratorR>& __y) { return !(__x < __y); } template inline bool operator>=(const move_iterator<_Iterator>& __x, const move_iterator<_Iterator>& __y) { return !(__x < __y); } template inline auto operator-(const move_iterator<_IteratorL>& __x, const move_iterator<_IteratorR>& __y) -> decltype(__x.base() - __y.base()) { return __x.base() - __y.base(); } template inline auto operator-(const move_iterator<_Iterator>& __x, const move_iterator<_Iterator>& __y) -> decltype(__x.base() - __y.base()) { return __x.base() - __y.base(); } template inline move_iterator<_Iterator> operator+(typename move_iterator<_Iterator>::difference_type __n, const move_iterator<_Iterator>& __x) { return __x + __n; } template inline move_iterator<_Iterator> make_move_iterator(_Iterator __i) { return move_iterator<_Iterator>(__i); } template::value_type>::value, _Iterator, move_iterator<_Iterator>>::type> inline _ReturnType __make_move_if_noexcept_iterator(_Iterator __i) { return _ReturnType(__i); } } # 68 "/usr/include/c++/5.0.0/bits/stl_algobase.h" 2 3 # 1 "/usr/include/c++/5.0.0/bits/predefined_ops.h" 1 3 # 33 "/usr/include/c++/5.0.0/bits/predefined_ops.h" 3 namespace __gnu_cxx { namespace __ops { struct _Iter_less_iter { template bool operator()(_Iterator1 __it1, _Iterator2 __it2) const { return *__it1 < *__it2; } }; inline _Iter_less_iter __iter_less_iter() { return _Iter_less_iter(); } struct _Iter_less_val { template bool operator()(_Iterator __it, _Value& __val) const { return *__it < __val; } }; inline _Iter_less_val __iter_less_val() { return _Iter_less_val(); } inline _Iter_less_val __iter_comp_val(_Iter_less_iter) { return _Iter_less_val(); } struct _Val_less_iter { template bool operator()(_Value& __val, _Iterator __it) const { return __val < *__it; } }; inline _Val_less_iter __val_less_iter() { return _Val_less_iter(); } inline _Val_less_iter __val_comp_iter(_Iter_less_iter) { return _Val_less_iter(); } struct _Iter_equal_to_iter { template bool operator()(_Iterator1 __it1, _Iterator2 __it2) const { return *__it1 == *__it2; } }; inline _Iter_equal_to_iter __iter_equal_to_iter() { return _Iter_equal_to_iter(); } struct _Iter_equal_to_val { template bool operator()(_Iterator __it, _Value& __val) const { return *__it == __val; } }; inline _Iter_equal_to_val __iter_equal_to_val() { return _Iter_equal_to_val(); } inline _Iter_equal_to_val __iter_comp_val(_Iter_equal_to_iter) { return _Iter_equal_to_val(); } template struct _Iter_comp_iter { _Compare _M_comp; _Iter_comp_iter(_Compare __comp) : _M_comp(__comp) { } template bool operator()(_Iterator1 __it1, _Iterator2 __it2) { return bool(_M_comp(*__it1, *__it2)); } }; template inline _Iter_comp_iter<_Compare> __iter_comp_iter(_Compare __comp) { return _Iter_comp_iter<_Compare>(__comp); } template struct _Iter_comp_val { _Compare _M_comp; _Iter_comp_val(_Compare __comp) : _M_comp(__comp) { } template bool operator()(_Iterator __it, _Value& __val) { return bool(_M_comp(*__it, __val)); } }; template inline _Iter_comp_val<_Compare> __iter_comp_val(_Compare __comp) { return _Iter_comp_val<_Compare>(__comp); } template inline _Iter_comp_val<_Compare> __iter_comp_val(_Iter_comp_iter<_Compare> __comp) { return _Iter_comp_val<_Compare>(__comp._M_comp); } template struct _Val_comp_iter { _Compare _M_comp; _Val_comp_iter(_Compare __comp) : _M_comp(__comp) { } template bool operator()(_Value& __val, _Iterator __it) { return bool(_M_comp(__val, *__it)); } }; template inline _Val_comp_iter<_Compare> __val_comp_iter(_Compare __comp) { return _Val_comp_iter<_Compare>(__comp); } template inline _Val_comp_iter<_Compare> __val_comp_iter(_Iter_comp_iter<_Compare> __comp) { return _Val_comp_iter<_Compare>(__comp._M_comp); } template struct _Iter_equals_val { _Value& _M_value; _Iter_equals_val(_Value& __value) : _M_value(__value) { } template bool operator()(_Iterator __it) { return *__it == _M_value; } }; template inline _Iter_equals_val<_Value> __iter_equals_val(_Value& __val) { return _Iter_equals_val<_Value>(__val); } template struct _Iter_equals_iter { typename std::iterator_traits<_Iterator1>::reference _M_ref; _Iter_equals_iter(_Iterator1 __it1) : _M_ref(*__it1) { } template bool operator()(_Iterator2 __it2) { return *__it2 == _M_ref; } }; template inline _Iter_equals_iter<_Iterator> __iter_comp_iter(_Iter_equal_to_iter, _Iterator __it) { return _Iter_equals_iter<_Iterator>(__it); } template struct _Iter_pred { _Predicate _M_pred; _Iter_pred(_Predicate __pred) : _M_pred(__pred) { } template bool operator()(_Iterator __it) { return bool(_M_pred(*__it)); } }; template inline _Iter_pred<_Predicate> __pred_iter(_Predicate __pred) { return _Iter_pred<_Predicate>(__pred); } template struct _Iter_comp_to_val { _Compare _M_comp; _Value& _M_value; _Iter_comp_to_val(_Compare __comp, _Value& __value) : _M_comp(__comp), _M_value(__value) { } template bool operator()(_Iterator __it) { return bool(_M_comp(*__it, _M_value)); } }; template _Iter_comp_to_val<_Compare, _Value> __iter_comp_val(_Compare __comp, _Value &__val) { return _Iter_comp_to_val<_Compare, _Value>(__comp, __val); } template struct _Iter_comp_to_iter { _Compare _M_comp; typename std::iterator_traits<_Iterator1>::reference _M_ref; _Iter_comp_to_iter(_Compare __comp, _Iterator1 __it1) : _M_comp(__comp), _M_ref(*__it1) { } template bool operator()(_Iterator2 __it2) { return bool(_M_comp(*__it2, _M_ref)); } }; template inline _Iter_comp_to_iter<_Compare, _Iterator> __iter_comp_iter(_Iter_comp_iter<_Compare> __comp, _Iterator __it) { return _Iter_comp_to_iter<_Compare, _Iterator>(__comp._M_comp, __it); } template struct _Iter_negate { _Predicate _M_pred; _Iter_negate(_Predicate __pred) : _M_pred(__pred) { } template bool operator()(_Iterator __it) { return !bool(_M_pred(*__it)); } }; template inline _Iter_negate<_Predicate> __negate(_Iter_pred<_Predicate> __pred) { return _Iter_negate<_Predicate>(__pred._M_pred); } } } # 72 "/usr/include/c++/5.0.0/bits/stl_algobase.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 118 "/usr/include/c++/5.0.0/bits/stl_algobase.h" 3 template inline void iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b) { # 148 "/usr/include/c++/5.0.0/bits/stl_algobase.h" 3 swap(*__a, *__b); } # 164 "/usr/include/c++/5.0.0/bits/stl_algobase.h" 3 template _ForwardIterator2 swap_ranges(_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2) { ; for (; __first1 != __last1; ++__first1, ++__first2) std::iter_swap(__first1, __first2); return __first2; } # 192 "/usr/include/c++/5.0.0/bits/stl_algobase.h" 3 template inline const _Tp& min(const _Tp& __a, const _Tp& __b) { if (__b < __a) return __b; return __a; } # 216 "/usr/include/c++/5.0.0/bits/stl_algobase.h" 3 template inline const _Tp& max(const _Tp& __a, const _Tp& __b) { if (__a < __b) return __b; return __a; } # 240 "/usr/include/c++/5.0.0/bits/stl_algobase.h" 3 template inline const _Tp& min(const _Tp& __a, const _Tp& __b, _Compare __comp) { if (__comp(__b, __a)) return __b; return __a; } # 262 "/usr/include/c++/5.0.0/bits/stl_algobase.h" 3 template inline const _Tp& max(const _Tp& __a, const _Tp& __b, _Compare __comp) { if (__comp(__a, __b)) return __b; return __a; } template struct _Niter_base : _Iter_base<_Iterator, __is_normal_iterator<_Iterator>::__value> { }; template inline typename _Niter_base<_Iterator>::iterator_type __niter_base(_Iterator __it) { return std::_Niter_base<_Iterator>::_S_base(__it); } template struct _Miter_base : _Iter_base<_Iterator, __is_move_iterator<_Iterator>::__value> { }; template inline typename _Miter_base<_Iterator>::iterator_type __miter_base(_Iterator __it) { return std::_Miter_base<_Iterator>::_S_base(__it); } template struct __copy_move { template static _OI __copy_m(_II __first, _II __last, _OI __result) { for (; __first != __last; ++__result, ++__first) *__result = *__first; return __result; } }; template struct __copy_move { template static _OI __copy_m(_II __first, _II __last, _OI __result) { for (; __first != __last; ++__result, ++__first) *__result = std::move(*__first); return __result; } }; template<> struct __copy_move { template static _OI __copy_m(_II __first, _II __last, _OI __result) { typedef typename iterator_traits<_II>::difference_type _Distance; for(_Distance __n = __last - __first; __n > 0; --__n) { *__result = *__first; ++__first; ++__result; } return __result; } }; template<> struct __copy_move { template static _OI __copy_m(_II __first, _II __last, _OI __result) { typedef typename iterator_traits<_II>::difference_type _Distance; for(_Distance __n = __last - __first; __n > 0; --__n) { *__result = std::move(*__first); ++__first; ++__result; } return __result; } }; template struct __copy_move<_IsMove, true, random_access_iterator_tag> { template static _Tp* __copy_m(const _Tp* __first, const _Tp* __last, _Tp* __result) { static_assert( is_copy_assignable<_Tp>::value, "type is not assignable" ); const ptrdiff_t _Num = __last - __first; if (_Num) __builtin_memmove(__result, __first, sizeof(_Tp) * _Num); return __result + _Num; } }; template inline _OI __copy_move_a(_II __first, _II __last, _OI __result) { typedef typename iterator_traits<_II>::value_type _ValueTypeI; typedef typename iterator_traits<_OI>::value_type _ValueTypeO; typedef typename iterator_traits<_II>::iterator_category _Category; const bool __simple = (__is_trivial(_ValueTypeI) && __is_pointer<_II>::__value && __is_pointer<_OI>::__value && __are_same<_ValueTypeI, _ValueTypeO>::__value); return std::__copy_move<_IsMove, __simple, _Category>::__copy_m(__first, __last, __result); } template struct char_traits; template class istreambuf_iterator; template class ostreambuf_iterator; template typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, ostreambuf_iterator<_CharT, char_traits<_CharT> > >::__type __copy_move_a2(_CharT*, _CharT*, ostreambuf_iterator<_CharT, char_traits<_CharT> >); template typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, ostreambuf_iterator<_CharT, char_traits<_CharT> > >::__type __copy_move_a2(const _CharT*, const _CharT*, ostreambuf_iterator<_CharT, char_traits<_CharT> >); template typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, _CharT*>::__type __copy_move_a2(istreambuf_iterator<_CharT, char_traits<_CharT> >, istreambuf_iterator<_CharT, char_traits<_CharT> >, _CharT*); template inline _OI __copy_move_a2(_II __first, _II __last, _OI __result) { return _OI(std::__copy_move_a<_IsMove>(std::__niter_base(__first), std::__niter_base(__last), std::__niter_base(__result))); } # 458 "/usr/include/c++/5.0.0/bits/stl_algobase.h" 3 template inline _OI copy(_II __first, _II __last, _OI __result) { ; return (std::__copy_move_a2<__is_move_iterator<_II>::__value> (std::__miter_base(__first), std::__miter_base(__last), __result)); } # 491 "/usr/include/c++/5.0.0/bits/stl_algobase.h" 3 template inline _OI move(_II __first, _II __last, _OI __result) { ; return std::__copy_move_a2(std::__miter_base(__first), std::__miter_base(__last), __result); } template struct __copy_move_backward { template static _BI2 __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result) { while (__first != __last) *--__result = *--__last; return __result; } }; template struct __copy_move_backward { template static _BI2 __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result) { while (__first != __last) *--__result = std::move(*--__last); return __result; } }; template<> struct __copy_move_backward { template static _BI2 __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result) { typename iterator_traits<_BI1>::difference_type __n; for (__n = __last - __first; __n > 0; --__n) *--__result = *--__last; return __result; } }; template<> struct __copy_move_backward { template static _BI2 __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result) { typename iterator_traits<_BI1>::difference_type __n; for (__n = __last - __first; __n > 0; --__n) *--__result = std::move(*--__last); return __result; } }; template struct __copy_move_backward<_IsMove, true, random_access_iterator_tag> { template static _Tp* __copy_move_b(const _Tp* __first, const _Tp* __last, _Tp* __result) { static_assert( is_copy_assignable<_Tp>::value, "type is not assignable" ); const ptrdiff_t _Num = __last - __first; if (_Num) __builtin_memmove(__result - _Num, __first, sizeof(_Tp) * _Num); return __result - _Num; } }; template inline _BI2 __copy_move_backward_a(_BI1 __first, _BI1 __last, _BI2 __result) { typedef typename iterator_traits<_BI1>::value_type _ValueType1; typedef typename iterator_traits<_BI2>::value_type _ValueType2; typedef typename iterator_traits<_BI1>::iterator_category _Category; const bool __simple = (__is_trivial(_ValueType1) && __is_pointer<_BI1>::__value && __is_pointer<_BI2>::__value && __are_same<_ValueType1, _ValueType2>::__value); return std::__copy_move_backward<_IsMove, __simple, _Category>::__copy_move_b(__first, __last, __result); } template inline _BI2 __copy_move_backward_a2(_BI1 __first, _BI1 __last, _BI2 __result) { return _BI2(std::__copy_move_backward_a<_IsMove> (std::__niter_base(__first), std::__niter_base(__last), std::__niter_base(__result))); } # 632 "/usr/include/c++/5.0.0/bits/stl_algobase.h" 3 template inline _BI2 copy_backward(_BI1 __first, _BI1 __last, _BI2 __result) { ; return (std::__copy_move_backward_a2<__is_move_iterator<_BI1>::__value> (std::__miter_base(__first), std::__miter_base(__last), __result)); } # 668 "/usr/include/c++/5.0.0/bits/stl_algobase.h" 3 template inline _BI2 move_backward(_BI1 __first, _BI1 __last, _BI2 __result) { ; return std::__copy_move_backward_a2(std::__miter_base(__first), std::__miter_base(__last), __result); } template inline typename __gnu_cxx::__enable_if::__value, void>::__type __fill_a(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value) { for (; __first != __last; ++__first) *__first = __value; } template inline typename __gnu_cxx::__enable_if<__is_scalar<_Tp>::__value, void>::__type __fill_a(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value) { const _Tp __tmp = __value; for (; __first != __last; ++__first) *__first = __tmp; } template inline typename __gnu_cxx::__enable_if<__is_byte<_Tp>::__value, void>::__type __fill_a(_Tp* __first, _Tp* __last, const _Tp& __c) { const _Tp __tmp = __c; __builtin_memset(__first, static_cast(__tmp), __last - __first); } # 734 "/usr/include/c++/5.0.0/bits/stl_algobase.h" 3 template inline void fill(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value) { ; std::__fill_a(std::__niter_base(__first), std::__niter_base(__last), __value); } template inline typename __gnu_cxx::__enable_if::__value, _OutputIterator>::__type __fill_n_a(_OutputIterator __first, _Size __n, const _Tp& __value) { for (__decltype(__n + 0) __niter = __n; __niter > 0; --__niter, ++__first) *__first = __value; return __first; } template inline typename __gnu_cxx::__enable_if<__is_scalar<_Tp>::__value, _OutputIterator>::__type __fill_n_a(_OutputIterator __first, _Size __n, const _Tp& __value) { const _Tp __tmp = __value; for (__decltype(__n + 0) __niter = __n; __niter > 0; --__niter, ++__first) *__first = __tmp; return __first; } template inline typename __gnu_cxx::__enable_if<__is_byte<_Tp>::__value, _Tp*>::__type __fill_n_a(_Tp* __first, _Size __n, const _Tp& __c) { std::__fill_a(__first, __first + __n, __c); return __first + __n; } # 794 "/usr/include/c++/5.0.0/bits/stl_algobase.h" 3 template inline _OI fill_n(_OI __first, _Size __n, const _Tp& __value) { return _OI(std::__fill_n_a(std::__niter_base(__first), __n, __value)); } template struct __equal { template static bool equal(_II1 __first1, _II1 __last1, _II2 __first2) { for (; __first1 != __last1; ++__first1, ++__first2) if (!(*__first1 == *__first2)) return false; return true; } }; template<> struct __equal { template static bool equal(const _Tp* __first1, const _Tp* __last1, const _Tp* __first2) { return !__builtin_memcmp(__first1, __first2, sizeof(_Tp) * (__last1 - __first1)); } }; template inline bool __equal_aux(_II1 __first1, _II1 __last1, _II2 __first2) { typedef typename iterator_traits<_II1>::value_type _ValueType1; typedef typename iterator_traits<_II2>::value_type _ValueType2; const bool __simple = ((__is_integer<_ValueType1>::__value || __is_pointer<_ValueType1>::__value) && __is_pointer<_II1>::__value && __is_pointer<_II2>::__value && __are_same<_ValueType1, _ValueType2>::__value); return std::__equal<__simple>::equal(__first1, __last1, __first2); } template struct __lc_rai { template static _II1 __newlast1(_II1, _II1 __last1, _II2, _II2) { return __last1; } template static bool __cnd2(_II __first, _II __last) { return __first != __last; } }; template<> struct __lc_rai { template static _RAI1 __newlast1(_RAI1 __first1, _RAI1 __last1, _RAI2 __first2, _RAI2 __last2) { const typename iterator_traits<_RAI1>::difference_type __diff1 = __last1 - __first1; const typename iterator_traits<_RAI2>::difference_type __diff2 = __last2 - __first2; return __diff2 < __diff1 ? __first1 + __diff2 : __last1; } template static bool __cnd2(_RAI, _RAI) { return true; } }; template bool __lexicographical_compare_impl(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2, _Compare __comp) { typedef typename iterator_traits<_II1>::iterator_category _Category1; typedef typename iterator_traits<_II2>::iterator_category _Category2; typedef std::__lc_rai<_Category1, _Category2> __rai_type; __last1 = __rai_type::__newlast1(__first1, __last1, __first2, __last2); for (; __first1 != __last1 && __rai_type::__cnd2(__first2, __last2); ++__first1, ++__first2) { if (__comp(__first1, __first2)) return true; if (__comp(__first2, __first1)) return false; } return __first1 == __last1 && __first2 != __last2; } template struct __lexicographical_compare { template static bool __lc(_II1, _II1, _II2, _II2); }; template template bool __lexicographical_compare<_BoolType>:: __lc(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2) { return std::__lexicographical_compare_impl(__first1, __last1, __first2, __last2, __gnu_cxx::__ops::__iter_less_iter()); } template<> struct __lexicographical_compare { template static bool __lc(const _Tp* __first1, const _Tp* __last1, const _Up* __first2, const _Up* __last2) { const size_t __len1 = __last1 - __first1; const size_t __len2 = __last2 - __first2; const int __result = __builtin_memcmp(__first1, __first2, std::min(__len1, __len2)); return __result != 0 ? __result < 0 : __len1 < __len2; } }; template inline bool __lexicographical_compare_aux(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2) { typedef typename iterator_traits<_II1>::value_type _ValueType1; typedef typename iterator_traits<_II2>::value_type _ValueType2; const bool __simple = (__is_byte<_ValueType1>::__value && __is_byte<_ValueType2>::__value && !__gnu_cxx::__numeric_traits<_ValueType1>::__is_signed && !__gnu_cxx::__numeric_traits<_ValueType2>::__is_signed && __is_pointer<_II1>::__value && __is_pointer<_II2>::__value); return std::__lexicographical_compare<__simple>::__lc(__first1, __last1, __first2, __last2); } template _ForwardIterator __lower_bound(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __val, _Compare __comp) { typedef typename iterator_traits<_ForwardIterator>::difference_type _DistanceType; _DistanceType __len = std::distance(__first, __last); while (__len > 0) { _DistanceType __half = __len >> 1; _ForwardIterator __middle = __first; std::advance(__middle, __half); if (__comp(__middle, __val)) { __first = __middle; ++__first; __len = __len - __half - 1; } else __len = __half; } return __first; } # 992 "/usr/include/c++/5.0.0/bits/stl_algobase.h" 3 template inline _ForwardIterator lower_bound(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __val) { ; return std::__lower_bound(__first, __last, __val, __gnu_cxx::__ops::__iter_less_val()); } inline constexpr int __lg(int __n) { return sizeof(int) * 8 - 1 - __builtin_clz(__n); } inline constexpr unsigned __lg(unsigned __n) { return sizeof(int) * 8 - 1 - __builtin_clz(__n); } inline constexpr long __lg(long __n) { return sizeof(long) * 8 - 1 - __builtin_clzl(__n); } inline constexpr unsigned long __lg(unsigned long __n) { return sizeof(long) * 8 - 1 - __builtin_clzl(__n); } inline constexpr long long __lg(long long __n) { return sizeof(long long) * 8 - 1 - __builtin_clzll(__n); } inline constexpr unsigned long long __lg(unsigned long long __n) { return sizeof(long long) * 8 - 1 - __builtin_clzll(__n); } # 1049 "/usr/include/c++/5.0.0/bits/stl_algobase.h" 3 template inline bool equal(_II1 __first1, _II1 __last1, _II2 __first2) { ; return std::__equal_aux(std::__niter_base(__first1), std::__niter_base(__last1), std::__niter_base(__first2)); } # 1081 "/usr/include/c++/5.0.0/bits/stl_algobase.h" 3 template inline bool equal(_IIter1 __first1, _IIter1 __last1, _IIter2 __first2, _BinaryPredicate __binary_pred) { ; for (; __first1 != __last1; ++__first1, ++__first2) if (!bool(__binary_pred(*__first1, *__first2))) return false; return true; } # 1209 "/usr/include/c++/5.0.0/bits/stl_algobase.h" 3 template inline bool lexicographical_compare(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2) { ; ; return std::__lexicographical_compare_aux(std::__niter_base(__first1), std::__niter_base(__last1), std::__niter_base(__first2), std::__niter_base(__last2)); } # 1245 "/usr/include/c++/5.0.0/bits/stl_algobase.h" 3 template inline bool lexicographical_compare(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2, _Compare __comp) { ; ; return std::__lexicographical_compare_impl (__first1, __last1, __first2, __last2, __gnu_cxx::__ops::__iter_comp_iter(__comp)); } template pair<_InputIterator1, _InputIterator2> __mismatch(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _BinaryPredicate __binary_pred) { while (__first1 != __last1 && __binary_pred(__first1, __first2)) { ++__first1; ++__first2; } return pair<_InputIterator1, _InputIterator2>(__first1, __first2); } # 1288 "/usr/include/c++/5.0.0/bits/stl_algobase.h" 3 template inline pair<_InputIterator1, _InputIterator2> mismatch(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2) { ; return std::__mismatch(__first1, __last1, __first2, __gnu_cxx::__ops::__iter_equal_to_iter()); } # 1321 "/usr/include/c++/5.0.0/bits/stl_algobase.h" 3 template inline pair<_InputIterator1, _InputIterator2> mismatch(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _BinaryPredicate __binary_pred) { ; return std::__mismatch(__first1, __last1, __first2, __gnu_cxx::__ops::__iter_comp_iter(__binary_pred)); } # 1421 "/usr/include/c++/5.0.0/bits/stl_algobase.h" 3 } # 62 "/usr/include/c++/5.0.0/algorithm" 2 3 # 1 "/usr/include/c++/5.0.0/bits/stl_algo.h" 1 3 # 59 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 # 1 "../../../dist/stl_wrappers/cstdlib" 1 3 # 18 "../../../dist/stl_wrappers/cstdlib" 3 # 19 "../../../dist/stl_wrappers/cstdlib" 3 # 33 "../../../dist/stl_wrappers/cstdlib" 3 # 1 "../../../dist/system_wrappers/new" 1 3 # 2 "../../../dist/system_wrappers/new" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 34 "../../../dist/stl_wrappers/cstdlib" 2 3 # 54 "../../../dist/stl_wrappers/cstdlib" 3 #pragma GCC visibility push(default) # 1 "../../../dist/system_wrappers/cstdlib" 1 3 # 2 "../../../dist/system_wrappers/cstdlib" 3 #pragma GCC visibility push(default) # 1 "/usr/include/c++/5.0.0/cstdlib" 1 3 # 39 "/usr/include/c++/5.0.0/cstdlib" 3 # 40 "/usr/include/c++/5.0.0/cstdlib" 3 # 72 "/usr/include/c++/5.0.0/cstdlib" 3 # 1 "../../../dist/system_wrappers/stdlib.h" 1 3 # 2 "../../../dist/system_wrappers/stdlib.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 73 "/usr/include/c++/5.0.0/cstdlib" 2 3 # 114 "/usr/include/c++/5.0.0/cstdlib" 3 namespace std __attribute__ ((__visibility__ ("default"))) { using ::div_t; using ::ldiv_t; using ::abort; using ::abs; using ::atexit; using ::at_quick_exit; using ::atof; using ::atoi; using ::atol; using ::bsearch; using ::calloc; using ::div; using ::exit; using ::free; using ::getenv; using ::labs; using ::ldiv; using ::malloc; using ::mblen; using ::mbstowcs; using ::mbtowc; using ::qsort; using ::quick_exit; using ::rand; using ::realloc; using ::srand; using ::strtod; using ::strtol; using ::strtoul; using ::system; using ::wcstombs; using ::wctomb; inline long abs(long __i) { return __builtin_labs(__i); } inline ldiv_t div(long __i, long __j) { return ldiv(__i, __j); } inline long long abs(long long __x) { return __builtin_llabs (__x); } # 195 "/usr/include/c++/5.0.0/cstdlib" 3 } # 209 "/usr/include/c++/5.0.0/cstdlib" 3 namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { using ::lldiv_t; using ::_Exit; using ::llabs; inline lldiv_t div(long long __n, long long __d) { lldiv_t __q; __q.quot = __n / __d; __q.rem = __n % __d; return __q; } using ::lldiv; # 241 "/usr/include/c++/5.0.0/cstdlib" 3 using ::atoll; using ::strtoll; using ::strtoull; using ::strtof; using ::strtold; } namespace std { using ::__gnu_cxx::lldiv_t; using ::__gnu_cxx::_Exit; using ::__gnu_cxx::llabs; using ::__gnu_cxx::div; using ::__gnu_cxx::lldiv; using ::__gnu_cxx::atoll; using ::__gnu_cxx::strtof; using ::__gnu_cxx::strtoll; using ::__gnu_cxx::strtoull; using ::__gnu_cxx::strtold; } # 4 "../../../dist/system_wrappers/cstdlib" 2 3 #pragma GCC visibility pop # 56 "../../../dist/stl_wrappers/cstdlib" 2 3 #pragma GCC visibility pop # 60 "/usr/include/c++/5.0.0/bits/stl_algo.h" 2 3 # 1 "/usr/include/c++/5.0.0/bits/algorithmfwd.h" 1 3 # 33 "/usr/include/c++/5.0.0/bits/algorithmfwd.h" 3 # 34 "/usr/include/c++/5.0.0/bits/algorithmfwd.h" 3 # 42 "/usr/include/c++/5.0.0/bits/algorithmfwd.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 194 "/usr/include/c++/5.0.0/bits/algorithmfwd.h" 3 template bool all_of(_IIter, _IIter, _Predicate); template bool any_of(_IIter, _IIter, _Predicate); template bool binary_search(_FIter, _FIter, const _Tp&); template bool binary_search(_FIter, _FIter, const _Tp&, _Compare); template _OIter copy(_IIter, _IIter, _OIter); template _BIter2 copy_backward(_BIter1, _BIter1, _BIter2); template _OIter copy_if(_IIter, _IIter, _OIter, _Predicate); template _OIter copy_n(_IIter, _Size, _OIter); template pair<_FIter, _FIter> equal_range(_FIter, _FIter, const _Tp&); template pair<_FIter, _FIter> equal_range(_FIter, _FIter, const _Tp&, _Compare); template void fill(_FIter, _FIter, const _Tp&); template _OIter fill_n(_OIter, _Size, const _Tp&); template _FIter1 find_end(_FIter1, _FIter1, _FIter2, _FIter2); template _FIter1 find_end(_FIter1, _FIter1, _FIter2, _FIter2, _BinaryPredicate); template _IIter find_if_not(_IIter, _IIter, _Predicate); template bool includes(_IIter1, _IIter1, _IIter2, _IIter2); template bool includes(_IIter1, _IIter1, _IIter2, _IIter2, _Compare); template void inplace_merge(_BIter, _BIter, _BIter); template void inplace_merge(_BIter, _BIter, _BIter, _Compare); template bool is_heap(_RAIter, _RAIter); template bool is_heap(_RAIter, _RAIter, _Compare); template _RAIter is_heap_until(_RAIter, _RAIter); template _RAIter is_heap_until(_RAIter, _RAIter, _Compare); template bool is_partitioned(_IIter, _IIter, _Predicate); template bool is_permutation(_FIter1, _FIter1, _FIter2); template bool is_permutation(_FIter1, _FIter1, _FIter2, _BinaryPredicate); template bool is_sorted(_FIter, _FIter); template bool is_sorted(_FIter, _FIter, _Compare); template _FIter is_sorted_until(_FIter, _FIter); template _FIter is_sorted_until(_FIter, _FIter, _Compare); template void iter_swap(_FIter1, _FIter2); template _FIter lower_bound(_FIter, _FIter, const _Tp&); template _FIter lower_bound(_FIter, _FIter, const _Tp&, _Compare); template void make_heap(_RAIter, _RAIter); template void make_heap(_RAIter, _RAIter, _Compare); template const _Tp& max(const _Tp&, const _Tp&); template const _Tp& max(const _Tp&, const _Tp&, _Compare); template const _Tp& min(const _Tp&, const _Tp&); template const _Tp& min(const _Tp&, const _Tp&, _Compare); template pair minmax(const _Tp&, const _Tp&); template pair minmax(const _Tp&, const _Tp&, _Compare); template pair<_FIter, _FIter> minmax_element(_FIter, _FIter); template pair<_FIter, _FIter> minmax_element(_FIter, _FIter, _Compare); template _Tp min(initializer_list<_Tp>); template _Tp min(initializer_list<_Tp>, _Compare); template _Tp max(initializer_list<_Tp>); template _Tp max(initializer_list<_Tp>, _Compare); template pair<_Tp, _Tp> minmax(initializer_list<_Tp>); template pair<_Tp, _Tp> minmax(initializer_list<_Tp>, _Compare); template bool next_permutation(_BIter, _BIter); template bool next_permutation(_BIter, _BIter, _Compare); template bool none_of(_IIter, _IIter, _Predicate); template _RAIter partial_sort_copy(_IIter, _IIter, _RAIter, _RAIter); template _RAIter partial_sort_copy(_IIter, _IIter, _RAIter, _RAIter, _Compare); template pair<_OIter1, _OIter2> partition_copy(_IIter, _IIter, _OIter1, _OIter2, _Predicate); template _FIter partition_point(_FIter, _FIter, _Predicate); template void pop_heap(_RAIter, _RAIter); template void pop_heap(_RAIter, _RAIter, _Compare); template bool prev_permutation(_BIter, _BIter); template bool prev_permutation(_BIter, _BIter, _Compare); template void push_heap(_RAIter, _RAIter); template void push_heap(_RAIter, _RAIter, _Compare); template _FIter remove(_FIter, _FIter, const _Tp&); template _FIter remove_if(_FIter, _FIter, _Predicate); template _OIter remove_copy(_IIter, _IIter, _OIter, const _Tp&); template _OIter remove_copy_if(_IIter, _IIter, _OIter, _Predicate); template _OIter replace_copy(_IIter, _IIter, _OIter, const _Tp&, const _Tp&); template _OIter replace_copy_if(_Iter, _Iter, _OIter, _Predicate, const _Tp&); template void reverse(_BIter, _BIter); template _OIter reverse_copy(_BIter, _BIter, _OIter); template _FIter rotate(_FIter, _FIter, _FIter); template _OIter rotate_copy(_FIter, _FIter, _FIter, _OIter); # 549 "/usr/include/c++/5.0.0/bits/algorithmfwd.h" 3 template void shuffle(_RAIter, _RAIter, _UGenerator&&); template void sort_heap(_RAIter, _RAIter); template void sort_heap(_RAIter, _RAIter, _Compare); template _BIter stable_partition(_BIter, _BIter, _Predicate); template void swap(_Tp&, _Tp&) noexcept(__and_, is_nothrow_move_assignable<_Tp>>::value) ; template void swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm]) noexcept(noexcept(swap(*__a, *__b))) ; template _FIter2 swap_ranges(_FIter1, _FIter1, _FIter2); template _FIter unique(_FIter, _FIter); template _FIter unique(_FIter, _FIter, _BinaryPredicate); template _FIter upper_bound(_FIter, _FIter, const _Tp&); template _FIter upper_bound(_FIter, _FIter, const _Tp&, _Compare); template _FIter adjacent_find(_FIter, _FIter); template _FIter adjacent_find(_FIter, _FIter, _BinaryPredicate); template typename iterator_traits<_IIter>::difference_type count(_IIter, _IIter, const _Tp&); template typename iterator_traits<_IIter>::difference_type count_if(_IIter, _IIter, _Predicate); template bool equal(_IIter1, _IIter1, _IIter2); template bool equal(_IIter1, _IIter1, _IIter2, _BinaryPredicate); template _IIter find(_IIter, _IIter, const _Tp&); template _FIter1 find_first_of(_FIter1, _FIter1, _FIter2, _FIter2); template _FIter1 find_first_of(_FIter1, _FIter1, _FIter2, _FIter2, _BinaryPredicate); template _IIter find_if(_IIter, _IIter, _Predicate); template _Funct for_each(_IIter, _IIter, _Funct); template void generate(_FIter, _FIter, _Generator); template _OIter generate_n(_OIter, _Size, _Generator); template bool lexicographical_compare(_IIter1, _IIter1, _IIter2, _IIter2); template bool lexicographical_compare(_IIter1, _IIter1, _IIter2, _IIter2, _Compare); template _FIter max_element(_FIter, _FIter); template _FIter max_element(_FIter, _FIter, _Compare); template _OIter merge(_IIter1, _IIter1, _IIter2, _IIter2, _OIter); template _OIter merge(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare); template _FIter min_element(_FIter, _FIter); template _FIter min_element(_FIter, _FIter, _Compare); template pair<_IIter1, _IIter2> mismatch(_IIter1, _IIter1, _IIter2); template pair<_IIter1, _IIter2> mismatch(_IIter1, _IIter1, _IIter2, _BinaryPredicate); template void nth_element(_RAIter, _RAIter, _RAIter); template void nth_element(_RAIter, _RAIter, _RAIter, _Compare); template void partial_sort(_RAIter, _RAIter, _RAIter); template void partial_sort(_RAIter, _RAIter, _RAIter, _Compare); template _BIter partition(_BIter, _BIter, _Predicate); template void random_shuffle(_RAIter, _RAIter); template void random_shuffle(_RAIter, _RAIter, _Generator&&); template void replace(_FIter, _FIter, const _Tp&, const _Tp&); template void replace_if(_FIter, _FIter, _Predicate, const _Tp&); template _FIter1 search(_FIter1, _FIter1, _FIter2, _FIter2); template _FIter1 search(_FIter1, _FIter1, _FIter2, _FIter2, _BinaryPredicate); template _FIter search_n(_FIter, _FIter, _Size, const _Tp&); template _FIter search_n(_FIter, _FIter, _Size, const _Tp&, _BinaryPredicate); template _OIter set_difference(_IIter1, _IIter1, _IIter2, _IIter2, _OIter); template _OIter set_difference(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare); template _OIter set_intersection(_IIter1, _IIter1, _IIter2, _IIter2, _OIter); template _OIter set_intersection(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare); template _OIter set_symmetric_difference(_IIter1, _IIter1, _IIter2, _IIter2, _OIter); template _OIter set_symmetric_difference(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare); template _OIter set_union(_IIter1, _IIter1, _IIter2, _IIter2, _OIter); template _OIter set_union(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare); template void sort(_RAIter, _RAIter); template void sort(_RAIter, _RAIter, _Compare); template void stable_sort(_RAIter, _RAIter); template void stable_sort(_RAIter, _RAIter, _Compare); template _OIter transform(_IIter, _IIter, _OIter, _UnaryOperation); template _OIter transform(_IIter1, _IIter1, _IIter2, _OIter, _BinaryOperation); template _OIter unique_copy(_IIter, _IIter, _OIter); template _OIter unique_copy(_IIter, _IIter, _OIter, _BinaryPredicate); } # 61 "/usr/include/c++/5.0.0/bits/stl_algo.h" 2 3 # 1 "/usr/include/c++/5.0.0/bits/stl_heap.h" 1 3 # 62 "/usr/include/c++/5.0.0/bits/stl_heap.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template _Distance __is_heap_until(_RandomAccessIterator __first, _Distance __n, _Compare __comp) { _Distance __parent = 0; for (_Distance __child = 1; __child < __n; ++__child) { if (__comp(__first + __parent, __first + __child)) return __child; if ((__child & 1) == 0) ++__parent; } return __n; } template inline bool __is_heap(_RandomAccessIterator __first, _Distance __n) { return std::__is_heap_until(__first, __n, __gnu_cxx::__ops::__iter_less_iter()) == __n; } template inline bool __is_heap(_RandomAccessIterator __first, _Compare __comp, _Distance __n) { return std::__is_heap_until(__first, __n, __gnu_cxx::__ops::__iter_comp_iter(__comp)) == __n; } template inline bool __is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) { return std::__is_heap(__first, std::distance(__first, __last)); } template inline bool __is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { return std::__is_heap(__first, __comp, std::distance(__first, __last)); } template void __push_heap(_RandomAccessIterator __first, _Distance __holeIndex, _Distance __topIndex, _Tp __value, _Compare __comp) { _Distance __parent = (__holeIndex - 1) / 2; while (__holeIndex > __topIndex && __comp(__first + __parent, __value)) { *(__first + __holeIndex) = std::move(*(__first + __parent)); __holeIndex = __parent; __parent = (__holeIndex - 1) / 2; } *(__first + __holeIndex) = std::move(__value); } # 148 "/usr/include/c++/5.0.0/bits/stl_heap.h" 3 template inline void push_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; typedef typename iterator_traits<_RandomAccessIterator>::difference_type _DistanceType; ; ; _ValueType __value = std::move(*(__last - 1)); std::__push_heap(__first, _DistanceType((__last - __first) - 1), _DistanceType(0), std::move(__value), __gnu_cxx::__ops::__iter_less_val()); } # 182 "/usr/include/c++/5.0.0/bits/stl_heap.h" 3 template inline void push_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; typedef typename iterator_traits<_RandomAccessIterator>::difference_type _DistanceType; ; ; _ValueType __value = std::move(*(__last - 1)); std::__push_heap(__first, _DistanceType((__last - __first) - 1), _DistanceType(0), std::move(__value), __gnu_cxx::__ops::__iter_comp_val(__comp)); } template void __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex, _Distance __len, _Tp __value, _Compare __comp) { const _Distance __topIndex = __holeIndex; _Distance __secondChild = __holeIndex; while (__secondChild < (__len - 1) / 2) { __secondChild = 2 * (__secondChild + 1); if (__comp(__first + __secondChild, __first + (__secondChild - 1))) __secondChild--; *(__first + __holeIndex) = std::move(*(__first + __secondChild)); __holeIndex = __secondChild; } if ((__len & 1) == 0 && __secondChild == (__len - 2) / 2) { __secondChild = 2 * (__secondChild + 1); *(__first + __holeIndex) = std::move(*(__first + (__secondChild - 1))) ; __holeIndex = __secondChild - 1; } std::__push_heap(__first, __holeIndex, __topIndex, std::move(__value), __gnu_cxx::__ops::__iter_comp_val(__comp)); } template inline void __pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _RandomAccessIterator __result, _Compare __comp) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; typedef typename iterator_traits<_RandomAccessIterator>::difference_type _DistanceType; _ValueType __value = std::move(*__result); *__result = std::move(*__first); std::__adjust_heap(__first, _DistanceType(0), _DistanceType(__last - __first), std::move(__value), __comp); } # 261 "/usr/include/c++/5.0.0/bits/stl_heap.h" 3 template inline void pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; ; ; ; if (__last - __first > 1) { --__last; std::__pop_heap(__first, __last, __last, __gnu_cxx::__ops::__iter_less_iter()); } } # 295 "/usr/include/c++/5.0.0/bits/stl_heap.h" 3 template inline void pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { ; ; ; if (__last - __first > 1) { --__last; std::__pop_heap(__first, __last, __last, __gnu_cxx::__ops::__iter_comp_iter(__comp)); } } template void __make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; typedef typename iterator_traits<_RandomAccessIterator>::difference_type _DistanceType; if (__last - __first < 2) return; const _DistanceType __len = __last - __first; _DistanceType __parent = (__len - 2) / 2; while (true) { _ValueType __value = std::move(*(__first + __parent)); std::__adjust_heap(__first, __parent, __len, std::move(__value), __comp); if (__parent == 0) return; __parent--; } } # 349 "/usr/include/c++/5.0.0/bits/stl_heap.h" 3 template inline void make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) { ; std::__make_heap(__first, __last, __gnu_cxx::__ops::__iter_less_iter()); } # 374 "/usr/include/c++/5.0.0/bits/stl_heap.h" 3 template inline void make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { ; std::__make_heap(__first, __last, __gnu_cxx::__ops::__iter_comp_iter(__comp)); } template void __sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { while (__last - __first > 1) { --__last; std::__pop_heap(__first, __last, __last, __comp); } } # 408 "/usr/include/c++/5.0.0/bits/stl_heap.h" 3 template inline void sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) { ; ; std::__sort_heap(__first, __last, __gnu_cxx::__ops::__iter_less_iter()); } # 434 "/usr/include/c++/5.0.0/bits/stl_heap.h" 3 template inline void sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { ; ; std::__sort_heap(__first, __last, __gnu_cxx::__ops::__iter_comp_iter(__comp)); } # 460 "/usr/include/c++/5.0.0/bits/stl_heap.h" 3 template inline _RandomAccessIterator is_heap_until(_RandomAccessIterator __first, _RandomAccessIterator __last) { ; return __first + std::__is_heap_until(__first, std::distance(__first, __last), __gnu_cxx::__ops::__iter_less_iter()); } # 487 "/usr/include/c++/5.0.0/bits/stl_heap.h" 3 template inline _RandomAccessIterator is_heap_until(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { ; return __first + std::__is_heap_until(__first, std::distance(__first, __last), __gnu_cxx::__ops::__iter_comp_iter(__comp)); } # 509 "/usr/include/c++/5.0.0/bits/stl_heap.h" 3 template inline bool is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) { return std::is_heap_until(__first, __last) == __last; } # 522 "/usr/include/c++/5.0.0/bits/stl_heap.h" 3 template inline bool is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { return std::is_heap_until(__first, __last, __comp) == __last; } } # 62 "/usr/include/c++/5.0.0/bits/stl_algo.h" 2 3 # 1 "/usr/include/c++/5.0.0/bits/stl_tempbuf.h" 1 3 # 60 "/usr/include/c++/5.0.0/bits/stl_tempbuf.h" 3 # 1 "/usr/include/c++/5.0.0/bits/stl_construct.h" 1 3 # 61 "/usr/include/c++/5.0.0/bits/stl_construct.h" 3 # 1 "/usr/include/c++/5.0.0/ext/alloc_traits.h" 1 3 # 32 "/usr/include/c++/5.0.0/ext/alloc_traits.h" 3 # 33 "/usr/include/c++/5.0.0/ext/alloc_traits.h" 3 # 1 "/usr/include/c++/5.0.0/bits/alloc_traits.h" 1 3 # 35 "/usr/include/c++/5.0.0/bits/alloc_traits.h" 3 # 1 "/usr/include/c++/5.0.0/bits/memoryfwd.h" 1 3 # 46 "/usr/include/c++/5.0.0/bits/memoryfwd.h" 3 # 47 "/usr/include/c++/5.0.0/bits/memoryfwd.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 63 "/usr/include/c++/5.0.0/bits/memoryfwd.h" 3 template class allocator; template<> class allocator; template struct uses_allocator; } # 36 "/usr/include/c++/5.0.0/bits/alloc_traits.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { template class __alloctr_rebind_helper { template static constexpr true_type _S_chk(typename _Alloc2::template rebind<_Tp2>::other*); template static constexpr false_type _S_chk(...); public: using __type = decltype(_S_chk<_Alloc, _Tp>(nullptr)); }; template::__type::value> struct __alloctr_rebind; template struct __alloctr_rebind<_Alloc, _Tp, true> { typedef typename _Alloc::template rebind<_Tp>::other __type; }; template class _Alloc, typename _Tp, typename _Up, typename... _Args> struct __alloctr_rebind<_Alloc<_Up, _Args...>, _Tp, false> { typedef _Alloc<_Tp, _Args...> __type; }; template using __alloc_rebind = typename __alloctr_rebind<_Ptr, _Tp>::__type; template struct allocator_traits { typedef _Alloc allocator_type; typedef typename _Alloc::value_type value_type; # 98 "/usr/include/c++/5.0.0/bits/alloc_traits.h" 3 private: template static typename _Tp::pointer _S_pointer_helper(_Tp*); static value_type* _S_pointer_helper(...); typedef decltype(_S_pointer_helper((_Alloc*)0)) __pointer; public: typedef __pointer pointer; private: template static typename _Tp::const_pointer _S_const_pointer_helper(_Tp*); static typename pointer_traits::template rebind _S_const_pointer_helper(...); typedef decltype(_S_const_pointer_helper((_Alloc*)0)) __const_pointer; public: # 116 "/usr/include/c++/5.0.0/bits/alloc_traits.h" 3 typedef __const_pointer const_pointer; private: template static typename _Tp::void_pointer _S_void_pointer_helper(_Tp*); static typename pointer_traits::template rebind _S_void_pointer_helper(...); typedef decltype(_S_void_pointer_helper((_Alloc*)0)) __void_pointer; public: # 127 "/usr/include/c++/5.0.0/bits/alloc_traits.h" 3 typedef __void_pointer void_pointer; private: template static typename _Tp::const_void_pointer _S_const_void_pointer_helper(_Tp*); static typename pointer_traits::template rebind _S_const_void_pointer_helper(...); typedef decltype(_S_const_void_pointer_helper((_Alloc*)0)) __const_void_pointer; public: # 138 "/usr/include/c++/5.0.0/bits/alloc_traits.h" 3 typedef __const_void_pointer const_void_pointer; private: template static typename _Tp::difference_type _S_difference_type_helper(_Tp*); static typename pointer_traits::difference_type _S_difference_type_helper(...); typedef decltype(_S_difference_type_helper((_Alloc*)0)) __difference_type; public: # 149 "/usr/include/c++/5.0.0/bits/alloc_traits.h" 3 typedef __difference_type difference_type; private: template static typename _Tp::size_type _S_size_type_helper(_Tp*); static typename make_unsigned::type _S_size_type_helper(...); typedef decltype(_S_size_type_helper((_Alloc*)0)) __size_type; public: # 160 "/usr/include/c++/5.0.0/bits/alloc_traits.h" 3 typedef __size_type size_type; private: template static typename _Tp::propagate_on_container_copy_assignment _S_propagate_on_container_copy_assignment_helper(_Tp*); static false_type _S_propagate_on_container_copy_assignment_helper(...); typedef decltype(_S_propagate_on_container_copy_assignment_helper((_Alloc*)0)) __propagate_on_container_copy_assignment; public: # 171 "/usr/include/c++/5.0.0/bits/alloc_traits.h" 3 typedef __propagate_on_container_copy_assignment propagate_on_container_copy_assignment; private: template static typename _Tp::propagate_on_container_move_assignment _S_propagate_on_container_move_assignment_helper(_Tp*); static false_type _S_propagate_on_container_move_assignment_helper(...); typedef decltype(_S_propagate_on_container_move_assignment_helper((_Alloc*)0)) __propagate_on_container_move_assignment; public: # 183 "/usr/include/c++/5.0.0/bits/alloc_traits.h" 3 typedef __propagate_on_container_move_assignment propagate_on_container_move_assignment; private: template static typename _Tp::propagate_on_container_swap _S_propagate_on_container_swap_helper(_Tp*); static false_type _S_propagate_on_container_swap_helper(...); typedef decltype(_S_propagate_on_container_swap_helper((_Alloc*)0)) __propagate_on_container_swap; public: # 195 "/usr/include/c++/5.0.0/bits/alloc_traits.h" 3 typedef __propagate_on_container_swap propagate_on_container_swap; template using rebind_alloc = typename __alloctr_rebind<_Alloc, _Tp>::__type; template using rebind_traits = allocator_traits>; private: template struct __allocate_helper { template()->allocate( std::declval(), std::declval()))> static true_type __test(int); template static false_type __test(...); using type = decltype(__test<_Alloc>(0)); }; template using __has_allocate = typename __allocate_helper<_Alloc2>::type; template>> static pointer _S_allocate(_Alloc2& __a, size_type __n, const_void_pointer __hint) { return __a.allocate(__n, __hint); } template>>> static pointer _S_allocate(_Alloc2& __a, size_type __n, _UnusedHint) { return __a.allocate(__n); } template struct __construct_helper { template()->construct( std::declval<_Tp*>(), std::declval<_Args>()...))> static true_type __test(int); template static false_type __test(...); using type = decltype(__test<_Alloc>(0)); }; template using __has_construct = typename __construct_helper<_Tp, _Args...>::type; template static _Require<__has_construct<_Tp, _Args...>> _S_construct(_Alloc& __a, _Tp* __p, _Args&&... __args) { __a.construct(__p, std::forward<_Args>(__args)...); } template static _Require<__and_<__not_<__has_construct<_Tp, _Args...>>, is_constructible<_Tp, _Args...>>> _S_construct(_Alloc&, _Tp* __p, _Args&&... __args) { ::new((void*)__p) _Tp(std::forward<_Args>(__args)...); } template struct __destroy_helper { template()->destroy( std::declval<_Tp*>()))> static true_type __test(int); template static false_type __test(...); using type = decltype(__test<_Alloc>(0)); }; template using __has_destroy = typename __destroy_helper<_Tp>::type; template static _Require<__has_destroy<_Tp>> _S_destroy(_Alloc& __a, _Tp* __p) { __a.destroy(__p); } template static _Require<__not_<__has_destroy<_Tp>>> _S_destroy(_Alloc&, _Tp* __p) { __p->~_Tp(); } template struct __maxsize_helper { template()->max_size())> static true_type __test(int); template static false_type __test(...); using type = decltype(__test<_Alloc2>(0)); }; template using __has_max_size = typename __maxsize_helper<_Alloc2>::type; template>> static size_type _S_max_size(_Alloc2& __a, int) { return __a.max_size(); } template>>> static size_type _S_max_size(_Alloc2&, ...) { return __gnu_cxx::__numeric_traits::__max; } template struct __select_helper { template() ->select_on_container_copy_construction())> static true_type __test(int); template static false_type __test(...); using type = decltype(__test<_Alloc2>(0)); }; template using __has_soccc = typename __select_helper<_Alloc2>::type; template>> static _Alloc2 _S_select(_Alloc2& __a, int) { return __a.select_on_container_copy_construction(); } template>>> static _Alloc2 _S_select(_Alloc2& __a, ...) { return __a; } public: # 358 "/usr/include/c++/5.0.0/bits/alloc_traits.h" 3 static pointer allocate(_Alloc& __a, size_type __n) { return __a.allocate(__n); } # 373 "/usr/include/c++/5.0.0/bits/alloc_traits.h" 3 static pointer allocate(_Alloc& __a, size_type __n, const_void_pointer __hint) { return _S_allocate(__a, __n, __hint); } # 385 "/usr/include/c++/5.0.0/bits/alloc_traits.h" 3 static void deallocate(_Alloc& __a, pointer __p, size_type __n) { __a.deallocate(__p, __n); } # 399 "/usr/include/c++/5.0.0/bits/alloc_traits.h" 3 template static auto construct(_Alloc& __a, _Tp* __p, _Args&&... __args) -> decltype(_S_construct(__a, __p, std::forward<_Args>(__args)...)) { _S_construct(__a, __p, std::forward<_Args>(__args)...); } # 412 "/usr/include/c++/5.0.0/bits/alloc_traits.h" 3 template static void destroy(_Alloc& __a, _Tp* __p) { _S_destroy(__a, __p); } # 424 "/usr/include/c++/5.0.0/bits/alloc_traits.h" 3 static size_type max_size(const _Alloc& __a) noexcept { return _S_max_size(__a, 0); } # 435 "/usr/include/c++/5.0.0/bits/alloc_traits.h" 3 static _Alloc select_on_container_copy_construction(const _Alloc& __rhs) { return _S_select(__rhs, 0); } }; template inline void __do_alloc_on_copy(_Alloc& __one, const _Alloc& __two, true_type) { __one = __two; } template inline void __do_alloc_on_copy(_Alloc&, const _Alloc&, false_type) { } template inline void __alloc_on_copy(_Alloc& __one, const _Alloc& __two) { typedef allocator_traits<_Alloc> __traits; typedef typename __traits::propagate_on_container_copy_assignment __pocca; __do_alloc_on_copy(__one, __two, __pocca()); } template inline _Alloc __alloc_on_copy(const _Alloc& __a) { typedef allocator_traits<_Alloc> __traits; return __traits::select_on_container_copy_construction(__a); } template inline void __do_alloc_on_move(_Alloc& __one, _Alloc& __two, true_type) { __one = std::move(__two); } template inline void __do_alloc_on_move(_Alloc&, _Alloc&, false_type) { } template inline void __alloc_on_move(_Alloc& __one, _Alloc& __two) { typedef allocator_traits<_Alloc> __traits; typedef typename __traits::propagate_on_container_move_assignment __pocma; __do_alloc_on_move(__one, __two, __pocma()); } template inline void __do_alloc_on_swap(_Alloc& __one, _Alloc& __two, true_type) { using std::swap; swap(__one, __two); } template inline void __do_alloc_on_swap(_Alloc&, _Alloc&, false_type) { } template inline void __alloc_on_swap(_Alloc& __one, _Alloc& __two) { typedef allocator_traits<_Alloc> __traits; typedef typename __traits::propagate_on_container_swap __pocs; __do_alloc_on_swap(__one, __two, __pocs()); } template class __is_copy_insertable_impl { typedef allocator_traits<_Alloc> _Traits; template(), std::declval<_Up*>(), std::declval()))> static true_type _M_select(int); template static false_type _M_select(...); public: typedef decltype(_M_select(0)) type; }; template struct __is_copy_insertable : __is_copy_insertable_impl<_Alloc>::type { }; template struct __is_copy_insertable> : is_copy_constructible<_Tp> { }; } # 37 "/usr/include/c++/5.0.0/ext/alloc_traits.h" 2 3 namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { template struct __allocator_always_compares_equal : std::false_type { }; template struct __allocator_always_compares_equal> : std::true_type { }; template struct array_allocator; template struct __allocator_always_compares_equal> : std::true_type { }; template struct bitmap_allocator; template struct __allocator_always_compares_equal> : std::true_type { }; template struct malloc_allocator; template struct __allocator_always_compares_equal> : std::true_type { }; template struct mt_allocator; template struct __allocator_always_compares_equal> : std::true_type { }; template struct new_allocator; template struct __allocator_always_compares_equal> : std::true_type { }; template struct pool_allocator; template struct __allocator_always_compares_equal> : std::true_type { }; template struct __alloc_traits : std::allocator_traits<_Alloc> { typedef _Alloc allocator_type; typedef std::allocator_traits<_Alloc> _Base_type; typedef typename _Base_type::value_type value_type; typedef typename _Base_type::pointer pointer; typedef typename _Base_type::const_pointer const_pointer; typedef typename _Base_type::size_type size_type; typedef typename _Base_type::difference_type difference_type; typedef value_type& reference; typedef const value_type& const_reference; using _Base_type::allocate; using _Base_type::deallocate; using _Base_type::construct; using _Base_type::destroy; using _Base_type::max_size; private: template using __is_custom_pointer = std::__and_, std::__not_>>; public: template static typename std::enable_if<__is_custom_pointer<_Ptr>::value>::type construct(_Alloc& __a, _Ptr __p, _Args&&... __args) { _Base_type::construct(__a, std::addressof(*__p), std::forward<_Args>(__args)...); } template static typename std::enable_if<__is_custom_pointer<_Ptr>::value>::type destroy(_Alloc& __a, _Ptr __p) { _Base_type::destroy(__a, std::addressof(*__p)); } static _Alloc _S_select_on_copy(const _Alloc& __a) { return _Base_type::select_on_container_copy_construction(__a); } static void _S_on_swap(_Alloc& __a, _Alloc& __b) { std::__alloc_on_swap(__a, __b); } static constexpr bool _S_propagate_on_copy_assign() { return _Base_type::propagate_on_container_copy_assignment::value; } static constexpr bool _S_propagate_on_move_assign() { return _Base_type::propagate_on_container_move_assignment::value; } static constexpr bool _S_propagate_on_swap() { return _Base_type::propagate_on_container_swap::value; } static constexpr bool _S_always_equal() { return __allocator_always_compares_equal<_Alloc>::value; } static constexpr bool _S_nothrow_move() { return _S_propagate_on_move_assign() || _S_always_equal(); } static constexpr bool _S_nothrow_swap() { using std::swap; return !_S_propagate_on_swap() || noexcept(swap(std::declval<_Alloc&>(), std::declval<_Alloc&>())); } template struct rebind { typedef typename _Base_type::template rebind_alloc<_Tp> other; }; # 210 "/usr/include/c++/5.0.0/ext/alloc_traits.h" 3 }; } # 62 "/usr/include/c++/5.0.0/bits/stl_construct.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { template inline void _Construct(_T1* __p, _Args&&... __args) { ::new(static_cast(__p)) _T1(std::forward<_Args>(__args)...); } # 90 "/usr/include/c++/5.0.0/bits/stl_construct.h" 3 template inline void _Destroy(_Tp* __pointer) { __pointer->~_Tp(); } template struct _Destroy_aux { template static void __destroy(_ForwardIterator __first, _ForwardIterator __last) { for (; __first != __last; ++__first) std::_Destroy(std::__addressof(*__first)); } }; template<> struct _Destroy_aux { template static void __destroy(_ForwardIterator, _ForwardIterator) { } }; template inline void _Destroy(_ForwardIterator __first, _ForwardIterator __last) { typedef typename iterator_traits<_ForwardIterator>::value_type _Value_type; std::_Destroy_aux<__has_trivial_destructor(_Value_type)>:: __destroy(__first, __last); } template void _Destroy(_ForwardIterator __first, _ForwardIterator __last, _Allocator& __alloc) { typedef __gnu_cxx::__alloc_traits<_Allocator> __traits; for (; __first != __last; ++__first) __traits::destroy(__alloc, std::__addressof(*__first)); } template inline void _Destroy(_ForwardIterator __first, _ForwardIterator __last, allocator<_Tp>&) { _Destroy(__first, __last); } } # 61 "/usr/include/c++/5.0.0/bits/stl_tempbuf.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 83 "/usr/include/c++/5.0.0/bits/stl_tempbuf.h" 3 template pair<_Tp*, ptrdiff_t> get_temporary_buffer(ptrdiff_t __len) noexcept { const ptrdiff_t __max = __gnu_cxx::__numeric_traits::__max / sizeof(_Tp); if (__len > __max) __len = __max; while (__len > 0) { _Tp* __tmp = static_cast<_Tp*>(::operator new(__len * sizeof(_Tp), std::nothrow)); if (__tmp != 0) return std::pair<_Tp*, ptrdiff_t>(__tmp, __len); __len /= 2; } return std::pair<_Tp*, ptrdiff_t>(static_cast<_Tp*>(0), 0); } # 110 "/usr/include/c++/5.0.0/bits/stl_tempbuf.h" 3 template inline void return_temporary_buffer(_Tp* __p) { ::operator delete(__p, std::nothrow); } template class _Temporary_buffer { public: typedef _Tp value_type; typedef value_type* pointer; typedef pointer iterator; typedef ptrdiff_t size_type; protected: size_type _M_original_len; size_type _M_len; pointer _M_buffer; public: size_type size() const { return _M_len; } size_type requested_size() const { return _M_original_len; } iterator begin() { return _M_buffer; } iterator end() { return _M_buffer + _M_len; } _Temporary_buffer(_ForwardIterator __first, _ForwardIterator __last); ~_Temporary_buffer() { std::_Destroy(_M_buffer, _M_buffer + _M_len); std::return_temporary_buffer(_M_buffer); } private: _Temporary_buffer(const _Temporary_buffer&); void operator=(const _Temporary_buffer&); }; template struct __uninitialized_construct_buf_dispatch { template static void __ucr(_Pointer __first, _Pointer __last, _ForwardIterator __seed) { if(__first == __last) return; _Pointer __cur = __first; if (true) { std::_Construct(std::__addressof(*__first), std::move(*__seed)); _Pointer __prev = __cur; ++__cur; for(; __cur != __last; ++__cur, ++__prev) std::_Construct(std::__addressof(*__cur), std::move(*__prev)); *__seed = std::move(*__prev); } if (false) { std::_Destroy(__first, __cur); ; } } }; template<> struct __uninitialized_construct_buf_dispatch { template static void __ucr(_Pointer, _Pointer, _ForwardIterator) { } }; # 229 "/usr/include/c++/5.0.0/bits/stl_tempbuf.h" 3 template inline void __uninitialized_construct_buf(_Pointer __first, _Pointer __last, _ForwardIterator __seed) { typedef typename std::iterator_traits<_Pointer>::value_type _ValueType; std::__uninitialized_construct_buf_dispatch< __has_trivial_constructor(_ValueType)>:: __ucr(__first, __last, __seed); } template _Temporary_buffer<_ForwardIterator, _Tp>:: _Temporary_buffer(_ForwardIterator __first, _ForwardIterator __last) : _M_original_len(std::distance(__first, __last)), _M_len(0), _M_buffer(0) { if (true) { std::pair __p(std::get_temporary_buffer< value_type>(_M_original_len)); _M_buffer = __p.first; _M_len = __p.second; if (_M_buffer) std::__uninitialized_construct_buf(_M_buffer, _M_buffer + _M_len, __first); } if (false) { std::return_temporary_buffer(_M_buffer); _M_buffer = 0; _M_len = 0; ; } } } # 63 "/usr/include/c++/5.0.0/bits/stl_algo.h" 2 3 # 1 "/usr/include/c++/5.0.0/random" 1 3 # 32 "/usr/include/c++/5.0.0/random" 3 # 33 "/usr/include/c++/5.0.0/random" 3 # 1 "/usr/include/c++/5.0.0/cmath" 1 3 # 39 "/usr/include/c++/5.0.0/cmath" 3 # 40 "/usr/include/c++/5.0.0/cmath" 3 # 1 "../../../dist/system_wrappers/math.h" 1 3 # 2 "../../../dist/system_wrappers/math.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 45 "/usr/include/c++/5.0.0/cmath" 2 3 # 39 "/usr/include/c++/5.0.0/random" 2 3 # 1 "../../../dist/stl_wrappers/string" 1 3 # 18 "../../../dist/stl_wrappers/string" 3 # 19 "../../../dist/stl_wrappers/string" 3 # 33 "../../../dist/stl_wrappers/string" 3 # 1 "../../../dist/system_wrappers/new" 1 3 # 2 "../../../dist/system_wrappers/new" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 34 "../../../dist/stl_wrappers/string" 2 3 # 54 "../../../dist/stl_wrappers/string" 3 #pragma GCC visibility push(default) # 1 "../../../dist/system_wrappers/string" 1 3 # 2 "../../../dist/system_wrappers/string" 3 #pragma GCC visibility push(default) # 1 "/usr/include/c++/5.0.0/string" 1 3 # 36 "/usr/include/c++/5.0.0/string" 3 # 37 "/usr/include/c++/5.0.0/string" 3 # 1 "/usr/include/c++/5.0.0/bits/stringfwd.h" 1 3 # 37 "/usr/include/c++/5.0.0/bits/stringfwd.h" 3 # 38 "/usr/include/c++/5.0.0/bits/stringfwd.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template struct char_traits; template<> struct char_traits; template<> struct char_traits; template<> struct char_traits; template<> struct char_traits; template, typename _Alloc = allocator<_CharT> > class basic_string; typedef basic_string string; typedef basic_string wstring; typedef basic_string u16string; typedef basic_string u32string; } # 40 "/usr/include/c++/5.0.0/string" 2 3 # 1 "/usr/include/c++/5.0.0/bits/char_traits.h" 1 3 # 37 "/usr/include/c++/5.0.0/bits/char_traits.h" 3 # 38 "/usr/include/c++/5.0.0/bits/char_traits.h" 3 # 1 "/usr/include/c++/5.0.0/bits/postypes.h" 1 3 # 38 "/usr/include/c++/5.0.0/bits/postypes.h" 3 # 39 "/usr/include/c++/5.0.0/bits/postypes.h" 3 # 1 "../../../dist/stl_wrappers/cwchar" 1 3 # 18 "../../../dist/stl_wrappers/cwchar" 3 # 19 "../../../dist/stl_wrappers/cwchar" 3 # 33 "../../../dist/stl_wrappers/cwchar" 3 # 1 "../../../dist/system_wrappers/new" 1 3 # 2 "../../../dist/system_wrappers/new" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 34 "../../../dist/stl_wrappers/cwchar" 2 3 # 54 "../../../dist/stl_wrappers/cwchar" 3 #pragma GCC visibility push(default) # 1 "/usr/include/c++/5.0.0/cwchar" 1 3 # 39 "/usr/include/c++/5.0.0/cwchar" 3 # 40 "/usr/include/c++/5.0.0/cwchar" 3 # 1 "../../../dist/system_wrappers/wchar.h" 1 3 # 2 "../../../dist/system_wrappers/wchar.h" 3 #pragma GCC visibility push(default) # 1 "/usr/include/wchar.h" 1 3 4 # 4 "../../../dist/system_wrappers/wchar.h" 2 3 #pragma GCC visibility pop # 45 "/usr/include/c++/5.0.0/cwchar" 2 3 # 62 "/usr/include/c++/5.0.0/cwchar" 3 namespace std { using ::mbstate_t; } # 135 "/usr/include/c++/5.0.0/cwchar" 3 namespace std __attribute__ ((__visibility__ ("default"))) { using ::wint_t; using ::btowc; using ::fgetwc; using ::fgetws; using ::fputwc; using ::fputws; using ::fwide; using ::fwprintf; using ::fwscanf; using ::getwc; using ::getwchar; using ::mbrlen; using ::mbrtowc; using ::mbsinit; using ::mbsrtowcs; using ::putwc; using ::putwchar; using ::swprintf; using ::swscanf; using ::ungetwc; using ::vfwprintf; using ::vfwscanf; using ::vswprintf; using ::vswscanf; using ::vwprintf; using ::vwscanf; using ::wcrtomb; using ::wcscat; using ::wcscmp; using ::wcscoll; using ::wcscpy; using ::wcscspn; using ::wcsftime; using ::wcslen; using ::wcsncat; using ::wcsncmp; using ::wcsncpy; using ::wcsrtombs; using ::wcsspn; using ::wcstod; using ::wcstof; using ::wcstok; using ::wcstol; using ::wcstoul; using ::wcsxfrm; using ::wctob; using ::wmemcmp; using ::wmemcpy; using ::wmemmove; using ::wmemset; using ::wprintf; using ::wscanf; using ::wcschr; using ::wcspbrk; using ::wcsrchr; using ::wcsstr; using ::wmemchr; # 232 "/usr/include/c++/5.0.0/cwchar" 3 } namespace __gnu_cxx { using ::wcstold; # 257 "/usr/include/c++/5.0.0/cwchar" 3 using ::wcstoll; using ::wcstoull; } namespace std { using ::__gnu_cxx::wcstold; using ::__gnu_cxx::wcstoll; using ::__gnu_cxx::wcstoull; } # 277 "/usr/include/c++/5.0.0/cwchar" 3 namespace std { using std::wcstof; using std::vfwscanf; using std::vswscanf; using std::vwscanf; using std::wcstold; using std::wcstoll; using std::wcstoull; } # 56 "../../../dist/stl_wrappers/cwchar" 2 3 #pragma GCC visibility pop # 41 "/usr/include/c++/5.0.0/bits/postypes.h" 2 3 # 68 "/usr/include/c++/5.0.0/bits/postypes.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 90 "/usr/include/c++/5.0.0/bits/postypes.h" 3 typedef long long streamoff; typedef ptrdiff_t streamsize; # 111 "/usr/include/c++/5.0.0/bits/postypes.h" 3 template class fpos { private: streamoff _M_off; _StateT _M_state; public: fpos() : _M_off(0), _M_state() { } # 133 "/usr/include/c++/5.0.0/bits/postypes.h" 3 fpos(streamoff __off) : _M_off(__off), _M_state() { } operator streamoff() const { return _M_off; } void state(_StateT __st) { _M_state = __st; } _StateT state() const { return _M_state; } fpos& operator+=(streamoff __off) { _M_off += __off; return *this; } fpos& operator-=(streamoff __off) { _M_off -= __off; return *this; } fpos operator+(streamoff __off) const { fpos __pos(*this); __pos += __off; return __pos; } fpos operator-(streamoff __off) const { fpos __pos(*this); __pos -= __off; return __pos; } streamoff operator-(const fpos& __other) const { return _M_off - __other._M_off; } }; template inline bool operator==(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs) { return streamoff(__lhs) == streamoff(__rhs); } template inline bool operator!=(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs) { return streamoff(__lhs) != streamoff(__rhs); } typedef fpos streampos; typedef fpos wstreampos; typedef fpos u16streampos; typedef fpos u32streampos; } # 41 "/usr/include/c++/5.0.0/bits/char_traits.h" 2 3 namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { # 57 "/usr/include/c++/5.0.0/bits/char_traits.h" 3 template struct _Char_types { typedef unsigned long int_type; typedef std::streampos pos_type; typedef std::streamoff off_type; typedef std::mbstate_t state_type; }; # 82 "/usr/include/c++/5.0.0/bits/char_traits.h" 3 template struct char_traits { typedef _CharT char_type; typedef typename _Char_types<_CharT>::int_type int_type; typedef typename _Char_types<_CharT>::pos_type pos_type; typedef typename _Char_types<_CharT>::off_type off_type; typedef typename _Char_types<_CharT>::state_type state_type; static void assign(char_type& __c1, const char_type& __c2) { __c1 = __c2; } static constexpr bool eq(const char_type& __c1, const char_type& __c2) { return __c1 == __c2; } static constexpr bool lt(const char_type& __c1, const char_type& __c2) { return __c1 < __c2; } static int compare(const char_type* __s1, const char_type* __s2, std::size_t __n); static std::size_t length(const char_type* __s); static const char_type* find(const char_type* __s, std::size_t __n, const char_type& __a); static char_type* move(char_type* __s1, const char_type* __s2, std::size_t __n); static char_type* copy(char_type* __s1, const char_type* __s2, std::size_t __n); static char_type* assign(char_type* __s, std::size_t __n, char_type __a); static constexpr char_type to_char_type(const int_type& __c) { return static_cast(__c); } static constexpr int_type to_int_type(const char_type& __c) { return static_cast(__c); } static constexpr bool eq_int_type(const int_type& __c1, const int_type& __c2) { return __c1 == __c2; } static constexpr int_type eof() { return static_cast(-1); } static constexpr int_type not_eof(const int_type& __c) { return !eq_int_type(__c, eof()) ? __c : to_int_type(char_type()); } }; template int char_traits<_CharT>:: compare(const char_type* __s1, const char_type* __s2, std::size_t __n) { for (std::size_t __i = 0; __i < __n; ++__i) if (lt(__s1[__i], __s2[__i])) return -1; else if (lt(__s2[__i], __s1[__i])) return 1; return 0; } template std::size_t char_traits<_CharT>:: length(const char_type* __p) { std::size_t __i = 0; while (!eq(__p[__i], char_type())) ++__i; return __i; } template const typename char_traits<_CharT>::char_type* char_traits<_CharT>:: find(const char_type* __s, std::size_t __n, const char_type& __a) { for (std::size_t __i = 0; __i < __n; ++__i) if (eq(__s[__i], __a)) return __s + __i; return 0; } template typename char_traits<_CharT>::char_type* char_traits<_CharT>:: move(char_type* __s1, const char_type* __s2, std::size_t __n) { return static_cast<_CharT*>(__builtin_memmove(__s1, __s2, __n * sizeof(char_type))); } template typename char_traits<_CharT>::char_type* char_traits<_CharT>:: copy(char_type* __s1, const char_type* __s2, std::size_t __n) { std::copy(__s2, __s2 + __n, __s1); return __s1; } template typename char_traits<_CharT>::char_type* char_traits<_CharT>:: assign(char_type* __s, std::size_t __n, char_type __a) { std::fill_n(__s, __n, __a); return __s; } } namespace std __attribute__ ((__visibility__ ("default"))) { # 226 "/usr/include/c++/5.0.0/bits/char_traits.h" 3 template struct char_traits : public __gnu_cxx::char_traits<_CharT> { }; template<> struct char_traits { typedef char char_type; typedef int int_type; typedef streampos pos_type; typedef streamoff off_type; typedef mbstate_t state_type; static void assign(char_type& __c1, const char_type& __c2) noexcept { __c1 = __c2; } static constexpr bool eq(const char_type& __c1, const char_type& __c2) noexcept { return __c1 == __c2; } static constexpr bool lt(const char_type& __c1, const char_type& __c2) noexcept { return (static_cast(__c1) < static_cast(__c2)); } static int compare(const char_type* __s1, const char_type* __s2, size_t __n) { return __builtin_memcmp(__s1, __s2, __n); } static size_t length(const char_type* __s) { return __builtin_strlen(__s); } static const char_type* find(const char_type* __s, size_t __n, const char_type& __a) { return static_cast(__builtin_memchr(__s, __a, __n)); } static char_type* move(char_type* __s1, const char_type* __s2, size_t __n) { return static_cast(__builtin_memmove(__s1, __s2, __n)); } static char_type* copy(char_type* __s1, const char_type* __s2, size_t __n) { return static_cast(__builtin_memcpy(__s1, __s2, __n)); } static char_type* assign(char_type* __s, size_t __n, char_type __a) { return static_cast(__builtin_memset(__s, __a, __n)); } static constexpr char_type to_char_type(const int_type& __c) noexcept { return static_cast(__c); } static constexpr int_type to_int_type(const char_type& __c) noexcept { return static_cast(static_cast(__c)); } static constexpr bool eq_int_type(const int_type& __c1, const int_type& __c2) noexcept { return __c1 == __c2; } static constexpr int_type eof() noexcept { return static_cast(-1); } static constexpr int_type not_eof(const int_type& __c) noexcept { return (__c == eof()) ? 0 : __c; } }; template<> struct char_traits { typedef wchar_t char_type; typedef wint_t int_type; typedef streamoff off_type; typedef wstreampos pos_type; typedef mbstate_t state_type; static void assign(char_type& __c1, const char_type& __c2) noexcept { __c1 = __c2; } static constexpr bool eq(const char_type& __c1, const char_type& __c2) noexcept { return __c1 == __c2; } static constexpr bool lt(const char_type& __c1, const char_type& __c2) noexcept { return __c1 < __c2; } static int compare(const char_type* __s1, const char_type* __s2, size_t __n) { return wmemcmp(__s1, __s2, __n); } static size_t length(const char_type* __s) { return wcslen(__s); } static const char_type* find(const char_type* __s, size_t __n, const char_type& __a) { return wmemchr(__s, __a, __n); } static char_type* move(char_type* __s1, const char_type* __s2, size_t __n) { return wmemmove(__s1, __s2, __n); } static char_type* copy(char_type* __s1, const char_type* __s2, size_t __n) { return wmemcpy(__s1, __s2, __n); } static char_type* assign(char_type* __s, size_t __n, char_type __a) { return wmemset(__s, __a, __n); } static constexpr char_type to_char_type(const int_type& __c) noexcept { return char_type(__c); } static constexpr int_type to_int_type(const char_type& __c) noexcept { return int_type(__c); } static constexpr bool eq_int_type(const int_type& __c1, const int_type& __c2) noexcept { return __c1 == __c2; } static constexpr int_type eof() noexcept { return static_cast((0xffffffffu)); } static constexpr int_type not_eof(const int_type& __c) noexcept { return eq_int_type(__c, eof()) ? 0 : __c; } }; } # 1 "/usr/include/c++/5.0.0/cstdint" 1 3 # 32 "/usr/include/c++/5.0.0/cstdint" 3 # 33 "/usr/include/c++/5.0.0/cstdint" 3 # 41 "/usr/include/c++/5.0.0/cstdint" 3 # 1 "../../../dist/system_wrappers/stdint.h" 1 3 # 2 "../../../dist/system_wrappers/stdint.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 42 "/usr/include/c++/5.0.0/cstdint" 2 3 namespace std { using ::int8_t; using ::int16_t; using ::int32_t; using ::int64_t; using ::int_fast8_t; using ::int_fast16_t; using ::int_fast32_t; using ::int_fast64_t; using ::int_least8_t; using ::int_least16_t; using ::int_least32_t; using ::int_least64_t; using ::intmax_t; using ::intptr_t; using ::uint8_t; using ::uint16_t; using ::uint32_t; using ::uint64_t; using ::uint_fast8_t; using ::uint_fast16_t; using ::uint_fast32_t; using ::uint_fast64_t; using ::uint_least8_t; using ::uint_least16_t; using ::uint_least32_t; using ::uint_least64_t; using ::uintmax_t; using ::uintptr_t; } # 381 "/usr/include/c++/5.0.0/bits/char_traits.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { template<> struct char_traits { typedef char16_t char_type; typedef uint_least16_t int_type; typedef streamoff off_type; typedef u16streampos pos_type; typedef mbstate_t state_type; static void assign(char_type& __c1, const char_type& __c2) noexcept { __c1 = __c2; } static constexpr bool eq(const char_type& __c1, const char_type& __c2) noexcept { return __c1 == __c2; } static constexpr bool lt(const char_type& __c1, const char_type& __c2) noexcept { return __c1 < __c2; } static int compare(const char_type* __s1, const char_type* __s2, size_t __n) { for (size_t __i = 0; __i < __n; ++__i) if (lt(__s1[__i], __s2[__i])) return -1; else if (lt(__s2[__i], __s1[__i])) return 1; return 0; } static size_t length(const char_type* __s) { size_t __i = 0; while (!eq(__s[__i], char_type())) ++__i; return __i; } static const char_type* find(const char_type* __s, size_t __n, const char_type& __a) { for (size_t __i = 0; __i < __n; ++__i) if (eq(__s[__i], __a)) return __s + __i; return 0; } static char_type* move(char_type* __s1, const char_type* __s2, size_t __n) { return (static_cast (__builtin_memmove(__s1, __s2, __n * sizeof(char_type)))); } static char_type* copy(char_type* __s1, const char_type* __s2, size_t __n) { return (static_cast (__builtin_memcpy(__s1, __s2, __n * sizeof(char_type)))); } static char_type* assign(char_type* __s, size_t __n, char_type __a) { for (size_t __i = 0; __i < __n; ++__i) assign(__s[__i], __a); return __s; } static constexpr char_type to_char_type(const int_type& __c) noexcept { return char_type(__c); } static constexpr int_type to_int_type(const char_type& __c) noexcept { return int_type(__c); } static constexpr bool eq_int_type(const int_type& __c1, const int_type& __c2) noexcept { return __c1 == __c2; } static constexpr int_type eof() noexcept { return static_cast(-1); } static constexpr int_type not_eof(const int_type& __c) noexcept { return eq_int_type(__c, eof()) ? 0 : __c; } }; template<> struct char_traits { typedef char32_t char_type; typedef uint_least32_t int_type; typedef streamoff off_type; typedef u32streampos pos_type; typedef mbstate_t state_type; static void assign(char_type& __c1, const char_type& __c2) noexcept { __c1 = __c2; } static constexpr bool eq(const char_type& __c1, const char_type& __c2) noexcept { return __c1 == __c2; } static constexpr bool lt(const char_type& __c1, const char_type& __c2) noexcept { return __c1 < __c2; } static int compare(const char_type* __s1, const char_type* __s2, size_t __n) { for (size_t __i = 0; __i < __n; ++__i) if (lt(__s1[__i], __s2[__i])) return -1; else if (lt(__s2[__i], __s1[__i])) return 1; return 0; } static size_t length(const char_type* __s) { size_t __i = 0; while (!eq(__s[__i], char_type())) ++__i; return __i; } static const char_type* find(const char_type* __s, size_t __n, const char_type& __a) { for (size_t __i = 0; __i < __n; ++__i) if (eq(__s[__i], __a)) return __s + __i; return 0; } static char_type* move(char_type* __s1, const char_type* __s2, size_t __n) { return (static_cast (__builtin_memmove(__s1, __s2, __n * sizeof(char_type)))); } static char_type* copy(char_type* __s1, const char_type* __s2, size_t __n) { return (static_cast (__builtin_memcpy(__s1, __s2, __n * sizeof(char_type)))); } static char_type* assign(char_type* __s, size_t __n, char_type __a) { for (size_t __i = 0; __i < __n; ++__i) assign(__s[__i], __a); return __s; } static constexpr char_type to_char_type(const int_type& __c) noexcept { return char_type(__c); } static constexpr int_type to_int_type(const char_type& __c) noexcept { return int_type(__c); } static constexpr bool eq_int_type(const int_type& __c1, const int_type& __c2) noexcept { return __c1 == __c2; } static constexpr int_type eof() noexcept { return static_cast(-1); } static constexpr int_type not_eof(const int_type& __c) noexcept { return eq_int_type(__c, eof()) ? 0 : __c; } }; } # 41 "/usr/include/c++/5.0.0/string" 2 3 # 1 "/usr/include/c++/5.0.0/bits/allocator.h" 1 3 # 46 "/usr/include/c++/5.0.0/bits/allocator.h" 3 # 1 "/usr/include/c++/5.0.0/i686-redhat-linux/bits/c++allocator.h" 1 3 # 33 "/usr/include/c++/5.0.0/i686-redhat-linux/bits/c++allocator.h" 3 # 1 "/usr/include/c++/5.0.0/ext/new_allocator.h" 1 3 # 40 "/usr/include/c++/5.0.0/ext/new_allocator.h" 3 namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { using std::size_t; using std::ptrdiff_t; # 57 "/usr/include/c++/5.0.0/ext/new_allocator.h" 3 template class new_allocator { public: typedef size_t size_type; typedef ptrdiff_t difference_type; typedef _Tp* pointer; typedef const _Tp* const_pointer; typedef _Tp& reference; typedef const _Tp& const_reference; typedef _Tp value_type; template struct rebind { typedef new_allocator<_Tp1> other; }; typedef std::true_type propagate_on_container_move_assignment; new_allocator() noexcept { } new_allocator(const new_allocator&) noexcept { } template new_allocator(const new_allocator<_Tp1>&) noexcept { } ~new_allocator() noexcept { } pointer address(reference __x) const noexcept { return std::__addressof(__x); } const_pointer address(const_reference __x) const noexcept { return std::__addressof(__x); } pointer allocate(size_type __n, const void* = 0) { if (__n > this->max_size()) std::__throw_bad_alloc(); return static_cast<_Tp*>(::operator new(__n * sizeof(_Tp))); } void deallocate(pointer __p, size_type) { ::operator delete(__p); } size_type max_size() const noexcept { return size_t(-1) / sizeof(_Tp); } template void construct(_Up* __p, _Args&&... __args) { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } template void destroy(_Up* __p) { __p->~_Up(); } # 135 "/usr/include/c++/5.0.0/ext/new_allocator.h" 3 }; template inline bool operator==(const new_allocator<_Tp>&, const new_allocator<_Tp>&) { return true; } template inline bool operator!=(const new_allocator<_Tp>&, const new_allocator<_Tp>&) { return false; } } # 34 "/usr/include/c++/5.0.0/i686-redhat-linux/bits/c++allocator.h" 2 3 namespace std { # 47 "/usr/include/c++/5.0.0/i686-redhat-linux/bits/c++allocator.h" 3 template using __allocator_base = __gnu_cxx::new_allocator<_Tp>; } # 47 "/usr/include/c++/5.0.0/bits/allocator.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { template<> class allocator { public: typedef size_t size_type; typedef ptrdiff_t difference_type; typedef void* pointer; typedef const void* const_pointer; typedef void value_type; template struct rebind { typedef allocator<_Tp1> other; }; typedef true_type propagate_on_container_move_assignment; }; # 91 "/usr/include/c++/5.0.0/bits/allocator.h" 3 template class allocator: public __allocator_base<_Tp> { public: typedef size_t size_type; typedef ptrdiff_t difference_type; typedef _Tp* pointer; typedef const _Tp* const_pointer; typedef _Tp& reference; typedef const _Tp& const_reference; typedef _Tp value_type; template struct rebind { typedef allocator<_Tp1> other; }; typedef true_type propagate_on_container_move_assignment; allocator() throw() { } allocator(const allocator& __a) throw() : __allocator_base<_Tp>(__a) { } template allocator(const allocator<_Tp1>&) throw() { } ~allocator() throw() { } }; template inline bool operator==(const allocator<_T1>&, const allocator<_T2>&) noexcept { return true; } template inline bool operator==(const allocator<_Tp>&, const allocator<_Tp>&) noexcept { return true; } template inline bool operator!=(const allocator<_T1>&, const allocator<_T2>&) noexcept { return false; } template inline bool operator!=(const allocator<_Tp>&, const allocator<_Tp>&) noexcept { return false; } extern template class allocator; extern template class allocator; template struct __alloc_swap { static void _S_do_it(_Alloc&, _Alloc&) noexcept { } }; template struct __alloc_swap<_Alloc, false> { static void _S_do_it(_Alloc& __one, _Alloc& __two) noexcept { if (__one != __two) swap(__one, __two); } }; template struct __alloc_neq { static bool _S_do_it(const _Alloc&, const _Alloc&) { return false; } }; template struct __alloc_neq<_Alloc, false> { static bool _S_do_it(const _Alloc& __one, const _Alloc& __two) { return __one != __two; } }; template, is_nothrow_move_constructible>::value> struct __shrink_to_fit_aux { static bool _S_do_it(_Tp&) noexcept { return false; } }; template struct __shrink_to_fit_aux<_Tp, true> { static bool _S_do_it(_Tp& __c) noexcept { if (true) { _Tp(__make_move_if_noexcept_iterator(__c.begin()), __make_move_if_noexcept_iterator(__c.end()), __c.get_allocator()).swap(__c); return true; } if (false) { return false; } } }; } # 42 "/usr/include/c++/5.0.0/string" 2 3 # 1 "/usr/include/c++/5.0.0/bits/localefwd.h" 1 3 # 37 "/usr/include/c++/5.0.0/bits/localefwd.h" 3 # 38 "/usr/include/c++/5.0.0/bits/localefwd.h" 3 # 1 "/usr/include/c++/5.0.0/i686-redhat-linux/bits/c++locale.h" 1 3 # 39 "/usr/include/c++/5.0.0/i686-redhat-linux/bits/c++locale.h" 3 # 40 "/usr/include/c++/5.0.0/i686-redhat-linux/bits/c++locale.h" 3 # 1 "/usr/include/c++/5.0.0/clocale" 1 3 # 39 "/usr/include/c++/5.0.0/clocale" 3 # 40 "/usr/include/c++/5.0.0/clocale" 3 # 1 "../../../dist/system_wrappers/locale.h" 1 3 # 2 "../../../dist/system_wrappers/locale.h" 3 #pragma GCC visibility push(default) # 1 "/usr/include/locale.h" 1 3 4 # 25 "/usr/include/locale.h" 3 4 # 1 "../../../dist/system_wrappers/features.h" 1 3 4 # 2 "../../../dist/system_wrappers/features.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 26 "/usr/include/locale.h" 2 3 4 # 1 "../../../dist/system_wrappers/stddef.h" 1 3 4 # 2 "../../../dist/system_wrappers/stddef.h" 3 #pragma GCC visibility push(default) # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/stddef.h" 1 3 4 # 4 "../../../dist/system_wrappers/stddef.h" 2 3 #pragma GCC visibility pop # 29 "/usr/include/locale.h" 2 3 4 # 1 "/usr/include/bits/locale.h" 1 3 4 # 30 "/usr/include/locale.h" 2 3 4 extern "C" { # 50 "/usr/include/locale.h" 3 4 struct lconv { char *decimal_point; char *thousands_sep; char *grouping; char *int_curr_symbol; char *currency_symbol; char *mon_decimal_point; char *mon_thousands_sep; char *mon_grouping; char *positive_sign; char *negative_sign; char int_frac_digits; char frac_digits; char p_cs_precedes; char p_sep_by_space; char n_cs_precedes; char n_sep_by_space; char p_sign_posn; char n_sign_posn; char int_p_cs_precedes; char int_p_sep_by_space; char int_n_cs_precedes; char int_n_sep_by_space; char int_p_sign_posn; char int_n_sign_posn; # 120 "/usr/include/locale.h" 3 4 }; extern char *setlocale (int __category, const char *__locale) throw (); extern struct lconv *localeconv (void) throw (); # 145 "/usr/include/locale.h" 3 4 # 1 "../../../dist/system_wrappers/xlocale.h" 1 3 4 # 2 "../../../dist/system_wrappers/xlocale.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 146 "/usr/include/locale.h" 2 3 4 extern __locale_t newlocale (int __category_mask, const char *__locale, __locale_t __base) throw (); # 186 "/usr/include/locale.h" 3 4 extern __locale_t duplocale (__locale_t __dataset) throw (); extern void freelocale (__locale_t __dataset) throw (); extern __locale_t uselocale (__locale_t __dataset) throw (); } # 4 "../../../dist/system_wrappers/locale.h" 2 3 #pragma GCC visibility pop # 43 "/usr/include/c++/5.0.0/clocale" 2 3 # 51 "/usr/include/c++/5.0.0/clocale" 3 namespace std { using ::lconv; using ::setlocale; using ::localeconv; } # 42 "/usr/include/c++/5.0.0/i686-redhat-linux/bits/c++locale.h" 2 3 namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { extern "C" __typeof(uselocale) __uselocale; } namespace std __attribute__ ((__visibility__ ("default"))) { typedef __locale_t __c_locale; inline int __convert_from_v(const __c_locale& __cloc __attribute__ ((__unused__)), char* __out, const int __size __attribute__ ((__unused__)), const char* __fmt, ...) { __c_locale __old = __gnu_cxx::__uselocale(__cloc); # 88 "/usr/include/c++/5.0.0/i686-redhat-linux/bits/c++locale.h" 3 __builtin_va_list __args; __builtin_va_start(__args, __fmt); const int __ret = __builtin_vsnprintf(__out, __size, __fmt, __args); __builtin_va_end(__args); __gnu_cxx::__uselocale(__old); return __ret; } } # 41 "/usr/include/c++/5.0.0/bits/localefwd.h" 2 3 # 1 "../../../dist/stl_wrappers/iosfwd" 1 3 # 18 "../../../dist/stl_wrappers/iosfwd" 3 # 19 "../../../dist/stl_wrappers/iosfwd" 3 # 33 "../../../dist/stl_wrappers/iosfwd" 3 # 1 "../../../dist/system_wrappers/new" 1 3 # 2 "../../../dist/system_wrappers/new" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 34 "../../../dist/stl_wrappers/iosfwd" 2 3 # 54 "../../../dist/stl_wrappers/iosfwd" 3 #pragma GCC visibility push(default) # 1 "../../../dist/system_wrappers/iosfwd" 1 3 # 2 "../../../dist/system_wrappers/iosfwd" 3 #pragma GCC visibility push(default) # 1 "/usr/include/c++/5.0.0/iosfwd" 1 3 # 36 "/usr/include/c++/5.0.0/iosfwd" 3 # 37 "/usr/include/c++/5.0.0/iosfwd" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 74 "/usr/include/c++/5.0.0/iosfwd" 3 class ios_base; template > class basic_ios; template > class basic_streambuf; template > class basic_istream; template > class basic_ostream; template > class basic_iostream; template, typename _Alloc = allocator<_CharT> > class basic_stringbuf; template, typename _Alloc = allocator<_CharT> > class basic_istringstream; template, typename _Alloc = allocator<_CharT> > class basic_ostringstream; template, typename _Alloc = allocator<_CharT> > class basic_stringstream; template > class basic_filebuf; template > class basic_ifstream; template > class basic_ofstream; template > class basic_fstream; template > class istreambuf_iterator; template > class ostreambuf_iterator; typedef basic_ios ios; typedef basic_streambuf streambuf; typedef basic_istream istream; typedef basic_ostream ostream; typedef basic_iostream iostream; typedef basic_stringbuf stringbuf; typedef basic_istringstream istringstream; typedef basic_ostringstream ostringstream; typedef basic_stringstream stringstream; typedef basic_filebuf filebuf; typedef basic_ifstream ifstream; typedef basic_ofstream ofstream; typedef basic_fstream fstream; typedef basic_ios wios; typedef basic_streambuf wstreambuf; typedef basic_istream wistream; typedef basic_ostream wostream; typedef basic_iostream wiostream; typedef basic_stringbuf wstringbuf; typedef basic_istringstream wistringstream; typedef basic_ostringstream wostringstream; typedef basic_stringstream wstringstream; typedef basic_filebuf wfilebuf; typedef basic_ifstream wifstream; typedef basic_ofstream wofstream; typedef basic_fstream wfstream; } # 4 "../../../dist/system_wrappers/iosfwd" 2 3 #pragma GCC visibility pop # 56 "../../../dist/stl_wrappers/iosfwd" 2 3 #pragma GCC visibility pop # 42 "/usr/include/c++/5.0.0/bits/localefwd.h" 2 3 # 1 "../../../dist/system_wrappers/cctype" 1 3 # 2 "../../../dist/system_wrappers/cctype" 3 #pragma GCC visibility push(default) # 1 "/usr/include/c++/5.0.0/cctype" 1 3 # 39 "/usr/include/c++/5.0.0/cctype" 3 # 40 "/usr/include/c++/5.0.0/cctype" 3 # 1 "../../../dist/system_wrappers/ctype.h" 1 3 # 2 "../../../dist/system_wrappers/ctype.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 43 "/usr/include/c++/5.0.0/cctype" 2 3 # 62 "/usr/include/c++/5.0.0/cctype" 3 namespace std { using ::isalnum; using ::isalpha; using ::iscntrl; using ::isdigit; using ::isgraph; using ::islower; using ::isprint; using ::ispunct; using ::isspace; using ::isupper; using ::isxdigit; using ::tolower; using ::toupper; } namespace std { using ::isblank; } # 4 "../../../dist/system_wrappers/cctype" 2 3 #pragma GCC visibility pop # 43 "/usr/include/c++/5.0.0/bits/localefwd.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 55 "/usr/include/c++/5.0.0/bits/localefwd.h" 3 class locale; template bool has_facet(const locale&) throw(); template const _Facet& use_facet(const locale&); template bool isspace(_CharT, const locale&); template bool isprint(_CharT, const locale&); template bool iscntrl(_CharT, const locale&); template bool isupper(_CharT, const locale&); template bool islower(_CharT, const locale&); template bool isalpha(_CharT, const locale&); template bool isdigit(_CharT, const locale&); template bool ispunct(_CharT, const locale&); template bool isxdigit(_CharT, const locale&); template bool isalnum(_CharT, const locale&); template bool isgraph(_CharT, const locale&); template bool isblank(_CharT, const locale&); template _CharT toupper(_CharT, const locale&); template _CharT tolower(_CharT, const locale&); class ctype_base; template class ctype; template<> class ctype; template<> class ctype; template class ctype_byname; class codecvt_base; template class codecvt; template<> class codecvt; template<> class codecvt; template class codecvt_byname; template > class num_get; template > class num_put; template class numpunct; template class numpunct_byname; template class collate; template class collate_byname; class time_base; template > class time_get; template > class time_get_byname; template > class time_put; template > class time_put_byname; class money_base; template > class money_get; template > class money_put; template class moneypunct; template class moneypunct_byname; class messages_base; template class messages; template class messages_byname; } # 44 "/usr/include/c++/5.0.0/string" 2 3 # 1 "/usr/include/c++/5.0.0/bits/ostream_insert.h" 1 3 # 33 "/usr/include/c++/5.0.0/bits/ostream_insert.h" 3 # 34 "/usr/include/c++/5.0.0/bits/ostream_insert.h" 3 # 1 "/usr/include/c++/5.0.0/bits/cxxabi_forced.h" 1 3 # 34 "/usr/include/c++/5.0.0/bits/cxxabi_forced.h" 3 # 35 "/usr/include/c++/5.0.0/bits/cxxabi_forced.h" 3 #pragma GCC visibility push(default) namespace __cxxabiv1 { class __forced_unwind { virtual ~__forced_unwind() throw(); virtual void __pure_dummy() = 0; }; } #pragma GCC visibility pop # 37 "/usr/include/c++/5.0.0/bits/ostream_insert.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { template inline void __ostream_write(basic_ostream<_CharT, _Traits>& __out, const _CharT* __s, streamsize __n) { typedef basic_ostream<_CharT, _Traits> __ostream_type; typedef typename __ostream_type::ios_base __ios_base; const streamsize __put = __out.rdbuf()->sputn(__s, __n); if (__put != __n) __out.setstate(__ios_base::badbit); } template inline void __ostream_fill(basic_ostream<_CharT, _Traits>& __out, streamsize __n) { typedef basic_ostream<_CharT, _Traits> __ostream_type; typedef typename __ostream_type::ios_base __ios_base; const _CharT __c = __out.fill(); for (; __n > 0; --__n) { const typename _Traits::int_type __put = __out.rdbuf()->sputc(__c); if (_Traits::eq_int_type(__put, _Traits::eof())) { __out.setstate(__ios_base::badbit); break; } } } template basic_ostream<_CharT, _Traits>& __ostream_insert(basic_ostream<_CharT, _Traits>& __out, const _CharT* __s, streamsize __n) { typedef basic_ostream<_CharT, _Traits> __ostream_type; typedef typename __ostream_type::ios_base __ios_base; typename __ostream_type::sentry __cerb(__out); if (__cerb) { if (true) { const streamsize __w = __out.width(); if (__w > __n) { const bool __left = ((__out.flags() & __ios_base::adjustfield) == __ios_base::left); if (!__left) __ostream_fill(__out, __w - __n); if (__out.good()) __ostream_write(__out, __s, __n); if (__left && __out.good()) __ostream_fill(__out, __w - __n); } else __ostream_write(__out, __s, __n); __out.width(0); } if (false) { __out._M_setstate(__ios_base::badbit); ; } if (false) { __out._M_setstate(__ios_base::badbit); } } return __out; } extern template ostream& __ostream_insert(ostream&, const char*, streamsize); extern template wostream& __ostream_insert(wostream&, const wchar_t*, streamsize); } # 45 "/usr/include/c++/5.0.0/string" 2 3 # 1 "/usr/include/c++/5.0.0/bits/stl_function.h" 1 3 # 63 "/usr/include/c++/5.0.0/bits/stl_function.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 104 "/usr/include/c++/5.0.0/bits/stl_function.h" 3 template struct unary_function { typedef _Arg argument_type; typedef _Result result_type; }; template struct binary_function { typedef _Arg1 first_argument_type; typedef _Arg2 second_argument_type; typedef _Result result_type; }; # 166 "/usr/include/c++/5.0.0/bits/stl_function.h" 3 template struct plus : public binary_function<_Tp, _Tp, _Tp> { _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x + __y; } }; template struct minus : public binary_function<_Tp, _Tp, _Tp> { _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x - __y; } }; template struct multiplies : public binary_function<_Tp, _Tp, _Tp> { _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x * __y; } }; template struct divides : public binary_function<_Tp, _Tp, _Tp> { _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x / __y; } }; template struct modulus : public binary_function<_Tp, _Tp, _Tp> { _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x % __y; } }; template struct negate : public unary_function<_Tp, _Tp> { _Tp operator()(const _Tp& __x) const { return -__x; } }; # 351 "/usr/include/c++/5.0.0/bits/stl_function.h" 3 template struct equal_to : public binary_function<_Tp, _Tp, bool> { bool operator()(const _Tp& __x, const _Tp& __y) const { return __x == __y; } }; template struct not_equal_to : public binary_function<_Tp, _Tp, bool> { bool operator()(const _Tp& __x, const _Tp& __y) const { return __x != __y; } }; template struct greater : public binary_function<_Tp, _Tp, bool> { bool operator()(const _Tp& __x, const _Tp& __y) const { return __x > __y; } }; template struct less : public binary_function<_Tp, _Tp, bool> { bool operator()(const _Tp& __x, const _Tp& __y) const { return __x < __y; } }; template struct greater_equal : public binary_function<_Tp, _Tp, bool> { bool operator()(const _Tp& __x, const _Tp& __y) const { return __x >= __y; } }; template struct less_equal : public binary_function<_Tp, _Tp, bool> { bool operator()(const _Tp& __x, const _Tp& __y) const { return __x <= __y; } }; # 524 "/usr/include/c++/5.0.0/bits/stl_function.h" 3 template struct logical_and : public binary_function<_Tp, _Tp, bool> { bool operator()(const _Tp& __x, const _Tp& __y) const { return __x && __y; } }; template struct logical_or : public binary_function<_Tp, _Tp, bool> { bool operator()(const _Tp& __x, const _Tp& __y) const { return __x || __y; } }; template struct logical_not : public unary_function<_Tp, bool> { bool operator()(const _Tp& __x) const { return !__x; } }; # 617 "/usr/include/c++/5.0.0/bits/stl_function.h" 3 template struct bit_and : public binary_function<_Tp, _Tp, _Tp> { _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x & __y; } }; template struct bit_or : public binary_function<_Tp, _Tp, _Tp> { _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x | __y; } }; template struct bit_xor : public binary_function<_Tp, _Tp, _Tp> { _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x ^ __y; } }; template struct bit_not : public unary_function<_Tp, _Tp> { _Tp operator()(const _Tp& __x) const { return ~__x; } }; # 741 "/usr/include/c++/5.0.0/bits/stl_function.h" 3 template class unary_negate : public unary_function { protected: _Predicate _M_pred; public: explicit unary_negate(const _Predicate& __x) : _M_pred(__x) { } bool operator()(const typename _Predicate::argument_type& __x) const { return !_M_pred(__x); } }; template inline unary_negate<_Predicate> not1(const _Predicate& __pred) { return unary_negate<_Predicate>(__pred); } template class binary_negate : public binary_function { protected: _Predicate _M_pred; public: explicit binary_negate(const _Predicate& __x) : _M_pred(__x) { } bool operator()(const typename _Predicate::first_argument_type& __x, const typename _Predicate::second_argument_type& __y) const { return !_M_pred(__x, __y); } }; template inline binary_negate<_Predicate> not2(const _Predicate& __pred) { return binary_negate<_Predicate>(__pred); } # 818 "/usr/include/c++/5.0.0/bits/stl_function.h" 3 template class pointer_to_unary_function : public unary_function<_Arg, _Result> { protected: _Result (*_M_ptr)(_Arg); public: pointer_to_unary_function() { } explicit pointer_to_unary_function(_Result (*__x)(_Arg)) : _M_ptr(__x) { } _Result operator()(_Arg __x) const { return _M_ptr(__x); } }; template inline pointer_to_unary_function<_Arg, _Result> ptr_fun(_Result (*__x)(_Arg)) { return pointer_to_unary_function<_Arg, _Result>(__x); } template class pointer_to_binary_function : public binary_function<_Arg1, _Arg2, _Result> { protected: _Result (*_M_ptr)(_Arg1, _Arg2); public: pointer_to_binary_function() { } explicit pointer_to_binary_function(_Result (*__x)(_Arg1, _Arg2)) : _M_ptr(__x) { } _Result operator()(_Arg1 __x, _Arg2 __y) const { return _M_ptr(__x, __y); } }; template inline pointer_to_binary_function<_Arg1, _Arg2, _Result> ptr_fun(_Result (*__x)(_Arg1, _Arg2)) { return pointer_to_binary_function<_Arg1, _Arg2, _Result>(__x); } template struct _Identity : public unary_function<_Tp,_Tp> { _Tp& operator()(_Tp& __x) const { return __x; } const _Tp& operator()(const _Tp& __x) const { return __x; } }; template struct _Select1st : public unary_function<_Pair, typename _Pair::first_type> { typename _Pair::first_type& operator()(_Pair& __x) const { return __x.first; } const typename _Pair::first_type& operator()(const _Pair& __x) const { return __x.first; } template typename _Pair2::first_type& operator()(_Pair2& __x) const { return __x.first; } template const typename _Pair2::first_type& operator()(const _Pair2& __x) const { return __x.first; } }; template struct _Select2nd : public unary_function<_Pair, typename _Pair::second_type> { typename _Pair::second_type& operator()(_Pair& __x) const { return __x.second; } const typename _Pair::second_type& operator()(const _Pair& __x) const { return __x.second; } }; # 938 "/usr/include/c++/5.0.0/bits/stl_function.h" 3 template class mem_fun_t : public unary_function<_Tp*, _Ret> { public: explicit mem_fun_t(_Ret (_Tp::*__pf)()) : _M_f(__pf) { } _Ret operator()(_Tp* __p) const { return (__p->*_M_f)(); } private: _Ret (_Tp::*_M_f)(); }; template class const_mem_fun_t : public unary_function { public: explicit const_mem_fun_t(_Ret (_Tp::*__pf)() const) : _M_f(__pf) { } _Ret operator()(const _Tp* __p) const { return (__p->*_M_f)(); } private: _Ret (_Tp::*_M_f)() const; }; template class mem_fun_ref_t : public unary_function<_Tp, _Ret> { public: explicit mem_fun_ref_t(_Ret (_Tp::*__pf)()) : _M_f(__pf) { } _Ret operator()(_Tp& __r) const { return (__r.*_M_f)(); } private: _Ret (_Tp::*_M_f)(); }; template class const_mem_fun_ref_t : public unary_function<_Tp, _Ret> { public: explicit const_mem_fun_ref_t(_Ret (_Tp::*__pf)() const) : _M_f(__pf) { } _Ret operator()(const _Tp& __r) const { return (__r.*_M_f)(); } private: _Ret (_Tp::*_M_f)() const; }; template class mem_fun1_t : public binary_function<_Tp*, _Arg, _Ret> { public: explicit mem_fun1_t(_Ret (_Tp::*__pf)(_Arg)) : _M_f(__pf) { } _Ret operator()(_Tp* __p, _Arg __x) const { return (__p->*_M_f)(__x); } private: _Ret (_Tp::*_M_f)(_Arg); }; template class const_mem_fun1_t : public binary_function { public: explicit const_mem_fun1_t(_Ret (_Tp::*__pf)(_Arg) const) : _M_f(__pf) { } _Ret operator()(const _Tp* __p, _Arg __x) const { return (__p->*_M_f)(__x); } private: _Ret (_Tp::*_M_f)(_Arg) const; }; template class mem_fun1_ref_t : public binary_function<_Tp, _Arg, _Ret> { public: explicit mem_fun1_ref_t(_Ret (_Tp::*__pf)(_Arg)) : _M_f(__pf) { } _Ret operator()(_Tp& __r, _Arg __x) const { return (__r.*_M_f)(__x); } private: _Ret (_Tp::*_M_f)(_Arg); }; template class const_mem_fun1_ref_t : public binary_function<_Tp, _Arg, _Ret> { public: explicit const_mem_fun1_ref_t(_Ret (_Tp::*__pf)(_Arg) const) : _M_f(__pf) { } _Ret operator()(const _Tp& __r, _Arg __x) const { return (__r.*_M_f)(__x); } private: _Ret (_Tp::*_M_f)(_Arg) const; }; template inline mem_fun_t<_Ret, _Tp> mem_fun(_Ret (_Tp::*__f)()) { return mem_fun_t<_Ret, _Tp>(__f); } template inline const_mem_fun_t<_Ret, _Tp> mem_fun(_Ret (_Tp::*__f)() const) { return const_mem_fun_t<_Ret, _Tp>(__f); } template inline mem_fun_ref_t<_Ret, _Tp> mem_fun_ref(_Ret (_Tp::*__f)()) { return mem_fun_ref_t<_Ret, _Tp>(__f); } template inline const_mem_fun_ref_t<_Ret, _Tp> mem_fun_ref(_Ret (_Tp::*__f)() const) { return const_mem_fun_ref_t<_Ret, _Tp>(__f); } template inline mem_fun1_t<_Ret, _Tp, _Arg> mem_fun(_Ret (_Tp::*__f)(_Arg)) { return mem_fun1_t<_Ret, _Tp, _Arg>(__f); } template inline const_mem_fun1_t<_Ret, _Tp, _Arg> mem_fun(_Ret (_Tp::*__f)(_Arg) const) { return const_mem_fun1_t<_Ret, _Tp, _Arg>(__f); } template inline mem_fun1_ref_t<_Ret, _Tp, _Arg> mem_fun_ref(_Ret (_Tp::*__f)(_Arg)) { return mem_fun1_ref_t<_Ret, _Tp, _Arg>(__f); } template inline const_mem_fun1_ref_t<_Ret, _Tp, _Arg> mem_fun_ref(_Ret (_Tp::*__f)(_Arg) const) { return const_mem_fun1_ref_t<_Ret, _Tp, _Arg>(__f); } } # 1 "/usr/include/c++/5.0.0/backward/binders.h" 1 3 # 60 "/usr/include/c++/5.0.0/backward/binders.h" 3 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wdeprecated-declarations" namespace std __attribute__ ((__visibility__ ("default"))) { # 107 "/usr/include/c++/5.0.0/backward/binders.h" 3 template class binder1st : public unary_function { protected: _Operation op; typename _Operation::first_argument_type value; public: binder1st(const _Operation& __x, const typename _Operation::first_argument_type& __y) : op(__x), value(__y) { } typename _Operation::result_type operator()(const typename _Operation::second_argument_type& __x) const { return op(value, __x); } typename _Operation::result_type operator()(typename _Operation::second_argument_type& __x) const { return op(value, __x); } } __attribute__ ((__deprecated__)); template inline binder1st<_Operation> bind1st(const _Operation& __fn, const _Tp& __x) { typedef typename _Operation::first_argument_type _Arg1_type; return binder1st<_Operation>(__fn, _Arg1_type(__x)); } template class binder2nd : public unary_function { protected: _Operation op; typename _Operation::second_argument_type value; public: binder2nd(const _Operation& __x, const typename _Operation::second_argument_type& __y) : op(__x), value(__y) { } typename _Operation::result_type operator()(const typename _Operation::first_argument_type& __x) const { return op(__x, value); } typename _Operation::result_type operator()(typename _Operation::first_argument_type& __x) const { return op(__x, value); } } __attribute__ ((__deprecated__)); template inline binder2nd<_Operation> bind2nd(const _Operation& __fn, const _Tp& __x) { typedef typename _Operation::second_argument_type _Arg2_type; return binder2nd<_Operation>(__fn, _Arg2_type(__x)); } } #pragma GCC diagnostic pop # 1129 "/usr/include/c++/5.0.0/bits/stl_function.h" 2 3 # 49 "/usr/include/c++/5.0.0/string" 2 3 # 1 "/usr/include/c++/5.0.0/bits/range_access.h" 1 3 # 33 "/usr/include/c++/5.0.0/bits/range_access.h" 3 # 34 "/usr/include/c++/5.0.0/bits/range_access.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template inline auto begin(_Container& __cont) -> decltype(__cont.begin()) { return __cont.begin(); } template inline auto begin(const _Container& __cont) -> decltype(__cont.begin()) { return __cont.begin(); } template inline auto end(_Container& __cont) -> decltype(__cont.end()) { return __cont.end(); } template inline auto end(const _Container& __cont) -> decltype(__cont.end()) { return __cont.end(); } template inline _Tp* begin(_Tp (&__arr)[_Nm]) { return __arr; } template inline _Tp* end(_Tp (&__arr)[_Nm]) { return __arr + _Nm; } # 225 "/usr/include/c++/5.0.0/bits/range_access.h" 3 } # 52 "/usr/include/c++/5.0.0/string" 2 3 # 1 "/usr/include/c++/5.0.0/bits/basic_string.h" 1 3 # 37 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 # 38 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 # 1 "/usr/include/c++/5.0.0/ext/atomicity.h" 1 3 # 32 "/usr/include/c++/5.0.0/ext/atomicity.h" 3 # 33 "/usr/include/c++/5.0.0/ext/atomicity.h" 3 # 1 "/usr/include/c++/5.0.0/i686-redhat-linux/bits/gthr.h" 1 3 # 30 "/usr/include/c++/5.0.0/i686-redhat-linux/bits/gthr.h" 3 #pragma GCC visibility push(default) # 148 "/usr/include/c++/5.0.0/i686-redhat-linux/bits/gthr.h" 3 # 1 "/usr/include/c++/5.0.0/i686-redhat-linux/bits/gthr-default.h" 1 3 # 35 "/usr/include/c++/5.0.0/i686-redhat-linux/bits/gthr-default.h" 3 # 1 "../../../dist/system_wrappers/pthread.h" 1 3 # 2 "../../../dist/system_wrappers/pthread.h" 3 #pragma GCC visibility push(default) # 1 "/usr/include/pthread.h" 1 3 4 # 21 "/usr/include/pthread.h" 3 4 # 1 "../../../dist/system_wrappers/features.h" 1 3 4 # 2 "../../../dist/system_wrappers/features.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 22 "/usr/include/pthread.h" 2 3 4 # 1 "../../../dist/system_wrappers/endian.h" 1 3 4 # 2 "../../../dist/system_wrappers/endian.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 23 "/usr/include/pthread.h" 2 3 4 # 1 "../../../dist/system_wrappers/sched.h" 1 3 4 # 2 "../../../dist/system_wrappers/sched.h" 3 #pragma GCC visibility push(default) # 1 "/usr/include/sched.h" 1 3 4 # 22 "/usr/include/sched.h" 3 4 # 1 "../../../dist/system_wrappers/features.h" 1 3 4 # 2 "../../../dist/system_wrappers/features.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 23 "/usr/include/sched.h" 2 3 4 # 1 "../../../dist/system_wrappers/stddef.h" 1 3 4 # 2 "../../../dist/system_wrappers/stddef.h" 3 #pragma GCC visibility push(default) # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/stddef.h" 1 3 4 # 4 "../../../dist/system_wrappers/stddef.h" 2 3 #pragma GCC visibility pop # 29 "/usr/include/sched.h" 2 3 4 # 1 "../../../dist/system_wrappers/time.h" 1 3 4 # 2 "../../../dist/system_wrappers/time.h" 3 #pragma GCC visibility push(default) # 1 "/usr/include/time.h" 1 3 4 # 4 "../../../dist/system_wrappers/time.h" 2 3 #pragma GCC visibility pop # 35 "/usr/include/sched.h" 2 3 4 # 43 "/usr/include/sched.h" 3 4 # 1 "/usr/include/bits/sched.h" 1 3 4 # 72 "/usr/include/bits/sched.h" 3 4 struct sched_param { int __sched_priority; }; extern "C" { extern int clone (int (*__fn) (void *__arg), void *__child_stack, int __flags, void *__arg, ...) throw (); extern int unshare (int __flags) throw (); extern int sched_getcpu (void) throw (); extern int setns (int __fd, int __nstype) throw (); } struct __sched_param { int __sched_priority; }; # 118 "/usr/include/bits/sched.h" 3 4 typedef unsigned long int __cpu_mask; typedef struct { __cpu_mask __bits[1024 / (8 * sizeof (__cpu_mask))]; } cpu_set_t; # 201 "/usr/include/bits/sched.h" 3 4 extern "C" { extern int __sched_cpucount (size_t __setsize, const cpu_set_t *__setp) throw (); extern cpu_set_t *__sched_cpualloc (size_t __count) throw () __attribute__ ((__warn_unused_result__)); extern void __sched_cpufree (cpu_set_t *__set) throw (); } # 44 "/usr/include/sched.h" 2 3 4 extern "C" { extern int sched_setparam (__pid_t __pid, const struct sched_param *__param) throw (); extern int sched_getparam (__pid_t __pid, struct sched_param *__param) throw (); extern int sched_setscheduler (__pid_t __pid, int __policy, const struct sched_param *__param) throw (); extern int sched_getscheduler (__pid_t __pid) throw (); extern int sched_yield (void) throw (); extern int sched_get_priority_max (int __algorithm) throw (); extern int sched_get_priority_min (int __algorithm) throw (); extern int sched_rr_get_interval (__pid_t __pid, struct timespec *__t) throw (); # 118 "/usr/include/sched.h" 3 4 extern int sched_setaffinity (__pid_t __pid, size_t __cpusetsize, const cpu_set_t *__cpuset) throw (); extern int sched_getaffinity (__pid_t __pid, size_t __cpusetsize, cpu_set_t *__cpuset) throw (); } # 4 "../../../dist/system_wrappers/sched.h" 2 3 #pragma GCC visibility pop # 24 "/usr/include/pthread.h" 2 3 4 # 1 "../../../dist/system_wrappers/time.h" 1 3 4 # 2 "../../../dist/system_wrappers/time.h" 3 #pragma GCC visibility push(default) # 1 "/usr/include/time.h" 1 3 4 # 27 "/usr/include/time.h" 3 4 # 1 "../../../dist/system_wrappers/features.h" 1 3 4 # 2 "../../../dist/system_wrappers/features.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 28 "/usr/include/time.h" 2 3 4 extern "C" { # 1 "../../../dist/system_wrappers/stddef.h" 1 3 4 # 2 "../../../dist/system_wrappers/stddef.h" 3 #pragma GCC visibility push(default) # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/stddef.h" 1 3 4 # 4 "../../../dist/system_wrappers/stddef.h" 2 3 #pragma GCC visibility pop # 38 "/usr/include/time.h" 2 3 4 # 1 "/usr/include/bits/time.h" 1 3 4 # 88 "/usr/include/bits/time.h" 3 4 # 1 "/usr/include/bits/timex.h" 1 3 4 # 25 "/usr/include/bits/timex.h" 3 4 struct timex { unsigned int modes; __syscall_slong_t offset; __syscall_slong_t freq; __syscall_slong_t maxerror; __syscall_slong_t esterror; int status; __syscall_slong_t constant; __syscall_slong_t precision; __syscall_slong_t tolerance; struct timeval time; __syscall_slong_t tick; __syscall_slong_t ppsfreq; __syscall_slong_t jitter; int shift; __syscall_slong_t stabil; __syscall_slong_t jitcnt; __syscall_slong_t calcnt; __syscall_slong_t errcnt; __syscall_slong_t stbcnt; int tai; int :32; int :32; int :32; int :32; int :32; int :32; int :32; int :32; int :32; int :32; int :32; }; # 89 "/usr/include/bits/time.h" 2 3 4 extern "C" { extern int clock_adjtime (__clockid_t __clock_id, struct timex *__utx) throw (); } # 42 "/usr/include/time.h" 2 3 4 # 131 "/usr/include/time.h" 3 4 struct tm { int tm_sec; int tm_min; int tm_hour; int tm_mday; int tm_mon; int tm_year; int tm_wday; int tm_yday; int tm_isdst; long int tm_gmtoff; const char *tm_zone; }; struct itimerspec { struct timespec it_interval; struct timespec it_value; }; struct sigevent; # 186 "/usr/include/time.h" 3 4 extern clock_t clock (void) throw (); extern time_t time (time_t *__timer) throw (); extern double difftime (time_t __time1, time_t __time0) throw () __attribute__ ((__const__)); extern time_t mktime (struct tm *__tp) throw (); extern size_t strftime (char *__restrict __s, size_t __maxsize, const char *__restrict __format, const struct tm *__restrict __tp) throw (); extern char *strptime (const char *__restrict __s, const char *__restrict __fmt, struct tm *__tp) throw (); # 1 "../../../dist/system_wrappers/xlocale.h" 1 3 4 # 2 "../../../dist/system_wrappers/xlocale.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 222 "/usr/include/time.h" 2 3 4 extern size_t strftime_l (char *__restrict __s, size_t __maxsize, const char *__restrict __format, const struct tm *__restrict __tp, __locale_t __loc) throw (); extern char *strptime_l (const char *__restrict __s, const char *__restrict __fmt, struct tm *__tp, __locale_t __loc) throw (); extern struct tm *gmtime (const time_t *__timer) throw (); extern struct tm *localtime (const time_t *__timer) throw (); extern struct tm *gmtime_r (const time_t *__restrict __timer, struct tm *__restrict __tp) throw (); extern struct tm *localtime_r (const time_t *__restrict __timer, struct tm *__restrict __tp) throw (); extern char *asctime (const struct tm *__tp) throw (); extern char *ctime (const time_t *__timer) throw (); extern char *asctime_r (const struct tm *__restrict __tp, char *__restrict __buf) throw (); extern char *ctime_r (const time_t *__restrict __timer, char *__restrict __buf) throw (); extern char *__tzname[2]; extern int __daylight; extern long int __timezone; extern char *tzname[2]; extern void tzset (void) throw (); extern int daylight; extern long int timezone; extern int stime (const time_t *__when) throw (); # 319 "/usr/include/time.h" 3 4 extern time_t timegm (struct tm *__tp) throw (); extern time_t timelocal (struct tm *__tp) throw (); extern int dysize (int __year) throw () __attribute__ ((__const__)); # 334 "/usr/include/time.h" 3 4 extern int nanosleep (const struct timespec *__requested_time, struct timespec *__remaining); extern int clock_getres (clockid_t __clock_id, struct timespec *__res) throw (); extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) throw (); extern int clock_settime (clockid_t __clock_id, const struct timespec *__tp) throw (); extern int clock_nanosleep (clockid_t __clock_id, int __flags, const struct timespec *__req, struct timespec *__rem); extern int clock_getcpuclockid (pid_t __pid, clockid_t *__clock_id) throw (); extern int timer_create (clockid_t __clock_id, struct sigevent *__restrict __evp, timer_t *__restrict __timerid) throw (); extern int timer_delete (timer_t __timerid) throw (); extern int timer_settime (timer_t __timerid, int __flags, const struct itimerspec *__restrict __value, struct itimerspec *__restrict __ovalue) throw (); extern int timer_gettime (timer_t __timerid, struct itimerspec *__value) throw (); extern int timer_getoverrun (timer_t __timerid) throw (); extern int timespec_get (struct timespec *__ts, int __base) throw () __attribute__ ((__nonnull__ (1))); # 403 "/usr/include/time.h" 3 4 extern int getdate_err; # 412 "/usr/include/time.h" 3 4 extern struct tm *getdate (const char *__string); # 426 "/usr/include/time.h" 3 4 extern int getdate_r (const char *__restrict __string, struct tm *__restrict __resbufp); } # 4 "../../../dist/system_wrappers/time.h" 2 3 #pragma GCC visibility pop # 25 "/usr/include/pthread.h" 2 3 4 # 1 "/usr/include/bits/setjmp.h" 1 3 4 # 26 "/usr/include/bits/setjmp.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 27 "/usr/include/bits/setjmp.h" 2 3 4 # 35 "/usr/include/bits/setjmp.h" 3 4 typedef int __jmp_buf[6]; # 28 "/usr/include/pthread.h" 2 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 29 "/usr/include/pthread.h" 2 3 4 enum { PTHREAD_CREATE_JOINABLE, PTHREAD_CREATE_DETACHED }; enum { PTHREAD_MUTEX_TIMED_NP, PTHREAD_MUTEX_RECURSIVE_NP, PTHREAD_MUTEX_ERRORCHECK_NP, PTHREAD_MUTEX_ADAPTIVE_NP , PTHREAD_MUTEX_NORMAL = PTHREAD_MUTEX_TIMED_NP, PTHREAD_MUTEX_RECURSIVE = PTHREAD_MUTEX_RECURSIVE_NP, PTHREAD_MUTEX_ERRORCHECK = PTHREAD_MUTEX_ERRORCHECK_NP, PTHREAD_MUTEX_DEFAULT = PTHREAD_MUTEX_NORMAL , PTHREAD_MUTEX_FAST_NP = PTHREAD_MUTEX_TIMED_NP }; enum { PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_STALLED_NP = PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_MUTEX_ROBUST_NP = PTHREAD_MUTEX_ROBUST }; enum { PTHREAD_PRIO_NONE, PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT }; # 116 "/usr/include/pthread.h" 3 4 enum { PTHREAD_RWLOCK_PREFER_READER_NP, PTHREAD_RWLOCK_PREFER_WRITER_NP, PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP, PTHREAD_RWLOCK_DEFAULT_NP = PTHREAD_RWLOCK_PREFER_READER_NP }; # 157 "/usr/include/pthread.h" 3 4 enum { PTHREAD_INHERIT_SCHED, PTHREAD_EXPLICIT_SCHED }; enum { PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS }; enum { PTHREAD_PROCESS_PRIVATE, PTHREAD_PROCESS_SHARED }; # 192 "/usr/include/pthread.h" 3 4 struct _pthread_cleanup_buffer { void (*__routine) (void *); void *__arg; int __canceltype; struct _pthread_cleanup_buffer *__prev; }; enum { PTHREAD_CANCEL_ENABLE, PTHREAD_CANCEL_DISABLE }; enum { PTHREAD_CANCEL_DEFERRED, PTHREAD_CANCEL_ASYNCHRONOUS }; # 230 "/usr/include/pthread.h" 3 4 extern "C" { extern int pthread_create (pthread_t *__restrict __newthread, const pthread_attr_t *__restrict __attr, void *(*__start_routine) (void *), void *__restrict __arg) throw () __attribute__ ((__nonnull__ (1, 3))); extern void pthread_exit (void *__retval) __attribute__ ((__noreturn__)); extern int pthread_join (pthread_t __th, void **__thread_return); extern int pthread_tryjoin_np (pthread_t __th, void **__thread_return) throw (); extern int pthread_timedjoin_np (pthread_t __th, void **__thread_return, const struct timespec *__abstime); extern int pthread_detach (pthread_t __th) throw (); extern pthread_t pthread_self (void) throw () __attribute__ ((__const__)); extern int pthread_equal (pthread_t __thread1, pthread_t __thread2) throw () __attribute__ ((__const__)); extern int pthread_attr_init (pthread_attr_t *__attr) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_attr_destroy (pthread_attr_t *__attr) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_attr_getdetachstate (const pthread_attr_t *__attr, int *__detachstate) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_attr_setdetachstate (pthread_attr_t *__attr, int __detachstate) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_attr_getguardsize (const pthread_attr_t *__attr, size_t *__guardsize) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_attr_setguardsize (pthread_attr_t *__attr, size_t __guardsize) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_attr_getschedparam (const pthread_attr_t *__restrict __attr, struct sched_param *__restrict __param) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_attr_setschedparam (pthread_attr_t *__restrict __attr, const struct sched_param *__restrict __param) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_attr_getschedpolicy (const pthread_attr_t *__restrict __attr, int *__restrict __policy) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_attr_setschedpolicy (pthread_attr_t *__attr, int __policy) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_attr_getinheritsched (const pthread_attr_t *__restrict __attr, int *__restrict __inherit) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_attr_setinheritsched (pthread_attr_t *__attr, int __inherit) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_attr_getscope (const pthread_attr_t *__restrict __attr, int *__restrict __scope) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_attr_setscope (pthread_attr_t *__attr, int __scope) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_attr_getstackaddr (const pthread_attr_t *__restrict __attr, void **__restrict __stackaddr) throw () __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__deprecated__)); extern int pthread_attr_setstackaddr (pthread_attr_t *__attr, void *__stackaddr) throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__)); extern int pthread_attr_getstacksize (const pthread_attr_t *__restrict __attr, size_t *__restrict __stacksize) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_attr_setstacksize (pthread_attr_t *__attr, size_t __stacksize) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_attr_getstack (const pthread_attr_t *__restrict __attr, void **__restrict __stackaddr, size_t *__restrict __stacksize) throw () __attribute__ ((__nonnull__ (1, 2, 3))); extern int pthread_attr_setstack (pthread_attr_t *__attr, void *__stackaddr, size_t __stacksize) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_attr_setaffinity_np (pthread_attr_t *__attr, size_t __cpusetsize, const cpu_set_t *__cpuset) throw () __attribute__ ((__nonnull__ (1, 3))); extern int pthread_attr_getaffinity_np (const pthread_attr_t *__attr, size_t __cpusetsize, cpu_set_t *__cpuset) throw () __attribute__ ((__nonnull__ (1, 3))); extern int pthread_getattr_default_np (pthread_attr_t *__attr) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_setattr_default_np (const pthread_attr_t *__attr) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_getattr_np (pthread_t __th, pthread_attr_t *__attr) throw () __attribute__ ((__nonnull__ (2))); extern int pthread_setschedparam (pthread_t __target_thread, int __policy, const struct sched_param *__param) throw () __attribute__ ((__nonnull__ (3))); extern int pthread_getschedparam (pthread_t __target_thread, int *__restrict __policy, struct sched_param *__restrict __param) throw () __attribute__ ((__nonnull__ (2, 3))); extern int pthread_setschedprio (pthread_t __target_thread, int __prio) throw (); extern int pthread_getname_np (pthread_t __target_thread, char *__buf, size_t __buflen) throw () __attribute__ ((__nonnull__ (2))); extern int pthread_setname_np (pthread_t __target_thread, const char *__name) throw () __attribute__ ((__nonnull__ (2))); extern int pthread_getconcurrency (void) throw (); extern int pthread_setconcurrency (int __level) throw (); extern int pthread_yield (void) throw (); extern int pthread_setaffinity_np (pthread_t __th, size_t __cpusetsize, const cpu_set_t *__cpuset) throw () __attribute__ ((__nonnull__ (3))); extern int pthread_getaffinity_np (pthread_t __th, size_t __cpusetsize, cpu_set_t *__cpuset) throw () __attribute__ ((__nonnull__ (3))); # 496 "/usr/include/pthread.h" 3 4 extern int pthread_once (pthread_once_t *__once_control, void (*__init_routine) (void)) __attribute__ ((__nonnull__ (1, 2))); # 508 "/usr/include/pthread.h" 3 4 extern int pthread_setcancelstate (int __state, int *__oldstate); extern int pthread_setcanceltype (int __type, int *__oldtype); extern int pthread_cancel (pthread_t __th); extern void pthread_testcancel (void); typedef struct { struct { __jmp_buf __cancel_jmp_buf; int __mask_was_saved; } __cancel_jmp_buf[1]; void *__pad[4]; } __pthread_unwind_buf_t __attribute__ ((__aligned__)); # 542 "/usr/include/pthread.h" 3 4 struct __pthread_cleanup_frame { void (*__cancel_routine) (void *); void *__cancel_arg; int __do_it; int __cancel_type; }; # 682 "/usr/include/pthread.h" 3 4 extern void __pthread_register_cancel (__pthread_unwind_buf_t *__buf) __attribute__ ((__regparm__ (1))); # 694 "/usr/include/pthread.h" 3 4 extern void __pthread_unregister_cancel (__pthread_unwind_buf_t *__buf) __attribute__ ((__regparm__ (1))); # 717 "/usr/include/pthread.h" 3 4 extern void __pthread_register_cancel_defer (__pthread_unwind_buf_t *__buf) __attribute__ ((__regparm__ (1))); # 730 "/usr/include/pthread.h" 3 4 extern void __pthread_unregister_cancel_restore (__pthread_unwind_buf_t *__buf) __attribute__ ((__regparm__ (1))); extern void __pthread_unwind_next (__pthread_unwind_buf_t *__buf) __attribute__ ((__regparm__ (1))) __attribute__ ((__noreturn__)) __attribute__ ((__weak__)) ; struct __jmp_buf_tag; extern int __sigsetjmp (struct __jmp_buf_tag *__env, int __savemask) throw (); extern int pthread_mutex_init (pthread_mutex_t *__mutex, const pthread_mutexattr_t *__mutexattr) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_mutex_destroy (pthread_mutex_t *__mutex) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_mutex_trylock (pthread_mutex_t *__mutex) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_mutex_lock (pthread_mutex_t *__mutex) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_mutex_timedlock (pthread_mutex_t *__restrict __mutex, const struct timespec *__restrict __abstime) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_mutex_unlock (pthread_mutex_t *__mutex) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_mutex_getprioceiling (const pthread_mutex_t * __restrict __mutex, int *__restrict __prioceiling) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_mutex_setprioceiling (pthread_mutex_t *__restrict __mutex, int __prioceiling, int *__restrict __old_ceiling) throw () __attribute__ ((__nonnull__ (1, 3))); extern int pthread_mutex_consistent (pthread_mutex_t *__mutex) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_mutex_consistent_np (pthread_mutex_t *__mutex) throw () __attribute__ ((__nonnull__ (1))); # 808 "/usr/include/pthread.h" 3 4 extern int pthread_mutexattr_init (pthread_mutexattr_t *__attr) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_mutexattr_destroy (pthread_mutexattr_t *__attr) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_mutexattr_getpshared (const pthread_mutexattr_t * __restrict __attr, int *__restrict __pshared) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_mutexattr_setpshared (pthread_mutexattr_t *__attr, int __pshared) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_mutexattr_gettype (const pthread_mutexattr_t *__restrict __attr, int *__restrict __kind) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_mutexattr_settype (pthread_mutexattr_t *__attr, int __kind) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_mutexattr_getprotocol (const pthread_mutexattr_t * __restrict __attr, int *__restrict __protocol) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_mutexattr_setprotocol (pthread_mutexattr_t *__attr, int __protocol) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_mutexattr_getprioceiling (const pthread_mutexattr_t * __restrict __attr, int *__restrict __prioceiling) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_mutexattr_setprioceiling (pthread_mutexattr_t *__attr, int __prioceiling) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_mutexattr_getrobust (const pthread_mutexattr_t *__attr, int *__robustness) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_mutexattr_getrobust_np (const pthread_mutexattr_t *__attr, int *__robustness) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_mutexattr_setrobust (pthread_mutexattr_t *__attr, int __robustness) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_mutexattr_setrobust_np (pthread_mutexattr_t *__attr, int __robustness) throw () __attribute__ ((__nonnull__ (1))); # 890 "/usr/include/pthread.h" 3 4 extern int pthread_rwlock_init (pthread_rwlock_t *__restrict __rwlock, const pthread_rwlockattr_t *__restrict __attr) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_rwlock_destroy (pthread_rwlock_t *__rwlock) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_rwlock_rdlock (pthread_rwlock_t *__rwlock) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_rwlock_timedrdlock (pthread_rwlock_t *__restrict __rwlock, const struct timespec *__restrict __abstime) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_rwlock_timedwrlock (pthread_rwlock_t *__restrict __rwlock, const struct timespec *__restrict __abstime) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_rwlock_unlock (pthread_rwlock_t *__rwlock) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_rwlockattr_init (pthread_rwlockattr_t *__attr) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_rwlockattr_destroy (pthread_rwlockattr_t *__attr) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_rwlockattr_getpshared (const pthread_rwlockattr_t * __restrict __attr, int *__restrict __pshared) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_rwlockattr_setpshared (pthread_rwlockattr_t *__attr, int __pshared) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_rwlockattr_getkind_np (const pthread_rwlockattr_t * __restrict __attr, int *__restrict __pref) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_rwlockattr_setkind_np (pthread_rwlockattr_t *__attr, int __pref) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_cond_init (pthread_cond_t *__restrict __cond, const pthread_condattr_t *__restrict __cond_attr) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_cond_destroy (pthread_cond_t *__cond) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_cond_signal (pthread_cond_t *__cond) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_cond_broadcast (pthread_cond_t *__cond) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_cond_wait (pthread_cond_t *__restrict __cond, pthread_mutex_t *__restrict __mutex) __attribute__ ((__nonnull__ (1, 2))); # 1002 "/usr/include/pthread.h" 3 4 extern int pthread_cond_timedwait (pthread_cond_t *__restrict __cond, pthread_mutex_t *__restrict __mutex, const struct timespec *__restrict __abstime) __attribute__ ((__nonnull__ (1, 2, 3))); extern int pthread_condattr_init (pthread_condattr_t *__attr) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_condattr_destroy (pthread_condattr_t *__attr) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_condattr_getpshared (const pthread_condattr_t * __restrict __attr, int *__restrict __pshared) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_condattr_setpshared (pthread_condattr_t *__attr, int __pshared) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_condattr_getclock (const pthread_condattr_t * __restrict __attr, __clockid_t *__restrict __clock_id) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_condattr_setclock (pthread_condattr_t *__attr, __clockid_t __clock_id) throw () __attribute__ ((__nonnull__ (1))); # 1046 "/usr/include/pthread.h" 3 4 extern int pthread_spin_init (pthread_spinlock_t *__lock, int __pshared) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_spin_destroy (pthread_spinlock_t *__lock) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_spin_lock (pthread_spinlock_t *__lock) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_spin_trylock (pthread_spinlock_t *__lock) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_spin_unlock (pthread_spinlock_t *__lock) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_barrier_init (pthread_barrier_t *__restrict __barrier, const pthread_barrierattr_t *__restrict __attr, unsigned int __count) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_barrier_destroy (pthread_barrier_t *__barrier) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_barrier_wait (pthread_barrier_t *__barrier) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_barrierattr_init (pthread_barrierattr_t *__attr) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_barrierattr_destroy (pthread_barrierattr_t *__attr) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_barrierattr_getpshared (const pthread_barrierattr_t * __restrict __attr, int *__restrict __pshared) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_barrierattr_setpshared (pthread_barrierattr_t *__attr, int __pshared) throw () __attribute__ ((__nonnull__ (1))); # 1113 "/usr/include/pthread.h" 3 4 extern int pthread_key_create (pthread_key_t *__key, void (*__destr_function) (void *)) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_key_delete (pthread_key_t __key) throw (); extern void *pthread_getspecific (pthread_key_t __key) throw (); extern int pthread_setspecific (pthread_key_t __key, const void *__pointer) throw () ; extern int pthread_getcpuclockid (pthread_t __thread_id, __clockid_t *__clock_id) throw () __attribute__ ((__nonnull__ (2))); # 1147 "/usr/include/pthread.h" 3 4 extern int pthread_atfork (void (*__prepare) (void), void (*__parent) (void), void (*__child) (void)) throw (); # 1161 "/usr/include/pthread.h" 3 4 } # 4 "../../../dist/system_wrappers/pthread.h" 2 3 #pragma GCC visibility pop # 36 "/usr/include/c++/5.0.0/i686-redhat-linux/bits/gthr-default.h" 2 3 # 47 "/usr/include/c++/5.0.0/i686-redhat-linux/bits/gthr-default.h" 3 typedef pthread_t __gthread_t; typedef pthread_key_t __gthread_key_t; typedef pthread_once_t __gthread_once_t; typedef pthread_mutex_t __gthread_mutex_t; typedef pthread_mutex_t __gthread_recursive_mutex_t; typedef pthread_cond_t __gthread_cond_t; typedef struct timespec __gthread_time_t; # 101 "/usr/include/c++/5.0.0/i686-redhat-linux/bits/gthr-default.h" 3 static __typeof(pthread_once) __gthrw_pthread_once __attribute__ ((__weakref__("pthread_once"))); static __typeof(pthread_getspecific) __gthrw_pthread_getspecific __attribute__ ((__weakref__("pthread_getspecific"))); static __typeof(pthread_setspecific) __gthrw_pthread_setspecific __attribute__ ((__weakref__("pthread_setspecific"))); static __typeof(pthread_create) __gthrw_pthread_create __attribute__ ((__weakref__("pthread_create"))); static __typeof(pthread_join) __gthrw_pthread_join __attribute__ ((__weakref__("pthread_join"))); static __typeof(pthread_equal) __gthrw_pthread_equal __attribute__ ((__weakref__("pthread_equal"))); static __typeof(pthread_self) __gthrw_pthread_self __attribute__ ((__weakref__("pthread_self"))); static __typeof(pthread_detach) __gthrw_pthread_detach __attribute__ ((__weakref__("pthread_detach"))); static __typeof(pthread_cancel) __gthrw_pthread_cancel __attribute__ ((__weakref__("pthread_cancel"))); static __typeof(sched_yield) __gthrw_sched_yield __attribute__ ((__weakref__("sched_yield"))); static __typeof(pthread_mutex_lock) __gthrw_pthread_mutex_lock __attribute__ ((__weakref__("pthread_mutex_lock"))); static __typeof(pthread_mutex_trylock) __gthrw_pthread_mutex_trylock __attribute__ ((__weakref__("pthread_mutex_trylock"))); static __typeof(pthread_mutex_timedlock) __gthrw_pthread_mutex_timedlock __attribute__ ((__weakref__("pthread_mutex_timedlock"))); static __typeof(pthread_mutex_unlock) __gthrw_pthread_mutex_unlock __attribute__ ((__weakref__("pthread_mutex_unlock"))); static __typeof(pthread_mutex_init) __gthrw_pthread_mutex_init __attribute__ ((__weakref__("pthread_mutex_init"))); static __typeof(pthread_mutex_destroy) __gthrw_pthread_mutex_destroy __attribute__ ((__weakref__("pthread_mutex_destroy"))); static __typeof(pthread_cond_init) __gthrw_pthread_cond_init __attribute__ ((__weakref__("pthread_cond_init"))); static __typeof(pthread_cond_broadcast) __gthrw_pthread_cond_broadcast __attribute__ ((__weakref__("pthread_cond_broadcast"))); static __typeof(pthread_cond_signal) __gthrw_pthread_cond_signal __attribute__ ((__weakref__("pthread_cond_signal"))); static __typeof(pthread_cond_wait) __gthrw_pthread_cond_wait __attribute__ ((__weakref__("pthread_cond_wait"))); static __typeof(pthread_cond_timedwait) __gthrw_pthread_cond_timedwait __attribute__ ((__weakref__("pthread_cond_timedwait"))); static __typeof(pthread_cond_destroy) __gthrw_pthread_cond_destroy __attribute__ ((__weakref__("pthread_cond_destroy"))); static __typeof(pthread_key_create) __gthrw_pthread_key_create __attribute__ ((__weakref__("pthread_key_create"))); static __typeof(pthread_key_delete) __gthrw_pthread_key_delete __attribute__ ((__weakref__("pthread_key_delete"))); static __typeof(pthread_mutexattr_init) __gthrw_pthread_mutexattr_init __attribute__ ((__weakref__("pthread_mutexattr_init"))); static __typeof(pthread_mutexattr_settype) __gthrw_pthread_mutexattr_settype __attribute__ ((__weakref__("pthread_mutexattr_settype"))); static __typeof(pthread_mutexattr_destroy) __gthrw_pthread_mutexattr_destroy __attribute__ ((__weakref__("pthread_mutexattr_destroy"))); # 236 "/usr/include/c++/5.0.0/i686-redhat-linux/bits/gthr-default.h" 3 static __typeof(pthread_key_create) __gthrw___pthread_key_create __attribute__ ((__weakref__("__pthread_key_create"))); # 246 "/usr/include/c++/5.0.0/i686-redhat-linux/bits/gthr-default.h" 3 static inline int __gthread_active_p (void) { static void *const __gthread_active_ptr = __extension__ (void *) &__gthrw___pthread_key_create; return __gthread_active_ptr != 0; } # 658 "/usr/include/c++/5.0.0/i686-redhat-linux/bits/gthr-default.h" 3 static inline int __gthread_create (__gthread_t *__threadid, void *(*__func) (void*), void *__args) { return __gthrw_pthread_create (__threadid, __null, __func, __args); } static inline int __gthread_join (__gthread_t __threadid, void **__value_ptr) { return __gthrw_pthread_join (__threadid, __value_ptr); } static inline int __gthread_detach (__gthread_t __threadid) { return __gthrw_pthread_detach (__threadid); } static inline int __gthread_equal (__gthread_t __t1, __gthread_t __t2) { return __gthrw_pthread_equal (__t1, __t2); } static inline __gthread_t __gthread_self (void) { return __gthrw_pthread_self (); } static inline int __gthread_yield (void) { return __gthrw_sched_yield (); } static inline int __gthread_once (__gthread_once_t *__once, void (*__func) (void)) { if (__gthread_active_p ()) return __gthrw_pthread_once (__once, __func); else return -1; } static inline int __gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) { return __gthrw_pthread_key_create (__key, __dtor); } static inline int __gthread_key_delete (__gthread_key_t __key) { return __gthrw_pthread_key_delete (__key); } static inline void * __gthread_getspecific (__gthread_key_t __key) { return __gthrw_pthread_getspecific (__key); } static inline int __gthread_setspecific (__gthread_key_t __key, const void *__ptr) { return __gthrw_pthread_setspecific (__key, __ptr); } static inline void __gthread_mutex_init_function (__gthread_mutex_t *__mutex) { if (__gthread_active_p ()) __gthrw_pthread_mutex_init (__mutex, __null); } static inline int __gthread_mutex_destroy (__gthread_mutex_t *__mutex) { if (__gthread_active_p ()) return __gthrw_pthread_mutex_destroy (__mutex); else return 0; } static inline int __gthread_mutex_lock (__gthread_mutex_t *__mutex) { if (__gthread_active_p ()) return __gthrw_pthread_mutex_lock (__mutex); else return 0; } static inline int __gthread_mutex_trylock (__gthread_mutex_t *__mutex) { if (__gthread_active_p ()) return __gthrw_pthread_mutex_trylock (__mutex); else return 0; } static inline int __gthread_mutex_timedlock (__gthread_mutex_t *__mutex, const __gthread_time_t *__abs_timeout) { if (__gthread_active_p ()) return __gthrw_pthread_mutex_timedlock (__mutex, __abs_timeout); else return 0; } static inline int __gthread_mutex_unlock (__gthread_mutex_t *__mutex) { if (__gthread_active_p ()) return __gthrw_pthread_mutex_unlock (__mutex); else return 0; } # 807 "/usr/include/c++/5.0.0/i686-redhat-linux/bits/gthr-default.h" 3 static inline int __gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) { return __gthread_mutex_lock (__mutex); } static inline int __gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) { return __gthread_mutex_trylock (__mutex); } static inline int __gthread_recursive_mutex_timedlock (__gthread_recursive_mutex_t *__mutex, const __gthread_time_t *__abs_timeout) { return __gthread_mutex_timedlock (__mutex, __abs_timeout); } static inline int __gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) { return __gthread_mutex_unlock (__mutex); } static inline int __gthread_recursive_mutex_destroy (__gthread_recursive_mutex_t *__mutex) { return __gthread_mutex_destroy (__mutex); } # 849 "/usr/include/c++/5.0.0/i686-redhat-linux/bits/gthr-default.h" 3 static inline int __gthread_cond_broadcast (__gthread_cond_t *__cond) { return __gthrw_pthread_cond_broadcast (__cond); } static inline int __gthread_cond_signal (__gthread_cond_t *__cond) { return __gthrw_pthread_cond_signal (__cond); } static inline int __gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex) { return __gthrw_pthread_cond_wait (__cond, __mutex); } static inline int __gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, const __gthread_time_t *__abs_timeout) { return __gthrw_pthread_cond_timedwait (__cond, __mutex, __abs_timeout); } static inline int __gthread_cond_wait_recursive (__gthread_cond_t *__cond, __gthread_recursive_mutex_t *__mutex) { return __gthread_cond_wait (__cond, __mutex); } static inline int __gthread_cond_destroy (__gthread_cond_t* __cond) { return __gthrw_pthread_cond_destroy (__cond); } # 149 "/usr/include/c++/5.0.0/i686-redhat-linux/bits/gthr.h" 2 3 #pragma GCC visibility pop # 36 "/usr/include/c++/5.0.0/ext/atomicity.h" 2 3 # 1 "/usr/include/c++/5.0.0/i686-redhat-linux/bits/atomic_word.h" 1 3 # 32 "/usr/include/c++/5.0.0/i686-redhat-linux/bits/atomic_word.h" 3 typedef int _Atomic_word; # 37 "/usr/include/c++/5.0.0/ext/atomicity.h" 2 3 namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { static inline _Atomic_word __exchange_and_add(volatile _Atomic_word* __mem, int __val) { return __atomic_fetch_add(__mem, __val, 4); } static inline void __atomic_add(volatile _Atomic_word* __mem, int __val) { __atomic_fetch_add(__mem, __val, 4); } # 64 "/usr/include/c++/5.0.0/ext/atomicity.h" 3 static inline _Atomic_word __exchange_and_add_single(_Atomic_word* __mem, int __val) { _Atomic_word __result = *__mem; *__mem += __val; return __result; } static inline void __atomic_add_single(_Atomic_word* __mem, int __val) { *__mem += __val; } static inline _Atomic_word __attribute__ ((__unused__)) __exchange_and_add_dispatch(_Atomic_word* __mem, int __val) { if (__gthread_active_p()) return __exchange_and_add(__mem, __val); else return __exchange_and_add_single(__mem, __val); } static inline void __attribute__ ((__unused__)) __atomic_add_dispatch(_Atomic_word* __mem, int __val) { if (__gthread_active_p()) __atomic_add(__mem, __val); else __atomic_add_single(__mem, __val); } } # 40 "/usr/include/c++/5.0.0/bits/basic_string.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 2505 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 template class basic_string { typedef typename _Alloc::template rebind<_CharT>::other _CharT_alloc_type; public: typedef _Traits traits_type; typedef typename _Traits::char_type value_type; typedef _Alloc allocator_type; typedef typename _CharT_alloc_type::size_type size_type; typedef typename _CharT_alloc_type::difference_type difference_type; typedef typename _CharT_alloc_type::reference reference; typedef typename _CharT_alloc_type::const_reference const_reference; typedef typename _CharT_alloc_type::pointer pointer; typedef typename _CharT_alloc_type::const_pointer const_pointer; typedef __gnu_cxx::__normal_iterator iterator; typedef __gnu_cxx::__normal_iterator const_iterator; typedef std::reverse_iterator const_reverse_iterator; typedef std::reverse_iterator reverse_iterator; private: # 2542 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 struct _Rep_base { size_type _M_length; size_type _M_capacity; _Atomic_word _M_refcount; }; struct _Rep : _Rep_base { typedef typename _Alloc::template rebind::other _Raw_bytes_alloc; # 2567 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 static const size_type _S_max_size; static const _CharT _S_terminal; static size_type _S_empty_rep_storage[]; static _Rep& _S_empty_rep() noexcept { void* __p = reinterpret_cast(&_S_empty_rep_storage); return *reinterpret_cast<_Rep*>(__p); } bool _M_is_leaked() const noexcept { return this->_M_refcount < 0; } bool _M_is_shared() const noexcept { return this->_M_refcount > 0; } void _M_set_leaked() noexcept { this->_M_refcount = -1; } void _M_set_sharable() noexcept { this->_M_refcount = 0; } void _M_set_length_and_sharable(size_type __n) noexcept { if (__builtin_expect(this != &_S_empty_rep(), false)) { this->_M_set_sharable(); this->_M_length = __n; traits_type::assign(this->_M_refdata()[__n], _S_terminal); } } _CharT* _M_refdata() throw() { return reinterpret_cast<_CharT*>(this + 1); } _CharT* _M_grab(const _Alloc& __alloc1, const _Alloc& __alloc2) { return (!_M_is_leaked() && __alloc1 == __alloc2) ? _M_refcopy() : _M_clone(__alloc1); } static _Rep* _S_create(size_type, size_type, const _Alloc&); void _M_dispose(const _Alloc& __a) noexcept { if (__builtin_expect(this != &_S_empty_rep(), false)) { ; if (__gnu_cxx::__exchange_and_add_dispatch(&this->_M_refcount, -1) <= 0) { ; _M_destroy(__a); } } } void _M_destroy(const _Alloc&) throw(); _CharT* _M_refcopy() throw() { if (__builtin_expect(this != &_S_empty_rep(), false)) __gnu_cxx::__atomic_add_dispatch(&this->_M_refcount, 1); return _M_refdata(); } _CharT* _M_clone(const _Alloc&, size_type __res = 0); }; struct _Alloc_hider : _Alloc { _Alloc_hider(_CharT* __dat, const _Alloc& __a) noexcept : _Alloc(__a), _M_p(__dat) { } _CharT* _M_p; }; public: static const size_type npos = static_cast(-1); private: mutable _Alloc_hider _M_dataplus; _CharT* _M_data() const noexcept { return _M_dataplus._M_p; } _CharT* _M_data(_CharT* __p) noexcept { return (_M_dataplus._M_p = __p); } _Rep* _M_rep() const noexcept { return &((reinterpret_cast<_Rep*> (_M_data()))[-1]); } iterator _M_ibegin() const noexcept { return iterator(_M_data()); } iterator _M_iend() const noexcept { return iterator(_M_data() + this->size()); } void _M_leak() { if (!_M_rep()->_M_is_leaked()) _M_leak_hard(); } size_type _M_check(size_type __pos, const char* __s) const { if (__pos > this->size()) __throw_out_of_range_fmt(("%s: __pos (which is %zu) > " "this->size() (which is %zu)") , __s, __pos, this->size()); return __pos; } void _M_check_length(size_type __n1, size_type __n2, const char* __s) const { if (this->max_size() - (this->size() - __n1) < __n2) __throw_length_error((__s)); } size_type _M_limit(size_type __pos, size_type __off) const noexcept { const bool __testoff = __off < this->size() - __pos; return __testoff ? __off : this->size() - __pos; } bool _M_disjunct(const _CharT* __s) const noexcept { return (less()(__s, _M_data()) || less()(_M_data() + this->size(), __s)); } static void _M_copy(_CharT* __d, const _CharT* __s, size_type __n) noexcept { if (__n == 1) traits_type::assign(*__d, *__s); else traits_type::copy(__d, __s, __n); } static void _M_move(_CharT* __d, const _CharT* __s, size_type __n) noexcept { if (__n == 1) traits_type::assign(*__d, *__s); else traits_type::move(__d, __s, __n); } static void _M_assign(_CharT* __d, size_type __n, _CharT __c) noexcept { if (__n == 1) traits_type::assign(*__d, __c); else traits_type::assign(__d, __n, __c); } template static void _S_copy_chars(_CharT* __p, _Iterator __k1, _Iterator __k2) noexcept { for (; __k1 != __k2; ++__k1, ++__p) traits_type::assign(*__p, *__k1); } static void _S_copy_chars(_CharT* __p, iterator __k1, iterator __k2) noexcept { _S_copy_chars(__p, __k1.base(), __k2.base()); } static void _S_copy_chars(_CharT* __p, const_iterator __k1, const_iterator __k2) noexcept { _S_copy_chars(__p, __k1.base(), __k2.base()); } static void _S_copy_chars(_CharT* __p, _CharT* __k1, _CharT* __k2) noexcept { _M_copy(__p, __k1, __k2 - __k1); } static void _S_copy_chars(_CharT* __p, const _CharT* __k1, const _CharT* __k2) noexcept { _M_copy(__p, __k1, __k2 - __k1); } static int _S_compare(size_type __n1, size_type __n2) noexcept { const difference_type __d = difference_type(__n1 - __n2); if (__d > __gnu_cxx::__numeric_traits::__max) return __gnu_cxx::__numeric_traits::__max; else if (__d < __gnu_cxx::__numeric_traits::__min) return __gnu_cxx::__numeric_traits::__min; else return int(__d); } void _M_mutate(size_type __pos, size_type __len1, size_type __len2); void _M_leak_hard(); static _Rep& _S_empty_rep() noexcept { return _Rep::_S_empty_rep(); } public: basic_string() : _M_dataplus(_S_empty_rep()._M_refdata(), _Alloc()) { } explicit basic_string(const _Alloc& __a); basic_string(const basic_string& __str); basic_string(const basic_string& __str, size_type __pos, size_type __n = npos); basic_string(const basic_string& __str, size_type __pos, size_type __n, const _Alloc& __a); # 2882 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 basic_string(const _CharT* __s, size_type __n, const _Alloc& __a = _Alloc()); basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()); basic_string(size_type __n, _CharT __c, const _Alloc& __a = _Alloc()); # 2906 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 basic_string(basic_string&& __str) noexcept : _M_dataplus(__str._M_dataplus) { __str._M_data(_S_empty_rep()._M_refdata()); } basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc()); # 2933 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 template basic_string(_InputIterator __beg, _InputIterator __end, const _Alloc& __a = _Alloc()); ~basic_string() noexcept { _M_rep()->_M_dispose(this->get_allocator()); } basic_string& operator=(const basic_string& __str) { return this->assign(__str); } basic_string& operator=(const _CharT* __s) { return this->assign(__s); } # 2966 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 basic_string& operator=(_CharT __c) { this->assign(1, __c); return *this; } # 2982 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 basic_string& operator=(basic_string&& __str) { this->swap(__str); return *this; } basic_string& operator=(initializer_list<_CharT> __l) { this->assign(__l.begin(), __l.size()); return *this; } iterator begin() { _M_leak(); return iterator(_M_data()); } const_iterator begin() const noexcept { return const_iterator(_M_data()); } iterator end() { _M_leak(); return iterator(_M_data() + this->size()); } const_iterator end() const noexcept { return const_iterator(_M_data() + this->size()); } reverse_iterator rbegin() { return reverse_iterator(this->end()); } const_reverse_iterator rbegin() const noexcept { return const_reverse_iterator(this->end()); } reverse_iterator rend() { return reverse_iterator(this->begin()); } const_reverse_iterator rend() const noexcept { return const_reverse_iterator(this->begin()); } const_iterator cbegin() const noexcept { return const_iterator(this->_M_data()); } const_iterator cend() const noexcept { return const_iterator(this->_M_data() + this->size()); } const_reverse_iterator crbegin() const noexcept { return const_reverse_iterator(this->end()); } const_reverse_iterator crend() const noexcept { return const_reverse_iterator(this->begin()); } public: size_type size() const noexcept { return _M_rep()->_M_length; } size_type length() const noexcept { return _M_rep()->_M_length; } size_type max_size() const noexcept { return _Rep::_S_max_size; } # 3142 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 void resize(size_type __n, _CharT __c); # 3155 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 void resize(size_type __n) { this->resize(__n, _CharT()); } void shrink_to_fit() noexcept { if (capacity() > size()) { if (true) { reserve(0); } if (false) { } } } size_type capacity() const noexcept { return _M_rep()->_M_capacity; } # 3199 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 void reserve(size_type __res_arg = 0); void clear() { _M_mutate(0, this->size(), 0); } bool empty() const noexcept { return this->size() == 0; } # 3229 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 const_reference operator[] (size_type __pos) const noexcept { ; return _M_data()[__pos]; } # 3246 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 reference operator[](size_type __pos) { ; ; _M_leak(); return _M_data()[__pos]; } # 3268 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 const_reference at(size_type __n) const { if (__n >= this->size()) __throw_out_of_range_fmt(("basic_string::at: __n " "(which is %zu) >= this->size() " "(which is %zu)") , __n, this->size()); return _M_data()[__n]; } # 3290 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 reference at(size_type __n) { if (__n >= size()) __throw_out_of_range_fmt(("basic_string::at: __n " "(which is %zu) >= this->size() " "(which is %zu)") , __n, this->size()); _M_leak(); return _M_data()[__n]; } reference front() { return operator[](0); } const_reference front() const noexcept { return operator[](0); } reference back() { return operator[](this->size() - 1); } const_reference back() const noexcept { return operator[](this->size() - 1); } # 3342 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 basic_string& operator+=(const basic_string& __str) { return this->append(__str); } basic_string& operator+=(const _CharT* __s) { return this->append(__s); } basic_string& operator+=(_CharT __c) { this->push_back(__c); return *this; } basic_string& operator+=(initializer_list<_CharT> __l) { return this->append(__l.begin(), __l.size()); } basic_string& append(const basic_string& __str); # 3399 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 basic_string& append(const basic_string& __str, size_type __pos, size_type __n); basic_string& append(const _CharT* __s, size_type __n); basic_string& append(const _CharT* __s) { ; return this->append(__s, traits_type::length(__s)); } # 3431 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 basic_string& append(size_type __n, _CharT __c); basic_string& append(initializer_list<_CharT> __l) { return this->append(__l.begin(), __l.size()); } # 3453 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 template basic_string& append(_InputIterator __first, _InputIterator __last) { return this->replace(_M_iend(), _M_iend(), __first, __last); } void push_back(_CharT __c) { const size_type __len = 1 + this->size(); if (__len > this->capacity() || _M_rep()->_M_is_shared()) this->reserve(__len); traits_type::assign(_M_data()[this->size()], __c); _M_rep()->_M_set_length_and_sharable(__len); } basic_string& assign(const basic_string& __str); # 3490 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 basic_string& assign(basic_string&& __str) { this->swap(__str); return *this; } # 3511 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 basic_string& assign(const basic_string& __str, size_type __pos, size_type __n) { return this->assign(__str._M_data() + __str._M_check(__pos, "basic_string::assign"), __str._M_limit(__pos, __n)); } # 3527 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 basic_string& assign(const _CharT* __s, size_type __n); # 3539 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 basic_string& assign(const _CharT* __s) { ; return this->assign(__s, traits_type::length(__s)); } # 3555 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 basic_string& assign(size_type __n, _CharT __c) { return _M_replace_aux(size_type(0), this->size(), __n, __c); } # 3567 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 template basic_string& assign(_InputIterator __first, _InputIterator __last) { return this->replace(_M_ibegin(), _M_iend(), __first, __last); } basic_string& assign(initializer_list<_CharT> __l) { return this->assign(__l.begin(), __l.size()); } # 3596 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 void insert(iterator __p, size_type __n, _CharT __c) { this->replace(__p, __p, __n, __c); } # 3612 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 template void insert(iterator __p, _InputIterator __beg, _InputIterator __end) { this->replace(__p, __p, __beg, __end); } # 3624 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 void insert(iterator __p, initializer_list<_CharT> __l) { ; this->insert(__p - _M_ibegin(), __l.begin(), __l.size()); } # 3644 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 basic_string& insert(size_type __pos1, const basic_string& __str) { return this->insert(__pos1, __str, size_type(0), __str.size()); } # 3666 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 basic_string& insert(size_type __pos1, const basic_string& __str, size_type __pos2, size_type __n) { return this->insert(__pos1, __str._M_data() + __str._M_check(__pos2, "basic_string::insert"), __str._M_limit(__pos2, __n)); } # 3689 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 basic_string& insert(size_type __pos, const _CharT* __s, size_type __n); # 3707 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 basic_string& insert(size_type __pos, const _CharT* __s) { ; return this->insert(__pos, __s, traits_type::length(__s)); } # 3730 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 basic_string& insert(size_type __pos, size_type __n, _CharT __c) { return _M_replace_aux(_M_check(__pos, "basic_string::insert"), size_type(0), __n, __c); } # 3748 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 iterator insert(iterator __p, _CharT __c) { ; const size_type __pos = __p - _M_ibegin(); _M_replace_aux(__pos, size_type(0), size_type(1), __c); _M_rep()->_M_set_leaked(); return iterator(_M_data() + __pos); } # 3773 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 basic_string& erase(size_type __pos = 0, size_type __n = npos) { _M_mutate(_M_check(__pos, "basic_string::erase"), _M_limit(__pos, __n), size_type(0)); return *this; } # 3789 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 iterator erase(iterator __position) { ; const size_type __pos = __position - _M_ibegin(); _M_mutate(__pos, size_type(1), size_type(0)); _M_rep()->_M_set_leaked(); return iterator(_M_data() + __pos); } # 3809 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 iterator erase(iterator __first, iterator __last); void pop_back() { erase(size()-1, 1); } # 3840 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 basic_string& replace(size_type __pos, size_type __n, const basic_string& __str) { return this->replace(__pos, __n, __str._M_data(), __str.size()); } # 3862 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 basic_string& replace(size_type __pos1, size_type __n1, const basic_string& __str, size_type __pos2, size_type __n2) { return this->replace(__pos1, __n1, __str._M_data() + __str._M_check(__pos2, "basic_string::replace"), __str._M_limit(__pos2, __n2)); } # 3887 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 basic_string& replace(size_type __pos, size_type __n1, const _CharT* __s, size_type __n2); # 3907 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 basic_string& replace(size_type __pos, size_type __n1, const _CharT* __s) { ; return this->replace(__pos, __n1, __s, traits_type::length(__s)); } # 3931 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 basic_string& replace(size_type __pos, size_type __n1, size_type __n2, _CharT __c) { return _M_replace_aux(_M_check(__pos, "basic_string::replace"), _M_limit(__pos, __n1), __n2, __c); } # 3949 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 basic_string& replace(iterator __i1, iterator __i2, const basic_string& __str) { return this->replace(__i1, __i2, __str._M_data(), __str.size()); } # 3968 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 basic_string& replace(iterator __i1, iterator __i2, const _CharT* __s, size_type __n) { ; return this->replace(__i1 - _M_ibegin(), __i2 - __i1, __s, __n); } # 3989 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 basic_string& replace(iterator __i1, iterator __i2, const _CharT* __s) { ; return this->replace(__i1, __i2, __s, traits_type::length(__s)); } # 4010 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 basic_string& replace(iterator __i1, iterator __i2, size_type __n, _CharT __c) { ; return _M_replace_aux(__i1 - _M_ibegin(), __i2 - __i1, __n, __c); } # 4033 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 template basic_string& replace(iterator __i1, iterator __i2, _InputIterator __k1, _InputIterator __k2) { ; ; typedef typename std::__is_integer<_InputIterator>::__type _Integral; return _M_replace_dispatch(__i1, __i2, __k1, __k2, _Integral()); } basic_string& replace(iterator __i1, iterator __i2, _CharT* __k1, _CharT* __k2) { ; ; return this->replace(__i1 - _M_ibegin(), __i2 - __i1, __k1, __k2 - __k1); } basic_string& replace(iterator __i1, iterator __i2, const _CharT* __k1, const _CharT* __k2) { ; ; return this->replace(__i1 - _M_ibegin(), __i2 - __i1, __k1, __k2 - __k1); } basic_string& replace(iterator __i1, iterator __i2, iterator __k1, iterator __k2) { ; ; return this->replace(__i1 - _M_ibegin(), __i2 - __i1, __k1.base(), __k2 - __k1); } basic_string& replace(iterator __i1, iterator __i2, const_iterator __k1, const_iterator __k2) { ; ; return this->replace(__i1 - _M_ibegin(), __i2 - __i1, __k1.base(), __k2 - __k1); } # 4104 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 basic_string& replace(iterator __i1, iterator __i2, initializer_list<_CharT> __l) { return this->replace(__i1, __i2, __l.begin(), __l.end()); } private: template basic_string& _M_replace_dispatch(iterator __i1, iterator __i2, _Integer __n, _Integer __val, __true_type) { return _M_replace_aux(__i1 - _M_ibegin(), __i2 - __i1, __n, __val); } template basic_string& _M_replace_dispatch(iterator __i1, iterator __i2, _InputIterator __k1, _InputIterator __k2, __false_type); basic_string& _M_replace_aux(size_type __pos1, size_type __n1, size_type __n2, _CharT __c); basic_string& _M_replace_safe(size_type __pos1, size_type __n1, const _CharT* __s, size_type __n2); template static _CharT* _S_construct_aux(_InIterator __beg, _InIterator __end, const _Alloc& __a, __false_type) { typedef typename iterator_traits<_InIterator>::iterator_category _Tag; return _S_construct(__beg, __end, __a, _Tag()); } template static _CharT* _S_construct_aux(_Integer __beg, _Integer __end, const _Alloc& __a, __true_type) { return _S_construct_aux_2(static_cast(__beg), __end, __a); } static _CharT* _S_construct_aux_2(size_type __req, _CharT __c, const _Alloc& __a) { return _S_construct(__req, __c, __a); } template static _CharT* _S_construct(_InIterator __beg, _InIterator __end, const _Alloc& __a) { typedef typename std::__is_integer<_InIterator>::__type _Integral; return _S_construct_aux(__beg, __end, __a, _Integral()); } template static _CharT* _S_construct(_InIterator __beg, _InIterator __end, const _Alloc& __a, input_iterator_tag); template static _CharT* _S_construct(_FwdIterator __beg, _FwdIterator __end, const _Alloc& __a, forward_iterator_tag); static _CharT* _S_construct(size_type __req, _CharT __c, const _Alloc& __a); public: # 4191 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 size_type copy(_CharT* __s, size_type __n, size_type __pos = 0) const; # 4202 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 void swap(basic_string& __s); # 4212 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 const _CharT* c_str() const noexcept { return _M_data(); } const _CharT* data() const noexcept { return _M_data(); } allocator_type get_allocator() const noexcept { return _M_dataplus; } # 4245 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 size_type find(const _CharT* __s, size_type __pos, size_type __n) const; # 4258 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 size_type find(const basic_string& __str, size_type __pos = 0) const noexcept { return this->find(__str.data(), __pos, __str.size()); } # 4273 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 size_type find(const _CharT* __s, size_type __pos = 0) const { ; return this->find(__s, __pos, traits_type::length(__s)); } # 4290 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 size_type find(_CharT __c, size_type __pos = 0) const noexcept; # 4303 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 size_type rfind(const basic_string& __str, size_type __pos = npos) const noexcept { return this->rfind(__str.data(), __pos, __str.size()); } # 4320 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 size_type rfind(const _CharT* __s, size_type __pos, size_type __n) const; # 4333 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 size_type rfind(const _CharT* __s, size_type __pos = npos) const { ; return this->rfind(__s, __pos, traits_type::length(__s)); } # 4350 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 size_type rfind(_CharT __c, size_type __pos = npos) const noexcept; # 4364 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 size_type find_first_of(const basic_string& __str, size_type __pos = 0) const noexcept { return this->find_first_of(__str.data(), __pos, __str.size()); } # 4381 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 size_type find_first_of(const _CharT* __s, size_type __pos, size_type __n) const; # 4394 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 size_type find_first_of(const _CharT* __s, size_type __pos = 0) const { ; return this->find_first_of(__s, __pos, traits_type::length(__s)); } # 4413 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 size_type find_first_of(_CharT __c, size_type __pos = 0) const noexcept { return this->find(__c, __pos); } # 4428 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 size_type find_last_of(const basic_string& __str, size_type __pos = npos) const noexcept { return this->find_last_of(__str.data(), __pos, __str.size()); } # 4445 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 size_type find_last_of(const _CharT* __s, size_type __pos, size_type __n) const; # 4458 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 size_type find_last_of(const _CharT* __s, size_type __pos = npos) const { ; return this->find_last_of(__s, __pos, traits_type::length(__s)); } # 4477 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 size_type find_last_of(_CharT __c, size_type __pos = npos) const noexcept { return this->rfind(__c, __pos); } # 4491 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 size_type find_first_not_of(const basic_string& __str, size_type __pos = 0) const noexcept { return this->find_first_not_of(__str.data(), __pos, __str.size()); } # 4508 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 size_type find_first_not_of(const _CharT* __s, size_type __pos, size_type __n) const; # 4522 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 size_type find_first_not_of(const _CharT* __s, size_type __pos = 0) const { ; return this->find_first_not_of(__s, __pos, traits_type::length(__s)); } # 4539 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 size_type find_first_not_of(_CharT __c, size_type __pos = 0) const noexcept; # 4554 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 size_type find_last_not_of(const basic_string& __str, size_type __pos = npos) const noexcept { return this->find_last_not_of(__str.data(), __pos, __str.size()); } # 4571 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 size_type find_last_not_of(const _CharT* __s, size_type __pos, size_type __n) const; # 4585 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 size_type find_last_not_of(const _CharT* __s, size_type __pos = npos) const { ; return this->find_last_not_of(__s, __pos, traits_type::length(__s)); } # 4602 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 size_type find_last_not_of(_CharT __c, size_type __pos = npos) const noexcept; # 4618 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 basic_string substr(size_type __pos = 0, size_type __n = npos) const { return basic_string(*this, _M_check(__pos, "basic_string::substr"), __n); } # 4637 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 int compare(const basic_string& __str) const { const size_type __size = this->size(); const size_type __osize = __str.size(); const size_type __len = std::min(__size, __osize); int __r = traits_type::compare(_M_data(), __str.data(), __len); if (!__r) __r = _S_compare(__size, __osize); return __r; } # 4669 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 int compare(size_type __pos, size_type __n, const basic_string& __str) const; # 4695 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 int compare(size_type __pos1, size_type __n1, const basic_string& __str, size_type __pos2, size_type __n2) const; # 4713 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 int compare(const _CharT* __s) const; # 4737 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 int compare(size_type __pos, size_type __n1, const _CharT* __s) const; # 4764 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 int compare(size_type __pos, size_type __n1, const _CharT* __s, size_type __n2) const; }; # 4777 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 template basic_string<_CharT, _Traits, _Alloc> operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) { basic_string<_CharT, _Traits, _Alloc> __str(__lhs); __str.append(__rhs); return __str; } template basic_string<_CharT,_Traits,_Alloc> operator+(const _CharT* __lhs, const basic_string<_CharT,_Traits,_Alloc>& __rhs); template basic_string<_CharT,_Traits,_Alloc> operator+(_CharT __lhs, const basic_string<_CharT,_Traits,_Alloc>& __rhs); template inline basic_string<_CharT, _Traits, _Alloc> operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, const _CharT* __rhs) { basic_string<_CharT, _Traits, _Alloc> __str(__lhs); __str.append(__rhs); return __str; } template inline basic_string<_CharT, _Traits, _Alloc> operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, _CharT __rhs) { typedef basic_string<_CharT, _Traits, _Alloc> __string_type; typedef typename __string_type::size_type __size_type; __string_type __str(__lhs); __str.append(__size_type(1), __rhs); return __str; } template inline basic_string<_CharT, _Traits, _Alloc> operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) { return std::move(__lhs.append(__rhs)); } template inline basic_string<_CharT, _Traits, _Alloc> operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, basic_string<_CharT, _Traits, _Alloc>&& __rhs) { return std::move(__rhs.insert(0, __lhs)); } template inline basic_string<_CharT, _Traits, _Alloc> operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs, basic_string<_CharT, _Traits, _Alloc>&& __rhs) { const auto __size = __lhs.size() + __rhs.size(); const bool __cond = (__size > __lhs.capacity() && __size <= __rhs.capacity()); return __cond ? std::move(__rhs.insert(0, __lhs)) : std::move(__lhs.append(__rhs)); } template inline basic_string<_CharT, _Traits, _Alloc> operator+(const _CharT* __lhs, basic_string<_CharT, _Traits, _Alloc>&& __rhs) { return std::move(__rhs.insert(0, __lhs)); } template inline basic_string<_CharT, _Traits, _Alloc> operator+(_CharT __lhs, basic_string<_CharT, _Traits, _Alloc>&& __rhs) { return std::move(__rhs.insert(0, 1, __lhs)); } template inline basic_string<_CharT, _Traits, _Alloc> operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs, const _CharT* __rhs) { return std::move(__lhs.append(__rhs)); } template inline basic_string<_CharT, _Traits, _Alloc> operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs, _CharT __rhs) { return std::move(__lhs.append(1, __rhs)); } # 4898 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 template inline bool operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) { return __lhs.compare(__rhs) == 0; } template inline typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, bool>::__type operator==(const basic_string<_CharT>& __lhs, const basic_string<_CharT>& __rhs) { return (__lhs.size() == __rhs.size() && !std::char_traits<_CharT>::compare(__lhs.data(), __rhs.data(), __lhs.size())); } template inline bool operator==(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) { return __rhs.compare(__lhs) == 0; } template inline bool operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs, const _CharT* __rhs) { return __lhs.compare(__rhs) == 0; } # 4944 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 template inline bool operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) { return !(__lhs == __rhs); } template inline bool operator!=(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) { return !(__lhs == __rhs); } template inline bool operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, const _CharT* __rhs) { return !(__lhs == __rhs); } # 4981 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 template inline bool operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) { return __lhs.compare(__rhs) < 0; } template inline bool operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs, const _CharT* __rhs) { return __lhs.compare(__rhs) < 0; } template inline bool operator<(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) { return __rhs.compare(__lhs) > 0; } # 5018 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 template inline bool operator>(const basic_string<_CharT, _Traits, _Alloc>& __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) { return __lhs.compare(__rhs) > 0; } template inline bool operator>(const basic_string<_CharT, _Traits, _Alloc>& __lhs, const _CharT* __rhs) { return __lhs.compare(__rhs) > 0; } template inline bool operator>(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) { return __rhs.compare(__lhs) < 0; } # 5055 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 template inline bool operator<=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) { return __lhs.compare(__rhs) <= 0; } template inline bool operator<=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, const _CharT* __rhs) { return __lhs.compare(__rhs) <= 0; } template inline bool operator<=(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) { return __rhs.compare(__lhs) >= 0; } # 5092 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 template inline bool operator>=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) { return __lhs.compare(__rhs) >= 0; } template inline bool operator>=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, const _CharT* __rhs) { return __lhs.compare(__rhs) >= 0; } template inline bool operator>=(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) { return __rhs.compare(__lhs) <= 0; } # 5129 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 template inline void swap(basic_string<_CharT, _Traits, _Alloc>& __lhs, basic_string<_CharT, _Traits, _Alloc>& __rhs) { __lhs.swap(__rhs); } # 5148 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 template basic_istream<_CharT, _Traits>& operator>>(basic_istream<_CharT, _Traits>& __is, basic_string<_CharT, _Traits, _Alloc>& __str); template<> basic_istream& operator>>(basic_istream& __is, basic_string& __str); # 5166 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 template inline basic_ostream<_CharT, _Traits>& operator<<(basic_ostream<_CharT, _Traits>& __os, const basic_string<_CharT, _Traits, _Alloc>& __str) { return __ostream_insert(__os, __str.data(), __str.size()); } # 5189 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 template basic_istream<_CharT, _Traits>& getline(basic_istream<_CharT, _Traits>& __is, basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim); # 5206 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 template inline basic_istream<_CharT, _Traits>& getline(basic_istream<_CharT, _Traits>& __is, basic_string<_CharT, _Traits, _Alloc>& __str) { return std::getline(__is, __str, __is.widen('\n')); } template inline basic_istream<_CharT, _Traits>& getline(basic_istream<_CharT, _Traits>&& __is, basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim) { return std::getline(__is, __str, __delim); } template inline basic_istream<_CharT, _Traits>& getline(basic_istream<_CharT, _Traits>&& __is, basic_string<_CharT, _Traits, _Alloc>& __str) { return std::getline(__is, __str); } template<> basic_istream& getline(basic_istream& __in, basic_string& __str, char __delim); template<> basic_istream& getline(basic_istream& __in, basic_string& __str, wchar_t __delim); } # 1 "/usr/include/c++/5.0.0/ext/string_conversions.h" 1 3 # 32 "/usr/include/c++/5.0.0/ext/string_conversions.h" 3 # 33 "/usr/include/c++/5.0.0/ext/string_conversions.h" 3 # 43 "/usr/include/c++/5.0.0/ext/string_conversions.h" 3 # 1 "../../../dist/stl_wrappers/cstdio" 1 3 # 18 "../../../dist/stl_wrappers/cstdio" 3 # 19 "../../../dist/stl_wrappers/cstdio" 3 # 33 "../../../dist/stl_wrappers/cstdio" 3 # 1 "../../../dist/system_wrappers/new" 1 3 # 2 "../../../dist/system_wrappers/new" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 34 "../../../dist/stl_wrappers/cstdio" 2 3 # 54 "../../../dist/stl_wrappers/cstdio" 3 #pragma GCC visibility push(default) # 1 "../../../dist/system_wrappers/cstdio" 1 3 # 2 "../../../dist/system_wrappers/cstdio" 3 #pragma GCC visibility push(default) # 1 "/usr/include/c++/5.0.0/cstdio" 1 3 # 39 "/usr/include/c++/5.0.0/cstdio" 3 # 40 "/usr/include/c++/5.0.0/cstdio" 3 # 1 "../../../dist/system_wrappers/stdio.h" 1 3 # 2 "../../../dist/system_wrappers/stdio.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 43 "/usr/include/c++/5.0.0/cstdio" 2 3 # 96 "/usr/include/c++/5.0.0/cstdio" 3 namespace std { using ::FILE; using ::fpos_t; using ::clearerr; using ::fclose; using ::feof; using ::ferror; using ::fflush; using ::fgetc; using ::fgetpos; using ::fgets; using ::fopen; using ::fprintf; using ::fputc; using ::fputs; using ::fread; using ::freopen; using ::fscanf; using ::fseek; using ::fsetpos; using ::ftell; using ::fwrite; using ::getc; using ::getchar; using ::gets; using ::perror; using ::printf; using ::putc; using ::putchar; using ::puts; using ::remove; using ::rename; using ::rewind; using ::scanf; using ::setbuf; using ::setvbuf; using ::sprintf; using ::sscanf; using ::tmpfile; using ::tmpnam; using ::ungetc; using ::vfprintf; using ::vprintf; using ::vsprintf; } # 157 "/usr/include/c++/5.0.0/cstdio" 3 namespace __gnu_cxx { # 175 "/usr/include/c++/5.0.0/cstdio" 3 using ::snprintf; using ::vfscanf; using ::vscanf; using ::vsnprintf; using ::vsscanf; } namespace std { using ::__gnu_cxx::snprintf; using ::__gnu_cxx::vfscanf; using ::__gnu_cxx::vscanf; using ::__gnu_cxx::vsnprintf; using ::__gnu_cxx::vsscanf; } # 4 "../../../dist/system_wrappers/cstdio" 2 3 #pragma GCC visibility pop # 56 "../../../dist/stl_wrappers/cstdio" 2 3 #pragma GCC visibility pop # 44 "/usr/include/c++/5.0.0/ext/string_conversions.h" 2 3 # 1 "../../../dist/system_wrappers/cerrno" 1 3 # 2 "../../../dist/system_wrappers/cerrno" 3 #pragma GCC visibility push(default) # 1 "/usr/include/c++/5.0.0/cerrno" 1 3 # 39 "/usr/include/c++/5.0.0/cerrno" 3 # 40 "/usr/include/c++/5.0.0/cerrno" 3 # 1 "../../../dist/system_wrappers/errno.h" 1 3 # 2 "../../../dist/system_wrappers/errno.h" 3 #pragma GCC visibility push(default) # 1 "/usr/include/errno.h" 1 3 4 # 28 "/usr/include/errno.h" 3 4 # 1 "../../../dist/system_wrappers/features.h" 1 3 4 # 2 "../../../dist/system_wrappers/features.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 29 "/usr/include/errno.h" 2 3 4 extern "C" { # 1 "/usr/include/bits/errno.h" 1 3 4 # 24 "/usr/include/bits/errno.h" 3 4 # 1 "/usr/include/linux/errno.h" 1 3 4 # 1 "/usr/include/asm/errno.h" 1 3 4 # 1 "/usr/include/asm-generic/errno.h" 1 3 4 # 1 "/usr/include/asm-generic/errno-base.h" 1 3 4 # 5 "/usr/include/asm-generic/errno.h" 2 3 4 # 1 "/usr/include/asm/errno.h" 2 3 4 # 1 "/usr/include/linux/errno.h" 2 3 4 # 25 "/usr/include/bits/errno.h" 2 3 4 # 50 "/usr/include/bits/errno.h" 3 4 extern int *__errno_location (void) throw () __attribute__ ((__const__)); # 36 "/usr/include/errno.h" 2 3 4 # 54 "/usr/include/errno.h" 3 4 extern char *program_invocation_name, *program_invocation_short_name; } # 68 "/usr/include/errno.h" 3 4 typedef int error_t; # 4 "../../../dist/system_wrappers/errno.h" 2 3 #pragma GCC visibility pop # 42 "/usr/include/c++/5.0.0/cerrno" 2 3 # 4 "../../../dist/system_wrappers/cerrno" 2 3 #pragma GCC visibility pop # 45 "/usr/include/c++/5.0.0/ext/string_conversions.h" 2 3 namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { template _Ret __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...), const char* __name, const _CharT* __str, std::size_t* __idx, _Base... __base) { _Ret __ret; _CharT* __endptr; (*__errno_location ()) = 0; const _TRet __tmp = __convf(__str, &__endptr, __base...); if (__endptr == __str) std::__throw_invalid_argument(__name); else if ((*__errno_location ()) == 34 || (std::__are_same<_Ret, int>::__value && (__tmp < __numeric_traits::__min || __tmp > __numeric_traits::__max))) std::__throw_out_of_range(__name); else __ret = __tmp; if (__idx) *__idx = __endptr - __str; return __ret; } template _String __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*, __builtin_va_list), std::size_t __n, const _CharT* __fmt, ...) { _CharT* __s = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * __n)); __builtin_va_list __args; __builtin_va_start(__args, __fmt); const int __len = __convf(__s, __n, __fmt, __args); __builtin_va_end(__args); return _String(__s, __s + __len); } } # 5246 "/usr/include/c++/5.0.0/bits/basic_string.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { inline int stoi(const string& __str, size_t* __idx = 0, int __base = 10) { return __gnu_cxx::__stoa(&std::strtol, "stoi", __str.c_str(), __idx, __base); } inline long stol(const string& __str, size_t* __idx = 0, int __base = 10) { return __gnu_cxx::__stoa(&std::strtol, "stol", __str.c_str(), __idx, __base); } inline unsigned long stoul(const string& __str, size_t* __idx = 0, int __base = 10) { return __gnu_cxx::__stoa(&std::strtoul, "stoul", __str.c_str(), __idx, __base); } inline long long stoll(const string& __str, size_t* __idx = 0, int __base = 10) { return __gnu_cxx::__stoa(&std::strtoll, "stoll", __str.c_str(), __idx, __base); } inline unsigned long long stoull(const string& __str, size_t* __idx = 0, int __base = 10) { return __gnu_cxx::__stoa(&std::strtoull, "stoull", __str.c_str(), __idx, __base); } inline float stof(const string& __str, size_t* __idx = 0) { return __gnu_cxx::__stoa(&std::strtof, "stof", __str.c_str(), __idx); } inline double stod(const string& __str, size_t* __idx = 0) { return __gnu_cxx::__stoa(&std::strtod, "stod", __str.c_str(), __idx); } inline long double stold(const string& __str, size_t* __idx = 0) { return __gnu_cxx::__stoa(&std::strtold, "stold", __str.c_str(), __idx); } inline string to_string(int __val) { return __gnu_cxx::__to_xstring(&std::vsnprintf, 4 * sizeof(int), "%d", __val); } inline string to_string(unsigned __val) { return __gnu_cxx::__to_xstring(&std::vsnprintf, 4 * sizeof(unsigned), "%u", __val); } inline string to_string(long __val) { return __gnu_cxx::__to_xstring(&std::vsnprintf, 4 * sizeof(long), "%ld", __val); } inline string to_string(unsigned long __val) { return __gnu_cxx::__to_xstring(&std::vsnprintf, 4 * sizeof(unsigned long), "%lu", __val); } inline string to_string(long long __val) { return __gnu_cxx::__to_xstring(&std::vsnprintf, 4 * sizeof(long long), "%lld", __val); } inline string to_string(unsigned long long __val) { return __gnu_cxx::__to_xstring(&std::vsnprintf, 4 * sizeof(unsigned long long), "%llu", __val); } inline string to_string(float __val) { const int __n = __gnu_cxx::__numeric_traits::__max_exponent10 + 20; return __gnu_cxx::__to_xstring(&std::vsnprintf, __n, "%f", __val); } inline string to_string(double __val) { const int __n = __gnu_cxx::__numeric_traits::__max_exponent10 + 20; return __gnu_cxx::__to_xstring(&std::vsnprintf, __n, "%f", __val); } inline string to_string(long double __val) { const int __n = __gnu_cxx::__numeric_traits::__max_exponent10 + 20; return __gnu_cxx::__to_xstring(&std::vsnprintf, __n, "%Lf", __val); } inline int stoi(const wstring& __str, size_t* __idx = 0, int __base = 10) { return __gnu_cxx::__stoa(&std::wcstol, "stoi", __str.c_str(), __idx, __base); } inline long stol(const wstring& __str, size_t* __idx = 0, int __base = 10) { return __gnu_cxx::__stoa(&std::wcstol, "stol", __str.c_str(), __idx, __base); } inline unsigned long stoul(const wstring& __str, size_t* __idx = 0, int __base = 10) { return __gnu_cxx::__stoa(&std::wcstoul, "stoul", __str.c_str(), __idx, __base); } inline long long stoll(const wstring& __str, size_t* __idx = 0, int __base = 10) { return __gnu_cxx::__stoa(&std::wcstoll, "stoll", __str.c_str(), __idx, __base); } inline unsigned long long stoull(const wstring& __str, size_t* __idx = 0, int __base = 10) { return __gnu_cxx::__stoa(&std::wcstoull, "stoull", __str.c_str(), __idx, __base); } inline float stof(const wstring& __str, size_t* __idx = 0) { return __gnu_cxx::__stoa(&std::wcstof, "stof", __str.c_str(), __idx); } inline double stod(const wstring& __str, size_t* __idx = 0) { return __gnu_cxx::__stoa(&std::wcstod, "stod", __str.c_str(), __idx); } inline long double stold(const wstring& __str, size_t* __idx = 0) { return __gnu_cxx::__stoa(&std::wcstold, "stold", __str.c_str(), __idx); } inline wstring to_wstring(int __val) { return __gnu_cxx::__to_xstring(&std::vswprintf, 4 * sizeof(int), L"%d", __val); } inline wstring to_wstring(unsigned __val) { return __gnu_cxx::__to_xstring(&std::vswprintf, 4 * sizeof(unsigned), L"%u", __val); } inline wstring to_wstring(long __val) { return __gnu_cxx::__to_xstring(&std::vswprintf, 4 * sizeof(long), L"%ld", __val); } inline wstring to_wstring(unsigned long __val) { return __gnu_cxx::__to_xstring(&std::vswprintf, 4 * sizeof(unsigned long), L"%lu", __val); } inline wstring to_wstring(long long __val) { return __gnu_cxx::__to_xstring(&std::vswprintf, 4 * sizeof(long long), L"%lld", __val); } inline wstring to_wstring(unsigned long long __val) { return __gnu_cxx::__to_xstring(&std::vswprintf, 4 * sizeof(unsigned long long), L"%llu", __val); } inline wstring to_wstring(float __val) { const int __n = __gnu_cxx::__numeric_traits::__max_exponent10 + 20; return __gnu_cxx::__to_xstring(&std::vswprintf, __n, L"%f", __val); } inline wstring to_wstring(double __val) { const int __n = __gnu_cxx::__numeric_traits::__max_exponent10 + 20; return __gnu_cxx::__to_xstring(&std::vswprintf, __n, L"%f", __val); } inline wstring to_wstring(long double __val) { const int __n = __gnu_cxx::__numeric_traits::__max_exponent10 + 20; return __gnu_cxx::__to_xstring(&std::vswprintf, __n, L"%Lf", __val); } } # 1 "/usr/include/c++/5.0.0/bits/functional_hash.h" 1 3 # 33 "/usr/include/c++/5.0.0/bits/functional_hash.h" 3 # 34 "/usr/include/c++/5.0.0/bits/functional_hash.h" 3 # 1 "/usr/include/c++/5.0.0/bits/hash_bytes.h" 1 3 # 33 "/usr/include/c++/5.0.0/bits/hash_bytes.h" 3 # 34 "/usr/include/c++/5.0.0/bits/hash_bytes.h" 3 namespace std { size_t _Hash_bytes(const void* __ptr, size_t __len, size_t __seed); size_t _Fnv_hash_bytes(const void* __ptr, size_t __len, size_t __seed); } # 36 "/usr/include/c++/5.0.0/bits/functional_hash.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 49 "/usr/include/c++/5.0.0/bits/functional_hash.h" 3 template struct __hash_base { typedef _Result result_type; typedef _Arg argument_type; }; template struct hash; template struct hash<_Tp*> : public __hash_base { size_t operator()(_Tp* __p) const noexcept { return reinterpret_cast(__p); } }; # 80 "/usr/include/c++/5.0.0/bits/functional_hash.h" 3 template<> struct hash : public __hash_base { size_t operator()(bool __val) const noexcept { return static_cast(__val); } }; template<> struct hash : public __hash_base { size_t operator()(char __val) const noexcept { return static_cast(__val); } }; template<> struct hash : public __hash_base { size_t operator()(signed char __val) const noexcept { return static_cast(__val); } }; template<> struct hash : public __hash_base { size_t operator()(unsigned char __val) const noexcept { return static_cast(__val); } }; template<> struct hash : public __hash_base { size_t operator()(wchar_t __val) const noexcept { return static_cast(__val); } }; template<> struct hash : public __hash_base { size_t operator()(char16_t __val) const noexcept { return static_cast(__val); } }; template<> struct hash : public __hash_base { size_t operator()(char32_t __val) const noexcept { return static_cast(__val); } }; template<> struct hash : public __hash_base { size_t operator()(short __val) const noexcept { return static_cast(__val); } }; template<> struct hash : public __hash_base { size_t operator()(int __val) const noexcept { return static_cast(__val); } }; template<> struct hash : public __hash_base { size_t operator()(long __val) const noexcept { return static_cast(__val); } }; template<> struct hash : public __hash_base { size_t operator()(long long __val) const noexcept { return static_cast(__val); } }; template<> struct hash : public __hash_base { size_t operator()(unsigned short __val) const noexcept { return static_cast(__val); } }; template<> struct hash : public __hash_base { size_t operator()(unsigned int __val) const noexcept { return static_cast(__val); } }; template<> struct hash : public __hash_base { size_t operator()(unsigned long __val) const noexcept { return static_cast(__val); } }; template<> struct hash : public __hash_base { size_t operator()(unsigned long long __val) const noexcept { return static_cast(__val); } }; struct _Hash_impl { static size_t hash(const void* __ptr, size_t __clength, size_t __seed = static_cast(0xc70f6907UL)) { return _Hash_bytes(__ptr, __clength, __seed); } template static size_t hash(const _Tp& __val) { return hash(&__val, sizeof(__val)); } template static size_t __hash_combine(const _Tp& __val, size_t __hash) { return hash(&__val, sizeof(__val), __hash); } }; struct _Fnv_hash_impl { static size_t hash(const void* __ptr, size_t __clength, size_t __seed = static_cast(2166136261UL)) { return _Fnv_hash_bytes(__ptr, __clength, __seed); } template static size_t hash(const _Tp& __val) { return hash(&__val, sizeof(__val)); } template static size_t __hash_combine(const _Tp& __val, size_t __hash) { return hash(&__val, sizeof(__val), __hash); } }; template<> struct hash : public __hash_base { size_t operator()(float __val) const noexcept { return __val != 0.0f ? std::_Hash_impl::hash(__val) : 0; } }; template<> struct hash : public __hash_base { size_t operator()(double __val) const noexcept { return __val != 0.0 ? std::_Hash_impl::hash(__val) : 0; } }; template<> struct hash : public __hash_base { __attribute__ ((__pure__)) size_t operator()(long double __val) const noexcept; }; template struct __is_fast_hash : public std::true_type { }; template<> struct __is_fast_hash> : public std::false_type { }; } # 5468 "/usr/include/c++/5.0.0/bits/basic_string.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { template<> struct hash : public __hash_base { size_t operator()(const string& __s) const noexcept { return std::_Hash_impl::hash(__s.data(), __s.length()); } }; template<> struct __is_fast_hash> : std::false_type { }; template<> struct hash : public __hash_base { size_t operator()(const wstring& __s) const noexcept { return std::_Hash_impl::hash(__s.data(), __s.length() * sizeof(wchar_t)); } }; template<> struct __is_fast_hash> : std::false_type { }; template<> struct hash : public __hash_base { size_t operator()(const u16string& __s) const noexcept { return std::_Hash_impl::hash(__s.data(), __s.length() * sizeof(char16_t)); } }; template<> struct __is_fast_hash> : std::false_type { }; template<> struct hash : public __hash_base { size_t operator()(const u32string& __s) const noexcept { return std::_Hash_impl::hash(__s.data(), __s.length() * sizeof(char32_t)); } }; template<> struct __is_fast_hash> : std::false_type { }; # 5578 "/usr/include/c++/5.0.0/bits/basic_string.h" 3 } # 53 "/usr/include/c++/5.0.0/string" 2 3 # 1 "/usr/include/c++/5.0.0/bits/basic_string.tcc" 1 3 # 42 "/usr/include/c++/5.0.0/bits/basic_string.tcc" 3 # 43 "/usr/include/c++/5.0.0/bits/basic_string.tcc" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 492 "/usr/include/c++/5.0.0/bits/basic_string.tcc" 3 template const typename basic_string<_CharT, _Traits, _Alloc>::size_type basic_string<_CharT, _Traits, _Alloc>:: _Rep::_S_max_size = (((npos - sizeof(_Rep_base))/sizeof(_CharT)) - 1) / 4; template const _CharT basic_string<_CharT, _Traits, _Alloc>:: _Rep::_S_terminal = _CharT(); template const typename basic_string<_CharT, _Traits, _Alloc>::size_type basic_string<_CharT, _Traits, _Alloc>::npos; template typename basic_string<_CharT, _Traits, _Alloc>::size_type basic_string<_CharT, _Traits, _Alloc>::_Rep::_S_empty_rep_storage[ (sizeof(_Rep_base) + sizeof(_CharT) + sizeof(size_type) - 1) / sizeof(size_type)]; template template _CharT* basic_string<_CharT, _Traits, _Alloc>:: _S_construct(_InIterator __beg, _InIterator __end, const _Alloc& __a, input_iterator_tag) { if (__beg == __end && __a == _Alloc()) return _S_empty_rep()._M_refdata(); _CharT __buf[128]; size_type __len = 0; while (__beg != __end && __len < sizeof(__buf) / sizeof(_CharT)) { __buf[__len++] = *__beg; ++__beg; } _Rep* __r = _Rep::_S_create(__len, size_type(0), __a); _M_copy(__r->_M_refdata(), __buf, __len); if (true) { while (__beg != __end) { if (__len == __r->_M_capacity) { _Rep* __another = _Rep::_S_create(__len + 1, __len, __a); _M_copy(__another->_M_refdata(), __r->_M_refdata(), __len); __r->_M_destroy(__a); __r = __another; } __r->_M_refdata()[__len++] = *__beg; ++__beg; } } if (false) { __r->_M_destroy(__a); ; } __r->_M_set_length_and_sharable(__len); return __r->_M_refdata(); } template template _CharT* basic_string<_CharT, _Traits, _Alloc>:: _S_construct(_InIterator __beg, _InIterator __end, const _Alloc& __a, forward_iterator_tag) { if (__beg == __end && __a == _Alloc()) return _S_empty_rep()._M_refdata(); if (__gnu_cxx::__is_null_pointer(__beg) && __beg != __end) __throw_logic_error(("basic_string::_S_construct null not valid")); const size_type __dnew = static_cast(std::distance(__beg, __end)); _Rep* __r = _Rep::_S_create(__dnew, size_type(0), __a); if (true) { _S_copy_chars(__r->_M_refdata(), __beg, __end); } if (false) { __r->_M_destroy(__a); ; } __r->_M_set_length_and_sharable(__dnew); return __r->_M_refdata(); } template _CharT* basic_string<_CharT, _Traits, _Alloc>:: _S_construct(size_type __n, _CharT __c, const _Alloc& __a) { if (__n == 0 && __a == _Alloc()) return _S_empty_rep()._M_refdata(); _Rep* __r = _Rep::_S_create(__n, size_type(0), __a); if (__n) _M_assign(__r->_M_refdata(), __n, __c); __r->_M_set_length_and_sharable(__n); return __r->_M_refdata(); } template basic_string<_CharT, _Traits, _Alloc>:: basic_string(const basic_string& __str) : _M_dataplus(__str._M_rep()->_M_grab(_Alloc(__str.get_allocator()), __str.get_allocator()), __str.get_allocator()) { } template basic_string<_CharT, _Traits, _Alloc>:: basic_string(const _Alloc& __a) : _M_dataplus(_S_construct(size_type(), _CharT(), __a), __a) { } template basic_string<_CharT, _Traits, _Alloc>:: basic_string(const basic_string& __str, size_type __pos, size_type __n) : _M_dataplus(_S_construct(__str._M_data() + __str._M_check(__pos, "basic_string::basic_string"), __str._M_data() + __str._M_limit(__pos, __n) + __pos, _Alloc()), _Alloc()) { } template basic_string<_CharT, _Traits, _Alloc>:: basic_string(const basic_string& __str, size_type __pos, size_type __n, const _Alloc& __a) : _M_dataplus(_S_construct(__str._M_data() + __str._M_check(__pos, "basic_string::basic_string"), __str._M_data() + __str._M_limit(__pos, __n) + __pos, __a), __a) { } template basic_string<_CharT, _Traits, _Alloc>:: basic_string(const _CharT* __s, size_type __n, const _Alloc& __a) : _M_dataplus(_S_construct(__s, __s + __n, __a), __a) { } template basic_string<_CharT, _Traits, _Alloc>:: basic_string(const _CharT* __s, const _Alloc& __a) : _M_dataplus(_S_construct(__s, __s ? __s + traits_type::length(__s) : __s + npos, __a), __a) { } template basic_string<_CharT, _Traits, _Alloc>:: basic_string(size_type __n, _CharT __c, const _Alloc& __a) : _M_dataplus(_S_construct(__n, __c, __a), __a) { } template template basic_string<_CharT, _Traits, _Alloc>:: basic_string(_InputIterator __beg, _InputIterator __end, const _Alloc& __a) : _M_dataplus(_S_construct(__beg, __end, __a), __a) { } template basic_string<_CharT, _Traits, _Alloc>:: basic_string(initializer_list<_CharT> __l, const _Alloc& __a) : _M_dataplus(_S_construct(__l.begin(), __l.end(), __a), __a) { } template basic_string<_CharT, _Traits, _Alloc>& basic_string<_CharT, _Traits, _Alloc>:: assign(const basic_string& __str) { if (_M_rep() != __str._M_rep()) { const allocator_type __a = this->get_allocator(); _CharT* __tmp = __str._M_rep()->_M_grab(__a, __str.get_allocator()); _M_rep()->_M_dispose(__a); _M_data(__tmp); } return *this; } template basic_string<_CharT, _Traits, _Alloc>& basic_string<_CharT, _Traits, _Alloc>:: assign(const _CharT* __s, size_type __n) { ; _M_check_length(this->size(), __n, "basic_string::assign"); if (_M_disjunct(__s) || _M_rep()->_M_is_shared()) return _M_replace_safe(size_type(0), this->size(), __s, __n); else { const size_type __pos = __s - _M_data(); if (__pos >= __n) _M_copy(_M_data(), __s, __n); else if (__pos) _M_move(_M_data(), __s, __n); _M_rep()->_M_set_length_and_sharable(__n); return *this; } } template basic_string<_CharT, _Traits, _Alloc>& basic_string<_CharT, _Traits, _Alloc>:: append(size_type __n, _CharT __c) { if (__n) { _M_check_length(size_type(0), __n, "basic_string::append"); const size_type __len = __n + this->size(); if (__len > this->capacity() || _M_rep()->_M_is_shared()) this->reserve(__len); _M_assign(_M_data() + this->size(), __n, __c); _M_rep()->_M_set_length_and_sharable(__len); } return *this; } template basic_string<_CharT, _Traits, _Alloc>& basic_string<_CharT, _Traits, _Alloc>:: append(const _CharT* __s, size_type __n) { ; if (__n) { _M_check_length(size_type(0), __n, "basic_string::append"); const size_type __len = __n + this->size(); if (__len > this->capacity() || _M_rep()->_M_is_shared()) { if (_M_disjunct(__s)) this->reserve(__len); else { const size_type __off = __s - _M_data(); this->reserve(__len); __s = _M_data() + __off; } } _M_copy(_M_data() + this->size(), __s, __n); _M_rep()->_M_set_length_and_sharable(__len); } return *this; } template basic_string<_CharT, _Traits, _Alloc>& basic_string<_CharT, _Traits, _Alloc>:: append(const basic_string& __str) { const size_type __size = __str.size(); if (__size) { const size_type __len = __size + this->size(); if (__len > this->capacity() || _M_rep()->_M_is_shared()) this->reserve(__len); _M_copy(_M_data() + this->size(), __str._M_data(), __size); _M_rep()->_M_set_length_and_sharable(__len); } return *this; } template basic_string<_CharT, _Traits, _Alloc>& basic_string<_CharT, _Traits, _Alloc>:: append(const basic_string& __str, size_type __pos, size_type __n) { __str._M_check(__pos, "basic_string::append"); __n = __str._M_limit(__pos, __n); if (__n) { const size_type __len = __n + this->size(); if (__len > this->capacity() || _M_rep()->_M_is_shared()) this->reserve(__len); _M_copy(_M_data() + this->size(), __str._M_data() + __pos, __n); _M_rep()->_M_set_length_and_sharable(__len); } return *this; } template basic_string<_CharT, _Traits, _Alloc>& basic_string<_CharT, _Traits, _Alloc>:: insert(size_type __pos, const _CharT* __s, size_type __n) { ; _M_check(__pos, "basic_string::insert"); _M_check_length(size_type(0), __n, "basic_string::insert"); if (_M_disjunct(__s) || _M_rep()->_M_is_shared()) return _M_replace_safe(__pos, size_type(0), __s, __n); else { const size_type __off = __s - _M_data(); _M_mutate(__pos, 0, __n); __s = _M_data() + __off; _CharT* __p = _M_data() + __pos; if (__s + __n <= __p) _M_copy(__p, __s, __n); else if (__s >= __p) _M_copy(__p, __s + __n, __n); else { const size_type __nleft = __p - __s; _M_copy(__p, __s, __nleft); _M_copy(__p + __nleft, __p + __n, __n - __nleft); } return *this; } } template typename basic_string<_CharT, _Traits, _Alloc>::iterator basic_string<_CharT, _Traits, _Alloc>:: erase(iterator __first, iterator __last) { ; const size_type __size = __last - __first; if (__size) { const size_type __pos = __first - _M_ibegin(); _M_mutate(__pos, __size, size_type(0)); _M_rep()->_M_set_leaked(); return iterator(_M_data() + __pos); } else return __first; } template basic_string<_CharT, _Traits, _Alloc>& basic_string<_CharT, _Traits, _Alloc>:: replace(size_type __pos, size_type __n1, const _CharT* __s, size_type __n2) { ; _M_check(__pos, "basic_string::replace"); __n1 = _M_limit(__pos, __n1); _M_check_length(__n1, __n2, "basic_string::replace"); bool __left; if (_M_disjunct(__s) || _M_rep()->_M_is_shared()) return _M_replace_safe(__pos, __n1, __s, __n2); else if ((__left = __s + __n2 <= _M_data() + __pos) || _M_data() + __pos + __n1 <= __s) { size_type __off = __s - _M_data(); __left ? __off : (__off += __n2 - __n1); _M_mutate(__pos, __n1, __n2); _M_copy(_M_data() + __pos, _M_data() + __off, __n2); return *this; } else { const basic_string __tmp(__s, __n2); return _M_replace_safe(__pos, __n1, __tmp._M_data(), __n2); } } template void basic_string<_CharT, _Traits, _Alloc>::_Rep:: _M_destroy(const _Alloc& __a) throw () { const size_type __size = sizeof(_Rep_base) + (this->_M_capacity + 1) * sizeof(_CharT); _Raw_bytes_alloc(__a).deallocate(reinterpret_cast(this), __size); } template void basic_string<_CharT, _Traits, _Alloc>:: _M_leak_hard() { if (_M_rep() == &_S_empty_rep()) return; if (_M_rep()->_M_is_shared()) _M_mutate(0, 0, 0); _M_rep()->_M_set_leaked(); } template void basic_string<_CharT, _Traits, _Alloc>:: _M_mutate(size_type __pos, size_type __len1, size_type __len2) { const size_type __old_size = this->size(); const size_type __new_size = __old_size + __len2 - __len1; const size_type __how_much = __old_size - __pos - __len1; if (__new_size > this->capacity() || _M_rep()->_M_is_shared()) { const allocator_type __a = get_allocator(); _Rep* __r = _Rep::_S_create(__new_size, this->capacity(), __a); if (__pos) _M_copy(__r->_M_refdata(), _M_data(), __pos); if (__how_much) _M_copy(__r->_M_refdata() + __pos + __len2, _M_data() + __pos + __len1, __how_much); _M_rep()->_M_dispose(__a); _M_data(__r->_M_refdata()); } else if (__how_much && __len1 != __len2) { _M_move(_M_data() + __pos + __len2, _M_data() + __pos + __len1, __how_much); } _M_rep()->_M_set_length_and_sharable(__new_size); } template void basic_string<_CharT, _Traits, _Alloc>:: reserve(size_type __res) { if (__res != this->capacity() || _M_rep()->_M_is_shared()) { if (__res < this->size()) __res = this->size(); const allocator_type __a = get_allocator(); _CharT* __tmp = _M_rep()->_M_clone(__a, __res - this->size()); _M_rep()->_M_dispose(__a); _M_data(__tmp); } } template void basic_string<_CharT, _Traits, _Alloc>:: swap(basic_string& __s) { if (_M_rep()->_M_is_leaked()) _M_rep()->_M_set_sharable(); if (__s._M_rep()->_M_is_leaked()) __s._M_rep()->_M_set_sharable(); if (this->get_allocator() == __s.get_allocator()) { _CharT* __tmp = _M_data(); _M_data(__s._M_data()); __s._M_data(__tmp); } else { const basic_string __tmp1(_M_ibegin(), _M_iend(), __s.get_allocator()); const basic_string __tmp2(__s._M_ibegin(), __s._M_iend(), this->get_allocator()); *this = __tmp2; __s = __tmp1; } } template typename basic_string<_CharT, _Traits, _Alloc>::_Rep* basic_string<_CharT, _Traits, _Alloc>::_Rep:: _S_create(size_type __capacity, size_type __old_capacity, const _Alloc& __alloc) { if (__capacity > _S_max_size) __throw_length_error(("basic_string::_S_create")); # 1021 "/usr/include/c++/5.0.0/bits/basic_string.tcc" 3 const size_type __pagesize = 4096; const size_type __malloc_header_size = 4 * sizeof(void*); if (__capacity > __old_capacity && __capacity < 2 * __old_capacity) __capacity = 2 * __old_capacity; size_type __size = (__capacity + 1) * sizeof(_CharT) + sizeof(_Rep); const size_type __adj_size = __size + __malloc_header_size; if (__adj_size > __pagesize && __capacity > __old_capacity) { const size_type __extra = __pagesize - __adj_size % __pagesize; __capacity += __extra / sizeof(_CharT); if (__capacity > _S_max_size) __capacity = _S_max_size; __size = (__capacity + 1) * sizeof(_CharT) + sizeof(_Rep); } void* __place = _Raw_bytes_alloc(__alloc).allocate(__size); _Rep *__p = new (__place) _Rep; __p->_M_capacity = __capacity; __p->_M_set_sharable(); return __p; } template _CharT* basic_string<_CharT, _Traits, _Alloc>::_Rep:: _M_clone(const _Alloc& __alloc, size_type __res) { const size_type __requested_cap = this->_M_length + __res; _Rep* __r = _Rep::_S_create(__requested_cap, this->_M_capacity, __alloc); if (this->_M_length) _M_copy(__r->_M_refdata(), _M_refdata(), this->_M_length); __r->_M_set_length_and_sharable(this->_M_length); return __r->_M_refdata(); } template void basic_string<_CharT, _Traits, _Alloc>:: resize(size_type __n, _CharT __c) { const size_type __size = this->size(); _M_check_length(__size, __n, "basic_string::resize"); if (__size < __n) this->append(__n - __size, __c); else if (__n < __size) this->erase(__n); } template template basic_string<_CharT, _Traits, _Alloc>& basic_string<_CharT, _Traits, _Alloc>:: _M_replace_dispatch(iterator __i1, iterator __i2, _InputIterator __k1, _InputIterator __k2, __false_type) { const basic_string __s(__k1, __k2); const size_type __n1 = __i2 - __i1; _M_check_length(__n1, __s.size(), "basic_string::_M_replace_dispatch"); return _M_replace_safe(__i1 - _M_ibegin(), __n1, __s._M_data(), __s.size()); } template basic_string<_CharT, _Traits, _Alloc>& basic_string<_CharT, _Traits, _Alloc>:: _M_replace_aux(size_type __pos1, size_type __n1, size_type __n2, _CharT __c) { _M_check_length(__n1, __n2, "basic_string::_M_replace_aux"); _M_mutate(__pos1, __n1, __n2); if (__n2) _M_assign(_M_data() + __pos1, __n2, __c); return *this; } template basic_string<_CharT, _Traits, _Alloc>& basic_string<_CharT, _Traits, _Alloc>:: _M_replace_safe(size_type __pos1, size_type __n1, const _CharT* __s, size_type __n2) { _M_mutate(__pos1, __n1, __n2); if (__n2) _M_copy(_M_data() + __pos1, __s, __n2); return *this; } template typename basic_string<_CharT, _Traits, _Alloc>::size_type basic_string<_CharT, _Traits, _Alloc>:: copy(_CharT* __s, size_type __n, size_type __pos) const { _M_check(__pos, "basic_string::copy"); __n = _M_limit(__pos, __n); ; if (__n) _M_copy(__s, _M_data() + __pos, __n); return __n; } template basic_string<_CharT, _Traits, _Alloc> operator+(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) { ; typedef basic_string<_CharT, _Traits, _Alloc> __string_type; typedef typename __string_type::size_type __size_type; const __size_type __len = _Traits::length(__lhs); __string_type __str; __str.reserve(__len + __rhs.size()); __str.append(__lhs, __len); __str.append(__rhs); return __str; } template basic_string<_CharT, _Traits, _Alloc> operator+(_CharT __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) { typedef basic_string<_CharT, _Traits, _Alloc> __string_type; typedef typename __string_type::size_type __size_type; __string_type __str; const __size_type __len = __rhs.size(); __str.reserve(__len + 1); __str.append(__size_type(1), __lhs); __str.append(__rhs); return __str; } template typename basic_string<_CharT, _Traits, _Alloc>::size_type basic_string<_CharT, _Traits, _Alloc>:: find(const _CharT* __s, size_type __pos, size_type __n) const { ; const size_type __size = this->size(); const _CharT* __data = _M_data(); if (__n == 0) return __pos <= __size ? __pos : npos; if (__n <= __size) { for (; __pos <= __size - __n; ++__pos) if (traits_type::eq(__data[__pos], __s[0]) && traits_type::compare(__data + __pos + 1, __s + 1, __n - 1) == 0) return __pos; } return npos; } template typename basic_string<_CharT, _Traits, _Alloc>::size_type basic_string<_CharT, _Traits, _Alloc>:: find(_CharT __c, size_type __pos) const noexcept { size_type __ret = npos; const size_type __size = this->size(); if (__pos < __size) { const _CharT* __data = _M_data(); const size_type __n = __size - __pos; const _CharT* __p = traits_type::find(__data + __pos, __n, __c); if (__p) __ret = __p - __data; } return __ret; } template typename basic_string<_CharT, _Traits, _Alloc>::size_type basic_string<_CharT, _Traits, _Alloc>:: rfind(const _CharT* __s, size_type __pos, size_type __n) const { ; const size_type __size = this->size(); if (__n <= __size) { __pos = std::min(size_type(__size - __n), __pos); const _CharT* __data = _M_data(); do { if (traits_type::compare(__data + __pos, __s, __n) == 0) return __pos; } while (__pos-- > 0); } return npos; } template typename basic_string<_CharT, _Traits, _Alloc>::size_type basic_string<_CharT, _Traits, _Alloc>:: rfind(_CharT __c, size_type __pos) const noexcept { size_type __size = this->size(); if (__size) { if (--__size > __pos) __size = __pos; for (++__size; __size-- > 0; ) if (traits_type::eq(_M_data()[__size], __c)) return __size; } return npos; } template typename basic_string<_CharT, _Traits, _Alloc>::size_type basic_string<_CharT, _Traits, _Alloc>:: find_first_of(const _CharT* __s, size_type __pos, size_type __n) const { ; for (; __n && __pos < this->size(); ++__pos) { const _CharT* __p = traits_type::find(__s, __n, _M_data()[__pos]); if (__p) return __pos; } return npos; } template typename basic_string<_CharT, _Traits, _Alloc>::size_type basic_string<_CharT, _Traits, _Alloc>:: find_last_of(const _CharT* __s, size_type __pos, size_type __n) const { ; size_type __size = this->size(); if (__size && __n) { if (--__size > __pos) __size = __pos; do { if (traits_type::find(__s, __n, _M_data()[__size])) return __size; } while (__size-- != 0); } return npos; } template typename basic_string<_CharT, _Traits, _Alloc>::size_type basic_string<_CharT, _Traits, _Alloc>:: find_first_not_of(const _CharT* __s, size_type __pos, size_type __n) const { ; for (; __pos < this->size(); ++__pos) if (!traits_type::find(__s, __n, _M_data()[__pos])) return __pos; return npos; } template typename basic_string<_CharT, _Traits, _Alloc>::size_type basic_string<_CharT, _Traits, _Alloc>:: find_first_not_of(_CharT __c, size_type __pos) const noexcept { for (; __pos < this->size(); ++__pos) if (!traits_type::eq(_M_data()[__pos], __c)) return __pos; return npos; } template typename basic_string<_CharT, _Traits, _Alloc>::size_type basic_string<_CharT, _Traits, _Alloc>:: find_last_not_of(const _CharT* __s, size_type __pos, size_type __n) const { ; size_type __size = this->size(); if (__size) { if (--__size > __pos) __size = __pos; do { if (!traits_type::find(__s, __n, _M_data()[__size])) return __size; } while (__size--); } return npos; } template typename basic_string<_CharT, _Traits, _Alloc>::size_type basic_string<_CharT, _Traits, _Alloc>:: find_last_not_of(_CharT __c, size_type __pos) const noexcept { size_type __size = this->size(); if (__size) { if (--__size > __pos) __size = __pos; do { if (!traits_type::eq(_M_data()[__size], __c)) return __size; } while (__size--); } return npos; } template int basic_string<_CharT, _Traits, _Alloc>:: compare(size_type __pos, size_type __n, const basic_string& __str) const { _M_check(__pos, "basic_string::compare"); __n = _M_limit(__pos, __n); const size_type __osize = __str.size(); const size_type __len = std::min(__n, __osize); int __r = traits_type::compare(_M_data() + __pos, __str.data(), __len); if (!__r) __r = _S_compare(__n, __osize); return __r; } template int basic_string<_CharT, _Traits, _Alloc>:: compare(size_type __pos1, size_type __n1, const basic_string& __str, size_type __pos2, size_type __n2) const { _M_check(__pos1, "basic_string::compare"); __str._M_check(__pos2, "basic_string::compare"); __n1 = _M_limit(__pos1, __n1); __n2 = __str._M_limit(__pos2, __n2); const size_type __len = std::min(__n1, __n2); int __r = traits_type::compare(_M_data() + __pos1, __str.data() + __pos2, __len); if (!__r) __r = _S_compare(__n1, __n2); return __r; } template int basic_string<_CharT, _Traits, _Alloc>:: compare(const _CharT* __s) const { ; const size_type __size = this->size(); const size_type __osize = traits_type::length(__s); const size_type __len = std::min(__size, __osize); int __r = traits_type::compare(_M_data(), __s, __len); if (!__r) __r = _S_compare(__size, __osize); return __r; } template int basic_string <_CharT, _Traits, _Alloc>:: compare(size_type __pos, size_type __n1, const _CharT* __s) const { ; _M_check(__pos, "basic_string::compare"); __n1 = _M_limit(__pos, __n1); const size_type __osize = traits_type::length(__s); const size_type __len = std::min(__n1, __osize); int __r = traits_type::compare(_M_data() + __pos, __s, __len); if (!__r) __r = _S_compare(__n1, __osize); return __r; } template int basic_string <_CharT, _Traits, _Alloc>:: compare(size_type __pos, size_type __n1, const _CharT* __s, size_type __n2) const { ; _M_check(__pos, "basic_string::compare"); __n1 = _M_limit(__pos, __n1); const size_type __len = std::min(__n1, __n2); int __r = traits_type::compare(_M_data() + __pos, __s, __len); if (!__r) __r = _S_compare(__n1, __n2); return __r; } template basic_istream<_CharT, _Traits>& operator>>(basic_istream<_CharT, _Traits>& __in, basic_string<_CharT, _Traits, _Alloc>& __str) { typedef basic_istream<_CharT, _Traits> __istream_type; typedef basic_string<_CharT, _Traits, _Alloc> __string_type; typedef typename __istream_type::ios_base __ios_base; typedef typename __istream_type::int_type __int_type; typedef typename __string_type::size_type __size_type; typedef ctype<_CharT> __ctype_type; typedef typename __ctype_type::ctype_base __ctype_base; __size_type __extracted = 0; typename __ios_base::iostate __err = __ios_base::goodbit; typename __istream_type::sentry __cerb(__in, false); if (__cerb) { if (true) { __str.erase(); _CharT __buf[128]; __size_type __len = 0; const streamsize __w = __in.width(); const __size_type __n = __w > 0 ? static_cast<__size_type>(__w) : __str.max_size(); const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc()); const __int_type __eof = _Traits::eof(); __int_type __c = __in.rdbuf()->sgetc(); while (__extracted < __n && !_Traits::eq_int_type(__c, __eof) && !__ct.is(__ctype_base::space, _Traits::to_char_type(__c))) { if (__len == sizeof(__buf) / sizeof(_CharT)) { __str.append(__buf, sizeof(__buf) / sizeof(_CharT)); __len = 0; } __buf[__len++] = _Traits::to_char_type(__c); ++__extracted; __c = __in.rdbuf()->snextc(); } __str.append(__buf, __len); if (_Traits::eq_int_type(__c, __eof)) __err |= __ios_base::eofbit; __in.width(0); } if (false) { __in._M_setstate(__ios_base::badbit); ; } if (false) { __in._M_setstate(__ios_base::badbit); } } if (!__extracted) __err |= __ios_base::failbit; if (__err) __in.setstate(__err); return __in; } template basic_istream<_CharT, _Traits>& getline(basic_istream<_CharT, _Traits>& __in, basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim) { typedef basic_istream<_CharT, _Traits> __istream_type; typedef basic_string<_CharT, _Traits, _Alloc> __string_type; typedef typename __istream_type::ios_base __ios_base; typedef typename __istream_type::int_type __int_type; typedef typename __string_type::size_type __size_type; __size_type __extracted = 0; const __size_type __n = __str.max_size(); typename __ios_base::iostate __err = __ios_base::goodbit; typename __istream_type::sentry __cerb(__in, true); if (__cerb) { if (true) { __str.erase(); const __int_type __idelim = _Traits::to_int_type(__delim); const __int_type __eof = _Traits::eof(); __int_type __c = __in.rdbuf()->sgetc(); while (__extracted < __n && !_Traits::eq_int_type(__c, __eof) && !_Traits::eq_int_type(__c, __idelim)) { __str += _Traits::to_char_type(__c); ++__extracted; __c = __in.rdbuf()->snextc(); } if (_Traits::eq_int_type(__c, __eof)) __err |= __ios_base::eofbit; else if (_Traits::eq_int_type(__c, __idelim)) { ++__extracted; __in.rdbuf()->sbumpc(); } else __err |= __ios_base::failbit; } if (false) { __in._M_setstate(__ios_base::badbit); ; } if (false) { __in._M_setstate(__ios_base::badbit); } } if (!__extracted) __err |= __ios_base::failbit; if (__err) __in.setstate(__err); return __in; } extern template class basic_string; extern template basic_istream& operator>>(basic_istream&, string&); extern template basic_ostream& operator<<(basic_ostream&, const string&); extern template basic_istream& getline(basic_istream&, string&, char); extern template basic_istream& getline(basic_istream&, string&); extern template class basic_string; extern template basic_istream& operator>>(basic_istream&, wstring&); extern template basic_ostream& operator<<(basic_ostream&, const wstring&); extern template basic_istream& getline(basic_istream&, wstring&, wchar_t); extern template basic_istream& getline(basic_istream&, wstring&); } # 54 "/usr/include/c++/5.0.0/string" 2 3 # 4 "../../../dist/system_wrappers/string" 2 3 #pragma GCC visibility pop # 56 "../../../dist/stl_wrappers/string" 2 3 #pragma GCC visibility pop # 41 "/usr/include/c++/5.0.0/random" 2 3 # 1 "../../../dist/stl_wrappers/limits" 1 3 # 18 "../../../dist/stl_wrappers/limits" 3 # 19 "../../../dist/stl_wrappers/limits" 3 # 33 "../../../dist/stl_wrappers/limits" 3 # 1 "../../../dist/system_wrappers/new" 1 3 # 2 "../../../dist/system_wrappers/new" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 34 "../../../dist/stl_wrappers/limits" 2 3 # 54 "../../../dist/stl_wrappers/limits" 3 #pragma GCC visibility push(default) # 1 "../../../dist/system_wrappers/limits" 1 3 # 2 "../../../dist/system_wrappers/limits" 3 #pragma GCC visibility push(default) # 1 "/usr/include/c++/5.0.0/limits" 1 3 # 40 "/usr/include/c++/5.0.0/limits" 3 # 41 "/usr/include/c++/5.0.0/limits" 3 # 158 "/usr/include/c++/5.0.0/limits" 3 namespace std __attribute__ ((__visibility__ ("default"))) { enum float_round_style { round_indeterminate = -1, round_toward_zero = 0, round_to_nearest = 1, round_toward_infinity = 2, round_toward_neg_infinity = 3 }; enum float_denorm_style { denorm_indeterminate = -1, denorm_absent = 0, denorm_present = 1 }; # 202 "/usr/include/c++/5.0.0/limits" 3 struct __numeric_limits_base { static constexpr bool is_specialized = false; static constexpr int digits = 0; static constexpr int digits10 = 0; static constexpr int max_digits10 = 0; static constexpr bool is_signed = false; static constexpr bool is_integer = false; static constexpr bool is_exact = false; static constexpr int radix = 0; static constexpr int min_exponent = 0; static constexpr int min_exponent10 = 0; static constexpr int max_exponent = 0; static constexpr int max_exponent10 = 0; static constexpr bool has_infinity = false; static constexpr bool has_quiet_NaN = false; static constexpr bool has_signaling_NaN = false; static constexpr float_denorm_style has_denorm = denorm_absent; static constexpr bool has_denorm_loss = false; static constexpr bool is_iec559 = false; static constexpr bool is_bounded = false; # 288 "/usr/include/c++/5.0.0/limits" 3 static constexpr bool is_modulo = false; static constexpr bool traps = false; static constexpr bool tinyness_before = false; static constexpr float_round_style round_style = round_toward_zero; }; # 314 "/usr/include/c++/5.0.0/limits" 3 template struct numeric_limits : public __numeric_limits_base { static constexpr _Tp min() noexcept { return _Tp(); } static constexpr _Tp max() noexcept { return _Tp(); } static constexpr _Tp lowest() noexcept { return _Tp(); } static constexpr _Tp epsilon() noexcept { return _Tp(); } static constexpr _Tp round_error() noexcept { return _Tp(); } static constexpr _Tp infinity() noexcept { return _Tp(); } static constexpr _Tp quiet_NaN() noexcept { return _Tp(); } static constexpr _Tp signaling_NaN() noexcept { return _Tp(); } static constexpr _Tp denorm_min() noexcept { return _Tp(); } }; template struct numeric_limits : public numeric_limits<_Tp> { }; template struct numeric_limits : public numeric_limits<_Tp> { }; template struct numeric_limits : public numeric_limits<_Tp> { }; template<> struct numeric_limits { static constexpr bool is_specialized = true; static constexpr bool min() noexcept { return false; } static constexpr bool max() noexcept { return true; } static constexpr bool lowest() noexcept { return min(); } static constexpr int digits = 1; static constexpr int digits10 = 0; static constexpr int max_digits10 = 0; static constexpr bool is_signed = false; static constexpr bool is_integer = true; static constexpr bool is_exact = true; static constexpr int radix = 2; static constexpr bool epsilon() noexcept { return false; } static constexpr bool round_error() noexcept { return false; } static constexpr int min_exponent = 0; static constexpr int min_exponent10 = 0; static constexpr int max_exponent = 0; static constexpr int max_exponent10 = 0; static constexpr bool has_infinity = false; static constexpr bool has_quiet_NaN = false; static constexpr bool has_signaling_NaN = false; static constexpr float_denorm_style has_denorm = denorm_absent; static constexpr bool has_denorm_loss = false; static constexpr bool infinity() noexcept { return false; } static constexpr bool quiet_NaN() noexcept { return false; } static constexpr bool signaling_NaN() noexcept { return false; } static constexpr bool denorm_min() noexcept { return false; } static constexpr bool is_iec559 = false; static constexpr bool is_bounded = true; static constexpr bool is_modulo = false; static constexpr bool traps = true; static constexpr bool tinyness_before = false; static constexpr float_round_style round_style = round_toward_zero; }; template<> struct numeric_limits { static constexpr bool is_specialized = true; static constexpr char min() noexcept { return (((char)(-1) < 0) ? -(((char)(-1) < 0) ? (((((char)1 << ((sizeof(char) * 8 - ((char)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(char)0) - 1 : (char)0); } static constexpr char max() noexcept { return (((char)(-1) < 0) ? (((((char)1 << ((sizeof(char) * 8 - ((char)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(char)0); } static constexpr char lowest() noexcept { return min(); } static constexpr int digits = (sizeof(char) * 8 - ((char)(-1) < 0)); static constexpr int digits10 = ((sizeof(char) * 8 - ((char)(-1) < 0)) * 643L / 2136); static constexpr int max_digits10 = 0; static constexpr bool is_signed = ((char)(-1) < 0); static constexpr bool is_integer = true; static constexpr bool is_exact = true; static constexpr int radix = 2; static constexpr char epsilon() noexcept { return 0; } static constexpr char round_error() noexcept { return 0; } static constexpr int min_exponent = 0; static constexpr int min_exponent10 = 0; static constexpr int max_exponent = 0; static constexpr int max_exponent10 = 0; static constexpr bool has_infinity = false; static constexpr bool has_quiet_NaN = false; static constexpr bool has_signaling_NaN = false; static constexpr float_denorm_style has_denorm = denorm_absent; static constexpr bool has_denorm_loss = false; static constexpr char infinity() noexcept { return char(); } static constexpr char quiet_NaN() noexcept { return char(); } static constexpr char signaling_NaN() noexcept { return char(); } static constexpr char denorm_min() noexcept { return static_cast(0); } static constexpr bool is_iec559 = false; static constexpr bool is_bounded = true; static constexpr bool is_modulo = !is_signed; static constexpr bool traps = true; static constexpr bool tinyness_before = false; static constexpr float_round_style round_style = round_toward_zero; }; template<> struct numeric_limits { static constexpr bool is_specialized = true; static constexpr signed char min() noexcept { return -0x7f - 1; } static constexpr signed char max() noexcept { return 0x7f; } static constexpr signed char lowest() noexcept { return min(); } static constexpr int digits = (sizeof(signed char) * 8 - ((signed char)(-1) < 0)); static constexpr int digits10 = ((sizeof(signed char) * 8 - ((signed char)(-1) < 0)) * 643L / 2136); static constexpr int max_digits10 = 0; static constexpr bool is_signed = true; static constexpr bool is_integer = true; static constexpr bool is_exact = true; static constexpr int radix = 2; static constexpr signed char epsilon() noexcept { return 0; } static constexpr signed char round_error() noexcept { return 0; } static constexpr int min_exponent = 0; static constexpr int min_exponent10 = 0; static constexpr int max_exponent = 0; static constexpr int max_exponent10 = 0; static constexpr bool has_infinity = false; static constexpr bool has_quiet_NaN = false; static constexpr bool has_signaling_NaN = false; static constexpr float_denorm_style has_denorm = denorm_absent; static constexpr bool has_denorm_loss = false; static constexpr signed char infinity() noexcept { return static_cast(0); } static constexpr signed char quiet_NaN() noexcept { return static_cast(0); } static constexpr signed char signaling_NaN() noexcept { return static_cast(0); } static constexpr signed char denorm_min() noexcept { return static_cast(0); } static constexpr bool is_iec559 = false; static constexpr bool is_bounded = true; static constexpr bool is_modulo = false; static constexpr bool traps = true; static constexpr bool tinyness_before = false; static constexpr float_round_style round_style = round_toward_zero; }; template<> struct numeric_limits { static constexpr bool is_specialized = true; static constexpr unsigned char min() noexcept { return 0; } static constexpr unsigned char max() noexcept { return 0x7f * 2U + 1; } static constexpr unsigned char lowest() noexcept { return min(); } static constexpr int digits = (sizeof(unsigned char) * 8 - ((unsigned char)(-1) < 0)); static constexpr int digits10 = ((sizeof(unsigned char) * 8 - ((unsigned char)(-1) < 0)) * 643L / 2136); static constexpr int max_digits10 = 0; static constexpr bool is_signed = false; static constexpr bool is_integer = true; static constexpr bool is_exact = true; static constexpr int radix = 2; static constexpr unsigned char epsilon() noexcept { return 0; } static constexpr unsigned char round_error() noexcept { return 0; } static constexpr int min_exponent = 0; static constexpr int min_exponent10 = 0; static constexpr int max_exponent = 0; static constexpr int max_exponent10 = 0; static constexpr bool has_infinity = false; static constexpr bool has_quiet_NaN = false; static constexpr bool has_signaling_NaN = false; static constexpr float_denorm_style has_denorm = denorm_absent; static constexpr bool has_denorm_loss = false; static constexpr unsigned char infinity() noexcept { return static_cast(0); } static constexpr unsigned char quiet_NaN() noexcept { return static_cast(0); } static constexpr unsigned char signaling_NaN() noexcept { return static_cast(0); } static constexpr unsigned char denorm_min() noexcept { return static_cast(0); } static constexpr bool is_iec559 = false; static constexpr bool is_bounded = true; static constexpr bool is_modulo = true; static constexpr bool traps = true; static constexpr bool tinyness_before = false; static constexpr float_round_style round_style = round_toward_zero; }; template<> struct numeric_limits { static constexpr bool is_specialized = true; static constexpr wchar_t min() noexcept { return (((wchar_t)(-1) < 0) ? -(((wchar_t)(-1) < 0) ? (((((wchar_t)1 << ((sizeof(wchar_t) * 8 - ((wchar_t)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(wchar_t)0) - 1 : (wchar_t)0); } static constexpr wchar_t max() noexcept { return (((wchar_t)(-1) < 0) ? (((((wchar_t)1 << ((sizeof(wchar_t) * 8 - ((wchar_t)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(wchar_t)0); } static constexpr wchar_t lowest() noexcept { return min(); } static constexpr int digits = (sizeof(wchar_t) * 8 - ((wchar_t)(-1) < 0)); static constexpr int digits10 = ((sizeof(wchar_t) * 8 - ((wchar_t)(-1) < 0)) * 643L / 2136); static constexpr int max_digits10 = 0; static constexpr bool is_signed = ((wchar_t)(-1) < 0); static constexpr bool is_integer = true; static constexpr bool is_exact = true; static constexpr int radix = 2; static constexpr wchar_t epsilon() noexcept { return 0; } static constexpr wchar_t round_error() noexcept { return 0; } static constexpr int min_exponent = 0; static constexpr int min_exponent10 = 0; static constexpr int max_exponent = 0; static constexpr int max_exponent10 = 0; static constexpr bool has_infinity = false; static constexpr bool has_quiet_NaN = false; static constexpr bool has_signaling_NaN = false; static constexpr float_denorm_style has_denorm = denorm_absent; static constexpr bool has_denorm_loss = false; static constexpr wchar_t infinity() noexcept { return wchar_t(); } static constexpr wchar_t quiet_NaN() noexcept { return wchar_t(); } static constexpr wchar_t signaling_NaN() noexcept { return wchar_t(); } static constexpr wchar_t denorm_min() noexcept { return wchar_t(); } static constexpr bool is_iec559 = false; static constexpr bool is_bounded = true; static constexpr bool is_modulo = !is_signed; static constexpr bool traps = true; static constexpr bool tinyness_before = false; static constexpr float_round_style round_style = round_toward_zero; }; template<> struct numeric_limits { static constexpr bool is_specialized = true; static constexpr char16_t min() noexcept { return (((char16_t)(-1) < 0) ? -(((char16_t)(-1) < 0) ? (((((char16_t)1 << ((sizeof(char16_t) * 8 - ((char16_t)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(char16_t)0) - 1 : (char16_t)0); } static constexpr char16_t max() noexcept { return (((char16_t)(-1) < 0) ? (((((char16_t)1 << ((sizeof(char16_t) * 8 - ((char16_t)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(char16_t)0); } static constexpr char16_t lowest() noexcept { return min(); } static constexpr int digits = (sizeof(char16_t) * 8 - ((char16_t)(-1) < 0)); static constexpr int digits10 = ((sizeof(char16_t) * 8 - ((char16_t)(-1) < 0)) * 643L / 2136); static constexpr int max_digits10 = 0; static constexpr bool is_signed = ((char16_t)(-1) < 0); static constexpr bool is_integer = true; static constexpr bool is_exact = true; static constexpr int radix = 2; static constexpr char16_t epsilon() noexcept { return 0; } static constexpr char16_t round_error() noexcept { return 0; } static constexpr int min_exponent = 0; static constexpr int min_exponent10 = 0; static constexpr int max_exponent = 0; static constexpr int max_exponent10 = 0; static constexpr bool has_infinity = false; static constexpr bool has_quiet_NaN = false; static constexpr bool has_signaling_NaN = false; static constexpr float_denorm_style has_denorm = denorm_absent; static constexpr bool has_denorm_loss = false; static constexpr char16_t infinity() noexcept { return char16_t(); } static constexpr char16_t quiet_NaN() noexcept { return char16_t(); } static constexpr char16_t signaling_NaN() noexcept { return char16_t(); } static constexpr char16_t denorm_min() noexcept { return char16_t(); } static constexpr bool is_iec559 = false; static constexpr bool is_bounded = true; static constexpr bool is_modulo = !is_signed; static constexpr bool traps = true; static constexpr bool tinyness_before = false; static constexpr float_round_style round_style = round_toward_zero; }; template<> struct numeric_limits { static constexpr bool is_specialized = true; static constexpr char32_t min() noexcept { return (((char32_t)(-1) < 0) ? -(((char32_t)(-1) < 0) ? (((((char32_t)1 << ((sizeof(char32_t) * 8 - ((char32_t)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(char32_t)0) - 1 : (char32_t)0); } static constexpr char32_t max() noexcept { return (((char32_t)(-1) < 0) ? (((((char32_t)1 << ((sizeof(char32_t) * 8 - ((char32_t)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(char32_t)0); } static constexpr char32_t lowest() noexcept { return min(); } static constexpr int digits = (sizeof(char32_t) * 8 - ((char32_t)(-1) < 0)); static constexpr int digits10 = ((sizeof(char32_t) * 8 - ((char32_t)(-1) < 0)) * 643L / 2136); static constexpr int max_digits10 = 0; static constexpr bool is_signed = ((char32_t)(-1) < 0); static constexpr bool is_integer = true; static constexpr bool is_exact = true; static constexpr int radix = 2; static constexpr char32_t epsilon() noexcept { return 0; } static constexpr char32_t round_error() noexcept { return 0; } static constexpr int min_exponent = 0; static constexpr int min_exponent10 = 0; static constexpr int max_exponent = 0; static constexpr int max_exponent10 = 0; static constexpr bool has_infinity = false; static constexpr bool has_quiet_NaN = false; static constexpr bool has_signaling_NaN = false; static constexpr float_denorm_style has_denorm = denorm_absent; static constexpr bool has_denorm_loss = false; static constexpr char32_t infinity() noexcept { return char32_t(); } static constexpr char32_t quiet_NaN() noexcept { return char32_t(); } static constexpr char32_t signaling_NaN() noexcept { return char32_t(); } static constexpr char32_t denorm_min() noexcept { return char32_t(); } static constexpr bool is_iec559 = false; static constexpr bool is_bounded = true; static constexpr bool is_modulo = !is_signed; static constexpr bool traps = true; static constexpr bool tinyness_before = false; static constexpr float_round_style round_style = round_toward_zero; }; template<> struct numeric_limits { static constexpr bool is_specialized = true; static constexpr short min() noexcept { return -0x7fff - 1; } static constexpr short max() noexcept { return 0x7fff; } static constexpr short lowest() noexcept { return min(); } static constexpr int digits = (sizeof(short) * 8 - ((short)(-1) < 0)); static constexpr int digits10 = ((sizeof(short) * 8 - ((short)(-1) < 0)) * 643L / 2136); static constexpr int max_digits10 = 0; static constexpr bool is_signed = true; static constexpr bool is_integer = true; static constexpr bool is_exact = true; static constexpr int radix = 2; static constexpr short epsilon() noexcept { return 0; } static constexpr short round_error() noexcept { return 0; } static constexpr int min_exponent = 0; static constexpr int min_exponent10 = 0; static constexpr int max_exponent = 0; static constexpr int max_exponent10 = 0; static constexpr bool has_infinity = false; static constexpr bool has_quiet_NaN = false; static constexpr bool has_signaling_NaN = false; static constexpr float_denorm_style has_denorm = denorm_absent; static constexpr bool has_denorm_loss = false; static constexpr short infinity() noexcept { return short(); } static constexpr short quiet_NaN() noexcept { return short(); } static constexpr short signaling_NaN() noexcept { return short(); } static constexpr short denorm_min() noexcept { return short(); } static constexpr bool is_iec559 = false; static constexpr bool is_bounded = true; static constexpr bool is_modulo = false; static constexpr bool traps = true; static constexpr bool tinyness_before = false; static constexpr float_round_style round_style = round_toward_zero; }; template<> struct numeric_limits { static constexpr bool is_specialized = true; static constexpr unsigned short min() noexcept { return 0; } static constexpr unsigned short max() noexcept { return 0x7fff * 2U + 1; } static constexpr unsigned short lowest() noexcept { return min(); } static constexpr int digits = (sizeof(unsigned short) * 8 - ((unsigned short)(-1) < 0)); static constexpr int digits10 = ((sizeof(unsigned short) * 8 - ((unsigned short)(-1) < 0)) * 643L / 2136); static constexpr int max_digits10 = 0; static constexpr bool is_signed = false; static constexpr bool is_integer = true; static constexpr bool is_exact = true; static constexpr int radix = 2; static constexpr unsigned short epsilon() noexcept { return 0; } static constexpr unsigned short round_error() noexcept { return 0; } static constexpr int min_exponent = 0; static constexpr int min_exponent10 = 0; static constexpr int max_exponent = 0; static constexpr int max_exponent10 = 0; static constexpr bool has_infinity = false; static constexpr bool has_quiet_NaN = false; static constexpr bool has_signaling_NaN = false; static constexpr float_denorm_style has_denorm = denorm_absent; static constexpr bool has_denorm_loss = false; static constexpr unsigned short infinity() noexcept { return static_cast(0); } static constexpr unsigned short quiet_NaN() noexcept { return static_cast(0); } static constexpr unsigned short signaling_NaN() noexcept { return static_cast(0); } static constexpr unsigned short denorm_min() noexcept { return static_cast(0); } static constexpr bool is_iec559 = false; static constexpr bool is_bounded = true; static constexpr bool is_modulo = true; static constexpr bool traps = true; static constexpr bool tinyness_before = false; static constexpr float_round_style round_style = round_toward_zero; }; template<> struct numeric_limits { static constexpr bool is_specialized = true; static constexpr int min() noexcept { return -0x7fffffff - 1; } static constexpr int max() noexcept { return 0x7fffffff; } static constexpr int lowest() noexcept { return min(); } static constexpr int digits = (sizeof(int) * 8 - ((int)(-1) < 0)); static constexpr int digits10 = ((sizeof(int) * 8 - ((int)(-1) < 0)) * 643L / 2136); static constexpr int max_digits10 = 0; static constexpr bool is_signed = true; static constexpr bool is_integer = true; static constexpr bool is_exact = true; static constexpr int radix = 2; static constexpr int epsilon() noexcept { return 0; } static constexpr int round_error() noexcept { return 0; } static constexpr int min_exponent = 0; static constexpr int min_exponent10 = 0; static constexpr int max_exponent = 0; static constexpr int max_exponent10 = 0; static constexpr bool has_infinity = false; static constexpr bool has_quiet_NaN = false; static constexpr bool has_signaling_NaN = false; static constexpr float_denorm_style has_denorm = denorm_absent; static constexpr bool has_denorm_loss = false; static constexpr int infinity() noexcept { return static_cast(0); } static constexpr int quiet_NaN() noexcept { return static_cast(0); } static constexpr int signaling_NaN() noexcept { return static_cast(0); } static constexpr int denorm_min() noexcept { return static_cast(0); } static constexpr bool is_iec559 = false; static constexpr bool is_bounded = true; static constexpr bool is_modulo = false; static constexpr bool traps = true; static constexpr bool tinyness_before = false; static constexpr float_round_style round_style = round_toward_zero; }; template<> struct numeric_limits { static constexpr bool is_specialized = true; static constexpr unsigned int min() noexcept { return 0; } static constexpr unsigned int max() noexcept { return 0x7fffffff * 2U + 1; } static constexpr unsigned int lowest() noexcept { return min(); } static constexpr int digits = (sizeof(unsigned int) * 8 - ((unsigned int)(-1) < 0)); static constexpr int digits10 = ((sizeof(unsigned int) * 8 - ((unsigned int)(-1) < 0)) * 643L / 2136); static constexpr int max_digits10 = 0; static constexpr bool is_signed = false; static constexpr bool is_integer = true; static constexpr bool is_exact = true; static constexpr int radix = 2; static constexpr unsigned int epsilon() noexcept { return 0; } static constexpr unsigned int round_error() noexcept { return 0; } static constexpr int min_exponent = 0; static constexpr int min_exponent10 = 0; static constexpr int max_exponent = 0; static constexpr int max_exponent10 = 0; static constexpr bool has_infinity = false; static constexpr bool has_quiet_NaN = false; static constexpr bool has_signaling_NaN = false; static constexpr float_denorm_style has_denorm = denorm_absent; static constexpr bool has_denorm_loss = false; static constexpr unsigned int infinity() noexcept { return static_cast(0); } static constexpr unsigned int quiet_NaN() noexcept { return static_cast(0); } static constexpr unsigned int signaling_NaN() noexcept { return static_cast(0); } static constexpr unsigned int denorm_min() noexcept { return static_cast(0); } static constexpr bool is_iec559 = false; static constexpr bool is_bounded = true; static constexpr bool is_modulo = true; static constexpr bool traps = true; static constexpr bool tinyness_before = false; static constexpr float_round_style round_style = round_toward_zero; }; template<> struct numeric_limits { static constexpr bool is_specialized = true; static constexpr long min() noexcept { return -0x7fffffffL - 1; } static constexpr long max() noexcept { return 0x7fffffffL; } static constexpr long lowest() noexcept { return min(); } static constexpr int digits = (sizeof(long) * 8 - ((long)(-1) < 0)); static constexpr int digits10 = ((sizeof(long) * 8 - ((long)(-1) < 0)) * 643L / 2136); static constexpr int max_digits10 = 0; static constexpr bool is_signed = true; static constexpr bool is_integer = true; static constexpr bool is_exact = true; static constexpr int radix = 2; static constexpr long epsilon() noexcept { return 0; } static constexpr long round_error() noexcept { return 0; } static constexpr int min_exponent = 0; static constexpr int min_exponent10 = 0; static constexpr int max_exponent = 0; static constexpr int max_exponent10 = 0; static constexpr bool has_infinity = false; static constexpr bool has_quiet_NaN = false; static constexpr bool has_signaling_NaN = false; static constexpr float_denorm_style has_denorm = denorm_absent; static constexpr bool has_denorm_loss = false; static constexpr long infinity() noexcept { return static_cast(0); } static constexpr long quiet_NaN() noexcept { return static_cast(0); } static constexpr long signaling_NaN() noexcept { return static_cast(0); } static constexpr long denorm_min() noexcept { return static_cast(0); } static constexpr bool is_iec559 = false; static constexpr bool is_bounded = true; static constexpr bool is_modulo = false; static constexpr bool traps = true; static constexpr bool tinyness_before = false; static constexpr float_round_style round_style = round_toward_zero; }; template<> struct numeric_limits { static constexpr bool is_specialized = true; static constexpr unsigned long min() noexcept { return 0; } static constexpr unsigned long max() noexcept { return 0x7fffffffL * 2UL + 1; } static constexpr unsigned long lowest() noexcept { return min(); } static constexpr int digits = (sizeof(unsigned long) * 8 - ((unsigned long)(-1) < 0)); static constexpr int digits10 = ((sizeof(unsigned long) * 8 - ((unsigned long)(-1) < 0)) * 643L / 2136); static constexpr int max_digits10 = 0; static constexpr bool is_signed = false; static constexpr bool is_integer = true; static constexpr bool is_exact = true; static constexpr int radix = 2; static constexpr unsigned long epsilon() noexcept { return 0; } static constexpr unsigned long round_error() noexcept { return 0; } static constexpr int min_exponent = 0; static constexpr int min_exponent10 = 0; static constexpr int max_exponent = 0; static constexpr int max_exponent10 = 0; static constexpr bool has_infinity = false; static constexpr bool has_quiet_NaN = false; static constexpr bool has_signaling_NaN = false; static constexpr float_denorm_style has_denorm = denorm_absent; static constexpr bool has_denorm_loss = false; static constexpr unsigned long infinity() noexcept { return static_cast(0); } static constexpr unsigned long quiet_NaN() noexcept { return static_cast(0); } static constexpr unsigned long signaling_NaN() noexcept { return static_cast(0); } static constexpr unsigned long denorm_min() noexcept { return static_cast(0); } static constexpr bool is_iec559 = false; static constexpr bool is_bounded = true; static constexpr bool is_modulo = true; static constexpr bool traps = true; static constexpr bool tinyness_before = false; static constexpr float_round_style round_style = round_toward_zero; }; template<> struct numeric_limits { static constexpr bool is_specialized = true; static constexpr long long min() noexcept { return -0x7fffffffffffffffLL - 1; } static constexpr long long max() noexcept { return 0x7fffffffffffffffLL; } static constexpr long long lowest() noexcept { return min(); } static constexpr int digits = (sizeof(long long) * 8 - ((long long)(-1) < 0)); static constexpr int digits10 = ((sizeof(long long) * 8 - ((long long)(-1) < 0)) * 643L / 2136); static constexpr int max_digits10 = 0; static constexpr bool is_signed = true; static constexpr bool is_integer = true; static constexpr bool is_exact = true; static constexpr int radix = 2; static constexpr long long epsilon() noexcept { return 0; } static constexpr long long round_error() noexcept { return 0; } static constexpr int min_exponent = 0; static constexpr int min_exponent10 = 0; static constexpr int max_exponent = 0; static constexpr int max_exponent10 = 0; static constexpr bool has_infinity = false; static constexpr bool has_quiet_NaN = false; static constexpr bool has_signaling_NaN = false; static constexpr float_denorm_style has_denorm = denorm_absent; static constexpr bool has_denorm_loss = false; static constexpr long long infinity() noexcept { return static_cast(0); } static constexpr long long quiet_NaN() noexcept { return static_cast(0); } static constexpr long long signaling_NaN() noexcept { return static_cast(0); } static constexpr long long denorm_min() noexcept { return static_cast(0); } static constexpr bool is_iec559 = false; static constexpr bool is_bounded = true; static constexpr bool is_modulo = false; static constexpr bool traps = true; static constexpr bool tinyness_before = false; static constexpr float_round_style round_style = round_toward_zero; }; template<> struct numeric_limits { static constexpr bool is_specialized = true; static constexpr unsigned long long min() noexcept { return 0; } static constexpr unsigned long long max() noexcept { return 0x7fffffffffffffffLL * 2ULL + 1; } static constexpr unsigned long long lowest() noexcept { return min(); } static constexpr int digits = (sizeof(unsigned long long) * 8 - ((unsigned long long)(-1) < 0)); static constexpr int digits10 = ((sizeof(unsigned long long) * 8 - ((unsigned long long)(-1) < 0)) * 643L / 2136); static constexpr int max_digits10 = 0; static constexpr bool is_signed = false; static constexpr bool is_integer = true; static constexpr bool is_exact = true; static constexpr int radix = 2; static constexpr unsigned long long epsilon() noexcept { return 0; } static constexpr unsigned long long round_error() noexcept { return 0; } static constexpr int min_exponent = 0; static constexpr int min_exponent10 = 0; static constexpr int max_exponent = 0; static constexpr int max_exponent10 = 0; static constexpr bool has_infinity = false; static constexpr bool has_quiet_NaN = false; static constexpr bool has_signaling_NaN = false; static constexpr float_denorm_style has_denorm = denorm_absent; static constexpr bool has_denorm_loss = false; static constexpr unsigned long long infinity() noexcept { return static_cast(0); } static constexpr unsigned long long quiet_NaN() noexcept { return static_cast(0); } static constexpr unsigned long long signaling_NaN() noexcept { return static_cast(0); } static constexpr unsigned long long denorm_min() noexcept { return static_cast(0); } static constexpr bool is_iec559 = false; static constexpr bool is_bounded = true; static constexpr bool is_modulo = true; static constexpr bool traps = true; static constexpr bool tinyness_before = false; static constexpr float_round_style round_style = round_toward_zero; }; # 1591 "/usr/include/c++/5.0.0/limits" 3 template<> struct numeric_limits { static constexpr bool is_specialized = true; static constexpr float min() noexcept { return 1.17549435082228750797e-38F; } static constexpr float max() noexcept { return 3.40282346638528859812e+38F; } static constexpr float lowest() noexcept { return -3.40282346638528859812e+38F; } static constexpr int digits = 24; static constexpr int digits10 = 6; static constexpr int max_digits10 = (2 + (24) * 643L / 2136); static constexpr bool is_signed = true; static constexpr bool is_integer = false; static constexpr bool is_exact = false; static constexpr int radix = 2; static constexpr float epsilon() noexcept { return 1.19209289550781250000e-7F; } static constexpr float round_error() noexcept { return 0.5F; } static constexpr int min_exponent = (-125); static constexpr int min_exponent10 = (-37); static constexpr int max_exponent = 128; static constexpr int max_exponent10 = 38; static constexpr bool has_infinity = 1; static constexpr bool has_quiet_NaN = 1; static constexpr bool has_signaling_NaN = has_quiet_NaN; static constexpr float_denorm_style has_denorm = bool(1) ? denorm_present : denorm_absent; static constexpr bool has_denorm_loss = false; static constexpr float infinity() noexcept { return __builtin_huge_valf(); } static constexpr float quiet_NaN() noexcept { return __builtin_nanf(""); } static constexpr float signaling_NaN() noexcept { return __builtin_nansf(""); } static constexpr float denorm_min() noexcept { return 1.40129846432481707092e-45F; } static constexpr bool is_iec559 = has_infinity && has_quiet_NaN && has_denorm == denorm_present; static constexpr bool is_bounded = true; static constexpr bool is_modulo = false; static constexpr bool traps = false; static constexpr bool tinyness_before = false; static constexpr float_round_style round_style = round_to_nearest; }; template<> struct numeric_limits { static constexpr bool is_specialized = true; static constexpr double min() noexcept { return double(2.22507385850720138309e-308L); } static constexpr double max() noexcept { return double(1.79769313486231570815e+308L); } static constexpr double lowest() noexcept { return -double(1.79769313486231570815e+308L); } static constexpr int digits = 53; static constexpr int digits10 = 15; static constexpr int max_digits10 = (2 + (53) * 643L / 2136); static constexpr bool is_signed = true; static constexpr bool is_integer = false; static constexpr bool is_exact = false; static constexpr int radix = 2; static constexpr double epsilon() noexcept { return double(2.22044604925031308085e-16L); } static constexpr double round_error() noexcept { return 0.5; } static constexpr int min_exponent = (-1021); static constexpr int min_exponent10 = (-307); static constexpr int max_exponent = 1024; static constexpr int max_exponent10 = 308; static constexpr bool has_infinity = 1; static constexpr bool has_quiet_NaN = 1; static constexpr bool has_signaling_NaN = has_quiet_NaN; static constexpr float_denorm_style has_denorm = bool(1) ? denorm_present : denorm_absent; static constexpr bool has_denorm_loss = false; static constexpr double infinity() noexcept { return __builtin_huge_val(); } static constexpr double quiet_NaN() noexcept { return __builtin_nan(""); } static constexpr double signaling_NaN() noexcept { return __builtin_nans(""); } static constexpr double denorm_min() noexcept { return double(4.94065645841246544177e-324L); } static constexpr bool is_iec559 = has_infinity && has_quiet_NaN && has_denorm == denorm_present; static constexpr bool is_bounded = true; static constexpr bool is_modulo = false; static constexpr bool traps = false; static constexpr bool tinyness_before = false; static constexpr float_round_style round_style = round_to_nearest; }; template<> struct numeric_limits { static constexpr bool is_specialized = true; static constexpr long double min() noexcept { return 3.36210314311209350626e-4932L; } static constexpr long double max() noexcept { return 1.18973149535723176502e+4932L; } static constexpr long double lowest() noexcept { return -1.18973149535723176502e+4932L; } static constexpr int digits = 64; static constexpr int digits10 = 18; static constexpr int max_digits10 = (2 + (64) * 643L / 2136); static constexpr bool is_signed = true; static constexpr bool is_integer = false; static constexpr bool is_exact = false; static constexpr int radix = 2; static constexpr long double epsilon() noexcept { return 1.08420217248550443401e-19L; } static constexpr long double round_error() noexcept { return 0.5L; } static constexpr int min_exponent = (-16381); static constexpr int min_exponent10 = (-4931); static constexpr int max_exponent = 16384; static constexpr int max_exponent10 = 4932; static constexpr bool has_infinity = 1; static constexpr bool has_quiet_NaN = 1; static constexpr bool has_signaling_NaN = has_quiet_NaN; static constexpr float_denorm_style has_denorm = bool(1) ? denorm_present : denorm_absent; static constexpr bool has_denorm_loss = false; static constexpr long double infinity() noexcept { return __builtin_huge_vall(); } static constexpr long double quiet_NaN() noexcept { return __builtin_nanl(""); } static constexpr long double signaling_NaN() noexcept { return __builtin_nansl(""); } static constexpr long double denorm_min() noexcept { return 3.64519953188247460253e-4951L; } static constexpr bool is_iec559 = has_infinity && has_quiet_NaN && has_denorm == denorm_present; static constexpr bool is_bounded = true; static constexpr bool is_modulo = false; static constexpr bool traps = false; static constexpr bool tinyness_before = false; static constexpr float_round_style round_style = round_to_nearest; }; } # 4 "../../../dist/system_wrappers/limits" 2 3 #pragma GCC visibility pop # 56 "../../../dist/stl_wrappers/limits" 2 3 #pragma GCC visibility pop # 43 "/usr/include/c++/5.0.0/random" 2 3 # 1 "/usr/include/c++/5.0.0/bits/random.h" 1 3 # 34 "/usr/include/c++/5.0.0/bits/random.h" 3 # 1 "../../../dist/stl_wrappers/vector" 1 3 # 18 "../../../dist/stl_wrappers/vector" 3 # 19 "../../../dist/stl_wrappers/vector" 3 # 33 "../../../dist/stl_wrappers/vector" 3 # 1 "../../../dist/system_wrappers/new" 1 3 # 2 "../../../dist/system_wrappers/new" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 34 "../../../dist/stl_wrappers/vector" 2 3 # 54 "../../../dist/stl_wrappers/vector" 3 #pragma GCC visibility push(default) # 1 "../../../dist/system_wrappers/vector" 1 3 # 2 "../../../dist/system_wrappers/vector" 3 #pragma GCC visibility push(default) # 1 "/usr/include/c++/5.0.0/vector" 1 3 # 58 "/usr/include/c++/5.0.0/vector" 3 # 59 "/usr/include/c++/5.0.0/vector" 3 # 1 "/usr/include/c++/5.0.0/bits/stl_uninitialized.h" 1 3 # 59 "/usr/include/c++/5.0.0/bits/stl_uninitialized.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template struct __uninitialized_copy { template static _ForwardIterator __uninit_copy(_InputIterator __first, _InputIterator __last, _ForwardIterator __result) { _ForwardIterator __cur = __result; if (true) { for (; __first != __last; ++__first, ++__cur) std::_Construct(std::__addressof(*__cur), *__first); return __cur; } if (false) { std::_Destroy(__result, __cur); ; } } }; template<> struct __uninitialized_copy { template static _ForwardIterator __uninit_copy(_InputIterator __first, _InputIterator __last, _ForwardIterator __result) { return std::copy(__first, __last, __result); } }; # 105 "/usr/include/c++/5.0.0/bits/stl_uninitialized.h" 3 template inline _ForwardIterator uninitialized_copy(_InputIterator __first, _InputIterator __last, _ForwardIterator __result) { typedef typename iterator_traits<_InputIterator>::value_type _ValueType1; typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType2; typedef typename iterator_traits<_InputIterator>::reference _RefType1; typedef typename iterator_traits<_ForwardIterator>::reference _RefType2; const bool __assignable = is_assignable<_RefType2, _RefType1>::value; return std::__uninitialized_copy<__is_trivial(_ValueType1) && __is_trivial(_ValueType2) && __assignable>:: __uninit_copy(__first, __last, __result); } template struct __uninitialized_fill { template static void __uninit_fill(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __x) { _ForwardIterator __cur = __first; if (true) { for (; __cur != __last; ++__cur) std::_Construct(std::__addressof(*__cur), __x); } if (false) { std::_Destroy(__first, __cur); ; } } }; template<> struct __uninitialized_fill { template static void __uninit_fill(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __x) { std::fill(__first, __last, __x); } }; # 171 "/usr/include/c++/5.0.0/bits/stl_uninitialized.h" 3 template inline void uninitialized_fill(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __x) { typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; const bool __assignable = is_copy_assignable<_ValueType>::value; std::__uninitialized_fill<__is_trivial(_ValueType) && __assignable>:: __uninit_fill(__first, __last, __x); } template struct __uninitialized_fill_n { template static _ForwardIterator __uninit_fill_n(_ForwardIterator __first, _Size __n, const _Tp& __x) { _ForwardIterator __cur = __first; if (true) { for (; __n > 0; --__n, ++__cur) std::_Construct(std::__addressof(*__cur), __x); return __cur; } if (false) { std::_Destroy(__first, __cur); ; } } }; template<> struct __uninitialized_fill_n { template static _ForwardIterator __uninit_fill_n(_ForwardIterator __first, _Size __n, const _Tp& __x) { return std::fill_n(__first, __n, __x); } }; # 234 "/usr/include/c++/5.0.0/bits/stl_uninitialized.h" 3 template inline _ForwardIterator uninitialized_fill_n(_ForwardIterator __first, _Size __n, const _Tp& __x) { typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; const bool __assignable = is_copy_assignable<_ValueType>::value; return __uninitialized_fill_n<__is_trivial(_ValueType) && __assignable>:: __uninit_fill_n(__first, __n, __x); } template _ForwardIterator __uninitialized_copy_a(_InputIterator __first, _InputIterator __last, _ForwardIterator __result, _Allocator& __alloc) { _ForwardIterator __cur = __result; if (true) { typedef __gnu_cxx::__alloc_traits<_Allocator> __traits; for (; __first != __last; ++__first, ++__cur) __traits::construct(__alloc, std::__addressof(*__cur), *__first); return __cur; } if (false) { std::_Destroy(__result, __cur, __alloc); ; } } template inline _ForwardIterator __uninitialized_copy_a(_InputIterator __first, _InputIterator __last, _ForwardIterator __result, allocator<_Tp>&) { return std::uninitialized_copy(__first, __last, __result); } template inline _ForwardIterator __uninitialized_move_a(_InputIterator __first, _InputIterator __last, _ForwardIterator __result, _Allocator& __alloc) { return std::__uninitialized_copy_a(std::make_move_iterator(__first), std::make_move_iterator(__last), __result, __alloc); } template inline _ForwardIterator __uninitialized_move_if_noexcept_a(_InputIterator __first, _InputIterator __last, _ForwardIterator __result, _Allocator& __alloc) { return std::__uninitialized_copy_a (std::__make_move_if_noexcept_iterator(__first), std::__make_move_if_noexcept_iterator(__last), __result, __alloc); } template void __uninitialized_fill_a(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __x, _Allocator& __alloc) { _ForwardIterator __cur = __first; if (true) { typedef __gnu_cxx::__alloc_traits<_Allocator> __traits; for (; __cur != __last; ++__cur) __traits::construct(__alloc, std::__addressof(*__cur), __x); } if (false) { std::_Destroy(__first, __cur, __alloc); ; } } template inline void __uninitialized_fill_a(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __x, allocator<_Tp2>&) { std::uninitialized_fill(__first, __last, __x); } template _ForwardIterator __uninitialized_fill_n_a(_ForwardIterator __first, _Size __n, const _Tp& __x, _Allocator& __alloc) { _ForwardIterator __cur = __first; if (true) { typedef __gnu_cxx::__alloc_traits<_Allocator> __traits; for (; __n > 0; --__n, ++__cur) __traits::construct(__alloc, std::__addressof(*__cur), __x); return __cur; } if (false) { std::_Destroy(__first, __cur, __alloc); ; } } template inline _ForwardIterator __uninitialized_fill_n_a(_ForwardIterator __first, _Size __n, const _Tp& __x, allocator<_Tp2>&) { return std::uninitialized_fill_n(__first, __n, __x); } # 370 "/usr/include/c++/5.0.0/bits/stl_uninitialized.h" 3 template inline _ForwardIterator __uninitialized_copy_move(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _ForwardIterator __result, _Allocator& __alloc) { _ForwardIterator __mid = std::__uninitialized_copy_a(__first1, __last1, __result, __alloc); if (true) { return std::__uninitialized_move_a(__first2, __last2, __mid, __alloc); } if (false) { std::_Destroy(__result, __mid, __alloc); ; } } template inline _ForwardIterator __uninitialized_move_copy(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _ForwardIterator __result, _Allocator& __alloc) { _ForwardIterator __mid = std::__uninitialized_move_a(__first1, __last1, __result, __alloc); if (true) { return std::__uninitialized_copy_a(__first2, __last2, __mid, __alloc); } if (false) { std::_Destroy(__result, __mid, __alloc); ; } } template inline _ForwardIterator __uninitialized_fill_move(_ForwardIterator __result, _ForwardIterator __mid, const _Tp& __x, _InputIterator __first, _InputIterator __last, _Allocator& __alloc) { std::__uninitialized_fill_a(__result, __mid, __x, __alloc); if (true) { return std::__uninitialized_move_a(__first, __last, __mid, __alloc); } if (false) { std::_Destroy(__result, __mid, __alloc); ; } } template inline void __uninitialized_move_fill(_InputIterator __first1, _InputIterator __last1, _ForwardIterator __first2, _ForwardIterator __last2, const _Tp& __x, _Allocator& __alloc) { _ForwardIterator __mid2 = std::__uninitialized_move_a(__first1, __last1, __first2, __alloc); if (true) { std::__uninitialized_fill_a(__mid2, __last2, __x, __alloc); } if (false) { std::_Destroy(__first2, __mid2, __alloc); ; } } template struct __uninitialized_default_1 { template static void __uninit_default(_ForwardIterator __first, _ForwardIterator __last) { _ForwardIterator __cur = __first; if (true) { for (; __cur != __last; ++__cur) std::_Construct(std::__addressof(*__cur)); } if (false) { std::_Destroy(__first, __cur); ; } } }; template<> struct __uninitialized_default_1 { template static void __uninit_default(_ForwardIterator __first, _ForwardIterator __last) { typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; std::fill(__first, __last, _ValueType()); } }; template struct __uninitialized_default_n_1 { template static _ForwardIterator __uninit_default_n(_ForwardIterator __first, _Size __n) { _ForwardIterator __cur = __first; if (true) { for (; __n > 0; --__n, ++__cur) std::_Construct(std::__addressof(*__cur)); return __cur; } if (false) { std::_Destroy(__first, __cur); ; } } }; template<> struct __uninitialized_default_n_1 { template static _ForwardIterator __uninit_default_n(_ForwardIterator __first, _Size __n) { typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; return std::fill_n(__first, __n, _ValueType()); } }; template inline void __uninitialized_default(_ForwardIterator __first, _ForwardIterator __last) { typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; const bool __assignable = is_copy_assignable<_ValueType>::value; std::__uninitialized_default_1<__is_trivial(_ValueType) && __assignable>:: __uninit_default(__first, __last); } template inline _ForwardIterator __uninitialized_default_n(_ForwardIterator __first, _Size __n) { typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; const bool __assignable = is_copy_assignable<_ValueType>::value; return __uninitialized_default_n_1<__is_trivial(_ValueType) && __assignable>:: __uninit_default_n(__first, __n); } template void __uninitialized_default_a(_ForwardIterator __first, _ForwardIterator __last, _Allocator& __alloc) { _ForwardIterator __cur = __first; if (true) { typedef __gnu_cxx::__alloc_traits<_Allocator> __traits; for (; __cur != __last; ++__cur) __traits::construct(__alloc, std::__addressof(*__cur)); } if (false) { std::_Destroy(__first, __cur, __alloc); ; } } template inline void __uninitialized_default_a(_ForwardIterator __first, _ForwardIterator __last, allocator<_Tp>&) { std::__uninitialized_default(__first, __last); } template _ForwardIterator __uninitialized_default_n_a(_ForwardIterator __first, _Size __n, _Allocator& __alloc) { _ForwardIterator __cur = __first; if (true) { typedef __gnu_cxx::__alloc_traits<_Allocator> __traits; for (; __n > 0; --__n, ++__cur) __traits::construct(__alloc, std::__addressof(*__cur)); return __cur; } if (false) { std::_Destroy(__first, __cur, __alloc); ; } } template inline _ForwardIterator __uninitialized_default_n_a(_ForwardIterator __first, _Size __n, allocator<_Tp>&) { return std::__uninitialized_default_n(__first, __n); } template _ForwardIterator __uninitialized_copy_n(_InputIterator __first, _Size __n, _ForwardIterator __result, input_iterator_tag) { _ForwardIterator __cur = __result; if (true) { for (; __n > 0; --__n, ++__first, ++__cur) std::_Construct(std::__addressof(*__cur), *__first); return __cur; } if (false) { std::_Destroy(__result, __cur); ; } } template inline _ForwardIterator __uninitialized_copy_n(_RandomAccessIterator __first, _Size __n, _ForwardIterator __result, random_access_iterator_tag) { return std::uninitialized_copy(__first, __first + __n, __result); } # 677 "/usr/include/c++/5.0.0/bits/stl_uninitialized.h" 3 template inline _ForwardIterator uninitialized_copy_n(_InputIterator __first, _Size __n, _ForwardIterator __result) { return std::__uninitialized_copy_n(__first, __n, __result, std::__iterator_category(__first)); } } # 64 "/usr/include/c++/5.0.0/vector" 2 3 # 1 "/usr/include/c++/5.0.0/bits/stl_vector.h" 1 3 # 66 "/usr/include/c++/5.0.0/bits/stl_vector.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template struct _Vector_base { typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template rebind<_Tp>::other _Tp_alloc_type; typedef typename __gnu_cxx::__alloc_traits<_Tp_alloc_type>::pointer pointer; struct _Vector_impl : public _Tp_alloc_type { pointer _M_start; pointer _M_finish; pointer _M_end_of_storage; _Vector_impl() : _Tp_alloc_type(), _M_start(), _M_finish(), _M_end_of_storage() { } _Vector_impl(_Tp_alloc_type const& __a) noexcept : _Tp_alloc_type(__a), _M_start(), _M_finish(), _M_end_of_storage() { } _Vector_impl(_Tp_alloc_type&& __a) noexcept : _Tp_alloc_type(std::move(__a)), _M_start(), _M_finish(), _M_end_of_storage() { } void _M_swap_data(_Vector_impl& __x) noexcept { std::swap(_M_start, __x._M_start); std::swap(_M_finish, __x._M_finish); std::swap(_M_end_of_storage, __x._M_end_of_storage); } }; public: typedef _Alloc allocator_type; _Tp_alloc_type& _M_get_Tp_allocator() noexcept { return *static_cast<_Tp_alloc_type*>(&this->_M_impl); } const _Tp_alloc_type& _M_get_Tp_allocator() const noexcept { return *static_cast(&this->_M_impl); } allocator_type get_allocator() const noexcept { return allocator_type(_M_get_Tp_allocator()); } _Vector_base() : _M_impl() { } _Vector_base(const allocator_type& __a) noexcept : _M_impl(__a) { } _Vector_base(size_t __n) : _M_impl() { _M_create_storage(__n); } _Vector_base(size_t __n, const allocator_type& __a) : _M_impl(__a) { _M_create_storage(__n); } _Vector_base(_Tp_alloc_type&& __a) noexcept : _M_impl(std::move(__a)) { } _Vector_base(_Vector_base&& __x) noexcept : _M_impl(std::move(__x._M_get_Tp_allocator())) { this->_M_impl._M_swap_data(__x._M_impl); } _Vector_base(_Vector_base&& __x, const allocator_type& __a) : _M_impl(__a) { if (__x.get_allocator() == __a) this->_M_impl._M_swap_data(__x._M_impl); else { size_t __n = __x._M_impl._M_finish - __x._M_impl._M_start; _M_create_storage(__n); } } ~_Vector_base() noexcept { _M_deallocate(this->_M_impl._M_start, this->_M_impl._M_end_of_storage - this->_M_impl._M_start); } public: _Vector_impl _M_impl; pointer _M_allocate(size_t __n) { typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Tr; return __n != 0 ? _Tr::allocate(_M_impl, __n) : pointer(); } void _M_deallocate(pointer __p, size_t __n) { typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Tr; if (__p) _Tr::deallocate(_M_impl, __p, __n); } private: void _M_create_storage(size_t __n) { this->_M_impl._M_start = this->_M_allocate(__n); this->_M_impl._M_finish = this->_M_impl._M_start; this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n; } }; # 213 "/usr/include/c++/5.0.0/bits/stl_vector.h" 3 template > class vector : protected _Vector_base<_Tp, _Alloc> { typedef typename _Alloc::value_type _Alloc_value_type; typedef _Vector_base<_Tp, _Alloc> _Base; typedef typename _Base::_Tp_alloc_type _Tp_alloc_type; typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Alloc_traits; public: typedef _Tp value_type; typedef typename _Base::pointer pointer; typedef typename _Alloc_traits::const_pointer const_pointer; typedef typename _Alloc_traits::reference reference; typedef typename _Alloc_traits::const_reference const_reference; typedef __gnu_cxx::__normal_iterator iterator; typedef __gnu_cxx::__normal_iterator const_iterator; typedef std::reverse_iterator const_reverse_iterator; typedef std::reverse_iterator reverse_iterator; typedef size_t size_type; typedef ptrdiff_t difference_type; typedef _Alloc allocator_type; protected: using _Base::_M_allocate; using _Base::_M_deallocate; using _Base::_M_impl; using _Base::_M_get_Tp_allocator; public: vector() noexcept(is_nothrow_default_constructible<_Alloc>::value) : _Base() { } explicit vector(const allocator_type& __a) noexcept : _Base(__a) { } # 276 "/usr/include/c++/5.0.0/bits/stl_vector.h" 3 explicit vector(size_type __n, const allocator_type& __a = allocator_type()) : _Base(__n, __a) { _M_default_initialize(__n); } # 289 "/usr/include/c++/5.0.0/bits/stl_vector.h" 3 vector(size_type __n, const value_type& __value, const allocator_type& __a = allocator_type()) : _Base(__n, __a) { _M_fill_initialize(__n, __value); } # 318 "/usr/include/c++/5.0.0/bits/stl_vector.h" 3 vector(const vector& __x) : _Base(__x.size(), _Alloc_traits::_S_select_on_copy(__x._M_get_Tp_allocator())) { this->_M_impl._M_finish = std::__uninitialized_copy_a(__x.begin(), __x.end(), this->_M_impl._M_start, _M_get_Tp_allocator()); } # 335 "/usr/include/c++/5.0.0/bits/stl_vector.h" 3 vector(vector&& __x) noexcept : _Base(std::move(__x)) { } vector(const vector& __x, const allocator_type& __a) : _Base(__x.size(), __a) { this->_M_impl._M_finish = std::__uninitialized_copy_a(__x.begin(), __x.end(), this->_M_impl._M_start, _M_get_Tp_allocator()); } vector(vector&& __rv, const allocator_type& __m) noexcept(_Alloc_traits::_S_always_equal()) : _Base(std::move(__rv), __m) { if (__rv.get_allocator() != __m) { this->_M_impl._M_finish = std::__uninitialized_move_a(__rv.begin(), __rv.end(), this->_M_impl._M_start, _M_get_Tp_allocator()); __rv.clear(); } } # 373 "/usr/include/c++/5.0.0/bits/stl_vector.h" 3 vector(initializer_list __l, const allocator_type& __a = allocator_type()) : _Base(__a) { _M_range_initialize(__l.begin(), __l.end(), random_access_iterator_tag()); } # 399 "/usr/include/c++/5.0.0/bits/stl_vector.h" 3 template> vector(_InputIterator __first, _InputIterator __last, const allocator_type& __a = allocator_type()) : _Base(__a) { _M_initialize_dispatch(__first, __last, __false_type()); } # 423 "/usr/include/c++/5.0.0/bits/stl_vector.h" 3 ~vector() noexcept { std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, _M_get_Tp_allocator()); } # 435 "/usr/include/c++/5.0.0/bits/stl_vector.h" 3 vector& operator=(const vector& __x); # 447 "/usr/include/c++/5.0.0/bits/stl_vector.h" 3 vector& operator=(vector&& __x) noexcept(_Alloc_traits::_S_nothrow_move()) { constexpr bool __move_storage = _Alloc_traits::_S_propagate_on_move_assign() || _Alloc_traits::_S_always_equal(); _M_move_assign(std::move(__x), integral_constant()); return *this; } # 469 "/usr/include/c++/5.0.0/bits/stl_vector.h" 3 vector& operator=(initializer_list __l) { this->assign(__l.begin(), __l.end()); return *this; } # 487 "/usr/include/c++/5.0.0/bits/stl_vector.h" 3 void assign(size_type __n, const value_type& __val) { _M_fill_assign(__n, __val); } # 504 "/usr/include/c++/5.0.0/bits/stl_vector.h" 3 template> void assign(_InputIterator __first, _InputIterator __last) { _M_assign_dispatch(__first, __last, __false_type()); } # 532 "/usr/include/c++/5.0.0/bits/stl_vector.h" 3 void assign(initializer_list __l) { this->assign(__l.begin(), __l.end()); } using _Base::get_allocator; iterator begin() noexcept { return iterator(this->_M_impl._M_start); } const_iterator begin() const noexcept { return const_iterator(this->_M_impl._M_start); } iterator end() noexcept { return iterator(this->_M_impl._M_finish); } const_iterator end() const noexcept { return const_iterator(this->_M_impl._M_finish); } reverse_iterator rbegin() noexcept { return reverse_iterator(end()); } const_reverse_iterator rbegin() const noexcept { return const_reverse_iterator(end()); } reverse_iterator rend() noexcept { return reverse_iterator(begin()); } const_reverse_iterator rend() const noexcept { return const_reverse_iterator(begin()); } const_iterator cbegin() const noexcept { return const_iterator(this->_M_impl._M_start); } const_iterator cend() const noexcept { return const_iterator(this->_M_impl._M_finish); } const_reverse_iterator crbegin() const noexcept { return const_reverse_iterator(end()); } const_reverse_iterator crend() const noexcept { return const_reverse_iterator(begin()); } size_type size() const noexcept { return size_type(this->_M_impl._M_finish - this->_M_impl._M_start); } size_type max_size() const noexcept { return _Alloc_traits::max_size(_M_get_Tp_allocator()); } # 672 "/usr/include/c++/5.0.0/bits/stl_vector.h" 3 void resize(size_type __new_size) { if (__new_size > size()) _M_default_append(__new_size - size()); else if (__new_size < size()) _M_erase_at_end(this->_M_impl._M_start + __new_size); } # 692 "/usr/include/c++/5.0.0/bits/stl_vector.h" 3 void resize(size_type __new_size, const value_type& __x) { if (__new_size > size()) insert(end(), __new_size - size(), __x); else if (__new_size < size()) _M_erase_at_end(this->_M_impl._M_start + __new_size); } # 724 "/usr/include/c++/5.0.0/bits/stl_vector.h" 3 void shrink_to_fit() { _M_shrink_to_fit(); } size_type capacity() const noexcept { return size_type(this->_M_impl._M_end_of_storage - this->_M_impl._M_start); } bool empty() const noexcept { return begin() == end(); } # 763 "/usr/include/c++/5.0.0/bits/stl_vector.h" 3 void reserve(size_type __n); # 778 "/usr/include/c++/5.0.0/bits/stl_vector.h" 3 reference operator[](size_type __n) noexcept { return *(this->_M_impl._M_start + __n); } # 793 "/usr/include/c++/5.0.0/bits/stl_vector.h" 3 const_reference operator[](size_type __n) const noexcept { return *(this->_M_impl._M_start + __n); } protected: void _M_range_check(size_type __n) const { if (__n >= this->size()) __throw_out_of_range_fmt(("vector::_M_range_check: __n " "(which is %zu) >= this->size() " "(which is %zu)") , __n, this->size()); } public: # 821 "/usr/include/c++/5.0.0/bits/stl_vector.h" 3 reference at(size_type __n) { _M_range_check(__n); return (*this)[__n]; } # 839 "/usr/include/c++/5.0.0/bits/stl_vector.h" 3 const_reference at(size_type __n) const { _M_range_check(__n); return (*this)[__n]; } reference front() noexcept { return *begin(); } const_reference front() const noexcept { return *begin(); } reference back() noexcept { return *(end() - 1); } const_reference back() const noexcept { return *(end() - 1); } # 886 "/usr/include/c++/5.0.0/bits/stl_vector.h" 3 _Tp* data() noexcept { return _M_data_ptr(this->_M_impl._M_start); } const _Tp* data() const noexcept { return _M_data_ptr(this->_M_impl._M_start); } # 912 "/usr/include/c++/5.0.0/bits/stl_vector.h" 3 void push_back(const value_type& __x) { if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage) { _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, __x); ++this->_M_impl._M_finish; } else _M_emplace_back_aux(__x); } void push_back(value_type&& __x) { emplace_back(std::move(__x)); } template void emplace_back(_Args&&... __args); # 948 "/usr/include/c++/5.0.0/bits/stl_vector.h" 3 void pop_back() noexcept { --this->_M_impl._M_finish; _Alloc_traits::destroy(this->_M_impl, this->_M_impl._M_finish); } # 968 "/usr/include/c++/5.0.0/bits/stl_vector.h" 3 template iterator emplace(const_iterator __position, _Args&&... __args); # 983 "/usr/include/c++/5.0.0/bits/stl_vector.h" 3 iterator insert(const_iterator __position, const value_type& __x); # 1013 "/usr/include/c++/5.0.0/bits/stl_vector.h" 3 iterator insert(const_iterator __position, value_type&& __x) { return emplace(__position, std::move(__x)); } # 1030 "/usr/include/c++/5.0.0/bits/stl_vector.h" 3 iterator insert(const_iterator __position, initializer_list __l) { return this->insert(__position, __l.begin(), __l.end()); } # 1050 "/usr/include/c++/5.0.0/bits/stl_vector.h" 3 iterator insert(const_iterator __position, size_type __n, const value_type& __x) { difference_type __offset = __position - cbegin(); _M_fill_insert(begin() + __offset, __n, __x); return begin() + __offset; } # 1092 "/usr/include/c++/5.0.0/bits/stl_vector.h" 3 template> iterator insert(const_iterator __position, _InputIterator __first, _InputIterator __last) { difference_type __offset = __position - cbegin(); _M_insert_dispatch(begin() + __offset, __first, __last, __false_type()); return begin() + __offset; } # 1144 "/usr/include/c++/5.0.0/bits/stl_vector.h" 3 iterator erase(const_iterator __position) { return _M_erase(begin() + (__position - cbegin())); } # 1171 "/usr/include/c++/5.0.0/bits/stl_vector.h" 3 iterator erase(const_iterator __first, const_iterator __last) { const auto __beg = begin(); const auto __cbeg = cbegin(); return _M_erase(__beg + (__first - __cbeg), __beg + (__last - __cbeg)); } # 1193 "/usr/include/c++/5.0.0/bits/stl_vector.h" 3 void swap(vector& __x) noexcept(_Alloc_traits::_S_nothrow_swap()) { this->_M_impl._M_swap_data(__x._M_impl); _Alloc_traits::_S_on_swap(_M_get_Tp_allocator(), __x._M_get_Tp_allocator()); } void clear() noexcept { _M_erase_at_end(this->_M_impl._M_start); } protected: template pointer _M_allocate_and_copy(size_type __n, _ForwardIterator __first, _ForwardIterator __last) { pointer __result = this->_M_allocate(__n); if (true) { std::__uninitialized_copy_a(__first, __last, __result, _M_get_Tp_allocator()); return __result; } if (false) { _M_deallocate(__result, __n); ; } } # 1245 "/usr/include/c++/5.0.0/bits/stl_vector.h" 3 template void _M_initialize_dispatch(_Integer __n, _Integer __value, __true_type) { this->_M_impl._M_start = _M_allocate(static_cast(__n)); this->_M_impl._M_end_of_storage = this->_M_impl._M_start + static_cast(__n); _M_fill_initialize(static_cast(__n), __value); } template void _M_initialize_dispatch(_InputIterator __first, _InputIterator __last, __false_type) { typedef typename std::iterator_traits<_InputIterator>:: iterator_category _IterCategory; _M_range_initialize(__first, __last, _IterCategory()); } template void _M_range_initialize(_InputIterator __first, _InputIterator __last, std::input_iterator_tag) { for (; __first != __last; ++__first) emplace_back(*__first); } template void _M_range_initialize(_ForwardIterator __first, _ForwardIterator __last, std::forward_iterator_tag) { const size_type __n = std::distance(__first, __last); this->_M_impl._M_start = this->_M_allocate(__n); this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n; this->_M_impl._M_finish = std::__uninitialized_copy_a(__first, __last, this->_M_impl._M_start, _M_get_Tp_allocator()); } void _M_fill_initialize(size_type __n, const value_type& __value) { this->_M_impl._M_finish = std::__uninitialized_fill_n_a(this->_M_impl._M_start, __n, __value, _M_get_Tp_allocator()); } void _M_default_initialize(size_type __n) { this->_M_impl._M_finish = std::__uninitialized_default_n_a(this->_M_impl._M_start, __n, _M_get_Tp_allocator()); } # 1323 "/usr/include/c++/5.0.0/bits/stl_vector.h" 3 template void _M_assign_dispatch(_Integer __n, _Integer __val, __true_type) { _M_fill_assign(__n, __val); } template void _M_assign_dispatch(_InputIterator __first, _InputIterator __last, __false_type) { typedef typename std::iterator_traits<_InputIterator>:: iterator_category _IterCategory; _M_assign_aux(__first, __last, _IterCategory()); } template void _M_assign_aux(_InputIterator __first, _InputIterator __last, std::input_iterator_tag); template void _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last, std::forward_iterator_tag); void _M_fill_assign(size_type __n, const value_type& __val); # 1363 "/usr/include/c++/5.0.0/bits/stl_vector.h" 3 template void _M_insert_dispatch(iterator __pos, _Integer __n, _Integer __val, __true_type) { _M_fill_insert(__pos, __n, __val); } template void _M_insert_dispatch(iterator __pos, _InputIterator __first, _InputIterator __last, __false_type) { typedef typename std::iterator_traits<_InputIterator>:: iterator_category _IterCategory; _M_range_insert(__pos, __first, __last, _IterCategory()); } template void _M_range_insert(iterator __pos, _InputIterator __first, _InputIterator __last, std::input_iterator_tag); template void _M_range_insert(iterator __pos, _ForwardIterator __first, _ForwardIterator __last, std::forward_iterator_tag); void _M_fill_insert(iterator __pos, size_type __n, const value_type& __x); void _M_default_append(size_type __n); bool _M_shrink_to_fit(); template void _M_insert_aux(iterator __position, _Args&&... __args); template void _M_emplace_back_aux(_Args&&... __args); size_type _M_check_len(size_type __n, const char* __s) const { if (max_size() - size() < __n) __throw_length_error((__s)); const size_type __len = size() + std::max(size(), __n); return (__len < size() || __len > max_size()) ? max_size() : __len; } void _M_erase_at_end(pointer __pos) noexcept { std::_Destroy(__pos, this->_M_impl._M_finish, _M_get_Tp_allocator()); this->_M_impl._M_finish = __pos; } iterator _M_erase(iterator __position); iterator _M_erase(iterator __first, iterator __last); private: void _M_move_assign(vector&& __x, std::true_type) noexcept { vector __tmp(get_allocator()); this->_M_impl._M_swap_data(__tmp._M_impl); this->_M_impl._M_swap_data(__x._M_impl); std::__alloc_on_move(_M_get_Tp_allocator(), __x._M_get_Tp_allocator()); } void _M_move_assign(vector&& __x, std::false_type) { if (__x._M_get_Tp_allocator() == this->_M_get_Tp_allocator()) _M_move_assign(std::move(__x), std::true_type()); else { this->assign(std::__make_move_if_noexcept_iterator(__x.begin()), std::__make_move_if_noexcept_iterator(__x.end())); __x.clear(); } } template _Up* _M_data_ptr(_Up* __ptr) const { return __ptr; } template typename std::pointer_traits<_Ptr>::element_type* _M_data_ptr(_Ptr __ptr) const { return empty() ? nullptr : std::__addressof(*__ptr); } }; # 1509 "/usr/include/c++/5.0.0/bits/stl_vector.h" 3 template inline bool operator==(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) { return (__x.size() == __y.size() && std::equal(__x.begin(), __x.end(), __y.begin())); } # 1526 "/usr/include/c++/5.0.0/bits/stl_vector.h" 3 template inline bool operator<(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) { return std::lexicographical_compare(__x.begin(), __x.end(), __y.begin(), __y.end()); } template inline bool operator!=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) { return !(__x == __y); } template inline bool operator>(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) { return __y < __x; } template inline bool operator<=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) { return !(__y < __x); } template inline bool operator>=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) { return !(__x < __y); } template inline void swap(vector<_Tp, _Alloc>& __x, vector<_Tp, _Alloc>& __y) { __x.swap(__y); } } # 65 "/usr/include/c++/5.0.0/vector" 2 3 # 1 "/usr/include/c++/5.0.0/bits/stl_bvector.h" 1 3 # 63 "/usr/include/c++/5.0.0/bits/stl_bvector.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { typedef unsigned long _Bit_type; enum { _S_word_bit = int(8 * sizeof(_Bit_type)) }; struct _Bit_reference { _Bit_type * _M_p; _Bit_type _M_mask; _Bit_reference(_Bit_type * __x, _Bit_type __y) : _M_p(__x), _M_mask(__y) { } _Bit_reference() noexcept : _M_p(0), _M_mask(0) { } operator bool() const noexcept { return !!(*_M_p & _M_mask); } _Bit_reference& operator=(bool __x) noexcept { if (__x) *_M_p |= _M_mask; else *_M_p &= ~_M_mask; return *this; } _Bit_reference& operator=(const _Bit_reference& __x) noexcept { return *this = bool(__x); } bool operator==(const _Bit_reference& __x) const { return bool(*this) == bool(__x); } bool operator<(const _Bit_reference& __x) const { return !bool(*this) && bool(__x); } void flip() noexcept { *_M_p ^= _M_mask; } }; inline void swap(_Bit_reference __x, _Bit_reference __y) noexcept { bool __tmp = __x; __x = __y; __y = __tmp; } inline void swap(_Bit_reference __x, bool& __y) noexcept { bool __tmp = __x; __x = __y; __y = __tmp; } inline void swap(bool& __x, _Bit_reference __y) noexcept { bool __tmp = __x; __x = __y; __y = __tmp; } struct _Bit_iterator_base : public std::iterator { _Bit_type * _M_p; unsigned int _M_offset; _Bit_iterator_base(_Bit_type * __x, unsigned int __y) : _M_p(__x), _M_offset(__y) { } void _M_bump_up() { if (_M_offset++ == int(_S_word_bit) - 1) { _M_offset = 0; ++_M_p; } } void _M_bump_down() { if (_M_offset-- == 0) { _M_offset = int(_S_word_bit) - 1; --_M_p; } } void _M_incr(ptrdiff_t __i) { difference_type __n = __i + _M_offset; _M_p += __n / int(_S_word_bit); __n = __n % int(_S_word_bit); if (__n < 0) { __n += int(_S_word_bit); --_M_p; } _M_offset = static_cast(__n); } bool operator==(const _Bit_iterator_base& __i) const { return _M_p == __i._M_p && _M_offset == __i._M_offset; } bool operator<(const _Bit_iterator_base& __i) const { return _M_p < __i._M_p || (_M_p == __i._M_p && _M_offset < __i._M_offset); } bool operator!=(const _Bit_iterator_base& __i) const { return !(*this == __i); } bool operator>(const _Bit_iterator_base& __i) const { return __i < *this; } bool operator<=(const _Bit_iterator_base& __i) const { return !(__i < *this); } bool operator>=(const _Bit_iterator_base& __i) const { return !(*this < __i); } }; inline ptrdiff_t operator-(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y) { return (int(_S_word_bit) * (__x._M_p - __y._M_p) + __x._M_offset - __y._M_offset); } struct _Bit_iterator : public _Bit_iterator_base { typedef _Bit_reference reference; typedef _Bit_reference* pointer; typedef _Bit_iterator iterator; _Bit_iterator() : _Bit_iterator_base(0, 0) { } _Bit_iterator(_Bit_type * __x, unsigned int __y) : _Bit_iterator_base(__x, __y) { } iterator _M_const_cast() const { return *this; } reference operator*() const { return reference(_M_p, 1UL << _M_offset); } iterator& operator++() { _M_bump_up(); return *this; } iterator operator++(int) { iterator __tmp = *this; _M_bump_up(); return __tmp; } iterator& operator--() { _M_bump_down(); return *this; } iterator operator--(int) { iterator __tmp = *this; _M_bump_down(); return __tmp; } iterator& operator+=(difference_type __i) { _M_incr(__i); return *this; } iterator& operator-=(difference_type __i) { *this += -__i; return *this; } iterator operator+(difference_type __i) const { iterator __tmp = *this; return __tmp += __i; } iterator operator-(difference_type __i) const { iterator __tmp = *this; return __tmp -= __i; } reference operator[](difference_type __i) const { return *(*this + __i); } }; inline _Bit_iterator operator+(ptrdiff_t __n, const _Bit_iterator& __x) { return __x + __n; } struct _Bit_const_iterator : public _Bit_iterator_base { typedef bool reference; typedef bool const_reference; typedef const bool* pointer; typedef _Bit_const_iterator const_iterator; _Bit_const_iterator() : _Bit_iterator_base(0, 0) { } _Bit_const_iterator(_Bit_type * __x, unsigned int __y) : _Bit_iterator_base(__x, __y) { } _Bit_const_iterator(const _Bit_iterator& __x) : _Bit_iterator_base(__x._M_p, __x._M_offset) { } _Bit_iterator _M_const_cast() const { return _Bit_iterator(_M_p, _M_offset); } const_reference operator*() const { return _Bit_reference(_M_p, 1UL << _M_offset); } const_iterator& operator++() { _M_bump_up(); return *this; } const_iterator operator++(int) { const_iterator __tmp = *this; _M_bump_up(); return __tmp; } const_iterator& operator--() { _M_bump_down(); return *this; } const_iterator operator--(int) { const_iterator __tmp = *this; _M_bump_down(); return __tmp; } const_iterator& operator+=(difference_type __i) { _M_incr(__i); return *this; } const_iterator& operator-=(difference_type __i) { *this += -__i; return *this; } const_iterator operator+(difference_type __i) const { const_iterator __tmp = *this; return __tmp += __i; } const_iterator operator-(difference_type __i) const { const_iterator __tmp = *this; return __tmp -= __i; } const_reference operator[](difference_type __i) const { return *(*this + __i); } }; inline _Bit_const_iterator operator+(ptrdiff_t __n, const _Bit_const_iterator& __x) { return __x + __n; } inline void __fill_bvector(_Bit_iterator __first, _Bit_iterator __last, bool __x) { for (; __first != __last; ++__first) *__first = __x; } inline void fill(_Bit_iterator __first, _Bit_iterator __last, const bool& __x) { if (__first._M_p != __last._M_p) { std::fill(__first._M_p + 1, __last._M_p, __x ? ~0 : 0); __fill_bvector(__first, _Bit_iterator(__first._M_p + 1, 0), __x); __fill_bvector(_Bit_iterator(__last._M_p, 0), __last, __x); } else __fill_bvector(__first, __last, __x); } template struct _Bvector_base { typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template rebind<_Bit_type>::other _Bit_alloc_type; typedef typename __gnu_cxx::__alloc_traits<_Bit_alloc_type> _Bit_alloc_traits; typedef typename _Bit_alloc_traits::pointer _Bit_pointer; struct _Bvector_impl : public _Bit_alloc_type { _Bit_iterator _M_start; _Bit_iterator _M_finish; _Bit_pointer _M_end_of_storage; _Bvector_impl() : _Bit_alloc_type(), _M_start(), _M_finish(), _M_end_of_storage() { } _Bvector_impl(const _Bit_alloc_type& __a) : _Bit_alloc_type(__a), _M_start(), _M_finish(), _M_end_of_storage() { } _Bvector_impl(_Bit_alloc_type&& __a) : _Bit_alloc_type(std::move(__a)), _M_start(), _M_finish(), _M_end_of_storage() { } _Bit_type* _M_end_addr() const noexcept { if (_M_end_of_storage) return std::__addressof(_M_end_of_storage[-1]) + 1; return 0; } }; public: typedef _Alloc allocator_type; _Bit_alloc_type& _M_get_Bit_allocator() noexcept { return *static_cast<_Bit_alloc_type*>(&this->_M_impl); } const _Bit_alloc_type& _M_get_Bit_allocator() const noexcept { return *static_cast(&this->_M_impl); } allocator_type get_allocator() const noexcept { return allocator_type(_M_get_Bit_allocator()); } _Bvector_base() : _M_impl() { } _Bvector_base(const allocator_type& __a) : _M_impl(__a) { } _Bvector_base(_Bvector_base&& __x) noexcept : _M_impl(std::move(__x._M_get_Bit_allocator())) { this->_M_impl._M_start = __x._M_impl._M_start; this->_M_impl._M_finish = __x._M_impl._M_finish; this->_M_impl._M_end_of_storage = __x._M_impl._M_end_of_storage; __x._M_impl._M_start = _Bit_iterator(); __x._M_impl._M_finish = _Bit_iterator(); __x._M_impl._M_end_of_storage = nullptr; } ~_Bvector_base() { this->_M_deallocate(); } protected: _Bvector_impl _M_impl; _Bit_pointer _M_allocate(size_t __n) { return _Bit_alloc_traits::allocate(_M_impl, _S_nword(__n)); } void _M_deallocate() { if (_M_impl._M_start._M_p) { const size_t __n = _M_impl._M_end_addr() - _M_impl._M_start._M_p; _Bit_alloc_traits::deallocate(_M_impl, _M_impl._M_end_of_storage - __n, __n); } } static size_t _S_nword(size_t __n) { return (__n + int(_S_word_bit) - 1) / int(_S_word_bit); } }; } namespace std __attribute__ ((__visibility__ ("default"))) { # 540 "/usr/include/c++/5.0.0/bits/stl_bvector.h" 3 template class vector : protected _Bvector_base<_Alloc> { typedef _Bvector_base<_Alloc> _Base; typedef typename _Base::_Bit_pointer _Bit_pointer; typedef typename _Base::_Bit_alloc_traits _Bit_alloc_traits; template friend struct hash; public: typedef bool value_type; typedef size_t size_type; typedef ptrdiff_t difference_type; typedef _Bit_reference reference; typedef bool const_reference; typedef _Bit_reference* pointer; typedef const bool* const_pointer; typedef _Bit_iterator iterator; typedef _Bit_const_iterator const_iterator; typedef std::reverse_iterator const_reverse_iterator; typedef std::reverse_iterator reverse_iterator; typedef _Alloc allocator_type; allocator_type get_allocator() const { return _Base::get_allocator(); } protected: using _Base::_M_allocate; using _Base::_M_deallocate; using _Base::_S_nword; using _Base::_M_get_Bit_allocator; public: vector() : _Base() { } explicit vector(const allocator_type& __a) : _Base(__a) { } explicit vector(size_type __n, const allocator_type& __a = allocator_type()) : vector(__n, false, __a) { } vector(size_type __n, const bool& __value, const allocator_type& __a = allocator_type()) : _Base(__a) { _M_initialize(__n); std::fill(this->_M_impl._M_start._M_p, this->_M_impl._M_end_addr(), __value ? ~0 : 0); } # 608 "/usr/include/c++/5.0.0/bits/stl_bvector.h" 3 vector(const vector& __x) : _Base(_Bit_alloc_traits::_S_select_on_copy(__x._M_get_Bit_allocator())) { _M_initialize(__x.size()); _M_copy_aligned(__x.begin(), __x.end(), this->_M_impl._M_start); } vector(vector&& __x) noexcept : _Base(std::move(__x)) { } vector(vector&& __x, const allocator_type& __a) noexcept(_Bit_alloc_traits::_S_always_equal()) : _Base(__a) { if (__x.get_allocator() == __a) { this->_M_impl._M_start = __x._M_impl._M_start; this->_M_impl._M_finish = __x._M_impl._M_finish; this->_M_impl._M_end_of_storage = __x._M_impl._M_end_of_storage; __x._M_impl._M_start = _Bit_iterator(); __x._M_impl._M_finish = _Bit_iterator(); __x._M_impl._M_end_of_storage = nullptr; } else { _M_initialize(__x.size()); _M_copy_aligned(__x.begin(), __x.end(), begin()); __x.clear(); } } vector(const vector& __x, const allocator_type& __a) : _Base(__a) { _M_initialize(__x.size()); _M_copy_aligned(__x.begin(), __x.end(), this->_M_impl._M_start); } vector(initializer_list __l, const allocator_type& __a = allocator_type()) : _Base(__a) { _M_initialize_range(__l.begin(), __l.end(), random_access_iterator_tag()); } template> vector(_InputIterator __first, _InputIterator __last, const allocator_type& __a = allocator_type()) : _Base(__a) { _M_initialize_dispatch(__first, __last, __false_type()); } # 674 "/usr/include/c++/5.0.0/bits/stl_bvector.h" 3 ~vector() noexcept { } vector& operator=(const vector& __x) { if (&__x == this) return *this; if (_Bit_alloc_traits::_S_propagate_on_copy_assign()) { if (this->_M_get_Bit_allocator() != __x._M_get_Bit_allocator()) { this->_M_deallocate(); std::__alloc_on_copy(_M_get_Bit_allocator(), __x._M_get_Bit_allocator()); _M_initialize(__x.size()); } else std::__alloc_on_copy(_M_get_Bit_allocator(), __x._M_get_Bit_allocator()); } if (__x.size() > capacity()) { this->_M_deallocate(); _M_initialize(__x.size()); } this->_M_impl._M_finish = _M_copy_aligned(__x.begin(), __x.end(), begin()); return *this; } vector& operator=(vector&& __x) noexcept(_Bit_alloc_traits::_S_nothrow_move()) { if (_Bit_alloc_traits::_S_propagate_on_move_assign() || this->_M_get_Bit_allocator() == __x._M_get_Bit_allocator()) { this->_M_deallocate(); this->_M_impl._M_start = __x._M_impl._M_start; this->_M_impl._M_finish = __x._M_impl._M_finish; this->_M_impl._M_end_of_storage = __x._M_impl._M_end_of_storage; __x._M_impl._M_start = _Bit_iterator(); __x._M_impl._M_finish = _Bit_iterator(); __x._M_impl._M_end_of_storage = nullptr; std::__alloc_on_move(_M_get_Bit_allocator(), __x._M_get_Bit_allocator()); } else { if (__x.size() > capacity()) { this->_M_deallocate(); _M_initialize(__x.size()); } this->_M_impl._M_finish = _M_copy_aligned(__x.begin(), __x.end(), begin()); __x.clear(); } return *this; } vector& operator=(initializer_list __l) { this->assign (__l.begin(), __l.end()); return *this; } void assign(size_type __n, const bool& __x) { _M_fill_assign(__n, __x); } template> void assign(_InputIterator __first, _InputIterator __last) { _M_assign_dispatch(__first, __last, __false_type()); } # 770 "/usr/include/c++/5.0.0/bits/stl_bvector.h" 3 void assign(initializer_list __l) { this->assign(__l.begin(), __l.end()); } iterator begin() noexcept { return this->_M_impl._M_start; } const_iterator begin() const noexcept { return this->_M_impl._M_start; } iterator end() noexcept { return this->_M_impl._M_finish; } const_iterator end() const noexcept { return this->_M_impl._M_finish; } reverse_iterator rbegin() noexcept { return reverse_iterator(end()); } const_reverse_iterator rbegin() const noexcept { return const_reverse_iterator(end()); } reverse_iterator rend() noexcept { return reverse_iterator(begin()); } const_reverse_iterator rend() const noexcept { return const_reverse_iterator(begin()); } const_iterator cbegin() const noexcept { return this->_M_impl._M_start; } const_iterator cend() const noexcept { return this->_M_impl._M_finish; } const_reverse_iterator crbegin() const noexcept { return const_reverse_iterator(end()); } const_reverse_iterator crend() const noexcept { return const_reverse_iterator(begin()); } size_type size() const noexcept { return size_type(end() - begin()); } size_type max_size() const noexcept { const size_type __isize = __gnu_cxx::__numeric_traits::__max - int(_S_word_bit) + 1; const size_type __asize = _Bit_alloc_traits::max_size(_M_get_Bit_allocator()); return (__asize <= __isize / int(_S_word_bit) ? __asize * int(_S_word_bit) : __isize); } size_type capacity() const noexcept { return size_type(const_iterator(this->_M_impl._M_end_addr(), 0) - begin()); } bool empty() const noexcept { return begin() == end(); } reference operator[](size_type __n) { return *iterator(this->_M_impl._M_start._M_p + __n / int(_S_word_bit), __n % int(_S_word_bit)); } const_reference operator[](size_type __n) const { return *const_iterator(this->_M_impl._M_start._M_p + __n / int(_S_word_bit), __n % int(_S_word_bit)); } protected: void _M_range_check(size_type __n) const { if (__n >= this->size()) __throw_out_of_range_fmt(("vector::_M_range_check: __n " "(which is %zu) >= this->size() " "(which is %zu)") , __n, this->size()); } public: reference at(size_type __n) { _M_range_check(__n); return (*this)[__n]; } const_reference at(size_type __n) const { _M_range_check(__n); return (*this)[__n]; } void reserve(size_type __n) { if (__n > max_size()) __throw_length_error(("vector::reserve")); if (capacity() < __n) _M_reallocate(__n); } reference front() { return *begin(); } const_reference front() const { return *begin(); } reference back() { return *(end() - 1); } const_reference back() const { return *(end() - 1); } void data() noexcept { } void push_back(bool __x) { if (this->_M_impl._M_finish._M_p != this->_M_impl._M_end_addr()) *this->_M_impl._M_finish++ = __x; else _M_insert_aux(end(), __x); } void swap(vector& __x) noexcept(_Bit_alloc_traits::_S_nothrow_swap()) { std::swap(this->_M_impl._M_start, __x._M_impl._M_start); std::swap(this->_M_impl._M_finish, __x._M_impl._M_finish); std::swap(this->_M_impl._M_end_of_storage, __x._M_impl._M_end_of_storage); _Bit_alloc_traits::_S_on_swap(_M_get_Bit_allocator(), __x._M_get_Bit_allocator()); } static void swap(reference __x, reference __y) noexcept { bool __tmp = __x; __x = __y; __y = __tmp; } iterator insert(const_iterator __position, const bool& __x = bool()) { const difference_type __n = __position - begin(); if (this->_M_impl._M_finish._M_p != this->_M_impl._M_end_addr() && __position == end()) *this->_M_impl._M_finish++ = __x; else _M_insert_aux(__position._M_const_cast(), __x); return begin() + __n; } template> iterator insert(const_iterator __position, _InputIterator __first, _InputIterator __last) { difference_type __offset = __position - cbegin(); _M_insert_dispatch(__position._M_const_cast(), __first, __last, __false_type()); return begin() + __offset; } # 989 "/usr/include/c++/5.0.0/bits/stl_bvector.h" 3 iterator insert(const_iterator __position, size_type __n, const bool& __x) { difference_type __offset = __position - cbegin(); _M_fill_insert(__position._M_const_cast(), __n, __x); return begin() + __offset; } iterator insert(const_iterator __p, initializer_list __l) { return this->insert(__p, __l.begin(), __l.end()); } void pop_back() { --this->_M_impl._M_finish; } iterator erase(const_iterator __position) { return _M_erase(__position._M_const_cast()); } iterator erase(const_iterator __first, const_iterator __last) { return _M_erase(__first._M_const_cast(), __last._M_const_cast()); } void resize(size_type __new_size, bool __x = bool()) { if (__new_size < size()) _M_erase_at_end(begin() + difference_type(__new_size)); else insert(end(), __new_size - size(), __x); } void shrink_to_fit() { _M_shrink_to_fit(); } void flip() noexcept { _Bit_type * const __end = this->_M_impl._M_end_addr(); for (_Bit_type * __p = this->_M_impl._M_start._M_p; __p != __end; ++__p) *__p = ~*__p; } void clear() noexcept { _M_erase_at_end(begin()); } template void emplace_back(_Args&&... __args) { push_back(bool(__args...)); } template iterator emplace(const_iterator __pos, _Args&&... __args) { return insert(__pos, bool(__args...)); } protected: iterator _M_copy_aligned(const_iterator __first, const_iterator __last, iterator __result) { _Bit_type* __q = std::copy(__first._M_p, __last._M_p, __result._M_p); return std::copy(const_iterator(__last._M_p, 0), __last, iterator(__q, 0)); } void _M_initialize(size_type __n) { _Bit_pointer __q = this->_M_allocate(__n); this->_M_impl._M_end_of_storage = __q + _S_nword(__n); this->_M_impl._M_start = iterator(std::__addressof(*__q), 0); this->_M_impl._M_finish = this->_M_impl._M_start + difference_type(__n); } void _M_reallocate(size_type __n); bool _M_shrink_to_fit(); template void _M_initialize_dispatch(_Integer __n, _Integer __x, __true_type) { _M_initialize(static_cast(__n)); std::fill(this->_M_impl._M_start._M_p, this->_M_impl._M_end_addr(), __x ? ~0 : 0); } template void _M_initialize_dispatch(_InputIterator __first, _InputIterator __last, __false_type) { _M_initialize_range(__first, __last, std::__iterator_category(__first)); } template void _M_initialize_range(_InputIterator __first, _InputIterator __last, std::input_iterator_tag) { for (; __first != __last; ++__first) push_back(*__first); } template void _M_initialize_range(_ForwardIterator __first, _ForwardIterator __last, std::forward_iterator_tag) { const size_type __n = std::distance(__first, __last); _M_initialize(__n); std::copy(__first, __last, this->_M_impl._M_start); } template void _M_assign_dispatch(_Integer __n, _Integer __val, __true_type) { _M_fill_assign(__n, __val); } template void _M_assign_dispatch(_InputIterator __first, _InputIterator __last, __false_type) { _M_assign_aux(__first, __last, std::__iterator_category(__first)); } void _M_fill_assign(size_t __n, bool __x) { if (__n > size()) { std::fill(this->_M_impl._M_start._M_p, this->_M_impl._M_end_addr(), __x ? ~0 : 0); insert(end(), __n - size(), __x); } else { _M_erase_at_end(begin() + __n); std::fill(this->_M_impl._M_start._M_p, this->_M_impl._M_end_addr(), __x ? ~0 : 0); } } template void _M_assign_aux(_InputIterator __first, _InputIterator __last, std::input_iterator_tag) { iterator __cur = begin(); for (; __first != __last && __cur != end(); ++__cur, ++__first) *__cur = *__first; if (__first == __last) _M_erase_at_end(__cur); else insert(end(), __first, __last); } template void _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last, std::forward_iterator_tag) { const size_type __len = std::distance(__first, __last); if (__len < size()) _M_erase_at_end(std::copy(__first, __last, begin())); else { _ForwardIterator __mid = __first; std::advance(__mid, size()); std::copy(__first, __mid, begin()); insert(end(), __mid, __last); } } template void _M_insert_dispatch(iterator __pos, _Integer __n, _Integer __x, __true_type) { _M_fill_insert(__pos, __n, __x); } template void _M_insert_dispatch(iterator __pos, _InputIterator __first, _InputIterator __last, __false_type) { _M_insert_range(__pos, __first, __last, std::__iterator_category(__first)); } void _M_fill_insert(iterator __position, size_type __n, bool __x); template void _M_insert_range(iterator __pos, _InputIterator __first, _InputIterator __last, std::input_iterator_tag) { for (; __first != __last; ++__first) { __pos = insert(__pos, *__first); ++__pos; } } template void _M_insert_range(iterator __position, _ForwardIterator __first, _ForwardIterator __last, std::forward_iterator_tag); void _M_insert_aux(iterator __position, bool __x); size_type _M_check_len(size_type __n, const char* __s) const { if (max_size() - size() < __n) __throw_length_error((__s)); const size_type __len = size() + std::max(size(), __n); return (__len < size() || __len > max_size()) ? max_size() : __len; } void _M_erase_at_end(iterator __pos) { this->_M_impl._M_finish = __pos; } iterator _M_erase(iterator __pos); iterator _M_erase(iterator __first, iterator __last); }; } namespace std __attribute__ ((__visibility__ ("default"))) { template struct hash> : public __hash_base> { size_t operator()(const std::vector&) const noexcept; }; } # 66 "/usr/include/c++/5.0.0/vector" 2 3 # 1 "/usr/include/c++/5.0.0/bits/vector.tcc" 1 3 # 59 "/usr/include/c++/5.0.0/bits/vector.tcc" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template void vector<_Tp, _Alloc>:: reserve(size_type __n) { if (__n > this->max_size()) __throw_length_error(("vector::reserve")); if (this->capacity() < __n) { const size_type __old_size = size(); pointer __tmp = _M_allocate_and_copy(__n, std::__make_move_if_noexcept_iterator(this->_M_impl._M_start), std::__make_move_if_noexcept_iterator(this->_M_impl._M_finish)); std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, _M_get_Tp_allocator()); _M_deallocate(this->_M_impl._M_start, this->_M_impl._M_end_of_storage - this->_M_impl._M_start); this->_M_impl._M_start = __tmp; this->_M_impl._M_finish = __tmp + __old_size; this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n; } } template template void vector<_Tp, _Alloc>:: emplace_back(_Args&&... __args) { if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage) { _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, std::forward<_Args>(__args)...); ++this->_M_impl._M_finish; } else _M_emplace_back_aux(std::forward<_Args>(__args)...); } template typename vector<_Tp, _Alloc>::iterator vector<_Tp, _Alloc>:: insert(const_iterator __position, const value_type& __x) { const size_type __n = __position - begin(); if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage && __position == end()) { _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, __x); ++this->_M_impl._M_finish; } else { const auto __pos = begin() + (__position - cbegin()); if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage) { _Tp __x_copy = __x; _M_insert_aux(__pos, std::move(__x_copy)); } else _M_insert_aux(__pos, __x); } return iterator(this->_M_impl._M_start + __n); } template typename vector<_Tp, _Alloc>::iterator vector<_Tp, _Alloc>:: _M_erase(iterator __position) { if (__position + 1 != end()) std::move(__position + 1, end(), __position); --this->_M_impl._M_finish; _Alloc_traits::destroy(this->_M_impl, this->_M_impl._M_finish); return __position; } template typename vector<_Tp, _Alloc>::iterator vector<_Tp, _Alloc>:: _M_erase(iterator __first, iterator __last) { if (__first != __last) { if (__last != end()) std::move(__last, end(), __first); _M_erase_at_end(__first.base() + (end() - __last)); } return __first; } template vector<_Tp, _Alloc>& vector<_Tp, _Alloc>:: operator=(const vector<_Tp, _Alloc>& __x) { if (&__x != this) { if (_Alloc_traits::_S_propagate_on_copy_assign()) { if (!_Alloc_traits::_S_always_equal() && _M_get_Tp_allocator() != __x._M_get_Tp_allocator()) { this->clear(); _M_deallocate(this->_M_impl._M_start, this->_M_impl._M_end_of_storage - this->_M_impl._M_start); this->_M_impl._M_start = nullptr; this->_M_impl._M_finish = nullptr; this->_M_impl._M_end_of_storage = nullptr; } std::__alloc_on_copy(_M_get_Tp_allocator(), __x._M_get_Tp_allocator()); } const size_type __xlen = __x.size(); if (__xlen > capacity()) { pointer __tmp = _M_allocate_and_copy(__xlen, __x.begin(), __x.end()); std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, _M_get_Tp_allocator()); _M_deallocate(this->_M_impl._M_start, this->_M_impl._M_end_of_storage - this->_M_impl._M_start); this->_M_impl._M_start = __tmp; this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __xlen; } else if (size() >= __xlen) { std::_Destroy(std::copy(__x.begin(), __x.end(), begin()), end(), _M_get_Tp_allocator()); } else { std::copy(__x._M_impl._M_start, __x._M_impl._M_start + size(), this->_M_impl._M_start); std::__uninitialized_copy_a(__x._M_impl._M_start + size(), __x._M_impl._M_finish, this->_M_impl._M_finish, _M_get_Tp_allocator()); } this->_M_impl._M_finish = this->_M_impl._M_start + __xlen; } return *this; } template void vector<_Tp, _Alloc>:: _M_fill_assign(size_t __n, const value_type& __val) { if (__n > capacity()) { vector __tmp(__n, __val, _M_get_Tp_allocator()); __tmp._M_impl._M_swap_data(this->_M_impl); } else if (__n > size()) { std::fill(begin(), end(), __val); this->_M_impl._M_finish = std::__uninitialized_fill_n_a(this->_M_impl._M_finish, __n - size(), __val, _M_get_Tp_allocator()); } else _M_erase_at_end(std::fill_n(this->_M_impl._M_start, __n, __val)); } template template void vector<_Tp, _Alloc>:: _M_assign_aux(_InputIterator __first, _InputIterator __last, std::input_iterator_tag) { pointer __cur(this->_M_impl._M_start); for (; __first != __last && __cur != this->_M_impl._M_finish; ++__cur, ++__first) *__cur = *__first; if (__first == __last) _M_erase_at_end(__cur); else insert(end(), __first, __last); } template template void vector<_Tp, _Alloc>:: _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last, std::forward_iterator_tag) { const size_type __len = std::distance(__first, __last); if (__len > capacity()) { pointer __tmp(_M_allocate_and_copy(__len, __first, __last)); std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, _M_get_Tp_allocator()); _M_deallocate(this->_M_impl._M_start, this->_M_impl._M_end_of_storage - this->_M_impl._M_start); this->_M_impl._M_start = __tmp; this->_M_impl._M_finish = this->_M_impl._M_start + __len; this->_M_impl._M_end_of_storage = this->_M_impl._M_finish; } else if (size() >= __len) _M_erase_at_end(std::copy(__first, __last, this->_M_impl._M_start)); else { _ForwardIterator __mid = __first; std::advance(__mid, size()); std::copy(__first, __mid, this->_M_impl._M_start); this->_M_impl._M_finish = std::__uninitialized_copy_a(__mid, __last, this->_M_impl._M_finish, _M_get_Tp_allocator()); } } template template typename vector<_Tp, _Alloc>::iterator vector<_Tp, _Alloc>:: emplace(const_iterator __position, _Args&&... __args) { const size_type __n = __position - begin(); if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage && __position == end()) { _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, std::forward<_Args>(__args)...); ++this->_M_impl._M_finish; } else _M_insert_aux(begin() + (__position - cbegin()), std::forward<_Args>(__args)...); return iterator(this->_M_impl._M_start + __n); } template template void vector<_Tp, _Alloc>:: _M_insert_aux(iterator __position, _Args&&... __args) { if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage) { _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, std::move(*(this->_M_impl._M_finish - 1)) ); ++this->_M_impl._M_finish; std::move_backward(__position.base(), this->_M_impl._M_finish - 2, this->_M_impl._M_finish - 1) ; *__position = _Tp(std::forward<_Args>(__args)...); } else { const size_type __len = _M_check_len(size_type(1), "vector::_M_insert_aux"); const size_type __elems_before = __position - begin(); pointer __new_start(this->_M_allocate(__len)); pointer __new_finish(__new_start); if (true) { _Alloc_traits::construct(this->_M_impl, __new_start + __elems_before, std::forward<_Args>(__args)...); __new_finish = pointer(); __new_finish = std::__uninitialized_move_if_noexcept_a (this->_M_impl._M_start, __position.base(), __new_start, _M_get_Tp_allocator()); ++__new_finish; __new_finish = std::__uninitialized_move_if_noexcept_a (__position.base(), this->_M_impl._M_finish, __new_finish, _M_get_Tp_allocator()); } if (false) { if (!__new_finish) _Alloc_traits::destroy(this->_M_impl, __new_start + __elems_before); else std::_Destroy(__new_start, __new_finish, _M_get_Tp_allocator()); _M_deallocate(__new_start, __len); ; } std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, _M_get_Tp_allocator()); _M_deallocate(this->_M_impl._M_start, this->_M_impl._M_end_of_storage - this->_M_impl._M_start); this->_M_impl._M_start = __new_start; this->_M_impl._M_finish = __new_finish; this->_M_impl._M_end_of_storage = __new_start + __len; } } template template void vector<_Tp, _Alloc>:: _M_emplace_back_aux(_Args&&... __args) { const size_type __len = _M_check_len(size_type(1), "vector::_M_emplace_back_aux"); pointer __new_start(this->_M_allocate(__len)); pointer __new_finish(__new_start); if (true) { _Alloc_traits::construct(this->_M_impl, __new_start + size(), std::forward<_Args>(__args)...); __new_finish = pointer(); __new_finish = std::__uninitialized_move_if_noexcept_a (this->_M_impl._M_start, this->_M_impl._M_finish, __new_start, _M_get_Tp_allocator()); ++__new_finish; } if (false) { if (!__new_finish) _Alloc_traits::destroy(this->_M_impl, __new_start + size()); else std::_Destroy(__new_start, __new_finish, _M_get_Tp_allocator()); _M_deallocate(__new_start, __len); ; } std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, _M_get_Tp_allocator()); _M_deallocate(this->_M_impl._M_start, this->_M_impl._M_end_of_storage - this->_M_impl._M_start); this->_M_impl._M_start = __new_start; this->_M_impl._M_finish = __new_finish; this->_M_impl._M_end_of_storage = __new_start + __len; } template void vector<_Tp, _Alloc>:: _M_fill_insert(iterator __position, size_type __n, const value_type& __x) { if (__n != 0) { if (size_type(this->_M_impl._M_end_of_storage - this->_M_impl._M_finish) >= __n) { value_type __x_copy = __x; const size_type __elems_after = end() - __position; pointer __old_finish(this->_M_impl._M_finish); if (__elems_after > __n) { std::__uninitialized_move_a(this->_M_impl._M_finish - __n, this->_M_impl._M_finish, this->_M_impl._M_finish, _M_get_Tp_allocator()); this->_M_impl._M_finish += __n; std::move_backward(__position.base(), __old_finish - __n, __old_finish) ; std::fill(__position.base(), __position.base() + __n, __x_copy); } else { this->_M_impl._M_finish = std::__uninitialized_fill_n_a(this->_M_impl._M_finish, __n - __elems_after, __x_copy, _M_get_Tp_allocator()); std::__uninitialized_move_a(__position.base(), __old_finish, this->_M_impl._M_finish, _M_get_Tp_allocator()); this->_M_impl._M_finish += __elems_after; std::fill(__position.base(), __old_finish, __x_copy); } } else { const size_type __len = _M_check_len(__n, "vector::_M_fill_insert"); const size_type __elems_before = __position - begin(); pointer __new_start(this->_M_allocate(__len)); pointer __new_finish(__new_start); if (true) { std::__uninitialized_fill_n_a(__new_start + __elems_before, __n, __x, _M_get_Tp_allocator()); __new_finish = pointer(); __new_finish = std::__uninitialized_move_if_noexcept_a (this->_M_impl._M_start, __position.base(), __new_start, _M_get_Tp_allocator()); __new_finish += __n; __new_finish = std::__uninitialized_move_if_noexcept_a (__position.base(), this->_M_impl._M_finish, __new_finish, _M_get_Tp_allocator()); } if (false) { if (!__new_finish) std::_Destroy(__new_start + __elems_before, __new_start + __elems_before + __n, _M_get_Tp_allocator()); else std::_Destroy(__new_start, __new_finish, _M_get_Tp_allocator()); _M_deallocate(__new_start, __len); ; } std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, _M_get_Tp_allocator()); _M_deallocate(this->_M_impl._M_start, this->_M_impl._M_end_of_storage - this->_M_impl._M_start); this->_M_impl._M_start = __new_start; this->_M_impl._M_finish = __new_finish; this->_M_impl._M_end_of_storage = __new_start + __len; } } } template void vector<_Tp, _Alloc>:: _M_default_append(size_type __n) { if (__n != 0) { if (size_type(this->_M_impl._M_end_of_storage - this->_M_impl._M_finish) >= __n) { this->_M_impl._M_finish = std::__uninitialized_default_n_a(this->_M_impl._M_finish, __n, _M_get_Tp_allocator()); } else { const size_type __len = _M_check_len(__n, "vector::_M_default_append"); const size_type __old_size = this->size(); pointer __new_start(this->_M_allocate(__len)); pointer __new_finish(__new_start); if (true) { __new_finish = std::__uninitialized_move_if_noexcept_a (this->_M_impl._M_start, this->_M_impl._M_finish, __new_start, _M_get_Tp_allocator()); __new_finish = std::__uninitialized_default_n_a(__new_finish, __n, _M_get_Tp_allocator()); } if (false) { std::_Destroy(__new_start, __new_finish, _M_get_Tp_allocator()); _M_deallocate(__new_start, __len); ; } std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, _M_get_Tp_allocator()); _M_deallocate(this->_M_impl._M_start, this->_M_impl._M_end_of_storage - this->_M_impl._M_start); this->_M_impl._M_start = __new_start; this->_M_impl._M_finish = __new_finish; this->_M_impl._M_end_of_storage = __new_start + __len; } } } template bool vector<_Tp, _Alloc>:: _M_shrink_to_fit() { if (capacity() == size()) return false; return std::__shrink_to_fit_aux::_S_do_it(*this); } template template void vector<_Tp, _Alloc>:: _M_range_insert(iterator __pos, _InputIterator __first, _InputIterator __last, std::input_iterator_tag) { for (; __first != __last; ++__first) { __pos = insert(__pos, *__first); ++__pos; } } template template void vector<_Tp, _Alloc>:: _M_range_insert(iterator __position, _ForwardIterator __first, _ForwardIterator __last, std::forward_iterator_tag) { if (__first != __last) { const size_type __n = std::distance(__first, __last); if (size_type(this->_M_impl._M_end_of_storage - this->_M_impl._M_finish) >= __n) { const size_type __elems_after = end() - __position; pointer __old_finish(this->_M_impl._M_finish); if (__elems_after > __n) { std::__uninitialized_move_a(this->_M_impl._M_finish - __n, this->_M_impl._M_finish, this->_M_impl._M_finish, _M_get_Tp_allocator()); this->_M_impl._M_finish += __n; std::move_backward(__position.base(), __old_finish - __n, __old_finish) ; std::copy(__first, __last, __position); } else { _ForwardIterator __mid = __first; std::advance(__mid, __elems_after); std::__uninitialized_copy_a(__mid, __last, this->_M_impl._M_finish, _M_get_Tp_allocator()); this->_M_impl._M_finish += __n - __elems_after; std::__uninitialized_move_a(__position.base(), __old_finish, this->_M_impl._M_finish, _M_get_Tp_allocator()); this->_M_impl._M_finish += __elems_after; std::copy(__first, __mid, __position); } } else { const size_type __len = _M_check_len(__n, "vector::_M_range_insert"); pointer __new_start(this->_M_allocate(__len)); pointer __new_finish(__new_start); if (true) { __new_finish = std::__uninitialized_move_if_noexcept_a (this->_M_impl._M_start, __position.base(), __new_start, _M_get_Tp_allocator()); __new_finish = std::__uninitialized_copy_a(__first, __last, __new_finish, _M_get_Tp_allocator()); __new_finish = std::__uninitialized_move_if_noexcept_a (__position.base(), this->_M_impl._M_finish, __new_finish, _M_get_Tp_allocator()); } if (false) { std::_Destroy(__new_start, __new_finish, _M_get_Tp_allocator()); _M_deallocate(__new_start, __len); ; } std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, _M_get_Tp_allocator()); _M_deallocate(this->_M_impl._M_start, this->_M_impl._M_end_of_storage - this->_M_impl._M_start); this->_M_impl._M_start = __new_start; this->_M_impl._M_finish = __new_finish; this->_M_impl._M_end_of_storage = __new_start + __len; } } } template void vector:: _M_reallocate(size_type __n) { _Bit_pointer __q = this->_M_allocate(__n); iterator __start(std::__addressof(*__q), 0); this->_M_impl._M_finish = _M_copy_aligned(begin(), end(), __start); this->_M_deallocate(); this->_M_impl._M_start = __start; this->_M_impl._M_end_of_storage = __q + _S_nword(__n); } template void vector:: _M_fill_insert(iterator __position, size_type __n, bool __x) { if (__n == 0) return; if (capacity() - size() >= __n) { std::copy_backward(__position, end(), this->_M_impl._M_finish + difference_type(__n)); std::fill(__position, __position + difference_type(__n), __x); this->_M_impl._M_finish += difference_type(__n); } else { const size_type __len = _M_check_len(__n, "vector::_M_fill_insert"); _Bit_pointer __q = this->_M_allocate(__len); iterator __start(std::__addressof(*__q), 0); iterator __i = _M_copy_aligned(begin(), __position, __start); std::fill(__i, __i + difference_type(__n), __x); this->_M_impl._M_finish = std::copy(__position, end(), __i + difference_type(__n)); this->_M_deallocate(); this->_M_impl._M_end_of_storage = __q + _S_nword(__len); this->_M_impl._M_start = __start; } } template template void vector:: _M_insert_range(iterator __position, _ForwardIterator __first, _ForwardIterator __last, std::forward_iterator_tag) { if (__first != __last) { size_type __n = std::distance(__first, __last); if (capacity() - size() >= __n) { std::copy_backward(__position, end(), this->_M_impl._M_finish + difference_type(__n)); std::copy(__first, __last, __position); this->_M_impl._M_finish += difference_type(__n); } else { const size_type __len = _M_check_len(__n, "vector::_M_insert_range"); _Bit_pointer __q = this->_M_allocate(__len); iterator __start(std::__addressof(*__q), 0); iterator __i = _M_copy_aligned(begin(), __position, __start); __i = std::copy(__first, __last, __i); this->_M_impl._M_finish = std::copy(__position, end(), __i); this->_M_deallocate(); this->_M_impl._M_end_of_storage = __q + _S_nword(__len); this->_M_impl._M_start = __start; } } } template void vector:: _M_insert_aux(iterator __position, bool __x) { if (this->_M_impl._M_finish._M_p != this->_M_impl._M_end_addr()) { std::copy_backward(__position, this->_M_impl._M_finish, this->_M_impl._M_finish + 1); *__position = __x; ++this->_M_impl._M_finish; } else { const size_type __len = _M_check_len(size_type(1), "vector::_M_insert_aux"); _Bit_pointer __q = this->_M_allocate(__len); iterator __start(std::__addressof(*__q), 0); iterator __i = _M_copy_aligned(begin(), __position, __start); *__i++ = __x; this->_M_impl._M_finish = std::copy(__position, end(), __i); this->_M_deallocate(); this->_M_impl._M_end_of_storage = __q + _S_nword(__len); this->_M_impl._M_start = __start; } } template typename vector::iterator vector:: _M_erase(iterator __position) { if (__position + 1 != end()) std::copy(__position + 1, end(), __position); --this->_M_impl._M_finish; return __position; } template typename vector::iterator vector:: _M_erase(iterator __first, iterator __last) { if (__first != __last) _M_erase_at_end(std::copy(__last, end(), __first)); return __first; } template bool vector:: _M_shrink_to_fit() { if (capacity() - size() < int(_S_word_bit)) return false; if (true) { _M_reallocate(size()); return true; } if (false) { return false; } } } namespace std __attribute__ ((__visibility__ ("default"))) { template size_t hash>:: operator()(const std::vector& __b) const noexcept { size_t __hash = 0; using std::_S_word_bit; using std::_Bit_type; const size_t __words = __b.size() / _S_word_bit; if (__words) { const size_t __clength = __words * sizeof(_Bit_type); __hash = std::_Hash_impl::hash(__b._M_impl._M_start._M_p, __clength); } const size_t __extrabits = __b.size() % _S_word_bit; if (__extrabits) { _Bit_type __hiword = *__b._M_impl._M_finish._M_p; __hiword &= ~((~static_cast<_Bit_type>(0)) << __extrabits); const size_t __clength = (__extrabits + 8 - 1) / 8; if (__words) __hash = std::_Hash_impl::hash(&__hiword, __clength, __hash); else __hash = std::_Hash_impl::hash(&__hiword, __clength); } return __hash; } } # 70 "/usr/include/c++/5.0.0/vector" 2 3 # 4 "../../../dist/system_wrappers/vector" 2 3 #pragma GCC visibility pop # 56 "../../../dist/stl_wrappers/vector" 2 3 #pragma GCC visibility pop # 35 "/usr/include/c++/5.0.0/bits/random.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 55 "/usr/include/c++/5.0.0/bits/random.h" 3 template _RealType generate_canonical(_UniformRandomNumberGenerator& __g); namespace __detail { template (std::numeric_limits<_UIntType>::digits)> struct _Shift { static const _UIntType __value = 0; }; template struct _Shift<_UIntType, __w, true> { static const _UIntType __value = _UIntType(1) << __w; }; template struct _Select_uint_least_t { static_assert(__which < 0, "sorry, would be too much trouble for a slow result"); }; template struct _Select_uint_least_t<__s, 4> { typedef unsigned int type; }; template struct _Select_uint_least_t<__s, 3> { typedef unsigned long type; }; template struct _Select_uint_least_t<__s, 2> { typedef unsigned long long type; }; # 110 "/usr/include/c++/5.0.0/bits/random.h" 3 template= __m - 1), bool __schrage_ok = __m % __a < __m / __a> struct _Mod { typedef typename _Select_uint_least_t::type _Tp2; static _Tp __calc(_Tp __x) { return static_cast<_Tp>((_Tp2(__a) * __x + __c) % __m); } }; template struct _Mod<_Tp, __m, __a, __c, false, true> { static _Tp __calc(_Tp __x); }; template struct _Mod<_Tp, __m, __a, __c, true, __s> { static _Tp __calc(_Tp __x) { _Tp __res = __a * __x + __c; if (__m) __res %= __m; return __res; } }; template inline _Tp __mod(_Tp __x) { return _Mod<_Tp, __m, __a, __c>::__calc(__x); } template inline bool _Power_of_2(_Tp __x) { return ((__x - 1) & __x) == 0; }; template struct _Adaptor { static_assert(std::is_floating_point<_DInputType>::value, "template argument not a floating point type"); public: _Adaptor(_Engine& __g) : _M_g(__g) { } _DInputType min() const { return _DInputType(0); } _DInputType max() const { return _DInputType(1); } _DInputType operator()() { return std::generate_canonical<_DInputType, std::numeric_limits<_DInputType>::digits, _Engine>(_M_g); } private: _Engine& _M_g; }; } # 242 "/usr/include/c++/5.0.0/bits/random.h" 3 template class linear_congruential_engine { static_assert(std::is_unsigned<_UIntType>::value, "template argument " "substituting _UIntType not an unsigned integral type"); static_assert(__m == 0u || (__a < __m && __c < __m), "template argument substituting __m out of bounds"); public: typedef _UIntType result_type; static constexpr result_type multiplier = __a; static constexpr result_type increment = __c; static constexpr result_type modulus = __m; static constexpr result_type default_seed = 1u; # 269 "/usr/include/c++/5.0.0/bits/random.h" 3 explicit linear_congruential_engine(result_type __s = default_seed) { seed(__s); } template::value> ::type> explicit linear_congruential_engine(_Sseq& __q) { seed(__q); } void seed(result_type __s = default_seed); # 302 "/usr/include/c++/5.0.0/bits/random.h" 3 template typename std::enable_if::value>::type seed(_Sseq& __q); static constexpr result_type min() { return __c == 0u ? 1u : 0u; } static constexpr result_type max() { return __m - 1u; } void discard(unsigned long long __z) { for (; __z != 0ULL; --__z) (*this)(); } result_type operator()() { _M_x = __detail::__mod<_UIntType, __m, __a, __c>(_M_x); return _M_x; } # 354 "/usr/include/c++/5.0.0/bits/random.h" 3 friend bool operator==(const linear_congruential_engine& __lhs, const linear_congruential_engine& __rhs) { return __lhs._M_x == __rhs._M_x; } # 367 "/usr/include/c++/5.0.0/bits/random.h" 3 template friend std::basic_ostream<_CharT, _Traits>& operator<<(std::basic_ostream<_CharT, _Traits>& __os, const std::linear_congruential_engine<_UIntType1, __a1, __c1, __m1>& __lcr); # 387 "/usr/include/c++/5.0.0/bits/random.h" 3 template friend std::basic_istream<_CharT, _Traits>& operator>>(std::basic_istream<_CharT, _Traits>& __is, std::linear_congruential_engine<_UIntType1, __a1, __c1, __m1>& __lcr); private: _UIntType _M_x; }; # 409 "/usr/include/c++/5.0.0/bits/random.h" 3 template inline bool operator!=(const std::linear_congruential_engine<_UIntType, __a, __c, __m>& __lhs, const std::linear_congruential_engine<_UIntType, __a, __c, __m>& __rhs) { return !(__lhs == __rhs); } # 446 "/usr/include/c++/5.0.0/bits/random.h" 3 template class mersenne_twister_engine { static_assert(std::is_unsigned<_UIntType>::value, "template argument " "substituting _UIntType not an unsigned integral type"); static_assert(1u <= __m && __m <= __n, "template argument substituting __m out of bounds"); static_assert(__r <= __w, "template argument substituting " "__r out of bound"); static_assert(__u <= __w, "template argument substituting " "__u out of bound"); static_assert(__s <= __w, "template argument substituting " "__s out of bound"); static_assert(__t <= __w, "template argument substituting " "__t out of bound"); static_assert(__l <= __w, "template argument substituting " "__l out of bound"); static_assert(__w <= std::numeric_limits<_UIntType>::digits, "template argument substituting __w out of bound"); static_assert(__a <= (__detail::_Shift<_UIntType, __w>::__value - 1), "template argument substituting __a out of bound"); static_assert(__b <= (__detail::_Shift<_UIntType, __w>::__value - 1), "template argument substituting __b out of bound"); static_assert(__c <= (__detail::_Shift<_UIntType, __w>::__value - 1), "template argument substituting __c out of bound"); static_assert(__d <= (__detail::_Shift<_UIntType, __w>::__value - 1), "template argument substituting __d out of bound"); static_assert(__f <= (__detail::_Shift<_UIntType, __w>::__value - 1), "template argument substituting __f out of bound"); public: typedef _UIntType result_type; static constexpr size_t word_size = __w; static constexpr size_t state_size = __n; static constexpr size_t shift_size = __m; static constexpr size_t mask_bits = __r; static constexpr result_type xor_mask = __a; static constexpr size_t tempering_u = __u; static constexpr result_type tempering_d = __d; static constexpr size_t tempering_s = __s; static constexpr result_type tempering_b = __b; static constexpr size_t tempering_t = __t; static constexpr result_type tempering_c = __c; static constexpr size_t tempering_l = __l; static constexpr result_type initialization_multiplier = __f; static constexpr result_type default_seed = 5489u; explicit mersenne_twister_engine(result_type __sd = default_seed) { seed(__sd); } template::value> ::type> explicit mersenne_twister_engine(_Sseq& __q) { seed(__q); } void seed(result_type __sd = default_seed); template typename std::enable_if::value>::type seed(_Sseq& __q); static constexpr result_type min() { return 0; }; static constexpr result_type max() { return __detail::_Shift<_UIntType, __w>::__value - 1; } void discard(unsigned long long __z); result_type operator()(); # 560 "/usr/include/c++/5.0.0/bits/random.h" 3 friend bool operator==(const mersenne_twister_engine& __lhs, const mersenne_twister_engine& __rhs) { return (std::equal(__lhs._M_x, __lhs._M_x + state_size, __rhs._M_x) && __lhs._M_p == __rhs._M_p); } # 578 "/usr/include/c++/5.0.0/bits/random.h" 3 template friend std::basic_ostream<_CharT, _Traits>& operator<<(std::basic_ostream<_CharT, _Traits>& __os, const std::mersenne_twister_engine<_UIntType1, __w1, __n1, __m1, __r1, __a1, __u1, __d1, __s1, __b1, __t1, __c1, __l1, __f1>& __x); # 604 "/usr/include/c++/5.0.0/bits/random.h" 3 template friend std::basic_istream<_CharT, _Traits>& operator>>(std::basic_istream<_CharT, _Traits>& __is, std::mersenne_twister_engine<_UIntType1, __w1, __n1, __m1, __r1, __a1, __u1, __d1, __s1, __b1, __t1, __c1, __l1, __f1>& __x); private: void _M_gen_rand(); _UIntType _M_x[state_size]; size_t _M_p; }; # 637 "/usr/include/c++/5.0.0/bits/random.h" 3 template inline bool operator!=(const std::mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>& __lhs, const std::mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>& __rhs) { return !(__lhs == __rhs); } # 665 "/usr/include/c++/5.0.0/bits/random.h" 3 template class subtract_with_carry_engine { static_assert(std::is_unsigned<_UIntType>::value, "template argument " "substituting _UIntType not an unsigned integral type"); static_assert(0u < __s && __s < __r, "template argument substituting __s out of bounds"); static_assert(0u < __w && __w <= std::numeric_limits<_UIntType>::digits, "template argument substituting __w out of bounds"); public: typedef _UIntType result_type; static constexpr size_t word_size = __w; static constexpr size_t short_lag = __s; static constexpr size_t long_lag = __r; static constexpr result_type default_seed = 19780503u; explicit subtract_with_carry_engine(result_type __sd = default_seed) { seed(__sd); } template::value> ::type> explicit subtract_with_carry_engine(_Sseq& __q) { seed(__q); } # 718 "/usr/include/c++/5.0.0/bits/random.h" 3 void seed(result_type __sd = default_seed); template typename std::enable_if::value>::type seed(_Sseq& __q); static constexpr result_type min() { return 0; } static constexpr result_type max() { return __detail::_Shift<_UIntType, __w>::__value - 1; } void discard(unsigned long long __z) { for (; __z != 0ULL; --__z) (*this)(); } result_type operator()(); # 773 "/usr/include/c++/5.0.0/bits/random.h" 3 friend bool operator==(const subtract_with_carry_engine& __lhs, const subtract_with_carry_engine& __rhs) { return (std::equal(__lhs._M_x, __lhs._M_x + long_lag, __rhs._M_x) && __lhs._M_carry == __rhs._M_carry && __lhs._M_p == __rhs._M_p); } # 792 "/usr/include/c++/5.0.0/bits/random.h" 3 template friend std::basic_ostream<_CharT, _Traits>& operator<<(std::basic_ostream<_CharT, _Traits>& __os, const std::subtract_with_carry_engine<_UIntType1, __w1, __s1, __r1>& __x); # 811 "/usr/include/c++/5.0.0/bits/random.h" 3 template friend std::basic_istream<_CharT, _Traits>& operator>>(std::basic_istream<_CharT, _Traits>& __is, std::subtract_with_carry_engine<_UIntType1, __w1, __s1, __r1>& __x); private: _UIntType _M_x[long_lag]; _UIntType _M_carry; size_t _M_p; }; # 837 "/usr/include/c++/5.0.0/bits/random.h" 3 template inline bool operator!=(const std::subtract_with_carry_engine<_UIntType, __w, __s, __r>& __lhs, const std::subtract_with_carry_engine<_UIntType, __w, __s, __r>& __rhs) { return !(__lhs == __rhs); } # 852 "/usr/include/c++/5.0.0/bits/random.h" 3 template class discard_block_engine { static_assert(1 <= __r && __r <= __p, "template argument substituting __r out of bounds"); public: typedef typename _RandomNumberEngine::result_type result_type; static constexpr size_t block_size = __p; static constexpr size_t used_block = __r; discard_block_engine() : _M_b(), _M_n(0) { } explicit discard_block_engine(const _RandomNumberEngine& __rng) : _M_b(__rng), _M_n(0) { } explicit discard_block_engine(_RandomNumberEngine&& __rng) : _M_b(std::move(__rng)), _M_n(0) { } explicit discard_block_engine(result_type __s) : _M_b(__s), _M_n(0) { } template::value && !std::is_same<_Sseq, _RandomNumberEngine>::value> ::type> explicit discard_block_engine(_Sseq& __q) : _M_b(__q), _M_n(0) { } void seed() { _M_b.seed(); _M_n = 0; } void seed(result_type __s) { _M_b.seed(__s); _M_n = 0; } template void seed(_Sseq& __q) { _M_b.seed(__q); _M_n = 0; } const _RandomNumberEngine& base() const noexcept { return _M_b; } static constexpr result_type min() { return _RandomNumberEngine::min(); } static constexpr result_type max() { return _RandomNumberEngine::max(); } void discard(unsigned long long __z) { for (; __z != 0ULL; --__z) (*this)(); } result_type operator()(); # 1002 "/usr/include/c++/5.0.0/bits/random.h" 3 friend bool operator==(const discard_block_engine& __lhs, const discard_block_engine& __rhs) { return __lhs._M_b == __rhs._M_b && __lhs._M_n == __rhs._M_n; } # 1018 "/usr/include/c++/5.0.0/bits/random.h" 3 template friend std::basic_ostream<_CharT, _Traits>& operator<<(std::basic_ostream<_CharT, _Traits>& __os, const std::discard_block_engine<_RandomNumberEngine1, __p1, __r1>& __x); # 1036 "/usr/include/c++/5.0.0/bits/random.h" 3 template friend std::basic_istream<_CharT, _Traits>& operator>>(std::basic_istream<_CharT, _Traits>& __is, std::discard_block_engine<_RandomNumberEngine1, __p1, __r1>& __x); private: _RandomNumberEngine _M_b; size_t _M_n; }; # 1059 "/usr/include/c++/5.0.0/bits/random.h" 3 template inline bool operator!=(const std::discard_block_engine<_RandomNumberEngine, __p, __r>& __lhs, const std::discard_block_engine<_RandomNumberEngine, __p, __r>& __rhs) { return !(__lhs == __rhs); } template class independent_bits_engine { static_assert(std::is_unsigned<_UIntType>::value, "template argument " "substituting _UIntType not an unsigned integral type"); static_assert(0u < __w && __w <= std::numeric_limits<_UIntType>::digits, "template argument substituting __w out of bounds"); public: typedef _UIntType result_type; independent_bits_engine() : _M_b() { } explicit independent_bits_engine(const _RandomNumberEngine& __rng) : _M_b(__rng) { } explicit independent_bits_engine(_RandomNumberEngine&& __rng) : _M_b(std::move(__rng)) { } explicit independent_bits_engine(result_type __s) : _M_b(__s) { } template::value && !std::is_same<_Sseq, _RandomNumberEngine>::value> ::type> explicit independent_bits_engine(_Sseq& __q) : _M_b(__q) { } void seed() { _M_b.seed(); } void seed(result_type __s) { _M_b.seed(__s); } template void seed(_Sseq& __q) { _M_b.seed(__q); } const _RandomNumberEngine& base() const noexcept { return _M_b; } static constexpr result_type min() { return 0U; } static constexpr result_type max() { return __detail::_Shift<_UIntType, __w>::__value - 1; } void discard(unsigned long long __z) { for (; __z != 0ULL; --__z) (*this)(); } result_type operator()(); # 1212 "/usr/include/c++/5.0.0/bits/random.h" 3 friend bool operator==(const independent_bits_engine& __lhs, const independent_bits_engine& __rhs) { return __lhs._M_b == __rhs._M_b; } # 1229 "/usr/include/c++/5.0.0/bits/random.h" 3 template friend std::basic_istream<_CharT, _Traits>& operator>>(std::basic_istream<_CharT, _Traits>& __is, std::independent_bits_engine<_RandomNumberEngine, __w, _UIntType>& __x) { __is >> __x._M_b; return __is; } private: _RandomNumberEngine _M_b; }; # 1255 "/usr/include/c++/5.0.0/bits/random.h" 3 template inline bool operator!=(const std::independent_bits_engine<_RandomNumberEngine, __w, _UIntType>& __lhs, const std::independent_bits_engine<_RandomNumberEngine, __w, _UIntType>& __rhs) { return !(__lhs == __rhs); } # 1273 "/usr/include/c++/5.0.0/bits/random.h" 3 template std::basic_ostream<_CharT, _Traits>& operator<<(std::basic_ostream<_CharT, _Traits>& __os, const std::independent_bits_engine<_RandomNumberEngine, __w, _UIntType>& __x) { __os << __x.base(); return __os; } template class shuffle_order_engine { static_assert(1u <= __k, "template argument substituting " "__k out of bound"); public: typedef typename _RandomNumberEngine::result_type result_type; static constexpr size_t table_size = __k; shuffle_order_engine() : _M_b() { _M_initialize(); } explicit shuffle_order_engine(const _RandomNumberEngine& __rng) : _M_b(__rng) { _M_initialize(); } explicit shuffle_order_engine(_RandomNumberEngine&& __rng) : _M_b(std::move(__rng)) { _M_initialize(); } explicit shuffle_order_engine(result_type __s) : _M_b(__s) { _M_initialize(); } template::value && !std::is_same<_Sseq, _RandomNumberEngine>::value> ::type> explicit shuffle_order_engine(_Sseq& __q) : _M_b(__q) { _M_initialize(); } void seed() { _M_b.seed(); _M_initialize(); } void seed(result_type __s) { _M_b.seed(__s); _M_initialize(); } template void seed(_Sseq& __q) { _M_b.seed(__q); _M_initialize(); } const _RandomNumberEngine& base() const noexcept { return _M_b; } static constexpr result_type min() { return _RandomNumberEngine::min(); } static constexpr result_type max() { return _RandomNumberEngine::max(); } void discard(unsigned long long __z) { for (; __z != 0ULL; --__z) (*this)(); } result_type operator()(); # 1441 "/usr/include/c++/5.0.0/bits/random.h" 3 friend bool operator==(const shuffle_order_engine& __lhs, const shuffle_order_engine& __rhs) { return (__lhs._M_b == __rhs._M_b && std::equal(__lhs._M_v, __lhs._M_v + __k, __rhs._M_v) && __lhs._M_y == __rhs._M_y); } # 1459 "/usr/include/c++/5.0.0/bits/random.h" 3 template friend std::basic_ostream<_CharT, _Traits>& operator<<(std::basic_ostream<_CharT, _Traits>& __os, const std::shuffle_order_engine<_RandomNumberEngine1, __k1>& __x); # 1477 "/usr/include/c++/5.0.0/bits/random.h" 3 template friend std::basic_istream<_CharT, _Traits>& operator>>(std::basic_istream<_CharT, _Traits>& __is, std::shuffle_order_engine<_RandomNumberEngine1, __k1>& __x); private: void _M_initialize() { for (size_t __i = 0; __i < __k; ++__i) _M_v[__i] = _M_b(); _M_y = _M_b(); } _RandomNumberEngine _M_b; result_type _M_v[__k]; result_type _M_y; }; # 1507 "/usr/include/c++/5.0.0/bits/random.h" 3 template inline bool operator!=(const std::shuffle_order_engine<_RandomNumberEngine, __k>& __lhs, const std::shuffle_order_engine<_RandomNumberEngine, __k>& __rhs) { return !(__lhs == __rhs); } typedef linear_congruential_engine minstd_rand0; typedef linear_congruential_engine minstd_rand; # 1536 "/usr/include/c++/5.0.0/bits/random.h" 3 typedef mersenne_twister_engine< uint_fast32_t, 32, 624, 397, 31, 0x9908b0dfUL, 11, 0xffffffffUL, 7, 0x9d2c5680UL, 15, 0xefc60000UL, 18, 1812433253UL> mt19937; typedef mersenne_twister_engine< uint_fast64_t, 64, 312, 156, 31, 0xb5026f5aa96619e9ULL, 29, 0x5555555555555555ULL, 17, 0x71d67fffeda60000ULL, 37, 0xfff7eee000000000ULL, 43, 6364136223846793005ULL> mt19937_64; typedef subtract_with_carry_engine ranlux24_base; typedef subtract_with_carry_engine ranlux48_base; typedef discard_block_engine ranlux24; typedef discard_block_engine ranlux48; typedef shuffle_order_engine knuth_b; typedef minstd_rand0 default_random_engine; class random_device { public: typedef unsigned int result_type; explicit random_device(const std::string& __token = "default") { _M_init(__token); } ~random_device() { _M_fini(); } # 1603 "/usr/include/c++/5.0.0/bits/random.h" 3 static constexpr result_type min() { return std::numeric_limits::min(); } static constexpr result_type max() { return std::numeric_limits::max(); } double entropy() const noexcept { return 0.0; } result_type operator()() { return this->_M_getval(); } random_device(const random_device&) = delete; void operator=(const random_device&) = delete; private: void _M_init(const std::string& __token); void _M_init_pretr1(const std::string& __token); void _M_fini(); result_type _M_getval(); result_type _M_getval_pretr1(); union { void* _M_file; mt19937 _M_mt; }; }; # 1664 "/usr/include/c++/5.0.0/bits/random.h" 3 template class uniform_int_distribution { static_assert(std::is_integral<_IntType>::value, "template argument not an integral type"); public: typedef _IntType result_type; struct param_type { typedef uniform_int_distribution<_IntType> distribution_type; explicit param_type(_IntType __a = 0, _IntType __b = std::numeric_limits<_IntType>::max()) : _M_a(__a), _M_b(__b) { ; } result_type a() const { return _M_a; } result_type b() const { return _M_b; } friend bool operator==(const param_type& __p1, const param_type& __p2) { return __p1._M_a == __p2._M_a && __p1._M_b == __p2._M_b; } private: _IntType _M_a; _IntType _M_b; }; public: explicit uniform_int_distribution(_IntType __a = 0, _IntType __b = std::numeric_limits<_IntType>::max()) : _M_param(__a, __b) { } explicit uniform_int_distribution(const param_type& __p) : _M_param(__p) { } void reset() { } result_type a() const { return _M_param.a(); } result_type b() const { return _M_param.b(); } param_type param() const { return _M_param; } void param(const param_type& __param) { _M_param = __param; } result_type min() const { return this->a(); } result_type max() const { return this->b(); } template result_type operator()(_UniformRandomNumberGenerator& __urng) { return this->operator()(__urng, _M_param); } template result_type operator()(_UniformRandomNumberGenerator& __urng, const param_type& __p); template void __generate(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng) { this->__generate(__f, __t, __urng, _M_param); } template void __generate(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng, const param_type& __p) { this->__generate_impl(__f, __t, __urng, __p); } template void __generate(result_type* __f, result_type* __t, _UniformRandomNumberGenerator& __urng, const param_type& __p) { this->__generate_impl(__f, __t, __urng, __p); } friend bool operator==(const uniform_int_distribution& __d1, const uniform_int_distribution& __d2) { return __d1._M_param == __d2._M_param; } private: template void __generate_impl(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng, const param_type& __p); param_type _M_param; }; template inline bool operator!=(const std::uniform_int_distribution<_IntType>& __d1, const std::uniform_int_distribution<_IntType>& __d2) { return !(__d1 == __d2); } # 1838 "/usr/include/c++/5.0.0/bits/random.h" 3 template std::basic_ostream<_CharT, _Traits>& operator<<(std::basic_ostream<_CharT, _Traits>&, const std::uniform_int_distribution<_IntType>&); # 1852 "/usr/include/c++/5.0.0/bits/random.h" 3 template std::basic_istream<_CharT, _Traits>& operator>>(std::basic_istream<_CharT, _Traits>&, std::uniform_int_distribution<_IntType>&); # 1865 "/usr/include/c++/5.0.0/bits/random.h" 3 template class uniform_real_distribution { static_assert(std::is_floating_point<_RealType>::value, "template argument not a floating point type"); public: typedef _RealType result_type; struct param_type { typedef uniform_real_distribution<_RealType> distribution_type; explicit param_type(_RealType __a = _RealType(0), _RealType __b = _RealType(1)) : _M_a(__a), _M_b(__b) { ; } result_type a() const { return _M_a; } result_type b() const { return _M_b; } friend bool operator==(const param_type& __p1, const param_type& __p2) { return __p1._M_a == __p2._M_a && __p1._M_b == __p2._M_b; } private: _RealType _M_a; _RealType _M_b; }; public: explicit uniform_real_distribution(_RealType __a = _RealType(0), _RealType __b = _RealType(1)) : _M_param(__a, __b) { } explicit uniform_real_distribution(const param_type& __p) : _M_param(__p) { } void reset() { } result_type a() const { return _M_param.a(); } result_type b() const { return _M_param.b(); } param_type param() const { return _M_param; } void param(const param_type& __param) { _M_param = __param; } result_type min() const { return this->a(); } result_type max() const { return this->b(); } template result_type operator()(_UniformRandomNumberGenerator& __urng) { return this->operator()(__urng, _M_param); } template result_type operator()(_UniformRandomNumberGenerator& __urng, const param_type& __p) { __detail::_Adaptor<_UniformRandomNumberGenerator, result_type> __aurng(__urng); return (__aurng() * (__p.b() - __p.a())) + __p.a(); } template void __generate(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng) { this->__generate(__f, __t, __urng, _M_param); } template void __generate(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng, const param_type& __p) { this->__generate_impl(__f, __t, __urng, __p); } template void __generate(result_type* __f, result_type* __t, _UniformRandomNumberGenerator& __urng, const param_type& __p) { this->__generate_impl(__f, __t, __urng, __p); } friend bool operator==(const uniform_real_distribution& __d1, const uniform_real_distribution& __d2) { return __d1._M_param == __d2._M_param; } private: template void __generate_impl(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng, const param_type& __p); param_type _M_param; }; template inline bool operator!=(const std::uniform_real_distribution<_IntType>& __d1, const std::uniform_real_distribution<_IntType>& __d2) { return !(__d1 == __d2); } # 2047 "/usr/include/c++/5.0.0/bits/random.h" 3 template std::basic_ostream<_CharT, _Traits>& operator<<(std::basic_ostream<_CharT, _Traits>&, const std::uniform_real_distribution<_RealType>&); # 2061 "/usr/include/c++/5.0.0/bits/random.h" 3 template std::basic_istream<_CharT, _Traits>& operator>>(std::basic_istream<_CharT, _Traits>&, std::uniform_real_distribution<_RealType>&); # 2083 "/usr/include/c++/5.0.0/bits/random.h" 3 template class normal_distribution { static_assert(std::is_floating_point<_RealType>::value, "template argument not a floating point type"); public: typedef _RealType result_type; struct param_type { typedef normal_distribution<_RealType> distribution_type; explicit param_type(_RealType __mean = _RealType(0), _RealType __stddev = _RealType(1)) : _M_mean(__mean), _M_stddev(__stddev) { ; } _RealType mean() const { return _M_mean; } _RealType stddev() const { return _M_stddev; } friend bool operator==(const param_type& __p1, const param_type& __p2) { return (__p1._M_mean == __p2._M_mean && __p1._M_stddev == __p2._M_stddev); } private: _RealType _M_mean; _RealType _M_stddev; }; public: explicit normal_distribution(result_type __mean = result_type(0), result_type __stddev = result_type(1)) : _M_param(__mean, __stddev), _M_saved_available(false) { } explicit normal_distribution(const param_type& __p) : _M_param(__p), _M_saved_available(false) { } void reset() { _M_saved_available = false; } _RealType mean() const { return _M_param.mean(); } _RealType stddev() const { return _M_param.stddev(); } param_type param() const { return _M_param; } void param(const param_type& __param) { _M_param = __param; } result_type min() const { return std::numeric_limits::lowest(); } result_type max() const { return std::numeric_limits::max(); } template result_type operator()(_UniformRandomNumberGenerator& __urng) { return this->operator()(__urng, _M_param); } template result_type operator()(_UniformRandomNumberGenerator& __urng, const param_type& __p); template void __generate(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng) { this->__generate(__f, __t, __urng, _M_param); } template void __generate(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng, const param_type& __p) { this->__generate_impl(__f, __t, __urng, __p); } template void __generate(result_type* __f, result_type* __t, _UniformRandomNumberGenerator& __urng, const param_type& __p) { this->__generate_impl(__f, __t, __urng, __p); } template friend bool operator==(const std::normal_distribution<_RealType1>& __d1, const std::normal_distribution<_RealType1>& __d2); # 2244 "/usr/include/c++/5.0.0/bits/random.h" 3 template friend std::basic_ostream<_CharT, _Traits>& operator<<(std::basic_ostream<_CharT, _Traits>& __os, const std::normal_distribution<_RealType1>& __x); # 2259 "/usr/include/c++/5.0.0/bits/random.h" 3 template friend std::basic_istream<_CharT, _Traits>& operator>>(std::basic_istream<_CharT, _Traits>& __is, std::normal_distribution<_RealType1>& __x); private: template void __generate_impl(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng, const param_type& __p); param_type _M_param; result_type _M_saved; bool _M_saved_available; }; template inline bool operator!=(const std::normal_distribution<_RealType>& __d1, const std::normal_distribution<_RealType>& __d2) { return !(__d1 == __d2); } # 2296 "/usr/include/c++/5.0.0/bits/random.h" 3 template class lognormal_distribution { static_assert(std::is_floating_point<_RealType>::value, "template argument not a floating point type"); public: typedef _RealType result_type; struct param_type { typedef lognormal_distribution<_RealType> distribution_type; explicit param_type(_RealType __m = _RealType(0), _RealType __s = _RealType(1)) : _M_m(__m), _M_s(__s) { } _RealType m() const { return _M_m; } _RealType s() const { return _M_s; } friend bool operator==(const param_type& __p1, const param_type& __p2) { return __p1._M_m == __p2._M_m && __p1._M_s == __p2._M_s; } private: _RealType _M_m; _RealType _M_s; }; explicit lognormal_distribution(_RealType __m = _RealType(0), _RealType __s = _RealType(1)) : _M_param(__m, __s), _M_nd() { } explicit lognormal_distribution(const param_type& __p) : _M_param(__p), _M_nd() { } void reset() { _M_nd.reset(); } _RealType m() const { return _M_param.m(); } _RealType s() const { return _M_param.s(); } param_type param() const { return _M_param; } void param(const param_type& __param) { _M_param = __param; } result_type min() const { return result_type(0); } result_type max() const { return std::numeric_limits::max(); } template result_type operator()(_UniformRandomNumberGenerator& __urng) { return this->operator()(__urng, _M_param); } template result_type operator()(_UniformRandomNumberGenerator& __urng, const param_type& __p) { return std::exp(__p.s() * _M_nd(__urng) + __p.m()); } template void __generate(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng) { this->__generate(__f, __t, __urng, _M_param); } template void __generate(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng, const param_type& __p) { this->__generate_impl(__f, __t, __urng, __p); } template void __generate(result_type* __f, result_type* __t, _UniformRandomNumberGenerator& __urng, const param_type& __p) { this->__generate_impl(__f, __t, __urng, __p); } friend bool operator==(const lognormal_distribution& __d1, const lognormal_distribution& __d2) { return (__d1._M_param == __d2._M_param && __d1._M_nd == __d2._M_nd); } # 2448 "/usr/include/c++/5.0.0/bits/random.h" 3 template friend std::basic_ostream<_CharT, _Traits>& operator<<(std::basic_ostream<_CharT, _Traits>& __os, const std::lognormal_distribution<_RealType1>& __x); # 2463 "/usr/include/c++/5.0.0/bits/random.h" 3 template friend std::basic_istream<_CharT, _Traits>& operator>>(std::basic_istream<_CharT, _Traits>& __is, std::lognormal_distribution<_RealType1>& __x); private: template void __generate_impl(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng, const param_type& __p); param_type _M_param; std::normal_distribution _M_nd; }; template inline bool operator!=(const std::lognormal_distribution<_RealType>& __d1, const std::lognormal_distribution<_RealType>& __d2) { return !(__d1 == __d2); } # 2500 "/usr/include/c++/5.0.0/bits/random.h" 3 template class gamma_distribution { static_assert(std::is_floating_point<_RealType>::value, "template argument not a floating point type"); public: typedef _RealType result_type; struct param_type { typedef gamma_distribution<_RealType> distribution_type; friend class gamma_distribution<_RealType>; explicit param_type(_RealType __alpha_val = _RealType(1), _RealType __beta_val = _RealType(1)) : _M_alpha(__alpha_val), _M_beta(__beta_val) { ; _M_initialize(); } _RealType alpha() const { return _M_alpha; } _RealType beta() const { return _M_beta; } friend bool operator==(const param_type& __p1, const param_type& __p2) { return (__p1._M_alpha == __p2._M_alpha && __p1._M_beta == __p2._M_beta); } private: void _M_initialize(); _RealType _M_alpha; _RealType _M_beta; _RealType _M_malpha, _M_a2; }; public: explicit gamma_distribution(_RealType __alpha_val = _RealType(1), _RealType __beta_val = _RealType(1)) : _M_param(__alpha_val, __beta_val), _M_nd() { } explicit gamma_distribution(const param_type& __p) : _M_param(__p), _M_nd() { } void reset() { _M_nd.reset(); } _RealType alpha() const { return _M_param.alpha(); } _RealType beta() const { return _M_param.beta(); } param_type param() const { return _M_param; } void param(const param_type& __param) { _M_param = __param; } result_type min() const { return result_type(0); } result_type max() const { return std::numeric_limits::max(); } template result_type operator()(_UniformRandomNumberGenerator& __urng) { return this->operator()(__urng, _M_param); } template result_type operator()(_UniformRandomNumberGenerator& __urng, const param_type& __p); template void __generate(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng) { this->__generate(__f, __t, __urng, _M_param); } template void __generate(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng, const param_type& __p) { this->__generate_impl(__f, __t, __urng, __p); } template void __generate(result_type* __f, result_type* __t, _UniformRandomNumberGenerator& __urng, const param_type& __p) { this->__generate_impl(__f, __t, __urng, __p); } friend bool operator==(const gamma_distribution& __d1, const gamma_distribution& __d2) { return (__d1._M_param == __d2._M_param && __d1._M_nd == __d2._M_nd); } # 2669 "/usr/include/c++/5.0.0/bits/random.h" 3 template friend std::basic_ostream<_CharT, _Traits>& operator<<(std::basic_ostream<_CharT, _Traits>& __os, const std::gamma_distribution<_RealType1>& __x); # 2683 "/usr/include/c++/5.0.0/bits/random.h" 3 template friend std::basic_istream<_CharT, _Traits>& operator>>(std::basic_istream<_CharT, _Traits>& __is, std::gamma_distribution<_RealType1>& __x); private: template void __generate_impl(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng, const param_type& __p); param_type _M_param; std::normal_distribution _M_nd; }; template inline bool operator!=(const std::gamma_distribution<_RealType>& __d1, const std::gamma_distribution<_RealType>& __d2) { return !(__d1 == __d2); } # 2717 "/usr/include/c++/5.0.0/bits/random.h" 3 template class chi_squared_distribution { static_assert(std::is_floating_point<_RealType>::value, "template argument not a floating point type"); public: typedef _RealType result_type; struct param_type { typedef chi_squared_distribution<_RealType> distribution_type; explicit param_type(_RealType __n = _RealType(1)) : _M_n(__n) { } _RealType n() const { return _M_n; } friend bool operator==(const param_type& __p1, const param_type& __p2) { return __p1._M_n == __p2._M_n; } private: _RealType _M_n; }; explicit chi_squared_distribution(_RealType __n = _RealType(1)) : _M_param(__n), _M_gd(__n / 2) { } explicit chi_squared_distribution(const param_type& __p) : _M_param(__p), _M_gd(__p.n() / 2) { } void reset() { _M_gd.reset(); } _RealType n() const { return _M_param.n(); } param_type param() const { return _M_param; } void param(const param_type& __param) { _M_param = __param; } result_type min() const { return result_type(0); } result_type max() const { return std::numeric_limits::max(); } template result_type operator()(_UniformRandomNumberGenerator& __urng) { return 2 * _M_gd(__urng); } template result_type operator()(_UniformRandomNumberGenerator& __urng, const param_type& __p) { typedef typename std::gamma_distribution::param_type param_type; return 2 * _M_gd(__urng, param_type(__p.n() / 2)); } template void __generate(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng) { this->__generate_impl(__f, __t, __urng); } template void __generate(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng, const param_type& __p) { typename std::gamma_distribution::param_type __p2(__p.n() / 2); this->__generate_impl(__f, __t, __urng, __p2); } template void __generate(result_type* __f, result_type* __t, _UniformRandomNumberGenerator& __urng) { this->__generate_impl(__f, __t, __urng); } template void __generate(result_type* __f, result_type* __t, _UniformRandomNumberGenerator& __urng, const param_type& __p) { typename std::gamma_distribution::param_type __p2(__p.n() / 2); this->__generate_impl(__f, __t, __urng, __p2); } friend bool operator==(const chi_squared_distribution& __d1, const chi_squared_distribution& __d2) { return __d1._M_param == __d2._M_param && __d1._M_gd == __d2._M_gd; } # 2871 "/usr/include/c++/5.0.0/bits/random.h" 3 template friend std::basic_ostream<_CharT, _Traits>& operator<<(std::basic_ostream<_CharT, _Traits>& __os, const std::chi_squared_distribution<_RealType1>& __x); # 2886 "/usr/include/c++/5.0.0/bits/random.h" 3 template friend std::basic_istream<_CharT, _Traits>& operator>>(std::basic_istream<_CharT, _Traits>& __is, std::chi_squared_distribution<_RealType1>& __x); private: template void __generate_impl(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng); template void __generate_impl(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng, const typename std::gamma_distribution::param_type& __p); param_type _M_param; std::gamma_distribution _M_gd; }; template inline bool operator!=(const std::chi_squared_distribution<_RealType>& __d1, const std::chi_squared_distribution<_RealType>& __d2) { return !(__d1 == __d2); } # 2927 "/usr/include/c++/5.0.0/bits/random.h" 3 template class cauchy_distribution { static_assert(std::is_floating_point<_RealType>::value, "template argument not a floating point type"); public: typedef _RealType result_type; struct param_type { typedef cauchy_distribution<_RealType> distribution_type; explicit param_type(_RealType __a = _RealType(0), _RealType __b = _RealType(1)) : _M_a(__a), _M_b(__b) { } _RealType a() const { return _M_a; } _RealType b() const { return _M_b; } friend bool operator==(const param_type& __p1, const param_type& __p2) { return __p1._M_a == __p2._M_a && __p1._M_b == __p2._M_b; } private: _RealType _M_a; _RealType _M_b; }; explicit cauchy_distribution(_RealType __a = _RealType(0), _RealType __b = _RealType(1)) : _M_param(__a, __b) { } explicit cauchy_distribution(const param_type& __p) : _M_param(__p) { } void reset() { } _RealType a() const { return _M_param.a(); } _RealType b() const { return _M_param.b(); } param_type param() const { return _M_param; } void param(const param_type& __param) { _M_param = __param; } result_type min() const { return std::numeric_limits::lowest(); } result_type max() const { return std::numeric_limits::max(); } template result_type operator()(_UniformRandomNumberGenerator& __urng) { return this->operator()(__urng, _M_param); } template result_type operator()(_UniformRandomNumberGenerator& __urng, const param_type& __p); template void __generate(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng) { this->__generate(__f, __t, __urng, _M_param); } template void __generate(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng, const param_type& __p) { this->__generate_impl(__f, __t, __urng, __p); } template void __generate(result_type* __f, result_type* __t, _UniformRandomNumberGenerator& __urng, const param_type& __p) { this->__generate_impl(__f, __t, __urng, __p); } friend bool operator==(const cauchy_distribution& __d1, const cauchy_distribution& __d2) { return __d1._M_param == __d2._M_param; } private: template void __generate_impl(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng, const param_type& __p); param_type _M_param; }; template inline bool operator!=(const std::cauchy_distribution<_RealType>& __d1, const std::cauchy_distribution<_RealType>& __d2) { return !(__d1 == __d2); } # 3097 "/usr/include/c++/5.0.0/bits/random.h" 3 template std::basic_ostream<_CharT, _Traits>& operator<<(std::basic_ostream<_CharT, _Traits>& __os, const std::cauchy_distribution<_RealType>& __x); # 3112 "/usr/include/c++/5.0.0/bits/random.h" 3 template std::basic_istream<_CharT, _Traits>& operator>>(std::basic_istream<_CharT, _Traits>& __is, std::cauchy_distribution<_RealType>& __x); # 3128 "/usr/include/c++/5.0.0/bits/random.h" 3 template class fisher_f_distribution { static_assert(std::is_floating_point<_RealType>::value, "template argument not a floating point type"); public: typedef _RealType result_type; struct param_type { typedef fisher_f_distribution<_RealType> distribution_type; explicit param_type(_RealType __m = _RealType(1), _RealType __n = _RealType(1)) : _M_m(__m), _M_n(__n) { } _RealType m() const { return _M_m; } _RealType n() const { return _M_n; } friend bool operator==(const param_type& __p1, const param_type& __p2) { return __p1._M_m == __p2._M_m && __p1._M_n == __p2._M_n; } private: _RealType _M_m; _RealType _M_n; }; explicit fisher_f_distribution(_RealType __m = _RealType(1), _RealType __n = _RealType(1)) : _M_param(__m, __n), _M_gd_x(__m / 2), _M_gd_y(__n / 2) { } explicit fisher_f_distribution(const param_type& __p) : _M_param(__p), _M_gd_x(__p.m() / 2), _M_gd_y(__p.n() / 2) { } void reset() { _M_gd_x.reset(); _M_gd_y.reset(); } _RealType m() const { return _M_param.m(); } _RealType n() const { return _M_param.n(); } param_type param() const { return _M_param; } void param(const param_type& __param) { _M_param = __param; } result_type min() const { return result_type(0); } result_type max() const { return std::numeric_limits::max(); } template result_type operator()(_UniformRandomNumberGenerator& __urng) { return (_M_gd_x(__urng) * n()) / (_M_gd_y(__urng) * m()); } template result_type operator()(_UniformRandomNumberGenerator& __urng, const param_type& __p) { typedef typename std::gamma_distribution::param_type param_type; return ((_M_gd_x(__urng, param_type(__p.m() / 2)) * n()) / (_M_gd_y(__urng, param_type(__p.n() / 2)) * m())); } template void __generate(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng) { this->__generate_impl(__f, __t, __urng); } template void __generate(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng, const param_type& __p) { this->__generate_impl(__f, __t, __urng, __p); } template void __generate(result_type* __f, result_type* __t, _UniformRandomNumberGenerator& __urng) { this->__generate_impl(__f, __t, __urng); } template void __generate(result_type* __f, result_type* __t, _UniformRandomNumberGenerator& __urng, const param_type& __p) { this->__generate_impl(__f, __t, __urng, __p); } friend bool operator==(const fisher_f_distribution& __d1, const fisher_f_distribution& __d2) { return (__d1._M_param == __d2._M_param && __d1._M_gd_x == __d2._M_gd_x && __d1._M_gd_y == __d2._M_gd_y); } # 3295 "/usr/include/c++/5.0.0/bits/random.h" 3 template friend std::basic_ostream<_CharT, _Traits>& operator<<(std::basic_ostream<_CharT, _Traits>& __os, const std::fisher_f_distribution<_RealType1>& __x); # 3310 "/usr/include/c++/5.0.0/bits/random.h" 3 template friend std::basic_istream<_CharT, _Traits>& operator>>(std::basic_istream<_CharT, _Traits>& __is, std::fisher_f_distribution<_RealType1>& __x); private: template void __generate_impl(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng); template void __generate_impl(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng, const param_type& __p); param_type _M_param; std::gamma_distribution _M_gd_x, _M_gd_y; }; template inline bool operator!=(const std::fisher_f_distribution<_RealType>& __d1, const std::fisher_f_distribution<_RealType>& __d2) { return !(__d1 == __d2); } # 3352 "/usr/include/c++/5.0.0/bits/random.h" 3 template class student_t_distribution { static_assert(std::is_floating_point<_RealType>::value, "template argument not a floating point type"); public: typedef _RealType result_type; struct param_type { typedef student_t_distribution<_RealType> distribution_type; explicit param_type(_RealType __n = _RealType(1)) : _M_n(__n) { } _RealType n() const { return _M_n; } friend bool operator==(const param_type& __p1, const param_type& __p2) { return __p1._M_n == __p2._M_n; } private: _RealType _M_n; }; explicit student_t_distribution(_RealType __n = _RealType(1)) : _M_param(__n), _M_nd(), _M_gd(__n / 2, 2) { } explicit student_t_distribution(const param_type& __p) : _M_param(__p), _M_nd(), _M_gd(__p.n() / 2, 2) { } void reset() { _M_nd.reset(); _M_gd.reset(); } _RealType n() const { return _M_param.n(); } param_type param() const { return _M_param; } void param(const param_type& __param) { _M_param = __param; } result_type min() const { return std::numeric_limits::lowest(); } result_type max() const { return std::numeric_limits::max(); } template result_type operator()(_UniformRandomNumberGenerator& __urng) { return _M_nd(__urng) * std::sqrt(n() / _M_gd(__urng)); } template result_type operator()(_UniformRandomNumberGenerator& __urng, const param_type& __p) { typedef typename std::gamma_distribution::param_type param_type; const result_type __g = _M_gd(__urng, param_type(__p.n() / 2, 2)); return _M_nd(__urng) * std::sqrt(__p.n() / __g); } template void __generate(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng) { this->__generate_impl(__f, __t, __urng); } template void __generate(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng, const param_type& __p) { this->__generate_impl(__f, __t, __urng, __p); } template void __generate(result_type* __f, result_type* __t, _UniformRandomNumberGenerator& __urng) { this->__generate_impl(__f, __t, __urng); } template void __generate(result_type* __f, result_type* __t, _UniformRandomNumberGenerator& __urng, const param_type& __p) { this->__generate_impl(__f, __t, __urng, __p); } friend bool operator==(const student_t_distribution& __d1, const student_t_distribution& __d2) { return (__d1._M_param == __d2._M_param && __d1._M_nd == __d2._M_nd && __d1._M_gd == __d2._M_gd); } # 3508 "/usr/include/c++/5.0.0/bits/random.h" 3 template friend std::basic_ostream<_CharT, _Traits>& operator<<(std::basic_ostream<_CharT, _Traits>& __os, const std::student_t_distribution<_RealType1>& __x); # 3523 "/usr/include/c++/5.0.0/bits/random.h" 3 template friend std::basic_istream<_CharT, _Traits>& operator>>(std::basic_istream<_CharT, _Traits>& __is, std::student_t_distribution<_RealType1>& __x); private: template void __generate_impl(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng); template void __generate_impl(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng, const param_type& __p); param_type _M_param; std::normal_distribution _M_nd; std::gamma_distribution _M_gd; }; template inline bool operator!=(const std::student_t_distribution<_RealType>& __d1, const std::student_t_distribution<_RealType>& __d2) { return !(__d1 == __d2); } # 3571 "/usr/include/c++/5.0.0/bits/random.h" 3 class bernoulli_distribution { public: typedef bool result_type; struct param_type { typedef bernoulli_distribution distribution_type; explicit param_type(double __p = 0.5) : _M_p(__p) { ; } double p() const { return _M_p; } friend bool operator==(const param_type& __p1, const param_type& __p2) { return __p1._M_p == __p2._M_p; } private: double _M_p; }; public: explicit bernoulli_distribution(double __p = 0.5) : _M_param(__p) { } explicit bernoulli_distribution(const param_type& __p) : _M_param(__p) { } void reset() { } double p() const { return _M_param.p(); } param_type param() const { return _M_param; } void param(const param_type& __param) { _M_param = __param; } result_type min() const { return std::numeric_limits::min(); } result_type max() const { return std::numeric_limits::max(); } template result_type operator()(_UniformRandomNumberGenerator& __urng) { return this->operator()(__urng, _M_param); } template result_type operator()(_UniformRandomNumberGenerator& __urng, const param_type& __p) { __detail::_Adaptor<_UniformRandomNumberGenerator, double> __aurng(__urng); if ((__aurng() - __aurng.min()) < __p.p() * (__aurng.max() - __aurng.min())) return true; return false; } template void __generate(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng) { this->__generate(__f, __t, __urng, _M_param); } template void __generate(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng, const param_type& __p) { this->__generate_impl(__f, __t, __urng, __p); } template void __generate(result_type* __f, result_type* __t, _UniformRandomNumberGenerator& __urng, const param_type& __p) { this->__generate_impl(__f, __t, __urng, __p); } friend bool operator==(const bernoulli_distribution& __d1, const bernoulli_distribution& __d2) { return __d1._M_param == __d2._M_param; } private: template void __generate_impl(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng, const param_type& __p); param_type _M_param; }; inline bool operator!=(const std::bernoulli_distribution& __d1, const std::bernoulli_distribution& __d2) { return !(__d1 == __d2); } # 3742 "/usr/include/c++/5.0.0/bits/random.h" 3 template std::basic_ostream<_CharT, _Traits>& operator<<(std::basic_ostream<_CharT, _Traits>& __os, const std::bernoulli_distribution& __x); # 3756 "/usr/include/c++/5.0.0/bits/random.h" 3 template std::basic_istream<_CharT, _Traits>& operator>>(std::basic_istream<_CharT, _Traits>& __is, std::bernoulli_distribution& __x) { double __p; __is >> __p; __x.param(bernoulli_distribution::param_type(__p)); return __is; } # 3775 "/usr/include/c++/5.0.0/bits/random.h" 3 template class binomial_distribution { static_assert(std::is_integral<_IntType>::value, "template argument not an integral type"); public: typedef _IntType result_type; struct param_type { typedef binomial_distribution<_IntType> distribution_type; friend class binomial_distribution<_IntType>; explicit param_type(_IntType __t = _IntType(1), double __p = 0.5) : _M_t(__t), _M_p(__p) { ; _M_initialize(); } _IntType t() const { return _M_t; } double p() const { return _M_p; } friend bool operator==(const param_type& __p1, const param_type& __p2) { return __p1._M_t == __p2._M_t && __p1._M_p == __p2._M_p; } private: void _M_initialize(); _IntType _M_t; double _M_p; double _M_q; double _M_d1, _M_d2, _M_s1, _M_s2, _M_c, _M_a1, _M_a123, _M_s, _M_lf, _M_lp1p; bool _M_easy; }; explicit binomial_distribution(_IntType __t = _IntType(1), double __p = 0.5) : _M_param(__t, __p), _M_nd() { } explicit binomial_distribution(const param_type& __p) : _M_param(__p), _M_nd() { } void reset() { _M_nd.reset(); } _IntType t() const { return _M_param.t(); } double p() const { return _M_param.p(); } param_type param() const { return _M_param; } void param(const param_type& __param) { _M_param = __param; } result_type min() const { return 0; } result_type max() const { return _M_param.t(); } template result_type operator()(_UniformRandomNumberGenerator& __urng) { return this->operator()(__urng, _M_param); } template result_type operator()(_UniformRandomNumberGenerator& __urng, const param_type& __p); template void __generate(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng) { this->__generate(__f, __t, __urng, _M_param); } template void __generate(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng, const param_type& __p) { this->__generate_impl(__f, __t, __urng, __p); } template void __generate(result_type* __f, result_type* __t, _UniformRandomNumberGenerator& __urng, const param_type& __p) { this->__generate_impl(__f, __t, __urng, __p); } friend bool operator==(const binomial_distribution& __d1, const binomial_distribution& __d2) { return __d1._M_param == __d2._M_param && __d1._M_nd == __d2._M_nd; } # 3948 "/usr/include/c++/5.0.0/bits/random.h" 3 template friend std::basic_ostream<_CharT, _Traits>& operator<<(std::basic_ostream<_CharT, _Traits>& __os, const std::binomial_distribution<_IntType1>& __x); # 3964 "/usr/include/c++/5.0.0/bits/random.h" 3 template friend std::basic_istream<_CharT, _Traits>& operator>>(std::basic_istream<_CharT, _Traits>& __is, std::binomial_distribution<_IntType1>& __x); private: template void __generate_impl(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng, const param_type& __p); template result_type _M_waiting(_UniformRandomNumberGenerator& __urng, _IntType __t, double __q); param_type _M_param; std::normal_distribution _M_nd; }; template inline bool operator!=(const std::binomial_distribution<_IntType>& __d1, const std::binomial_distribution<_IntType>& __d2) { return !(__d1 == __d2); } # 4006 "/usr/include/c++/5.0.0/bits/random.h" 3 template class geometric_distribution { static_assert(std::is_integral<_IntType>::value, "template argument not an integral type"); public: typedef _IntType result_type; struct param_type { typedef geometric_distribution<_IntType> distribution_type; friend class geometric_distribution<_IntType>; explicit param_type(double __p = 0.5) : _M_p(__p) { ; _M_initialize(); } double p() const { return _M_p; } friend bool operator==(const param_type& __p1, const param_type& __p2) { return __p1._M_p == __p2._M_p; } private: void _M_initialize() { _M_log_1_p = std::log(1.0 - _M_p); } double _M_p; double _M_log_1_p; }; explicit geometric_distribution(double __p = 0.5) : _M_param(__p) { } explicit geometric_distribution(const param_type& __p) : _M_param(__p) { } void reset() { } double p() const { return _M_param.p(); } param_type param() const { return _M_param; } void param(const param_type& __param) { _M_param = __param; } result_type min() const { return 0; } result_type max() const { return std::numeric_limits::max(); } template result_type operator()(_UniformRandomNumberGenerator& __urng) { return this->operator()(__urng, _M_param); } template result_type operator()(_UniformRandomNumberGenerator& __urng, const param_type& __p); template void __generate(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng) { this->__generate(__f, __t, __urng, _M_param); } template void __generate(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng, const param_type& __p) { this->__generate_impl(__f, __t, __urng, __p); } template void __generate(result_type* __f, result_type* __t, _UniformRandomNumberGenerator& __urng, const param_type& __p) { this->__generate_impl(__f, __t, __urng, __p); } friend bool operator==(const geometric_distribution& __d1, const geometric_distribution& __d2) { return __d1._M_param == __d2._M_param; } private: template void __generate_impl(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng, const param_type& __p); param_type _M_param; }; template inline bool operator!=(const std::geometric_distribution<_IntType>& __d1, const std::geometric_distribution<_IntType>& __d2) { return !(__d1 == __d2); } # 4177 "/usr/include/c++/5.0.0/bits/random.h" 3 template std::basic_ostream<_CharT, _Traits>& operator<<(std::basic_ostream<_CharT, _Traits>& __os, const std::geometric_distribution<_IntType>& __x); # 4192 "/usr/include/c++/5.0.0/bits/random.h" 3 template std::basic_istream<_CharT, _Traits>& operator>>(std::basic_istream<_CharT, _Traits>& __is, std::geometric_distribution<_IntType>& __x); # 4206 "/usr/include/c++/5.0.0/bits/random.h" 3 template class negative_binomial_distribution { static_assert(std::is_integral<_IntType>::value, "template argument not an integral type"); public: typedef _IntType result_type; struct param_type { typedef negative_binomial_distribution<_IntType> distribution_type; explicit param_type(_IntType __k = 1, double __p = 0.5) : _M_k(__k), _M_p(__p) { ; } _IntType k() const { return _M_k; } double p() const { return _M_p; } friend bool operator==(const param_type& __p1, const param_type& __p2) { return __p1._M_k == __p2._M_k && __p1._M_p == __p2._M_p; } private: _IntType _M_k; double _M_p; }; explicit negative_binomial_distribution(_IntType __k = 1, double __p = 0.5) : _M_param(__k, __p), _M_gd(__k, (1.0 - __p) / __p) { } explicit negative_binomial_distribution(const param_type& __p) : _M_param(__p), _M_gd(__p.k(), (1.0 - __p.p()) / __p.p()) { } void reset() { _M_gd.reset(); } _IntType k() const { return _M_param.k(); } double p() const { return _M_param.p(); } param_type param() const { return _M_param; } void param(const param_type& __param) { _M_param = __param; } result_type min() const { return result_type(0); } result_type max() const { return std::numeric_limits::max(); } template result_type operator()(_UniformRandomNumberGenerator& __urng); template result_type operator()(_UniformRandomNumberGenerator& __urng, const param_type& __p); template void __generate(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng) { this->__generate_impl(__f, __t, __urng); } template void __generate(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng, const param_type& __p) { this->__generate_impl(__f, __t, __urng, __p); } template void __generate(result_type* __f, result_type* __t, _UniformRandomNumberGenerator& __urng) { this->__generate_impl(__f, __t, __urng); } template void __generate(result_type* __f, result_type* __t, _UniformRandomNumberGenerator& __urng, const param_type& __p) { this->__generate_impl(__f, __t, __urng, __p); } friend bool operator==(const negative_binomial_distribution& __d1, const negative_binomial_distribution& __d2) { return __d1._M_param == __d2._M_param && __d1._M_gd == __d2._M_gd; } # 4365 "/usr/include/c++/5.0.0/bits/random.h" 3 template friend std::basic_ostream<_CharT, _Traits>& operator<<(std::basic_ostream<_CharT, _Traits>& __os, const std::negative_binomial_distribution<_IntType1>& __x); # 4380 "/usr/include/c++/5.0.0/bits/random.h" 3 template friend std::basic_istream<_CharT, _Traits>& operator>>(std::basic_istream<_CharT, _Traits>& __is, std::negative_binomial_distribution<_IntType1>& __x); private: template void __generate_impl(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng); template void __generate_impl(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng, const param_type& __p); param_type _M_param; std::gamma_distribution _M_gd; }; template inline bool operator!=(const std::negative_binomial_distribution<_IntType>& __d1, const std::negative_binomial_distribution<_IntType>& __d2) { return !(__d1 == __d2); } # 4428 "/usr/include/c++/5.0.0/bits/random.h" 3 template class poisson_distribution { static_assert(std::is_integral<_IntType>::value, "template argument not an integral type"); public: typedef _IntType result_type; struct param_type { typedef poisson_distribution<_IntType> distribution_type; friend class poisson_distribution<_IntType>; explicit param_type(double __mean = 1.0) : _M_mean(__mean) { ; _M_initialize(); } double mean() const { return _M_mean; } friend bool operator==(const param_type& __p1, const param_type& __p2) { return __p1._M_mean == __p2._M_mean; } private: void _M_initialize(); double _M_mean; double _M_lm_thr; double _M_lfm, _M_sm, _M_d, _M_scx, _M_1cx, _M_c2b, _M_cb; }; explicit poisson_distribution(double __mean = 1.0) : _M_param(__mean), _M_nd() { } explicit poisson_distribution(const param_type& __p) : _M_param(__p), _M_nd() { } void reset() { _M_nd.reset(); } double mean() const { return _M_param.mean(); } param_type param() const { return _M_param; } void param(const param_type& __param) { _M_param = __param; } result_type min() const { return 0; } result_type max() const { return std::numeric_limits::max(); } template result_type operator()(_UniformRandomNumberGenerator& __urng) { return this->operator()(__urng, _M_param); } template result_type operator()(_UniformRandomNumberGenerator& __urng, const param_type& __p); template void __generate(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng) { this->__generate(__f, __t, __urng, _M_param); } template void __generate(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng, const param_type& __p) { this->__generate_impl(__f, __t, __urng, __p); } template void __generate(result_type* __f, result_type* __t, _UniformRandomNumberGenerator& __urng, const param_type& __p) { this->__generate_impl(__f, __t, __urng, __p); } friend bool operator==(const poisson_distribution& __d1, const poisson_distribution& __d2) { return __d1._M_param == __d2._M_param && __d1._M_nd == __d2._M_nd; } # 4585 "/usr/include/c++/5.0.0/bits/random.h" 3 template friend std::basic_ostream<_CharT, _Traits>& operator<<(std::basic_ostream<_CharT, _Traits>& __os, const std::poisson_distribution<_IntType1>& __x); # 4600 "/usr/include/c++/5.0.0/bits/random.h" 3 template friend std::basic_istream<_CharT, _Traits>& operator>>(std::basic_istream<_CharT, _Traits>& __is, std::poisson_distribution<_IntType1>& __x); private: template void __generate_impl(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng, const param_type& __p); param_type _M_param; std::normal_distribution _M_nd; }; template inline bool operator!=(const std::poisson_distribution<_IntType>& __d1, const std::poisson_distribution<_IntType>& __d2) { return !(__d1 == __d2); } # 4644 "/usr/include/c++/5.0.0/bits/random.h" 3 template class exponential_distribution { static_assert(std::is_floating_point<_RealType>::value, "template argument not a floating point type"); public: typedef _RealType result_type; struct param_type { typedef exponential_distribution<_RealType> distribution_type; explicit param_type(_RealType __lambda = _RealType(1)) : _M_lambda(__lambda) { ; } _RealType lambda() const { return _M_lambda; } friend bool operator==(const param_type& __p1, const param_type& __p2) { return __p1._M_lambda == __p2._M_lambda; } private: _RealType _M_lambda; }; public: explicit exponential_distribution(const result_type& __lambda = result_type(1)) : _M_param(__lambda) { } explicit exponential_distribution(const param_type& __p) : _M_param(__p) { } void reset() { } _RealType lambda() const { return _M_param.lambda(); } param_type param() const { return _M_param; } void param(const param_type& __param) { _M_param = __param; } result_type min() const { return result_type(0); } result_type max() const { return std::numeric_limits::max(); } template result_type operator()(_UniformRandomNumberGenerator& __urng) { return this->operator()(__urng, _M_param); } template result_type operator()(_UniformRandomNumberGenerator& __urng, const param_type& __p) { __detail::_Adaptor<_UniformRandomNumberGenerator, result_type> __aurng(__urng); return -std::log(result_type(1) - __aurng()) / __p.lambda(); } template void __generate(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng) { this->__generate(__f, __t, __urng, _M_param); } template void __generate(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng, const param_type& __p) { this->__generate_impl(__f, __t, __urng, __p); } template void __generate(result_type* __f, result_type* __t, _UniformRandomNumberGenerator& __urng, const param_type& __p) { this->__generate_impl(__f, __t, __urng, __p); } friend bool operator==(const exponential_distribution& __d1, const exponential_distribution& __d2) { return __d1._M_param == __d2._M_param; } private: template void __generate_impl(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng, const param_type& __p); param_type _M_param; }; template inline bool operator!=(const std::exponential_distribution<_RealType>& __d1, const std::exponential_distribution<_RealType>& __d2) { return !(__d1 == __d2); } # 4816 "/usr/include/c++/5.0.0/bits/random.h" 3 template std::basic_ostream<_CharT, _Traits>& operator<<(std::basic_ostream<_CharT, _Traits>& __os, const std::exponential_distribution<_RealType>& __x); # 4831 "/usr/include/c++/5.0.0/bits/random.h" 3 template std::basic_istream<_CharT, _Traits>& operator>>(std::basic_istream<_CharT, _Traits>& __is, std::exponential_distribution<_RealType>& __x); # 4846 "/usr/include/c++/5.0.0/bits/random.h" 3 template class weibull_distribution { static_assert(std::is_floating_point<_RealType>::value, "template argument not a floating point type"); public: typedef _RealType result_type; struct param_type { typedef weibull_distribution<_RealType> distribution_type; explicit param_type(_RealType __a = _RealType(1), _RealType __b = _RealType(1)) : _M_a(__a), _M_b(__b) { } _RealType a() const { return _M_a; } _RealType b() const { return _M_b; } friend bool operator==(const param_type& __p1, const param_type& __p2) { return __p1._M_a == __p2._M_a && __p1._M_b == __p2._M_b; } private: _RealType _M_a; _RealType _M_b; }; explicit weibull_distribution(_RealType __a = _RealType(1), _RealType __b = _RealType(1)) : _M_param(__a, __b) { } explicit weibull_distribution(const param_type& __p) : _M_param(__p) { } void reset() { } _RealType a() const { return _M_param.a(); } _RealType b() const { return _M_param.b(); } param_type param() const { return _M_param; } void param(const param_type& __param) { _M_param = __param; } result_type min() const { return result_type(0); } result_type max() const { return std::numeric_limits::max(); } template result_type operator()(_UniformRandomNumberGenerator& __urng) { return this->operator()(__urng, _M_param); } template result_type operator()(_UniformRandomNumberGenerator& __urng, const param_type& __p); template void __generate(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng) { this->__generate(__f, __t, __urng, _M_param); } template void __generate(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng, const param_type& __p) { this->__generate_impl(__f, __t, __urng, __p); } template void __generate(result_type* __f, result_type* __t, _UniformRandomNumberGenerator& __urng, const param_type& __p) { this->__generate_impl(__f, __t, __urng, __p); } friend bool operator==(const weibull_distribution& __d1, const weibull_distribution& __d2) { return __d1._M_param == __d2._M_param; } private: template void __generate_impl(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng, const param_type& __p); param_type _M_param; }; template inline bool operator!=(const std::weibull_distribution<_RealType>& __d1, const std::weibull_distribution<_RealType>& __d2) { return !(__d1 == __d2); } # 5019 "/usr/include/c++/5.0.0/bits/random.h" 3 template std::basic_ostream<_CharT, _Traits>& operator<<(std::basic_ostream<_CharT, _Traits>& __os, const std::weibull_distribution<_RealType>& __x); # 5034 "/usr/include/c++/5.0.0/bits/random.h" 3 template std::basic_istream<_CharT, _Traits>& operator>>(std::basic_istream<_CharT, _Traits>& __is, std::weibull_distribution<_RealType>& __x); # 5049 "/usr/include/c++/5.0.0/bits/random.h" 3 template class extreme_value_distribution { static_assert(std::is_floating_point<_RealType>::value, "template argument not a floating point type"); public: typedef _RealType result_type; struct param_type { typedef extreme_value_distribution<_RealType> distribution_type; explicit param_type(_RealType __a = _RealType(0), _RealType __b = _RealType(1)) : _M_a(__a), _M_b(__b) { } _RealType a() const { return _M_a; } _RealType b() const { return _M_b; } friend bool operator==(const param_type& __p1, const param_type& __p2) { return __p1._M_a == __p2._M_a && __p1._M_b == __p2._M_b; } private: _RealType _M_a; _RealType _M_b; }; explicit extreme_value_distribution(_RealType __a = _RealType(0), _RealType __b = _RealType(1)) : _M_param(__a, __b) { } explicit extreme_value_distribution(const param_type& __p) : _M_param(__p) { } void reset() { } _RealType a() const { return _M_param.a(); } _RealType b() const { return _M_param.b(); } param_type param() const { return _M_param; } void param(const param_type& __param) { _M_param = __param; } result_type min() const { return std::numeric_limits::lowest(); } result_type max() const { return std::numeric_limits::max(); } template result_type operator()(_UniformRandomNumberGenerator& __urng) { return this->operator()(__urng, _M_param); } template result_type operator()(_UniformRandomNumberGenerator& __urng, const param_type& __p); template void __generate(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng) { this->__generate(__f, __t, __urng, _M_param); } template void __generate(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng, const param_type& __p) { this->__generate_impl(__f, __t, __urng, __p); } template void __generate(result_type* __f, result_type* __t, _UniformRandomNumberGenerator& __urng, const param_type& __p) { this->__generate_impl(__f, __t, __urng, __p); } friend bool operator==(const extreme_value_distribution& __d1, const extreme_value_distribution& __d2) { return __d1._M_param == __d2._M_param; } private: template void __generate_impl(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng, const param_type& __p); param_type _M_param; }; template inline bool operator!=(const std::extreme_value_distribution<_RealType>& __d1, const std::extreme_value_distribution<_RealType>& __d2) { return !(__d1 == __d2); } # 5222 "/usr/include/c++/5.0.0/bits/random.h" 3 template std::basic_ostream<_CharT, _Traits>& operator<<(std::basic_ostream<_CharT, _Traits>& __os, const std::extreme_value_distribution<_RealType>& __x); # 5237 "/usr/include/c++/5.0.0/bits/random.h" 3 template std::basic_istream<_CharT, _Traits>& operator>>(std::basic_istream<_CharT, _Traits>& __is, std::extreme_value_distribution<_RealType>& __x); # 5249 "/usr/include/c++/5.0.0/bits/random.h" 3 template class discrete_distribution { static_assert(std::is_integral<_IntType>::value, "template argument not an integral type"); public: typedef _IntType result_type; struct param_type { typedef discrete_distribution<_IntType> distribution_type; friend class discrete_distribution<_IntType>; param_type() : _M_prob(), _M_cp() { } template param_type(_InputIterator __wbegin, _InputIterator __wend) : _M_prob(__wbegin, __wend), _M_cp() { _M_initialize(); } param_type(initializer_list __wil) : _M_prob(__wil.begin(), __wil.end()), _M_cp() { _M_initialize(); } template param_type(size_t __nw, double __xmin, double __xmax, _Func __fw); param_type(const param_type&) = default; param_type& operator=(const param_type&) = default; std::vector probabilities() const { return _M_prob.empty() ? std::vector(1, 1.0) : _M_prob; } friend bool operator==(const param_type& __p1, const param_type& __p2) { return __p1._M_prob == __p2._M_prob; } private: void _M_initialize(); std::vector _M_prob; std::vector _M_cp; }; discrete_distribution() : _M_param() { } template discrete_distribution(_InputIterator __wbegin, _InputIterator __wend) : _M_param(__wbegin, __wend) { } discrete_distribution(initializer_list __wl) : _M_param(__wl) { } template discrete_distribution(size_t __nw, double __xmin, double __xmax, _Func __fw) : _M_param(__nw, __xmin, __xmax, __fw) { } explicit discrete_distribution(const param_type& __p) : _M_param(__p) { } void reset() { } std::vector probabilities() const { return _M_param._M_prob.empty() ? std::vector(1, 1.0) : _M_param._M_prob; } param_type param() const { return _M_param; } void param(const param_type& __param) { _M_param = __param; } result_type min() const { return result_type(0); } result_type max() const { return _M_param._M_prob.empty() ? result_type(0) : result_type(_M_param._M_prob.size() - 1); } template result_type operator()(_UniformRandomNumberGenerator& __urng) { return this->operator()(__urng, _M_param); } template result_type operator()(_UniformRandomNumberGenerator& __urng, const param_type& __p); template void __generate(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng) { this->__generate(__f, __t, __urng, _M_param); } template void __generate(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng, const param_type& __p) { this->__generate_impl(__f, __t, __urng, __p); } template void __generate(result_type* __f, result_type* __t, _UniformRandomNumberGenerator& __urng, const param_type& __p) { this->__generate_impl(__f, __t, __urng, __p); } friend bool operator==(const discrete_distribution& __d1, const discrete_distribution& __d2) { return __d1._M_param == __d2._M_param; } # 5430 "/usr/include/c++/5.0.0/bits/random.h" 3 template friend std::basic_ostream<_CharT, _Traits>& operator<<(std::basic_ostream<_CharT, _Traits>& __os, const std::discrete_distribution<_IntType1>& __x); # 5446 "/usr/include/c++/5.0.0/bits/random.h" 3 template friend std::basic_istream<_CharT, _Traits>& operator>>(std::basic_istream<_CharT, _Traits>& __is, std::discrete_distribution<_IntType1>& __x); private: template void __generate_impl(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng, const param_type& __p); param_type _M_param; }; template inline bool operator!=(const std::discrete_distribution<_IntType>& __d1, const std::discrete_distribution<_IntType>& __d2) { return !(__d1 == __d2); } # 5479 "/usr/include/c++/5.0.0/bits/random.h" 3 template class piecewise_constant_distribution { static_assert(std::is_floating_point<_RealType>::value, "template argument not a floating point type"); public: typedef _RealType result_type; struct param_type { typedef piecewise_constant_distribution<_RealType> distribution_type; friend class piecewise_constant_distribution<_RealType>; param_type() : _M_int(), _M_den(), _M_cp() { } template param_type(_InputIteratorB __bfirst, _InputIteratorB __bend, _InputIteratorW __wbegin); template param_type(initializer_list<_RealType> __bi, _Func __fw); template param_type(size_t __nw, _RealType __xmin, _RealType __xmax, _Func __fw); param_type(const param_type&) = default; param_type& operator=(const param_type&) = default; std::vector<_RealType> intervals() const { if (_M_int.empty()) { std::vector<_RealType> __tmp(2); __tmp[1] = _RealType(1); return __tmp; } else return _M_int; } std::vector densities() const { return _M_den.empty() ? std::vector(1, 1.0) : _M_den; } friend bool operator==(const param_type& __p1, const param_type& __p2) { return __p1._M_int == __p2._M_int && __p1._M_den == __p2._M_den; } private: void _M_initialize(); std::vector<_RealType> _M_int; std::vector _M_den; std::vector _M_cp; }; explicit piecewise_constant_distribution() : _M_param() { } template piecewise_constant_distribution(_InputIteratorB __bfirst, _InputIteratorB __bend, _InputIteratorW __wbegin) : _M_param(__bfirst, __bend, __wbegin) { } template piecewise_constant_distribution(initializer_list<_RealType> __bl, _Func __fw) : _M_param(__bl, __fw) { } template piecewise_constant_distribution(size_t __nw, _RealType __xmin, _RealType __xmax, _Func __fw) : _M_param(__nw, __xmin, __xmax, __fw) { } explicit piecewise_constant_distribution(const param_type& __p) : _M_param(__p) { } void reset() { } std::vector<_RealType> intervals() const { if (_M_param._M_int.empty()) { std::vector<_RealType> __tmp(2); __tmp[1] = _RealType(1); return __tmp; } else return _M_param._M_int; } std::vector densities() const { return _M_param._M_den.empty() ? std::vector(1, 1.0) : _M_param._M_den; } param_type param() const { return _M_param; } void param(const param_type& __param) { _M_param = __param; } result_type min() const { return _M_param._M_int.empty() ? result_type(0) : _M_param._M_int.front(); } result_type max() const { return _M_param._M_int.empty() ? result_type(1) : _M_param._M_int.back(); } template result_type operator()(_UniformRandomNumberGenerator& __urng) { return this->operator()(__urng, _M_param); } template result_type operator()(_UniformRandomNumberGenerator& __urng, const param_type& __p); template void __generate(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng) { this->__generate(__f, __t, __urng, _M_param); } template void __generate(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng, const param_type& __p) { this->__generate_impl(__f, __t, __urng, __p); } template void __generate(result_type* __f, result_type* __t, _UniformRandomNumberGenerator& __urng, const param_type& __p) { this->__generate_impl(__f, __t, __urng, __p); } friend bool operator==(const piecewise_constant_distribution& __d1, const piecewise_constant_distribution& __d2) { return __d1._M_param == __d2._M_param; } # 5697 "/usr/include/c++/5.0.0/bits/random.h" 3 template friend std::basic_ostream<_CharT, _Traits>& operator<<(std::basic_ostream<_CharT, _Traits>& __os, const std::piecewise_constant_distribution<_RealType1>& __x); # 5713 "/usr/include/c++/5.0.0/bits/random.h" 3 template friend std::basic_istream<_CharT, _Traits>& operator>>(std::basic_istream<_CharT, _Traits>& __is, std::piecewise_constant_distribution<_RealType1>& __x); private: template void __generate_impl(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng, const param_type& __p); param_type _M_param; }; template inline bool operator!=(const std::piecewise_constant_distribution<_RealType>& __d1, const std::piecewise_constant_distribution<_RealType>& __d2) { return !(__d1 == __d2); } # 5746 "/usr/include/c++/5.0.0/bits/random.h" 3 template class piecewise_linear_distribution { static_assert(std::is_floating_point<_RealType>::value, "template argument not a floating point type"); public: typedef _RealType result_type; struct param_type { typedef piecewise_linear_distribution<_RealType> distribution_type; friend class piecewise_linear_distribution<_RealType>; param_type() : _M_int(), _M_den(), _M_cp(), _M_m() { } template param_type(_InputIteratorB __bfirst, _InputIteratorB __bend, _InputIteratorW __wbegin); template param_type(initializer_list<_RealType> __bl, _Func __fw); template param_type(size_t __nw, _RealType __xmin, _RealType __xmax, _Func __fw); param_type(const param_type&) = default; param_type& operator=(const param_type&) = default; std::vector<_RealType> intervals() const { if (_M_int.empty()) { std::vector<_RealType> __tmp(2); __tmp[1] = _RealType(1); return __tmp; } else return _M_int; } std::vector densities() const { return _M_den.empty() ? std::vector(2, 1.0) : _M_den; } friend bool operator==(const param_type& __p1, const param_type& __p2) { return (__p1._M_int == __p2._M_int && __p1._M_den == __p2._M_den); } private: void _M_initialize(); std::vector<_RealType> _M_int; std::vector _M_den; std::vector _M_cp; std::vector _M_m; }; explicit piecewise_linear_distribution() : _M_param() { } template piecewise_linear_distribution(_InputIteratorB __bfirst, _InputIteratorB __bend, _InputIteratorW __wbegin) : _M_param(__bfirst, __bend, __wbegin) { } template piecewise_linear_distribution(initializer_list<_RealType> __bl, _Func __fw) : _M_param(__bl, __fw) { } template piecewise_linear_distribution(size_t __nw, _RealType __xmin, _RealType __xmax, _Func __fw) : _M_param(__nw, __xmin, __xmax, __fw) { } explicit piecewise_linear_distribution(const param_type& __p) : _M_param(__p) { } void reset() { } std::vector<_RealType> intervals() const { if (_M_param._M_int.empty()) { std::vector<_RealType> __tmp(2); __tmp[1] = _RealType(1); return __tmp; } else return _M_param._M_int; } std::vector densities() const { return _M_param._M_den.empty() ? std::vector(2, 1.0) : _M_param._M_den; } param_type param() const { return _M_param; } void param(const param_type& __param) { _M_param = __param; } result_type min() const { return _M_param._M_int.empty() ? result_type(0) : _M_param._M_int.front(); } result_type max() const { return _M_param._M_int.empty() ? result_type(1) : _M_param._M_int.back(); } template result_type operator()(_UniformRandomNumberGenerator& __urng) { return this->operator()(__urng, _M_param); } template result_type operator()(_UniformRandomNumberGenerator& __urng, const param_type& __p); template void __generate(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng) { this->__generate(__f, __t, __urng, _M_param); } template void __generate(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng, const param_type& __p) { this->__generate_impl(__f, __t, __urng, __p); } template void __generate(result_type* __f, result_type* __t, _UniformRandomNumberGenerator& __urng, const param_type& __p) { this->__generate_impl(__f, __t, __urng, __p); } friend bool operator==(const piecewise_linear_distribution& __d1, const piecewise_linear_distribution& __d2) { return __d1._M_param == __d2._M_param; } # 5967 "/usr/include/c++/5.0.0/bits/random.h" 3 template friend std::basic_ostream<_CharT, _Traits>& operator<<(std::basic_ostream<_CharT, _Traits>& __os, const std::piecewise_linear_distribution<_RealType1>& __x); # 5983 "/usr/include/c++/5.0.0/bits/random.h" 3 template friend std::basic_istream<_CharT, _Traits>& operator>>(std::basic_istream<_CharT, _Traits>& __is, std::piecewise_linear_distribution<_RealType1>& __x); private: template void __generate_impl(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng, const param_type& __p); param_type _M_param; }; template inline bool operator!=(const std::piecewise_linear_distribution<_RealType>& __d1, const std::piecewise_linear_distribution<_RealType>& __d2) { return !(__d1 == __d2); } # 6024 "/usr/include/c++/5.0.0/bits/random.h" 3 class seed_seq { public: typedef uint_least32_t result_type; seed_seq() : _M_v() { } template seed_seq(std::initializer_list<_IntType> il); template seed_seq(_InputIterator __begin, _InputIterator __end); template void generate(_RandomAccessIterator __begin, _RandomAccessIterator __end); size_t size() const { return _M_v.size(); } template void param(OutputIterator __dest) const { std::copy(_M_v.begin(), _M_v.end(), __dest); } private: std::vector _M_v; }; } # 50 "/usr/include/c++/5.0.0/random" 2 3 # 1 "/usr/include/c++/5.0.0/i686-redhat-linux/bits/opt_random.h" 1 3 # 33 "/usr/include/c++/5.0.0/i686-redhat-linux/bits/opt_random.h" 3 # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/x86intrin.h" 1 3 4 # 27 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/x86intrin.h" 3 4 # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/ia32intrin.h" 1 3 4 # 29 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/ia32intrin.h" 3 4 extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __bsfd (int __X) { return __builtin_ctz (__X); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __bsrd (int __X) { return __builtin_ia32_bsrsi (__X); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __bswapd (int __X) { return __builtin_bswap32 (__X); } #pragma GCC push_options #pragma GCC target("sse4.2") extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __crc32b (unsigned int __C, unsigned char __V) { return __builtin_ia32_crc32qi (__C, __V); } extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __crc32w (unsigned int __C, unsigned short __V) { return __builtin_ia32_crc32hi (__C, __V); } extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __crc32d (unsigned int __C, unsigned int __V) { return __builtin_ia32_crc32si (__C, __V); } #pragma GCC pop_options extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __popcntd (unsigned int __X) { return __builtin_popcount (__X); } extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __rdpmc (int __S) { return __builtin_ia32_rdpmc (__S); } extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __rdtsc (void) { return __builtin_ia32_rdtsc (); } extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __rdtscp (unsigned int *__A) { return __builtin_ia32_rdtscp (__A); } extern __inline unsigned char __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __rolb (unsigned char __X, int __C) { return __builtin_ia32_rolqi (__X, __C); } extern __inline unsigned short __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __rolw (unsigned short __X, int __C) { return __builtin_ia32_rolhi (__X, __C); } extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __rold (unsigned int __X, int __C) { return (__X << __C) | (__X >> (32 - __C)); } extern __inline unsigned char __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __rorb (unsigned char __X, int __C) { return __builtin_ia32_rorqi (__X, __C); } extern __inline unsigned short __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __rorw (unsigned short __X, int __C) { return __builtin_ia32_rorhi (__X, __C); } extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __rord (unsigned int __X, int __C) { return (__X >> __C) | (__X << (32 - __C)); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __pause (void) { __builtin_ia32_pause (); } # 262 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/ia32intrin.h" 3 4 extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __readeflags (void) { return __builtin_ia32_readeflags_u32 (); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __writeeflags (unsigned int X) { __builtin_ia32_writeeflags_u32 (X); } # 28 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/x86intrin.h" 2 3 4 # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/mmintrin.h" 1 3 4 # 31 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/mmintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("mmx") typedef int __m64 __attribute__ ((__vector_size__ (8), __may_alias__)); typedef int __v2si __attribute__ ((__vector_size__ (8))); typedef short __v4hi __attribute__ ((__vector_size__ (8))); typedef char __v8qi __attribute__ ((__vector_size__ (8))); typedef long long __v1di __attribute__ ((__vector_size__ (8))); typedef float __v2sf __attribute__ ((__vector_size__ (8))); extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_empty (void) { __builtin_ia32_emms (); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_empty (void) { _mm_empty (); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtsi32_si64 (int __i) { return (__m64) __builtin_ia32_vec_init_v2si (__i, 0); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_from_int (int __i) { return _mm_cvtsi32_si64 (__i); } # 104 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/mmintrin.h" 3 4 extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtsi64_si32 (__m64 __i) { return __builtin_ia32_vec_ext_v2si ((__v2si)__i, 0); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_to_int (__m64 __i) { return _mm_cvtsi64_si32 (__i); } # 143 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/mmintrin.h" 3 4 extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_packs_pi16 (__m64 __m1, __m64 __m2) { return (__m64) __builtin_ia32_packsswb ((__v4hi)__m1, (__v4hi)__m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_packsswb (__m64 __m1, __m64 __m2) { return _mm_packs_pi16 (__m1, __m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_packs_pi32 (__m64 __m1, __m64 __m2) { return (__m64) __builtin_ia32_packssdw ((__v2si)__m1, (__v2si)__m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_packssdw (__m64 __m1, __m64 __m2) { return _mm_packs_pi32 (__m1, __m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_packs_pu16 (__m64 __m1, __m64 __m2) { return (__m64) __builtin_ia32_packuswb ((__v4hi)__m1, (__v4hi)__m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_packuswb (__m64 __m1, __m64 __m2) { return _mm_packs_pu16 (__m1, __m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_unpackhi_pi8 (__m64 __m1, __m64 __m2) { return (__m64) __builtin_ia32_punpckhbw ((__v8qi)__m1, (__v8qi)__m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_punpckhbw (__m64 __m1, __m64 __m2) { return _mm_unpackhi_pi8 (__m1, __m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_unpackhi_pi16 (__m64 __m1, __m64 __m2) { return (__m64) __builtin_ia32_punpckhwd ((__v4hi)__m1, (__v4hi)__m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_punpckhwd (__m64 __m1, __m64 __m2) { return _mm_unpackhi_pi16 (__m1, __m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_unpackhi_pi32 (__m64 __m1, __m64 __m2) { return (__m64) __builtin_ia32_punpckhdq ((__v2si)__m1, (__v2si)__m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_punpckhdq (__m64 __m1, __m64 __m2) { return _mm_unpackhi_pi32 (__m1, __m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_unpacklo_pi8 (__m64 __m1, __m64 __m2) { return (__m64) __builtin_ia32_punpcklbw ((__v8qi)__m1, (__v8qi)__m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_punpcklbw (__m64 __m1, __m64 __m2) { return _mm_unpacklo_pi8 (__m1, __m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_unpacklo_pi16 (__m64 __m1, __m64 __m2) { return (__m64) __builtin_ia32_punpcklwd ((__v4hi)__m1, (__v4hi)__m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_punpcklwd (__m64 __m1, __m64 __m2) { return _mm_unpacklo_pi16 (__m1, __m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_unpacklo_pi32 (__m64 __m1, __m64 __m2) { return (__m64) __builtin_ia32_punpckldq ((__v2si)__m1, (__v2si)__m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_punpckldq (__m64 __m1, __m64 __m2) { return _mm_unpacklo_pi32 (__m1, __m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_add_pi8 (__m64 __m1, __m64 __m2) { return (__m64) __builtin_ia32_paddb ((__v8qi)__m1, (__v8qi)__m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_paddb (__m64 __m1, __m64 __m2) { return _mm_add_pi8 (__m1, __m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_add_pi16 (__m64 __m1, __m64 __m2) { return (__m64) __builtin_ia32_paddw ((__v4hi)__m1, (__v4hi)__m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_paddw (__m64 __m1, __m64 __m2) { return _mm_add_pi16 (__m1, __m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_add_pi32 (__m64 __m1, __m64 __m2) { return (__m64) __builtin_ia32_paddd ((__v2si)__m1, (__v2si)__m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_paddd (__m64 __m1, __m64 __m2) { return _mm_add_pi32 (__m1, __m2); } #pragma GCC push_options #pragma GCC target("sse2") extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_add_si64 (__m64 __m1, __m64 __m2) { return (__m64) __builtin_ia32_paddq ((__v1di)__m1, (__v1di)__m2); } #pragma GCC pop_options extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_adds_pi8 (__m64 __m1, __m64 __m2) { return (__m64) __builtin_ia32_paddsb ((__v8qi)__m1, (__v8qi)__m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_paddsb (__m64 __m1, __m64 __m2) { return _mm_adds_pi8 (__m1, __m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_adds_pi16 (__m64 __m1, __m64 __m2) { return (__m64) __builtin_ia32_paddsw ((__v4hi)__m1, (__v4hi)__m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_paddsw (__m64 __m1, __m64 __m2) { return _mm_adds_pi16 (__m1, __m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_adds_pu8 (__m64 __m1, __m64 __m2) { return (__m64) __builtin_ia32_paddusb ((__v8qi)__m1, (__v8qi)__m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_paddusb (__m64 __m1, __m64 __m2) { return _mm_adds_pu8 (__m1, __m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_adds_pu16 (__m64 __m1, __m64 __m2) { return (__m64) __builtin_ia32_paddusw ((__v4hi)__m1, (__v4hi)__m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_paddusw (__m64 __m1, __m64 __m2) { return _mm_adds_pu16 (__m1, __m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_sub_pi8 (__m64 __m1, __m64 __m2) { return (__m64) __builtin_ia32_psubb ((__v8qi)__m1, (__v8qi)__m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_psubb (__m64 __m1, __m64 __m2) { return _mm_sub_pi8 (__m1, __m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_sub_pi16 (__m64 __m1, __m64 __m2) { return (__m64) __builtin_ia32_psubw ((__v4hi)__m1, (__v4hi)__m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_psubw (__m64 __m1, __m64 __m2) { return _mm_sub_pi16 (__m1, __m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_sub_pi32 (__m64 __m1, __m64 __m2) { return (__m64) __builtin_ia32_psubd ((__v2si)__m1, (__v2si)__m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_psubd (__m64 __m1, __m64 __m2) { return _mm_sub_pi32 (__m1, __m2); } #pragma GCC push_options #pragma GCC target("sse2") extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_sub_si64 (__m64 __m1, __m64 __m2) { return (__m64) __builtin_ia32_psubq ((__v1di)__m1, (__v1di)__m2); } #pragma GCC pop_options extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_subs_pi8 (__m64 __m1, __m64 __m2) { return (__m64) __builtin_ia32_psubsb ((__v8qi)__m1, (__v8qi)__m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_psubsb (__m64 __m1, __m64 __m2) { return _mm_subs_pi8 (__m1, __m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_subs_pi16 (__m64 __m1, __m64 __m2) { return (__m64) __builtin_ia32_psubsw ((__v4hi)__m1, (__v4hi)__m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_psubsw (__m64 __m1, __m64 __m2) { return _mm_subs_pi16 (__m1, __m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_subs_pu8 (__m64 __m1, __m64 __m2) { return (__m64) __builtin_ia32_psubusb ((__v8qi)__m1, (__v8qi)__m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_psubusb (__m64 __m1, __m64 __m2) { return _mm_subs_pu8 (__m1, __m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_subs_pu16 (__m64 __m1, __m64 __m2) { return (__m64) __builtin_ia32_psubusw ((__v4hi)__m1, (__v4hi)__m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_psubusw (__m64 __m1, __m64 __m2) { return _mm_subs_pu16 (__m1, __m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_madd_pi16 (__m64 __m1, __m64 __m2) { return (__m64) __builtin_ia32_pmaddwd ((__v4hi)__m1, (__v4hi)__m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_pmaddwd (__m64 __m1, __m64 __m2) { return _mm_madd_pi16 (__m1, __m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_mulhi_pi16 (__m64 __m1, __m64 __m2) { return (__m64) __builtin_ia32_pmulhw ((__v4hi)__m1, (__v4hi)__m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_pmulhw (__m64 __m1, __m64 __m2) { return _mm_mulhi_pi16 (__m1, __m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_mullo_pi16 (__m64 __m1, __m64 __m2) { return (__m64) __builtin_ia32_pmullw ((__v4hi)__m1, (__v4hi)__m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_pmullw (__m64 __m1, __m64 __m2) { return _mm_mullo_pi16 (__m1, __m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_sll_pi16 (__m64 __m, __m64 __count) { return (__m64) __builtin_ia32_psllw ((__v4hi)__m, (__v4hi)__count); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_psllw (__m64 __m, __m64 __count) { return _mm_sll_pi16 (__m, __count); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_slli_pi16 (__m64 __m, int __count) { return (__m64) __builtin_ia32_psllwi ((__v4hi)__m, __count); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_psllwi (__m64 __m, int __count) { return _mm_slli_pi16 (__m, __count); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_sll_pi32 (__m64 __m, __m64 __count) { return (__m64) __builtin_ia32_pslld ((__v2si)__m, (__v2si)__count); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_pslld (__m64 __m, __m64 __count) { return _mm_sll_pi32 (__m, __count); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_slli_pi32 (__m64 __m, int __count) { return (__m64) __builtin_ia32_pslldi ((__v2si)__m, __count); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_pslldi (__m64 __m, int __count) { return _mm_slli_pi32 (__m, __count); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_sll_si64 (__m64 __m, __m64 __count) { return (__m64) __builtin_ia32_psllq ((__v1di)__m, (__v1di)__count); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_psllq (__m64 __m, __m64 __count) { return _mm_sll_si64 (__m, __count); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_slli_si64 (__m64 __m, int __count) { return (__m64) __builtin_ia32_psllqi ((__v1di)__m, __count); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_psllqi (__m64 __m, int __count) { return _mm_slli_si64 (__m, __count); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_sra_pi16 (__m64 __m, __m64 __count) { return (__m64) __builtin_ia32_psraw ((__v4hi)__m, (__v4hi)__count); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_psraw (__m64 __m, __m64 __count) { return _mm_sra_pi16 (__m, __count); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_srai_pi16 (__m64 __m, int __count) { return (__m64) __builtin_ia32_psrawi ((__v4hi)__m, __count); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_psrawi (__m64 __m, int __count) { return _mm_srai_pi16 (__m, __count); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_sra_pi32 (__m64 __m, __m64 __count) { return (__m64) __builtin_ia32_psrad ((__v2si)__m, (__v2si)__count); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_psrad (__m64 __m, __m64 __count) { return _mm_sra_pi32 (__m, __count); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_srai_pi32 (__m64 __m, int __count) { return (__m64) __builtin_ia32_psradi ((__v2si)__m, __count); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_psradi (__m64 __m, int __count) { return _mm_srai_pi32 (__m, __count); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_srl_pi16 (__m64 __m, __m64 __count) { return (__m64) __builtin_ia32_psrlw ((__v4hi)__m, (__v4hi)__count); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_psrlw (__m64 __m, __m64 __count) { return _mm_srl_pi16 (__m, __count); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_srli_pi16 (__m64 __m, int __count) { return (__m64) __builtin_ia32_psrlwi ((__v4hi)__m, __count); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_psrlwi (__m64 __m, int __count) { return _mm_srli_pi16 (__m, __count); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_srl_pi32 (__m64 __m, __m64 __count) { return (__m64) __builtin_ia32_psrld ((__v2si)__m, (__v2si)__count); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_psrld (__m64 __m, __m64 __count) { return _mm_srl_pi32 (__m, __count); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_srli_pi32 (__m64 __m, int __count) { return (__m64) __builtin_ia32_psrldi ((__v2si)__m, __count); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_psrldi (__m64 __m, int __count) { return _mm_srli_pi32 (__m, __count); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_srl_si64 (__m64 __m, __m64 __count) { return (__m64) __builtin_ia32_psrlq ((__v1di)__m, (__v1di)__count); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_psrlq (__m64 __m, __m64 __count) { return _mm_srl_si64 (__m, __count); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_srli_si64 (__m64 __m, int __count) { return (__m64) __builtin_ia32_psrlqi ((__v1di)__m, __count); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_psrlqi (__m64 __m, int __count) { return _mm_srli_si64 (__m, __count); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_and_si64 (__m64 __m1, __m64 __m2) { return __builtin_ia32_pand (__m1, __m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_pand (__m64 __m1, __m64 __m2) { return _mm_and_si64 (__m1, __m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_andnot_si64 (__m64 __m1, __m64 __m2) { return __builtin_ia32_pandn (__m1, __m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_pandn (__m64 __m1, __m64 __m2) { return _mm_andnot_si64 (__m1, __m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_or_si64 (__m64 __m1, __m64 __m2) { return __builtin_ia32_por (__m1, __m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_por (__m64 __m1, __m64 __m2) { return _mm_or_si64 (__m1, __m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_xor_si64 (__m64 __m1, __m64 __m2) { return __builtin_ia32_pxor (__m1, __m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_pxor (__m64 __m1, __m64 __m2) { return _mm_xor_si64 (__m1, __m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpeq_pi8 (__m64 __m1, __m64 __m2) { return (__m64) __builtin_ia32_pcmpeqb ((__v8qi)__m1, (__v8qi)__m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_pcmpeqb (__m64 __m1, __m64 __m2) { return _mm_cmpeq_pi8 (__m1, __m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpgt_pi8 (__m64 __m1, __m64 __m2) { return (__m64) __builtin_ia32_pcmpgtb ((__v8qi)__m1, (__v8qi)__m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_pcmpgtb (__m64 __m1, __m64 __m2) { return _mm_cmpgt_pi8 (__m1, __m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpeq_pi16 (__m64 __m1, __m64 __m2) { return (__m64) __builtin_ia32_pcmpeqw ((__v4hi)__m1, (__v4hi)__m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_pcmpeqw (__m64 __m1, __m64 __m2) { return _mm_cmpeq_pi16 (__m1, __m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpgt_pi16 (__m64 __m1, __m64 __m2) { return (__m64) __builtin_ia32_pcmpgtw ((__v4hi)__m1, (__v4hi)__m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_pcmpgtw (__m64 __m1, __m64 __m2) { return _mm_cmpgt_pi16 (__m1, __m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpeq_pi32 (__m64 __m1, __m64 __m2) { return (__m64) __builtin_ia32_pcmpeqd ((__v2si)__m1, (__v2si)__m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_pcmpeqd (__m64 __m1, __m64 __m2) { return _mm_cmpeq_pi32 (__m1, __m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpgt_pi32 (__m64 __m1, __m64 __m2) { return (__m64) __builtin_ia32_pcmpgtd ((__v2si)__m1, (__v2si)__m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_pcmpgtd (__m64 __m1, __m64 __m2) { return _mm_cmpgt_pi32 (__m1, __m2); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_setzero_si64 (void) { return (__m64)0LL; } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_set_pi32 (int __i1, int __i0) { return (__m64) __builtin_ia32_vec_init_v2si (__i0, __i1); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_set_pi16 (short __w3, short __w2, short __w1, short __w0) { return (__m64) __builtin_ia32_vec_init_v4hi (__w0, __w1, __w2, __w3); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_set_pi8 (char __b7, char __b6, char __b5, char __b4, char __b3, char __b2, char __b1, char __b0) { return (__m64) __builtin_ia32_vec_init_v8qi (__b0, __b1, __b2, __b3, __b4, __b5, __b6, __b7); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_setr_pi32 (int __i0, int __i1) { return _mm_set_pi32 (__i1, __i0); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_setr_pi16 (short __w0, short __w1, short __w2, short __w3) { return _mm_set_pi16 (__w3, __w2, __w1, __w0); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_setr_pi8 (char __b0, char __b1, char __b2, char __b3, char __b4, char __b5, char __b6, char __b7) { return _mm_set_pi8 (__b7, __b6, __b5, __b4, __b3, __b2, __b1, __b0); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_set1_pi32 (int __i) { return _mm_set_pi32 (__i, __i); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_set1_pi16 (short __w) { return _mm_set_pi16 (__w, __w, __w, __w); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_set1_pi8 (char __b) { return _mm_set_pi8 (__b, __b, __b, __b, __b, __b, __b, __b); } #pragma GCC pop_options # 30 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/x86intrin.h" 2 3 4 # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/xmmintrin.h" 1 3 4 # 34 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/xmmintrin.h" 3 4 # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/mm_malloc.h" 1 3 4 # 27 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/mm_malloc.h" 3 4 # 1 "../../../dist/system_wrappers/stdlib.h" 1 3 4 # 2 "../../../dist/system_wrappers/stdlib.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 28 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/mm_malloc.h" 2 3 4 extern "C" int posix_memalign (void **, size_t, size_t) throw (); static __inline void * _mm_malloc (size_t size, size_t alignment) { void *ptr; if (alignment == 1) return malloc (size); if (alignment == 2 || (sizeof (void *) == 8 && alignment == 4)) alignment = sizeof (void *); if (posix_memalign (&ptr, alignment, size) == 0) return ptr; else return __null; } static __inline void _mm_free (void * ptr) { free (ptr); } # 35 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/xmmintrin.h" 2 3 4 enum _mm_hint { _MM_HINT_ET0 = 7, _MM_HINT_ET1 = 6, _MM_HINT_T0 = 3, _MM_HINT_T1 = 2, _MM_HINT_T2 = 1, _MM_HINT_NTA = 0 }; extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_prefetch (const void *__P, enum _mm_hint __I) { __builtin_prefetch (__P, (__I & 0x4) >> 2, __I & 0x3); } #pragma GCC push_options #pragma GCC target("sse") typedef float __m128 __attribute__ ((__vector_size__ (16), __may_alias__)); typedef float __v4sf __attribute__ ((__vector_size__ (16))); # 106 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/xmmintrin.h" 3 4 extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_undefined_ps (void) { __m128 __Y = __Y; return __Y; } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_setzero_ps (void) { return __extension__ (__m128){ 0.0f, 0.0f, 0.0f, 0.0f }; } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_add_ss (__m128 __A, __m128 __B) { return (__m128) __builtin_ia32_addss ((__v4sf)__A, (__v4sf)__B); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_sub_ss (__m128 __A, __m128 __B) { return (__m128) __builtin_ia32_subss ((__v4sf)__A, (__v4sf)__B); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_mul_ss (__m128 __A, __m128 __B) { return (__m128) __builtin_ia32_mulss ((__v4sf)__A, (__v4sf)__B); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_div_ss (__m128 __A, __m128 __B) { return (__m128) __builtin_ia32_divss ((__v4sf)__A, (__v4sf)__B); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_sqrt_ss (__m128 __A) { return (__m128) __builtin_ia32_sqrtss ((__v4sf)__A); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_rcp_ss (__m128 __A) { return (__m128) __builtin_ia32_rcpss ((__v4sf)__A); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_rsqrt_ss (__m128 __A) { return (__m128) __builtin_ia32_rsqrtss ((__v4sf)__A); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_min_ss (__m128 __A, __m128 __B) { return (__m128) __builtin_ia32_minss ((__v4sf)__A, (__v4sf)__B); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_max_ss (__m128 __A, __m128 __B) { return (__m128) __builtin_ia32_maxss ((__v4sf)__A, (__v4sf)__B); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_add_ps (__m128 __A, __m128 __B) { return (__m128) ((__v4sf)__A + (__v4sf)__B); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_sub_ps (__m128 __A, __m128 __B) { return (__m128) ((__v4sf)__A - (__v4sf)__B); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_mul_ps (__m128 __A, __m128 __B) { return (__m128) ((__v4sf)__A * (__v4sf)__B); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_div_ps (__m128 __A, __m128 __B) { return (__m128) ((__v4sf)__A / (__v4sf)__B); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_sqrt_ps (__m128 __A) { return (__m128) __builtin_ia32_sqrtps ((__v4sf)__A); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_rcp_ps (__m128 __A) { return (__m128) __builtin_ia32_rcpps ((__v4sf)__A); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_rsqrt_ps (__m128 __A) { return (__m128) __builtin_ia32_rsqrtps ((__v4sf)__A); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_min_ps (__m128 __A, __m128 __B) { return (__m128) __builtin_ia32_minps ((__v4sf)__A, (__v4sf)__B); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_max_ps (__m128 __A, __m128 __B) { return (__m128) __builtin_ia32_maxps ((__v4sf)__A, (__v4sf)__B); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_and_ps (__m128 __A, __m128 __B) { return __builtin_ia32_andps (__A, __B); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_andnot_ps (__m128 __A, __m128 __B) { return __builtin_ia32_andnps (__A, __B); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_or_ps (__m128 __A, __m128 __B) { return __builtin_ia32_orps (__A, __B); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_xor_ps (__m128 __A, __m128 __B) { return __builtin_ia32_xorps (__A, __B); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpeq_ss (__m128 __A, __m128 __B) { return (__m128) __builtin_ia32_cmpeqss ((__v4sf)__A, (__v4sf)__B); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmplt_ss (__m128 __A, __m128 __B) { return (__m128) __builtin_ia32_cmpltss ((__v4sf)__A, (__v4sf)__B); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmple_ss (__m128 __A, __m128 __B) { return (__m128) __builtin_ia32_cmpless ((__v4sf)__A, (__v4sf)__B); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpgt_ss (__m128 __A, __m128 __B) { return (__m128) __builtin_ia32_movss ((__v4sf) __A, (__v4sf) __builtin_ia32_cmpltss ((__v4sf) __B, (__v4sf) __A)); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpge_ss (__m128 __A, __m128 __B) { return (__m128) __builtin_ia32_movss ((__v4sf) __A, (__v4sf) __builtin_ia32_cmpless ((__v4sf) __B, (__v4sf) __A)); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpneq_ss (__m128 __A, __m128 __B) { return (__m128) __builtin_ia32_cmpneqss ((__v4sf)__A, (__v4sf)__B); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpnlt_ss (__m128 __A, __m128 __B) { return (__m128) __builtin_ia32_cmpnltss ((__v4sf)__A, (__v4sf)__B); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpnle_ss (__m128 __A, __m128 __B) { return (__m128) __builtin_ia32_cmpnless ((__v4sf)__A, (__v4sf)__B); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpngt_ss (__m128 __A, __m128 __B) { return (__m128) __builtin_ia32_movss ((__v4sf) __A, (__v4sf) __builtin_ia32_cmpnltss ((__v4sf) __B, (__v4sf) __A)); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpnge_ss (__m128 __A, __m128 __B) { return (__m128) __builtin_ia32_movss ((__v4sf) __A, (__v4sf) __builtin_ia32_cmpnless ((__v4sf) __B, (__v4sf) __A)); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpord_ss (__m128 __A, __m128 __B) { return (__m128) __builtin_ia32_cmpordss ((__v4sf)__A, (__v4sf)__B); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpunord_ss (__m128 __A, __m128 __B) { return (__m128) __builtin_ia32_cmpunordss ((__v4sf)__A, (__v4sf)__B); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpeq_ps (__m128 __A, __m128 __B) { return (__m128) __builtin_ia32_cmpeqps ((__v4sf)__A, (__v4sf)__B); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmplt_ps (__m128 __A, __m128 __B) { return (__m128) __builtin_ia32_cmpltps ((__v4sf)__A, (__v4sf)__B); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmple_ps (__m128 __A, __m128 __B) { return (__m128) __builtin_ia32_cmpleps ((__v4sf)__A, (__v4sf)__B); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpgt_ps (__m128 __A, __m128 __B) { return (__m128) __builtin_ia32_cmpgtps ((__v4sf)__A, (__v4sf)__B); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpge_ps (__m128 __A, __m128 __B) { return (__m128) __builtin_ia32_cmpgeps ((__v4sf)__A, (__v4sf)__B); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpneq_ps (__m128 __A, __m128 __B) { return (__m128) __builtin_ia32_cmpneqps ((__v4sf)__A, (__v4sf)__B); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpnlt_ps (__m128 __A, __m128 __B) { return (__m128) __builtin_ia32_cmpnltps ((__v4sf)__A, (__v4sf)__B); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpnle_ps (__m128 __A, __m128 __B) { return (__m128) __builtin_ia32_cmpnleps ((__v4sf)__A, (__v4sf)__B); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpngt_ps (__m128 __A, __m128 __B) { return (__m128) __builtin_ia32_cmpngtps ((__v4sf)__A, (__v4sf)__B); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpnge_ps (__m128 __A, __m128 __B) { return (__m128) __builtin_ia32_cmpngeps ((__v4sf)__A, (__v4sf)__B); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpord_ps (__m128 __A, __m128 __B) { return (__m128) __builtin_ia32_cmpordps ((__v4sf)__A, (__v4sf)__B); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpunord_ps (__m128 __A, __m128 __B) { return (__m128) __builtin_ia32_cmpunordps ((__v4sf)__A, (__v4sf)__B); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comieq_ss (__m128 __A, __m128 __B) { return __builtin_ia32_comieq ((__v4sf)__A, (__v4sf)__B); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comilt_ss (__m128 __A, __m128 __B) { return __builtin_ia32_comilt ((__v4sf)__A, (__v4sf)__B); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comile_ss (__m128 __A, __m128 __B) { return __builtin_ia32_comile ((__v4sf)__A, (__v4sf)__B); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comigt_ss (__m128 __A, __m128 __B) { return __builtin_ia32_comigt ((__v4sf)__A, (__v4sf)__B); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comige_ss (__m128 __A, __m128 __B) { return __builtin_ia32_comige ((__v4sf)__A, (__v4sf)__B); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comineq_ss (__m128 __A, __m128 __B) { return __builtin_ia32_comineq ((__v4sf)__A, (__v4sf)__B); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_ucomieq_ss (__m128 __A, __m128 __B) { return __builtin_ia32_ucomieq ((__v4sf)__A, (__v4sf)__B); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_ucomilt_ss (__m128 __A, __m128 __B) { return __builtin_ia32_ucomilt ((__v4sf)__A, (__v4sf)__B); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_ucomile_ss (__m128 __A, __m128 __B) { return __builtin_ia32_ucomile ((__v4sf)__A, (__v4sf)__B); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_ucomigt_ss (__m128 __A, __m128 __B) { return __builtin_ia32_ucomigt ((__v4sf)__A, (__v4sf)__B); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_ucomige_ss (__m128 __A, __m128 __B) { return __builtin_ia32_ucomige ((__v4sf)__A, (__v4sf)__B); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_ucomineq_ss (__m128 __A, __m128 __B) { return __builtin_ia32_ucomineq ((__v4sf)__A, (__v4sf)__B); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtss_si32 (__m128 __A) { return __builtin_ia32_cvtss2si ((__v4sf) __A); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvt_ss2si (__m128 __A) { return _mm_cvtss_si32 (__A); } # 538 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/xmmintrin.h" 3 4 extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtps_pi32 (__m128 __A) { return (__m64) __builtin_ia32_cvtps2pi ((__v4sf) __A); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvt_ps2pi (__m128 __A) { return _mm_cvtps_pi32 (__A); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvttss_si32 (__m128 __A) { return __builtin_ia32_cvttss2si ((__v4sf) __A); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtt_ss2si (__m128 __A) { return _mm_cvttss_si32 (__A); } # 583 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/xmmintrin.h" 3 4 extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvttps_pi32 (__m128 __A) { return (__m64) __builtin_ia32_cvttps2pi ((__v4sf) __A); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtt_ps2pi (__m128 __A) { return _mm_cvttps_pi32 (__A); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtsi32_ss (__m128 __A, int __B) { return (__m128) __builtin_ia32_cvtsi2ss ((__v4sf) __A, __B); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvt_si2ss (__m128 __A, int __B) { return _mm_cvtsi32_ss (__A, __B); } # 628 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/xmmintrin.h" 3 4 extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtpi32_ps (__m128 __A, __m64 __B) { return (__m128) __builtin_ia32_cvtpi2ps ((__v4sf) __A, (__v2si)__B); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvt_pi2ps (__m128 __A, __m64 __B) { return _mm_cvtpi32_ps (__A, __B); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtpi16_ps (__m64 __A) { __v4hi __sign; __v2si __hisi, __losi; __v4sf __zero, __ra, __rb; __sign = __builtin_ia32_pcmpgtw ((__v4hi)0LL, (__v4hi)__A); __losi = (__v2si) __builtin_ia32_punpcklwd ((__v4hi)__A, __sign); __hisi = (__v2si) __builtin_ia32_punpckhwd ((__v4hi)__A, __sign); __zero = (__v4sf) _mm_setzero_ps (); __ra = __builtin_ia32_cvtpi2ps (__zero, __losi); __rb = __builtin_ia32_cvtpi2ps (__ra, __hisi); return (__m128) __builtin_ia32_movlhps (__ra, __rb); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtpu16_ps (__m64 __A) { __v2si __hisi, __losi; __v4sf __zero, __ra, __rb; __losi = (__v2si) __builtin_ia32_punpcklwd ((__v4hi)__A, (__v4hi)0LL); __hisi = (__v2si) __builtin_ia32_punpckhwd ((__v4hi)__A, (__v4hi)0LL); __zero = (__v4sf) _mm_setzero_ps (); __ra = __builtin_ia32_cvtpi2ps (__zero, __losi); __rb = __builtin_ia32_cvtpi2ps (__ra, __hisi); return (__m128) __builtin_ia32_movlhps (__ra, __rb); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtpi8_ps (__m64 __A) { __v8qi __sign; __sign = __builtin_ia32_pcmpgtb ((__v8qi)0LL, (__v8qi)__A); __A = (__m64) __builtin_ia32_punpcklbw ((__v8qi)__A, __sign); return _mm_cvtpi16_ps(__A); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtpu8_ps(__m64 __A) { __A = (__m64) __builtin_ia32_punpcklbw ((__v8qi)__A, (__v8qi)0LL); return _mm_cvtpu16_ps(__A); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtpi32x2_ps(__m64 __A, __m64 __B) { __v4sf __zero = (__v4sf) _mm_setzero_ps (); __v4sf __sfa = __builtin_ia32_cvtpi2ps (__zero, (__v2si)__A); __v4sf __sfb = __builtin_ia32_cvtpi2ps (__sfa, (__v2si)__B); return (__m128) __builtin_ia32_movlhps (__sfa, __sfb); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtps_pi16(__m128 __A) { __v4sf __hisf = (__v4sf)__A; __v4sf __losf = __builtin_ia32_movhlps (__hisf, __hisf); __v2si __hisi = __builtin_ia32_cvtps2pi (__hisf); __v2si __losi = __builtin_ia32_cvtps2pi (__losf); return (__m64) __builtin_ia32_packssdw (__hisi, __losi); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtps_pi8(__m128 __A) { __v4hi __tmp = (__v4hi) _mm_cvtps_pi16 (__A); return (__m64) __builtin_ia32_packsswb (__tmp, (__v4hi)0LL); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_shuffle_ps (__m128 __A, __m128 __B, int const __mask) { return (__m128) __builtin_ia32_shufps ((__v4sf)__A, (__v4sf)__B, __mask); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_unpackhi_ps (__m128 __A, __m128 __B) { return (__m128) __builtin_ia32_unpckhps ((__v4sf)__A, (__v4sf)__B); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_unpacklo_ps (__m128 __A, __m128 __B) { return (__m128) __builtin_ia32_unpcklps ((__v4sf)__A, (__v4sf)__B); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_loadh_pi (__m128 __A, __m64 const *__P) { return (__m128) __builtin_ia32_loadhps ((__v4sf)__A, (const __v2sf *)__P); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_storeh_pi (__m64 *__P, __m128 __A) { __builtin_ia32_storehps ((__v2sf *)__P, (__v4sf)__A); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_movehl_ps (__m128 __A, __m128 __B) { return (__m128) __builtin_ia32_movhlps ((__v4sf)__A, (__v4sf)__B); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_movelh_ps (__m128 __A, __m128 __B) { return (__m128) __builtin_ia32_movlhps ((__v4sf)__A, (__v4sf)__B); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_loadl_pi (__m128 __A, __m64 const *__P) { return (__m128) __builtin_ia32_loadlps ((__v4sf)__A, (const __v2sf *)__P); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_storel_pi (__m64 *__P, __m128 __A) { __builtin_ia32_storelps ((__v2sf *)__P, (__v4sf)__A); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_movemask_ps (__m128 __A) { return __builtin_ia32_movmskps ((__v4sf)__A); } extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_getcsr (void) { return __builtin_ia32_stmxcsr (); } extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _MM_GET_EXCEPTION_STATE (void) { return _mm_getcsr() & 0x003f; } extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _MM_GET_EXCEPTION_MASK (void) { return _mm_getcsr() & 0x1f80; } extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _MM_GET_ROUNDING_MODE (void) { return _mm_getcsr() & 0x6000; } extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _MM_GET_FLUSH_ZERO_MODE (void) { return _mm_getcsr() & 0x8000; } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_setcsr (unsigned int __I) { __builtin_ia32_ldmxcsr (__I); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _MM_SET_EXCEPTION_STATE(unsigned int __mask) { _mm_setcsr((_mm_getcsr() & ~0x003f) | __mask); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _MM_SET_EXCEPTION_MASK (unsigned int __mask) { _mm_setcsr((_mm_getcsr() & ~0x1f80) | __mask); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _MM_SET_ROUNDING_MODE (unsigned int __mode) { _mm_setcsr((_mm_getcsr() & ~0x6000) | __mode); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _MM_SET_FLUSH_ZERO_MODE (unsigned int __mode) { _mm_setcsr((_mm_getcsr() & ~0x8000) | __mode); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_set_ss (float __F) { return __extension__ (__m128)(__v4sf){ __F, 0.0f, 0.0f, 0.0f }; } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_set1_ps (float __F) { return __extension__ (__m128)(__v4sf){ __F, __F, __F, __F }; } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_set_ps1 (float __F) { return _mm_set1_ps (__F); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_load_ss (float const *__P) { return _mm_set_ss (*__P); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_load1_ps (float const *__P) { return _mm_set1_ps (*__P); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_load_ps1 (float const *__P) { return _mm_load1_ps (__P); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_load_ps (float const *__P) { return (__m128) *(__v4sf *)__P; } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_loadu_ps (float const *__P) { return (__m128) __builtin_ia32_loadups (__P); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_loadr_ps (float const *__P) { __v4sf __tmp = *(__v4sf *)__P; return (__m128) __builtin_ia32_shufps (__tmp, __tmp, (((0) << 6) | ((1) << 4) | ((2) << 2) | (3))); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_set_ps (const float __Z, const float __Y, const float __X, const float __W) { return __extension__ (__m128)(__v4sf){ __W, __X, __Y, __Z }; } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_setr_ps (float __Z, float __Y, float __X, float __W) { return __extension__ (__m128)(__v4sf){ __Z, __Y, __X, __W }; } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_store_ss (float *__P, __m128 __A) { *__P = ((__v4sf)__A)[0]; } extern __inline float __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtss_f32 (__m128 __A) { return ((__v4sf)__A)[0]; } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_store_ps (float *__P, __m128 __A) { *(__v4sf *)__P = (__v4sf)__A; } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_storeu_ps (float *__P, __m128 __A) { __builtin_ia32_storeups (__P, (__v4sf)__A); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_store1_ps (float *__P, __m128 __A) { __v4sf __va = (__v4sf)__A; __v4sf __tmp = __builtin_ia32_shufps (__va, __va, (((0) << 6) | ((0) << 4) | ((0) << 2) | (0))); _mm_storeu_ps (__P, __tmp); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_store_ps1 (float *__P, __m128 __A) { _mm_store1_ps (__P, __A); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_storer_ps (float *__P, __m128 __A) { __v4sf __va = (__v4sf)__A; __v4sf __tmp = __builtin_ia32_shufps (__va, __va, (((0) << 6) | ((1) << 4) | ((2) << 2) | (3))); _mm_store_ps (__P, __tmp); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_move_ss (__m128 __A, __m128 __B) { return (__m128) __builtin_ia32_movss ((__v4sf)__A, (__v4sf)__B); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_extract_pi16 (__m64 const __A, int const __N) { return __builtin_ia32_vec_ext_v4hi ((__v4hi)__A, __N); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_pextrw (__m64 const __A, int const __N) { return _mm_extract_pi16 (__A, __N); } # 1037 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/xmmintrin.h" 3 4 extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_insert_pi16 (__m64 const __A, int const __D, int const __N) { return (__m64) __builtin_ia32_vec_set_v4hi ((__v4hi)__A, __D, __N); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_pinsrw (__m64 const __A, int const __D, int const __N) { return _mm_insert_pi16 (__A, __D, __N); } # 1057 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/xmmintrin.h" 3 4 extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_max_pi16 (__m64 __A, __m64 __B) { return (__m64) __builtin_ia32_pmaxsw ((__v4hi)__A, (__v4hi)__B); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_pmaxsw (__m64 __A, __m64 __B) { return _mm_max_pi16 (__A, __B); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_max_pu8 (__m64 __A, __m64 __B) { return (__m64) __builtin_ia32_pmaxub ((__v8qi)__A, (__v8qi)__B); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_pmaxub (__m64 __A, __m64 __B) { return _mm_max_pu8 (__A, __B); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_min_pi16 (__m64 __A, __m64 __B) { return (__m64) __builtin_ia32_pminsw ((__v4hi)__A, (__v4hi)__B); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_pminsw (__m64 __A, __m64 __B) { return _mm_min_pi16 (__A, __B); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_min_pu8 (__m64 __A, __m64 __B) { return (__m64) __builtin_ia32_pminub ((__v8qi)__A, (__v8qi)__B); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_pminub (__m64 __A, __m64 __B) { return _mm_min_pu8 (__A, __B); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_movemask_pi8 (__m64 __A) { return __builtin_ia32_pmovmskb ((__v8qi)__A); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_pmovmskb (__m64 __A) { return _mm_movemask_pi8 (__A); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_mulhi_pu16 (__m64 __A, __m64 __B) { return (__m64) __builtin_ia32_pmulhuw ((__v4hi)__A, (__v4hi)__B); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_pmulhuw (__m64 __A, __m64 __B) { return _mm_mulhi_pu16 (__A, __B); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_shuffle_pi16 (__m64 __A, int const __N) { return (__m64) __builtin_ia32_pshufw ((__v4hi)__A, __N); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_pshufw (__m64 __A, int const __N) { return _mm_shuffle_pi16 (__A, __N); } # 1159 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/xmmintrin.h" 3 4 extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskmove_si64 (__m64 __A, __m64 __N, char *__P) { __builtin_ia32_maskmovq ((__v8qi)__A, (__v8qi)__N, __P); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_maskmovq (__m64 __A, __m64 __N, char *__P) { _mm_maskmove_si64 (__A, __N, __P); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_avg_pu8 (__m64 __A, __m64 __B) { return (__m64) __builtin_ia32_pavgb ((__v8qi)__A, (__v8qi)__B); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_pavgb (__m64 __A, __m64 __B) { return _mm_avg_pu8 (__A, __B); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_avg_pu16 (__m64 __A, __m64 __B) { return (__m64) __builtin_ia32_pavgw ((__v4hi)__A, (__v4hi)__B); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_pavgw (__m64 __A, __m64 __B) { return _mm_avg_pu16 (__A, __B); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_sad_pu8 (__m64 __A, __m64 __B) { return (__m64) __builtin_ia32_psadbw ((__v8qi)__A, (__v8qi)__B); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_psadbw (__m64 __A, __m64 __B) { return _mm_sad_pu8 (__A, __B); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_stream_pi (__m64 *__P, __m64 __A) { __builtin_ia32_movntq ((unsigned long long *)__P, (unsigned long long)__A); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_stream_ps (float *__P, __m128 __A) { __builtin_ia32_movntps (__P, (__v4sf)__A); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_sfence (void) { __builtin_ia32_sfence (); } # 1249 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/xmmintrin.h" 3 4 # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/emmintrin.h" 1 3 4 # 31 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/emmintrin.h" 3 4 # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/xmmintrin.h" 1 3 4 # 32 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/emmintrin.h" 2 3 4 #pragma GCC push_options #pragma GCC target("sse2") typedef double __v2df __attribute__ ((__vector_size__ (16))); typedef long long __v2di __attribute__ ((__vector_size__ (16))); typedef unsigned long long __v2du __attribute__ ((__vector_size__ (16))); typedef int __v4si __attribute__ ((__vector_size__ (16))); typedef unsigned int __v4su __attribute__ ((__vector_size__ (16))); typedef short __v8hi __attribute__ ((__vector_size__ (16))); typedef unsigned short __v8hu __attribute__ ((__vector_size__ (16))); typedef char __v16qi __attribute__ ((__vector_size__ (16))); typedef unsigned char __v16qu __attribute__ ((__vector_size__ (16))); typedef long long __m128i __attribute__ ((__vector_size__ (16), __may_alias__)); typedef double __m128d __attribute__ ((__vector_size__ (16), __may_alias__)); extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_set_sd (double __F) { return __extension__ (__m128d){ __F, 0.0 }; } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_set1_pd (double __F) { return __extension__ (__m128d){ __F, __F }; } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_set_pd1 (double __F) { return _mm_set1_pd (__F); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_set_pd (double __W, double __X) { return __extension__ (__m128d){ __X, __W }; } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_setr_pd (double __W, double __X) { return __extension__ (__m128d){ __W, __X }; } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_undefined_pd (void) { __m128d __Y = __Y; return __Y; } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_setzero_pd (void) { return __extension__ (__m128d){ 0.0, 0.0 }; } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_move_sd (__m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_movsd ((__v2df)__A, (__v2df)__B); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_load_pd (double const *__P) { return *(__m128d *)__P; } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_loadu_pd (double const *__P) { return __builtin_ia32_loadupd (__P); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_load1_pd (double const *__P) { return _mm_set1_pd (*__P); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_load_sd (double const *__P) { return _mm_set_sd (*__P); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_load_pd1 (double const *__P) { return _mm_load1_pd (__P); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_loadr_pd (double const *__P) { __m128d __tmp = _mm_load_pd (__P); return __builtin_ia32_shufpd (__tmp, __tmp, (((0) << 1) | (1))); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_store_pd (double *__P, __m128d __A) { *(__m128d *)__P = __A; } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_storeu_pd (double *__P, __m128d __A) { __builtin_ia32_storeupd (__P, __A); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_store_sd (double *__P, __m128d __A) { *__P = ((__v2df)__A)[0]; } extern __inline double __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtsd_f64 (__m128d __A) { return ((__v2df)__A)[0]; } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_storel_pd (double *__P, __m128d __A) { _mm_store_sd (__P, __A); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_storeh_pd (double *__P, __m128d __A) { *__P = ((__v2df)__A)[1]; } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_store1_pd (double *__P, __m128d __A) { _mm_store_pd (__P, __builtin_ia32_shufpd (__A, __A, (((0) << 1) | (0)))); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_store_pd1 (double *__P, __m128d __A) { _mm_store1_pd (__P, __A); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_storer_pd (double *__P, __m128d __A) { _mm_store_pd (__P, __builtin_ia32_shufpd (__A, __A, (((0) << 1) | (1)))); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtsi128_si32 (__m128i __A) { return __builtin_ia32_vec_ext_v4si ((__v4si)__A, 0); } # 240 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/emmintrin.h" 3 4 extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_add_pd (__m128d __A, __m128d __B) { return (__m128d) ((__v2df)__A + (__v2df)__B); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_add_sd (__m128d __A, __m128d __B) { return (__m128d)__builtin_ia32_addsd ((__v2df)__A, (__v2df)__B); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_sub_pd (__m128d __A, __m128d __B) { return (__m128d) ((__v2df)__A - (__v2df)__B); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_sub_sd (__m128d __A, __m128d __B) { return (__m128d)__builtin_ia32_subsd ((__v2df)__A, (__v2df)__B); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_mul_pd (__m128d __A, __m128d __B) { return (__m128d) ((__v2df)__A * (__v2df)__B); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_mul_sd (__m128d __A, __m128d __B) { return (__m128d)__builtin_ia32_mulsd ((__v2df)__A, (__v2df)__B); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_div_pd (__m128d __A, __m128d __B) { return (__m128d) ((__v2df)__A / (__v2df)__B); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_div_sd (__m128d __A, __m128d __B) { return (__m128d)__builtin_ia32_divsd ((__v2df)__A, (__v2df)__B); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_sqrt_pd (__m128d __A) { return (__m128d)__builtin_ia32_sqrtpd ((__v2df)__A); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_sqrt_sd (__m128d __A, __m128d __B) { __v2df __tmp = __builtin_ia32_movsd ((__v2df)__A, (__v2df)__B); return (__m128d)__builtin_ia32_sqrtsd ((__v2df)__tmp); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_min_pd (__m128d __A, __m128d __B) { return (__m128d)__builtin_ia32_minpd ((__v2df)__A, (__v2df)__B); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_min_sd (__m128d __A, __m128d __B) { return (__m128d)__builtin_ia32_minsd ((__v2df)__A, (__v2df)__B); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_max_pd (__m128d __A, __m128d __B) { return (__m128d)__builtin_ia32_maxpd ((__v2df)__A, (__v2df)__B); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_max_sd (__m128d __A, __m128d __B) { return (__m128d)__builtin_ia32_maxsd ((__v2df)__A, (__v2df)__B); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_and_pd (__m128d __A, __m128d __B) { return (__m128d)__builtin_ia32_andpd ((__v2df)__A, (__v2df)__B); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_andnot_pd (__m128d __A, __m128d __B) { return (__m128d)__builtin_ia32_andnpd ((__v2df)__A, (__v2df)__B); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_or_pd (__m128d __A, __m128d __B) { return (__m128d)__builtin_ia32_orpd ((__v2df)__A, (__v2df)__B); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_xor_pd (__m128d __A, __m128d __B) { return (__m128d)__builtin_ia32_xorpd ((__v2df)__A, (__v2df)__B); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpeq_pd (__m128d __A, __m128d __B) { return (__m128d)__builtin_ia32_cmpeqpd ((__v2df)__A, (__v2df)__B); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmplt_pd (__m128d __A, __m128d __B) { return (__m128d)__builtin_ia32_cmpltpd ((__v2df)__A, (__v2df)__B); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmple_pd (__m128d __A, __m128d __B) { return (__m128d)__builtin_ia32_cmplepd ((__v2df)__A, (__v2df)__B); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpgt_pd (__m128d __A, __m128d __B) { return (__m128d)__builtin_ia32_cmpgtpd ((__v2df)__A, (__v2df)__B); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpge_pd (__m128d __A, __m128d __B) { return (__m128d)__builtin_ia32_cmpgepd ((__v2df)__A, (__v2df)__B); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpneq_pd (__m128d __A, __m128d __B) { return (__m128d)__builtin_ia32_cmpneqpd ((__v2df)__A, (__v2df)__B); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpnlt_pd (__m128d __A, __m128d __B) { return (__m128d)__builtin_ia32_cmpnltpd ((__v2df)__A, (__v2df)__B); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpnle_pd (__m128d __A, __m128d __B) { return (__m128d)__builtin_ia32_cmpnlepd ((__v2df)__A, (__v2df)__B); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpngt_pd (__m128d __A, __m128d __B) { return (__m128d)__builtin_ia32_cmpngtpd ((__v2df)__A, (__v2df)__B); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpnge_pd (__m128d __A, __m128d __B) { return (__m128d)__builtin_ia32_cmpngepd ((__v2df)__A, (__v2df)__B); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpord_pd (__m128d __A, __m128d __B) { return (__m128d)__builtin_ia32_cmpordpd ((__v2df)__A, (__v2df)__B); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpunord_pd (__m128d __A, __m128d __B) { return (__m128d)__builtin_ia32_cmpunordpd ((__v2df)__A, (__v2df)__B); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpeq_sd (__m128d __A, __m128d __B) { return (__m128d)__builtin_ia32_cmpeqsd ((__v2df)__A, (__v2df)__B); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmplt_sd (__m128d __A, __m128d __B) { return (__m128d)__builtin_ia32_cmpltsd ((__v2df)__A, (__v2df)__B); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmple_sd (__m128d __A, __m128d __B) { return (__m128d)__builtin_ia32_cmplesd ((__v2df)__A, (__v2df)__B); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpgt_sd (__m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_movsd ((__v2df) __A, (__v2df) __builtin_ia32_cmpltsd ((__v2df) __B, (__v2df) __A)); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpge_sd (__m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_movsd ((__v2df) __A, (__v2df) __builtin_ia32_cmplesd ((__v2df) __B, (__v2df) __A)); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpneq_sd (__m128d __A, __m128d __B) { return (__m128d)__builtin_ia32_cmpneqsd ((__v2df)__A, (__v2df)__B); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpnlt_sd (__m128d __A, __m128d __B) { return (__m128d)__builtin_ia32_cmpnltsd ((__v2df)__A, (__v2df)__B); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpnle_sd (__m128d __A, __m128d __B) { return (__m128d)__builtin_ia32_cmpnlesd ((__v2df)__A, (__v2df)__B); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpngt_sd (__m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_movsd ((__v2df) __A, (__v2df) __builtin_ia32_cmpnltsd ((__v2df) __B, (__v2df) __A)); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpnge_sd (__m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_movsd ((__v2df) __A, (__v2df) __builtin_ia32_cmpnlesd ((__v2df) __B, (__v2df) __A)); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpord_sd (__m128d __A, __m128d __B) { return (__m128d)__builtin_ia32_cmpordsd ((__v2df)__A, (__v2df)__B); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpunord_sd (__m128d __A, __m128d __B) { return (__m128d)__builtin_ia32_cmpunordsd ((__v2df)__A, (__v2df)__B); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comieq_sd (__m128d __A, __m128d __B) { return __builtin_ia32_comisdeq ((__v2df)__A, (__v2df)__B); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comilt_sd (__m128d __A, __m128d __B) { return __builtin_ia32_comisdlt ((__v2df)__A, (__v2df)__B); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comile_sd (__m128d __A, __m128d __B) { return __builtin_ia32_comisdle ((__v2df)__A, (__v2df)__B); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comigt_sd (__m128d __A, __m128d __B) { return __builtin_ia32_comisdgt ((__v2df)__A, (__v2df)__B); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comige_sd (__m128d __A, __m128d __B) { return __builtin_ia32_comisdge ((__v2df)__A, (__v2df)__B); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comineq_sd (__m128d __A, __m128d __B) { return __builtin_ia32_comisdneq ((__v2df)__A, (__v2df)__B); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_ucomieq_sd (__m128d __A, __m128d __B) { return __builtin_ia32_ucomisdeq ((__v2df)__A, (__v2df)__B); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_ucomilt_sd (__m128d __A, __m128d __B) { return __builtin_ia32_ucomisdlt ((__v2df)__A, (__v2df)__B); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_ucomile_sd (__m128d __A, __m128d __B) { return __builtin_ia32_ucomisdle ((__v2df)__A, (__v2df)__B); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_ucomigt_sd (__m128d __A, __m128d __B) { return __builtin_ia32_ucomisdgt ((__v2df)__A, (__v2df)__B); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_ucomige_sd (__m128d __A, __m128d __B) { return __builtin_ia32_ucomisdge ((__v2df)__A, (__v2df)__B); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_ucomineq_sd (__m128d __A, __m128d __B) { return __builtin_ia32_ucomisdneq ((__v2df)__A, (__v2df)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_set_epi64x (long long __q1, long long __q0) { return __extension__ (__m128i)(__v2di){ __q0, __q1 }; } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_set_epi64 (__m64 __q1, __m64 __q0) { return _mm_set_epi64x ((long long)__q1, (long long)__q0); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_set_epi32 (int __q3, int __q2, int __q1, int __q0) { return __extension__ (__m128i)(__v4si){ __q0, __q1, __q2, __q3 }; } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_set_epi16 (short __q7, short __q6, short __q5, short __q4, short __q3, short __q2, short __q1, short __q0) { return __extension__ (__m128i)(__v8hi){ __q0, __q1, __q2, __q3, __q4, __q5, __q6, __q7 }; } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_set_epi8 (char __q15, char __q14, char __q13, char __q12, char __q11, char __q10, char __q09, char __q08, char __q07, char __q06, char __q05, char __q04, char __q03, char __q02, char __q01, char __q00) { return __extension__ (__m128i)(__v16qi){ __q00, __q01, __q02, __q03, __q04, __q05, __q06, __q07, __q08, __q09, __q10, __q11, __q12, __q13, __q14, __q15 }; } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_set1_epi64x (long long __A) { return _mm_set_epi64x (__A, __A); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_set1_epi64 (__m64 __A) { return _mm_set_epi64 (__A, __A); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_set1_epi32 (int __A) { return _mm_set_epi32 (__A, __A, __A, __A); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_set1_epi16 (short __A) { return _mm_set_epi16 (__A, __A, __A, __A, __A, __A, __A, __A); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_set1_epi8 (char __A) { return _mm_set_epi8 (__A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_setr_epi64 (__m64 __q0, __m64 __q1) { return _mm_set_epi64 (__q1, __q0); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_setr_epi32 (int __q0, int __q1, int __q2, int __q3) { return _mm_set_epi32 (__q3, __q2, __q1, __q0); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_setr_epi16 (short __q0, short __q1, short __q2, short __q3, short __q4, short __q5, short __q6, short __q7) { return _mm_set_epi16 (__q7, __q6, __q5, __q4, __q3, __q2, __q1, __q0); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_setr_epi8 (char __q00, char __q01, char __q02, char __q03, char __q04, char __q05, char __q06, char __q07, char __q08, char __q09, char __q10, char __q11, char __q12, char __q13, char __q14, char __q15) { return _mm_set_epi8 (__q15, __q14, __q13, __q12, __q11, __q10, __q09, __q08, __q07, __q06, __q05, __q04, __q03, __q02, __q01, __q00); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_load_si128 (__m128i const *__P) { return *__P; } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_loadu_si128 (__m128i const *__P) { return (__m128i) __builtin_ia32_loaddqu ((char const *)__P); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_loadl_epi64 (__m128i const *__P) { return _mm_set_epi64 ((__m64)0LL, *(__m64 *)__P); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_store_si128 (__m128i *__P, __m128i __B) { *__P = __B; } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_storeu_si128 (__m128i *__P, __m128i __B) { __builtin_ia32_storedqu ((char *)__P, (__v16qi)__B); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_storel_epi64 (__m128i *__P, __m128i __B) { *(long long *)__P = ((__v2di)__B)[0]; } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_movepi64_pi64 (__m128i __B) { return (__m64) ((__v2di)__B)[0]; } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_movpi64_epi64 (__m64 __A) { return _mm_set_epi64 ((__m64)0LL, __A); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_move_epi64 (__m128i __A) { return (__m128i)__builtin_ia32_movq128 ((__v2di) __A); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_undefined_si128 (void) { __m128i __Y = __Y; return __Y; } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_setzero_si128 (void) { return __extension__ (__m128i)(__v4si){ 0, 0, 0, 0 }; } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtepi32_pd (__m128i __A) { return (__m128d)__builtin_ia32_cvtdq2pd ((__v4si) __A); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtepi32_ps (__m128i __A) { return (__m128)__builtin_ia32_cvtdq2ps ((__v4si) __A); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtpd_epi32 (__m128d __A) { return (__m128i)__builtin_ia32_cvtpd2dq ((__v2df) __A); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtpd_pi32 (__m128d __A) { return (__m64)__builtin_ia32_cvtpd2pi ((__v2df) __A); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtpd_ps (__m128d __A) { return (__m128)__builtin_ia32_cvtpd2ps ((__v2df) __A); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvttpd_epi32 (__m128d __A) { return (__m128i)__builtin_ia32_cvttpd2dq ((__v2df) __A); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvttpd_pi32 (__m128d __A) { return (__m64)__builtin_ia32_cvttpd2pi ((__v2df) __A); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtpi32_pd (__m64 __A) { return (__m128d)__builtin_ia32_cvtpi2pd ((__v2si) __A); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtps_epi32 (__m128 __A) { return (__m128i)__builtin_ia32_cvtps2dq ((__v4sf) __A); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvttps_epi32 (__m128 __A) { return (__m128i)__builtin_ia32_cvttps2dq ((__v4sf) __A); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtps_pd (__m128 __A) { return (__m128d)__builtin_ia32_cvtps2pd ((__v4sf) __A); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtsd_si32 (__m128d __A) { return __builtin_ia32_cvtsd2si ((__v2df) __A); } # 846 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/emmintrin.h" 3 4 extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvttsd_si32 (__m128d __A) { return __builtin_ia32_cvttsd2si ((__v2df) __A); } # 868 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/emmintrin.h" 3 4 extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtsd_ss (__m128 __A, __m128d __B) { return (__m128)__builtin_ia32_cvtsd2ss ((__v4sf) __A, (__v2df) __B); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtsi32_sd (__m128d __A, int __B) { return (__m128d)__builtin_ia32_cvtsi2sd ((__v2df) __A, __B); } # 896 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/emmintrin.h" 3 4 extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtss_sd (__m128d __A, __m128 __B) { return (__m128d)__builtin_ia32_cvtss2sd ((__v2df) __A, (__v4sf)__B); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_shuffle_pd(__m128d __A, __m128d __B, const int __mask) { return (__m128d)__builtin_ia32_shufpd ((__v2df)__A, (__v2df)__B, __mask); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_unpackhi_pd (__m128d __A, __m128d __B) { return (__m128d)__builtin_ia32_unpckhpd ((__v2df)__A, (__v2df)__B); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_unpacklo_pd (__m128d __A, __m128d __B) { return (__m128d)__builtin_ia32_unpcklpd ((__v2df)__A, (__v2df)__B); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_loadh_pd (__m128d __A, double const *__B) { return (__m128d)__builtin_ia32_loadhpd ((__v2df)__A, __B); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_loadl_pd (__m128d __A, double const *__B) { return (__m128d)__builtin_ia32_loadlpd ((__v2df)__A, __B); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_movemask_pd (__m128d __A) { return __builtin_ia32_movmskpd ((__v2df)__A); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_packs_epi16 (__m128i __A, __m128i __B) { return (__m128i)__builtin_ia32_packsswb128 ((__v8hi)__A, (__v8hi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_packs_epi32 (__m128i __A, __m128i __B) { return (__m128i)__builtin_ia32_packssdw128 ((__v4si)__A, (__v4si)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_packus_epi16 (__m128i __A, __m128i __B) { return (__m128i)__builtin_ia32_packuswb128 ((__v8hi)__A, (__v8hi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_unpackhi_epi8 (__m128i __A, __m128i __B) { return (__m128i)__builtin_ia32_punpckhbw128 ((__v16qi)__A, (__v16qi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_unpackhi_epi16 (__m128i __A, __m128i __B) { return (__m128i)__builtin_ia32_punpckhwd128 ((__v8hi)__A, (__v8hi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_unpackhi_epi32 (__m128i __A, __m128i __B) { return (__m128i)__builtin_ia32_punpckhdq128 ((__v4si)__A, (__v4si)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_unpackhi_epi64 (__m128i __A, __m128i __B) { return (__m128i)__builtin_ia32_punpckhqdq128 ((__v2di)__A, (__v2di)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_unpacklo_epi8 (__m128i __A, __m128i __B) { return (__m128i)__builtin_ia32_punpcklbw128 ((__v16qi)__A, (__v16qi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_unpacklo_epi16 (__m128i __A, __m128i __B) { return (__m128i)__builtin_ia32_punpcklwd128 ((__v8hi)__A, (__v8hi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_unpacklo_epi32 (__m128i __A, __m128i __B) { return (__m128i)__builtin_ia32_punpckldq128 ((__v4si)__A, (__v4si)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_unpacklo_epi64 (__m128i __A, __m128i __B) { return (__m128i)__builtin_ia32_punpcklqdq128 ((__v2di)__A, (__v2di)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_add_epi8 (__m128i __A, __m128i __B) { return (__m128i) ((__v16qu)__A + (__v16qu)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_add_epi16 (__m128i __A, __m128i __B) { return (__m128i) ((__v8hu)__A + (__v8hu)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_add_epi32 (__m128i __A, __m128i __B) { return (__m128i) ((__v4su)__A + (__v4su)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_add_epi64 (__m128i __A, __m128i __B) { return (__m128i) ((__v2du)__A + (__v2du)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_adds_epi8 (__m128i __A, __m128i __B) { return (__m128i)__builtin_ia32_paddsb128 ((__v16qi)__A, (__v16qi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_adds_epi16 (__m128i __A, __m128i __B) { return (__m128i)__builtin_ia32_paddsw128 ((__v8hi)__A, (__v8hi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_adds_epu8 (__m128i __A, __m128i __B) { return (__m128i)__builtin_ia32_paddusb128 ((__v16qi)__A, (__v16qi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_adds_epu16 (__m128i __A, __m128i __B) { return (__m128i)__builtin_ia32_paddusw128 ((__v8hi)__A, (__v8hi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_sub_epi8 (__m128i __A, __m128i __B) { return (__m128i) ((__v16qu)__A - (__v16qu)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_sub_epi16 (__m128i __A, __m128i __B) { return (__m128i) ((__v8hu)__A - (__v8hu)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_sub_epi32 (__m128i __A, __m128i __B) { return (__m128i) ((__v4su)__A - (__v4su)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_sub_epi64 (__m128i __A, __m128i __B) { return (__m128i) ((__v2du)__A - (__v2du)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_subs_epi8 (__m128i __A, __m128i __B) { return (__m128i)__builtin_ia32_psubsb128 ((__v16qi)__A, (__v16qi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_subs_epi16 (__m128i __A, __m128i __B) { return (__m128i)__builtin_ia32_psubsw128 ((__v8hi)__A, (__v8hi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_subs_epu8 (__m128i __A, __m128i __B) { return (__m128i)__builtin_ia32_psubusb128 ((__v16qi)__A, (__v16qi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_subs_epu16 (__m128i __A, __m128i __B) { return (__m128i)__builtin_ia32_psubusw128 ((__v8hi)__A, (__v8hi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_madd_epi16 (__m128i __A, __m128i __B) { return (__m128i)__builtin_ia32_pmaddwd128 ((__v8hi)__A, (__v8hi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_mulhi_epi16 (__m128i __A, __m128i __B) { return (__m128i)__builtin_ia32_pmulhw128 ((__v8hi)__A, (__v8hi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_mullo_epi16 (__m128i __A, __m128i __B) { return (__m128i) ((__v8hu)__A * (__v8hu)__B); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_mul_su32 (__m64 __A, __m64 __B) { return (__m64)__builtin_ia32_pmuludq ((__v2si)__A, (__v2si)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_mul_epu32 (__m128i __A, __m128i __B) { return (__m128i)__builtin_ia32_pmuludq128 ((__v4si)__A, (__v4si)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_slli_epi16 (__m128i __A, int __B) { return (__m128i)__builtin_ia32_psllwi128 ((__v8hi)__A, __B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_slli_epi32 (__m128i __A, int __B) { return (__m128i)__builtin_ia32_pslldi128 ((__v4si)__A, __B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_slli_epi64 (__m128i __A, int __B) { return (__m128i)__builtin_ia32_psllqi128 ((__v2di)__A, __B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_srai_epi16 (__m128i __A, int __B) { return (__m128i)__builtin_ia32_psrawi128 ((__v8hi)__A, __B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_srai_epi32 (__m128i __A, int __B) { return (__m128i)__builtin_ia32_psradi128 ((__v4si)__A, __B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_bsrli_si128 (__m128i __A, const int __N) { return (__m128i)__builtin_ia32_psrldqi128 (__A, __N * 8); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_bslli_si128 (__m128i __A, const int __N) { return (__m128i)__builtin_ia32_pslldqi128 (__A, __N * 8); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_srli_si128 (__m128i __A, const int __N) { return (__m128i)__builtin_ia32_psrldqi128 (__A, __N * 8); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_slli_si128 (__m128i __A, const int __N) { return (__m128i)__builtin_ia32_pslldqi128 (__A, __N * 8); } # 1201 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/emmintrin.h" 3 4 extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_srli_epi16 (__m128i __A, int __B) { return (__m128i)__builtin_ia32_psrlwi128 ((__v8hi)__A, __B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_srli_epi32 (__m128i __A, int __B) { return (__m128i)__builtin_ia32_psrldi128 ((__v4si)__A, __B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_srli_epi64 (__m128i __A, int __B) { return (__m128i)__builtin_ia32_psrlqi128 ((__v2di)__A, __B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_sll_epi16 (__m128i __A, __m128i __B) { return (__m128i)__builtin_ia32_psllw128((__v8hi)__A, (__v8hi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_sll_epi32 (__m128i __A, __m128i __B) { return (__m128i)__builtin_ia32_pslld128((__v4si)__A, (__v4si)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_sll_epi64 (__m128i __A, __m128i __B) { return (__m128i)__builtin_ia32_psllq128((__v2di)__A, (__v2di)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_sra_epi16 (__m128i __A, __m128i __B) { return (__m128i)__builtin_ia32_psraw128 ((__v8hi)__A, (__v8hi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_sra_epi32 (__m128i __A, __m128i __B) { return (__m128i)__builtin_ia32_psrad128 ((__v4si)__A, (__v4si)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_srl_epi16 (__m128i __A, __m128i __B) { return (__m128i)__builtin_ia32_psrlw128 ((__v8hi)__A, (__v8hi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_srl_epi32 (__m128i __A, __m128i __B) { return (__m128i)__builtin_ia32_psrld128 ((__v4si)__A, (__v4si)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_srl_epi64 (__m128i __A, __m128i __B) { return (__m128i)__builtin_ia32_psrlq128 ((__v2di)__A, (__v2di)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_and_si128 (__m128i __A, __m128i __B) { return (__m128i) ((__v2du)__A & (__v2du)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_andnot_si128 (__m128i __A, __m128i __B) { return (__m128i)__builtin_ia32_pandn128 ((__v2di)__A, (__v2di)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_or_si128 (__m128i __A, __m128i __B) { return (__m128i) ((__v2du)__A | (__v2du)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_xor_si128 (__m128i __A, __m128i __B) { return (__m128i) ((__v2du)__A ^ (__v2du)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpeq_epi8 (__m128i __A, __m128i __B) { return (__m128i) ((__v16qi)__A == (__v16qi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpeq_epi16 (__m128i __A, __m128i __B) { return (__m128i) ((__v8hi)__A == (__v8hi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpeq_epi32 (__m128i __A, __m128i __B) { return (__m128i) ((__v4si)__A == (__v4si)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmplt_epi8 (__m128i __A, __m128i __B) { return (__m128i) ((__v16qi)__A < (__v16qi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmplt_epi16 (__m128i __A, __m128i __B) { return (__m128i) ((__v8hi)__A < (__v8hi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmplt_epi32 (__m128i __A, __m128i __B) { return (__m128i) ((__v4si)__A < (__v4si)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpgt_epi8 (__m128i __A, __m128i __B) { return (__m128i) ((__v16qi)__A > (__v16qi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpgt_epi16 (__m128i __A, __m128i __B) { return (__m128i) ((__v8hi)__A > (__v8hi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpgt_epi32 (__m128i __A, __m128i __B) { return (__m128i) ((__v4si)__A > (__v4si)__B); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_extract_epi16 (__m128i const __A, int const __N) { return (unsigned short) __builtin_ia32_vec_ext_v8hi ((__v8hi)__A, __N); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_insert_epi16 (__m128i const __A, int const __D, int const __N) { return (__m128i) __builtin_ia32_vec_set_v8hi ((__v8hi)__A, __D, __N); } # 1365 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/emmintrin.h" 3 4 extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_max_epi16 (__m128i __A, __m128i __B) { return (__m128i)__builtin_ia32_pmaxsw128 ((__v8hi)__A, (__v8hi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_max_epu8 (__m128i __A, __m128i __B) { return (__m128i)__builtin_ia32_pmaxub128 ((__v16qi)__A, (__v16qi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_min_epi16 (__m128i __A, __m128i __B) { return (__m128i)__builtin_ia32_pminsw128 ((__v8hi)__A, (__v8hi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_min_epu8 (__m128i __A, __m128i __B) { return (__m128i)__builtin_ia32_pminub128 ((__v16qi)__A, (__v16qi)__B); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_movemask_epi8 (__m128i __A) { return __builtin_ia32_pmovmskb128 ((__v16qi)__A); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_mulhi_epu16 (__m128i __A, __m128i __B) { return (__m128i)__builtin_ia32_pmulhuw128 ((__v8hi)__A, (__v8hi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_shufflehi_epi16 (__m128i __A, const int __mask) { return (__m128i)__builtin_ia32_pshufhw ((__v8hi)__A, __mask); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_shufflelo_epi16 (__m128i __A, const int __mask) { return (__m128i)__builtin_ia32_pshuflw ((__v8hi)__A, __mask); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_shuffle_epi32 (__m128i __A, const int __mask) { return (__m128i)__builtin_ia32_pshufd ((__v4si)__A, __mask); } # 1428 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/emmintrin.h" 3 4 extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskmoveu_si128 (__m128i __A, __m128i __B, char *__C) { __builtin_ia32_maskmovdqu ((__v16qi)__A, (__v16qi)__B, __C); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_avg_epu8 (__m128i __A, __m128i __B) { return (__m128i)__builtin_ia32_pavgb128 ((__v16qi)__A, (__v16qi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_avg_epu16 (__m128i __A, __m128i __B) { return (__m128i)__builtin_ia32_pavgw128 ((__v8hi)__A, (__v8hi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_sad_epu8 (__m128i __A, __m128i __B) { return (__m128i)__builtin_ia32_psadbw128 ((__v16qi)__A, (__v16qi)__B); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_stream_si32 (int *__A, int __B) { __builtin_ia32_movnti (__A, __B); } # 1466 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/emmintrin.h" 3 4 extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_stream_si128 (__m128i *__A, __m128i __B) { __builtin_ia32_movntdq ((__v2di *)__A, (__v2di)__B); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_stream_pd (double *__A, __m128d __B) { __builtin_ia32_movntpd (__A, (__v2df)__B); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_clflush (void const *__A) { __builtin_ia32_clflush (__A); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_lfence (void) { __builtin_ia32_lfence (); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_mfence (void) { __builtin_ia32_mfence (); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtsi32_si128 (int __A) { return _mm_set_epi32 (0, 0, 0, __A); } # 1520 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/emmintrin.h" 3 4 extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_castpd_ps(__m128d __A) { return (__m128) __A; } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_castpd_si128(__m128d __A) { return (__m128i) __A; } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_castps_pd(__m128 __A) { return (__m128d) __A; } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_castps_si128(__m128 __A) { return (__m128i) __A; } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_castsi128_ps(__m128i __A) { return (__m128) __A; } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_castsi128_pd(__m128i __A) { return (__m128d) __A; } #pragma GCC pop_options # 1250 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/xmmintrin.h" 2 3 4 #pragma GCC pop_options extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_pause (void) { __builtin_ia32_pause (); } # 32 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/x86intrin.h" 2 3 4 # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/pmmintrin.h" 1 3 4 # 34 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/pmmintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("sse3") # 49 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/pmmintrin.h" 3 4 extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_addsub_ps (__m128 __X, __m128 __Y) { return (__m128) __builtin_ia32_addsubps ((__v4sf)__X, (__v4sf)__Y); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_hadd_ps (__m128 __X, __m128 __Y) { return (__m128) __builtin_ia32_haddps ((__v4sf)__X, (__v4sf)__Y); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_hsub_ps (__m128 __X, __m128 __Y) { return (__m128) __builtin_ia32_hsubps ((__v4sf)__X, (__v4sf)__Y); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_movehdup_ps (__m128 __X) { return (__m128) __builtin_ia32_movshdup ((__v4sf)__X); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_moveldup_ps (__m128 __X) { return (__m128) __builtin_ia32_movsldup ((__v4sf)__X); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_addsub_pd (__m128d __X, __m128d __Y) { return (__m128d) __builtin_ia32_addsubpd ((__v2df)__X, (__v2df)__Y); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_hadd_pd (__m128d __X, __m128d __Y) { return (__m128d) __builtin_ia32_haddpd ((__v2df)__X, (__v2df)__Y); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_hsub_pd (__m128d __X, __m128d __Y) { return (__m128d) __builtin_ia32_hsubpd ((__v2df)__X, (__v2df)__Y); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_loaddup_pd (double const *__P) { return _mm_load1_pd (__P); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_movedup_pd (__m128d __X) { return _mm_shuffle_pd (__X, __X, (((0) << 1) | (0))); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_lddqu_si128 (__m128i const *__P) { return (__m128i) __builtin_ia32_lddqu ((char const *)__P); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_monitor (void const * __P, unsigned int __E, unsigned int __H) { __builtin_ia32_monitor (__P, __E, __H); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_mwait (unsigned int __E, unsigned int __H) { __builtin_ia32_mwait (__E, __H); } #pragma GCC pop_options # 36 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/x86intrin.h" 2 3 4 # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/tmmintrin.h" 1 3 4 # 34 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/tmmintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("ssse3") extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_hadd_epi16 (__m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_phaddw128 ((__v8hi)__X, (__v8hi)__Y); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_hadd_epi32 (__m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_phaddd128 ((__v4si)__X, (__v4si)__Y); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_hadds_epi16 (__m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_phaddsw128 ((__v8hi)__X, (__v8hi)__Y); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_hadd_pi16 (__m64 __X, __m64 __Y) { return (__m64) __builtin_ia32_phaddw ((__v4hi)__X, (__v4hi)__Y); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_hadd_pi32 (__m64 __X, __m64 __Y) { return (__m64) __builtin_ia32_phaddd ((__v2si)__X, (__v2si)__Y); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_hadds_pi16 (__m64 __X, __m64 __Y) { return (__m64) __builtin_ia32_phaddsw ((__v4hi)__X, (__v4hi)__Y); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_hsub_epi16 (__m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_phsubw128 ((__v8hi)__X, (__v8hi)__Y); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_hsub_epi32 (__m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_phsubd128 ((__v4si)__X, (__v4si)__Y); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_hsubs_epi16 (__m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_phsubsw128 ((__v8hi)__X, (__v8hi)__Y); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_hsub_pi16 (__m64 __X, __m64 __Y) { return (__m64) __builtin_ia32_phsubw ((__v4hi)__X, (__v4hi)__Y); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_hsub_pi32 (__m64 __X, __m64 __Y) { return (__m64) __builtin_ia32_phsubd ((__v2si)__X, (__v2si)__Y); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_hsubs_pi16 (__m64 __X, __m64 __Y) { return (__m64) __builtin_ia32_phsubsw ((__v4hi)__X, (__v4hi)__Y); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_maddubs_epi16 (__m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_pmaddubsw128 ((__v16qi)__X, (__v16qi)__Y); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_maddubs_pi16 (__m64 __X, __m64 __Y) { return (__m64) __builtin_ia32_pmaddubsw ((__v8qi)__X, (__v8qi)__Y); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_mulhrs_epi16 (__m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_pmulhrsw128 ((__v8hi)__X, (__v8hi)__Y); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_mulhrs_pi16 (__m64 __X, __m64 __Y) { return (__m64) __builtin_ia32_pmulhrsw ((__v4hi)__X, (__v4hi)__Y); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_shuffle_epi8 (__m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_pshufb128 ((__v16qi)__X, (__v16qi)__Y); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_shuffle_pi8 (__m64 __X, __m64 __Y) { return (__m64) __builtin_ia32_pshufb ((__v8qi)__X, (__v8qi)__Y); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_sign_epi8 (__m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_psignb128 ((__v16qi)__X, (__v16qi)__Y); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_sign_epi16 (__m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_psignw128 ((__v8hi)__X, (__v8hi)__Y); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_sign_epi32 (__m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_psignd128 ((__v4si)__X, (__v4si)__Y); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_sign_pi8 (__m64 __X, __m64 __Y) { return (__m64) __builtin_ia32_psignb ((__v8qi)__X, (__v8qi)__Y); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_sign_pi16 (__m64 __X, __m64 __Y) { return (__m64) __builtin_ia32_psignw ((__v4hi)__X, (__v4hi)__Y); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_sign_pi32 (__m64 __X, __m64 __Y) { return (__m64) __builtin_ia32_psignd ((__v2si)__X, (__v2si)__Y); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N) { return (__m128i) __builtin_ia32_palignr128 ((__v2di)__X, (__v2di)__Y, __N * 8); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_alignr_pi8(__m64 __X, __m64 __Y, const int __N) { return (__m64) __builtin_ia32_palignr ((__v1di)__X, (__v1di)__Y, __N * 8); } # 208 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/tmmintrin.h" 3 4 extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_abs_epi8 (__m128i __X) { return (__m128i) __builtin_ia32_pabsb128 ((__v16qi)__X); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_abs_epi16 (__m128i __X) { return (__m128i) __builtin_ia32_pabsw128 ((__v8hi)__X); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_abs_epi32 (__m128i __X) { return (__m128i) __builtin_ia32_pabsd128 ((__v4si)__X); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_abs_pi8 (__m64 __X) { return (__m64) __builtin_ia32_pabsb ((__v8qi)__X); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_abs_pi16 (__m64 __X) { return (__m64) __builtin_ia32_pabsw ((__v4hi)__X); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_abs_pi32 (__m64 __X) { return (__m64) __builtin_ia32_pabsd ((__v2si)__X); } #pragma GCC pop_options # 38 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/x86intrin.h" 2 3 4 # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/ammintrin.h" 1 3 4 # 34 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/ammintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("sse4a") extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_stream_sd (double * __P, __m128d __Y) { __builtin_ia32_movntsd (__P, (__v2df) __Y); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_stream_ss (float * __P, __m128 __Y) { __builtin_ia32_movntss (__P, (__v4sf) __Y); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_extract_si64 (__m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_extrq ((__v2di) __X, (__v16qi) __Y); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_extracti_si64 (__m128i __X, unsigned const int __I, unsigned const int __L) { return (__m128i) __builtin_ia32_extrqi ((__v2di) __X, __I, __L); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_insert_si64 (__m128i __X,__m128i __Y) { return (__m128i) __builtin_ia32_insertq ((__v2di)__X, (__v2di)__Y); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_inserti_si64(__m128i __X, __m128i __Y, unsigned const int __I, unsigned const int __L) { return (__m128i) __builtin_ia32_insertqi ((__v2di)__X, (__v2di)__Y, __I, __L); } # 90 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/ammintrin.h" 3 4 #pragma GCC pop_options # 40 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/x86intrin.h" 2 3 4 # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/smmintrin.h" 1 3 4 # 35 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/smmintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("sse4.1") # 66 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/smmintrin.h" 3 4 extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_testz_si128 (__m128i __M, __m128i __V) { return __builtin_ia32_ptestz128 ((__v2di)__M, (__v2di)__V); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_testc_si128 (__m128i __M, __m128i __V) { return __builtin_ia32_ptestc128 ((__v2di)__M, (__v2di)__V); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_testnzc_si128 (__m128i __M, __m128i __V) { return __builtin_ia32_ptestnzc128 ((__v2di)__M, (__v2di)__V); } # 99 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/smmintrin.h" 3 4 extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_round_pd (__m128d __V, const int __M) { return (__m128d) __builtin_ia32_roundpd ((__v2df)__V, __M); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_round_sd(__m128d __D, __m128d __V, const int __M) { return (__m128d) __builtin_ia32_roundsd ((__v2df)__D, (__v2df)__V, __M); } # 124 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/smmintrin.h" 3 4 extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_round_ps (__m128 __V, const int __M) { return (__m128) __builtin_ia32_roundps ((__v4sf)__V, __M); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_round_ss (__m128 __D, __m128 __V, const int __M) { return (__m128) __builtin_ia32_roundss ((__v4sf)__D, (__v4sf)__V, __M); } # 165 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/smmintrin.h" 3 4 extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_blend_epi16 (__m128i __X, __m128i __Y, const int __M) { return (__m128i) __builtin_ia32_pblendw128 ((__v8hi)__X, (__v8hi)__Y, __M); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_blendv_epi8 (__m128i __X, __m128i __Y, __m128i __M) { return (__m128i) __builtin_ia32_pblendvb128 ((__v16qi)__X, (__v16qi)__Y, (__v16qi)__M); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_blend_ps (__m128 __X, __m128 __Y, const int __M) { return (__m128) __builtin_ia32_blendps ((__v4sf)__X, (__v4sf)__Y, __M); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_blendv_ps (__m128 __X, __m128 __Y, __m128 __M) { return (__m128) __builtin_ia32_blendvps ((__v4sf)__X, (__v4sf)__Y, (__v4sf)__M); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_blend_pd (__m128d __X, __m128d __Y, const int __M) { return (__m128d) __builtin_ia32_blendpd ((__v2df)__X, (__v2df)__Y, __M); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_blendv_pd (__m128d __X, __m128d __Y, __m128d __M) { return (__m128d) __builtin_ia32_blendvpd ((__v2df)__X, (__v2df)__Y, (__v2df)__M); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_dp_ps (__m128 __X, __m128 __Y, const int __M) { return (__m128) __builtin_ia32_dpps ((__v4sf)__X, (__v4sf)__Y, __M); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_dp_pd (__m128d __X, __m128d __Y, const int __M) { return (__m128d) __builtin_ia32_dppd ((__v2df)__X, (__v2df)__Y, __M); } # 267 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/smmintrin.h" 3 4 extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpeq_epi64 (__m128i __X, __m128i __Y) { return (__m128i) ((__v2di)__X == (__v2di)__Y); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_min_epi8 (__m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_pminsb128 ((__v16qi)__X, (__v16qi)__Y); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_max_epi8 (__m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_pmaxsb128 ((__v16qi)__X, (__v16qi)__Y); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_min_epu16 (__m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_pminuw128 ((__v8hi)__X, (__v8hi)__Y); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_max_epu16 (__m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_pmaxuw128 ((__v8hi)__X, (__v8hi)__Y); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_min_epi32 (__m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_pminsd128 ((__v4si)__X, (__v4si)__Y); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_max_epi32 (__m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_pmaxsd128 ((__v4si)__X, (__v4si)__Y); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_min_epu32 (__m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_pminud128 ((__v4si)__X, (__v4si)__Y); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_max_epu32 (__m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_pmaxud128 ((__v4si)__X, (__v4si)__Y); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_mullo_epi32 (__m128i __X, __m128i __Y) { return (__m128i) ((__v4su)__X * (__v4su)__Y); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_mul_epi32 (__m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_pmuldq128 ((__v4si)__X, (__v4si)__Y); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_insert_ps (__m128 __D, __m128 __S, const int __N) { return (__m128) __builtin_ia32_insertps128 ((__v4sf)__D, (__v4sf)__S, __N); } # 365 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/smmintrin.h" 3 4 extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_extract_ps (__m128 __X, const int __N) { union { int i; float f; } __tmp; __tmp.f = __builtin_ia32_vec_ext_v4sf ((__v4sf)__X, __N); return __tmp.i; } # 398 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/smmintrin.h" 3 4 extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_insert_epi8 (__m128i __D, int __S, const int __N) { return (__m128i) __builtin_ia32_vec_set_v16qi ((__v16qi)__D, __S, __N); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_insert_epi32 (__m128i __D, int __S, const int __N) { return (__m128i) __builtin_ia32_vec_set_v4si ((__v4si)__D, __S, __N); } # 440 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/smmintrin.h" 3 4 extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_extract_epi8 (__m128i __X, const int __N) { return (unsigned char) __builtin_ia32_vec_ext_v16qi ((__v16qi)__X, __N); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_extract_epi32 (__m128i __X, const int __N) { return __builtin_ia32_vec_ext_v4si ((__v4si)__X, __N); } # 473 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/smmintrin.h" 3 4 extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_minpos_epu16 (__m128i __X) { return (__m128i) __builtin_ia32_phminposuw128 ((__v8hi)__X); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtepi8_epi32 (__m128i __X) { return (__m128i) __builtin_ia32_pmovsxbd128 ((__v16qi)__X); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtepi16_epi32 (__m128i __X) { return (__m128i) __builtin_ia32_pmovsxwd128 ((__v8hi)__X); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtepi8_epi64 (__m128i __X) { return (__m128i) __builtin_ia32_pmovsxbq128 ((__v16qi)__X); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtepi32_epi64 (__m128i __X) { return (__m128i) __builtin_ia32_pmovsxdq128 ((__v4si)__X); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtepi16_epi64 (__m128i __X) { return (__m128i) __builtin_ia32_pmovsxwq128 ((__v8hi)__X); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtepi8_epi16 (__m128i __X) { return (__m128i) __builtin_ia32_pmovsxbw128 ((__v16qi)__X); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtepu8_epi32 (__m128i __X) { return (__m128i) __builtin_ia32_pmovzxbd128 ((__v16qi)__X); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtepu16_epi32 (__m128i __X) { return (__m128i) __builtin_ia32_pmovzxwd128 ((__v8hi)__X); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtepu8_epi64 (__m128i __X) { return (__m128i) __builtin_ia32_pmovzxbq128 ((__v16qi)__X); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtepu32_epi64 (__m128i __X) { return (__m128i) __builtin_ia32_pmovzxdq128 ((__v4si)__X); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtepu16_epi64 (__m128i __X) { return (__m128i) __builtin_ia32_pmovzxwq128 ((__v8hi)__X); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtepu8_epi16 (__m128i __X) { return (__m128i) __builtin_ia32_pmovzxbw128 ((__v16qi)__X); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_packus_epi32 (__m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_packusdw128 ((__v4si)__X, (__v4si)__Y); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_mpsadbw_epu8 (__m128i __X, __m128i __Y, const int __M) { return (__m128i) __builtin_ia32_mpsadbw128 ((__v16qi)__X, (__v16qi)__Y, __M); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_stream_load_si128 (__m128i *__X) { return (__m128i) __builtin_ia32_movntdqa ((__v2di *) __X); } #pragma GCC push_options #pragma GCC target("sse4.2") # 622 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/smmintrin.h" 3 4 extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpistrm (__m128i __X, __m128i __Y, const int __M) { return (__m128i) __builtin_ia32_pcmpistrm128 ((__v16qi)__X, (__v16qi)__Y, __M); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpistri (__m128i __X, __m128i __Y, const int __M) { return __builtin_ia32_pcmpistri128 ((__v16qi)__X, (__v16qi)__Y, __M); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpestrm (__m128i __X, int __LX, __m128i __Y, int __LY, const int __M) { return (__m128i) __builtin_ia32_pcmpestrm128 ((__v16qi)__X, __LX, (__v16qi)__Y, __LY, __M); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpestri (__m128i __X, int __LX, __m128i __Y, int __LY, const int __M) { return __builtin_ia32_pcmpestri128 ((__v16qi)__X, __LX, (__v16qi)__Y, __LY, __M); } # 675 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/smmintrin.h" 3 4 extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpistra (__m128i __X, __m128i __Y, const int __M) { return __builtin_ia32_pcmpistria128 ((__v16qi)__X, (__v16qi)__Y, __M); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpistrc (__m128i __X, __m128i __Y, const int __M) { return __builtin_ia32_pcmpistric128 ((__v16qi)__X, (__v16qi)__Y, __M); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpistro (__m128i __X, __m128i __Y, const int __M) { return __builtin_ia32_pcmpistrio128 ((__v16qi)__X, (__v16qi)__Y, __M); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpistrs (__m128i __X, __m128i __Y, const int __M) { return __builtin_ia32_pcmpistris128 ((__v16qi)__X, (__v16qi)__Y, __M); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpistrz (__m128i __X, __m128i __Y, const int __M) { return __builtin_ia32_pcmpistriz128 ((__v16qi)__X, (__v16qi)__Y, __M); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpestra (__m128i __X, int __LX, __m128i __Y, int __LY, const int __M) { return __builtin_ia32_pcmpestria128 ((__v16qi)__X, __LX, (__v16qi)__Y, __LY, __M); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpestrc (__m128i __X, int __LX, __m128i __Y, int __LY, const int __M) { return __builtin_ia32_pcmpestric128 ((__v16qi)__X, __LX, (__v16qi)__Y, __LY, __M); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpestro (__m128i __X, int __LX, __m128i __Y, int __LY, const int __M) { return __builtin_ia32_pcmpestrio128 ((__v16qi)__X, __LX, (__v16qi)__Y, __LY, __M); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpestrs (__m128i __X, int __LX, __m128i __Y, int __LY, const int __M) { return __builtin_ia32_pcmpestris128 ((__v16qi)__X, __LX, (__v16qi)__Y, __LY, __M); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpestrz (__m128i __X, int __LX, __m128i __Y, int __LY, const int __M) { return __builtin_ia32_pcmpestriz128 ((__v16qi)__X, __LX, (__v16qi)__Y, __LY, __M); } # 795 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/smmintrin.h" 3 4 extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpgt_epi64 (__m128i __X, __m128i __Y) { return (__m128i) ((__v2di)__X > (__v2di)__Y); } #pragma GCC pop_options #pragma GCC pop_options # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/popcntintrin.h" 1 3 4 # 28 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/popcntintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("popcnt") extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_popcnt_u32 (unsigned int __X) { return __builtin_popcount (__X); } # 50 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/popcntintrin.h" 3 4 #pragma GCC pop_options # 812 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/smmintrin.h" 2 3 4 #pragma GCC push_options #pragma GCC target("sse4.1") #pragma GCC push_options #pragma GCC target("sse4.2") extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_crc32_u8 (unsigned int __C, unsigned char __V) { return __builtin_ia32_crc32qi (__C, __V); } extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_crc32_u16 (unsigned int __C, unsigned short __V) { return __builtin_ia32_crc32hi (__C, __V); } extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_crc32_u32 (unsigned int __C, unsigned int __V) { return __builtin_ia32_crc32si (__C, __V); } # 854 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/smmintrin.h" 3 4 #pragma GCC pop_options #pragma GCC pop_options # 42 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/x86intrin.h" 2 3 4 # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/wmmintrin.h" 1 3 4 # 36 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/wmmintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("aes") extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_aesdec_si128 (__m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_aesdec128 ((__v2di)__X, (__v2di)__Y); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_aesdeclast_si128 (__m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_aesdeclast128 ((__v2di)__X, (__v2di)__Y); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_aesenc_si128 (__m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_aesenc128 ((__v2di)__X, (__v2di)__Y); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_aesenclast_si128 (__m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_aesenclast128 ((__v2di)__X, (__v2di)__Y); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_aesimc_si128 (__m128i __X) { return (__m128i) __builtin_ia32_aesimc128 ((__v2di)__X); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_aeskeygenassist_si128 (__m128i __X, const int __C) { return (__m128i) __builtin_ia32_aeskeygenassist128 ((__v2di)__X, __C); } # 99 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/wmmintrin.h" 3 4 #pragma GCC pop_options #pragma GCC push_options #pragma GCC target("pclmul") # 115 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/wmmintrin.h" 3 4 extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_clmulepi64_si128 (__m128i __X, __m128i __Y, const int __I) { return (__m128i) __builtin_ia32_pclmulqdq128 ((__v2di)__X, (__v2di)__Y, __I); } # 129 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/wmmintrin.h" 3 4 #pragma GCC pop_options # 44 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/x86intrin.h" 2 3 4 # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/immintrin.h" 1 3 4 # 41 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/immintrin.h" 3 4 # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avxintrin.h" 1 3 4 # 35 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avxintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("avx") typedef double __v4df __attribute__ ((__vector_size__ (32))); typedef float __v8sf __attribute__ ((__vector_size__ (32))); typedef long long __v4di __attribute__ ((__vector_size__ (32))); typedef unsigned long long __v4du __attribute__ ((__vector_size__ (32))); typedef int __v8si __attribute__ ((__vector_size__ (32))); typedef unsigned int __v8su __attribute__ ((__vector_size__ (32))); typedef short __v16hi __attribute__ ((__vector_size__ (32))); typedef unsigned short __v16hu __attribute__ ((__vector_size__ (32))); typedef char __v32qi __attribute__ ((__vector_size__ (32))); typedef unsigned char __v32qu __attribute__ ((__vector_size__ (32))); typedef float __m256 __attribute__ ((__vector_size__ (32), __may_alias__)); typedef long long __m256i __attribute__ ((__vector_size__ (32), __may_alias__)); typedef double __m256d __attribute__ ((__vector_size__ (32), __may_alias__)); # 128 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avxintrin.h" 3 4 extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_add_pd (__m256d __A, __m256d __B) { return (__m256d) ((__v4df)__A + (__v4df)__B); } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_add_ps (__m256 __A, __m256 __B) { return (__m256) ((__v8sf)__A + (__v8sf)__B); } extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_addsub_pd (__m256d __A, __m256d __B) { return (__m256d) __builtin_ia32_addsubpd256 ((__v4df)__A, (__v4df)__B); } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_addsub_ps (__m256 __A, __m256 __B) { return (__m256) __builtin_ia32_addsubps256 ((__v8sf)__A, (__v8sf)__B); } extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_and_pd (__m256d __A, __m256d __B) { return (__m256d) __builtin_ia32_andpd256 ((__v4df)__A, (__v4df)__B); } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_and_ps (__m256 __A, __m256 __B) { return (__m256) __builtin_ia32_andps256 ((__v8sf)__A, (__v8sf)__B); } extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_andnot_pd (__m256d __A, __m256d __B) { return (__m256d) __builtin_ia32_andnpd256 ((__v4df)__A, (__v4df)__B); } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_andnot_ps (__m256 __A, __m256 __B) { return (__m256) __builtin_ia32_andnps256 ((__v8sf)__A, (__v8sf)__B); } extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_blend_pd (__m256d __X, __m256d __Y, const int __M) { return (__m256d) __builtin_ia32_blendpd256 ((__v4df)__X, (__v4df)__Y, __M); } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_blend_ps (__m256 __X, __m256 __Y, const int __M) { return (__m256) __builtin_ia32_blendps256 ((__v8sf)__X, (__v8sf)__Y, __M); } # 206 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avxintrin.h" 3 4 extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_blendv_pd (__m256d __X, __m256d __Y, __m256d __M) { return (__m256d) __builtin_ia32_blendvpd256 ((__v4df)__X, (__v4df)__Y, (__v4df)__M); } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_blendv_ps (__m256 __X, __m256 __Y, __m256 __M) { return (__m256) __builtin_ia32_blendvps256 ((__v8sf)__X, (__v8sf)__Y, (__v8sf)__M); } extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_div_pd (__m256d __A, __m256d __B) { return (__m256d) ((__v4df)__A / (__v4df)__B); } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_div_ps (__m256 __A, __m256 __B) { return (__m256) ((__v8sf)__A / (__v8sf)__B); } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_dp_ps (__m256 __X, __m256 __Y, const int __M) { return (__m256) __builtin_ia32_dpps256 ((__v8sf)__X, (__v8sf)__Y, __M); } extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_hadd_pd (__m256d __X, __m256d __Y) { return (__m256d) __builtin_ia32_haddpd256 ((__v4df)__X, (__v4df)__Y); } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_hadd_ps (__m256 __X, __m256 __Y) { return (__m256) __builtin_ia32_haddps256 ((__v8sf)__X, (__v8sf)__Y); } extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_hsub_pd (__m256d __X, __m256d __Y) { return (__m256d) __builtin_ia32_hsubpd256 ((__v4df)__X, (__v4df)__Y); } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_hsub_ps (__m256 __X, __m256 __Y) { return (__m256) __builtin_ia32_hsubps256 ((__v8sf)__X, (__v8sf)__Y); } extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_max_pd (__m256d __A, __m256d __B) { return (__m256d) __builtin_ia32_maxpd256 ((__v4df)__A, (__v4df)__B); } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_max_ps (__m256 __A, __m256 __B) { return (__m256) __builtin_ia32_maxps256 ((__v8sf)__A, (__v8sf)__B); } extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_min_pd (__m256d __A, __m256d __B) { return (__m256d) __builtin_ia32_minpd256 ((__v4df)__A, (__v4df)__B); } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_min_ps (__m256 __A, __m256 __B) { return (__m256) __builtin_ia32_minps256 ((__v8sf)__A, (__v8sf)__B); } extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mul_pd (__m256d __A, __m256d __B) { return (__m256d) ((__v4df)__A * (__v4df)__B); } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mul_ps (__m256 __A, __m256 __B) { return (__m256) ((__v8sf)__A * (__v8sf)__B); } extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_or_pd (__m256d __A, __m256d __B) { return (__m256d) __builtin_ia32_orpd256 ((__v4df)__A, (__v4df)__B); } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_or_ps (__m256 __A, __m256 __B) { return (__m256) __builtin_ia32_orps256 ((__v8sf)__A, (__v8sf)__B); } extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_shuffle_pd (__m256d __A, __m256d __B, const int __mask) { return (__m256d) __builtin_ia32_shufpd256 ((__v4df)__A, (__v4df)__B, __mask); } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_shuffle_ps (__m256 __A, __m256 __B, const int __mask) { return (__m256) __builtin_ia32_shufps256 ((__v8sf)__A, (__v8sf)__B, __mask); } # 347 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avxintrin.h" 3 4 extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_sub_pd (__m256d __A, __m256d __B) { return (__m256d) ((__v4df)__A - (__v4df)__B); } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_sub_ps (__m256 __A, __m256 __B) { return (__m256) ((__v8sf)__A - (__v8sf)__B); } extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_xor_pd (__m256d __A, __m256d __B) { return (__m256d) __builtin_ia32_xorpd256 ((__v4df)__A, (__v4df)__B); } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_xor_ps (__m256 __A, __m256 __B) { return (__m256) __builtin_ia32_xorps256 ((__v8sf)__A, (__v8sf)__B); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmp_pd (__m128d __X, __m128d __Y, const int __P) { return (__m128d) __builtin_ia32_cmppd ((__v2df)__X, (__v2df)__Y, __P); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmp_ps (__m128 __X, __m128 __Y, const int __P) { return (__m128) __builtin_ia32_cmpps ((__v4sf)__X, (__v4sf)__Y, __P); } extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmp_pd (__m256d __X, __m256d __Y, const int __P) { return (__m256d) __builtin_ia32_cmppd256 ((__v4df)__X, (__v4df)__Y, __P); } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmp_ps (__m256 __X, __m256 __Y, const int __P) { return (__m256) __builtin_ia32_cmpps256 ((__v8sf)__X, (__v8sf)__Y, __P); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmp_sd (__m128d __X, __m128d __Y, const int __P) { return (__m128d) __builtin_ia32_cmpsd ((__v2df)__X, (__v2df)__Y, __P); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmp_ss (__m128 __X, __m128 __Y, const int __P) { return (__m128) __builtin_ia32_cmpss ((__v4sf)__X, (__v4sf)__Y, __P); } # 435 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avxintrin.h" 3 4 extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cvtepi32_pd (__m128i __A) { return (__m256d)__builtin_ia32_cvtdq2pd256 ((__v4si) __A); } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cvtepi32_ps (__m256i __A) { return (__m256)__builtin_ia32_cvtdq2ps256 ((__v8si) __A); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cvtpd_ps (__m256d __A) { return (__m128)__builtin_ia32_cvtpd2ps256 ((__v4df) __A); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cvtps_epi32 (__m256 __A) { return (__m256i)__builtin_ia32_cvtps2dq256 ((__v8sf) __A); } extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cvtps_pd (__m128 __A) { return (__m256d)__builtin_ia32_cvtps2pd256 ((__v4sf) __A); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cvttpd_epi32 (__m256d __A) { return (__m128i)__builtin_ia32_cvttpd2dq256 ((__v4df) __A); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cvtpd_epi32 (__m256d __A) { return (__m128i)__builtin_ia32_cvtpd2dq256 ((__v4df) __A); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cvttps_epi32 (__m256 __A) { return (__m256i)__builtin_ia32_cvttps2dq256 ((__v8sf) __A); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_extractf128_pd (__m256d __X, const int __N) { return (__m128d) __builtin_ia32_vextractf128_pd256 ((__v4df)__X, __N); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_extractf128_ps (__m256 __X, const int __N) { return (__m128) __builtin_ia32_vextractf128_ps256 ((__v8sf)__X, __N); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_extractf128_si256 (__m256i __X, const int __N) { return (__m128i) __builtin_ia32_vextractf128_si256 ((__v8si)__X, __N); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_extract_epi32 (__m256i __X, int const __N) { __m128i __Y = _mm256_extractf128_si256 (__X, __N >> 2); return _mm_extract_epi32 (__Y, __N % 4); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_extract_epi16 (__m256i __X, int const __N) { __m128i __Y = _mm256_extractf128_si256 (__X, __N >> 3); return _mm_extract_epi16 (__Y, __N % 8); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_extract_epi8 (__m256i __X, int const __N) { __m128i __Y = _mm256_extractf128_si256 (__X, __N >> 4); return _mm_extract_epi8 (__Y, __N % 16); } # 575 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avxintrin.h" 3 4 extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_zeroall (void) { __builtin_ia32_vzeroall (); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_zeroupper (void) { __builtin_ia32_vzeroupper (); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_permutevar_pd (__m128d __A, __m128i __C) { return (__m128d) __builtin_ia32_vpermilvarpd ((__v2df)__A, (__v2di)__C); } extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_permutevar_pd (__m256d __A, __m256i __C) { return (__m256d) __builtin_ia32_vpermilvarpd256 ((__v4df)__A, (__v4di)__C); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_permutevar_ps (__m128 __A, __m128i __C) { return (__m128) __builtin_ia32_vpermilvarps ((__v4sf)__A, (__v4si)__C); } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_permutevar_ps (__m256 __A, __m256i __C) { return (__m256) __builtin_ia32_vpermilvarps256 ((__v8sf)__A, (__v8si)__C); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_permute_pd (__m128d __X, const int __C) { return (__m128d) __builtin_ia32_vpermilpd ((__v2df)__X, __C); } extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_permute_pd (__m256d __X, const int __C) { return (__m256d) __builtin_ia32_vpermilpd256 ((__v4df)__X, __C); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_permute_ps (__m128 __X, const int __C) { return (__m128) __builtin_ia32_vpermilps ((__v4sf)__X, __C); } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_permute_ps (__m256 __X, const int __C) { return (__m256) __builtin_ia32_vpermilps256 ((__v8sf)__X, __C); } # 654 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avxintrin.h" 3 4 extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_permute2f128_pd (__m256d __X, __m256d __Y, const int __C) { return (__m256d) __builtin_ia32_vperm2f128_pd256 ((__v4df)__X, (__v4df)__Y, __C); } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_permute2f128_ps (__m256 __X, __m256 __Y, const int __C) { return (__m256) __builtin_ia32_vperm2f128_ps256 ((__v8sf)__X, (__v8sf)__Y, __C); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_permute2f128_si256 (__m256i __X, __m256i __Y, const int __C) { return (__m256i) __builtin_ia32_vperm2f128_si256 ((__v8si)__X, (__v8si)__Y, __C); } # 694 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avxintrin.h" 3 4 extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_broadcast_ss (float const *__X) { return (__m128) __builtin_ia32_vbroadcastss (__X); } extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_broadcast_sd (double const *__X) { return (__m256d) __builtin_ia32_vbroadcastsd256 (__X); } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_broadcast_ss (float const *__X) { return (__m256) __builtin_ia32_vbroadcastss256 (__X); } extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_broadcast_pd (__m128d const *__X) { return (__m256d) __builtin_ia32_vbroadcastf128_pd256 (__X); } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_broadcast_ps (__m128 const *__X) { return (__m256) __builtin_ia32_vbroadcastf128_ps256 (__X); } extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_insertf128_pd (__m256d __X, __m128d __Y, const int __O) { return (__m256d) __builtin_ia32_vinsertf128_pd256 ((__v4df)__X, (__v2df)__Y, __O); } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_insertf128_ps (__m256 __X, __m128 __Y, const int __O) { return (__m256) __builtin_ia32_vinsertf128_ps256 ((__v8sf)__X, (__v4sf)__Y, __O); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_insertf128_si256 (__m256i __X, __m128i __Y, const int __O) { return (__m256i) __builtin_ia32_vinsertf128_si256 ((__v8si)__X, (__v4si)__Y, __O); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_insert_epi32 (__m256i __X, int __D, int const __N) { __m128i __Y = _mm256_extractf128_si256 (__X, __N >> 2); __Y = _mm_insert_epi32 (__Y, __D, __N % 4); return _mm256_insertf128_si256 (__X, __Y, __N >> 2); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_insert_epi16 (__m256i __X, int __D, int const __N) { __m128i __Y = _mm256_extractf128_si256 (__X, __N >> 3); __Y = _mm_insert_epi16 (__Y, __D, __N % 8); return _mm256_insertf128_si256 (__X, __Y, __N >> 3); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_insert_epi8 (__m256i __X, int __D, int const __N) { __m128i __Y = _mm256_extractf128_si256 (__X, __N >> 4); __Y = _mm_insert_epi8 (__Y, __D, __N % 16); return _mm256_insertf128_si256 (__X, __Y, __N >> 4); } # 833 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avxintrin.h" 3 4 extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_load_pd (double const *__P) { return *(__m256d *)__P; } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_store_pd (double *__P, __m256d __A) { *(__m256d *)__P = __A; } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_load_ps (float const *__P) { return *(__m256 *)__P; } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_store_ps (float *__P, __m256 __A) { *(__m256 *)__P = __A; } extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_loadu_pd (double const *__P) { return (__m256d) __builtin_ia32_loadupd256 (__P); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_storeu_pd (double *__P, __m256d __A) { __builtin_ia32_storeupd256 (__P, (__v4df)__A); } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_loadu_ps (float const *__P) { return (__m256) __builtin_ia32_loadups256 (__P); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_storeu_ps (float *__P, __m256 __A) { __builtin_ia32_storeups256 (__P, (__v8sf)__A); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_load_si256 (__m256i const *__P) { return *__P; } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_store_si256 (__m256i *__P, __m256i __A) { *__P = __A; } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_loadu_si256 (__m256i const *__P) { return (__m256i) __builtin_ia32_loaddqu256 ((char const *)__P); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_storeu_si256 (__m256i *__P, __m256i __A) { __builtin_ia32_storedqu256 ((char *)__P, (__v32qi)__A); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskload_pd (double const *__P, __m128i __M) { return (__m128d) __builtin_ia32_maskloadpd ((const __v2df *)__P, (__v2di)__M); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskstore_pd (double *__P, __m128i __M, __m128d __A) { __builtin_ia32_maskstorepd ((__v2df *)__P, (__v2di)__M, (__v2df)__A); } extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskload_pd (double const *__P, __m256i __M) { return (__m256d) __builtin_ia32_maskloadpd256 ((const __v4df *)__P, (__v4di)__M); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskstore_pd (double *__P, __m256i __M, __m256d __A) { __builtin_ia32_maskstorepd256 ((__v4df *)__P, (__v4di)__M, (__v4df)__A); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskload_ps (float const *__P, __m128i __M) { return (__m128) __builtin_ia32_maskloadps ((const __v4sf *)__P, (__v4si)__M); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskstore_ps (float *__P, __m128i __M, __m128 __A) { __builtin_ia32_maskstoreps ((__v4sf *)__P, (__v4si)__M, (__v4sf)__A); } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskload_ps (float const *__P, __m256i __M) { return (__m256) __builtin_ia32_maskloadps256 ((const __v8sf *)__P, (__v8si)__M); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskstore_ps (float *__P, __m256i __M, __m256 __A) { __builtin_ia32_maskstoreps256 ((__v8sf *)__P, (__v8si)__M, (__v8sf)__A); } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_movehdup_ps (__m256 __X) { return (__m256) __builtin_ia32_movshdup256 ((__v8sf)__X); } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_moveldup_ps (__m256 __X) { return (__m256) __builtin_ia32_movsldup256 ((__v8sf)__X); } extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_movedup_pd (__m256d __X) { return (__m256d) __builtin_ia32_movddup256 ((__v4df)__X); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_lddqu_si256 (__m256i const *__P) { return (__m256i) __builtin_ia32_lddqu256 ((char const *)__P); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_stream_si256 (__m256i *__A, __m256i __B) { __builtin_ia32_movntdq256 ((__v4di *)__A, (__v4di)__B); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_stream_pd (double *__A, __m256d __B) { __builtin_ia32_movntpd256 (__A, (__v4df)__B); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_stream_ps (float *__P, __m256 __A) { __builtin_ia32_movntps256 (__P, (__v8sf)__A); } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_rcp_ps (__m256 __A) { return (__m256) __builtin_ia32_rcpps256 ((__v8sf)__A); } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_rsqrt_ps (__m256 __A) { return (__m256) __builtin_ia32_rsqrtps256 ((__v8sf)__A); } extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_sqrt_pd (__m256d __A) { return (__m256d) __builtin_ia32_sqrtpd256 ((__v4df)__A); } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_sqrt_ps (__m256 __A) { return (__m256) __builtin_ia32_sqrtps256 ((__v8sf)__A); } extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_round_pd (__m256d __V, const int __M) { return (__m256d) __builtin_ia32_roundpd256 ((__v4df)__V, __M); } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_round_ps (__m256 __V, const int __M) { return (__m256) __builtin_ia32_roundps256 ((__v8sf)__V, __M); } # 1048 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avxintrin.h" 3 4 extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_unpackhi_pd (__m256d __A, __m256d __B) { return (__m256d) __builtin_ia32_unpckhpd256 ((__v4df)__A, (__v4df)__B); } extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_unpacklo_pd (__m256d __A, __m256d __B) { return (__m256d) __builtin_ia32_unpcklpd256 ((__v4df)__A, (__v4df)__B); } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_unpackhi_ps (__m256 __A, __m256 __B) { return (__m256) __builtin_ia32_unpckhps256 ((__v8sf)__A, (__v8sf)__B); } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_unpacklo_ps (__m256 __A, __m256 __B) { return (__m256) __builtin_ia32_unpcklps256 ((__v8sf)__A, (__v8sf)__B); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_testz_pd (__m128d __M, __m128d __V) { return __builtin_ia32_vtestzpd ((__v2df)__M, (__v2df)__V); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_testc_pd (__m128d __M, __m128d __V) { return __builtin_ia32_vtestcpd ((__v2df)__M, (__v2df)__V); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_testnzc_pd (__m128d __M, __m128d __V) { return __builtin_ia32_vtestnzcpd ((__v2df)__M, (__v2df)__V); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_testz_ps (__m128 __M, __m128 __V) { return __builtin_ia32_vtestzps ((__v4sf)__M, (__v4sf)__V); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_testc_ps (__m128 __M, __m128 __V) { return __builtin_ia32_vtestcps ((__v4sf)__M, (__v4sf)__V); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_testnzc_ps (__m128 __M, __m128 __V) { return __builtin_ia32_vtestnzcps ((__v4sf)__M, (__v4sf)__V); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_testz_pd (__m256d __M, __m256d __V) { return __builtin_ia32_vtestzpd256 ((__v4df)__M, (__v4df)__V); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_testc_pd (__m256d __M, __m256d __V) { return __builtin_ia32_vtestcpd256 ((__v4df)__M, (__v4df)__V); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_testnzc_pd (__m256d __M, __m256d __V) { return __builtin_ia32_vtestnzcpd256 ((__v4df)__M, (__v4df)__V); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_testz_ps (__m256 __M, __m256 __V) { return __builtin_ia32_vtestzps256 ((__v8sf)__M, (__v8sf)__V); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_testc_ps (__m256 __M, __m256 __V) { return __builtin_ia32_vtestcps256 ((__v8sf)__M, (__v8sf)__V); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_testnzc_ps (__m256 __M, __m256 __V) { return __builtin_ia32_vtestnzcps256 ((__v8sf)__M, (__v8sf)__V); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_testz_si256 (__m256i __M, __m256i __V) { return __builtin_ia32_ptestz256 ((__v4di)__M, (__v4di)__V); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_testc_si256 (__m256i __M, __m256i __V) { return __builtin_ia32_ptestc256 ((__v4di)__M, (__v4di)__V); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_testnzc_si256 (__m256i __M, __m256i __V) { return __builtin_ia32_ptestnzc256 ((__v4di)__M, (__v4di)__V); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_movemask_pd (__m256d __A) { return __builtin_ia32_movmskpd256 ((__v4df)__A); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_movemask_ps (__m256 __A) { return __builtin_ia32_movmskps256 ((__v8sf)__A); } extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_undefined_pd (void) { __m256d __Y = __Y; return __Y; } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_undefined_ps (void) { __m256 __Y = __Y; return __Y; } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_undefined_si256 (void) { __m256i __Y = __Y; return __Y; } extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_setzero_pd (void) { return __extension__ (__m256d){ 0.0, 0.0, 0.0, 0.0 }; } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_setzero_ps (void) { return __extension__ (__m256){ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 }; } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_setzero_si256 (void) { return __extension__ (__m256i)(__v4di){ 0, 0, 0, 0 }; } extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_set_pd (double __A, double __B, double __C, double __D) { return __extension__ (__m256d){ __D, __C, __B, __A }; } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_set_ps (float __A, float __B, float __C, float __D, float __E, float __F, float __G, float __H) { return __extension__ (__m256){ __H, __G, __F, __E, __D, __C, __B, __A }; } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_set_epi32 (int __A, int __B, int __C, int __D, int __E, int __F, int __G, int __H) { return __extension__ (__m256i)(__v8si){ __H, __G, __F, __E, __D, __C, __B, __A }; } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_set_epi16 (short __q15, short __q14, short __q13, short __q12, short __q11, short __q10, short __q09, short __q08, short __q07, short __q06, short __q05, short __q04, short __q03, short __q02, short __q01, short __q00) { return __extension__ (__m256i)(__v16hi){ __q00, __q01, __q02, __q03, __q04, __q05, __q06, __q07, __q08, __q09, __q10, __q11, __q12, __q13, __q14, __q15 }; } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_set_epi8 (char __q31, char __q30, char __q29, char __q28, char __q27, char __q26, char __q25, char __q24, char __q23, char __q22, char __q21, char __q20, char __q19, char __q18, char __q17, char __q16, char __q15, char __q14, char __q13, char __q12, char __q11, char __q10, char __q09, char __q08, char __q07, char __q06, char __q05, char __q04, char __q03, char __q02, char __q01, char __q00) { return __extension__ (__m256i)(__v32qi){ __q00, __q01, __q02, __q03, __q04, __q05, __q06, __q07, __q08, __q09, __q10, __q11, __q12, __q13, __q14, __q15, __q16, __q17, __q18, __q19, __q20, __q21, __q22, __q23, __q24, __q25, __q26, __q27, __q28, __q29, __q30, __q31 }; } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_set_epi64x (long long __A, long long __B, long long __C, long long __D) { return __extension__ (__m256i)(__v4di){ __D, __C, __B, __A }; } extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_set1_pd (double __A) { return __extension__ (__m256d){ __A, __A, __A, __A }; } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_set1_ps (float __A) { return __extension__ (__m256){ __A, __A, __A, __A, __A, __A, __A, __A }; } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_set1_epi32 (int __A) { return __extension__ (__m256i)(__v8si){ __A, __A, __A, __A, __A, __A, __A, __A }; } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_set1_epi16 (short __A) { return _mm256_set_epi16 (__A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_set1_epi8 (char __A) { return _mm256_set_epi8 (__A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_set1_epi64x (long long __A) { return __extension__ (__m256i)(__v4di){ __A, __A, __A, __A }; } extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_setr_pd (double __A, double __B, double __C, double __D) { return _mm256_set_pd (__D, __C, __B, __A); } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_setr_ps (float __A, float __B, float __C, float __D, float __E, float __F, float __G, float __H) { return _mm256_set_ps (__H, __G, __F, __E, __D, __C, __B, __A); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_setr_epi32 (int __A, int __B, int __C, int __D, int __E, int __F, int __G, int __H) { return _mm256_set_epi32 (__H, __G, __F, __E, __D, __C, __B, __A); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_setr_epi16 (short __q15, short __q14, short __q13, short __q12, short __q11, short __q10, short __q09, short __q08, short __q07, short __q06, short __q05, short __q04, short __q03, short __q02, short __q01, short __q00) { return _mm256_set_epi16 (__q00, __q01, __q02, __q03, __q04, __q05, __q06, __q07, __q08, __q09, __q10, __q11, __q12, __q13, __q14, __q15); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_setr_epi8 (char __q31, char __q30, char __q29, char __q28, char __q27, char __q26, char __q25, char __q24, char __q23, char __q22, char __q21, char __q20, char __q19, char __q18, char __q17, char __q16, char __q15, char __q14, char __q13, char __q12, char __q11, char __q10, char __q09, char __q08, char __q07, char __q06, char __q05, char __q04, char __q03, char __q02, char __q01, char __q00) { return _mm256_set_epi8 (__q00, __q01, __q02, __q03, __q04, __q05, __q06, __q07, __q08, __q09, __q10, __q11, __q12, __q13, __q14, __q15, __q16, __q17, __q18, __q19, __q20, __q21, __q22, __q23, __q24, __q25, __q26, __q27, __q28, __q29, __q30, __q31); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_setr_epi64x (long long __A, long long __B, long long __C, long long __D) { return _mm256_set_epi64x (__D, __C, __B, __A); } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_castpd_ps (__m256d __A) { return (__m256) __A; } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_castpd_si256 (__m256d __A) { return (__m256i) __A; } extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_castps_pd (__m256 __A) { return (__m256d) __A; } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_castps_si256(__m256 __A) { return (__m256i) __A; } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_castsi256_ps (__m256i __A) { return (__m256) __A; } extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_castsi256_pd (__m256i __A) { return (__m256d) __A; } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_castpd256_pd128 (__m256d __A) { return (__m128d) __builtin_ia32_pd_pd256 ((__v4df)__A); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_castps256_ps128 (__m256 __A) { return (__m128) __builtin_ia32_ps_ps256 ((__v8sf)__A); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_castsi256_si128 (__m256i __A) { return (__m128i) __builtin_ia32_si_si256 ((__v8si)__A); } extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_castpd128_pd256 (__m128d __A) { return (__m256d) __builtin_ia32_pd256_pd ((__v2df)__A); } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_castps128_ps256 (__m128 __A) { return (__m256) __builtin_ia32_ps256_ps ((__v4sf)__A); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_castsi128_si256 (__m128i __A) { return (__m256i) __builtin_ia32_si256_si ((__v4si)__A); } #pragma GCC pop_options # 42 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx2intrin.h" 1 3 4 # 32 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx2intrin.h" 3 4 #pragma GCC push_options #pragma GCC target("avx2") extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mpsadbw_epu8 (__m256i __X, __m256i __Y, const int __M) { return (__m256i) __builtin_ia32_mpsadbw256 ((__v32qi)__X, (__v32qi)__Y, __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_abs_epi8 (__m256i __A) { return (__m256i)__builtin_ia32_pabsb256 ((__v32qi)__A); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_abs_epi16 (__m256i __A) { return (__m256i)__builtin_ia32_pabsw256 ((__v16hi)__A); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_abs_epi32 (__m256i __A) { return (__m256i)__builtin_ia32_pabsd256 ((__v8si)__A); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_packs_epi32 (__m256i __A, __m256i __B) { return (__m256i)__builtin_ia32_packssdw256 ((__v8si)__A, (__v8si)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_packs_epi16 (__m256i __A, __m256i __B) { return (__m256i)__builtin_ia32_packsswb256 ((__v16hi)__A, (__v16hi)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_packus_epi32 (__m256i __A, __m256i __B) { return (__m256i)__builtin_ia32_packusdw256 ((__v8si)__A, (__v8si)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_packus_epi16 (__m256i __A, __m256i __B) { return (__m256i)__builtin_ia32_packuswb256 ((__v16hi)__A, (__v16hi)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_add_epi8 (__m256i __A, __m256i __B) { return (__m256i) ((__v32qu)__A + (__v32qu)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_add_epi16 (__m256i __A, __m256i __B) { return (__m256i) ((__v16hu)__A + (__v16hu)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_add_epi32 (__m256i __A, __m256i __B) { return (__m256i) ((__v8su)__A + (__v8su)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_add_epi64 (__m256i __A, __m256i __B) { return (__m256i) ((__v4du)__A + (__v4du)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_adds_epi8 (__m256i __A, __m256i __B) { return (__m256i)__builtin_ia32_paddsb256 ((__v32qi)__A, (__v32qi)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_adds_epi16 (__m256i __A, __m256i __B) { return (__m256i)__builtin_ia32_paddsw256 ((__v16hi)__A, (__v16hi)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_adds_epu8 (__m256i __A, __m256i __B) { return (__m256i)__builtin_ia32_paddusb256 ((__v32qi)__A, (__v32qi)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_adds_epu16 (__m256i __A, __m256i __B) { return (__m256i)__builtin_ia32_paddusw256 ((__v16hi)__A, (__v16hi)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_alignr_epi8 (__m256i __A, __m256i __B, const int __N) { return (__m256i) __builtin_ia32_palignr256 ((__v4di)__A, (__v4di)__B, __N * 8); } # 177 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx2intrin.h" 3 4 extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_and_si256 (__m256i __A, __m256i __B) { return (__m256i) ((__v4du)__A & (__v4du)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_andnot_si256 (__m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_andnotsi256 ((__v4di)__A, (__v4di)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_avg_epu8 (__m256i __A, __m256i __B) { return (__m256i)__builtin_ia32_pavgb256 ((__v32qi)__A, (__v32qi)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_avg_epu16 (__m256i __A, __m256i __B) { return (__m256i)__builtin_ia32_pavgw256 ((__v16hi)__A, (__v16hi)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_blendv_epi8 (__m256i __X, __m256i __Y, __m256i __M) { return (__m256i) __builtin_ia32_pblendvb256 ((__v32qi)__X, (__v32qi)__Y, (__v32qi)__M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_blend_epi16 (__m256i __X, __m256i __Y, const int __M) { return (__m256i) __builtin_ia32_pblendw256 ((__v16hi)__X, (__v16hi)__Y, __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmpeq_epi8 (__m256i __A, __m256i __B) { return (__m256i) ((__v32qi)__A == (__v32qi)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmpeq_epi16 (__m256i __A, __m256i __B) { return (__m256i) ((__v16hi)__A == (__v16hi)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmpeq_epi32 (__m256i __A, __m256i __B) { return (__m256i) ((__v8si)__A == (__v8si)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmpeq_epi64 (__m256i __A, __m256i __B) { return (__m256i) ((__v4di)__A == (__v4di)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmpgt_epi8 (__m256i __A, __m256i __B) { return (__m256i) ((__v32qi)__A > (__v32qi)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmpgt_epi16 (__m256i __A, __m256i __B) { return (__m256i) ((__v16hi)__A > (__v16hi)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmpgt_epi32 (__m256i __A, __m256i __B) { return (__m256i) ((__v8si)__A > (__v8si)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmpgt_epi64 (__m256i __A, __m256i __B) { return (__m256i) ((__v4di)__A > (__v4di)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_hadd_epi16 (__m256i __X, __m256i __Y) { return (__m256i) __builtin_ia32_phaddw256 ((__v16hi)__X, (__v16hi)__Y); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_hadd_epi32 (__m256i __X, __m256i __Y) { return (__m256i) __builtin_ia32_phaddd256 ((__v8si)__X, (__v8si)__Y); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_hadds_epi16 (__m256i __X, __m256i __Y) { return (__m256i) __builtin_ia32_phaddsw256 ((__v16hi)__X, (__v16hi)__Y); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_hsub_epi16 (__m256i __X, __m256i __Y) { return (__m256i) __builtin_ia32_phsubw256 ((__v16hi)__X, (__v16hi)__Y); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_hsub_epi32 (__m256i __X, __m256i __Y) { return (__m256i) __builtin_ia32_phsubd256 ((__v8si)__X, (__v8si)__Y); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_hsubs_epi16 (__m256i __X, __m256i __Y) { return (__m256i) __builtin_ia32_phsubsw256 ((__v16hi)__X, (__v16hi)__Y); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maddubs_epi16 (__m256i __X, __m256i __Y) { return (__m256i) __builtin_ia32_pmaddubsw256 ((__v32qi)__X, (__v32qi)__Y); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_madd_epi16 (__m256i __A, __m256i __B) { return (__m256i)__builtin_ia32_pmaddwd256 ((__v16hi)__A, (__v16hi)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_max_epi8 (__m256i __A, __m256i __B) { return (__m256i)__builtin_ia32_pmaxsb256 ((__v32qi)__A, (__v32qi)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_max_epi16 (__m256i __A, __m256i __B) { return (__m256i)__builtin_ia32_pmaxsw256 ((__v16hi)__A, (__v16hi)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_max_epi32 (__m256i __A, __m256i __B) { return (__m256i)__builtin_ia32_pmaxsd256 ((__v8si)__A, (__v8si)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_max_epu8 (__m256i __A, __m256i __B) { return (__m256i)__builtin_ia32_pmaxub256 ((__v32qi)__A, (__v32qi)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_max_epu16 (__m256i __A, __m256i __B) { return (__m256i)__builtin_ia32_pmaxuw256 ((__v16hi)__A, (__v16hi)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_max_epu32 (__m256i __A, __m256i __B) { return (__m256i)__builtin_ia32_pmaxud256 ((__v8si)__A, (__v8si)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_min_epi8 (__m256i __A, __m256i __B) { return (__m256i)__builtin_ia32_pminsb256 ((__v32qi)__A, (__v32qi)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_min_epi16 (__m256i __A, __m256i __B) { return (__m256i)__builtin_ia32_pminsw256 ((__v16hi)__A, (__v16hi)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_min_epi32 (__m256i __A, __m256i __B) { return (__m256i)__builtin_ia32_pminsd256 ((__v8si)__A, (__v8si)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_min_epu8 (__m256i __A, __m256i __B) { return (__m256i)__builtin_ia32_pminub256 ((__v32qi)__A, (__v32qi)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_min_epu16 (__m256i __A, __m256i __B) { return (__m256i)__builtin_ia32_pminuw256 ((__v16hi)__A, (__v16hi)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_min_epu32 (__m256i __A, __m256i __B) { return (__m256i)__builtin_ia32_pminud256 ((__v8si)__A, (__v8si)__B); } extern __inline int __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_movemask_epi8 (__m256i __A) { return __builtin_ia32_pmovmskb256 ((__v32qi)__A); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cvtepi8_epi16 (__m128i __X) { return (__m256i) __builtin_ia32_pmovsxbw256 ((__v16qi)__X); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cvtepi8_epi32 (__m128i __X) { return (__m256i) __builtin_ia32_pmovsxbd256 ((__v16qi)__X); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cvtepi8_epi64 (__m128i __X) { return (__m256i) __builtin_ia32_pmovsxbq256 ((__v16qi)__X); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cvtepi16_epi32 (__m128i __X) { return (__m256i) __builtin_ia32_pmovsxwd256 ((__v8hi)__X); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cvtepi16_epi64 (__m128i __X) { return (__m256i) __builtin_ia32_pmovsxwq256 ((__v8hi)__X); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cvtepi32_epi64 (__m128i __X) { return (__m256i) __builtin_ia32_pmovsxdq256 ((__v4si)__X); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cvtepu8_epi16 (__m128i __X) { return (__m256i) __builtin_ia32_pmovzxbw256 ((__v16qi)__X); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cvtepu8_epi32 (__m128i __X) { return (__m256i) __builtin_ia32_pmovzxbd256 ((__v16qi)__X); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cvtepu8_epi64 (__m128i __X) { return (__m256i) __builtin_ia32_pmovzxbq256 ((__v16qi)__X); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cvtepu16_epi32 (__m128i __X) { return (__m256i) __builtin_ia32_pmovzxwd256 ((__v8hi)__X); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cvtepu16_epi64 (__m128i __X) { return (__m256i) __builtin_ia32_pmovzxwq256 ((__v8hi)__X); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cvtepu32_epi64 (__m128i __X) { return (__m256i) __builtin_ia32_pmovzxdq256 ((__v4si)__X); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mul_epi32 (__m256i __X, __m256i __Y) { return (__m256i) __builtin_ia32_pmuldq256 ((__v8si)__X, (__v8si)__Y); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mulhrs_epi16 (__m256i __X, __m256i __Y) { return (__m256i) __builtin_ia32_pmulhrsw256 ((__v16hi)__X, (__v16hi)__Y); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mulhi_epu16 (__m256i __A, __m256i __B) { return (__m256i)__builtin_ia32_pmulhuw256 ((__v16hi)__A, (__v16hi)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mulhi_epi16 (__m256i __A, __m256i __B) { return (__m256i)__builtin_ia32_pmulhw256 ((__v16hi)__A, (__v16hi)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mullo_epi16 (__m256i __A, __m256i __B) { return (__m256i) ((__v16hu)__A * (__v16hu)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mullo_epi32 (__m256i __A, __m256i __B) { return (__m256i) ((__v8su)__A * (__v8su)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mul_epu32 (__m256i __A, __m256i __B) { return (__m256i)__builtin_ia32_pmuludq256 ((__v8si)__A, (__v8si)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_or_si256 (__m256i __A, __m256i __B) { return (__m256i) ((__v4du)__A | (__v4du)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_sad_epu8 (__m256i __A, __m256i __B) { return (__m256i)__builtin_ia32_psadbw256 ((__v32qi)__A, (__v32qi)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_shuffle_epi8 (__m256i __X, __m256i __Y) { return (__m256i) __builtin_ia32_pshufb256 ((__v32qi)__X, (__v32qi)__Y); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_shuffle_epi32 (__m256i __A, const int __mask) { return (__m256i)__builtin_ia32_pshufd256 ((__v8si)__A, __mask); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_shufflehi_epi16 (__m256i __A, const int __mask) { return (__m256i)__builtin_ia32_pshufhw256 ((__v16hi)__A, __mask); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_shufflelo_epi16 (__m256i __A, const int __mask) { return (__m256i)__builtin_ia32_pshuflw256 ((__v16hi)__A, __mask); } # 624 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx2intrin.h" 3 4 extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_sign_epi8 (__m256i __X, __m256i __Y) { return (__m256i) __builtin_ia32_psignb256 ((__v32qi)__X, (__v32qi)__Y); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_sign_epi16 (__m256i __X, __m256i __Y) { return (__m256i) __builtin_ia32_psignw256 ((__v16hi)__X, (__v16hi)__Y); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_sign_epi32 (__m256i __X, __m256i __Y) { return (__m256i) __builtin_ia32_psignd256 ((__v8si)__X, (__v8si)__Y); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_bslli_epi128 (__m256i __A, const int __N) { return (__m256i)__builtin_ia32_pslldqi256 (__A, __N * 8); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_slli_si256 (__m256i __A, const int __N) { return (__m256i)__builtin_ia32_pslldqi256 (__A, __N * 8); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_slli_epi16 (__m256i __A, int __B) { return (__m256i)__builtin_ia32_psllwi256 ((__v16hi)__A, __B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_sll_epi16 (__m256i __A, __m128i __B) { return (__m256i)__builtin_ia32_psllw256((__v16hi)__A, (__v8hi)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_slli_epi32 (__m256i __A, int __B) { return (__m256i)__builtin_ia32_pslldi256 ((__v8si)__A, __B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_sll_epi32 (__m256i __A, __m128i __B) { return (__m256i)__builtin_ia32_pslld256((__v8si)__A, (__v4si)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_slli_epi64 (__m256i __A, int __B) { return (__m256i)__builtin_ia32_psllqi256 ((__v4di)__A, __B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_sll_epi64 (__m256i __A, __m128i __B) { return (__m256i)__builtin_ia32_psllq256((__v4di)__A, (__v2di)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_srai_epi16 (__m256i __A, int __B) { return (__m256i)__builtin_ia32_psrawi256 ((__v16hi)__A, __B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_sra_epi16 (__m256i __A, __m128i __B) { return (__m256i)__builtin_ia32_psraw256 ((__v16hi)__A, (__v8hi)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_srai_epi32 (__m256i __A, int __B) { return (__m256i)__builtin_ia32_psradi256 ((__v8si)__A, __B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_sra_epi32 (__m256i __A, __m128i __B) { return (__m256i)__builtin_ia32_psrad256 ((__v8si)__A, (__v4si)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_bsrli_epi128 (__m256i __A, const int __N) { return (__m256i)__builtin_ia32_psrldqi256 (__A, __N * 8); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_srli_si256 (__m256i __A, const int __N) { return (__m256i)__builtin_ia32_psrldqi256 (__A, __N * 8); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_srli_epi16 (__m256i __A, int __B) { return (__m256i)__builtin_ia32_psrlwi256 ((__v16hi)__A, __B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_srl_epi16 (__m256i __A, __m128i __B) { return (__m256i)__builtin_ia32_psrlw256((__v16hi)__A, (__v8hi)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_srli_epi32 (__m256i __A, int __B) { return (__m256i)__builtin_ia32_psrldi256 ((__v8si)__A, __B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_srl_epi32 (__m256i __A, __m128i __B) { return (__m256i)__builtin_ia32_psrld256((__v8si)__A, (__v4si)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_srli_epi64 (__m256i __A, int __B) { return (__m256i)__builtin_ia32_psrlqi256 ((__v4di)__A, __B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_srl_epi64 (__m256i __A, __m128i __B) { return (__m256i)__builtin_ia32_psrlq256((__v4di)__A, (__v2di)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_sub_epi8 (__m256i __A, __m256i __B) { return (__m256i) ((__v32qu)__A - (__v32qu)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_sub_epi16 (__m256i __A, __m256i __B) { return (__m256i) ((__v16hu)__A - (__v16hu)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_sub_epi32 (__m256i __A, __m256i __B) { return (__m256i) ((__v8su)__A - (__v8su)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_sub_epi64 (__m256i __A, __m256i __B) { return (__m256i) ((__v4du)__A - (__v4du)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_subs_epi8 (__m256i __A, __m256i __B) { return (__m256i)__builtin_ia32_psubsb256 ((__v32qi)__A, (__v32qi)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_subs_epi16 (__m256i __A, __m256i __B) { return (__m256i)__builtin_ia32_psubsw256 ((__v16hi)__A, (__v16hi)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_subs_epu8 (__m256i __A, __m256i __B) { return (__m256i)__builtin_ia32_psubusb256 ((__v32qi)__A, (__v32qi)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_subs_epu16 (__m256i __A, __m256i __B) { return (__m256i)__builtin_ia32_psubusw256 ((__v16hi)__A, (__v16hi)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_unpackhi_epi8 (__m256i __A, __m256i __B) { return (__m256i)__builtin_ia32_punpckhbw256 ((__v32qi)__A, (__v32qi)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_unpackhi_epi16 (__m256i __A, __m256i __B) { return (__m256i)__builtin_ia32_punpckhwd256 ((__v16hi)__A, (__v16hi)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_unpackhi_epi32 (__m256i __A, __m256i __B) { return (__m256i)__builtin_ia32_punpckhdq256 ((__v8si)__A, (__v8si)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_unpackhi_epi64 (__m256i __A, __m256i __B) { return (__m256i)__builtin_ia32_punpckhqdq256 ((__v4di)__A, (__v4di)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_unpacklo_epi8 (__m256i __A, __m256i __B) { return (__m256i)__builtin_ia32_punpcklbw256 ((__v32qi)__A, (__v32qi)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_unpacklo_epi16 (__m256i __A, __m256i __B) { return (__m256i)__builtin_ia32_punpcklwd256 ((__v16hi)__A, (__v16hi)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_unpacklo_epi32 (__m256i __A, __m256i __B) { return (__m256i)__builtin_ia32_punpckldq256 ((__v8si)__A, (__v8si)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_unpacklo_epi64 (__m256i __A, __m256i __B) { return (__m256i)__builtin_ia32_punpcklqdq256 ((__v4di)__A, (__v4di)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_xor_si256 (__m256i __A, __m256i __B) { return (__m256i) ((__v4du)__A ^ (__v4du)__B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_stream_load_si256 (__m256i const *__X) { return (__m256i) __builtin_ia32_movntdqa256 ((__v4di *) __X); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_broadcastss_ps (__m128 __X) { return (__m128) __builtin_ia32_vbroadcastss_ps ((__v4sf)__X); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_broadcastss_ps (__m128 __X) { return (__m256) __builtin_ia32_vbroadcastss_ps256 ((__v4sf)__X); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_broadcastsd_pd (__m128d __X) { return (__m256d) __builtin_ia32_vbroadcastsd_pd256 ((__v2df)__X); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_broadcastsi128_si256 (__m128i __X) { return (__m256i) __builtin_ia32_vbroadcastsi256 ((__v2di)__X); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_blend_epi32 (__m128i __X, __m128i __Y, const int __M) { return (__m128i) __builtin_ia32_pblendd128 ((__v4si)__X, (__v4si)__Y, __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_blend_epi32 (__m256i __X, __m256i __Y, const int __M) { return (__m256i) __builtin_ia32_pblendd256 ((__v8si)__X, (__v8si)__Y, __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_broadcastb_epi8 (__m128i __X) { return (__m256i) __builtin_ia32_pbroadcastb256 ((__v16qi)__X); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_broadcastw_epi16 (__m128i __X) { return (__m256i) __builtin_ia32_pbroadcastw256 ((__v8hi)__X); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_broadcastd_epi32 (__m128i __X) { return (__m256i) __builtin_ia32_pbroadcastd256 ((__v4si)__X); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_broadcastq_epi64 (__m128i __X) { return (__m256i) __builtin_ia32_pbroadcastq256 ((__v2di)__X); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_broadcastb_epi8 (__m128i __X) { return (__m128i) __builtin_ia32_pbroadcastb128 ((__v16qi)__X); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_broadcastw_epi16 (__m128i __X) { return (__m128i) __builtin_ia32_pbroadcastw128 ((__v8hi)__X); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_broadcastd_epi32 (__m128i __X) { return (__m128i) __builtin_ia32_pbroadcastd128 ((__v4si)__X); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_broadcastq_epi64 (__m128i __X) { return (__m128i) __builtin_ia32_pbroadcastq128 ((__v2di)__X); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_permutevar8x32_epi32 (__m256i __X, __m256i __Y) { return (__m256i) __builtin_ia32_permvarsi256 ((__v8si)__X, (__v8si)__Y); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_permute4x64_pd (__m256d __X, const int __M) { return (__m256d) __builtin_ia32_permdf256 ((__v4df)__X, __M); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_permutevar8x32_ps (__m256 __X, __m256i __Y) { return (__m256) __builtin_ia32_permvarsf256 ((__v8sf)__X, (__v8si)__Y); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_permute4x64_epi64 (__m256i __X, const int __M) { return (__m256i) __builtin_ia32_permdi256 ((__v4di)__X, __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_permute2x128_si256 (__m256i __X, __m256i __Y, const int __M) { return (__m256i) __builtin_ia32_permti256 ((__v4di)__X, (__v4di)__Y, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_extracti128_si256 (__m256i __X, const int __M) { return (__m128i) __builtin_ia32_extract128i256 ((__v4di)__X, __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_inserti128_si256 (__m256i __X, __m128i __Y, const int __M) { return (__m256i) __builtin_ia32_insert128i256 ((__v4di)__X, (__v2di)__Y, __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskload_epi32 (int const *__X, __m256i __M ) { return (__m256i) __builtin_ia32_maskloadd256 ((const __v8si *)__X, (__v8si)__M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskload_epi64 (long long const *__X, __m256i __M ) { return (__m256i) __builtin_ia32_maskloadq256 ((const __v4di *)__X, (__v4di)__M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskload_epi32 (int const *__X, __m128i __M ) { return (__m128i) __builtin_ia32_maskloadd ((const __v4si *)__X, (__v4si)__M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskload_epi64 (long long const *__X, __m128i __M ) { return (__m128i) __builtin_ia32_maskloadq ((const __v2di *)__X, (__v2di)__M); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskstore_epi32 (int *__X, __m256i __M, __m256i __Y ) { __builtin_ia32_maskstored256 ((__v8si *)__X, (__v8si)__M, (__v8si)__Y); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskstore_epi64 (long long *__X, __m256i __M, __m256i __Y ) { __builtin_ia32_maskstoreq256 ((__v4di *)__X, (__v4di)__M, (__v4di)__Y); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskstore_epi32 (int *__X, __m128i __M, __m128i __Y ) { __builtin_ia32_maskstored ((__v4si *)__X, (__v4si)__M, (__v4si)__Y); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskstore_epi64 (long long *__X, __m128i __M, __m128i __Y ) { __builtin_ia32_maskstoreq (( __v2di *)__X, (__v2di)__M, (__v2di)__Y); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_sllv_epi32 (__m256i __X, __m256i __Y) { return (__m256i) __builtin_ia32_psllv8si ((__v8si)__X, (__v8si)__Y); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_sllv_epi32 (__m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_psllv4si ((__v4si)__X, (__v4si)__Y); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_sllv_epi64 (__m256i __X, __m256i __Y) { return (__m256i) __builtin_ia32_psllv4di ((__v4di)__X, (__v4di)__Y); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_sllv_epi64 (__m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_psllv2di ((__v2di)__X, (__v2di)__Y); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_srav_epi32 (__m256i __X, __m256i __Y) { return (__m256i) __builtin_ia32_psrav8si ((__v8si)__X, (__v8si)__Y); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_srav_epi32 (__m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_psrav4si ((__v4si)__X, (__v4si)__Y); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_srlv_epi32 (__m256i __X, __m256i __Y) { return (__m256i) __builtin_ia32_psrlv8si ((__v8si)__X, (__v8si)__Y); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_srlv_epi32 (__m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_psrlv4si ((__v4si)__X, (__v4si)__Y); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_srlv_epi64 (__m256i __X, __m256i __Y) { return (__m256i) __builtin_ia32_psrlv4di ((__v4di)__X, (__v4di)__Y); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_srlv_epi64 (__m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_psrlv2di ((__v2di)__X, (__v2di)__Y); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_i32gather_pd (double const *base, __m128i index, const int scale) { __v2df zero = _mm_setzero_pd (); __v2df mask = _mm_cmpeq_pd (zero, zero); return (__m128d) __builtin_ia32_gathersiv2df (_mm_undefined_pd (), base, (__v4si)index, mask, scale); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_i32gather_pd (__m128d src, double const *base, __m128i index, __m128d mask, const int scale) { return (__m128d) __builtin_ia32_gathersiv2df ((__v2df)src, base, (__v4si)index, (__v2df)mask, scale); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_i32gather_pd (double const *base, __m128i index, const int scale) { __v4df zero = _mm256_setzero_pd (); __v4df mask = _mm256_cmp_pd (zero, zero, 0x00); return (__m256d) __builtin_ia32_gathersiv4df (_mm256_undefined_pd (), base, (__v4si)index, mask, scale); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_i32gather_pd (__m256d src, double const *base, __m128i index, __m256d mask, const int scale) { return (__m256d) __builtin_ia32_gathersiv4df ((__v4df)src, base, (__v4si)index, (__v4df)mask, scale); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_i64gather_pd (double const *base, __m128i index, const int scale) { __v2df src = _mm_setzero_pd (); __v2df mask = _mm_cmpeq_pd (src, src); return (__m128d) __builtin_ia32_gatherdiv2df (src, base, (__v2di)index, mask, scale); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_i64gather_pd (__m128d src, double const *base, __m128i index, __m128d mask, const int scale) { return (__m128d) __builtin_ia32_gatherdiv2df ((__v2df)src, base, (__v2di)index, (__v2df)mask, scale); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_i64gather_pd (double const *base, __m256i index, const int scale) { __v4df src = _mm256_setzero_pd (); __v4df mask = _mm256_cmp_pd (src, src, 0x00); return (__m256d) __builtin_ia32_gatherdiv4df (src, base, (__v4di)index, mask, scale); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_i64gather_pd (__m256d src, double const *base, __m256i index, __m256d mask, const int scale) { return (__m256d) __builtin_ia32_gatherdiv4df ((__v4df)src, base, (__v4di)index, (__v4df)mask, scale); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_i32gather_ps (float const *base, __m128i index, const int scale) { __v4sf src = _mm_setzero_ps (); __v4sf mask = _mm_cmpeq_ps (src, src); return (__m128) __builtin_ia32_gathersiv4sf (src, base, (__v4si)index, mask, scale); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_i32gather_ps (__m128 src, float const *base, __m128i index, __m128 mask, const int scale) { return (__m128) __builtin_ia32_gathersiv4sf ((__v4sf)src, base, (__v4si)index, (__v4sf)mask, scale); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_i32gather_ps (float const *base, __m256i index, const int scale) { __v8sf src = _mm256_setzero_ps (); __v8sf mask = _mm256_cmp_ps (src, src, 0x00); return (__m256) __builtin_ia32_gathersiv8sf (src, base, (__v8si)index, mask, scale); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_i32gather_ps (__m256 src, float const *base, __m256i index, __m256 mask, const int scale) { return (__m256) __builtin_ia32_gathersiv8sf ((__v8sf)src, base, (__v8si)index, (__v8sf)mask, scale); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_i64gather_ps (float const *base, __m128i index, const int scale) { __v4sf src = _mm_setzero_ps (); __v4sf mask = _mm_cmpeq_ps (src, src); return (__m128) __builtin_ia32_gatherdiv4sf (src, base, (__v2di)index, mask, scale); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_i64gather_ps (__m128 src, float const *base, __m128i index, __m128 mask, const int scale) { return (__m128) __builtin_ia32_gatherdiv4sf ((__v4sf)src, base, (__v2di)index, (__v4sf)mask, scale); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_i64gather_ps (float const *base, __m256i index, const int scale) { __v4sf src = _mm_setzero_ps (); __v4sf mask = _mm_cmpeq_ps (src, src); return (__m128) __builtin_ia32_gatherdiv4sf256 (src, base, (__v4di)index, mask, scale); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_i64gather_ps (__m128 src, float const *base, __m256i index, __m128 mask, const int scale) { return (__m128) __builtin_ia32_gatherdiv4sf256 ((__v4sf)src, base, (__v4di)index, (__v4sf)mask, scale); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_i32gather_epi64 (long long int const *base, __m128i index, const int scale) { __v2di src = __extension__ (__v2di){ 0, 0 }; __v2di mask = __extension__ (__v2di){ ~0, ~0 }; return (__m128i) __builtin_ia32_gathersiv2di (src, base, (__v4si)index, mask, scale); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_i32gather_epi64 (__m128i src, long long int const *base, __m128i index, __m128i mask, const int scale) { return (__m128i) __builtin_ia32_gathersiv2di ((__v2di)src, base, (__v4si)index, (__v2di)mask, scale); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_i32gather_epi64 (long long int const *base, __m128i index, const int scale) { __v4di src = __extension__ (__v4di){ 0, 0, 0, 0 }; __v4di mask = __extension__ (__v4di){ ~0, ~0, ~0, ~0 }; return (__m256i) __builtin_ia32_gathersiv4di (src, base, (__v4si)index, mask, scale); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_i32gather_epi64 (__m256i src, long long int const *base, __m128i index, __m256i mask, const int scale) { return (__m256i) __builtin_ia32_gathersiv4di ((__v4di)src, base, (__v4si)index, (__v4di)mask, scale); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_i64gather_epi64 (long long int const *base, __m128i index, const int scale) { __v2di src = __extension__ (__v2di){ 0, 0 }; __v2di mask = __extension__ (__v2di){ ~0, ~0 }; return (__m128i) __builtin_ia32_gatherdiv2di (src, base, (__v2di)index, mask, scale); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_i64gather_epi64 (__m128i src, long long int const *base, __m128i index, __m128i mask, const int scale) { return (__m128i) __builtin_ia32_gatherdiv2di ((__v2di)src, base, (__v2di)index, (__v2di)mask, scale); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_i64gather_epi64 (long long int const *base, __m256i index, const int scale) { __v4di src = __extension__ (__v4di){ 0, 0, 0, 0 }; __v4di mask = __extension__ (__v4di){ ~0, ~0, ~0, ~0 }; return (__m256i) __builtin_ia32_gatherdiv4di (src, base, (__v4di)index, mask, scale); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_i64gather_epi64 (__m256i src, long long int const *base, __m256i index, __m256i mask, const int scale) { return (__m256i) __builtin_ia32_gatherdiv4di ((__v4di)src, base, (__v4di)index, (__v4di)mask, scale); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_i32gather_epi32 (int const *base, __m128i index, const int scale) { __v4si src = __extension__ (__v4si){ 0, 0, 0, 0 }; __v4si mask = __extension__ (__v4si){ ~0, ~0, ~0, ~0 }; return (__m128i) __builtin_ia32_gathersiv4si (src, base, (__v4si)index, mask, scale); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_i32gather_epi32 (__m128i src, int const *base, __m128i index, __m128i mask, const int scale) { return (__m128i) __builtin_ia32_gathersiv4si ((__v4si)src, base, (__v4si)index, (__v4si)mask, scale); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_i32gather_epi32 (int const *base, __m256i index, const int scale) { __v8si src = __extension__ (__v8si){ 0, 0, 0, 0, 0, 0, 0, 0 }; __v8si mask = __extension__ (__v8si){ ~0, ~0, ~0, ~0, ~0, ~0, ~0, ~0 }; return (__m256i) __builtin_ia32_gathersiv8si (src, base, (__v8si)index, mask, scale); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_i32gather_epi32 (__m256i src, int const *base, __m256i index, __m256i mask, const int scale) { return (__m256i) __builtin_ia32_gathersiv8si ((__v8si)src, base, (__v8si)index, (__v8si)mask, scale); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_i64gather_epi32 (int const *base, __m128i index, const int scale) { __v4si src = __extension__ (__v4si){ 0, 0, 0, 0 }; __v4si mask = __extension__ (__v4si){ ~0, ~0, ~0, ~0 }; return (__m128i) __builtin_ia32_gatherdiv4si (src, base, (__v2di)index, mask, scale); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_i64gather_epi32 (__m128i src, int const *base, __m128i index, __m128i mask, const int scale) { return (__m128i) __builtin_ia32_gatherdiv4si ((__v4si)src, base, (__v2di)index, (__v4si)mask, scale); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_i64gather_epi32 (int const *base, __m256i index, const int scale) { __v4si src = __extension__ (__v4si){ 0, 0, 0, 0 }; __v4si mask = __extension__ (__v4si){ ~0, ~0, ~0, ~0 }; return (__m128i) __builtin_ia32_gatherdiv4si256 (src, base, (__v4di)index, mask, scale); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_i64gather_epi32 (__m128i src, int const *base, __m256i index, __m128i mask, const int scale) { return (__m128i) __builtin_ia32_gatherdiv4si256 ((__v4si)src, base, (__v4di)index, (__v4si)mask, scale); } # 1901 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx2intrin.h" 3 4 #pragma GCC pop_options # 44 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512fintrin.h" 1 3 4 # 32 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512fintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("avx512f") typedef double __v8df __attribute__ ((__vector_size__ (64))); typedef float __v16sf __attribute__ ((__vector_size__ (64))); typedef long long __v8di __attribute__ ((__vector_size__ (64))); typedef unsigned long long __v8du __attribute__ ((__vector_size__ (64))); typedef int __v16si __attribute__ ((__vector_size__ (64))); typedef unsigned int __v16su __attribute__ ((__vector_size__ (64))); typedef short __v32hi __attribute__ ((__vector_size__ (64))); typedef unsigned short __v32hu __attribute__ ((__vector_size__ (64))); typedef char __v64qi __attribute__ ((__vector_size__ (64))); typedef unsigned char __v64qu __attribute__ ((__vector_size__ (64))); typedef float __m512 __attribute__ ((__vector_size__ (64), __may_alias__)); typedef long long __m512i __attribute__ ((__vector_size__ (64), __may_alias__)); typedef double __m512d __attribute__ ((__vector_size__ (64), __may_alias__)); typedef unsigned char __mmask8; typedef unsigned short __mmask16; extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_set_epi64 (long long __A, long long __B, long long __C, long long __D, long long __E, long long __F, long long __G, long long __H) { return __extension__ (__m512i) (__v8di) { __H, __G, __F, __E, __D, __C, __B, __A }; } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_set_epi32 (int __A, int __B, int __C, int __D, int __E, int __F, int __G, int __H, int __I, int __J, int __K, int __L, int __M, int __N, int __O, int __P) { return __extension__ (__m512i)(__v16si) { __P, __O, __N, __M, __L, __K, __J, __I, __H, __G, __F, __E, __D, __C, __B, __A }; } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_set_pd (double __A, double __B, double __C, double __D, double __E, double __F, double __G, double __H) { return __extension__ (__m512d) { __H, __G, __F, __E, __D, __C, __B, __A }; } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_set_ps (float __A, float __B, float __C, float __D, float __E, float __F, float __G, float __H, float __I, float __J, float __K, float __L, float __M, float __N, float __O, float __P) { return __extension__ (__m512) { __P, __O, __N, __M, __L, __K, __J, __I, __H, __G, __F, __E, __D, __C, __B, __A }; } # 115 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512fintrin.h" 3 4 extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_undefined_ps (void) { __m512 __Y = __Y; return __Y; } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_undefined_pd (void) { __m512d __Y = __Y; return __Y; } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_undefined_si512 (void) { __m512i __Y = __Y; return __Y; } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_set1_epi8 (char __A) { return __extension__ (__m512i)(__v64qi) { __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A }; } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_set1_epi16 (short __A) { return __extension__ (__m512i)(__v32hi) { __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A, __A }; } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_set1_pd (double __A) { return (__m512d) __builtin_ia32_broadcastsd512 (__extension__ (__v2df) { __A, }, (__v8df) _mm512_undefined_pd (), (__mmask8) -1); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_set1_ps (float __A) { return (__m512) __builtin_ia32_broadcastss512 (__extension__ (__v4sf) { __A, }, (__v16sf) _mm512_undefined_ps (), (__mmask16) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_set4_epi32 (int __A, int __B, int __C, int __D) { return __extension__ (__m512i)(__v16si) { __D, __C, __B, __A, __D, __C, __B, __A, __D, __C, __B, __A, __D, __C, __B, __A }; } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_set4_epi64 (long long __A, long long __B, long long __C, long long __D) { return __extension__ (__m512i) (__v8di) { __D, __C, __B, __A, __D, __C, __B, __A }; } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_set4_pd (double __A, double __B, double __C, double __D) { return __extension__ (__m512d) { __D, __C, __B, __A, __D, __C, __B, __A }; } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_set4_ps (float __A, float __B, float __C, float __D) { return __extension__ (__m512) { __D, __C, __B, __A, __D, __C, __B, __A, __D, __C, __B, __A, __D, __C, __B, __A }; } # 235 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512fintrin.h" 3 4 extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_setzero_ps (void) { return __extension__ (__m512){ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 }; } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_setzero_pd (void) { return __extension__ (__m512d) { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 }; } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_setzero_epi32 (void) { return __extension__ (__m512i)(__v8di){ 0, 0, 0, 0, 0, 0, 0, 0 }; } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_setzero_si512 (void) { return __extension__ (__m512i)(__v8di){ 0, 0, 0, 0, 0, 0, 0, 0 }; } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_mov_pd (__m512d __W, __mmask8 __U, __m512d __A) { return (__m512d) __builtin_ia32_movapd512_mask ((__v8df) __A, (__v8df) __W, (__mmask8) __U); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_mov_pd (__mmask8 __U, __m512d __A) { return (__m512d) __builtin_ia32_movapd512_mask ((__v8df) __A, (__v8df) _mm512_setzero_pd (), (__mmask8) __U); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_mov_ps (__m512 __W, __mmask16 __U, __m512 __A) { return (__m512) __builtin_ia32_movaps512_mask ((__v16sf) __A, (__v16sf) __W, (__mmask16) __U); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_mov_ps (__mmask16 __U, __m512 __A) { return (__m512) __builtin_ia32_movaps512_mask ((__v16sf) __A, (__v16sf) _mm512_setzero_ps (), (__mmask16) __U); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_load_pd (void const *__P) { return *(__m512d *) __P; } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_load_pd (__m512d __W, __mmask8 __U, void const *__P) { return (__m512d) __builtin_ia32_loadapd512_mask ((const __v8df *) __P, (__v8df) __W, (__mmask8) __U); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_load_pd (__mmask8 __U, void const *__P) { return (__m512d) __builtin_ia32_loadapd512_mask ((const __v8df *) __P, (__v8df) _mm512_setzero_pd (), (__mmask8) __U); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_store_pd (void *__P, __m512d __A) { *(__m512d *) __P = __A; } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_store_pd (void *__P, __mmask8 __U, __m512d __A) { __builtin_ia32_storeapd512_mask ((__v8df *) __P, (__v8df) __A, (__mmask8) __U); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_load_ps (void const *__P) { return *(__m512 *) __P; } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_load_ps (__m512 __W, __mmask16 __U, void const *__P) { return (__m512) __builtin_ia32_loadaps512_mask ((const __v16sf *) __P, (__v16sf) __W, (__mmask16) __U); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_load_ps (__mmask16 __U, void const *__P) { return (__m512) __builtin_ia32_loadaps512_mask ((const __v16sf *) __P, (__v16sf) _mm512_setzero_ps (), (__mmask16) __U); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_store_ps (void *__P, __m512 __A) { *(__m512 *) __P = __A; } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_store_ps (void *__P, __mmask16 __U, __m512 __A) { __builtin_ia32_storeaps512_mask ((__v16sf *) __P, (__v16sf) __A, (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_mov_epi64 (__m512i __W, __mmask8 __U, __m512i __A) { return (__m512i) __builtin_ia32_movdqa64_512_mask ((__v8di) __A, (__v8di) __W, (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_mov_epi64 (__mmask8 __U, __m512i __A) { return (__m512i) __builtin_ia32_movdqa64_512_mask ((__v8di) __A, (__v8di) _mm512_setzero_si512 (), (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_load_epi64 (void const *__P) { return *(__m512i *) __P; } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_load_epi64 (__m512i __W, __mmask8 __U, void const *__P) { return (__m512i) __builtin_ia32_movdqa64load512_mask ((const __v8di *) __P, (__v8di) __W, (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_load_epi64 (__mmask8 __U, void const *__P) { return (__m512i) __builtin_ia32_movdqa64load512_mask ((const __v8di *) __P, (__v8di) _mm512_setzero_si512 (), (__mmask8) __U); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_store_epi64 (void *__P, __m512i __A) { *(__m512i *) __P = __A; } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_store_epi64 (void *__P, __mmask8 __U, __m512i __A) { __builtin_ia32_movdqa64store512_mask ((__v8di *) __P, (__v8di) __A, (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_mov_epi32 (__m512i __W, __mmask16 __U, __m512i __A) { return (__m512i) __builtin_ia32_movdqa32_512_mask ((__v16si) __A, (__v16si) __W, (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_mov_epi32 (__mmask16 __U, __m512i __A) { return (__m512i) __builtin_ia32_movdqa32_512_mask ((__v16si) __A, (__v16si) _mm512_setzero_si512 (), (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_load_si512 (void const *__P) { return *(__m512i *) __P; } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_load_epi32 (void const *__P) { return *(__m512i *) __P; } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_load_epi32 (__m512i __W, __mmask16 __U, void const *__P) { return (__m512i) __builtin_ia32_movdqa32load512_mask ((const __v16si *) __P, (__v16si) __W, (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_load_epi32 (__mmask16 __U, void const *__P) { return (__m512i) __builtin_ia32_movdqa32load512_mask ((const __v16si *) __P, (__v16si) _mm512_setzero_si512 (), (__mmask16) __U); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_store_si512 (void *__P, __m512i __A) { *(__m512i *) __P = __A; } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_store_epi32 (void *__P, __m512i __A) { *(__m512i *) __P = __A; } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_store_epi32 (void *__P, __mmask16 __U, __m512i __A) { __builtin_ia32_movdqa32store512_mask ((__v16si *) __P, (__v16si) __A, (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mullo_epi32 (__m512i __A, __m512i __B) { return (__m512i) ((__v16su) __A * (__v16su) __B); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_mullo_epi32 (__mmask16 __M, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pmulld512_mask ((__v16si) __A, (__v16si) __B, (__v16si) _mm512_setzero_si512 (), __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_mullo_epi32 (__m512i __W, __mmask16 __M, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pmulld512_mask ((__v16si) __A, (__v16si) __B, (__v16si) __W, __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_sllv_epi32 (__m512i __X, __m512i __Y) { return (__m512i) __builtin_ia32_psllv16si_mask ((__v16si) __X, (__v16si) __Y, (__v16si) _mm512_undefined_si512 (), (__mmask16) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_sllv_epi32 (__m512i __W, __mmask16 __U, __m512i __X, __m512i __Y) { return (__m512i) __builtin_ia32_psllv16si_mask ((__v16si) __X, (__v16si) __Y, (__v16si) __W, (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_sllv_epi32 (__mmask16 __U, __m512i __X, __m512i __Y) { return (__m512i) __builtin_ia32_psllv16si_mask ((__v16si) __X, (__v16si) __Y, (__v16si) _mm512_setzero_si512 (), (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_srav_epi32 (__m512i __X, __m512i __Y) { return (__m512i) __builtin_ia32_psrav16si_mask ((__v16si) __X, (__v16si) __Y, (__v16si) _mm512_undefined_si512 (), (__mmask16) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_srav_epi32 (__m512i __W, __mmask16 __U, __m512i __X, __m512i __Y) { return (__m512i) __builtin_ia32_psrav16si_mask ((__v16si) __X, (__v16si) __Y, (__v16si) __W, (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_srav_epi32 (__mmask16 __U, __m512i __X, __m512i __Y) { return (__m512i) __builtin_ia32_psrav16si_mask ((__v16si) __X, (__v16si) __Y, (__v16si) _mm512_setzero_si512 (), (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_srlv_epi32 (__m512i __X, __m512i __Y) { return (__m512i) __builtin_ia32_psrlv16si_mask ((__v16si) __X, (__v16si) __Y, (__v16si) _mm512_undefined_si512 (), (__mmask16) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_srlv_epi32 (__m512i __W, __mmask16 __U, __m512i __X, __m512i __Y) { return (__m512i) __builtin_ia32_psrlv16si_mask ((__v16si) __X, (__v16si) __Y, (__v16si) __W, (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_srlv_epi32 (__mmask16 __U, __m512i __X, __m512i __Y) { return (__m512i) __builtin_ia32_psrlv16si_mask ((__v16si) __X, (__v16si) __Y, (__v16si) _mm512_setzero_si512 (), (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_add_epi64 (__m512i __A, __m512i __B) { return (__m512i) ((__v8du) __A + (__v8du) __B); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_add_epi64 (__m512i __W, __mmask8 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_paddq512_mask ((__v8di) __A, (__v8di) __B, (__v8di) __W, (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_add_epi64 (__mmask8 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_paddq512_mask ((__v8di) __A, (__v8di) __B, (__v8di) _mm512_setzero_si512 (), (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_sub_epi64 (__m512i __A, __m512i __B) { return (__m512i) ((__v8du) __A - (__v8du) __B); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_sub_epi64 (__m512i __W, __mmask8 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_psubq512_mask ((__v8di) __A, (__v8di) __B, (__v8di) __W, (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_sub_epi64 (__mmask8 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_psubq512_mask ((__v8di) __A, (__v8di) __B, (__v8di) _mm512_setzero_si512 (), (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_sllv_epi64 (__m512i __X, __m512i __Y) { return (__m512i) __builtin_ia32_psllv8di_mask ((__v8di) __X, (__v8di) __Y, (__v8di) _mm512_undefined_pd (), (__mmask8) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_sllv_epi64 (__m512i __W, __mmask8 __U, __m512i __X, __m512i __Y) { return (__m512i) __builtin_ia32_psllv8di_mask ((__v8di) __X, (__v8di) __Y, (__v8di) __W, (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_sllv_epi64 (__mmask8 __U, __m512i __X, __m512i __Y) { return (__m512i) __builtin_ia32_psllv8di_mask ((__v8di) __X, (__v8di) __Y, (__v8di) _mm512_setzero_si512 (), (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_srav_epi64 (__m512i __X, __m512i __Y) { return (__m512i) __builtin_ia32_psrav8di_mask ((__v8di) __X, (__v8di) __Y, (__v8di) _mm512_undefined_si512 (), (__mmask8) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_srav_epi64 (__m512i __W, __mmask8 __U, __m512i __X, __m512i __Y) { return (__m512i) __builtin_ia32_psrav8di_mask ((__v8di) __X, (__v8di) __Y, (__v8di) __W, (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_srav_epi64 (__mmask8 __U, __m512i __X, __m512i __Y) { return (__m512i) __builtin_ia32_psrav8di_mask ((__v8di) __X, (__v8di) __Y, (__v8di) _mm512_setzero_si512 (), (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_srlv_epi64 (__m512i __X, __m512i __Y) { return (__m512i) __builtin_ia32_psrlv8di_mask ((__v8di) __X, (__v8di) __Y, (__v8di) _mm512_undefined_si512 (), (__mmask8) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_srlv_epi64 (__m512i __W, __mmask8 __U, __m512i __X, __m512i __Y) { return (__m512i) __builtin_ia32_psrlv8di_mask ((__v8di) __X, (__v8di) __Y, (__v8di) __W, (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_srlv_epi64 (__mmask8 __U, __m512i __X, __m512i __Y) { return (__m512i) __builtin_ia32_psrlv8di_mask ((__v8di) __X, (__v8di) __Y, (__v8di) _mm512_setzero_si512 (), (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_add_epi32 (__m512i __A, __m512i __B) { return (__m512i) ((__v16su) __A + (__v16su) __B); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_add_epi32 (__m512i __W, __mmask16 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_paddd512_mask ((__v16si) __A, (__v16si) __B, (__v16si) __W, (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_add_epi32 (__mmask16 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_paddd512_mask ((__v16si) __A, (__v16si) __B, (__v16si) _mm512_setzero_si512 (), (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mul_epi32 (__m512i __X, __m512i __Y) { return (__m512i) __builtin_ia32_pmuldq512_mask ((__v16si) __X, (__v16si) __Y, (__v8di) _mm512_undefined_si512 (), (__mmask8) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_mul_epi32 (__m512i __W, __mmask8 __M, __m512i __X, __m512i __Y) { return (__m512i) __builtin_ia32_pmuldq512_mask ((__v16si) __X, (__v16si) __Y, (__v8di) __W, __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_mul_epi32 (__mmask8 __M, __m512i __X, __m512i __Y) { return (__m512i) __builtin_ia32_pmuldq512_mask ((__v16si) __X, (__v16si) __Y, (__v8di) _mm512_setzero_si512 (), __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_sub_epi32 (__m512i __A, __m512i __B) { return (__m512i) ((__v16su) __A - (__v16su) __B); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_sub_epi32 (__m512i __W, __mmask16 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_psubd512_mask ((__v16si) __A, (__v16si) __B, (__v16si) __W, (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_sub_epi32 (__mmask16 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_psubd512_mask ((__v16si) __A, (__v16si) __B, (__v16si) _mm512_setzero_si512 (), (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mul_epu32 (__m512i __X, __m512i __Y) { return (__m512i) __builtin_ia32_pmuludq512_mask ((__v16si) __X, (__v16si) __Y, (__v8di) _mm512_undefined_si512 (), (__mmask8) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_mul_epu32 (__m512i __W, __mmask8 __M, __m512i __X, __m512i __Y) { return (__m512i) __builtin_ia32_pmuludq512_mask ((__v16si) __X, (__v16si) __Y, (__v8di) __W, __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_mul_epu32 (__mmask8 __M, __m512i __X, __m512i __Y) { return (__m512i) __builtin_ia32_pmuludq512_mask ((__v16si) __X, (__v16si) __Y, (__v8di) _mm512_setzero_si512 (), __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_slli_epi64 (__m512i __A, unsigned int __B) { return (__m512i) __builtin_ia32_psllqi512_mask ((__v8di) __A, __B, (__v8di) _mm512_undefined_si512 (), (__mmask8) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_slli_epi64 (__m512i __W, __mmask8 __U, __m512i __A, unsigned int __B) { return (__m512i) __builtin_ia32_psllqi512_mask ((__v8di) __A, __B, (__v8di) __W, (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_slli_epi64 (__mmask8 __U, __m512i __A, unsigned int __B) { return (__m512i) __builtin_ia32_psllqi512_mask ((__v8di) __A, __B, (__v8di) _mm512_setzero_si512 (), (__mmask8) __U); } # 958 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512fintrin.h" 3 4 extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_sll_epi64 (__m512i __A, __m128i __B) { return (__m512i) __builtin_ia32_psllq512_mask ((__v8di) __A, (__v2di) __B, (__v8di) _mm512_undefined_si512 (), (__mmask8) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_sll_epi64 (__m512i __W, __mmask8 __U, __m512i __A, __m128i __B) { return (__m512i) __builtin_ia32_psllq512_mask ((__v8di) __A, (__v2di) __B, (__v8di) __W, (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_sll_epi64 (__mmask8 __U, __m512i __A, __m128i __B) { return (__m512i) __builtin_ia32_psllq512_mask ((__v8di) __A, (__v2di) __B, (__v8di) _mm512_setzero_si512 (), (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_srli_epi64 (__m512i __A, unsigned int __B) { return (__m512i) __builtin_ia32_psrlqi512_mask ((__v8di) __A, __B, (__v8di) _mm512_undefined_si512 (), (__mmask8) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_srli_epi64 (__m512i __W, __mmask8 __U, __m512i __A, unsigned int __B) { return (__m512i) __builtin_ia32_psrlqi512_mask ((__v8di) __A, __B, (__v8di) __W, (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_srli_epi64 (__mmask8 __U, __m512i __A, unsigned int __B) { return (__m512i) __builtin_ia32_psrlqi512_mask ((__v8di) __A, __B, (__v8di) _mm512_setzero_si512 (), (__mmask8) __U); } # 1037 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512fintrin.h" 3 4 extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_srl_epi64 (__m512i __A, __m128i __B) { return (__m512i) __builtin_ia32_psrlq512_mask ((__v8di) __A, (__v2di) __B, (__v8di) _mm512_undefined_si512 (), (__mmask8) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_srl_epi64 (__m512i __W, __mmask8 __U, __m512i __A, __m128i __B) { return (__m512i) __builtin_ia32_psrlq512_mask ((__v8di) __A, (__v2di) __B, (__v8di) __W, (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_srl_epi64 (__mmask8 __U, __m512i __A, __m128i __B) { return (__m512i) __builtin_ia32_psrlq512_mask ((__v8di) __A, (__v2di) __B, (__v8di) _mm512_setzero_si512 (), (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_srai_epi64 (__m512i __A, unsigned int __B) { return (__m512i) __builtin_ia32_psraqi512_mask ((__v8di) __A, __B, (__v8di) _mm512_undefined_si512 (), (__mmask8) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_srai_epi64 (__m512i __W, __mmask8 __U, __m512i __A, unsigned int __B) { return (__m512i) __builtin_ia32_psraqi512_mask ((__v8di) __A, __B, (__v8di) __W, (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_srai_epi64 (__mmask8 __U, __m512i __A, unsigned int __B) { return (__m512i) __builtin_ia32_psraqi512_mask ((__v8di) __A, __B, (__v8di) _mm512_setzero_si512 (), (__mmask8) __U); } # 1116 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512fintrin.h" 3 4 extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_sra_epi64 (__m512i __A, __m128i __B) { return (__m512i) __builtin_ia32_psraq512_mask ((__v8di) __A, (__v2di) __B, (__v8di) _mm512_undefined_si512 (), (__mmask8) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_sra_epi64 (__m512i __W, __mmask8 __U, __m512i __A, __m128i __B) { return (__m512i) __builtin_ia32_psraq512_mask ((__v8di) __A, (__v2di) __B, (__v8di) __W, (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_sra_epi64 (__mmask8 __U, __m512i __A, __m128i __B) { return (__m512i) __builtin_ia32_psraq512_mask ((__v8di) __A, (__v2di) __B, (__v8di) _mm512_setzero_si512 (), (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_slli_epi32 (__m512i __A, unsigned int __B) { return (__m512i) __builtin_ia32_pslldi512_mask ((__v16si) __A, __B, (__v16si) _mm512_undefined_si512 (), (__mmask16) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_slli_epi32 (__m512i __W, __mmask16 __U, __m512i __A, unsigned int __B) { return (__m512i) __builtin_ia32_pslldi512_mask ((__v16si) __A, __B, (__v16si) __W, (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_slli_epi32 (__mmask16 __U, __m512i __A, unsigned int __B) { return (__m512i) __builtin_ia32_pslldi512_mask ((__v16si) __A, __B, (__v16si) _mm512_setzero_si512 (), (__mmask16) __U); } # 1195 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512fintrin.h" 3 4 extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_sll_epi32 (__m512i __A, __m128i __B) { return (__m512i) __builtin_ia32_pslld512_mask ((__v16si) __A, (__v4si) __B, (__v16si) _mm512_undefined_si512 (), (__mmask16) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_sll_epi32 (__m512i __W, __mmask16 __U, __m512i __A, __m128i __B) { return (__m512i) __builtin_ia32_pslld512_mask ((__v16si) __A, (__v4si) __B, (__v16si) __W, (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_sll_epi32 (__mmask16 __U, __m512i __A, __m128i __B) { return (__m512i) __builtin_ia32_pslld512_mask ((__v16si) __A, (__v4si) __B, (__v16si) _mm512_setzero_si512 (), (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_srli_epi32 (__m512i __A, unsigned int __B) { return (__m512i) __builtin_ia32_psrldi512_mask ((__v16si) __A, __B, (__v16si) _mm512_undefined_si512 (), (__mmask16) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_srli_epi32 (__m512i __W, __mmask16 __U, __m512i __A, unsigned int __B) { return (__m512i) __builtin_ia32_psrldi512_mask ((__v16si) __A, __B, (__v16si) __W, (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_srli_epi32 (__mmask16 __U, __m512i __A, unsigned int __B) { return (__m512i) __builtin_ia32_psrldi512_mask ((__v16si) __A, __B, (__v16si) _mm512_setzero_si512 (), (__mmask16) __U); } # 1274 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512fintrin.h" 3 4 extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_srl_epi32 (__m512i __A, __m128i __B) { return (__m512i) __builtin_ia32_psrld512_mask ((__v16si) __A, (__v4si) __B, (__v16si) _mm512_undefined_si512 (), (__mmask16) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_srl_epi32 (__m512i __W, __mmask16 __U, __m512i __A, __m128i __B) { return (__m512i) __builtin_ia32_psrld512_mask ((__v16si) __A, (__v4si) __B, (__v16si) __W, (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_srl_epi32 (__mmask16 __U, __m512i __A, __m128i __B) { return (__m512i) __builtin_ia32_psrld512_mask ((__v16si) __A, (__v4si) __B, (__v16si) _mm512_setzero_si512 (), (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_srai_epi32 (__m512i __A, unsigned int __B) { return (__m512i) __builtin_ia32_psradi512_mask ((__v16si) __A, __B, (__v16si) _mm512_undefined_si512 (), (__mmask16) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_srai_epi32 (__m512i __W, __mmask16 __U, __m512i __A, unsigned int __B) { return (__m512i) __builtin_ia32_psradi512_mask ((__v16si) __A, __B, (__v16si) __W, (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_srai_epi32 (__mmask16 __U, __m512i __A, unsigned int __B) { return (__m512i) __builtin_ia32_psradi512_mask ((__v16si) __A, __B, (__v16si) _mm512_setzero_si512 (), (__mmask16) __U); } # 1353 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512fintrin.h" 3 4 extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_sra_epi32 (__m512i __A, __m128i __B) { return (__m512i) __builtin_ia32_psrad512_mask ((__v16si) __A, (__v4si) __B, (__v16si) _mm512_undefined_si512 (), (__mmask16) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_sra_epi32 (__m512i __W, __mmask16 __U, __m512i __A, __m128i __B) { return (__m512i) __builtin_ia32_psrad512_mask ((__v16si) __A, (__v4si) __B, (__v16si) __W, (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_sra_epi32 (__mmask16 __U, __m512i __A, __m128i __B) { return (__m512i) __builtin_ia32_psrad512_mask ((__v16si) __A, (__v4si) __B, (__v16si) _mm512_setzero_si512 (), (__mmask16) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_add_round_sd (__m128d __A, __m128d __B, const int __R) { return (__m128d) __builtin_ia32_addsd_round ((__v2df) __A, (__v2df) __B, __R); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_add_round_ss (__m128 __A, __m128 __B, const int __R) { return (__m128) __builtin_ia32_addss_round ((__v4sf) __A, (__v4sf) __B, __R); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_sub_round_sd (__m128d __A, __m128d __B, const int __R) { return (__m128d) __builtin_ia32_subsd_round ((__v2df) __A, (__v2df) __B, __R); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_sub_round_ss (__m128 __A, __m128 __B, const int __R) { return (__m128) __builtin_ia32_subss_round ((__v4sf) __A, (__v4sf) __B, __R); } # 1437 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512fintrin.h" 3 4 extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_ternarylogic_epi64 (__m512i __A, __m512i __B, __m512i __C, const int imm) { return (__m512i) __builtin_ia32_pternlogq512_mask ((__v8di) __A, (__v8di) __B, (__v8di) __C, imm, (__mmask8) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_ternarylogic_epi64 (__m512i __A, __mmask8 __U, __m512i __B, __m512i __C, const int imm) { return (__m512i) __builtin_ia32_pternlogq512_mask ((__v8di) __A, (__v8di) __B, (__v8di) __C, imm, (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_ternarylogic_epi64 (__mmask8 __U, __m512i __A, __m512i __B, __m512i __C, const int imm) { return (__m512i) __builtin_ia32_pternlogq512_maskz ((__v8di) __A, (__v8di) __B, (__v8di) __C, imm, (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_ternarylogic_epi32 (__m512i __A, __m512i __B, __m512i __C, const int imm) { return (__m512i) __builtin_ia32_pternlogd512_mask ((__v16si) __A, (__v16si) __B, (__v16si) __C, imm, (__mmask16) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_ternarylogic_epi32 (__m512i __A, __mmask16 __U, __m512i __B, __m512i __C, const int imm) { return (__m512i) __builtin_ia32_pternlogd512_mask ((__v16si) __A, (__v16si) __B, (__v16si) __C, imm, (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_ternarylogic_epi32 (__mmask16 __U, __m512i __A, __m512i __B, __m512i __C, const int imm) { return (__m512i) __builtin_ia32_pternlogd512_maskz ((__v16si) __A, (__v16si) __B, (__v16si) __C, imm, (__mmask16) __U); } # 1524 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512fintrin.h" 3 4 extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_rcp14_pd (__m512d __A) { return (__m512d) __builtin_ia32_rcp14pd512_mask ((__v8df) __A, (__v8df) _mm512_undefined_pd (), (__mmask8) -1); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_rcp14_pd (__m512d __W, __mmask8 __U, __m512d __A) { return (__m512d) __builtin_ia32_rcp14pd512_mask ((__v8df) __A, (__v8df) __W, (__mmask8) __U); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_rcp14_pd (__mmask8 __U, __m512d __A) { return (__m512d) __builtin_ia32_rcp14pd512_mask ((__v8df) __A, (__v8df) _mm512_setzero_pd (), (__mmask8) __U); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_rcp14_ps (__m512 __A) { return (__m512) __builtin_ia32_rcp14ps512_mask ((__v16sf) __A, (__v16sf) _mm512_undefined_ps (), (__mmask16) -1); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_rcp14_ps (__m512 __W, __mmask16 __U, __m512 __A) { return (__m512) __builtin_ia32_rcp14ps512_mask ((__v16sf) __A, (__v16sf) __W, (__mmask16) __U); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_rcp14_ps (__mmask16 __U, __m512 __A) { return (__m512) __builtin_ia32_rcp14ps512_mask ((__v16sf) __A, (__v16sf) _mm512_setzero_ps (), (__mmask16) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_rcp14_sd (__m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_rcp14sd ((__v2df) __B, (__v2df) __A); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_rcp14_ss (__m128 __A, __m128 __B) { return (__m128) __builtin_ia32_rcp14ss ((__v4sf) __B, (__v4sf) __A); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_rsqrt14_pd (__m512d __A) { return (__m512d) __builtin_ia32_rsqrt14pd512_mask ((__v8df) __A, (__v8df) _mm512_undefined_pd (), (__mmask8) -1); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_rsqrt14_pd (__m512d __W, __mmask8 __U, __m512d __A) { return (__m512d) __builtin_ia32_rsqrt14pd512_mask ((__v8df) __A, (__v8df) __W, (__mmask8) __U); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_rsqrt14_pd (__mmask8 __U, __m512d __A) { return (__m512d) __builtin_ia32_rsqrt14pd512_mask ((__v8df) __A, (__v8df) _mm512_setzero_pd (), (__mmask8) __U); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_rsqrt14_ps (__m512 __A) { return (__m512) __builtin_ia32_rsqrt14ps512_mask ((__v16sf) __A, (__v16sf) _mm512_undefined_ps (), (__mmask16) -1); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_rsqrt14_ps (__m512 __W, __mmask16 __U, __m512 __A) { return (__m512) __builtin_ia32_rsqrt14ps512_mask ((__v16sf) __A, (__v16sf) __W, (__mmask16) __U); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_rsqrt14_ps (__mmask16 __U, __m512 __A) { return (__m512) __builtin_ia32_rsqrt14ps512_mask ((__v16sf) __A, (__v16sf) _mm512_setzero_ps (), (__mmask16) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_rsqrt14_sd (__m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_rsqrt14sd ((__v2df) __B, (__v2df) __A); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_rsqrt14_ss (__m128 __A, __m128 __B) { return (__m128) __builtin_ia32_rsqrt14ss ((__v4sf) __B, (__v4sf) __A); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_sqrt_round_pd (__m512d __A, const int __R) { return (__m512d) __builtin_ia32_sqrtpd512_mask ((__v8df) __A, (__v8df) _mm512_undefined_pd (), (__mmask8) -1, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_sqrt_round_pd (__m512d __W, __mmask8 __U, __m512d __A, const int __R) { return (__m512d) __builtin_ia32_sqrtpd512_mask ((__v8df) __A, (__v8df) __W, (__mmask8) __U, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_sqrt_round_pd (__mmask8 __U, __m512d __A, const int __R) { return (__m512d) __builtin_ia32_sqrtpd512_mask ((__v8df) __A, (__v8df) _mm512_setzero_pd (), (__mmask8) __U, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_sqrt_round_ps (__m512 __A, const int __R) { return (__m512) __builtin_ia32_sqrtps512_mask ((__v16sf) __A, (__v16sf) _mm512_undefined_ps (), (__mmask16) -1, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_sqrt_round_ps (__m512 __W, __mmask16 __U, __m512 __A, const int __R) { return (__m512) __builtin_ia32_sqrtps512_mask ((__v16sf) __A, (__v16sf) __W, (__mmask16) __U, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_sqrt_round_ps (__mmask16 __U, __m512 __A, const int __R) { return (__m512) __builtin_ia32_sqrtps512_mask ((__v16sf) __A, (__v16sf) _mm512_setzero_ps (), (__mmask16) __U, __R); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_sqrt_round_sd (__m128d __A, __m128d __B, const int __R) { return (__m128d) __builtin_ia32_sqrtsd_round ((__v2df) __B, (__v2df) __A, __R); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_sqrt_round_ss (__m128 __A, __m128 __B, const int __R) { return (__m128) __builtin_ia32_sqrtss_round ((__v4sf) __B, (__v4sf) __A, __R); } # 1775 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512fintrin.h" 3 4 extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvtepi8_epi32 (__m128i __A) { return (__m512i) __builtin_ia32_pmovsxbd512_mask ((__v16qi) __A, (__v16si) _mm512_undefined_si512 (), (__mmask16) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtepi8_epi32 (__m512i __W, __mmask16 __U, __m128i __A) { return (__m512i) __builtin_ia32_pmovsxbd512_mask ((__v16qi) __A, (__v16si) __W, (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvtepi8_epi32 (__mmask16 __U, __m128i __A) { return (__m512i) __builtin_ia32_pmovsxbd512_mask ((__v16qi) __A, (__v16si) _mm512_setzero_si512 (), (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvtepi8_epi64 (__m128i __A) { return (__m512i) __builtin_ia32_pmovsxbq512_mask ((__v16qi) __A, (__v8di) _mm512_undefined_si512 (), (__mmask8) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtepi8_epi64 (__m512i __W, __mmask8 __U, __m128i __A) { return (__m512i) __builtin_ia32_pmovsxbq512_mask ((__v16qi) __A, (__v8di) __W, (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvtepi8_epi64 (__mmask8 __U, __m128i __A) { return (__m512i) __builtin_ia32_pmovsxbq512_mask ((__v16qi) __A, (__v8di) _mm512_setzero_si512 (), (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvtepi16_epi32 (__m256i __A) { return (__m512i) __builtin_ia32_pmovsxwd512_mask ((__v16hi) __A, (__v16si) _mm512_undefined_si512 (), (__mmask16) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtepi16_epi32 (__m512i __W, __mmask16 __U, __m256i __A) { return (__m512i) __builtin_ia32_pmovsxwd512_mask ((__v16hi) __A, (__v16si) __W, (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvtepi16_epi32 (__mmask16 __U, __m256i __A) { return (__m512i) __builtin_ia32_pmovsxwd512_mask ((__v16hi) __A, (__v16si) _mm512_setzero_si512 (), (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvtepi16_epi64 (__m128i __A) { return (__m512i) __builtin_ia32_pmovsxwq512_mask ((__v8hi) __A, (__v8di) _mm512_undefined_si512 (), (__mmask8) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtepi16_epi64 (__m512i __W, __mmask8 __U, __m128i __A) { return (__m512i) __builtin_ia32_pmovsxwq512_mask ((__v8hi) __A, (__v8di) __W, (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvtepi16_epi64 (__mmask8 __U, __m128i __A) { return (__m512i) __builtin_ia32_pmovsxwq512_mask ((__v8hi) __A, (__v8di) _mm512_setzero_si512 (), (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvtepi32_epi64 (__m256i __X) { return (__m512i) __builtin_ia32_pmovsxdq512_mask ((__v8si) __X, (__v8di) _mm512_undefined_si512 (), (__mmask8) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtepi32_epi64 (__m512i __W, __mmask8 __U, __m256i __X) { return (__m512i) __builtin_ia32_pmovsxdq512_mask ((__v8si) __X, (__v8di) __W, (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvtepi32_epi64 (__mmask8 __U, __m256i __X) { return (__m512i) __builtin_ia32_pmovsxdq512_mask ((__v8si) __X, (__v8di) _mm512_setzero_si512 (), (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvtepu8_epi32 (__m128i __A) { return (__m512i) __builtin_ia32_pmovzxbd512_mask ((__v16qi) __A, (__v16si) _mm512_undefined_si512 (), (__mmask16) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtepu8_epi32 (__m512i __W, __mmask16 __U, __m128i __A) { return (__m512i) __builtin_ia32_pmovzxbd512_mask ((__v16qi) __A, (__v16si) __W, (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvtepu8_epi32 (__mmask16 __U, __m128i __A) { return (__m512i) __builtin_ia32_pmovzxbd512_mask ((__v16qi) __A, (__v16si) _mm512_setzero_si512 (), (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvtepu8_epi64 (__m128i __A) { return (__m512i) __builtin_ia32_pmovzxbq512_mask ((__v16qi) __A, (__v8di) _mm512_undefined_si512 (), (__mmask8) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtepu8_epi64 (__m512i __W, __mmask8 __U, __m128i __A) { return (__m512i) __builtin_ia32_pmovzxbq512_mask ((__v16qi) __A, (__v8di) __W, (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvtepu8_epi64 (__mmask8 __U, __m128i __A) { return (__m512i) __builtin_ia32_pmovzxbq512_mask ((__v16qi) __A, (__v8di) _mm512_setzero_si512 (), (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvtepu16_epi32 (__m256i __A) { return (__m512i) __builtin_ia32_pmovzxwd512_mask ((__v16hi) __A, (__v16si) _mm512_undefined_si512 (), (__mmask16) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtepu16_epi32 (__m512i __W, __mmask16 __U, __m256i __A) { return (__m512i) __builtin_ia32_pmovzxwd512_mask ((__v16hi) __A, (__v16si) __W, (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvtepu16_epi32 (__mmask16 __U, __m256i __A) { return (__m512i) __builtin_ia32_pmovzxwd512_mask ((__v16hi) __A, (__v16si) _mm512_setzero_si512 (), (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvtepu16_epi64 (__m128i __A) { return (__m512i) __builtin_ia32_pmovzxwq512_mask ((__v8hi) __A, (__v8di) _mm512_undefined_si512 (), (__mmask8) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtepu16_epi64 (__m512i __W, __mmask8 __U, __m128i __A) { return (__m512i) __builtin_ia32_pmovzxwq512_mask ((__v8hi) __A, (__v8di) __W, (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvtepu16_epi64 (__mmask8 __U, __m128i __A) { return (__m512i) __builtin_ia32_pmovzxwq512_mask ((__v8hi) __A, (__v8di) _mm512_setzero_si512 (), (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvtepu32_epi64 (__m256i __X) { return (__m512i) __builtin_ia32_pmovzxdq512_mask ((__v8si) __X, (__v8di) _mm512_undefined_si512 (), (__mmask8) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtepu32_epi64 (__m512i __W, __mmask8 __U, __m256i __X) { return (__m512i) __builtin_ia32_pmovzxdq512_mask ((__v8si) __X, (__v8di) __W, (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvtepu32_epi64 (__mmask8 __U, __m256i __X) { return (__m512i) __builtin_ia32_pmovzxdq512_mask ((__v8si) __X, (__v8di) _mm512_setzero_si512 (), (__mmask8) __U); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_add_round_pd (__m512d __A, __m512d __B, const int __R) { return (__m512d) __builtin_ia32_addpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) _mm512_undefined_pd (), (__mmask8) -1, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_add_round_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512d __B, const int __R) { return (__m512d) __builtin_ia32_addpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) __W, (__mmask8) __U, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_add_round_pd (__mmask8 __U, __m512d __A, __m512d __B, const int __R) { return (__m512d) __builtin_ia32_addpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) _mm512_setzero_pd (), (__mmask8) __U, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_add_round_ps (__m512 __A, __m512 __B, const int __R) { return (__m512) __builtin_ia32_addps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) _mm512_undefined_ps (), (__mmask16) -1, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_add_round_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B, const int __R) { return (__m512) __builtin_ia32_addps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) __W, (__mmask16) __U, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_add_round_ps (__mmask16 __U, __m512 __A, __m512 __B, const int __R) { return (__m512) __builtin_ia32_addps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) _mm512_setzero_ps (), (__mmask16) __U, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_sub_round_pd (__m512d __A, __m512d __B, const int __R) { return (__m512d) __builtin_ia32_subpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) _mm512_undefined_pd (), (__mmask8) -1, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_sub_round_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512d __B, const int __R) { return (__m512d) __builtin_ia32_subpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) __W, (__mmask8) __U, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_sub_round_pd (__mmask8 __U, __m512d __A, __m512d __B, const int __R) { return (__m512d) __builtin_ia32_subpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) _mm512_setzero_pd (), (__mmask8) __U, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_sub_round_ps (__m512 __A, __m512 __B, const int __R) { return (__m512) __builtin_ia32_subps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) _mm512_undefined_ps (), (__mmask16) -1, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_sub_round_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B, const int __R) { return (__m512) __builtin_ia32_subps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) __W, (__mmask16) __U, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_sub_round_ps (__mmask16 __U, __m512 __A, __m512 __B, const int __R) { return (__m512) __builtin_ia32_subps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) _mm512_setzero_ps (), (__mmask16) __U, __R); } # 2238 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512fintrin.h" 3 4 extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mul_round_pd (__m512d __A, __m512d __B, const int __R) { return (__m512d) __builtin_ia32_mulpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) _mm512_undefined_pd (), (__mmask8) -1, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_mul_round_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512d __B, const int __R) { return (__m512d) __builtin_ia32_mulpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) __W, (__mmask8) __U, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_mul_round_pd (__mmask8 __U, __m512d __A, __m512d __B, const int __R) { return (__m512d) __builtin_ia32_mulpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) _mm512_setzero_pd (), (__mmask8) __U, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mul_round_ps (__m512 __A, __m512 __B, const int __R) { return (__m512) __builtin_ia32_mulps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) _mm512_undefined_ps (), (__mmask16) -1, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_mul_round_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B, const int __R) { return (__m512) __builtin_ia32_mulps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) __W, (__mmask16) __U, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_mul_round_ps (__mmask16 __U, __m512 __A, __m512 __B, const int __R) { return (__m512) __builtin_ia32_mulps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) _mm512_setzero_ps (), (__mmask16) __U, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_div_round_pd (__m512d __M, __m512d __V, const int __R) { return (__m512d) __builtin_ia32_divpd512_mask ((__v8df) __M, (__v8df) __V, (__v8df) _mm512_undefined_pd (), (__mmask8) -1, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_div_round_pd (__m512d __W, __mmask8 __U, __m512d __M, __m512d __V, const int __R) { return (__m512d) __builtin_ia32_divpd512_mask ((__v8df) __M, (__v8df) __V, (__v8df) __W, (__mmask8) __U, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_div_round_pd (__mmask8 __U, __m512d __M, __m512d __V, const int __R) { return (__m512d) __builtin_ia32_divpd512_mask ((__v8df) __M, (__v8df) __V, (__v8df) _mm512_setzero_pd (), (__mmask8) __U, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_div_round_ps (__m512 __A, __m512 __B, const int __R) { return (__m512) __builtin_ia32_divps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) _mm512_undefined_ps (), (__mmask16) -1, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_div_round_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B, const int __R) { return (__m512) __builtin_ia32_divps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) __W, (__mmask16) __U, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_div_round_ps (__mmask16 __U, __m512 __A, __m512 __B, const int __R) { return (__m512) __builtin_ia32_divps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) _mm512_setzero_ps (), (__mmask16) __U, __R); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mul_round_sd (__m128d __A, __m128d __B, const int __R) { return (__m128d) __builtin_ia32_mulsd_round ((__v2df) __A, (__v2df) __B, __R); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mul_round_ss (__m128 __A, __m128 __B, const int __R) { return (__m128) __builtin_ia32_mulss_round ((__v4sf) __A, (__v4sf) __B, __R); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_div_round_sd (__m128d __A, __m128d __B, const int __R) { return (__m128d) __builtin_ia32_divsd_round ((__v2df) __A, (__v2df) __B, __R); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_div_round_ss (__m128 __A, __m128 __B, const int __R) { return (__m128) __builtin_ia32_divss_round ((__v4sf) __A, (__v4sf) __B, __R); } # 2459 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512fintrin.h" 3 4 extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_max_round_pd (__m512d __A, __m512d __B, const int __R) { return (__m512d) __builtin_ia32_maxpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) _mm512_undefined_pd (), (__mmask8) -1, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_max_round_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512d __B, const int __R) { return (__m512d) __builtin_ia32_maxpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) __W, (__mmask8) __U, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_max_round_pd (__mmask8 __U, __m512d __A, __m512d __B, const int __R) { return (__m512d) __builtin_ia32_maxpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) _mm512_setzero_pd (), (__mmask8) __U, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_max_round_ps (__m512 __A, __m512 __B, const int __R) { return (__m512) __builtin_ia32_maxps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) _mm512_undefined_ps (), (__mmask16) -1, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_max_round_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B, const int __R) { return (__m512) __builtin_ia32_maxps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) __W, (__mmask16) __U, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_max_round_ps (__mmask16 __U, __m512 __A, __m512 __B, const int __R) { return (__m512) __builtin_ia32_maxps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) _mm512_setzero_ps (), (__mmask16) __U, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_min_round_pd (__m512d __A, __m512d __B, const int __R) { return (__m512d) __builtin_ia32_minpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) _mm512_undefined_pd (), (__mmask8) -1, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_min_round_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512d __B, const int __R) { return (__m512d) __builtin_ia32_minpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) __W, (__mmask8) __U, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_min_round_pd (__mmask8 __U, __m512d __A, __m512d __B, const int __R) { return (__m512d) __builtin_ia32_minpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) _mm512_setzero_pd (), (__mmask8) __U, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_min_round_ps (__m512 __A, __m512 __B, const int __R) { return (__m512) __builtin_ia32_minps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) _mm512_undefined_ps (), (__mmask16) -1, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_min_round_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B, const int __R) { return (__m512) __builtin_ia32_minps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) __W, (__mmask16) __U, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_min_round_ps (__mmask16 __U, __m512 __A, __m512 __B, const int __R) { return (__m512) __builtin_ia32_minps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) _mm512_setzero_ps (), (__mmask16) __U, __R); } # 2631 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512fintrin.h" 3 4 extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_scalef_round_pd (__m512d __A, __m512d __B, const int __R) { return (__m512d) __builtin_ia32_scalefpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) _mm512_undefined_pd (), (__mmask8) -1, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_scalef_round_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512d __B, const int __R) { return (__m512d) __builtin_ia32_scalefpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) __W, (__mmask8) __U, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_scalef_round_pd (__mmask8 __U, __m512d __A, __m512d __B, const int __R) { return (__m512d) __builtin_ia32_scalefpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) _mm512_setzero_pd (), (__mmask8) __U, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_scalef_round_ps (__m512 __A, __m512 __B, const int __R) { return (__m512) __builtin_ia32_scalefps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) _mm512_undefined_ps (), (__mmask16) -1, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_scalef_round_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B, const int __R) { return (__m512) __builtin_ia32_scalefps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) __W, (__mmask16) __U, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_scalef_round_ps (__mmask16 __U, __m512 __A, __m512 __B, const int __R) { return (__m512) __builtin_ia32_scalefps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) _mm512_setzero_ps (), (__mmask16) __U, __R); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_scalef_round_sd (__m128d __A, __m128d __B, const int __R) { return (__m128d) __builtin_ia32_scalefsd_round ((__v2df) __A, (__v2df) __B, __R); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_scalef_round_ss (__m128 __A, __m128 __B, const int __R) { return (__m128) __builtin_ia32_scalefss_round ((__v4sf) __A, (__v4sf) __B, __R); } # 2743 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512fintrin.h" 3 4 extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_fmadd_round_pd (__m512d __A, __m512d __B, __m512d __C, const int __R) { return (__m512d) __builtin_ia32_vfmaddpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) __C, (__mmask8) -1, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_fmadd_round_pd (__m512d __A, __mmask8 __U, __m512d __B, __m512d __C, const int __R) { return (__m512d) __builtin_ia32_vfmaddpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) __C, (__mmask8) __U, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask3_fmadd_round_pd (__m512d __A, __m512d __B, __m512d __C, __mmask8 __U, const int __R) { return (__m512d) __builtin_ia32_vfmaddpd512_mask3 ((__v8df) __A, (__v8df) __B, (__v8df) __C, (__mmask8) __U, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_fmadd_round_pd (__mmask8 __U, __m512d __A, __m512d __B, __m512d __C, const int __R) { return (__m512d) __builtin_ia32_vfmaddpd512_maskz ((__v8df) __A, (__v8df) __B, (__v8df) __C, (__mmask8) __U, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_fmadd_round_ps (__m512 __A, __m512 __B, __m512 __C, const int __R) { return (__m512) __builtin_ia32_vfmaddps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) __C, (__mmask16) -1, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_fmadd_round_ps (__m512 __A, __mmask16 __U, __m512 __B, __m512 __C, const int __R) { return (__m512) __builtin_ia32_vfmaddps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) __C, (__mmask16) __U, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask3_fmadd_round_ps (__m512 __A, __m512 __B, __m512 __C, __mmask16 __U, const int __R) { return (__m512) __builtin_ia32_vfmaddps512_mask3 ((__v16sf) __A, (__v16sf) __B, (__v16sf) __C, (__mmask16) __U, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_fmadd_round_ps (__mmask16 __U, __m512 __A, __m512 __B, __m512 __C, const int __R) { return (__m512) __builtin_ia32_vfmaddps512_maskz ((__v16sf) __A, (__v16sf) __B, (__v16sf) __C, (__mmask16) __U, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_fmsub_round_pd (__m512d __A, __m512d __B, __m512d __C, const int __R) { return (__m512d) __builtin_ia32_vfmaddpd512_mask ((__v8df) __A, (__v8df) __B, -(__v8df) __C, (__mmask8) -1, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_fmsub_round_pd (__m512d __A, __mmask8 __U, __m512d __B, __m512d __C, const int __R) { return (__m512d) __builtin_ia32_vfmaddpd512_mask ((__v8df) __A, (__v8df) __B, -(__v8df) __C, (__mmask8) __U, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask3_fmsub_round_pd (__m512d __A, __m512d __B, __m512d __C, __mmask8 __U, const int __R) { return (__m512d) __builtin_ia32_vfmsubpd512_mask3 ((__v8df) __A, (__v8df) __B, (__v8df) __C, (__mmask8) __U, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_fmsub_round_pd (__mmask8 __U, __m512d __A, __m512d __B, __m512d __C, const int __R) { return (__m512d) __builtin_ia32_vfmaddpd512_maskz ((__v8df) __A, (__v8df) __B, -(__v8df) __C, (__mmask8) __U, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_fmsub_round_ps (__m512 __A, __m512 __B, __m512 __C, const int __R) { return (__m512) __builtin_ia32_vfmaddps512_mask ((__v16sf) __A, (__v16sf) __B, -(__v16sf) __C, (__mmask16) -1, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_fmsub_round_ps (__m512 __A, __mmask16 __U, __m512 __B, __m512 __C, const int __R) { return (__m512) __builtin_ia32_vfmaddps512_mask ((__v16sf) __A, (__v16sf) __B, -(__v16sf) __C, (__mmask16) __U, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask3_fmsub_round_ps (__m512 __A, __m512 __B, __m512 __C, __mmask16 __U, const int __R) { return (__m512) __builtin_ia32_vfmsubps512_mask3 ((__v16sf) __A, (__v16sf) __B, (__v16sf) __C, (__mmask16) __U, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_fmsub_round_ps (__mmask16 __U, __m512 __A, __m512 __B, __m512 __C, const int __R) { return (__m512) __builtin_ia32_vfmaddps512_maskz ((__v16sf) __A, (__v16sf) __B, -(__v16sf) __C, (__mmask16) __U, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_fmaddsub_round_pd (__m512d __A, __m512d __B, __m512d __C, const int __R) { return (__m512d) __builtin_ia32_vfmaddsubpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) __C, (__mmask8) -1, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_fmaddsub_round_pd (__m512d __A, __mmask8 __U, __m512d __B, __m512d __C, const int __R) { return (__m512d) __builtin_ia32_vfmaddsubpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) __C, (__mmask8) __U, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask3_fmaddsub_round_pd (__m512d __A, __m512d __B, __m512d __C, __mmask8 __U, const int __R) { return (__m512d) __builtin_ia32_vfmaddsubpd512_mask3 ((__v8df) __A, (__v8df) __B, (__v8df) __C, (__mmask8) __U, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_fmaddsub_round_pd (__mmask8 __U, __m512d __A, __m512d __B, __m512d __C, const int __R) { return (__m512d) __builtin_ia32_vfmaddsubpd512_maskz ((__v8df) __A, (__v8df) __B, (__v8df) __C, (__mmask8) __U, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_fmaddsub_round_ps (__m512 __A, __m512 __B, __m512 __C, const int __R) { return (__m512) __builtin_ia32_vfmaddsubps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) __C, (__mmask16) -1, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_fmaddsub_round_ps (__m512 __A, __mmask16 __U, __m512 __B, __m512 __C, const int __R) { return (__m512) __builtin_ia32_vfmaddsubps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) __C, (__mmask16) __U, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask3_fmaddsub_round_ps (__m512 __A, __m512 __B, __m512 __C, __mmask16 __U, const int __R) { return (__m512) __builtin_ia32_vfmaddsubps512_mask3 ((__v16sf) __A, (__v16sf) __B, (__v16sf) __C, (__mmask16) __U, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_fmaddsub_round_ps (__mmask16 __U, __m512 __A, __m512 __B, __m512 __C, const int __R) { return (__m512) __builtin_ia32_vfmaddsubps512_maskz ((__v16sf) __A, (__v16sf) __B, (__v16sf) __C, (__mmask16) __U, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_fmsubadd_round_pd (__m512d __A, __m512d __B, __m512d __C, const int __R) { return (__m512d) __builtin_ia32_vfmaddsubpd512_mask ((__v8df) __A, (__v8df) __B, -(__v8df) __C, (__mmask8) -1, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_fmsubadd_round_pd (__m512d __A, __mmask8 __U, __m512d __B, __m512d __C, const int __R) { return (__m512d) __builtin_ia32_vfmaddsubpd512_mask ((__v8df) __A, (__v8df) __B, -(__v8df) __C, (__mmask8) __U, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask3_fmsubadd_round_pd (__m512d __A, __m512d __B, __m512d __C, __mmask8 __U, const int __R) { return (__m512d) __builtin_ia32_vfmsubaddpd512_mask3 ((__v8df) __A, (__v8df) __B, (__v8df) __C, (__mmask8) __U, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_fmsubadd_round_pd (__mmask8 __U, __m512d __A, __m512d __B, __m512d __C, const int __R) { return (__m512d) __builtin_ia32_vfmaddsubpd512_maskz ((__v8df) __A, (__v8df) __B, -(__v8df) __C, (__mmask8) __U, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_fmsubadd_round_ps (__m512 __A, __m512 __B, __m512 __C, const int __R) { return (__m512) __builtin_ia32_vfmaddsubps512_mask ((__v16sf) __A, (__v16sf) __B, -(__v16sf) __C, (__mmask16) -1, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_fmsubadd_round_ps (__m512 __A, __mmask16 __U, __m512 __B, __m512 __C, const int __R) { return (__m512) __builtin_ia32_vfmaddsubps512_mask ((__v16sf) __A, (__v16sf) __B, -(__v16sf) __C, (__mmask16) __U, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask3_fmsubadd_round_ps (__m512 __A, __m512 __B, __m512 __C, __mmask16 __U, const int __R) { return (__m512) __builtin_ia32_vfmsubaddps512_mask3 ((__v16sf) __A, (__v16sf) __B, (__v16sf) __C, (__mmask16) __U, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_fmsubadd_round_ps (__mmask16 __U, __m512 __A, __m512 __B, __m512 __C, const int __R) { return (__m512) __builtin_ia32_vfmaddsubps512_maskz ((__v16sf) __A, (__v16sf) __B, -(__v16sf) __C, (__mmask16) __U, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_fnmadd_round_pd (__m512d __A, __m512d __B, __m512d __C, const int __R) { return (__m512d) __builtin_ia32_vfmaddpd512_mask (-(__v8df) __A, (__v8df) __B, (__v8df) __C, (__mmask8) -1, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_fnmadd_round_pd (__m512d __A, __mmask8 __U, __m512d __B, __m512d __C, const int __R) { return (__m512d) __builtin_ia32_vfnmaddpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) __C, (__mmask8) __U, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask3_fnmadd_round_pd (__m512d __A, __m512d __B, __m512d __C, __mmask8 __U, const int __R) { return (__m512d) __builtin_ia32_vfmaddpd512_mask3 (-(__v8df) __A, (__v8df) __B, (__v8df) __C, (__mmask8) __U, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_fnmadd_round_pd (__mmask8 __U, __m512d __A, __m512d __B, __m512d __C, const int __R) { return (__m512d) __builtin_ia32_vfmaddpd512_maskz (-(__v8df) __A, (__v8df) __B, (__v8df) __C, (__mmask8) __U, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_fnmadd_round_ps (__m512 __A, __m512 __B, __m512 __C, const int __R) { return (__m512) __builtin_ia32_vfmaddps512_mask (-(__v16sf) __A, (__v16sf) __B, (__v16sf) __C, (__mmask16) -1, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_fnmadd_round_ps (__m512 __A, __mmask16 __U, __m512 __B, __m512 __C, const int __R) { return (__m512) __builtin_ia32_vfnmaddps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) __C, (__mmask16) __U, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask3_fnmadd_round_ps (__m512 __A, __m512 __B, __m512 __C, __mmask16 __U, const int __R) { return (__m512) __builtin_ia32_vfmaddps512_mask3 (-(__v16sf) __A, (__v16sf) __B, (__v16sf) __C, (__mmask16) __U, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_fnmadd_round_ps (__mmask16 __U, __m512 __A, __m512 __B, __m512 __C, const int __R) { return (__m512) __builtin_ia32_vfmaddps512_maskz (-(__v16sf) __A, (__v16sf) __B, (__v16sf) __C, (__mmask16) __U, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_fnmsub_round_pd (__m512d __A, __m512d __B, __m512d __C, const int __R) { return (__m512d) __builtin_ia32_vfmaddpd512_mask (-(__v8df) __A, (__v8df) __B, -(__v8df) __C, (__mmask8) -1, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_fnmsub_round_pd (__m512d __A, __mmask8 __U, __m512d __B, __m512d __C, const int __R) { return (__m512d) __builtin_ia32_vfnmsubpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) __C, (__mmask8) __U, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask3_fnmsub_round_pd (__m512d __A, __m512d __B, __m512d __C, __mmask8 __U, const int __R) { return (__m512d) __builtin_ia32_vfnmsubpd512_mask3 ((__v8df) __A, (__v8df) __B, (__v8df) __C, (__mmask8) __U, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_fnmsub_round_pd (__mmask8 __U, __m512d __A, __m512d __B, __m512d __C, const int __R) { return (__m512d) __builtin_ia32_vfmaddpd512_maskz (-(__v8df) __A, (__v8df) __B, -(__v8df) __C, (__mmask8) __U, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_fnmsub_round_ps (__m512 __A, __m512 __B, __m512 __C, const int __R) { return (__m512) __builtin_ia32_vfmaddps512_mask (-(__v16sf) __A, (__v16sf) __B, -(__v16sf) __C, (__mmask16) -1, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_fnmsub_round_ps (__m512 __A, __mmask16 __U, __m512 __B, __m512 __C, const int __R) { return (__m512) __builtin_ia32_vfnmsubps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) __C, (__mmask16) __U, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask3_fnmsub_round_ps (__m512 __A, __m512 __B, __m512 __C, __mmask16 __U, const int __R) { return (__m512) __builtin_ia32_vfnmsubps512_mask3 ((__v16sf) __A, (__v16sf) __B, (__v16sf) __C, (__mmask16) __U, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_fnmsub_round_ps (__mmask16 __U, __m512 __A, __m512 __B, __m512 __C, const int __R) { return (__m512) __builtin_ia32_vfmaddps512_maskz (-(__v16sf) __A, (__v16sf) __B, -(__v16sf) __C, (__mmask16) __U, __R); } # 3404 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512fintrin.h" 3 4 extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_abs_epi64 (__m512i __A) { return (__m512i) __builtin_ia32_pabsq512_mask ((__v8di) __A, (__v8di) _mm512_undefined_si512 (), (__mmask8) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_abs_epi64 (__m512i __W, __mmask8 __U, __m512i __A) { return (__m512i) __builtin_ia32_pabsq512_mask ((__v8di) __A, (__v8di) __W, (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_abs_epi64 (__mmask8 __U, __m512i __A) { return (__m512i) __builtin_ia32_pabsq512_mask ((__v8di) __A, (__v8di) _mm512_setzero_si512 (), (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_abs_epi32 (__m512i __A) { return (__m512i) __builtin_ia32_pabsd512_mask ((__v16si) __A, (__v16si) _mm512_undefined_si512 (), (__mmask16) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_abs_epi32 (__m512i __W, __mmask16 __U, __m512i __A) { return (__m512i) __builtin_ia32_pabsd512_mask ((__v16si) __A, (__v16si) __W, (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_abs_epi32 (__mmask16 __U, __m512i __A) { return (__m512i) __builtin_ia32_pabsd512_mask ((__v16si) __A, (__v16si) _mm512_setzero_si512 (), (__mmask16) __U); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_broadcastss_ps (__m128 __A) { return (__m512) __builtin_ia32_broadcastss512 ((__v4sf) __A, (__v16sf) _mm512_undefined_ps (), (__mmask16) -1); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_broadcastss_ps (__m512 __O, __mmask16 __M, __m128 __A) { return (__m512) __builtin_ia32_broadcastss512 ((__v4sf) __A, (__v16sf) __O, __M); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_broadcastss_ps (__mmask16 __M, __m128 __A) { return (__m512) __builtin_ia32_broadcastss512 ((__v4sf) __A, (__v16sf) _mm512_setzero_ps (), __M); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_broadcastsd_pd (__m128d __A) { return (__m512d) __builtin_ia32_broadcastsd512 ((__v2df) __A, (__v8df) _mm512_undefined_pd (), (__mmask8) -1); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_broadcastsd_pd (__m512d __O, __mmask8 __M, __m128d __A) { return (__m512d) __builtin_ia32_broadcastsd512 ((__v2df) __A, (__v8df) __O, __M); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_broadcastsd_pd (__mmask8 __M, __m128d __A) { return (__m512d) __builtin_ia32_broadcastsd512 ((__v2df) __A, (__v8df) _mm512_setzero_pd (), __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_broadcastd_epi32 (__m128i __A) { return (__m512i) __builtin_ia32_pbroadcastd512 ((__v4si) __A, (__v16si) _mm512_undefined_si512 (), (__mmask16) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_broadcastd_epi32 (__m512i __O, __mmask16 __M, __m128i __A) { return (__m512i) __builtin_ia32_pbroadcastd512 ((__v4si) __A, (__v16si) __O, __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_broadcastd_epi32 (__mmask16 __M, __m128i __A) { return (__m512i) __builtin_ia32_pbroadcastd512 ((__v4si) __A, (__v16si) _mm512_setzero_si512 (), __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_set1_epi32 (int __A) { return (__m512i) __builtin_ia32_pbroadcastd512_gpr_mask (__A, (__v16si) _mm512_undefined_si512 (), (__mmask16)(-1)); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_set1_epi32 (__m512i __O, __mmask16 __M, int __A) { return (__m512i) __builtin_ia32_pbroadcastd512_gpr_mask (__A, (__v16si) __O, __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_set1_epi32 (__mmask16 __M, int __A) { return (__m512i) __builtin_ia32_pbroadcastd512_gpr_mask (__A, (__v16si) _mm512_setzero_si512 (), __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_broadcastq_epi64 (__m128i __A) { return (__m512i) __builtin_ia32_pbroadcastq512 ((__v2di) __A, (__v8di) _mm512_undefined_si512 (), (__mmask8) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_broadcastq_epi64 (__m512i __O, __mmask8 __M, __m128i __A) { return (__m512i) __builtin_ia32_pbroadcastq512 ((__v2di) __A, (__v8di) __O, __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_broadcastq_epi64 (__mmask8 __M, __m128i __A) { return (__m512i) __builtin_ia32_pbroadcastq512 ((__v2di) __A, (__v8di) _mm512_setzero_si512 (), __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_set1_epi64 (long long __A) { return (__m512i) __builtin_ia32_pbroadcastq512_gpr_mask (__A, (__v8di) _mm512_undefined_si512 (), (__mmask8)(-1)); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_set1_epi64 (__m512i __O, __mmask8 __M, long long __A) { return (__m512i) __builtin_ia32_pbroadcastq512_gpr_mask (__A, (__v8di) __O, __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_set1_epi64 (__mmask8 __M, long long __A) { return (__m512i) __builtin_ia32_pbroadcastq512_gpr_mask (__A, (__v8di) _mm512_setzero_si512 (), __M); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_broadcast_f32x4 (__m128 __A) { return (__m512) __builtin_ia32_broadcastf32x4_512 ((__v4sf) __A, (__v16sf) _mm512_undefined_ps (), (__mmask16) -1); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_broadcast_f32x4 (__m512 __O, __mmask16 __M, __m128 __A) { return (__m512) __builtin_ia32_broadcastf32x4_512 ((__v4sf) __A, (__v16sf) __O, __M); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_broadcast_f32x4 (__mmask16 __M, __m128 __A) { return (__m512) __builtin_ia32_broadcastf32x4_512 ((__v4sf) __A, (__v16sf) _mm512_setzero_ps (), __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_broadcast_i32x4 (__m128i __A) { return (__m512i) __builtin_ia32_broadcasti32x4_512 ((__v4si) __A, (__v16si) _mm512_undefined_si512 (), (__mmask16) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_broadcast_i32x4 (__m512i __O, __mmask16 __M, __m128i __A) { return (__m512i) __builtin_ia32_broadcasti32x4_512 ((__v4si) __A, (__v16si) __O, __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_broadcast_i32x4 (__mmask16 __M, __m128i __A) { return (__m512i) __builtin_ia32_broadcasti32x4_512 ((__v4si) __A, (__v16si) _mm512_setzero_si512 (), __M); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_broadcast_f64x4 (__m256d __A) { return (__m512d) __builtin_ia32_broadcastf64x4_512 ((__v4df) __A, (__v8df) _mm512_undefined_pd (), (__mmask8) -1); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_broadcast_f64x4 (__m512d __O, __mmask8 __M, __m256d __A) { return (__m512d) __builtin_ia32_broadcastf64x4_512 ((__v4df) __A, (__v8df) __O, __M); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_broadcast_f64x4 (__mmask8 __M, __m256d __A) { return (__m512d) __builtin_ia32_broadcastf64x4_512 ((__v4df) __A, (__v8df) _mm512_setzero_pd (), __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_broadcast_i64x4 (__m256i __A) { return (__m512i) __builtin_ia32_broadcasti64x4_512 ((__v4di) __A, (__v8di) _mm512_undefined_si512 (), (__mmask8) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_broadcast_i64x4 (__m512i __O, __mmask8 __M, __m256i __A) { return (__m512i) __builtin_ia32_broadcasti64x4_512 ((__v4di) __A, (__v8di) __O, __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_broadcast_i64x4 (__mmask8 __M, __m256i __A) { return (__m512i) __builtin_ia32_broadcasti64x4_512 ((__v4di) __A, (__v8di) _mm512_setzero_si512 (), __M); } typedef enum { _MM_PERM_AAAA = 0x00, _MM_PERM_AAAB = 0x01, _MM_PERM_AAAC = 0x02, _MM_PERM_AAAD = 0x03, _MM_PERM_AABA = 0x04, _MM_PERM_AABB = 0x05, _MM_PERM_AABC = 0x06, _MM_PERM_AABD = 0x07, _MM_PERM_AACA = 0x08, _MM_PERM_AACB = 0x09, _MM_PERM_AACC = 0x0A, _MM_PERM_AACD = 0x0B, _MM_PERM_AADA = 0x0C, _MM_PERM_AADB = 0x0D, _MM_PERM_AADC = 0x0E, _MM_PERM_AADD = 0x0F, _MM_PERM_ABAA = 0x10, _MM_PERM_ABAB = 0x11, _MM_PERM_ABAC = 0x12, _MM_PERM_ABAD = 0x13, _MM_PERM_ABBA = 0x14, _MM_PERM_ABBB = 0x15, _MM_PERM_ABBC = 0x16, _MM_PERM_ABBD = 0x17, _MM_PERM_ABCA = 0x18, _MM_PERM_ABCB = 0x19, _MM_PERM_ABCC = 0x1A, _MM_PERM_ABCD = 0x1B, _MM_PERM_ABDA = 0x1C, _MM_PERM_ABDB = 0x1D, _MM_PERM_ABDC = 0x1E, _MM_PERM_ABDD = 0x1F, _MM_PERM_ACAA = 0x20, _MM_PERM_ACAB = 0x21, _MM_PERM_ACAC = 0x22, _MM_PERM_ACAD = 0x23, _MM_PERM_ACBA = 0x24, _MM_PERM_ACBB = 0x25, _MM_PERM_ACBC = 0x26, _MM_PERM_ACBD = 0x27, _MM_PERM_ACCA = 0x28, _MM_PERM_ACCB = 0x29, _MM_PERM_ACCC = 0x2A, _MM_PERM_ACCD = 0x2B, _MM_PERM_ACDA = 0x2C, _MM_PERM_ACDB = 0x2D, _MM_PERM_ACDC = 0x2E, _MM_PERM_ACDD = 0x2F, _MM_PERM_ADAA = 0x30, _MM_PERM_ADAB = 0x31, _MM_PERM_ADAC = 0x32, _MM_PERM_ADAD = 0x33, _MM_PERM_ADBA = 0x34, _MM_PERM_ADBB = 0x35, _MM_PERM_ADBC = 0x36, _MM_PERM_ADBD = 0x37, _MM_PERM_ADCA = 0x38, _MM_PERM_ADCB = 0x39, _MM_PERM_ADCC = 0x3A, _MM_PERM_ADCD = 0x3B, _MM_PERM_ADDA = 0x3C, _MM_PERM_ADDB = 0x3D, _MM_PERM_ADDC = 0x3E, _MM_PERM_ADDD = 0x3F, _MM_PERM_BAAA = 0x40, _MM_PERM_BAAB = 0x41, _MM_PERM_BAAC = 0x42, _MM_PERM_BAAD = 0x43, _MM_PERM_BABA = 0x44, _MM_PERM_BABB = 0x45, _MM_PERM_BABC = 0x46, _MM_PERM_BABD = 0x47, _MM_PERM_BACA = 0x48, _MM_PERM_BACB = 0x49, _MM_PERM_BACC = 0x4A, _MM_PERM_BACD = 0x4B, _MM_PERM_BADA = 0x4C, _MM_PERM_BADB = 0x4D, _MM_PERM_BADC = 0x4E, _MM_PERM_BADD = 0x4F, _MM_PERM_BBAA = 0x50, _MM_PERM_BBAB = 0x51, _MM_PERM_BBAC = 0x52, _MM_PERM_BBAD = 0x53, _MM_PERM_BBBA = 0x54, _MM_PERM_BBBB = 0x55, _MM_PERM_BBBC = 0x56, _MM_PERM_BBBD = 0x57, _MM_PERM_BBCA = 0x58, _MM_PERM_BBCB = 0x59, _MM_PERM_BBCC = 0x5A, _MM_PERM_BBCD = 0x5B, _MM_PERM_BBDA = 0x5C, _MM_PERM_BBDB = 0x5D, _MM_PERM_BBDC = 0x5E, _MM_PERM_BBDD = 0x5F, _MM_PERM_BCAA = 0x60, _MM_PERM_BCAB = 0x61, _MM_PERM_BCAC = 0x62, _MM_PERM_BCAD = 0x63, _MM_PERM_BCBA = 0x64, _MM_PERM_BCBB = 0x65, _MM_PERM_BCBC = 0x66, _MM_PERM_BCBD = 0x67, _MM_PERM_BCCA = 0x68, _MM_PERM_BCCB = 0x69, _MM_PERM_BCCC = 0x6A, _MM_PERM_BCCD = 0x6B, _MM_PERM_BCDA = 0x6C, _MM_PERM_BCDB = 0x6D, _MM_PERM_BCDC = 0x6E, _MM_PERM_BCDD = 0x6F, _MM_PERM_BDAA = 0x70, _MM_PERM_BDAB = 0x71, _MM_PERM_BDAC = 0x72, _MM_PERM_BDAD = 0x73, _MM_PERM_BDBA = 0x74, _MM_PERM_BDBB = 0x75, _MM_PERM_BDBC = 0x76, _MM_PERM_BDBD = 0x77, _MM_PERM_BDCA = 0x78, _MM_PERM_BDCB = 0x79, _MM_PERM_BDCC = 0x7A, _MM_PERM_BDCD = 0x7B, _MM_PERM_BDDA = 0x7C, _MM_PERM_BDDB = 0x7D, _MM_PERM_BDDC = 0x7E, _MM_PERM_BDDD = 0x7F, _MM_PERM_CAAA = 0x80, _MM_PERM_CAAB = 0x81, _MM_PERM_CAAC = 0x82, _MM_PERM_CAAD = 0x83, _MM_PERM_CABA = 0x84, _MM_PERM_CABB = 0x85, _MM_PERM_CABC = 0x86, _MM_PERM_CABD = 0x87, _MM_PERM_CACA = 0x88, _MM_PERM_CACB = 0x89, _MM_PERM_CACC = 0x8A, _MM_PERM_CACD = 0x8B, _MM_PERM_CADA = 0x8C, _MM_PERM_CADB = 0x8D, _MM_PERM_CADC = 0x8E, _MM_PERM_CADD = 0x8F, _MM_PERM_CBAA = 0x90, _MM_PERM_CBAB = 0x91, _MM_PERM_CBAC = 0x92, _MM_PERM_CBAD = 0x93, _MM_PERM_CBBA = 0x94, _MM_PERM_CBBB = 0x95, _MM_PERM_CBBC = 0x96, _MM_PERM_CBBD = 0x97, _MM_PERM_CBCA = 0x98, _MM_PERM_CBCB = 0x99, _MM_PERM_CBCC = 0x9A, _MM_PERM_CBCD = 0x9B, _MM_PERM_CBDA = 0x9C, _MM_PERM_CBDB = 0x9D, _MM_PERM_CBDC = 0x9E, _MM_PERM_CBDD = 0x9F, _MM_PERM_CCAA = 0xA0, _MM_PERM_CCAB = 0xA1, _MM_PERM_CCAC = 0xA2, _MM_PERM_CCAD = 0xA3, _MM_PERM_CCBA = 0xA4, _MM_PERM_CCBB = 0xA5, _MM_PERM_CCBC = 0xA6, _MM_PERM_CCBD = 0xA7, _MM_PERM_CCCA = 0xA8, _MM_PERM_CCCB = 0xA9, _MM_PERM_CCCC = 0xAA, _MM_PERM_CCCD = 0xAB, _MM_PERM_CCDA = 0xAC, _MM_PERM_CCDB = 0xAD, _MM_PERM_CCDC = 0xAE, _MM_PERM_CCDD = 0xAF, _MM_PERM_CDAA = 0xB0, _MM_PERM_CDAB = 0xB1, _MM_PERM_CDAC = 0xB2, _MM_PERM_CDAD = 0xB3, _MM_PERM_CDBA = 0xB4, _MM_PERM_CDBB = 0xB5, _MM_PERM_CDBC = 0xB6, _MM_PERM_CDBD = 0xB7, _MM_PERM_CDCA = 0xB8, _MM_PERM_CDCB = 0xB9, _MM_PERM_CDCC = 0xBA, _MM_PERM_CDCD = 0xBB, _MM_PERM_CDDA = 0xBC, _MM_PERM_CDDB = 0xBD, _MM_PERM_CDDC = 0xBE, _MM_PERM_CDDD = 0xBF, _MM_PERM_DAAA = 0xC0, _MM_PERM_DAAB = 0xC1, _MM_PERM_DAAC = 0xC2, _MM_PERM_DAAD = 0xC3, _MM_PERM_DABA = 0xC4, _MM_PERM_DABB = 0xC5, _MM_PERM_DABC = 0xC6, _MM_PERM_DABD = 0xC7, _MM_PERM_DACA = 0xC8, _MM_PERM_DACB = 0xC9, _MM_PERM_DACC = 0xCA, _MM_PERM_DACD = 0xCB, _MM_PERM_DADA = 0xCC, _MM_PERM_DADB = 0xCD, _MM_PERM_DADC = 0xCE, _MM_PERM_DADD = 0xCF, _MM_PERM_DBAA = 0xD0, _MM_PERM_DBAB = 0xD1, _MM_PERM_DBAC = 0xD2, _MM_PERM_DBAD = 0xD3, _MM_PERM_DBBA = 0xD4, _MM_PERM_DBBB = 0xD5, _MM_PERM_DBBC = 0xD6, _MM_PERM_DBBD = 0xD7, _MM_PERM_DBCA = 0xD8, _MM_PERM_DBCB = 0xD9, _MM_PERM_DBCC = 0xDA, _MM_PERM_DBCD = 0xDB, _MM_PERM_DBDA = 0xDC, _MM_PERM_DBDB = 0xDD, _MM_PERM_DBDC = 0xDE, _MM_PERM_DBDD = 0xDF, _MM_PERM_DCAA = 0xE0, _MM_PERM_DCAB = 0xE1, _MM_PERM_DCAC = 0xE2, _MM_PERM_DCAD = 0xE3, _MM_PERM_DCBA = 0xE4, _MM_PERM_DCBB = 0xE5, _MM_PERM_DCBC = 0xE6, _MM_PERM_DCBD = 0xE7, _MM_PERM_DCCA = 0xE8, _MM_PERM_DCCB = 0xE9, _MM_PERM_DCCC = 0xEA, _MM_PERM_DCCD = 0xEB, _MM_PERM_DCDA = 0xEC, _MM_PERM_DCDB = 0xED, _MM_PERM_DCDC = 0xEE, _MM_PERM_DCDD = 0xEF, _MM_PERM_DDAA = 0xF0, _MM_PERM_DDAB = 0xF1, _MM_PERM_DDAC = 0xF2, _MM_PERM_DDAD = 0xF3, _MM_PERM_DDBA = 0xF4, _MM_PERM_DDBB = 0xF5, _MM_PERM_DDBC = 0xF6, _MM_PERM_DDBD = 0xF7, _MM_PERM_DDCA = 0xF8, _MM_PERM_DDCB = 0xF9, _MM_PERM_DDCC = 0xFA, _MM_PERM_DDCD = 0xFB, _MM_PERM_DDDA = 0xFC, _MM_PERM_DDDB = 0xFD, _MM_PERM_DDDC = 0xFE, _MM_PERM_DDDD = 0xFF } _MM_PERM_ENUM; extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_shuffle_epi32 (__m512i __A, _MM_PERM_ENUM __mask) { return (__m512i) __builtin_ia32_pshufd512_mask ((__v16si) __A, __mask, (__v16si) _mm512_undefined_si512 (), (__mmask16) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_shuffle_epi32 (__m512i __W, __mmask16 __U, __m512i __A, _MM_PERM_ENUM __mask) { return (__m512i) __builtin_ia32_pshufd512_mask ((__v16si) __A, __mask, (__v16si) __W, (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_shuffle_epi32 (__mmask16 __U, __m512i __A, _MM_PERM_ENUM __mask) { return (__m512i) __builtin_ia32_pshufd512_mask ((__v16si) __A, __mask, (__v16si) _mm512_setzero_si512 (), (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_shuffle_i64x2 (__m512i __A, __m512i __B, const int __imm) { return (__m512i) __builtin_ia32_shuf_i64x2_mask ((__v8di) __A, (__v8di) __B, __imm, (__v8di) _mm512_undefined_si512 (), (__mmask8) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_shuffle_i64x2 (__m512i __W, __mmask8 __U, __m512i __A, __m512i __B, const int __imm) { return (__m512i) __builtin_ia32_shuf_i64x2_mask ((__v8di) __A, (__v8di) __B, __imm, (__v8di) __W, (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_shuffle_i64x2 (__mmask8 __U, __m512i __A, __m512i __B, const int __imm) { return (__m512i) __builtin_ia32_shuf_i64x2_mask ((__v8di) __A, (__v8di) __B, __imm, (__v8di) _mm512_setzero_si512 (), (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_shuffle_i32x4 (__m512i __A, __m512i __B, const int __imm) { return (__m512i) __builtin_ia32_shuf_i32x4_mask ((__v16si) __A, (__v16si) __B, __imm, (__v16si) _mm512_undefined_si512 (), (__mmask16) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_shuffle_i32x4 (__m512i __W, __mmask16 __U, __m512i __A, __m512i __B, const int __imm) { return (__m512i) __builtin_ia32_shuf_i32x4_mask ((__v16si) __A, (__v16si) __B, __imm, (__v16si) __W, (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_shuffle_i32x4 (__mmask16 __U, __m512i __A, __m512i __B, const int __imm) { return (__m512i) __builtin_ia32_shuf_i32x4_mask ((__v16si) __A, (__v16si) __B, __imm, (__v16si) _mm512_setzero_si512 (), (__mmask16) __U); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_shuffle_f64x2 (__m512d __A, __m512d __B, const int __imm) { return (__m512d) __builtin_ia32_shuf_f64x2_mask ((__v8df) __A, (__v8df) __B, __imm, (__v8df) _mm512_undefined_pd (), (__mmask8) -1); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_shuffle_f64x2 (__m512d __W, __mmask8 __U, __m512d __A, __m512d __B, const int __imm) { return (__m512d) __builtin_ia32_shuf_f64x2_mask ((__v8df) __A, (__v8df) __B, __imm, (__v8df) __W, (__mmask8) __U); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_shuffle_f64x2 (__mmask8 __U, __m512d __A, __m512d __B, const int __imm) { return (__m512d) __builtin_ia32_shuf_f64x2_mask ((__v8df) __A, (__v8df) __B, __imm, (__v8df) _mm512_setzero_pd (), (__mmask8) __U); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_shuffle_f32x4 (__m512 __A, __m512 __B, const int __imm) { return (__m512) __builtin_ia32_shuf_f32x4_mask ((__v16sf) __A, (__v16sf) __B, __imm, (__v16sf) _mm512_undefined_ps (), (__mmask16) -1); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_shuffle_f32x4 (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B, const int __imm) { return (__m512) __builtin_ia32_shuf_f32x4_mask ((__v16sf) __A, (__v16sf) __B, __imm, (__v16sf) __W, (__mmask16) __U); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_shuffle_f32x4 (__mmask16 __U, __m512 __A, __m512 __B, const int __imm) { return (__m512) __builtin_ia32_shuf_f32x4_mask ((__v16sf) __A, (__v16sf) __B, __imm, (__v16sf) _mm512_setzero_ps (), (__mmask16) __U); } # 4098 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512fintrin.h" 3 4 extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_rolv_epi32 (__m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_prolvd512_mask ((__v16si) __A, (__v16si) __B, (__v16si) _mm512_undefined_si512 (), (__mmask16) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_rolv_epi32 (__m512i __W, __mmask16 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_prolvd512_mask ((__v16si) __A, (__v16si) __B, (__v16si) __W, (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_rolv_epi32 (__mmask16 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_prolvd512_mask ((__v16si) __A, (__v16si) __B, (__v16si) _mm512_setzero_si512 (), (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_rorv_epi32 (__m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_prorvd512_mask ((__v16si) __A, (__v16si) __B, (__v16si) _mm512_undefined_si512 (), (__mmask16) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_rorv_epi32 (__m512i __W, __mmask16 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_prorvd512_mask ((__v16si) __A, (__v16si) __B, (__v16si) __W, (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_rorv_epi32 (__mmask16 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_prorvd512_mask ((__v16si) __A, (__v16si) __B, (__v16si) _mm512_setzero_si512 (), (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_rolv_epi64 (__m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_prolvq512_mask ((__v8di) __A, (__v8di) __B, (__v8di) _mm512_undefined_si512 (), (__mmask8) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_rolv_epi64 (__m512i __W, __mmask8 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_prolvq512_mask ((__v8di) __A, (__v8di) __B, (__v8di) __W, (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_rolv_epi64 (__mmask8 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_prolvq512_mask ((__v8di) __A, (__v8di) __B, (__v8di) _mm512_setzero_si512 (), (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_rorv_epi64 (__m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_prorvq512_mask ((__v8di) __A, (__v8di) __B, (__v8di) _mm512_undefined_si512 (), (__mmask8) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_rorv_epi64 (__m512i __W, __mmask8 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_prorvq512_mask ((__v8di) __A, (__v8di) __B, (__v8di) __W, (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_rorv_epi64 (__mmask8 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_prorvq512_mask ((__v8di) __A, (__v8di) __B, (__v8di) _mm512_setzero_si512 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvtt_roundpd_epi32 (__m512d __A, const int __R) { return (__m256i) __builtin_ia32_cvttpd2dq512_mask ((__v8df) __A, (__v8si) _mm256_undefined_si256 (), (__mmask8) -1, __R); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtt_roundpd_epi32 (__m256i __W, __mmask8 __U, __m512d __A, const int __R) { return (__m256i) __builtin_ia32_cvttpd2dq512_mask ((__v8df) __A, (__v8si) __W, (__mmask8) __U, __R); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvtt_roundpd_epi32 (__mmask8 __U, __m512d __A, const int __R) { return (__m256i) __builtin_ia32_cvttpd2dq512_mask ((__v8df) __A, (__v8si) _mm256_setzero_si256 (), (__mmask8) __U, __R); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvtt_roundpd_epu32 (__m512d __A, const int __R) { return (__m256i) __builtin_ia32_cvttpd2udq512_mask ((__v8df) __A, (__v8si) _mm256_undefined_si256 (), (__mmask8) -1, __R); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtt_roundpd_epu32 (__m256i __W, __mmask8 __U, __m512d __A, const int __R) { return (__m256i) __builtin_ia32_cvttpd2udq512_mask ((__v8df) __A, (__v8si) __W, (__mmask8) __U, __R); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvtt_roundpd_epu32 (__mmask8 __U, __m512d __A, const int __R) { return (__m256i) __builtin_ia32_cvttpd2udq512_mask ((__v8df) __A, (__v8si) _mm256_setzero_si256 (), (__mmask8) __U, __R); } # 4307 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512fintrin.h" 3 4 extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvt_roundpd_epi32 (__m512d __A, const int __R) { return (__m256i) __builtin_ia32_cvtpd2dq512_mask ((__v8df) __A, (__v8si) _mm256_undefined_si256 (), (__mmask8) -1, __R); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvt_roundpd_epi32 (__m256i __W, __mmask8 __U, __m512d __A, const int __R) { return (__m256i) __builtin_ia32_cvtpd2dq512_mask ((__v8df) __A, (__v8si) __W, (__mmask8) __U, __R); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvt_roundpd_epi32 (__mmask8 __U, __m512d __A, const int __R) { return (__m256i) __builtin_ia32_cvtpd2dq512_mask ((__v8df) __A, (__v8si) _mm256_setzero_si256 (), (__mmask8) __U, __R); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvt_roundpd_epu32 (__m512d __A, const int __R) { return (__m256i) __builtin_ia32_cvtpd2udq512_mask ((__v8df) __A, (__v8si) _mm256_undefined_si256 (), (__mmask8) -1, __R); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvt_roundpd_epu32 (__m256i __W, __mmask8 __U, __m512d __A, const int __R) { return (__m256i) __builtin_ia32_cvtpd2udq512_mask ((__v8df) __A, (__v8si) __W, (__mmask8) __U, __R); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvt_roundpd_epu32 (__mmask8 __U, __m512d __A, const int __R) { return (__m256i) __builtin_ia32_cvtpd2udq512_mask ((__v8df) __A, (__v8si) _mm256_setzero_si256 (), (__mmask8) __U, __R); } # 4387 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512fintrin.h" 3 4 extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvtt_roundps_epi32 (__m512 __A, const int __R) { return (__m512i) __builtin_ia32_cvttps2dq512_mask ((__v16sf) __A, (__v16si) _mm512_undefined_si512 (), (__mmask16) -1, __R); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtt_roundps_epi32 (__m512i __W, __mmask16 __U, __m512 __A, const int __R) { return (__m512i) __builtin_ia32_cvttps2dq512_mask ((__v16sf) __A, (__v16si) __W, (__mmask16) __U, __R); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvtt_roundps_epi32 (__mmask16 __U, __m512 __A, const int __R) { return (__m512i) __builtin_ia32_cvttps2dq512_mask ((__v16sf) __A, (__v16si) _mm512_setzero_si512 (), (__mmask16) __U, __R); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvtt_roundps_epu32 (__m512 __A, const int __R) { return (__m512i) __builtin_ia32_cvttps2udq512_mask ((__v16sf) __A, (__v16si) _mm512_undefined_si512 (), (__mmask16) -1, __R); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtt_roundps_epu32 (__m512i __W, __mmask16 __U, __m512 __A, const int __R) { return (__m512i) __builtin_ia32_cvttps2udq512_mask ((__v16sf) __A, (__v16si) __W, (__mmask16) __U, __R); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvtt_roundps_epu32 (__mmask16 __U, __m512 __A, const int __R) { return (__m512i) __builtin_ia32_cvttps2udq512_mask ((__v16sf) __A, (__v16si) _mm512_setzero_si512 (), (__mmask16) __U, __R); } # 4467 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512fintrin.h" 3 4 extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvt_roundps_epi32 (__m512 __A, const int __R) { return (__m512i) __builtin_ia32_cvtps2dq512_mask ((__v16sf) __A, (__v16si) _mm512_undefined_si512 (), (__mmask16) -1, __R); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvt_roundps_epi32 (__m512i __W, __mmask16 __U, __m512 __A, const int __R) { return (__m512i) __builtin_ia32_cvtps2dq512_mask ((__v16sf) __A, (__v16si) __W, (__mmask16) __U, __R); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvt_roundps_epi32 (__mmask16 __U, __m512 __A, const int __R) { return (__m512i) __builtin_ia32_cvtps2dq512_mask ((__v16sf) __A, (__v16si) _mm512_setzero_si512 (), (__mmask16) __U, __R); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvt_roundps_epu32 (__m512 __A, const int __R) { return (__m512i) __builtin_ia32_cvtps2udq512_mask ((__v16sf) __A, (__v16si) _mm512_undefined_si512 (), (__mmask16) -1, __R); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvt_roundps_epu32 (__m512i __W, __mmask16 __U, __m512 __A, const int __R) { return (__m512i) __builtin_ia32_cvtps2udq512_mask ((__v16sf) __A, (__v16si) __W, (__mmask16) __U, __R); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvt_roundps_epu32 (__mmask16 __U, __m512 __A, const int __R) { return (__m512i) __builtin_ia32_cvtps2udq512_mask ((__v16sf) __A, (__v16si) _mm512_setzero_si512 (), (__mmask16) __U, __R); } # 4546 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512fintrin.h" 3 4 extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtu32_sd (__m128d __A, unsigned __B) { return (__m128d) __builtin_ia32_cvtusi2sd32 ((__v2df) __A, __B); } # 4589 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512fintrin.h" 3 4 extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvt_roundu32_ss (__m128 __A, unsigned __B, const int __R) { return (__m128) __builtin_ia32_cvtusi2ss32 ((__v4sf) __A, __B, __R); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvt_roundsi32_ss (__m128 __A, int __B, const int __R) { return (__m128) __builtin_ia32_cvtsi2ss32 ((__v4sf) __A, __B, __R); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvt_roundi32_ss (__m128 __A, int __B, const int __R) { return (__m128) __builtin_ia32_cvtsi2ss32 ((__v4sf) __A, __B, __R); } # 4655 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512fintrin.h" 3 4 extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvtepi32_epi8 (__m512i __A) { return (__m128i) __builtin_ia32_pmovdb512_mask ((__v16si) __A, (__v16qi) _mm_undefined_si128 (), (__mmask16) -1); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtepi32_storeu_epi8 (void * __P, __mmask16 __M, __m512i __A) { __builtin_ia32_pmovdb512mem_mask ((__v16qi *) __P, (__v16si) __A, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtepi32_epi8 (__m128i __O, __mmask16 __M, __m512i __A) { return (__m128i) __builtin_ia32_pmovdb512_mask ((__v16si) __A, (__v16qi) __O, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvtepi32_epi8 (__mmask16 __M, __m512i __A) { return (__m128i) __builtin_ia32_pmovdb512_mask ((__v16si) __A, (__v16qi) _mm_setzero_si128 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvtsepi32_epi8 (__m512i __A) { return (__m128i) __builtin_ia32_pmovsdb512_mask ((__v16si) __A, (__v16qi) _mm_undefined_si128 (), (__mmask16) -1); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtsepi32_storeu_epi8 (void * __P, __mmask16 __M, __m512i __A) { __builtin_ia32_pmovsdb512mem_mask ((__v16qi *) __P, (__v16si) __A, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtsepi32_epi8 (__m128i __O, __mmask16 __M, __m512i __A) { return (__m128i) __builtin_ia32_pmovsdb512_mask ((__v16si) __A, (__v16qi) __O, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvtsepi32_epi8 (__mmask16 __M, __m512i __A) { return (__m128i) __builtin_ia32_pmovsdb512_mask ((__v16si) __A, (__v16qi) _mm_setzero_si128 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvtusepi32_epi8 (__m512i __A) { return (__m128i) __builtin_ia32_pmovusdb512_mask ((__v16si) __A, (__v16qi) _mm_undefined_si128 (), (__mmask16) -1); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtusepi32_storeu_epi8 (void * __P, __mmask16 __M, __m512i __A) { __builtin_ia32_pmovusdb512mem_mask ((__v16qi *) __P, (__v16si) __A, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtusepi32_epi8 (__m128i __O, __mmask16 __M, __m512i __A) { return (__m128i) __builtin_ia32_pmovusdb512_mask ((__v16si) __A, (__v16qi) __O, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvtusepi32_epi8 (__mmask16 __M, __m512i __A) { return (__m128i) __builtin_ia32_pmovusdb512_mask ((__v16si) __A, (__v16qi) _mm_setzero_si128 (), __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvtepi32_epi16 (__m512i __A) { return (__m256i) __builtin_ia32_pmovdw512_mask ((__v16si) __A, (__v16hi) _mm256_undefined_si256 (), (__mmask16) -1); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtepi32_storeu_epi16 (void * __P, __mmask16 __M, __m512i __A) { __builtin_ia32_pmovdw512mem_mask ((__v16hi *) __P, (__v16si) __A, __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtepi32_epi16 (__m256i __O, __mmask16 __M, __m512i __A) { return (__m256i) __builtin_ia32_pmovdw512_mask ((__v16si) __A, (__v16hi) __O, __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvtepi32_epi16 (__mmask16 __M, __m512i __A) { return (__m256i) __builtin_ia32_pmovdw512_mask ((__v16si) __A, (__v16hi) _mm256_setzero_si256 (), __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvtsepi32_epi16 (__m512i __A) { return (__m256i) __builtin_ia32_pmovsdw512_mask ((__v16si) __A, (__v16hi) _mm256_undefined_si256 (), (__mmask16) -1); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtsepi32_storeu_epi16 (void *__P, __mmask16 __M, __m512i __A) { __builtin_ia32_pmovsdw512mem_mask ((__v16hi*) __P, (__v16si) __A, __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtsepi32_epi16 (__m256i __O, __mmask16 __M, __m512i __A) { return (__m256i) __builtin_ia32_pmovsdw512_mask ((__v16si) __A, (__v16hi) __O, __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvtsepi32_epi16 (__mmask16 __M, __m512i __A) { return (__m256i) __builtin_ia32_pmovsdw512_mask ((__v16si) __A, (__v16hi) _mm256_setzero_si256 (), __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvtusepi32_epi16 (__m512i __A) { return (__m256i) __builtin_ia32_pmovusdw512_mask ((__v16si) __A, (__v16hi) _mm256_undefined_si256 (), (__mmask16) -1); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtusepi32_storeu_epi16 (void *__P, __mmask16 __M, __m512i __A) { __builtin_ia32_pmovusdw512mem_mask ((__v16hi*) __P, (__v16si) __A, __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtusepi32_epi16 (__m256i __O, __mmask16 __M, __m512i __A) { return (__m256i) __builtin_ia32_pmovusdw512_mask ((__v16si) __A, (__v16hi) __O, __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvtusepi32_epi16 (__mmask16 __M, __m512i __A) { return (__m256i) __builtin_ia32_pmovusdw512_mask ((__v16si) __A, (__v16hi) _mm256_setzero_si256 (), __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvtepi64_epi32 (__m512i __A) { return (__m256i) __builtin_ia32_pmovqd512_mask ((__v8di) __A, (__v8si) _mm256_undefined_si256 (), (__mmask8) -1); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtepi64_storeu_epi32 (void* __P, __mmask8 __M, __m512i __A) { __builtin_ia32_pmovqd512mem_mask ((__v8si *) __P, (__v8di) __A, __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtepi64_epi32 (__m256i __O, __mmask8 __M, __m512i __A) { return (__m256i) __builtin_ia32_pmovqd512_mask ((__v8di) __A, (__v8si) __O, __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvtepi64_epi32 (__mmask8 __M, __m512i __A) { return (__m256i) __builtin_ia32_pmovqd512_mask ((__v8di) __A, (__v8si) _mm256_setzero_si256 (), __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvtsepi64_epi32 (__m512i __A) { __v8si __O; return (__m256i) __builtin_ia32_pmovsqd512_mask ((__v8di) __A, (__v8si) _mm256_undefined_si256 (), (__mmask8) -1); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtsepi64_storeu_epi32 (void *__P, __mmask8 __M, __m512i __A) { __builtin_ia32_pmovsqd512mem_mask ((__v8si *) __P, (__v8di) __A, __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtsepi64_epi32 (__m256i __O, __mmask8 __M, __m512i __A) { return (__m256i) __builtin_ia32_pmovsqd512_mask ((__v8di) __A, (__v8si) __O, __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvtsepi64_epi32 (__mmask8 __M, __m512i __A) { return (__m256i) __builtin_ia32_pmovsqd512_mask ((__v8di) __A, (__v8si) _mm256_setzero_si256 (), __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvtusepi64_epi32 (__m512i __A) { return (__m256i) __builtin_ia32_pmovusqd512_mask ((__v8di) __A, (__v8si) _mm256_undefined_si256 (), (__mmask8) -1); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtusepi64_storeu_epi32 (void* __P, __mmask8 __M, __m512i __A) { __builtin_ia32_pmovusqd512mem_mask ((__v8si*) __P, (__v8di) __A, __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtusepi64_epi32 (__m256i __O, __mmask8 __M, __m512i __A) { return (__m256i) __builtin_ia32_pmovusqd512_mask ((__v8di) __A, (__v8si) __O, __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvtusepi64_epi32 (__mmask8 __M, __m512i __A) { return (__m256i) __builtin_ia32_pmovusqd512_mask ((__v8di) __A, (__v8si) _mm256_setzero_si256 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvtepi64_epi16 (__m512i __A) { return (__m128i) __builtin_ia32_pmovqw512_mask ((__v8di) __A, (__v8hi) _mm_undefined_si128 (), (__mmask8) -1); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtepi64_storeu_epi16 (void *__P, __mmask8 __M, __m512i __A) { __builtin_ia32_pmovqw512mem_mask ((__v8hi *) __P, (__v8di) __A, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtepi64_epi16 (__m128i __O, __mmask8 __M, __m512i __A) { return (__m128i) __builtin_ia32_pmovqw512_mask ((__v8di) __A, (__v8hi) __O, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvtepi64_epi16 (__mmask8 __M, __m512i __A) { return (__m128i) __builtin_ia32_pmovqw512_mask ((__v8di) __A, (__v8hi) _mm_setzero_si128 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvtsepi64_epi16 (__m512i __A) { return (__m128i) __builtin_ia32_pmovsqw512_mask ((__v8di) __A, (__v8hi) _mm_undefined_si128 (), (__mmask8) -1); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtsepi64_storeu_epi16 (void * __P, __mmask8 __M, __m512i __A) { __builtin_ia32_pmovsqw512mem_mask ((__v8hi *) __P, (__v8di) __A, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtsepi64_epi16 (__m128i __O, __mmask8 __M, __m512i __A) { return (__m128i) __builtin_ia32_pmovsqw512_mask ((__v8di) __A, (__v8hi) __O, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvtsepi64_epi16 (__mmask8 __M, __m512i __A) { return (__m128i) __builtin_ia32_pmovsqw512_mask ((__v8di) __A, (__v8hi) _mm_setzero_si128 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvtusepi64_epi16 (__m512i __A) { return (__m128i) __builtin_ia32_pmovusqw512_mask ((__v8di) __A, (__v8hi) _mm_undefined_si128 (), (__mmask8) -1); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtusepi64_storeu_epi16 (void *__P, __mmask8 __M, __m512i __A) { __builtin_ia32_pmovusqw512mem_mask ((__v8hi*) __P, (__v8di) __A, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtusepi64_epi16 (__m128i __O, __mmask8 __M, __m512i __A) { return (__m128i) __builtin_ia32_pmovusqw512_mask ((__v8di) __A, (__v8hi) __O, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvtusepi64_epi16 (__mmask8 __M, __m512i __A) { return (__m128i) __builtin_ia32_pmovusqw512_mask ((__v8di) __A, (__v8hi) _mm_setzero_si128 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvtepi64_epi8 (__m512i __A) { return (__m128i) __builtin_ia32_pmovqb512_mask ((__v8di) __A, (__v16qi) _mm_undefined_si128 (), (__mmask8) -1); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtepi64_storeu_epi8 (void * __P, __mmask8 __M, __m512i __A) { __builtin_ia32_pmovqb512mem_mask ((__v16qi *) __P, (__v8di) __A, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtepi64_epi8 (__m128i __O, __mmask8 __M, __m512i __A) { return (__m128i) __builtin_ia32_pmovqb512_mask ((__v8di) __A, (__v16qi) __O, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvtepi64_epi8 (__mmask8 __M, __m512i __A) { return (__m128i) __builtin_ia32_pmovqb512_mask ((__v8di) __A, (__v16qi) _mm_setzero_si128 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvtsepi64_epi8 (__m512i __A) { return (__m128i) __builtin_ia32_pmovsqb512_mask ((__v8di) __A, (__v16qi) _mm_undefined_si128 (), (__mmask8) -1); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtsepi64_storeu_epi8 (void * __P, __mmask8 __M, __m512i __A) { __builtin_ia32_pmovsqb512mem_mask ((__v16qi *) __P, (__v8di) __A, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtsepi64_epi8 (__m128i __O, __mmask8 __M, __m512i __A) { return (__m128i) __builtin_ia32_pmovsqb512_mask ((__v8di) __A, (__v16qi) __O, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvtsepi64_epi8 (__mmask8 __M, __m512i __A) { return (__m128i) __builtin_ia32_pmovsqb512_mask ((__v8di) __A, (__v16qi) _mm_setzero_si128 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvtusepi64_epi8 (__m512i __A) { return (__m128i) __builtin_ia32_pmovusqb512_mask ((__v8di) __A, (__v16qi) _mm_undefined_si128 (), (__mmask8) -1); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtusepi64_storeu_epi8 (void * __P, __mmask8 __M, __m512i __A) { __builtin_ia32_pmovusqb512mem_mask ((__v16qi *) __P, (__v8di) __A, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtusepi64_epi8 (__m128i __O, __mmask8 __M, __m512i __A) { return (__m128i) __builtin_ia32_pmovusqb512_mask ((__v8di) __A, (__v16qi) __O, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvtusepi64_epi8 (__mmask8 __M, __m512i __A) { return (__m128i) __builtin_ia32_pmovusqb512_mask ((__v8di) __A, (__v16qi) _mm_setzero_si128 (), __M); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvtepi32_pd (__m256i __A) { return (__m512d) __builtin_ia32_cvtdq2pd512_mask ((__v8si) __A, (__v8df) _mm512_undefined_pd (), (__mmask8) -1); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtepi32_pd (__m512d __W, __mmask8 __U, __m256i __A) { return (__m512d) __builtin_ia32_cvtdq2pd512_mask ((__v8si) __A, (__v8df) __W, (__mmask8) __U); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvtepi32_pd (__mmask8 __U, __m256i __A) { return (__m512d) __builtin_ia32_cvtdq2pd512_mask ((__v8si) __A, (__v8df) _mm512_setzero_pd (), (__mmask8) __U); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvtepu32_pd (__m256i __A) { return (__m512d) __builtin_ia32_cvtudq2pd512_mask ((__v8si) __A, (__v8df) _mm512_undefined_pd (), (__mmask8) -1); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtepu32_pd (__m512d __W, __mmask8 __U, __m256i __A) { return (__m512d) __builtin_ia32_cvtudq2pd512_mask ((__v8si) __A, (__v8df) __W, (__mmask8) __U); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvtepu32_pd (__mmask8 __U, __m256i __A) { return (__m512d) __builtin_ia32_cvtudq2pd512_mask ((__v8si) __A, (__v8df) _mm512_setzero_pd (), (__mmask8) __U); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvt_roundepi32_ps (__m512i __A, const int __R) { return (__m512) __builtin_ia32_cvtdq2ps512_mask ((__v16si) __A, (__v16sf) _mm512_undefined_ps (), (__mmask16) -1, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvt_roundepi32_ps (__m512 __W, __mmask16 __U, __m512i __A, const int __R) { return (__m512) __builtin_ia32_cvtdq2ps512_mask ((__v16si) __A, (__v16sf) __W, (__mmask16) __U, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvt_roundepi32_ps (__mmask16 __U, __m512i __A, const int __R) { return (__m512) __builtin_ia32_cvtdq2ps512_mask ((__v16si) __A, (__v16sf) _mm512_setzero_ps (), (__mmask16) __U, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvt_roundepu32_ps (__m512i __A, const int __R) { return (__m512) __builtin_ia32_cvtudq2ps512_mask ((__v16si) __A, (__v16sf) _mm512_undefined_ps (), (__mmask16) -1, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvt_roundepu32_ps (__m512 __W, __mmask16 __U, __m512i __A, const int __R) { return (__m512) __builtin_ia32_cvtudq2ps512_mask ((__v16si) __A, (__v16sf) __W, (__mmask16) __U, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvt_roundepu32_ps (__mmask16 __U, __m512i __A, const int __R) { return (__m512) __builtin_ia32_cvtudq2ps512_mask ((__v16si) __A, (__v16sf) _mm512_setzero_ps (), (__mmask16) __U, __R); } # 5324 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512fintrin.h" 3 4 extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_extractf64x4_pd (__m512d __A, const int __imm) { return (__m256d) __builtin_ia32_extractf64x4_mask ((__v8df) __A, __imm, (__v4df) _mm256_undefined_pd (), (__mmask8) -1); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_extractf64x4_pd (__m256d __W, __mmask8 __U, __m512d __A, const int __imm) { return (__m256d) __builtin_ia32_extractf64x4_mask ((__v8df) __A, __imm, (__v4df) __W, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_extractf64x4_pd (__mmask8 __U, __m512d __A, const int __imm) { return (__m256d) __builtin_ia32_extractf64x4_mask ((__v8df) __A, __imm, (__v4df) _mm256_setzero_pd (), (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_extractf32x4_ps (__m512 __A, const int __imm) { return (__m128) __builtin_ia32_extractf32x4_mask ((__v16sf) __A, __imm, (__v4sf) _mm_undefined_ps (), (__mmask8) -1); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_extractf32x4_ps (__m128 __W, __mmask8 __U, __m512 __A, const int __imm) { return (__m128) __builtin_ia32_extractf32x4_mask ((__v16sf) __A, __imm, (__v4sf) __W, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_extractf32x4_ps (__mmask8 __U, __m512 __A, const int __imm) { return (__m128) __builtin_ia32_extractf32x4_mask ((__v16sf) __A, __imm, (__v4sf) _mm_setzero_ps (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_extracti64x4_epi64 (__m512i __A, const int __imm) { return (__m256i) __builtin_ia32_extracti64x4_mask ((__v8di) __A, __imm, (__v4di) _mm256_undefined_si256 (), (__mmask8) -1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_extracti64x4_epi64 (__m256i __W, __mmask8 __U, __m512i __A, const int __imm) { return (__m256i) __builtin_ia32_extracti64x4_mask ((__v8di) __A, __imm, (__v4di) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_extracti64x4_epi64 (__mmask8 __U, __m512i __A, const int __imm) { return (__m256i) __builtin_ia32_extracti64x4_mask ((__v8di) __A, __imm, (__v4di) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_extracti32x4_epi32 (__m512i __A, const int __imm) { return (__m128i) __builtin_ia32_extracti32x4_mask ((__v16si) __A, __imm, (__v4si) _mm_undefined_si128 (), (__mmask8) -1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_extracti32x4_epi32 (__m128i __W, __mmask8 __U, __m512i __A, const int __imm) { return (__m128i) __builtin_ia32_extracti32x4_mask ((__v16si) __A, __imm, (__v4si) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_extracti32x4_epi32 (__mmask8 __U, __m512i __A, const int __imm) { return (__m128i) __builtin_ia32_extracti32x4_mask ((__v16si) __A, __imm, (__v4si) _mm_setzero_si128 (), (__mmask8) __U); } # 5531 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512fintrin.h" 3 4 extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_inserti32x4 (__m512i __A, __m128i __B, const int __imm) { return (__m512i) __builtin_ia32_inserti32x4_mask ((__v16si) __A, (__v4si) __B, __imm, (__v16si) __A, -1); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_insertf32x4 (__m512 __A, __m128 __B, const int __imm) { return (__m512) __builtin_ia32_insertf32x4_mask ((__v16sf) __A, (__v4sf) __B, __imm, (__v16sf) __A, -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_inserti64x4 (__m512i __A, __m256i __B, const int __imm) { return (__m512i) __builtin_ia32_inserti64x4_mask ((__v8di) __A, (__v4di) __B, __imm, (__v8di) _mm512_undefined_si512 (), (__mmask8) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_inserti64x4 (__m512i __W, __mmask8 __U, __m512i __A, __m256i __B, const int __imm) { return (__m512i) __builtin_ia32_inserti64x4_mask ((__v8di) __A, (__v4di) __B, __imm, (__v8di) __W, (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_inserti64x4 (__mmask8 __U, __m512i __A, __m256i __B, const int __imm) { return (__m512i) __builtin_ia32_inserti64x4_mask ((__v8di) __A, (__v4di) __B, __imm, (__v8di) _mm512_setzero_si512 (), (__mmask8) __U); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_insertf64x4 (__m512d __A, __m256d __B, const int __imm) { return (__m512d) __builtin_ia32_insertf64x4_mask ((__v8df) __A, (__v4df) __B, __imm, (__v8df) _mm512_undefined_pd (), (__mmask8) -1); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_insertf64x4 (__m512d __W, __mmask8 __U, __m512d __A, __m256d __B, const int __imm) { return (__m512d) __builtin_ia32_insertf64x4_mask ((__v8df) __A, (__v4df) __B, __imm, (__v8df) __W, (__mmask8) __U); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_insertf64x4 (__mmask8 __U, __m512d __A, __m256d __B, const int __imm) { return (__m512d) __builtin_ia32_insertf64x4_mask ((__v8df) __A, (__v4df) __B, __imm, (__v8df) _mm512_setzero_pd (), (__mmask8) __U); } # 5670 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512fintrin.h" 3 4 extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_loadu_pd (void const *__P) { return (__m512d) __builtin_ia32_loadupd512_mask ((const __v8df *) __P, (__v8df) _mm512_undefined_pd (), (__mmask8) -1); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_loadu_pd (__m512d __W, __mmask8 __U, void const *__P) { return (__m512d) __builtin_ia32_loadupd512_mask ((const __v8df *) __P, (__v8df) __W, (__mmask8) __U); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_loadu_pd (__mmask8 __U, void const *__P) { return (__m512d) __builtin_ia32_loadupd512_mask ((const __v8df *) __P, (__v8df) _mm512_setzero_pd (), (__mmask8) __U); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_storeu_pd (void *__P, __m512d __A) { __builtin_ia32_storeupd512_mask ((__v8df *) __P, (__v8df) __A, (__mmask8) -1); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_storeu_pd (void *__P, __mmask8 __U, __m512d __A) { __builtin_ia32_storeupd512_mask ((__v8df *) __P, (__v8df) __A, (__mmask8) __U); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_loadu_ps (void const *__P) { return (__m512) __builtin_ia32_loadups512_mask ((const __v16sf *) __P, (__v16sf) _mm512_undefined_ps (), (__mmask16) -1); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_loadu_ps (__m512 __W, __mmask16 __U, void const *__P) { return (__m512) __builtin_ia32_loadups512_mask ((const __v16sf *) __P, (__v16sf) __W, (__mmask16) __U); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_loadu_ps (__mmask16 __U, void const *__P) { return (__m512) __builtin_ia32_loadups512_mask ((const __v16sf *) __P, (__v16sf) _mm512_setzero_ps (), (__mmask16) __U); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_storeu_ps (void *__P, __m512 __A) { __builtin_ia32_storeups512_mask ((__v16sf *) __P, (__v16sf) __A, (__mmask16) -1); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_storeu_ps (void *__P, __mmask16 __U, __m512 __A) { __builtin_ia32_storeups512_mask ((__v16sf *) __P, (__v16sf) __A, (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_loadu_epi64 (__m512i __W, __mmask8 __U, void const *__P) { return (__m512i) __builtin_ia32_loaddqudi512_mask ((const __v8di *) __P, (__v8di) __W, (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_loadu_epi64 (__mmask8 __U, void const *__P) { return (__m512i) __builtin_ia32_loaddqudi512_mask ((const __v8di *) __P, (__v8di) _mm512_setzero_si512 (), (__mmask8) __U); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_storeu_epi64 (void *__P, __mmask8 __U, __m512i __A) { __builtin_ia32_storedqudi512_mask ((__v8di *) __P, (__v8di) __A, (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_loadu_si512 (void const *__P) { return (__m512i) __builtin_ia32_loaddqusi512_mask ((const __v16si *) __P, (__v16si) _mm512_setzero_si512 (), (__mmask16) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_loadu_epi32 (__m512i __W, __mmask16 __U, void const *__P) { return (__m512i) __builtin_ia32_loaddqusi512_mask ((const __v16si *) __P, (__v16si) __W, (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_loadu_epi32 (__mmask16 __U, void const *__P) { return (__m512i) __builtin_ia32_loaddqusi512_mask ((const __v16si *) __P, (__v16si) _mm512_setzero_si512 (), (__mmask16) __U); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_storeu_si512 (void *__P, __m512i __A) { __builtin_ia32_storedqusi512_mask ((__v16si *) __P, (__v16si) __A, (__mmask16) -1); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_storeu_epi32 (void *__P, __mmask16 __U, __m512i __A) { __builtin_ia32_storedqusi512_mask ((__v16si *) __P, (__v16si) __A, (__mmask16) __U); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_permutevar_pd (__m512d __A, __m512i __C) { return (__m512d) __builtin_ia32_vpermilvarpd512_mask ((__v8df) __A, (__v8di) __C, (__v8df) _mm512_undefined_pd (), (__mmask8) -1); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_permutevar_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512i __C) { return (__m512d) __builtin_ia32_vpermilvarpd512_mask ((__v8df) __A, (__v8di) __C, (__v8df) __W, (__mmask8) __U); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_permutevar_pd (__mmask8 __U, __m512d __A, __m512i __C) { return (__m512d) __builtin_ia32_vpermilvarpd512_mask ((__v8df) __A, (__v8di) __C, (__v8df) _mm512_setzero_pd (), (__mmask8) __U); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_permutevar_ps (__m512 __A, __m512i __C) { return (__m512) __builtin_ia32_vpermilvarps512_mask ((__v16sf) __A, (__v16si) __C, (__v16sf) _mm512_undefined_ps (), (__mmask16) -1); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_permutevar_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512i __C) { return (__m512) __builtin_ia32_vpermilvarps512_mask ((__v16sf) __A, (__v16si) __C, (__v16sf) __W, (__mmask16) __U); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_permutevar_ps (__mmask16 __U, __m512 __A, __m512i __C) { return (__m512) __builtin_ia32_vpermilvarps512_mask ((__v16sf) __A, (__v16si) __C, (__v16sf) _mm512_setzero_ps (), (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_permutex2var_epi64 (__m512i __A, __m512i __I, __m512i __B) { return (__m512i) __builtin_ia32_vpermt2varq512_mask ((__v8di) __I , (__v8di) __A, (__v8di) __B, (__mmask8) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_permutex2var_epi64 (__m512i __A, __mmask8 __U, __m512i __I, __m512i __B) { return (__m512i) __builtin_ia32_vpermt2varq512_mask ((__v8di) __I , (__v8di) __A, (__v8di) __B, (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask2_permutex2var_epi64 (__m512i __A, __m512i __I, __mmask8 __U, __m512i __B) { return (__m512i) __builtin_ia32_vpermi2varq512_mask ((__v8di) __A, (__v8di) __I , (__v8di) __B, (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_permutex2var_epi64 (__mmask8 __U, __m512i __A, __m512i __I, __m512i __B) { return (__m512i) __builtin_ia32_vpermt2varq512_maskz ((__v8di) __I , (__v8di) __A, (__v8di) __B, (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_permutex2var_epi32 (__m512i __A, __m512i __I, __m512i __B) { return (__m512i) __builtin_ia32_vpermt2vard512_mask ((__v16si) __I , (__v16si) __A, (__v16si) __B, (__mmask16) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_permutex2var_epi32 (__m512i __A, __mmask16 __U, __m512i __I, __m512i __B) { return (__m512i) __builtin_ia32_vpermt2vard512_mask ((__v16si) __I , (__v16si) __A, (__v16si) __B, (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask2_permutex2var_epi32 (__m512i __A, __m512i __I, __mmask16 __U, __m512i __B) { return (__m512i) __builtin_ia32_vpermi2vard512_mask ((__v16si) __A, (__v16si) __I , (__v16si) __B, (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_permutex2var_epi32 (__mmask16 __U, __m512i __A, __m512i __I, __m512i __B) { return (__m512i) __builtin_ia32_vpermt2vard512_maskz ((__v16si) __I , (__v16si) __A, (__v16si) __B, (__mmask16) __U); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_permutex2var_pd (__m512d __A, __m512i __I, __m512d __B) { return (__m512d) __builtin_ia32_vpermt2varpd512_mask ((__v8di) __I , (__v8df) __A, (__v8df) __B, (__mmask8) -1); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_permutex2var_pd (__m512d __A, __mmask8 __U, __m512i __I, __m512d __B) { return (__m512d) __builtin_ia32_vpermt2varpd512_mask ((__v8di) __I , (__v8df) __A, (__v8df) __B, (__mmask8) __U); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask2_permutex2var_pd (__m512d __A, __m512i __I, __mmask8 __U, __m512d __B) { return (__m512d) __builtin_ia32_vpermi2varpd512_mask ((__v8df) __A, (__v8di) __I , (__v8df) __B, (__mmask8) __U); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_permutex2var_pd (__mmask8 __U, __m512d __A, __m512i __I, __m512d __B) { return (__m512d) __builtin_ia32_vpermt2varpd512_maskz ((__v8di) __I , (__v8df) __A, (__v8df) __B, (__mmask8) __U); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_permutex2var_ps (__m512 __A, __m512i __I, __m512 __B) { return (__m512) __builtin_ia32_vpermt2varps512_mask ((__v16si) __I , (__v16sf) __A, (__v16sf) __B, (__mmask16) -1); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_permutex2var_ps (__m512 __A, __mmask16 __U, __m512i __I, __m512 __B) { return (__m512) __builtin_ia32_vpermt2varps512_mask ((__v16si) __I , (__v16sf) __A, (__v16sf) __B, (__mmask16) __U); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask2_permutex2var_ps (__m512 __A, __m512i __I, __mmask16 __U, __m512 __B) { return (__m512) __builtin_ia32_vpermi2varps512_mask ((__v16sf) __A, (__v16si) __I , (__v16sf) __B, (__mmask16) __U); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_permutex2var_ps (__mmask16 __U, __m512 __A, __m512i __I, __m512 __B) { return (__m512) __builtin_ia32_vpermt2varps512_maskz ((__v16si) __I , (__v16sf) __A, (__v16sf) __B, (__mmask16) __U); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_permute_pd (__m512d __X, const int __C) { return (__m512d) __builtin_ia32_vpermilpd512_mask ((__v8df) __X, __C, (__v8df) _mm512_undefined_pd (), (__mmask8) -1); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_permute_pd (__m512d __W, __mmask8 __U, __m512d __X, const int __C) { return (__m512d) __builtin_ia32_vpermilpd512_mask ((__v8df) __X, __C, (__v8df) __W, (__mmask8) __U); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_permute_pd (__mmask8 __U, __m512d __X, const int __C) { return (__m512d) __builtin_ia32_vpermilpd512_mask ((__v8df) __X, __C, (__v8df) _mm512_setzero_pd (), (__mmask8) __U); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_permute_ps (__m512 __X, const int __C) { return (__m512) __builtin_ia32_vpermilps512_mask ((__v16sf) __X, __C, (__v16sf) _mm512_undefined_ps (), (__mmask16) -1); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_permute_ps (__m512 __W, __mmask16 __U, __m512 __X, const int __C) { return (__m512) __builtin_ia32_vpermilps512_mask ((__v16sf) __X, __C, (__v16sf) __W, (__mmask16) __U); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_permute_ps (__mmask16 __U, __m512 __X, const int __C) { return (__m512) __builtin_ia32_vpermilps512_mask ((__v16sf) __X, __C, (__v16sf) _mm512_setzero_ps (), (__mmask16) __U); } # 6174 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512fintrin.h" 3 4 extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_permutex_epi64 (__m512i __X, const int __I) { return (__m512i) __builtin_ia32_permdi512_mask ((__v8di) __X, __I, (__v8di) _mm512_undefined_si512 (), (__mmask8) (-1)); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_permutex_epi64 (__m512i __W, __mmask8 __M, __m512i __X, const int __I) { return (__m512i) __builtin_ia32_permdi512_mask ((__v8di) __X, __I, (__v8di) __W, (__mmask8) __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_permutex_epi64 (__mmask8 __M, __m512i __X, const int __I) { return (__m512i) __builtin_ia32_permdi512_mask ((__v8di) __X, __I, (__v8di) _mm512_setzero_si512 (), (__mmask8) __M); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_permutex_pd (__m512d __X, const int __M) { return (__m512d) __builtin_ia32_permdf512_mask ((__v8df) __X, __M, (__v8df) _mm512_undefined_pd (), (__mmask8) -1); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_permutex_pd (__m512d __W, __mmask8 __U, __m512d __X, const int __M) { return (__m512d) __builtin_ia32_permdf512_mask ((__v8df) __X, __M, (__v8df) __W, (__mmask8) __U); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_permutex_pd (__mmask8 __U, __m512d __X, const int __M) { return (__m512d) __builtin_ia32_permdf512_mask ((__v8df) __X, __M, (__v8df) _mm512_setzero_pd (), (__mmask8) __U); } # 6268 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512fintrin.h" 3 4 extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_permutexvar_epi64 (__mmask8 __M, __m512i __X, __m512i __Y) { return (__m512i) __builtin_ia32_permvardi512_mask ((__v8di) __Y, (__v8di) __X, (__v8di) _mm512_setzero_si512 (), __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_permutexvar_epi64 (__m512i __X, __m512i __Y) { return (__m512i) __builtin_ia32_permvardi512_mask ((__v8di) __Y, (__v8di) __X, (__v8di) _mm512_undefined_si512 (), (__mmask8) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_permutexvar_epi64 (__m512i __W, __mmask8 __M, __m512i __X, __m512i __Y) { return (__m512i) __builtin_ia32_permvardi512_mask ((__v8di) __Y, (__v8di) __X, (__v8di) __W, __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_permutexvar_epi32 (__mmask16 __M, __m512i __X, __m512i __Y) { return (__m512i) __builtin_ia32_permvarsi512_mask ((__v16si) __Y, (__v16si) __X, (__v16si) _mm512_setzero_si512 (), __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_permutexvar_epi32 (__m512i __X, __m512i __Y) { return (__m512i) __builtin_ia32_permvarsi512_mask ((__v16si) __Y, (__v16si) __X, (__v16si) _mm512_undefined_si512 (), (__mmask16) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_permutexvar_epi32 (__m512i __W, __mmask16 __M, __m512i __X, __m512i __Y) { return (__m512i) __builtin_ia32_permvarsi512_mask ((__v16si) __Y, (__v16si) __X, (__v16si) __W, __M); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_permutexvar_pd (__m512i __X, __m512d __Y) { return (__m512d) __builtin_ia32_permvardf512_mask ((__v8df) __Y, (__v8di) __X, (__v8df) _mm512_undefined_pd (), (__mmask8) -1); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_permutexvar_pd (__m512d __W, __mmask8 __U, __m512i __X, __m512d __Y) { return (__m512d) __builtin_ia32_permvardf512_mask ((__v8df) __Y, (__v8di) __X, (__v8df) __W, (__mmask8) __U); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_permutexvar_pd (__mmask8 __U, __m512i __X, __m512d __Y) { return (__m512d) __builtin_ia32_permvardf512_mask ((__v8df) __Y, (__v8di) __X, (__v8df) _mm512_setzero_pd (), (__mmask8) __U); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_permutexvar_ps (__m512i __X, __m512 __Y) { return (__m512) __builtin_ia32_permvarsf512_mask ((__v16sf) __Y, (__v16si) __X, (__v16sf) _mm512_undefined_ps (), (__mmask16) -1); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_permutexvar_ps (__m512 __W, __mmask16 __U, __m512i __X, __m512 __Y) { return (__m512) __builtin_ia32_permvarsf512_mask ((__v16sf) __Y, (__v16si) __X, (__v16sf) __W, (__mmask16) __U); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_permutexvar_ps (__mmask16 __U, __m512i __X, __m512 __Y) { return (__m512) __builtin_ia32_permvarsf512_mask ((__v16sf) __Y, (__v16si) __X, (__v16sf) _mm512_setzero_ps (), (__mmask16) __U); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_shuffle_ps (__m512 __M, __m512 __V, const int __imm) { return (__m512) __builtin_ia32_shufps512_mask ((__v16sf) __M, (__v16sf) __V, __imm, (__v16sf) _mm512_undefined_ps (), (__mmask16) -1); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_shuffle_ps (__m512 __W, __mmask16 __U, __m512 __M, __m512 __V, const int __imm) { return (__m512) __builtin_ia32_shufps512_mask ((__v16sf) __M, (__v16sf) __V, __imm, (__v16sf) __W, (__mmask16) __U); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_shuffle_ps (__mmask16 __U, __m512 __M, __m512 __V, const int __imm) { return (__m512) __builtin_ia32_shufps512_mask ((__v16sf) __M, (__v16sf) __V, __imm, (__v16sf) _mm512_setzero_ps (), (__mmask16) __U); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_shuffle_pd (__m512d __M, __m512d __V, const int __imm) { return (__m512d) __builtin_ia32_shufpd512_mask ((__v8df) __M, (__v8df) __V, __imm, (__v8df) _mm512_undefined_pd (), (__mmask8) -1); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_shuffle_pd (__m512d __W, __mmask8 __U, __m512d __M, __m512d __V, const int __imm) { return (__m512d) __builtin_ia32_shufpd512_mask ((__v8df) __M, (__v8df) __V, __imm, (__v8df) __W, (__mmask8) __U); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_shuffle_pd (__mmask8 __U, __m512d __M, __m512d __V, const int __imm) { return (__m512d) __builtin_ia32_shufpd512_mask ((__v8df) __M, (__v8df) __V, __imm, (__v8df) _mm512_setzero_pd (), (__mmask8) __U); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_fixupimm_round_pd (__m512d __A, __m512d __B, __m512i __C, const int __imm, const int __R) { return (__m512d) __builtin_ia32_fixupimmpd512_mask ((__v8df) __A, (__v8df) __B, (__v8di) __C, __imm, (__mmask8) -1, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_fixupimm_round_pd (__m512d __A, __mmask8 __U, __m512d __B, __m512i __C, const int __imm, const int __R) { return (__m512d) __builtin_ia32_fixupimmpd512_mask ((__v8df) __A, (__v8df) __B, (__v8di) __C, __imm, (__mmask8) __U, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_fixupimm_round_pd (__mmask8 __U, __m512d __A, __m512d __B, __m512i __C, const int __imm, const int __R) { return (__m512d) __builtin_ia32_fixupimmpd512_maskz ((__v8df) __A, (__v8df) __B, (__v8di) __C, __imm, (__mmask8) __U, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_fixupimm_round_ps (__m512 __A, __m512 __B, __m512i __C, const int __imm, const int __R) { return (__m512) __builtin_ia32_fixupimmps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16si) __C, __imm, (__mmask16) -1, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_fixupimm_round_ps (__m512 __A, __mmask16 __U, __m512 __B, __m512i __C, const int __imm, const int __R) { return (__m512) __builtin_ia32_fixupimmps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16si) __C, __imm, (__mmask16) __U, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_fixupimm_round_ps (__mmask16 __U, __m512 __A, __m512 __B, __m512i __C, const int __imm, const int __R) { return (__m512) __builtin_ia32_fixupimmps512_maskz ((__v16sf) __A, (__v16sf) __B, (__v16si) __C, __imm, (__mmask16) __U, __R); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_fixupimm_round_sd (__m128d __A, __m128d __B, __m128i __C, const int __imm, const int __R) { return (__m128d) __builtin_ia32_fixupimmsd_mask ((__v2df) __A, (__v2df) __B, (__v2di) __C, __imm, (__mmask8) -1, __R); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_fixupimm_round_sd (__m128d __A, __mmask8 __U, __m128d __B, __m128i __C, const int __imm, const int __R) { return (__m128d) __builtin_ia32_fixupimmsd_mask ((__v2df) __A, (__v2df) __B, (__v2di) __C, __imm, (__mmask8) __U, __R); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_fixupimm_round_sd (__mmask8 __U, __m128d __A, __m128d __B, __m128i __C, const int __imm, const int __R) { return (__m128d) __builtin_ia32_fixupimmsd_maskz ((__v2df) __A, (__v2df) __B, (__v2di) __C, __imm, (__mmask8) __U, __R); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_fixupimm_round_ss (__m128 __A, __m128 __B, __m128i __C, const int __imm, const int __R) { return (__m128) __builtin_ia32_fixupimmss_mask ((__v4sf) __A, (__v4sf) __B, (__v4si) __C, __imm, (__mmask8) -1, __R); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_fixupimm_round_ss (__m128 __A, __mmask8 __U, __m128 __B, __m128i __C, const int __imm, const int __R) { return (__m128) __builtin_ia32_fixupimmss_mask ((__v4sf) __A, (__v4sf) __B, (__v4si) __C, __imm, (__mmask8) __U, __R); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_fixupimm_round_ss (__mmask8 __U, __m128 __A, __m128 __B, __m128i __C, const int __imm, const int __R) { return (__m128) __builtin_ia32_fixupimmss_maskz ((__v4sf) __A, (__v4sf) __B, (__v4si) __C, __imm, (__mmask8) __U, __R); } # 6703 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512fintrin.h" 3 4 extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_movehdup_ps (__m512 __A) { return (__m512) __builtin_ia32_movshdup512_mask ((__v16sf) __A, (__v16sf) _mm512_undefined_ps (), (__mmask16) -1); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_movehdup_ps (__m512 __W, __mmask16 __U, __m512 __A) { return (__m512) __builtin_ia32_movshdup512_mask ((__v16sf) __A, (__v16sf) __W, (__mmask16) __U); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_movehdup_ps (__mmask16 __U, __m512 __A) { return (__m512) __builtin_ia32_movshdup512_mask ((__v16sf) __A, (__v16sf) _mm512_setzero_ps (), (__mmask16) __U); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_moveldup_ps (__m512 __A) { return (__m512) __builtin_ia32_movsldup512_mask ((__v16sf) __A, (__v16sf) _mm512_undefined_ps (), (__mmask16) -1); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_moveldup_ps (__m512 __W, __mmask16 __U, __m512 __A) { return (__m512) __builtin_ia32_movsldup512_mask ((__v16sf) __A, (__v16sf) __W, (__mmask16) __U); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_moveldup_ps (__mmask16 __U, __m512 __A) { return (__m512) __builtin_ia32_movsldup512_mask ((__v16sf) __A, (__v16sf) _mm512_setzero_ps (), (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_or_si512 (__m512i __A, __m512i __B) { return (__m512i) ((__v16su) __A | (__v16su) __B); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_or_epi32 (__m512i __A, __m512i __B) { return (__m512i) ((__v16su) __A | (__v16su) __B); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_or_epi32 (__m512i __W, __mmask16 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pord512_mask ((__v16si) __A, (__v16si) __B, (__v16si) __W, (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_or_epi32 (__mmask16 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pord512_mask ((__v16si) __A, (__v16si) __B, (__v16si) _mm512_setzero_si512 (), (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_or_epi64 (__m512i __A, __m512i __B) { return (__m512i) ((__v8du) __A | (__v8du) __B); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_or_epi64 (__m512i __W, __mmask8 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_porq512_mask ((__v8di) __A, (__v8di) __B, (__v8di) __W, (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_or_epi64 (__mmask8 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_porq512_mask ((__v8di) __A, (__v8di) __B, (__v8di) _mm512_setzero_si512 (), (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_xor_si512 (__m512i __A, __m512i __B) { return (__m512i) ((__v16su) __A ^ (__v16su) __B); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_xor_epi32 (__m512i __A, __m512i __B) { return (__m512i) ((__v16su) __A ^ (__v16su) __B); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_xor_epi32 (__m512i __W, __mmask16 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pxord512_mask ((__v16si) __A, (__v16si) __B, (__v16si) __W, (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_xor_epi32 (__mmask16 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pxord512_mask ((__v16si) __A, (__v16si) __B, (__v16si) _mm512_setzero_si512 (), (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_xor_epi64 (__m512i __A, __m512i __B) { return (__m512i) ((__v8du) __A ^ (__v8du) __B); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_xor_epi64 (__m512i __W, __mmask16 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pxorq512_mask ((__v8di) __A, (__v8di) __B, (__v8di) __W, (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_xor_epi64 (__mmask16 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pxorq512_mask ((__v8di) __A, (__v8di) __B, (__v8di) _mm512_setzero_si512 (), (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_rol_epi32 (__m512i __A, const int __B) { return (__m512i) __builtin_ia32_prold512_mask ((__v16si) __A, __B, (__v16si) _mm512_undefined_si512 (), (__mmask16) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_rol_epi32 (__m512i __W, __mmask16 __U, __m512i __A, const int __B) { return (__m512i) __builtin_ia32_prold512_mask ((__v16si) __A, __B, (__v16si) __W, (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_rol_epi32 (__mmask16 __U, __m512i __A, const int __B) { return (__m512i) __builtin_ia32_prold512_mask ((__v16si) __A, __B, (__v16si) _mm512_setzero_si512 (), (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_ror_epi32 (__m512i __A, int __B) { return (__m512i) __builtin_ia32_prord512_mask ((__v16si) __A, __B, (__v16si) _mm512_undefined_si512 (), (__mmask16) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_ror_epi32 (__m512i __W, __mmask16 __U, __m512i __A, int __B) { return (__m512i) __builtin_ia32_prord512_mask ((__v16si) __A, __B, (__v16si) __W, (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_ror_epi32 (__mmask16 __U, __m512i __A, int __B) { return (__m512i) __builtin_ia32_prord512_mask ((__v16si) __A, __B, (__v16si) _mm512_setzero_si512 (), (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_rol_epi64 (__m512i __A, const int __B) { return (__m512i) __builtin_ia32_prolq512_mask ((__v8di) __A, __B, (__v8di) _mm512_undefined_si512 (), (__mmask8) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_rol_epi64 (__m512i __W, __mmask8 __U, __m512i __A, const int __B) { return (__m512i) __builtin_ia32_prolq512_mask ((__v8di) __A, __B, (__v8di) __W, (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_rol_epi64 (__mmask8 __U, __m512i __A, const int __B) { return (__m512i) __builtin_ia32_prolq512_mask ((__v8di) __A, __B, (__v8di) _mm512_setzero_si512 (), (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_ror_epi64 (__m512i __A, int __B) { return (__m512i) __builtin_ia32_prorq512_mask ((__v8di) __A, __B, (__v8di) _mm512_undefined_si512 (), (__mmask8) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_ror_epi64 (__m512i __W, __mmask8 __U, __m512i __A, int __B) { return (__m512i) __builtin_ia32_prorq512_mask ((__v8di) __A, __B, (__v8di) __W, (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_ror_epi64 (__mmask8 __U, __m512i __A, int __B) { return (__m512i) __builtin_ia32_prorq512_mask ((__v8di) __A, __B, (__v8di) _mm512_setzero_si512 (), (__mmask8) __U); } # 7068 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512fintrin.h" 3 4 extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_and_si512 (__m512i __A, __m512i __B) { return (__m512i) ((__v16su) __A & (__v16su) __B); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_and_epi32 (__m512i __A, __m512i __B) { return (__m512i) ((__v16su) __A & (__v16su) __B); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_and_epi32 (__m512i __W, __mmask16 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pandd512_mask ((__v16si) __A, (__v16si) __B, (__v16si) __W, (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_and_epi32 (__mmask16 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pandd512_mask ((__v16si) __A, (__v16si) __B, (__v16si) _mm512_setzero_si512 (), (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_and_epi64 (__m512i __A, __m512i __B) { return (__m512i) ((__v8du) __A & (__v8du) __B); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_and_epi64 (__m512i __W, __mmask8 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pandq512_mask ((__v8di) __A, (__v8di) __B, (__v8di) __W, __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_and_epi64 (__mmask8 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pandq512_mask ((__v8di) __A, (__v8di) __B, (__v8di) _mm512_setzero_pd (), __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_andnot_si512 (__m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pandnd512_mask ((__v16si) __A, (__v16si) __B, (__v16si) _mm512_undefined_si512 (), (__mmask16) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_andnot_epi32 (__m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pandnd512_mask ((__v16si) __A, (__v16si) __B, (__v16si) _mm512_undefined_si512 (), (__mmask16) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_andnot_epi32 (__m512i __W, __mmask16 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pandnd512_mask ((__v16si) __A, (__v16si) __B, (__v16si) __W, (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_andnot_epi32 (__mmask16 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pandnd512_mask ((__v16si) __A, (__v16si) __B, (__v16si) _mm512_setzero_si512 (), (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_andnot_epi64 (__m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pandnq512_mask ((__v8di) __A, (__v8di) __B, (__v8di) _mm512_undefined_si512 (), (__mmask8) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_andnot_epi64 (__m512i __W, __mmask8 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pandnq512_mask ((__v8di) __A, (__v8di) __B, (__v8di) __W, __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_andnot_epi64 (__mmask8 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pandnq512_mask ((__v8di) __A, (__v8di) __B, (__v8di) _mm512_setzero_pd (), __U); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_test_epi32_mask (__m512i __A, __m512i __B) { return (__mmask16) __builtin_ia32_ptestmd512 ((__v16si) __A, (__v16si) __B, (__mmask16) -1); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_test_epi32_mask (__mmask16 __U, __m512i __A, __m512i __B) { return (__mmask16) __builtin_ia32_ptestmd512 ((__v16si) __A, (__v16si) __B, __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_test_epi64_mask (__m512i __A, __m512i __B) { return (__mmask8) __builtin_ia32_ptestmq512 ((__v8di) __A, (__v8di) __B, (__mmask8) -1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_test_epi64_mask (__mmask8 __U, __m512i __A, __m512i __B) { return (__mmask8) __builtin_ia32_ptestmq512 ((__v8di) __A, (__v8di) __B, __U); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_testn_epi32_mask (__m512i __A, __m512i __B) { return (__mmask16) __builtin_ia32_ptestnmd512 ((__v16si) __A, (__v16si) __B, (__mmask16) -1); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_testn_epi32_mask (__mmask16 __U, __m512i __A, __m512i __B) { return (__mmask16) __builtin_ia32_ptestnmd512 ((__v16si) __A, (__v16si) __B, __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_testn_epi64_mask (__m512i __A, __m512i __B) { return (__mmask8) __builtin_ia32_ptestnmq512 ((__v8di) __A, (__v8di) __B, (__mmask8) -1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_testn_epi64_mask (__mmask8 __U, __m512i __A, __m512i __B) { return (__mmask8) __builtin_ia32_ptestnmq512 ((__v8di) __A, (__v8di) __B, __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_unpackhi_epi32 (__m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_punpckhdq512_mask ((__v16si) __A, (__v16si) __B, (__v16si) _mm512_undefined_si512 (), (__mmask16) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_unpackhi_epi32 (__m512i __W, __mmask16 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_punpckhdq512_mask ((__v16si) __A, (__v16si) __B, (__v16si) __W, (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_unpackhi_epi32 (__mmask16 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_punpckhdq512_mask ((__v16si) __A, (__v16si) __B, (__v16si) _mm512_setzero_si512 (), (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_unpackhi_epi64 (__m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_punpckhqdq512_mask ((__v8di) __A, (__v8di) __B, (__v8di) _mm512_undefined_si512 (), (__mmask8) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_unpackhi_epi64 (__m512i __W, __mmask8 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_punpckhqdq512_mask ((__v8di) __A, (__v8di) __B, (__v8di) __W, (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_unpackhi_epi64 (__mmask8 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_punpckhqdq512_mask ((__v8di) __A, (__v8di) __B, (__v8di) _mm512_setzero_si512 (), (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_unpacklo_epi32 (__m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_punpckldq512_mask ((__v16si) __A, (__v16si) __B, (__v16si) _mm512_undefined_si512 (), (__mmask16) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_unpacklo_epi32 (__m512i __W, __mmask16 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_punpckldq512_mask ((__v16si) __A, (__v16si) __B, (__v16si) __W, (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_unpacklo_epi32 (__mmask16 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_punpckldq512_mask ((__v16si) __A, (__v16si) __B, (__v16si) _mm512_setzero_si512 (), (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_unpacklo_epi64 (__m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_punpcklqdq512_mask ((__v8di) __A, (__v8di) __B, (__v8di) _mm512_undefined_si512 (), (__mmask8) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_unpacklo_epi64 (__m512i __W, __mmask8 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_punpcklqdq512_mask ((__v8di) __A, (__v8di) __B, (__v8di) __W, (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_unpacklo_epi64 (__mmask8 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_punpcklqdq512_mask ((__v8di) __A, (__v8di) __B, (__v8di) _mm512_setzero_si512 (), (__mmask8) __U); } # 7466 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512fintrin.h" 3 4 extern __inline unsigned __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvt_roundss_u32 (__m128 __A, const int __R) { return (unsigned) __builtin_ia32_vcvtss2usi32 ((__v4sf) __A, __R); } extern __inline int __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvt_roundss_si32 (__m128 __A, const int __R) { return (int) __builtin_ia32_vcvtss2si32 ((__v4sf) __A, __R); } extern __inline int __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvt_roundss_i32 (__m128 __A, const int __R) { return (int) __builtin_ia32_vcvtss2si32 ((__v4sf) __A, __R); } extern __inline unsigned __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtt_roundss_u32 (__m128 __A, const int __R) { return (unsigned) __builtin_ia32_vcvttss2usi32 ((__v4sf) __A, __R); } extern __inline int __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtt_roundss_i32 (__m128 __A, const int __R) { return (int) __builtin_ia32_vcvttss2si32 ((__v4sf) __A, __R); } extern __inline int __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtt_roundss_si32 (__m128 __A, const int __R) { return (int) __builtin_ia32_vcvttss2si32 ((__v4sf) __A, __R); } # 7592 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512fintrin.h" 3 4 extern __inline unsigned __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvt_roundsd_u32 (__m128d __A, const int __R) { return (unsigned) __builtin_ia32_vcvtsd2usi32 ((__v2df) __A, __R); } extern __inline int __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvt_roundsd_si32 (__m128d __A, const int __R) { return (int) __builtin_ia32_vcvtsd2si32 ((__v2df) __A, __R); } extern __inline int __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvt_roundsd_i32 (__m128d __A, const int __R) { return (int) __builtin_ia32_vcvtsd2si32 ((__v2df) __A, __R); } extern __inline unsigned __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtt_roundsd_u32 (__m128d __A, const int __R) { return (unsigned) __builtin_ia32_vcvttsd2usi32 ((__v2df) __A, __R); } extern __inline int __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtt_roundsd_i32 (__m128d __A, const int __R) { return (int) __builtin_ia32_vcvttsd2si32 ((__v2df) __A, __R); } extern __inline int __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtt_roundsd_si32 (__m128d __A, const int __R) { return (int) __builtin_ia32_vcvttsd2si32 ((__v2df) __A, __R); } # 7653 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512fintrin.h" 3 4 extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_movedup_pd (__m512d __A) { return (__m512d) __builtin_ia32_movddup512_mask ((__v8df) __A, (__v8df) _mm512_undefined_pd (), (__mmask8) -1); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_movedup_pd (__m512d __W, __mmask8 __U, __m512d __A) { return (__m512d) __builtin_ia32_movddup512_mask ((__v8df) __A, (__v8df) __W, (__mmask8) __U); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_movedup_pd (__mmask8 __U, __m512d __A) { return (__m512d) __builtin_ia32_movddup512_mask ((__v8df) __A, (__v8df) _mm512_setzero_pd (), (__mmask8) __U); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_unpacklo_pd (__m512d __A, __m512d __B) { return (__m512d) __builtin_ia32_unpcklpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) _mm512_undefined_pd (), (__mmask8) -1); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_unpacklo_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512d __B) { return (__m512d) __builtin_ia32_unpcklpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) __W, (__mmask8) __U); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_unpacklo_pd (__mmask8 __U, __m512d __A, __m512d __B) { return (__m512d) __builtin_ia32_unpcklpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) _mm512_setzero_pd (), (__mmask8) __U); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_unpackhi_pd (__m512d __A, __m512d __B) { return (__m512d) __builtin_ia32_unpckhpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) _mm512_undefined_pd (), (__mmask8) -1); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_unpackhi_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512d __B) { return (__m512d) __builtin_ia32_unpckhpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) __W, (__mmask8) __U); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_unpackhi_pd (__mmask8 __U, __m512d __A, __m512d __B) { return (__m512d) __builtin_ia32_unpckhpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) _mm512_setzero_pd (), (__mmask8) __U); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_unpackhi_ps (__m512 __A, __m512 __B) { return (__m512) __builtin_ia32_unpckhps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) _mm512_undefined_ps (), (__mmask16) -1); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_unpackhi_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B) { return (__m512) __builtin_ia32_unpckhps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) __W, (__mmask16) __U); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_unpackhi_ps (__mmask16 __U, __m512 __A, __m512 __B) { return (__m512) __builtin_ia32_unpckhps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) _mm512_setzero_ps (), (__mmask16) __U); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvt_roundps_pd (__m256 __A, const int __R) { return (__m512d) __builtin_ia32_cvtps2pd512_mask ((__v8sf) __A, (__v8df) _mm512_undefined_pd (), (__mmask8) -1, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvt_roundps_pd (__m512d __W, __mmask8 __U, __m256 __A, const int __R) { return (__m512d) __builtin_ia32_cvtps2pd512_mask ((__v8sf) __A, (__v8df) __W, (__mmask8) __U, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvt_roundps_pd (__mmask8 __U, __m256 __A, const int __R) { return (__m512d) __builtin_ia32_cvtps2pd512_mask ((__v8sf) __A, (__v8df) _mm512_setzero_pd (), (__mmask8) __U, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvt_roundph_ps (__m256i __A, const int __R) { return (__m512) __builtin_ia32_vcvtph2ps512_mask ((__v16hi) __A, (__v16sf) _mm512_undefined_ps (), (__mmask16) -1, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvt_roundph_ps (__m512 __W, __mmask16 __U, __m256i __A, const int __R) { return (__m512) __builtin_ia32_vcvtph2ps512_mask ((__v16hi) __A, (__v16sf) __W, (__mmask16) __U, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvt_roundph_ps (__mmask16 __U, __m256i __A, const int __R) { return (__m512) __builtin_ia32_vcvtph2ps512_mask ((__v16hi) __A, (__v16sf) _mm512_setzero_ps (), (__mmask16) __U, __R); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvt_roundps_ph (__m512 __A, const int __I) { return (__m256i) __builtin_ia32_vcvtps2ph512_mask ((__v16sf) __A, __I, (__v16hi) _mm256_undefined_si256 (), -1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvtps_ph (__m512 __A, const int __I) { return (__m256i) __builtin_ia32_vcvtps2ph512_mask ((__v16sf) __A, __I, (__v16hi) _mm256_undefined_si256 (), -1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvt_roundps_ph (__m256i __U, __mmask16 __W, __m512 __A, const int __I) { return (__m256i) __builtin_ia32_vcvtps2ph512_mask ((__v16sf) __A, __I, (__v16hi) __U, (__mmask16) __W); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtps_ph (__m256i __U, __mmask16 __W, __m512 __A, const int __I) { return (__m256i) __builtin_ia32_vcvtps2ph512_mask ((__v16sf) __A, __I, (__v16hi) __U, (__mmask16) __W); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvt_roundps_ph (__mmask16 __W, __m512 __A, const int __I) { return (__m256i) __builtin_ia32_vcvtps2ph512_mask ((__v16sf) __A, __I, (__v16hi) _mm256_setzero_si256 (), (__mmask16) __W); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvtps_ph (__mmask16 __W, __m512 __A, const int __I) { return (__m256i) __builtin_ia32_vcvtps2ph512_mask ((__v16sf) __A, __I, (__v16hi) _mm256_setzero_si256 (), (__mmask16) __W); } # 7943 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512fintrin.h" 3 4 extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvt_roundpd_ps (__m512d __A, const int __R) { return (__m256) __builtin_ia32_cvtpd2ps512_mask ((__v8df) __A, (__v8sf) _mm256_undefined_ps (), (__mmask8) -1, __R); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvt_roundpd_ps (__m256 __W, __mmask8 __U, __m512d __A, const int __R) { return (__m256) __builtin_ia32_cvtpd2ps512_mask ((__v8df) __A, (__v8sf) __W, (__mmask8) __U, __R); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvt_roundpd_ps (__mmask8 __U, __m512d __A, const int __R) { return (__m256) __builtin_ia32_cvtpd2ps512_mask ((__v8df) __A, (__v8sf) _mm256_setzero_ps (), (__mmask8) __U, __R); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvt_roundsd_ss (__m128 __A, __m128d __B, const int __R) { return (__m128) __builtin_ia32_cvtsd2ss_round ((__v4sf) __A, (__v2df) __B, __R); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvt_roundss_sd (__m128d __A, __m128 __B, const int __R) { return (__m128d) __builtin_ia32_cvtss2sd_round ((__v2df) __A, (__v4sf) __B, __R); } # 8007 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512fintrin.h" 3 4 extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_stream_si512 (__m512i * __P, __m512i __A) { __builtin_ia32_movntdq512 ((__v8di *) __P, (__v8di) __A); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_stream_ps (float *__P, __m512 __A) { __builtin_ia32_movntps512 (__P, (__v16sf) __A); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_stream_pd (double *__P, __m512d __A) { __builtin_ia32_movntpd512 (__P, (__v8df) __A); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_stream_load_si512 (void *__P) { return __builtin_ia32_movntdqa512 ((__v8di *)__P); } typedef enum { _MM_MANT_NORM_1_2, _MM_MANT_NORM_p5_2, _MM_MANT_NORM_p5_1, _MM_MANT_NORM_p75_1p5 } _MM_MANTISSA_NORM_ENUM; typedef enum { _MM_MANT_SIGN_src, _MM_MANT_SIGN_zero, _MM_MANT_SIGN_nan } _MM_MANTISSA_SIGN_ENUM; extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_getexp_round_ss (__m128 __A, __m128 __B, const int __R) { return (__m128) __builtin_ia32_getexpss128_round ((__v4sf) __A, (__v4sf) __B, __R); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_getexp_round_sd (__m128d __A, __m128d __B, const int __R) { return (__m128d) __builtin_ia32_getexpsd128_round ((__v2df) __A, (__v2df) __B, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_getexp_round_ps (__m512 __A, const int __R) { return (__m512) __builtin_ia32_getexpps512_mask ((__v16sf) __A, (__v16sf) _mm512_undefined_ps (), (__mmask16) -1, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_getexp_round_ps (__m512 __W, __mmask16 __U, __m512 __A, const int __R) { return (__m512) __builtin_ia32_getexpps512_mask ((__v16sf) __A, (__v16sf) __W, (__mmask16) __U, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_getexp_round_ps (__mmask16 __U, __m512 __A, const int __R) { return (__m512) __builtin_ia32_getexpps512_mask ((__v16sf) __A, (__v16sf) _mm512_setzero_ps (), (__mmask16) __U, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_getexp_round_pd (__m512d __A, const int __R) { return (__m512d) __builtin_ia32_getexppd512_mask ((__v8df) __A, (__v8df) _mm512_undefined_pd (), (__mmask8) -1, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_getexp_round_pd (__m512d __W, __mmask8 __U, __m512d __A, const int __R) { return (__m512d) __builtin_ia32_getexppd512_mask ((__v8df) __A, (__v8df) __W, (__mmask8) __U, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_getexp_round_pd (__mmask8 __U, __m512d __A, const int __R) { return (__m512d) __builtin_ia32_getexppd512_mask ((__v8df) __A, (__v8df) _mm512_setzero_pd (), (__mmask8) __U, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_getmant_round_pd (__m512d __A, _MM_MANTISSA_NORM_ENUM __B, _MM_MANTISSA_SIGN_ENUM __C, const int __R) { return (__m512d) __builtin_ia32_getmantpd512_mask ((__v8df) __A, (__C << 2) | __B, _mm512_undefined_pd (), (__mmask8) -1, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_getmant_round_pd (__m512d __W, __mmask8 __U, __m512d __A, _MM_MANTISSA_NORM_ENUM __B, _MM_MANTISSA_SIGN_ENUM __C, const int __R) { return (__m512d) __builtin_ia32_getmantpd512_mask ((__v8df) __A, (__C << 2) | __B, (__v8df) __W, __U, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_getmant_round_pd (__mmask8 __U, __m512d __A, _MM_MANTISSA_NORM_ENUM __B, _MM_MANTISSA_SIGN_ENUM __C, const int __R) { return (__m512d) __builtin_ia32_getmantpd512_mask ((__v8df) __A, (__C << 2) | __B, (__v8df) _mm512_setzero_pd (), __U, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_getmant_round_ps (__m512 __A, _MM_MANTISSA_NORM_ENUM __B, _MM_MANTISSA_SIGN_ENUM __C, const int __R) { return (__m512) __builtin_ia32_getmantps512_mask ((__v16sf) __A, (__C << 2) | __B, _mm512_undefined_ps (), (__mmask16) -1, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_getmant_round_ps (__m512 __W, __mmask16 __U, __m512 __A, _MM_MANTISSA_NORM_ENUM __B, _MM_MANTISSA_SIGN_ENUM __C, const int __R) { return (__m512) __builtin_ia32_getmantps512_mask ((__v16sf) __A, (__C << 2) | __B, (__v16sf) __W, __U, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_getmant_round_ps (__mmask16 __U, __m512 __A, _MM_MANTISSA_NORM_ENUM __B, _MM_MANTISSA_SIGN_ENUM __C, const int __R) { return (__m512) __builtin_ia32_getmantps512_mask ((__v16sf) __A, (__C << 2) | __B, (__v16sf) _mm512_setzero_ps (), __U, __R); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_getmant_round_sd (__m128d __A, __m128d __B, _MM_MANTISSA_NORM_ENUM __C, _MM_MANTISSA_SIGN_ENUM __D, const int __R) { return (__m128d) __builtin_ia32_getmantsd_round ((__v2df) __A, (__v2df) __B, (__D << 2) | __C, __R); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_getmant_round_ss (__m128 __A, __m128 __B, _MM_MANTISSA_NORM_ENUM __C, _MM_MANTISSA_SIGN_ENUM __D, const int __R) { return (__m128) __builtin_ia32_getmantss_round ((__v4sf) __A, (__v4sf) __B, (__D << 2) | __C, __R); } # 8311 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512fintrin.h" 3 4 extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_roundscale_round_ps (__m512 __A, const int __imm, const int __R) { return (__m512) __builtin_ia32_rndscaleps_mask ((__v16sf) __A, __imm, (__v16sf) _mm512_undefined_ps (), -1, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_roundscale_round_ps (__m512 __A, __mmask16 __B, __m512 __C, const int __imm, const int __R) { return (__m512) __builtin_ia32_rndscaleps_mask ((__v16sf) __C, __imm, (__v16sf) __A, (__mmask16) __B, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_roundscale_round_ps (__mmask16 __A, __m512 __B, const int __imm, const int __R) { return (__m512) __builtin_ia32_rndscaleps_mask ((__v16sf) __B, __imm, (__v16sf) _mm512_setzero_ps (), (__mmask16) __A, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_roundscale_round_pd (__m512d __A, const int __imm, const int __R) { return (__m512d) __builtin_ia32_rndscalepd_mask ((__v8df) __A, __imm, (__v8df) _mm512_undefined_pd (), -1, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_roundscale_round_pd (__m512d __A, __mmask8 __B, __m512d __C, const int __imm, const int __R) { return (__m512d) __builtin_ia32_rndscalepd_mask ((__v8df) __C, __imm, (__v8df) __A, (__mmask8) __B, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_roundscale_round_pd (__mmask8 __A, __m512d __B, const int __imm, const int __R) { return (__m512d) __builtin_ia32_rndscalepd_mask ((__v8df) __B, __imm, (__v8df) _mm512_setzero_pd (), (__mmask8) __A, __R); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_roundscale_round_ss (__m128 __A, __m128 __B, const int __imm, const int __R) { return (__m128) __builtin_ia32_rndscaless_round ((__v4sf) __A, (__v4sf) __B, __imm, __R); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_roundscale_round_sd (__m128d __A, __m128d __B, const int __imm, const int __R) { return (__m128d) __builtin_ia32_rndscalesd_round ((__v2df) __A, (__v2df) __B, __imm, __R); } # 8427 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512fintrin.h" 3 4 extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_floor_ps (__m512 __A) { return (__m512) __builtin_ia32_rndscaleps_mask ((__v16sf) __A, (0x01 | 0x00), (__v16sf) __A, -1, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_floor_pd (__m512d __A) { return (__m512d) __builtin_ia32_rndscalepd_mask ((__v8df) __A, (0x01 | 0x00), (__v8df) __A, -1, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_ceil_ps (__m512 __A) { return (__m512) __builtin_ia32_rndscaleps_mask ((__v16sf) __A, (0x02 | 0x00), (__v16sf) __A, -1, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_ceil_pd (__m512d __A) { return (__m512d) __builtin_ia32_rndscalepd_mask ((__v8df) __A, (0x02 | 0x00), (__v8df) __A, -1, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_floor_ps (__m512 __W, __mmask16 __U, __m512 __A) { return (__m512) __builtin_ia32_rndscaleps_mask ((__v16sf) __A, (0x01 | 0x00), (__v16sf) __W, __U, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_floor_pd (__m512d __W, __mmask8 __U, __m512d __A) { return (__m512d) __builtin_ia32_rndscalepd_mask ((__v8df) __A, (0x01 | 0x00), (__v8df) __W, __U, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_ceil_ps (__m512 __W, __mmask16 __U, __m512 __A) { return (__m512) __builtin_ia32_rndscaleps_mask ((__v16sf) __A, (0x02 | 0x00), (__v16sf) __W, __U, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_ceil_pd (__m512d __W, __mmask8 __U, __m512d __A) { return (__m512d) __builtin_ia32_rndscalepd_mask ((__v8df) __A, (0x02 | 0x00), (__v8df) __W, __U, 0x04); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_alignr_epi32 (__m512i __A, __m512i __B, const int __imm) { return (__m512i) __builtin_ia32_alignd512_mask ((__v16si) __A, (__v16si) __B, __imm, (__v16si) _mm512_undefined_si512 (), (__mmask16) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_alignr_epi32 (__m512i __W, __mmask16 __U, __m512i __A, __m512i __B, const int __imm) { return (__m512i) __builtin_ia32_alignd512_mask ((__v16si) __A, (__v16si) __B, __imm, (__v16si) __W, (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_alignr_epi32 (__mmask16 __U, __m512i __A, __m512i __B, const int __imm) { return (__m512i) __builtin_ia32_alignd512_mask ((__v16si) __A, (__v16si) __B, __imm, (__v16si) _mm512_setzero_si512 (), (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_alignr_epi64 (__m512i __A, __m512i __B, const int __imm) { return (__m512i) __builtin_ia32_alignq512_mask ((__v8di) __A, (__v8di) __B, __imm, (__v8di) _mm512_undefined_si512 (), (__mmask8) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_alignr_epi64 (__m512i __W, __mmask8 __U, __m512i __A, __m512i __B, const int __imm) { return (__m512i) __builtin_ia32_alignq512_mask ((__v8di) __A, (__v8di) __B, __imm, (__v8di) __W, (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_alignr_epi64 (__mmask8 __U, __m512i __A, __m512i __B, const int __imm) { return (__m512i) __builtin_ia32_alignq512_mask ((__v8di) __A, (__v8di) __B, __imm, (__v8di) _mm512_setzero_si512 (), (__mmask8) __U); } # 8606 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512fintrin.h" 3 4 extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmpeq_epi32_mask (__m512i __A, __m512i __B) { return (__mmask16) __builtin_ia32_pcmpeqd512_mask ((__v16si) __A, (__v16si) __B, (__mmask16) -1); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmpeq_epi32_mask (__mmask16 __U, __m512i __A, __m512i __B) { return (__mmask16) __builtin_ia32_pcmpeqd512_mask ((__v16si) __A, (__v16si) __B, __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmpeq_epi64_mask (__mmask8 __U, __m512i __A, __m512i __B) { return (__mmask8) __builtin_ia32_pcmpeqq512_mask ((__v8di) __A, (__v8di) __B, __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmpeq_epi64_mask (__m512i __A, __m512i __B) { return (__mmask8) __builtin_ia32_pcmpeqq512_mask ((__v8di) __A, (__v8di) __B, (__mmask8) -1); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmpgt_epi32_mask (__m512i __A, __m512i __B) { return (__mmask16) __builtin_ia32_pcmpgtd512_mask ((__v16si) __A, (__v16si) __B, (__mmask16) -1); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmpgt_epi32_mask (__mmask16 __U, __m512i __A, __m512i __B) { return (__mmask16) __builtin_ia32_pcmpgtd512_mask ((__v16si) __A, (__v16si) __B, __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmpgt_epi64_mask (__mmask8 __U, __m512i __A, __m512i __B) { return (__mmask8) __builtin_ia32_pcmpgtq512_mask ((__v8di) __A, (__v8di) __B, __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmpgt_epi64_mask (__m512i __A, __m512i __B) { return (__mmask8) __builtin_ia32_pcmpgtq512_mask ((__v8di) __A, (__v8di) __B, (__mmask8) -1); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmpge_epi32_mask (__m512i __X, __m512i __Y) { return (__mmask16) __builtin_ia32_cmpd512_mask ((__v16si) __X, (__v16si) __Y, 5, (__mmask16) -1); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmpge_epi32_mask (__mmask16 __M, __m512i __X, __m512i __Y) { return (__mmask16) __builtin_ia32_cmpd512_mask ((__v16si) __X, (__v16si) __Y, 5, (__mmask16) __M); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmpge_epu32_mask (__mmask16 __M, __m512i __X, __m512i __Y) { return (__mmask16) __builtin_ia32_ucmpd512_mask ((__v16si) __X, (__v16si) __Y, 5, (__mmask16) __M); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmpge_epu32_mask (__m512i __X, __m512i __Y) { return (__mmask16) __builtin_ia32_ucmpd512_mask ((__v16si) __X, (__v16si) __Y, 5, (__mmask16) -1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmpge_epi64_mask (__mmask8 __M, __m512i __X, __m512i __Y) { return (__mmask8) __builtin_ia32_cmpq512_mask ((__v8di) __X, (__v8di) __Y, 5, (__mmask8) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmpge_epi64_mask (__m512i __X, __m512i __Y) { return (__mmask8) __builtin_ia32_cmpq512_mask ((__v8di) __X, (__v8di) __Y, 5, (__mmask8) -1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmpge_epu64_mask (__mmask8 __M, __m512i __X, __m512i __Y) { return (__mmask8) __builtin_ia32_ucmpq512_mask ((__v8di) __X, (__v8di) __Y, 5, (__mmask8) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmpge_epu64_mask (__m512i __X, __m512i __Y) { return (__mmask8) __builtin_ia32_ucmpq512_mask ((__v8di) __X, (__v8di) __Y, 5, (__mmask8) -1); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmple_epi32_mask (__mmask16 __M, __m512i __X, __m512i __Y) { return (__mmask16) __builtin_ia32_cmpd512_mask ((__v16si) __X, (__v16si) __Y, 2, (__mmask16) __M); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmple_epi32_mask (__m512i __X, __m512i __Y) { return (__mmask16) __builtin_ia32_cmpd512_mask ((__v16si) __X, (__v16si) __Y, 2, (__mmask16) -1); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmple_epu32_mask (__mmask16 __M, __m512i __X, __m512i __Y) { return (__mmask16) __builtin_ia32_ucmpd512_mask ((__v16si) __X, (__v16si) __Y, 2, (__mmask16) __M); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmple_epu32_mask (__m512i __X, __m512i __Y) { return (__mmask16) __builtin_ia32_ucmpd512_mask ((__v16si) __X, (__v16si) __Y, 2, (__mmask16) -1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmple_epi64_mask (__mmask8 __M, __m512i __X, __m512i __Y) { return (__mmask8) __builtin_ia32_cmpq512_mask ((__v8di) __X, (__v8di) __Y, 2, (__mmask8) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmple_epi64_mask (__m512i __X, __m512i __Y) { return (__mmask8) __builtin_ia32_cmpq512_mask ((__v8di) __X, (__v8di) __Y, 2, (__mmask8) -1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmple_epu64_mask (__mmask8 __M, __m512i __X, __m512i __Y) { return (__mmask8) __builtin_ia32_ucmpq512_mask ((__v8di) __X, (__v8di) __Y, 2, (__mmask8) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmple_epu64_mask (__m512i __X, __m512i __Y) { return (__mmask8) __builtin_ia32_ucmpq512_mask ((__v8di) __X, (__v8di) __Y, 2, (__mmask8) -1); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmplt_epi32_mask (__mmask16 __M, __m512i __X, __m512i __Y) { return (__mmask16) __builtin_ia32_cmpd512_mask ((__v16si) __X, (__v16si) __Y, 1, (__mmask16) __M); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmplt_epi32_mask (__m512i __X, __m512i __Y) { return (__mmask16) __builtin_ia32_cmpd512_mask ((__v16si) __X, (__v16si) __Y, 1, (__mmask16) -1); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmplt_epu32_mask (__mmask16 __M, __m512i __X, __m512i __Y) { return (__mmask16) __builtin_ia32_ucmpd512_mask ((__v16si) __X, (__v16si) __Y, 1, (__mmask16) __M); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmplt_epu32_mask (__m512i __X, __m512i __Y) { return (__mmask16) __builtin_ia32_ucmpd512_mask ((__v16si) __X, (__v16si) __Y, 1, (__mmask16) -1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmplt_epi64_mask (__mmask8 __M, __m512i __X, __m512i __Y) { return (__mmask8) __builtin_ia32_cmpq512_mask ((__v8di) __X, (__v8di) __Y, 1, (__mmask8) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmplt_epi64_mask (__m512i __X, __m512i __Y) { return (__mmask8) __builtin_ia32_cmpq512_mask ((__v8di) __X, (__v8di) __Y, 1, (__mmask8) -1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmplt_epu64_mask (__mmask8 __M, __m512i __X, __m512i __Y) { return (__mmask8) __builtin_ia32_ucmpq512_mask ((__v8di) __X, (__v8di) __Y, 1, (__mmask8) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmplt_epu64_mask (__m512i __X, __m512i __Y) { return (__mmask8) __builtin_ia32_ucmpq512_mask ((__v8di) __X, (__v8di) __Y, 1, (__mmask8) -1); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmpneq_epi32_mask (__m512i __X, __m512i __Y) { return (__mmask16) __builtin_ia32_cmpd512_mask ((__v16si) __X, (__v16si) __Y, 4, (__mmask16) -1); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmpneq_epi32_mask (__mmask16 __M, __m512i __X, __m512i __Y) { return (__mmask16) __builtin_ia32_cmpd512_mask ((__v16si) __X, (__v16si) __Y, 4, (__mmask16) __M); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmpneq_epu32_mask (__mmask16 __M, __m512i __X, __m512i __Y) { return (__mmask16) __builtin_ia32_ucmpd512_mask ((__v16si) __X, (__v16si) __Y, 4, (__mmask16) __M); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmpneq_epu32_mask (__m512i __X, __m512i __Y) { return (__mmask16) __builtin_ia32_ucmpd512_mask ((__v16si) __X, (__v16si) __Y, 4, (__mmask16) -1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmpneq_epi64_mask (__mmask16 __M, __m512i __X, __m512i __Y) { return (__mmask8) __builtin_ia32_cmpq512_mask ((__v8di) __X, (__v8di) __Y, 4, (__mmask8) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmpneq_epi64_mask (__m512i __X, __m512i __Y) { return (__mmask8) __builtin_ia32_cmpq512_mask ((__v8di) __X, (__v8di) __Y, 4, (__mmask8) -1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmpneq_epu64_mask (__mmask8 __M, __m512i __X, __m512i __Y) { return (__mmask8) __builtin_ia32_ucmpq512_mask ((__v8di) __X, (__v8di) __Y, 4, (__mmask8) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmpneq_epu64_mask (__m512i __X, __m512i __Y) { return (__mmask8) __builtin_ia32_ucmpq512_mask ((__v8di) __X, (__v8di) __Y, 4, (__mmask8) -1); } # 8973 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512fintrin.h" 3 4 extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmp_epi64_mask (__m512i __X, __m512i __Y, const int __P) { return (__mmask8) __builtin_ia32_cmpq512_mask ((__v8di) __X, (__v8di) __Y, __P, (__mmask8) -1); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmp_epi32_mask (__m512i __X, __m512i __Y, const int __P) { return (__mmask16) __builtin_ia32_cmpd512_mask ((__v16si) __X, (__v16si) __Y, __P, (__mmask16) -1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmp_epu64_mask (__m512i __X, __m512i __Y, const int __P) { return (__mmask8) __builtin_ia32_ucmpq512_mask ((__v8di) __X, (__v8di) __Y, __P, (__mmask8) -1); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmp_epu32_mask (__m512i __X, __m512i __Y, const int __P) { return (__mmask16) __builtin_ia32_ucmpd512_mask ((__v16si) __X, (__v16si) __Y, __P, (__mmask16) -1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmp_round_pd_mask (__m512d __X, __m512d __Y, const int __P, const int __R) { return (__mmask8) __builtin_ia32_cmppd512_mask ((__v8df) __X, (__v8df) __Y, __P, (__mmask8) -1, __R); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmp_round_ps_mask (__m512 __X, __m512 __Y, const int __P, const int __R) { return (__mmask16) __builtin_ia32_cmpps512_mask ((__v16sf) __X, (__v16sf) __Y, __P, (__mmask16) -1, __R); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmp_epi64_mask (__mmask8 __U, __m512i __X, __m512i __Y, const int __P) { return (__mmask8) __builtin_ia32_cmpq512_mask ((__v8di) __X, (__v8di) __Y, __P, (__mmask8) __U); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmp_epi32_mask (__mmask16 __U, __m512i __X, __m512i __Y, const int __P) { return (__mmask16) __builtin_ia32_cmpd512_mask ((__v16si) __X, (__v16si) __Y, __P, (__mmask16) __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmp_epu64_mask (__mmask8 __U, __m512i __X, __m512i __Y, const int __P) { return (__mmask8) __builtin_ia32_ucmpq512_mask ((__v8di) __X, (__v8di) __Y, __P, (__mmask8) __U); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmp_epu32_mask (__mmask16 __U, __m512i __X, __m512i __Y, const int __P) { return (__mmask16) __builtin_ia32_ucmpd512_mask ((__v16si) __X, (__v16si) __Y, __P, (__mmask16) __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmp_round_pd_mask (__mmask8 __U, __m512d __X, __m512d __Y, const int __P, const int __R) { return (__mmask8) __builtin_ia32_cmppd512_mask ((__v8df) __X, (__v8df) __Y, __P, (__mmask8) __U, __R); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmp_round_ps_mask (__mmask16 __U, __m512 __X, __m512 __Y, const int __P, const int __R) { return (__mmask16) __builtin_ia32_cmpps512_mask ((__v16sf) __X, (__v16sf) __Y, __P, (__mmask16) __U, __R); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmp_round_sd_mask (__m128d __X, __m128d __Y, const int __P, const int __R) { return (__mmask8) __builtin_ia32_cmpsd_mask ((__v2df) __X, (__v2df) __Y, __P, (__mmask8) -1, __R); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cmp_round_sd_mask (__mmask8 __M, __m128d __X, __m128d __Y, const int __P, const int __R) { return (__mmask8) __builtin_ia32_cmpsd_mask ((__v2df) __X, (__v2df) __Y, __P, (__mmask8) __M, __R); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmp_round_ss_mask (__m128 __X, __m128 __Y, const int __P, const int __R) { return (__mmask8) __builtin_ia32_cmpss_mask ((__v4sf) __X, (__v4sf) __Y, __P, (__mmask8) -1, __R); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cmp_round_ss_mask (__mmask8 __M, __m128 __X, __m128 __Y, const int __P, const int __R) { return (__mmask8) __builtin_ia32_cmpss_mask ((__v4sf) __X, (__v4sf) __Y, __P, (__mmask8) __M, __R); } # 9209 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512fintrin.h" 3 4 extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_i32gather_ps (__m512i __index, float const *__addr, int __scale) { __m512 v1_old = _mm512_undefined_ps (); __mmask16 mask = 0xFFFF; return (__m512) __builtin_ia32_gathersiv16sf ((__v16sf) v1_old, __addr, (__v16si) __index, mask, __scale); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_i32gather_ps (__m512 v1_old, __mmask16 __mask, __m512i __index, float const *__addr, int __scale) { return (__m512) __builtin_ia32_gathersiv16sf ((__v16sf) v1_old, __addr, (__v16si) __index, __mask, __scale); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_i32gather_pd (__m256i __index, double const *__addr, int __scale) { __m512d v1_old = _mm512_undefined_pd (); __mmask8 mask = 0xFF; return (__m512d) __builtin_ia32_gathersiv8df ((__v8df) v1_old, __addr, (__v8si) __index, mask, __scale); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_i32gather_pd (__m512d __v1_old, __mmask8 __mask, __m256i __index, double const *__addr, int __scale) { return (__m512d) __builtin_ia32_gathersiv8df ((__v8df) __v1_old, __addr, (__v8si) __index, __mask, __scale); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_i64gather_ps (__m512i __index, float const *__addr, int __scale) { __m256 v1_old = _mm256_undefined_ps (); __mmask8 mask = 0xFF; return (__m256) __builtin_ia32_gatherdiv16sf ((__v8sf) v1_old, __addr, (__v8di) __index, mask, __scale); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_i64gather_ps (__m256 __v1_old, __mmask8 __mask, __m512i __index, float const *__addr, int __scale) { return (__m256) __builtin_ia32_gatherdiv16sf ((__v8sf) __v1_old, __addr, (__v8di) __index, __mask, __scale); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_i64gather_pd (__m512i __index, double const *__addr, int __scale) { __m512d v1_old = _mm512_undefined_pd (); __mmask8 mask = 0xFF; return (__m512d) __builtin_ia32_gatherdiv8df ((__v8df) v1_old, __addr, (__v8di) __index, mask, __scale); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_i64gather_pd (__m512d __v1_old, __mmask8 __mask, __m512i __index, double const *__addr, int __scale) { return (__m512d) __builtin_ia32_gatherdiv8df ((__v8df) __v1_old, __addr, (__v8di) __index, __mask, __scale); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_i32gather_epi32 (__m512i __index, int const *__addr, int __scale) { __m512i v1_old = _mm512_undefined_si512 (); __mmask16 mask = 0xFFFF; return (__m512i) __builtin_ia32_gathersiv16si ((__v16si) v1_old, __addr, (__v16si) __index, mask, __scale); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_i32gather_epi32 (__m512i __v1_old, __mmask16 __mask, __m512i __index, int const *__addr, int __scale) { return (__m512i) __builtin_ia32_gathersiv16si ((__v16si) __v1_old, __addr, (__v16si) __index, __mask, __scale); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_i32gather_epi64 (__m256i __index, long long const *__addr, int __scale) { __m512i v1_old = _mm512_undefined_si512 (); __mmask8 mask = 0xFF; return (__m512i) __builtin_ia32_gathersiv8di ((__v8di) v1_old, __addr, (__v8si) __index, mask, __scale); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_i32gather_epi64 (__m512i __v1_old, __mmask8 __mask, __m256i __index, long long const *__addr, int __scale) { return (__m512i) __builtin_ia32_gathersiv8di ((__v8di) __v1_old, __addr, (__v8si) __index, __mask, __scale); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_i64gather_epi32 (__m512i __index, int const *__addr, int __scale) { __m256i v1_old = _mm256_undefined_si256 (); __mmask8 mask = 0xFF; return (__m256i) __builtin_ia32_gatherdiv16si ((__v8si) v1_old, __addr, (__v8di) __index, mask, __scale); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_i64gather_epi32 (__m256i __v1_old, __mmask8 __mask, __m512i __index, int const *__addr, int __scale) { return (__m256i) __builtin_ia32_gatherdiv16si ((__v8si) __v1_old, __addr, (__v8di) __index, __mask, __scale); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_i64gather_epi64 (__m512i __index, long long const *__addr, int __scale) { __m512i v1_old = _mm512_undefined_si512 (); __mmask8 mask = 0xFF; return (__m512i) __builtin_ia32_gatherdiv8di ((__v8di) v1_old, __addr, (__v8di) __index, mask, __scale); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_i64gather_epi64 (__m512i __v1_old, __mmask8 __mask, __m512i __index, long long const *__addr, int __scale) { return (__m512i) __builtin_ia32_gatherdiv8di ((__v8di) __v1_old, __addr, (__v8di) __index, __mask, __scale); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_i32scatter_ps (float *__addr, __m512i __index, __m512 __v1, int __scale) { __builtin_ia32_scattersiv16sf (__addr, (__mmask16) 0xFFFF, (__v16si) __index, (__v16sf) __v1, __scale); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_i32scatter_ps (float *__addr, __mmask16 __mask, __m512i __index, __m512 __v1, int __scale) { __builtin_ia32_scattersiv16sf (__addr, __mask, (__v16si) __index, (__v16sf) __v1, __scale); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_i32scatter_pd (double *__addr, __m256i __index, __m512d __v1, int __scale) { __builtin_ia32_scattersiv8df (__addr, (__mmask8) 0xFF, (__v8si) __index, (__v8df) __v1, __scale); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_i32scatter_pd (double *__addr, __mmask8 __mask, __m256i __index, __m512d __v1, int __scale) { __builtin_ia32_scattersiv8df (__addr, __mask, (__v8si) __index, (__v8df) __v1, __scale); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_i64scatter_ps (float *__addr, __m512i __index, __m256 __v1, int __scale) { __builtin_ia32_scatterdiv16sf (__addr, (__mmask8) 0xFF, (__v8di) __index, (__v8sf) __v1, __scale); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_i64scatter_ps (float *__addr, __mmask8 __mask, __m512i __index, __m256 __v1, int __scale) { __builtin_ia32_scatterdiv16sf (__addr, __mask, (__v8di) __index, (__v8sf) __v1, __scale); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_i64scatter_pd (double *__addr, __m512i __index, __m512d __v1, int __scale) { __builtin_ia32_scatterdiv8df (__addr, (__mmask8) 0xFF, (__v8di) __index, (__v8df) __v1, __scale); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_i64scatter_pd (double *__addr, __mmask8 __mask, __m512i __index, __m512d __v1, int __scale) { __builtin_ia32_scatterdiv8df (__addr, __mask, (__v8di) __index, (__v8df) __v1, __scale); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_i32scatter_epi32 (int *__addr, __m512i __index, __m512i __v1, int __scale) { __builtin_ia32_scattersiv16si (__addr, (__mmask16) 0xFFFF, (__v16si) __index, (__v16si) __v1, __scale); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_i32scatter_epi32 (int *__addr, __mmask16 __mask, __m512i __index, __m512i __v1, int __scale) { __builtin_ia32_scattersiv16si (__addr, __mask, (__v16si) __index, (__v16si) __v1, __scale); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_i32scatter_epi64 (long long *__addr, __m256i __index, __m512i __v1, int __scale) { __builtin_ia32_scattersiv8di (__addr, (__mmask8) 0xFF, (__v8si) __index, (__v8di) __v1, __scale); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_i32scatter_epi64 (long long *__addr, __mmask8 __mask, __m256i __index, __m512i __v1, int __scale) { __builtin_ia32_scattersiv8di (__addr, __mask, (__v8si) __index, (__v8di) __v1, __scale); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_i64scatter_epi32 (int *__addr, __m512i __index, __m256i __v1, int __scale) { __builtin_ia32_scatterdiv16si (__addr, (__mmask8) 0xFF, (__v8di) __index, (__v8si) __v1, __scale); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_i64scatter_epi32 (int *__addr, __mmask8 __mask, __m512i __index, __m256i __v1, int __scale) { __builtin_ia32_scatterdiv16si (__addr, __mask, (__v8di) __index, (__v8si) __v1, __scale); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_i64scatter_epi64 (long long *__addr, __m512i __index, __m512i __v1, int __scale) { __builtin_ia32_scatterdiv8di (__addr, (__mmask8) 0xFF, (__v8di) __index, (__v8di) __v1, __scale); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_i64scatter_epi64 (long long *__addr, __mmask8 __mask, __m512i __index, __m512i __v1, int __scale) { __builtin_ia32_scatterdiv8di (__addr, __mask, (__v8di) __index, (__v8di) __v1, __scale); } # 9722 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512fintrin.h" 3 4 extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_compress_pd (__m512d __W, __mmask8 __U, __m512d __A) { return (__m512d) __builtin_ia32_compressdf512_mask ((__v8df) __A, (__v8df) __W, (__mmask8) __U); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_compress_pd (__mmask8 __U, __m512d __A) { return (__m512d) __builtin_ia32_compressdf512_mask ((__v8df) __A, (__v8df) _mm512_setzero_pd (), (__mmask8) __U); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_compressstoreu_pd (void *__P, __mmask8 __U, __m512d __A) { __builtin_ia32_compressstoredf512_mask ((__v8df *) __P, (__v8df) __A, (__mmask8) __U); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_compress_ps (__m512 __W, __mmask16 __U, __m512 __A) { return (__m512) __builtin_ia32_compresssf512_mask ((__v16sf) __A, (__v16sf) __W, (__mmask16) __U); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_compress_ps (__mmask16 __U, __m512 __A) { return (__m512) __builtin_ia32_compresssf512_mask ((__v16sf) __A, (__v16sf) _mm512_setzero_ps (), (__mmask16) __U); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_compressstoreu_ps (void *__P, __mmask16 __U, __m512 __A) { __builtin_ia32_compressstoresf512_mask ((__v16sf *) __P, (__v16sf) __A, (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_compress_epi64 (__m512i __W, __mmask8 __U, __m512i __A) { return (__m512i) __builtin_ia32_compressdi512_mask ((__v8di) __A, (__v8di) __W, (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_compress_epi64 (__mmask8 __U, __m512i __A) { return (__m512i) __builtin_ia32_compressdi512_mask ((__v8di) __A, (__v8di) _mm512_setzero_si512 (), (__mmask8) __U); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_compressstoreu_epi64 (void *__P, __mmask8 __U, __m512i __A) { __builtin_ia32_compressstoredi512_mask ((__v8di *) __P, (__v8di) __A, (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_compress_epi32 (__m512i __W, __mmask16 __U, __m512i __A) { return (__m512i) __builtin_ia32_compresssi512_mask ((__v16si) __A, (__v16si) __W, (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_compress_epi32 (__mmask16 __U, __m512i __A) { return (__m512i) __builtin_ia32_compresssi512_mask ((__v16si) __A, (__v16si) _mm512_setzero_si512 (), (__mmask16) __U); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_compressstoreu_epi32 (void *__P, __mmask16 __U, __m512i __A) { __builtin_ia32_compressstoresi512_mask ((__v16si *) __P, (__v16si) __A, (__mmask16) __U); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_expand_pd (__m512d __W, __mmask8 __U, __m512d __A) { return (__m512d) __builtin_ia32_expanddf512_mask ((__v8df) __A, (__v8df) __W, (__mmask8) __U); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_expand_pd (__mmask8 __U, __m512d __A) { return (__m512d) __builtin_ia32_expanddf512_maskz ((__v8df) __A, (__v8df) _mm512_setzero_pd (), (__mmask8) __U); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_expandloadu_pd (__m512d __W, __mmask8 __U, void const *__P) { return (__m512d) __builtin_ia32_expandloaddf512_mask ((const __v8df *) __P, (__v8df) __W, (__mmask8) __U); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_expandloadu_pd (__mmask8 __U, void const *__P) { return (__m512d) __builtin_ia32_expandloaddf512_maskz ((const __v8df *) __P, (__v8df) _mm512_setzero_pd (), (__mmask8) __U); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_expand_ps (__m512 __W, __mmask16 __U, __m512 __A) { return (__m512) __builtin_ia32_expandsf512_mask ((__v16sf) __A, (__v16sf) __W, (__mmask16) __U); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_expand_ps (__mmask16 __U, __m512 __A) { return (__m512) __builtin_ia32_expandsf512_maskz ((__v16sf) __A, (__v16sf) _mm512_setzero_ps (), (__mmask16) __U); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_expandloadu_ps (__m512 __W, __mmask16 __U, void const *__P) { return (__m512) __builtin_ia32_expandloadsf512_mask ((const __v16sf *) __P, (__v16sf) __W, (__mmask16) __U); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_expandloadu_ps (__mmask16 __U, void const *__P) { return (__m512) __builtin_ia32_expandloadsf512_maskz ((const __v16sf *) __P, (__v16sf) _mm512_setzero_ps (), (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_expand_epi64 (__m512i __W, __mmask8 __U, __m512i __A) { return (__m512i) __builtin_ia32_expanddi512_mask ((__v8di) __A, (__v8di) __W, (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_expand_epi64 (__mmask8 __U, __m512i __A) { return (__m512i) __builtin_ia32_expanddi512_maskz ((__v8di) __A, (__v8di) _mm512_setzero_si512 (), (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_expandloadu_epi64 (__m512i __W, __mmask8 __U, void const *__P) { return (__m512i) __builtin_ia32_expandloaddi512_mask ((const __v8di *) __P, (__v8di) __W, (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_expandloadu_epi64 (__mmask8 __U, void const *__P) { return (__m512i) __builtin_ia32_expandloaddi512_maskz ((const __v8di *) __P, (__v8di) _mm512_setzero_si512 (), (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_expand_epi32 (__m512i __W, __mmask16 __U, __m512i __A) { return (__m512i) __builtin_ia32_expandsi512_mask ((__v16si) __A, (__v16si) __W, (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_expand_epi32 (__mmask16 __U, __m512i __A) { return (__m512i) __builtin_ia32_expandsi512_maskz ((__v16si) __A, (__v16si) _mm512_setzero_si512 (), (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_expandloadu_epi32 (__m512i __W, __mmask16 __U, void const *__P) { return (__m512i) __builtin_ia32_expandloadsi512_mask ((const __v16si *) __P, (__v16si) __W, (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_expandloadu_epi32 (__mmask16 __U, void const *__P) { return (__m512i) __builtin_ia32_expandloadsi512_maskz ((const __v16si *) __P, (__v16si) _mm512_setzero_si512 (), (__mmask16) __U); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_kand (__mmask16 __A, __mmask16 __B) { return (__mmask16) __builtin_ia32_kandhi ((__mmask16) __A, (__mmask16) __B); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_kandn (__mmask16 __A, __mmask16 __B) { return (__mmask16) __builtin_ia32_kandnhi ((__mmask16) __A, (__mmask16) __B); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_kor (__mmask16 __A, __mmask16 __B) { return (__mmask16) __builtin_ia32_korhi ((__mmask16) __A, (__mmask16) __B); } extern __inline int __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_kortestz (__mmask16 __A, __mmask16 __B) { return (__mmask16) __builtin_ia32_kortestzhi ((__mmask16) __A, (__mmask16) __B); } extern __inline int __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_kortestc (__mmask16 __A, __mmask16 __B) { return (__mmask16) __builtin_ia32_kortestchi ((__mmask16) __A, (__mmask16) __B); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_kxnor (__mmask16 __A, __mmask16 __B) { return (__mmask16) __builtin_ia32_kxnorhi ((__mmask16) __A, (__mmask16) __B); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_kxor (__mmask16 __A, __mmask16 __B) { return (__mmask16) __builtin_ia32_kxorhi ((__mmask16) __A, (__mmask16) __B); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_knot (__mmask16 __A) { return (__mmask16) __builtin_ia32_knothi ((__mmask16) __A); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_kunpackb (__mmask16 __A, __mmask16 __B) { return (__mmask16) __builtin_ia32_kunpckhi ((__mmask16) __A, (__mmask16) __B); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_inserti32x4 (__mmask16 __B, __m512i __C, __m128i __D, const int __imm) { return (__m512i) __builtin_ia32_inserti32x4_mask ((__v16si) __C, (__v4si) __D, __imm, (__v16si) _mm512_setzero_si512 (), __B); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_insertf32x4 (__mmask16 __B, __m512 __C, __m128 __D, const int __imm) { return (__m512) __builtin_ia32_insertf32x4_mask ((__v16sf) __C, (__v4sf) __D, __imm, (__v16sf) _mm512_setzero_ps (), __B); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_inserti32x4 (__m512i __A, __mmask16 __B, __m512i __C, __m128i __D, const int __imm) { return (__m512i) __builtin_ia32_inserti32x4_mask ((__v16si) __C, (__v4si) __D, __imm, (__v16si) __A, __B); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_insertf32x4 (__m512 __A, __mmask16 __B, __m512 __C, __m128 __D, const int __imm) { return (__m512) __builtin_ia32_insertf32x4_mask ((__v16sf) __C, (__v4sf) __D, __imm, (__v16sf) __A, __B); } # 10119 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512fintrin.h" 3 4 extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_max_epi64 (__m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pmaxsq512_mask ((__v8di) __A, (__v8di) __B, (__v8di) _mm512_undefined_si512 (), (__mmask8) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_max_epi64 (__mmask8 __M, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pmaxsq512_mask ((__v8di) __A, (__v8di) __B, (__v8di) _mm512_setzero_si512 (), __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_max_epi64 (__m512i __W, __mmask8 __M, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pmaxsq512_mask ((__v8di) __A, (__v8di) __B, (__v8di) __W, __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_min_epi64 (__m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pminsq512_mask ((__v8di) __A, (__v8di) __B, (__v8di) _mm512_undefined_si512 (), (__mmask8) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_min_epi64 (__m512i __W, __mmask8 __M, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pminsq512_mask ((__v8di) __A, (__v8di) __B, (__v8di) __W, __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_min_epi64 (__mmask8 __M, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pminsq512_mask ((__v8di) __A, (__v8di) __B, (__v8di) _mm512_setzero_si512 (), __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_max_epu64 (__m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pmaxuq512_mask ((__v8di) __A, (__v8di) __B, (__v8di) _mm512_undefined_si512 (), (__mmask8) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_max_epu64 (__mmask8 __M, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pmaxuq512_mask ((__v8di) __A, (__v8di) __B, (__v8di) _mm512_setzero_si512 (), __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_max_epu64 (__m512i __W, __mmask8 __M, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pmaxuq512_mask ((__v8di) __A, (__v8di) __B, (__v8di) __W, __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_min_epu64 (__m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pminuq512_mask ((__v8di) __A, (__v8di) __B, (__v8di) _mm512_undefined_si512 (), (__mmask8) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_min_epu64 (__m512i __W, __mmask8 __M, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pminuq512_mask ((__v8di) __A, (__v8di) __B, (__v8di) __W, __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_min_epu64 (__mmask8 __M, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pminuq512_mask ((__v8di) __A, (__v8di) __B, (__v8di) _mm512_setzero_si512 (), __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_max_epi32 (__m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pmaxsd512_mask ((__v16si) __A, (__v16si) __B, (__v16si) _mm512_undefined_si512 (), (__mmask16) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_max_epi32 (__mmask16 __M, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pmaxsd512_mask ((__v16si) __A, (__v16si) __B, (__v16si) _mm512_setzero_si512 (), __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_max_epi32 (__m512i __W, __mmask16 __M, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pmaxsd512_mask ((__v16si) __A, (__v16si) __B, (__v16si) __W, __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_min_epi32 (__m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pminsd512_mask ((__v16si) __A, (__v16si) __B, (__v16si) _mm512_undefined_si512 (), (__mmask16) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_min_epi32 (__mmask16 __M, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pminsd512_mask ((__v16si) __A, (__v16si) __B, (__v16si) _mm512_setzero_si512 (), __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_min_epi32 (__m512i __W, __mmask16 __M, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pminsd512_mask ((__v16si) __A, (__v16si) __B, (__v16si) __W, __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_max_epu32 (__m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pmaxud512_mask ((__v16si) __A, (__v16si) __B, (__v16si) _mm512_undefined_si512 (), (__mmask16) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_max_epu32 (__mmask16 __M, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pmaxud512_mask ((__v16si) __A, (__v16si) __B, (__v16si) _mm512_setzero_si512 (), __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_max_epu32 (__m512i __W, __mmask16 __M, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pmaxud512_mask ((__v16si) __A, (__v16si) __B, (__v16si) __W, __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_min_epu32 (__m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pminud512_mask ((__v16si) __A, (__v16si) __B, (__v16si) _mm512_undefined_si512 (), (__mmask16) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_min_epu32 (__mmask16 __M, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pminud512_mask ((__v16si) __A, (__v16si) __B, (__v16si) _mm512_setzero_si512 (), __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_min_epu32 (__m512i __W, __mmask16 __M, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pminud512_mask ((__v16si) __A, (__v16si) __B, (__v16si) __W, __M); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_unpacklo_ps (__m512 __A, __m512 __B) { return (__m512) __builtin_ia32_unpcklps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) _mm512_undefined_ps (), (__mmask16) -1); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_unpacklo_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B) { return (__m512) __builtin_ia32_unpcklps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) __W, (__mmask16) __U); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_unpacklo_ps (__mmask16 __U, __m512 __A, __m512 __B) { return (__m512) __builtin_ia32_unpcklps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) _mm512_setzero_ps (), (__mmask16) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_max_round_sd (__m128d __A, __m128d __B, const int __R) { return (__m128d) __builtin_ia32_maxsd_round ((__v2df) __A, (__v2df) __B, __R); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_max_round_ss (__m128 __A, __m128 __B, const int __R) { return (__m128) __builtin_ia32_maxss_round ((__v4sf) __A, (__v4sf) __B, __R); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_min_round_sd (__m128d __A, __m128d __B, const int __R) { return (__m128d) __builtin_ia32_minsd_round ((__v2df) __A, (__v2df) __B, __R); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_min_round_ss (__m128 __A, __m128 __B, const int __R) { return (__m128) __builtin_ia32_minss_round ((__v4sf) __A, (__v4sf) __B, __R); } # 10450 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512fintrin.h" 3 4 extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_blend_pd (__mmask8 __U, __m512d __A, __m512d __W) { return (__m512d) __builtin_ia32_blendmpd_512_mask ((__v8df) __A, (__v8df) __W, (__mmask8) __U); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_blend_ps (__mmask16 __U, __m512 __A, __m512 __W) { return (__m512) __builtin_ia32_blendmps_512_mask ((__v16sf) __A, (__v16sf) __W, (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_blend_epi64 (__mmask8 __U, __m512i __A, __m512i __W) { return (__m512i) __builtin_ia32_blendmq_512_mask ((__v8di) __A, (__v8di) __W, (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_blend_epi32 (__mmask16 __U, __m512i __A, __m512i __W) { return (__m512i) __builtin_ia32_blendmd_512_mask ((__v16si) __A, (__v16si) __W, (__mmask16) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_fmadd_round_sd (__m128d __W, __m128d __A, __m128d __B, const int __R) { return (__m128d) __builtin_ia32_vfmaddsd3_round ((__v2df) __W, (__v2df) __A, (__v2df) __B, __R); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_fmadd_round_ss (__m128 __W, __m128 __A, __m128 __B, const int __R) { return (__m128) __builtin_ia32_vfmaddss3_round ((__v4sf) __W, (__v4sf) __A, (__v4sf) __B, __R); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_fmsub_round_sd (__m128d __W, __m128d __A, __m128d __B, const int __R) { return (__m128d) __builtin_ia32_vfmaddsd3_round ((__v2df) __W, (__v2df) __A, -(__v2df) __B, __R); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_fmsub_round_ss (__m128 __W, __m128 __A, __m128 __B, const int __R) { return (__m128) __builtin_ia32_vfmaddss3_round ((__v4sf) __W, (__v4sf) __A, -(__v4sf) __B, __R); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_fnmadd_round_sd (__m128d __W, __m128d __A, __m128d __B, const int __R) { return (__m128d) __builtin_ia32_vfmaddsd3_round ((__v2df) __W, -(__v2df) __A, (__v2df) __B, __R); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_fnmadd_round_ss (__m128 __W, __m128 __A, __m128 __B, const int __R) { return (__m128) __builtin_ia32_vfmaddss3_round ((__v4sf) __W, -(__v4sf) __A, (__v4sf) __B, __R); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_fnmsub_round_sd (__m128d __W, __m128d __A, __m128d __B, const int __R) { return (__m128d) __builtin_ia32_vfmaddsd3_round ((__v2df) __W, -(__v2df) __A, -(__v2df) __B, __R); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_fnmsub_round_ss (__m128 __W, __m128 __A, __m128 __B, const int __R) { return (__m128) __builtin_ia32_vfmaddss3_round ((__v4sf) __W, -(__v4sf) __A, -(__v4sf) __B, __R); } # 10593 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512fintrin.h" 3 4 extern __inline int __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_comi_round_ss (__m128 __A, __m128 __B, const int __P, const int __R) { return __builtin_ia32_vcomiss ((__v4sf) __A, (__v4sf) __B, __P, __R); } extern __inline int __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_comi_round_sd (__m128d __A, __m128d __B, const int __P, const int __R) { return __builtin_ia32_vcomisd ((__v2df) __A, (__v2df) __B, __P, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_sqrt_pd (__m512d __A) { return (__m512d) __builtin_ia32_sqrtpd512_mask ((__v8df) __A, (__v8df) _mm512_undefined_pd (), (__mmask8) -1, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_sqrt_pd (__m512d __W, __mmask8 __U, __m512d __A) { return (__m512d) __builtin_ia32_sqrtpd512_mask ((__v8df) __A, (__v8df) __W, (__mmask8) __U, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_sqrt_pd (__mmask8 __U, __m512d __A) { return (__m512d) __builtin_ia32_sqrtpd512_mask ((__v8df) __A, (__v8df) _mm512_setzero_pd (), (__mmask8) __U, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_sqrt_ps (__m512 __A) { return (__m512) __builtin_ia32_sqrtps512_mask ((__v16sf) __A, (__v16sf) _mm512_undefined_ps (), (__mmask16) -1, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_sqrt_ps (__m512 __W, __mmask16 __U, __m512 __A) { return (__m512) __builtin_ia32_sqrtps512_mask ((__v16sf) __A, (__v16sf) __W, (__mmask16) __U, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_sqrt_ps (__mmask16 __U, __m512 __A) { return (__m512) __builtin_ia32_sqrtps512_mask ((__v16sf) __A, (__v16sf) _mm512_setzero_ps (), (__mmask16) __U, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_add_pd (__m512d __A, __m512d __B) { return (__m512d) ((__v8df)__A + (__v8df)__B); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_add_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512d __B) { return (__m512d) __builtin_ia32_addpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) __W, (__mmask8) __U, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_add_pd (__mmask8 __U, __m512d __A, __m512d __B) { return (__m512d) __builtin_ia32_addpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) _mm512_setzero_pd (), (__mmask8) __U, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_add_ps (__m512 __A, __m512 __B) { return (__m512) ((__v16sf)__A + (__v16sf)__B); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_add_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B) { return (__m512) __builtin_ia32_addps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) __W, (__mmask16) __U, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_add_ps (__mmask16 __U, __m512 __A, __m512 __B) { return (__m512) __builtin_ia32_addps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) _mm512_setzero_ps (), (__mmask16) __U, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_sub_pd (__m512d __A, __m512d __B) { return (__m512d) ((__v8df)__A - (__v8df)__B); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_sub_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512d __B) { return (__m512d) __builtin_ia32_subpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) __W, (__mmask8) __U, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_sub_pd (__mmask8 __U, __m512d __A, __m512d __B) { return (__m512d) __builtin_ia32_subpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) _mm512_setzero_pd (), (__mmask8) __U, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_sub_ps (__m512 __A, __m512 __B) { return (__m512) ((__v16sf)__A - (__v16sf)__B); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_sub_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B) { return (__m512) __builtin_ia32_subps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) __W, (__mmask16) __U, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_sub_ps (__mmask16 __U, __m512 __A, __m512 __B) { return (__m512) __builtin_ia32_subps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) _mm512_setzero_ps (), (__mmask16) __U, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mul_pd (__m512d __A, __m512d __B) { return (__m512d) ((__v8df)__A * (__v8df)__B); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_mul_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512d __B) { return (__m512d) __builtin_ia32_mulpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) __W, (__mmask8) __U, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_mul_pd (__mmask8 __U, __m512d __A, __m512d __B) { return (__m512d) __builtin_ia32_mulpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) _mm512_setzero_pd (), (__mmask8) __U, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mul_ps (__m512 __A, __m512 __B) { return (__m512) ((__v16sf)__A * (__v16sf)__B); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_mul_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B) { return (__m512) __builtin_ia32_mulps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) __W, (__mmask16) __U, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_mul_ps (__mmask16 __U, __m512 __A, __m512 __B) { return (__m512) __builtin_ia32_mulps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) _mm512_setzero_ps (), (__mmask16) __U, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_div_pd (__m512d __M, __m512d __V) { return (__m512d) ((__v8df)__M / (__v8df)__V); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_div_pd (__m512d __W, __mmask8 __U, __m512d __M, __m512d __V) { return (__m512d) __builtin_ia32_divpd512_mask ((__v8df) __M, (__v8df) __V, (__v8df) __W, (__mmask8) __U, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_div_pd (__mmask8 __U, __m512d __M, __m512d __V) { return (__m512d) __builtin_ia32_divpd512_mask ((__v8df) __M, (__v8df) __V, (__v8df) _mm512_setzero_pd (), (__mmask8) __U, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_div_ps (__m512 __A, __m512 __B) { return (__m512) ((__v16sf)__A / (__v16sf)__B); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_div_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B) { return (__m512) __builtin_ia32_divps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) __W, (__mmask16) __U, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_div_ps (__mmask16 __U, __m512 __A, __m512 __B) { return (__m512) __builtin_ia32_divps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) _mm512_setzero_ps (), (__mmask16) __U, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_max_pd (__m512d __A, __m512d __B) { return (__m512d) __builtin_ia32_maxpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) _mm512_undefined_pd (), (__mmask8) -1, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_max_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512d __B) { return (__m512d) __builtin_ia32_maxpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) __W, (__mmask8) __U, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_max_pd (__mmask8 __U, __m512d __A, __m512d __B) { return (__m512d) __builtin_ia32_maxpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) _mm512_setzero_pd (), (__mmask8) __U, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_max_ps (__m512 __A, __m512 __B) { return (__m512) __builtin_ia32_maxps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) _mm512_undefined_ps (), (__mmask16) -1, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_max_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B) { return (__m512) __builtin_ia32_maxps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) __W, (__mmask16) __U, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_max_ps (__mmask16 __U, __m512 __A, __m512 __B) { return (__m512) __builtin_ia32_maxps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) _mm512_setzero_ps (), (__mmask16) __U, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_min_pd (__m512d __A, __m512d __B) { return (__m512d) __builtin_ia32_minpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) _mm512_undefined_pd (), (__mmask8) -1, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_min_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512d __B) { return (__m512d) __builtin_ia32_minpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) __W, (__mmask8) __U, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_min_pd (__mmask8 __U, __m512d __A, __m512d __B) { return (__m512d) __builtin_ia32_minpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) _mm512_setzero_pd (), (__mmask8) __U, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_min_ps (__m512 __A, __m512 __B) { return (__m512) __builtin_ia32_minps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) _mm512_undefined_ps (), (__mmask16) -1, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_min_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B) { return (__m512) __builtin_ia32_minps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) __W, (__mmask16) __U, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_min_ps (__mmask16 __U, __m512 __A, __m512 __B) { return (__m512) __builtin_ia32_minps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) _mm512_setzero_ps (), (__mmask16) __U, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_scalef_pd (__m512d __A, __m512d __B) { return (__m512d) __builtin_ia32_scalefpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) _mm512_undefined_pd (), (__mmask8) -1, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_scalef_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512d __B) { return (__m512d) __builtin_ia32_scalefpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) __W, (__mmask8) __U, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_scalef_pd (__mmask8 __U, __m512d __A, __m512d __B) { return (__m512d) __builtin_ia32_scalefpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) _mm512_setzero_pd (), (__mmask8) __U, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_scalef_ps (__m512 __A, __m512 __B) { return (__m512) __builtin_ia32_scalefps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) _mm512_undefined_ps (), (__mmask16) -1, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_scalef_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B) { return (__m512) __builtin_ia32_scalefps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) __W, (__mmask16) __U, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_scalef_ps (__mmask16 __U, __m512 __A, __m512 __B) { return (__m512) __builtin_ia32_scalefps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) _mm512_setzero_ps (), (__mmask16) __U, 0x04); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_scalef_sd (__m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_scalefsd_round ((__v2df) __A, (__v2df) __B, 0x04); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_scalef_ss (__m128 __A, __m128 __B) { return (__m128) __builtin_ia32_scalefss_round ((__v4sf) __A, (__v4sf) __B, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_fmadd_pd (__m512d __A, __m512d __B, __m512d __C) { return (__m512d) __builtin_ia32_vfmaddpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) __C, (__mmask8) -1, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_fmadd_pd (__m512d __A, __mmask8 __U, __m512d __B, __m512d __C) { return (__m512d) __builtin_ia32_vfmaddpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) __C, (__mmask8) __U, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask3_fmadd_pd (__m512d __A, __m512d __B, __m512d __C, __mmask8 __U) { return (__m512d) __builtin_ia32_vfmaddpd512_mask3 ((__v8df) __A, (__v8df) __B, (__v8df) __C, (__mmask8) __U, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_fmadd_pd (__mmask8 __U, __m512d __A, __m512d __B, __m512d __C) { return (__m512d) __builtin_ia32_vfmaddpd512_maskz ((__v8df) __A, (__v8df) __B, (__v8df) __C, (__mmask8) __U, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_fmadd_ps (__m512 __A, __m512 __B, __m512 __C) { return (__m512) __builtin_ia32_vfmaddps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) __C, (__mmask16) -1, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_fmadd_ps (__m512 __A, __mmask16 __U, __m512 __B, __m512 __C) { return (__m512) __builtin_ia32_vfmaddps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) __C, (__mmask16) __U, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask3_fmadd_ps (__m512 __A, __m512 __B, __m512 __C, __mmask16 __U) { return (__m512) __builtin_ia32_vfmaddps512_mask3 ((__v16sf) __A, (__v16sf) __B, (__v16sf) __C, (__mmask16) __U, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_fmadd_ps (__mmask16 __U, __m512 __A, __m512 __B, __m512 __C) { return (__m512) __builtin_ia32_vfmaddps512_maskz ((__v16sf) __A, (__v16sf) __B, (__v16sf) __C, (__mmask16) __U, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_fmsub_pd (__m512d __A, __m512d __B, __m512d __C) { return (__m512d) __builtin_ia32_vfmaddpd512_mask ((__v8df) __A, (__v8df) __B, -(__v8df) __C, (__mmask8) -1, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_fmsub_pd (__m512d __A, __mmask8 __U, __m512d __B, __m512d __C) { return (__m512d) __builtin_ia32_vfmaddpd512_mask ((__v8df) __A, (__v8df) __B, -(__v8df) __C, (__mmask8) __U, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask3_fmsub_pd (__m512d __A, __m512d __B, __m512d __C, __mmask8 __U) { return (__m512d) __builtin_ia32_vfmsubpd512_mask3 ((__v8df) __A, (__v8df) __B, (__v8df) __C, (__mmask8) __U, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_fmsub_pd (__mmask8 __U, __m512d __A, __m512d __B, __m512d __C) { return (__m512d) __builtin_ia32_vfmaddpd512_maskz ((__v8df) __A, (__v8df) __B, -(__v8df) __C, (__mmask8) __U, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_fmsub_ps (__m512 __A, __m512 __B, __m512 __C) { return (__m512) __builtin_ia32_vfmaddps512_mask ((__v16sf) __A, (__v16sf) __B, -(__v16sf) __C, (__mmask16) -1, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_fmsub_ps (__m512 __A, __mmask16 __U, __m512 __B, __m512 __C) { return (__m512) __builtin_ia32_vfmaddps512_mask ((__v16sf) __A, (__v16sf) __B, -(__v16sf) __C, (__mmask16) __U, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask3_fmsub_ps (__m512 __A, __m512 __B, __m512 __C, __mmask16 __U) { return (__m512) __builtin_ia32_vfmsubps512_mask3 ((__v16sf) __A, (__v16sf) __B, (__v16sf) __C, (__mmask16) __U, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_fmsub_ps (__mmask16 __U, __m512 __A, __m512 __B, __m512 __C) { return (__m512) __builtin_ia32_vfmaddps512_maskz ((__v16sf) __A, (__v16sf) __B, -(__v16sf) __C, (__mmask16) __U, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_fmaddsub_pd (__m512d __A, __m512d __B, __m512d __C) { return (__m512d) __builtin_ia32_vfmaddsubpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) __C, (__mmask8) -1, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_fmaddsub_pd (__m512d __A, __mmask8 __U, __m512d __B, __m512d __C) { return (__m512d) __builtin_ia32_vfmaddsubpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) __C, (__mmask8) __U, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask3_fmaddsub_pd (__m512d __A, __m512d __B, __m512d __C, __mmask8 __U) { return (__m512d) __builtin_ia32_vfmaddsubpd512_mask3 ((__v8df) __A, (__v8df) __B, (__v8df) __C, (__mmask8) __U, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_fmaddsub_pd (__mmask8 __U, __m512d __A, __m512d __B, __m512d __C) { return (__m512d) __builtin_ia32_vfmaddsubpd512_maskz ((__v8df) __A, (__v8df) __B, (__v8df) __C, (__mmask8) __U, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_fmaddsub_ps (__m512 __A, __m512 __B, __m512 __C) { return (__m512) __builtin_ia32_vfmaddsubps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) __C, (__mmask16) -1, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_fmaddsub_ps (__m512 __A, __mmask16 __U, __m512 __B, __m512 __C) { return (__m512) __builtin_ia32_vfmaddsubps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) __C, (__mmask16) __U, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask3_fmaddsub_ps (__m512 __A, __m512 __B, __m512 __C, __mmask16 __U) { return (__m512) __builtin_ia32_vfmaddsubps512_mask3 ((__v16sf) __A, (__v16sf) __B, (__v16sf) __C, (__mmask16) __U, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_fmaddsub_ps (__mmask16 __U, __m512 __A, __m512 __B, __m512 __C) { return (__m512) __builtin_ia32_vfmaddsubps512_maskz ((__v16sf) __A, (__v16sf) __B, (__v16sf) __C, (__mmask16) __U, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_fmsubadd_pd (__m512d __A, __m512d __B, __m512d __C) { return (__m512d) __builtin_ia32_vfmaddsubpd512_mask ((__v8df) __A, (__v8df) __B, -(__v8df) __C, (__mmask8) -1, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_fmsubadd_pd (__m512d __A, __mmask8 __U, __m512d __B, __m512d __C) { return (__m512d) __builtin_ia32_vfmaddsubpd512_mask ((__v8df) __A, (__v8df) __B, -(__v8df) __C, (__mmask8) __U, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask3_fmsubadd_pd (__m512d __A, __m512d __B, __m512d __C, __mmask8 __U) { return (__m512d) __builtin_ia32_vfmsubaddpd512_mask3 ((__v8df) __A, (__v8df) __B, (__v8df) __C, (__mmask8) __U, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_fmsubadd_pd (__mmask8 __U, __m512d __A, __m512d __B, __m512d __C) { return (__m512d) __builtin_ia32_vfmaddsubpd512_maskz ((__v8df) __A, (__v8df) __B, -(__v8df) __C, (__mmask8) __U, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_fmsubadd_ps (__m512 __A, __m512 __B, __m512 __C) { return (__m512) __builtin_ia32_vfmaddsubps512_mask ((__v16sf) __A, (__v16sf) __B, -(__v16sf) __C, (__mmask16) -1, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_fmsubadd_ps (__m512 __A, __mmask16 __U, __m512 __B, __m512 __C) { return (__m512) __builtin_ia32_vfmaddsubps512_mask ((__v16sf) __A, (__v16sf) __B, -(__v16sf) __C, (__mmask16) __U, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask3_fmsubadd_ps (__m512 __A, __m512 __B, __m512 __C, __mmask16 __U) { return (__m512) __builtin_ia32_vfmsubaddps512_mask3 ((__v16sf) __A, (__v16sf) __B, (__v16sf) __C, (__mmask16) __U, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_fmsubadd_ps (__mmask16 __U, __m512 __A, __m512 __B, __m512 __C) { return (__m512) __builtin_ia32_vfmaddsubps512_maskz ((__v16sf) __A, (__v16sf) __B, -(__v16sf) __C, (__mmask16) __U, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_fnmadd_pd (__m512d __A, __m512d __B, __m512d __C) { return (__m512d) __builtin_ia32_vfmaddpd512_mask (-(__v8df) __A, (__v8df) __B, (__v8df) __C, (__mmask8) -1, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_fnmadd_pd (__m512d __A, __mmask8 __U, __m512d __B, __m512d __C) { return (__m512d) __builtin_ia32_vfnmaddpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) __C, (__mmask8) __U, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask3_fnmadd_pd (__m512d __A, __m512d __B, __m512d __C, __mmask8 __U) { return (__m512d) __builtin_ia32_vfmaddpd512_mask3 (-(__v8df) __A, (__v8df) __B, (__v8df) __C, (__mmask8) __U, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_fnmadd_pd (__mmask8 __U, __m512d __A, __m512d __B, __m512d __C) { return (__m512d) __builtin_ia32_vfmaddpd512_maskz (-(__v8df) __A, (__v8df) __B, (__v8df) __C, (__mmask8) __U, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_fnmadd_ps (__m512 __A, __m512 __B, __m512 __C) { return (__m512) __builtin_ia32_vfmaddps512_mask (-(__v16sf) __A, (__v16sf) __B, (__v16sf) __C, (__mmask16) -1, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_fnmadd_ps (__m512 __A, __mmask16 __U, __m512 __B, __m512 __C) { return (__m512) __builtin_ia32_vfnmaddps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) __C, (__mmask16) __U, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask3_fnmadd_ps (__m512 __A, __m512 __B, __m512 __C, __mmask16 __U) { return (__m512) __builtin_ia32_vfmaddps512_mask3 (-(__v16sf) __A, (__v16sf) __B, (__v16sf) __C, (__mmask16) __U, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_fnmadd_ps (__mmask16 __U, __m512 __A, __m512 __B, __m512 __C) { return (__m512) __builtin_ia32_vfmaddps512_maskz (-(__v16sf) __A, (__v16sf) __B, (__v16sf) __C, (__mmask16) __U, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_fnmsub_pd (__m512d __A, __m512d __B, __m512d __C) { return (__m512d) __builtin_ia32_vfmaddpd512_mask (-(__v8df) __A, (__v8df) __B, -(__v8df) __C, (__mmask8) -1, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_fnmsub_pd (__m512d __A, __mmask8 __U, __m512d __B, __m512d __C) { return (__m512d) __builtin_ia32_vfnmsubpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) __C, (__mmask8) __U, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask3_fnmsub_pd (__m512d __A, __m512d __B, __m512d __C, __mmask8 __U) { return (__m512d) __builtin_ia32_vfnmsubpd512_mask3 ((__v8df) __A, (__v8df) __B, (__v8df) __C, (__mmask8) __U, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_fnmsub_pd (__mmask8 __U, __m512d __A, __m512d __B, __m512d __C) { return (__m512d) __builtin_ia32_vfmaddpd512_maskz (-(__v8df) __A, (__v8df) __B, -(__v8df) __C, (__mmask8) __U, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_fnmsub_ps (__m512 __A, __m512 __B, __m512 __C) { return (__m512) __builtin_ia32_vfmaddps512_mask (-(__v16sf) __A, (__v16sf) __B, -(__v16sf) __C, (__mmask16) -1, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_fnmsub_ps (__m512 __A, __mmask16 __U, __m512 __B, __m512 __C) { return (__m512) __builtin_ia32_vfnmsubps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) __C, (__mmask16) __U, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask3_fnmsub_ps (__m512 __A, __m512 __B, __m512 __C, __mmask16 __U) { return (__m512) __builtin_ia32_vfnmsubps512_mask3 ((__v16sf) __A, (__v16sf) __B, (__v16sf) __C, (__mmask16) __U, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_fnmsub_ps (__mmask16 __U, __m512 __A, __m512 __B, __m512 __C) { return (__m512) __builtin_ia32_vfmaddps512_maskz (-(__v16sf) __A, (__v16sf) __B, -(__v16sf) __C, (__mmask16) __U, 0x04); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvttpd_epi32 (__m512d __A) { return (__m256i) __builtin_ia32_cvttpd2dq512_mask ((__v8df) __A, (__v8si) _mm256_undefined_si256 (), (__mmask8) -1, 0x04); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvttpd_epi32 (__m256i __W, __mmask8 __U, __m512d __A) { return (__m256i) __builtin_ia32_cvttpd2dq512_mask ((__v8df) __A, (__v8si) __W, (__mmask8) __U, 0x04); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvttpd_epi32 (__mmask8 __U, __m512d __A) { return (__m256i) __builtin_ia32_cvttpd2dq512_mask ((__v8df) __A, (__v8si) _mm256_setzero_si256 (), (__mmask8) __U, 0x04); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvttpd_epu32 (__m512d __A) { return (__m256i) __builtin_ia32_cvttpd2udq512_mask ((__v8df) __A, (__v8si) _mm256_undefined_si256 (), (__mmask8) -1, 0x04); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvttpd_epu32 (__m256i __W, __mmask8 __U, __m512d __A) { return (__m256i) __builtin_ia32_cvttpd2udq512_mask ((__v8df) __A, (__v8si) __W, (__mmask8) __U, 0x04); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvttpd_epu32 (__mmask8 __U, __m512d __A) { return (__m256i) __builtin_ia32_cvttpd2udq512_mask ((__v8df) __A, (__v8si) _mm256_setzero_si256 (), (__mmask8) __U, 0x04); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvtpd_epi32 (__m512d __A) { return (__m256i) __builtin_ia32_cvtpd2dq512_mask ((__v8df) __A, (__v8si) _mm256_undefined_si256 (), (__mmask8) -1, 0x04); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtpd_epi32 (__m256i __W, __mmask8 __U, __m512d __A) { return (__m256i) __builtin_ia32_cvtpd2dq512_mask ((__v8df) __A, (__v8si) __W, (__mmask8) __U, 0x04); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvtpd_epi32 (__mmask8 __U, __m512d __A) { return (__m256i) __builtin_ia32_cvtpd2dq512_mask ((__v8df) __A, (__v8si) _mm256_setzero_si256 (), (__mmask8) __U, 0x04); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvtpd_epu32 (__m512d __A) { return (__m256i) __builtin_ia32_cvtpd2udq512_mask ((__v8df) __A, (__v8si) _mm256_undefined_si256 (), (__mmask8) -1, 0x04); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtpd_epu32 (__m256i __W, __mmask8 __U, __m512d __A) { return (__m256i) __builtin_ia32_cvtpd2udq512_mask ((__v8df) __A, (__v8si) __W, (__mmask8) __U, 0x04); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvtpd_epu32 (__mmask8 __U, __m512d __A) { return (__m256i) __builtin_ia32_cvtpd2udq512_mask ((__v8df) __A, (__v8si) _mm256_setzero_si256 (), (__mmask8) __U, 0x04); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvttps_epi32 (__m512 __A) { return (__m512i) __builtin_ia32_cvttps2dq512_mask ((__v16sf) __A, (__v16si) _mm512_undefined_si512 (), (__mmask16) -1, 0x04); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvttps_epi32 (__m512i __W, __mmask16 __U, __m512 __A) { return (__m512i) __builtin_ia32_cvttps2dq512_mask ((__v16sf) __A, (__v16si) __W, (__mmask16) __U, 0x04); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvttps_epi32 (__mmask16 __U, __m512 __A) { return (__m512i) __builtin_ia32_cvttps2dq512_mask ((__v16sf) __A, (__v16si) _mm512_setzero_si512 (), (__mmask16) __U, 0x04); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvttps_epu32 (__m512 __A) { return (__m512i) __builtin_ia32_cvttps2udq512_mask ((__v16sf) __A, (__v16si) _mm512_undefined_si512 (), (__mmask16) -1, 0x04); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvttps_epu32 (__m512i __W, __mmask16 __U, __m512 __A) { return (__m512i) __builtin_ia32_cvttps2udq512_mask ((__v16sf) __A, (__v16si) __W, (__mmask16) __U, 0x04); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvttps_epu32 (__mmask16 __U, __m512 __A) { return (__m512i) __builtin_ia32_cvttps2udq512_mask ((__v16sf) __A, (__v16si) _mm512_setzero_si512 (), (__mmask16) __U, 0x04); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvtps_epi32 (__m512 __A) { return (__m512i) __builtin_ia32_cvtps2dq512_mask ((__v16sf) __A, (__v16si) _mm512_undefined_si512 (), (__mmask16) -1, 0x04); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtps_epi32 (__m512i __W, __mmask16 __U, __m512 __A) { return (__m512i) __builtin_ia32_cvtps2dq512_mask ((__v16sf) __A, (__v16si) __W, (__mmask16) __U, 0x04); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvtps_epi32 (__mmask16 __U, __m512 __A) { return (__m512i) __builtin_ia32_cvtps2dq512_mask ((__v16sf) __A, (__v16si) _mm512_setzero_si512 (), (__mmask16) __U, 0x04); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvtps_epu32 (__m512 __A) { return (__m512i) __builtin_ia32_cvtps2udq512_mask ((__v16sf) __A, (__v16si) _mm512_undefined_si512 (), (__mmask16) -1, 0x04); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtps_epu32 (__m512i __W, __mmask16 __U, __m512 __A) { return (__m512i) __builtin_ia32_cvtps2udq512_mask ((__v16sf) __A, (__v16si) __W, (__mmask16) __U, 0x04); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvtps_epu32 (__mmask16 __U, __m512 __A) { return (__m512i) __builtin_ia32_cvtps2udq512_mask ((__v16sf) __A, (__v16si) _mm512_setzero_si512 (), (__mmask16) __U, 0x04); } # 11947 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512fintrin.h" 3 4 extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtu32_ss (__m128 __A, unsigned __B) { return (__m128) __builtin_ia32_cvtusi2ss32 ((__v4sf) __A, __B, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvtepi32_ps (__m512i __A) { return (__m512) __builtin_ia32_cvtdq2ps512_mask ((__v16si) __A, (__v16sf) _mm512_undefined_ps (), (__mmask16) -1, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtepi32_ps (__m512 __W, __mmask16 __U, __m512i __A) { return (__m512) __builtin_ia32_cvtdq2ps512_mask ((__v16si) __A, (__v16sf) __W, (__mmask16) __U, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvtepi32_ps (__mmask16 __U, __m512i __A) { return (__m512) __builtin_ia32_cvtdq2ps512_mask ((__v16si) __A, (__v16sf) _mm512_setzero_ps (), (__mmask16) __U, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvtepu32_ps (__m512i __A) { return (__m512) __builtin_ia32_cvtudq2ps512_mask ((__v16si) __A, (__v16sf) _mm512_undefined_ps (), (__mmask16) -1, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtepu32_ps (__m512 __W, __mmask16 __U, __m512i __A) { return (__m512) __builtin_ia32_cvtudq2ps512_mask ((__v16si) __A, (__v16sf) __W, (__mmask16) __U, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvtepu32_ps (__mmask16 __U, __m512i __A) { return (__m512) __builtin_ia32_cvtudq2ps512_mask ((__v16si) __A, (__v16sf) _mm512_setzero_ps (), (__mmask16) __U, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_fixupimm_pd (__m512d __A, __m512d __B, __m512i __C, const int __imm) { return (__m512d) __builtin_ia32_fixupimmpd512_mask ((__v8df) __A, (__v8df) __B, (__v8di) __C, __imm, (__mmask8) -1, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_fixupimm_pd (__m512d __A, __mmask8 __U, __m512d __B, __m512i __C, const int __imm) { return (__m512d) __builtin_ia32_fixupimmpd512_mask ((__v8df) __A, (__v8df) __B, (__v8di) __C, __imm, (__mmask8) __U, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_fixupimm_pd (__mmask8 __U, __m512d __A, __m512d __B, __m512i __C, const int __imm) { return (__m512d) __builtin_ia32_fixupimmpd512_maskz ((__v8df) __A, (__v8df) __B, (__v8di) __C, __imm, (__mmask8) __U, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_fixupimm_ps (__m512 __A, __m512 __B, __m512i __C, const int __imm) { return (__m512) __builtin_ia32_fixupimmps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16si) __C, __imm, (__mmask16) -1, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_fixupimm_ps (__m512 __A, __mmask16 __U, __m512 __B, __m512i __C, const int __imm) { return (__m512) __builtin_ia32_fixupimmps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16si) __C, __imm, (__mmask16) __U, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_fixupimm_ps (__mmask16 __U, __m512 __A, __m512 __B, __m512i __C, const int __imm) { return (__m512) __builtin_ia32_fixupimmps512_maskz ((__v16sf) __A, (__v16sf) __B, (__v16si) __C, __imm, (__mmask16) __U, 0x04); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_fixupimm_sd (__m128d __A, __m128d __B, __m128i __C, const int __imm) { return (__m128d) __builtin_ia32_fixupimmsd_mask ((__v2df) __A, (__v2df) __B, (__v2di) __C, __imm, (__mmask8) -1, 0x04); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_fixupimm_sd (__m128d __A, __mmask8 __U, __m128d __B, __m128i __C, const int __imm) { return (__m128d) __builtin_ia32_fixupimmsd_mask ((__v2df) __A, (__v2df) __B, (__v2di) __C, __imm, (__mmask8) __U, 0x04); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_fixupimm_sd (__mmask8 __U, __m128d __A, __m128d __B, __m128i __C, const int __imm) { return (__m128d) __builtin_ia32_fixupimmsd_maskz ((__v2df) __A, (__v2df) __B, (__v2di) __C, __imm, (__mmask8) __U, 0x04); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_fixupimm_ss (__m128 __A, __m128 __B, __m128i __C, const int __imm) { return (__m128) __builtin_ia32_fixupimmss_mask ((__v4sf) __A, (__v4sf) __B, (__v4si) __C, __imm, (__mmask8) -1, 0x04); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_fixupimm_ss (__m128 __A, __mmask8 __U, __m128 __B, __m128i __C, const int __imm) { return (__m128) __builtin_ia32_fixupimmss_mask ((__v4sf) __A, (__v4sf) __B, (__v4si) __C, __imm, (__mmask8) __U, 0x04); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_fixupimm_ss (__mmask8 __U, __m128 __A, __m128 __B, __m128i __C, const int __imm) { return (__m128) __builtin_ia32_fixupimmss_maskz ((__v4sf) __A, (__v4sf) __B, (__v4si) __C, __imm, (__mmask8) __U, 0x04); } # 12256 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512fintrin.h" 3 4 extern __inline unsigned __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtss_u32 (__m128 __A) { return (unsigned) __builtin_ia32_vcvtss2usi32 ((__v4sf) __A, 0x04); } extern __inline unsigned __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvttss_u32 (__m128 __A) { return (unsigned) __builtin_ia32_vcvttss2usi32 ((__v4sf) __A, 0x04); } extern __inline int __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvttss_i32 (__m128 __A) { return (int) __builtin_ia32_vcvttss2si32 ((__v4sf) __A, 0x04); } # 12308 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512fintrin.h" 3 4 extern __inline unsigned __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtsd_u32 (__m128d __A) { return (unsigned) __builtin_ia32_vcvtsd2usi32 ((__v2df) __A, 0x04); } extern __inline unsigned __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvttsd_u32 (__m128d __A) { return (unsigned) __builtin_ia32_vcvttsd2usi32 ((__v2df) __A, 0x04); } extern __inline int __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvttsd_i32 (__m128d __A) { return (int) __builtin_ia32_vcvttsd2si32 ((__v2df) __A, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvtps_pd (__m256 __A) { return (__m512d) __builtin_ia32_cvtps2pd512_mask ((__v8sf) __A, (__v8df) _mm512_undefined_pd (), (__mmask8) -1, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtps_pd (__m512d __W, __mmask8 __U, __m256 __A) { return (__m512d) __builtin_ia32_cvtps2pd512_mask ((__v8sf) __A, (__v8df) __W, (__mmask8) __U, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvtps_pd (__mmask8 __U, __m256 __A) { return (__m512d) __builtin_ia32_cvtps2pd512_mask ((__v8sf) __A, (__v8df) _mm512_setzero_pd (), (__mmask8) __U, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvtph_ps (__m256i __A) { return (__m512) __builtin_ia32_vcvtph2ps512_mask ((__v16hi) __A, (__v16sf) _mm512_undefined_ps (), (__mmask16) -1, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtph_ps (__m512 __W, __mmask16 __U, __m256i __A) { return (__m512) __builtin_ia32_vcvtph2ps512_mask ((__v16hi) __A, (__v16sf) __W, (__mmask16) __U, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvtph_ps (__mmask16 __U, __m256i __A) { return (__m512) __builtin_ia32_vcvtph2ps512_mask ((__v16hi) __A, (__v16sf) _mm512_setzero_ps (), (__mmask16) __U, 0x04); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvtpd_ps (__m512d __A) { return (__m256) __builtin_ia32_cvtpd2ps512_mask ((__v8df) __A, (__v8sf) _mm256_undefined_ps (), (__mmask8) -1, 0x04); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtpd_ps (__m256 __W, __mmask8 __U, __m512d __A) { return (__m256) __builtin_ia32_cvtpd2ps512_mask ((__v8df) __A, (__v8sf) __W, (__mmask8) __U, 0x04); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvtpd_ps (__mmask8 __U, __m512d __A) { return (__m256) __builtin_ia32_cvtpd2ps512_mask ((__v8df) __A, (__v8sf) _mm256_setzero_ps (), (__mmask8) __U, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_getexp_ps (__m512 __A) { return (__m512) __builtin_ia32_getexpps512_mask ((__v16sf) __A, (__v16sf) _mm512_undefined_ps (), (__mmask16) -1, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_getexp_ps (__m512 __W, __mmask16 __U, __m512 __A) { return (__m512) __builtin_ia32_getexpps512_mask ((__v16sf) __A, (__v16sf) __W, (__mmask16) __U, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_getexp_ps (__mmask16 __U, __m512 __A) { return (__m512) __builtin_ia32_getexpps512_mask ((__v16sf) __A, (__v16sf) _mm512_setzero_ps (), (__mmask16) __U, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_getexp_pd (__m512d __A) { return (__m512d) __builtin_ia32_getexppd512_mask ((__v8df) __A, (__v8df) _mm512_undefined_pd (), (__mmask8) -1, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_getexp_pd (__m512d __W, __mmask8 __U, __m512d __A) { return (__m512d) __builtin_ia32_getexppd512_mask ((__v8df) __A, (__v8df) __W, (__mmask8) __U, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_getexp_pd (__mmask8 __U, __m512d __A) { return (__m512d) __builtin_ia32_getexppd512_mask ((__v8df) __A, (__v8df) _mm512_setzero_pd (), (__mmask8) __U, 0x04); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_getexp_ss (__m128 __A, __m128 __B) { return (__m128) __builtin_ia32_getexpss128_round ((__v4sf) __A, (__v4sf) __B, 0x04); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_getexp_sd (__m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_getexpsd128_round ((__v2df) __A, (__v2df) __B, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_getmant_pd (__m512d __A, _MM_MANTISSA_NORM_ENUM __B, _MM_MANTISSA_SIGN_ENUM __C) { return (__m512d) __builtin_ia32_getmantpd512_mask ((__v8df) __A, (__C << 2) | __B, _mm512_undefined_pd (), (__mmask8) -1, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_getmant_pd (__m512d __W, __mmask8 __U, __m512d __A, _MM_MANTISSA_NORM_ENUM __B, _MM_MANTISSA_SIGN_ENUM __C) { return (__m512d) __builtin_ia32_getmantpd512_mask ((__v8df) __A, (__C << 2) | __B, (__v8df) __W, __U, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_getmant_pd (__mmask8 __U, __m512d __A, _MM_MANTISSA_NORM_ENUM __B, _MM_MANTISSA_SIGN_ENUM __C) { return (__m512d) __builtin_ia32_getmantpd512_mask ((__v8df) __A, (__C << 2) | __B, (__v8df) _mm512_setzero_pd (), __U, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_getmant_ps (__m512 __A, _MM_MANTISSA_NORM_ENUM __B, _MM_MANTISSA_SIGN_ENUM __C) { return (__m512) __builtin_ia32_getmantps512_mask ((__v16sf) __A, (__C << 2) | __B, _mm512_undefined_ps (), (__mmask16) -1, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_getmant_ps (__m512 __W, __mmask16 __U, __m512 __A, _MM_MANTISSA_NORM_ENUM __B, _MM_MANTISSA_SIGN_ENUM __C) { return (__m512) __builtin_ia32_getmantps512_mask ((__v16sf) __A, (__C << 2) | __B, (__v16sf) __W, __U, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_getmant_ps (__mmask16 __U, __m512 __A, _MM_MANTISSA_NORM_ENUM __B, _MM_MANTISSA_SIGN_ENUM __C) { return (__m512) __builtin_ia32_getmantps512_mask ((__v16sf) __A, (__C << 2) | __B, (__v16sf) _mm512_setzero_ps (), __U, 0x04); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_getmant_sd (__m128d __A, __m128d __B, _MM_MANTISSA_NORM_ENUM __C, _MM_MANTISSA_SIGN_ENUM __D) { return (__m128d) __builtin_ia32_getmantsd_round ((__v2df) __A, (__v2df) __B, (__D << 2) | __C, 0x04); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_getmant_ss (__m128 __A, __m128 __B, _MM_MANTISSA_NORM_ENUM __C, _MM_MANTISSA_SIGN_ENUM __D) { return (__m128) __builtin_ia32_getmantss_round ((__v4sf) __A, (__v4sf) __B, (__D << 2) | __C, 0x04); } # 12692 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512fintrin.h" 3 4 extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_roundscale_ps (__m512 __A, const int __imm) { return (__m512) __builtin_ia32_rndscaleps_mask ((__v16sf) __A, __imm, (__v16sf) _mm512_undefined_ps (), -1, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_roundscale_ps (__m512 __A, __mmask16 __B, __m512 __C, const int __imm) { return (__m512) __builtin_ia32_rndscaleps_mask ((__v16sf) __C, __imm, (__v16sf) __A, (__mmask16) __B, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_roundscale_ps (__mmask16 __A, __m512 __B, const int __imm) { return (__m512) __builtin_ia32_rndscaleps_mask ((__v16sf) __B, __imm, (__v16sf) _mm512_setzero_ps (), (__mmask16) __A, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_roundscale_pd (__m512d __A, const int __imm) { return (__m512d) __builtin_ia32_rndscalepd_mask ((__v8df) __A, __imm, (__v8df) _mm512_undefined_pd (), -1, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_roundscale_pd (__m512d __A, __mmask8 __B, __m512d __C, const int __imm) { return (__m512d) __builtin_ia32_rndscalepd_mask ((__v8df) __C, __imm, (__v8df) __A, (__mmask8) __B, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_roundscale_pd (__mmask8 __A, __m512d __B, const int __imm) { return (__m512d) __builtin_ia32_rndscalepd_mask ((__v8df) __B, __imm, (__v8df) _mm512_setzero_pd (), (__mmask8) __A, 0x04); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_roundscale_ss (__m128 __A, __m128 __B, const int __imm) { return (__m128) __builtin_ia32_rndscaless_round ((__v4sf) __A, (__v4sf) __B, __imm, 0x04); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_roundscale_sd (__m128d __A, __m128d __B, const int __imm) { return (__m128d) __builtin_ia32_rndscalesd_round ((__v2df) __A, (__v2df) __B, __imm, 0x04); } # 12814 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512fintrin.h" 3 4 extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmp_pd_mask (__m512d __X, __m512d __Y, const int __P) { return (__mmask8) __builtin_ia32_cmppd512_mask ((__v8df) __X, (__v8df) __Y, __P, (__mmask8) -1, 0x04); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmp_ps_mask (__m512 __X, __m512 __Y, const int __P) { return (__mmask16) __builtin_ia32_cmpps512_mask ((__v16sf) __X, (__v16sf) __Y, __P, (__mmask16) -1, 0x04); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmp_ps_mask (__mmask16 __U, __m512 __X, __m512 __Y, const int __P) { return (__mmask16) __builtin_ia32_cmpps512_mask ((__v16sf) __X, (__v16sf) __Y, __P, (__mmask16) __U, 0x04); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmp_pd_mask (__mmask8 __U, __m512d __X, __m512d __Y, const int __P) { return (__mmask8) __builtin_ia32_cmppd512_mask ((__v8df) __X, (__v8df) __Y, __P, (__mmask8) __U, 0x04); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmp_sd_mask (__m128d __X, __m128d __Y, const int __P) { return (__mmask8) __builtin_ia32_cmpsd_mask ((__v2df) __X, (__v2df) __Y, __P, (__mmask8) -1, 0x04); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cmp_sd_mask (__mmask8 __M, __m128d __X, __m128d __Y, const int __P) { return (__mmask8) __builtin_ia32_cmpsd_mask ((__v2df) __X, (__v2df) __Y, __P, (__mmask8) __M, 0x04); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmp_ss_mask (__m128 __X, __m128 __Y, const int __P) { return (__mmask8) __builtin_ia32_cmpss_mask ((__v4sf) __X, (__v4sf) __Y, __P, (__mmask8) -1, 0x04); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cmp_ss_mask (__mmask8 __M, __m128 __X, __m128 __Y, const int __P) { return (__mmask8) __builtin_ia32_cmpss_mask ((__v4sf) __X, (__v4sf) __Y, __P, (__mmask8) __M, 0x04); } # 12936 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512fintrin.h" 3 4 extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_kmov (__mmask16 __A) { return __builtin_ia32_kmov16 (__A); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_castpd_ps (__m512d __A) { return (__m512) (__A); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_castpd_si512 (__m512d __A) { return (__m512i) (__A); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_castps_pd (__m512 __A) { return (__m512d) (__A); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_castps_si512 (__m512 __A) { return (__m512i) (__A); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_castsi512_ps (__m512i __A) { return (__m512) (__A); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_castsi512_pd (__m512i __A) { return (__m512d) (__A); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_castpd512_pd128 (__m512d __A) { return (__m128d)_mm512_extractf32x4_ps((__m512)__A, 0); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_castps512_ps128 (__m512 __A) { return _mm512_extractf32x4_ps(__A, 0); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_castsi512_si128 (__m512i __A) { return (__m128i)_mm512_extracti32x4_epi32((__m512i)__A, 0); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_castpd512_pd256 (__m512d __A) { return _mm512_extractf64x4_pd(__A, 0); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_castps512_ps256 (__m512 __A) { return (__m256)_mm512_extractf64x4_pd((__m512d)__A, 0); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_castsi512_si256 (__m512i __A) { return (__m256i)_mm512_extractf64x4_pd((__m512d)__A, 0); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_castpd128_pd512 (__m128d __A) { return (__m512d) __builtin_ia32_pd512_pd((__m128d)__A); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_castps128_ps512 (__m128 __A) { return (__m512) __builtin_ia32_ps512_ps((__m128)__A); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_castsi128_si512 (__m128i __A) { return (__m512i) __builtin_ia32_si512_si((__v4si)__A); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_castpd256_pd512 (__m256d __A) { return __builtin_ia32_pd512_256pd (__A); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_castps256_ps512 (__m256 __A) { return __builtin_ia32_ps512_256ps (__A); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_castsi256_si512 (__m256i __A) { return (__m512i)__builtin_ia32_si512_256si ((__v8si)__A); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmpeq_epu32_mask (__m512i __A, __m512i __B) { return (__mmask16) __builtin_ia32_ucmpd512_mask ((__v16si) __A, (__v16si) __B, 0, (__mmask16) -1); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmpeq_epu32_mask (__mmask16 __U, __m512i __A, __m512i __B) { return (__mmask16) __builtin_ia32_ucmpd512_mask ((__v16si) __A, (__v16si) __B, 0, __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmpeq_epu64_mask (__mmask8 __U, __m512i __A, __m512i __B) { return (__mmask8) __builtin_ia32_ucmpq512_mask ((__v8di) __A, (__v8di) __B, 0, __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmpeq_epu64_mask (__m512i __A, __m512i __B) { return (__mmask8) __builtin_ia32_ucmpq512_mask ((__v8di) __A, (__v8di) __B, 0, (__mmask8) -1); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmpgt_epu32_mask (__m512i __A, __m512i __B) { return (__mmask16) __builtin_ia32_ucmpd512_mask ((__v16si) __A, (__v16si) __B, 6, (__mmask16) -1); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmpgt_epu32_mask (__mmask16 __U, __m512i __A, __m512i __B) { return (__mmask16) __builtin_ia32_ucmpd512_mask ((__v16si) __A, (__v16si) __B, 6, __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmpgt_epu64_mask (__mmask8 __U, __m512i __A, __m512i __B) { return (__mmask8) __builtin_ia32_ucmpq512_mask ((__v8di) __A, (__v8di) __B, 6, __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmpgt_epu64_mask (__m512i __A, __m512i __B) { return (__mmask8) __builtin_ia32_ucmpq512_mask ((__v8di) __A, (__v8di) __B, 6, (__mmask8) -1); } #pragma GCC pop_options # 46 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512erintrin.h" 1 3 4 # 32 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512erintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("avx512er") typedef double __v8df __attribute__ ((__vector_size__ (64))); typedef float __v16sf __attribute__ ((__vector_size__ (64))); typedef float __m512 __attribute__ ((__vector_size__ (64), __may_alias__)); typedef double __m512d __attribute__ ((__vector_size__ (64), __may_alias__)); typedef unsigned char __mmask8; typedef unsigned short __mmask16; extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_exp2a23_round_pd (__m512d __A, int __R) { __m512d __W; return (__m512d) __builtin_ia32_exp2pd_mask ((__v8df) __A, (__v8df) __W, (__mmask8) -1, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_exp2a23_round_pd (__m512d __W, __mmask8 __U, __m512d __A, int __R) { return (__m512d) __builtin_ia32_exp2pd_mask ((__v8df) __A, (__v8df) __W, (__mmask8) __U, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_exp2a23_round_pd (__mmask8 __U, __m512d __A, int __R) { return (__m512d) __builtin_ia32_exp2pd_mask ((__v8df) __A, (__v8df) _mm512_setzero_pd (), (__mmask8) __U, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_exp2a23_round_ps (__m512 __A, int __R) { __m512 __W; return (__m512) __builtin_ia32_exp2ps_mask ((__v16sf) __A, (__v16sf) __W, (__mmask16) -1, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_exp2a23_round_ps (__m512 __W, __mmask16 __U, __m512 __A, int __R) { return (__m512) __builtin_ia32_exp2ps_mask ((__v16sf) __A, (__v16sf) __W, (__mmask16) __U, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_exp2a23_round_ps (__mmask16 __U, __m512 __A, int __R) { return (__m512) __builtin_ia32_exp2ps_mask ((__v16sf) __A, (__v16sf) _mm512_setzero_ps (), (__mmask16) __U, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_rcp28_round_pd (__m512d __A, int __R) { __m512d __W; return (__m512d) __builtin_ia32_rcp28pd_mask ((__v8df) __A, (__v8df) __W, (__mmask8) -1, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_rcp28_round_pd (__m512d __W, __mmask8 __U, __m512d __A, int __R) { return (__m512d) __builtin_ia32_rcp28pd_mask ((__v8df) __A, (__v8df) __W, (__mmask8) __U, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_rcp28_round_pd (__mmask8 __U, __m512d __A, int __R) { return (__m512d) __builtin_ia32_rcp28pd_mask ((__v8df) __A, (__v8df) _mm512_setzero_pd (), (__mmask8) __U, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_rcp28_round_ps (__m512 __A, int __R) { __m512 __W; return (__m512) __builtin_ia32_rcp28ps_mask ((__v16sf) __A, (__v16sf) __W, (__mmask16) -1, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_rcp28_round_ps (__m512 __W, __mmask16 __U, __m512 __A, int __R) { return (__m512) __builtin_ia32_rcp28ps_mask ((__v16sf) __A, (__v16sf) __W, (__mmask16) __U, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_rcp28_round_ps (__mmask16 __U, __m512 __A, int __R) { return (__m512) __builtin_ia32_rcp28ps_mask ((__v16sf) __A, (__v16sf) _mm512_setzero_ps (), (__mmask16) __U, __R); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_rcp28_round_sd (__m128d __A, __m128d __B, int __R) { return (__m128d) __builtin_ia32_rcp28sd_round ((__v2df) __B, (__v2df) __A, __R); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_rcp28_round_ss (__m128 __A, __m128 __B, int __R) { return (__m128) __builtin_ia32_rcp28ss_round ((__v4sf) __B, (__v4sf) __A, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_rsqrt28_round_pd (__m512d __A, int __R) { __m512d __W; return (__m512d) __builtin_ia32_rsqrt28pd_mask ((__v8df) __A, (__v8df) __W, (__mmask8) -1, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_rsqrt28_round_pd (__m512d __W, __mmask8 __U, __m512d __A, int __R) { return (__m512d) __builtin_ia32_rsqrt28pd_mask ((__v8df) __A, (__v8df) __W, (__mmask8) __U, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_rsqrt28_round_pd (__mmask8 __U, __m512d __A, int __R) { return (__m512d) __builtin_ia32_rsqrt28pd_mask ((__v8df) __A, (__v8df) _mm512_setzero_pd (), (__mmask8) __U, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_rsqrt28_round_ps (__m512 __A, int __R) { __m512 __W; return (__m512) __builtin_ia32_rsqrt28ps_mask ((__v16sf) __A, (__v16sf) __W, (__mmask16) -1, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_rsqrt28_round_ps (__m512 __W, __mmask16 __U, __m512 __A, int __R) { return (__m512) __builtin_ia32_rsqrt28ps_mask ((__v16sf) __A, (__v16sf) __W, (__mmask16) __U, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_rsqrt28_round_ps (__mmask16 __U, __m512 __A, int __R) { return (__m512) __builtin_ia32_rsqrt28ps_mask ((__v16sf) __A, (__v16sf) _mm512_setzero_ps (), (__mmask16) __U, __R); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_rsqrt28_round_sd (__m128d __A, __m128d __B, int __R) { return (__m128d) __builtin_ia32_rsqrt28sd_round ((__v2df) __B, (__v2df) __A, __R); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_rsqrt28_round_ss (__m128 __A, __m128 __B, int __R) { return (__m128) __builtin_ia32_rsqrt28ss_round ((__v4sf) __B, (__v4sf) __A, __R); } # 391 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512erintrin.h" 3 4 #pragma GCC pop_options # 48 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512pfintrin.h" 1 3 4 # 32 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512pfintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("avx512pf") typedef long long __v8di __attribute__ ((__vector_size__ (64))); typedef int __v16si __attribute__ ((__vector_size__ (64))); typedef long long __m512i __attribute__ ((__vector_size__ (64), __may_alias__)); typedef unsigned char __mmask8; typedef unsigned short __mmask16; extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_prefetch_i32gather_pd (__m256i index, __mmask8 mask, void *addr, int scale, int hint) { __builtin_ia32_gatherpfdpd (mask, (__v8si) index, (long long const *) addr, scale, hint); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_prefetch_i32gather_ps (__m512i index, __mmask16 mask, void *addr, int scale, int hint) { __builtin_ia32_gatherpfdps (mask, (__v16si) index, (int const *) addr, scale, hint); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_prefetch_i64gather_pd (__m512i index, __mmask8 mask, void *addr, int scale, int hint) { __builtin_ia32_gatherpfqpd (mask, (__v8di) index, (long long const *) addr, scale, hint); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_prefetch_i64gather_ps (__m512i index, __mmask8 mask, void *addr, int scale, int hint) { __builtin_ia32_gatherpfqps (mask, (__v8di) index, (int const *) addr, scale, hint); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_prefetch_i32scatter_pd (void *addr, __m256i index, int scale, int hint) { __builtin_ia32_scatterpfdpd ((__mmask8) 0xFF, (__v8si) index, (long long const *)addr, scale, hint); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_prefetch_i32scatter_ps (void *addr, __m512i index, int scale, int hint) { __builtin_ia32_scatterpfdps ((__mmask16) 0xFFFF, (__v16si) index, (int const *) addr, scale, hint); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_prefetch_i32scatter_pd (void *addr, __mmask8 mask, __m256i index, int scale, int hint) { __builtin_ia32_scatterpfdpd (mask, (__v8si) index, (long long const *) addr, scale, hint); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_prefetch_i32scatter_ps (void *addr, __mmask16 mask, __m512i index, int scale, int hint) { __builtin_ia32_scatterpfdps (mask, (__v16si) index, (int const *) addr, scale, hint); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_prefetch_i64scatter_pd (void *addr, __m512i index, int scale, int hint) { __builtin_ia32_scatterpfqpd ((__mmask8) 0xFF, (__v8di) index, (long long const *) addr, scale, hint); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_prefetch_i64scatter_ps (void *addr, __m512i index, int scale, int hint) { __builtin_ia32_scatterpfqps ((__mmask8) 0xFF, (__v8di) index, (int const *) addr, scale, hint); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_prefetch_i64scatter_pd (void *addr, __mmask16 mask, __m512i index, int scale, int hint) { __builtin_ia32_scatterpfqpd (mask, (__v8di) index, (long long const *) addr, scale, hint); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_prefetch_i64scatter_ps (void *addr, __mmask16 mask, __m512i index, int scale, int hint) { __builtin_ia32_scatterpfqps (mask, (__v8di) index, (int const *) addr, scale, hint); } # 209 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512pfintrin.h" 3 4 #pragma GCC pop_options # 50 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512cdintrin.h" 1 3 4 # 32 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512cdintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("avx512cd") typedef long long __v8di __attribute__ ((__vector_size__ (64))); typedef int __v16si __attribute__ ((__vector_size__ (64))); typedef long long __m512i __attribute__ ((__vector_size__ (64), __may_alias__)); typedef double __m512d __attribute__ ((__vector_size__ (64), __may_alias__)); typedef unsigned char __mmask8; typedef unsigned short __mmask16; extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_conflict_epi32 (__m512i __A) { return (__m512i) __builtin_ia32_vpconflictsi_512_mask ((__v16si) __A, (__v16si) _mm512_setzero_si512 (), (__mmask16) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_conflict_epi32 (__m512i __W, __mmask16 __U, __m512i __A) { return (__m512i) __builtin_ia32_vpconflictsi_512_mask ((__v16si) __A, (__v16si) __W, (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_conflict_epi32 (__mmask16 __U, __m512i __A) { return (__m512i) __builtin_ia32_vpconflictsi_512_mask ((__v16si) __A, (__v16si) _mm512_setzero_si512 (), (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_conflict_epi64 (__m512i __A) { return (__m512i) __builtin_ia32_vpconflictdi_512_mask ((__v8di) __A, (__v8di) _mm512_setzero_si512 (), (__mmask8) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_conflict_epi64 (__m512i __W, __mmask8 __U, __m512i __A) { return (__m512i) __builtin_ia32_vpconflictdi_512_mask ((__v8di) __A, (__v8di) __W, (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_conflict_epi64 (__mmask8 __U, __m512i __A) { return (__m512i) __builtin_ia32_vpconflictdi_512_mask ((__v8di) __A, (__v8di) _mm512_setzero_si512 (), (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_lzcnt_epi64 (__m512i __A) { return (__m512i) __builtin_ia32_vplzcntq_512_mask ((__v8di) __A, (__v8di) _mm512_setzero_si512 (), (__mmask8) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_lzcnt_epi64 (__m512i __W, __mmask8 __U, __m512i __A) { return (__m512i) __builtin_ia32_vplzcntq_512_mask ((__v8di) __A, (__v8di) __W, (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_lzcnt_epi64 (__mmask8 __U, __m512i __A) { return (__m512i) __builtin_ia32_vplzcntq_512_mask ((__v8di) __A, (__v8di) _mm512_setzero_si512 (), (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_lzcnt_epi32 (__m512i __A) { return (__m512i) __builtin_ia32_vplzcntd_512_mask ((__v16si) __A, (__v16si) _mm512_setzero_si512 (), (__mmask16) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_lzcnt_epi32 (__m512i __W, __mmask16 __U, __m512i __A) { return (__m512i) __builtin_ia32_vplzcntd_512_mask ((__v16si) __A, (__v16si) __W, (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_lzcnt_epi32 (__mmask16 __U, __m512i __A) { return (__m512i) __builtin_ia32_vplzcntd_512_mask ((__v16si) __A, (__v16si) _mm512_setzero_si512 (), (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_broadcastmb_epi64 (__mmask8 __A) { return (__m512i) __builtin_ia32_broadcastmb512 (__A); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_broadcastmw_epi32 (__mmask16 __A) { return (__m512i) __builtin_ia32_broadcastmw512 (__A); } #pragma GCC pop_options # 52 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512vlintrin.h" 1 3 4 # 32 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512vlintrin.h" 3 4 extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_setzero_di (void) { return __extension__ (__m128i)(__v2di){ 0LL, 0LL}; } #pragma GCC push_options #pragma GCC target("avx512vl") typedef unsigned int __mmask32; extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_mov_pd (__m256d __W, __mmask8 __U, __m256d __A) { return (__m256d) __builtin_ia32_movapd256_mask ((__v4df) __A, (__v4df) __W, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_mov_pd (__mmask8 __U, __m256d __A) { return (__m256d) __builtin_ia32_movapd256_mask ((__v4df) __A, (__v4df) _mm256_setzero_pd (), (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_mov_pd (__m128d __W, __mmask8 __U, __m128d __A) { return (__m128d) __builtin_ia32_movapd128_mask ((__v2df) __A, (__v2df) __W, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_mov_pd (__mmask8 __U, __m128d __A) { return (__m128d) __builtin_ia32_movapd128_mask ((__v2df) __A, (__v2df) _mm_setzero_pd (), (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_load_pd (__m256d __W, __mmask8 __U, void const *__P) { return (__m256d) __builtin_ia32_loadapd256_mask ((__v4df *) __P, (__v4df) __W, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_load_pd (__mmask8 __U, void const *__P) { return (__m256d) __builtin_ia32_loadapd256_mask ((__v4df *) __P, (__v4df) _mm256_setzero_pd (), (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_load_pd (__m128d __W, __mmask8 __U, void const *__P) { return (__m128d) __builtin_ia32_loadapd128_mask ((__v2df *) __P, (__v2df) __W, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_load_pd (__mmask8 __U, void const *__P) { return (__m128d) __builtin_ia32_loadapd128_mask ((__v2df *) __P, (__v2df) _mm_setzero_pd (), (__mmask8) __U); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_store_pd (void *__P, __mmask8 __U, __m256d __A) { __builtin_ia32_storeapd256_mask ((__v4df *) __P, (__v4df) __A, (__mmask8) __U); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_store_pd (void *__P, __mmask8 __U, __m128d __A) { __builtin_ia32_storeapd128_mask ((__v2df *) __P, (__v2df) __A, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_mov_ps (__m256 __W, __mmask8 __U, __m256 __A) { return (__m256) __builtin_ia32_movaps256_mask ((__v8sf) __A, (__v8sf) __W, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_mov_ps (__mmask8 __U, __m256 __A) { return (__m256) __builtin_ia32_movaps256_mask ((__v8sf) __A, (__v8sf) _mm256_setzero_ps (), (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_mov_ps (__m128 __W, __mmask8 __U, __m128 __A) { return (__m128) __builtin_ia32_movaps128_mask ((__v4sf) __A, (__v4sf) __W, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_mov_ps (__mmask8 __U, __m128 __A) { return (__m128) __builtin_ia32_movaps128_mask ((__v4sf) __A, (__v4sf) _mm_setzero_ps (), (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_load_ps (__m256 __W, __mmask8 __U, void const *__P) { return (__m256) __builtin_ia32_loadaps256_mask ((__v8sf *) __P, (__v8sf) __W, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_load_ps (__mmask8 __U, void const *__P) { return (__m256) __builtin_ia32_loadaps256_mask ((__v8sf *) __P, (__v8sf) _mm256_setzero_ps (), (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_load_ps (__m128 __W, __mmask8 __U, void const *__P) { return (__m128) __builtin_ia32_loadaps128_mask ((__v4sf *) __P, (__v4sf) __W, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_load_ps (__mmask8 __U, void const *__P) { return (__m128) __builtin_ia32_loadaps128_mask ((__v4sf *) __P, (__v4sf) _mm_setzero_ps (), (__mmask8) __U); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_store_ps (void *__P, __mmask8 __U, __m256 __A) { __builtin_ia32_storeaps256_mask ((__v8sf *) __P, (__v8sf) __A, (__mmask8) __U); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_store_ps (void *__P, __mmask8 __U, __m128 __A) { __builtin_ia32_storeaps128_mask ((__v4sf *) __P, (__v4sf) __A, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_mov_epi64 (__m256i __W, __mmask8 __U, __m256i __A) { return (__m256i) __builtin_ia32_movdqa64_256_mask ((__v4di) __A, (__v4di) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_mov_epi64 (__mmask8 __U, __m256i __A) { return (__m256i) __builtin_ia32_movdqa64_256_mask ((__v4di) __A, (__v4di) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_mov_epi64 (__m128i __W, __mmask8 __U, __m128i __A) { return (__m128i) __builtin_ia32_movdqa64_128_mask ((__v2di) __A, (__v2di) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_mov_epi64 (__mmask8 __U, __m128i __A) { return (__m128i) __builtin_ia32_movdqa64_128_mask ((__v2di) __A, (__v2di) _mm_setzero_di (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_load_epi64 (__m256i __W, __mmask8 __U, void const *__P) { return (__m256i) __builtin_ia32_movdqa64load256_mask ((__v4di *) __P, (__v4di) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_load_epi64 (__mmask8 __U, void const *__P) { return (__m256i) __builtin_ia32_movdqa64load256_mask ((__v4di *) __P, (__v4di) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_load_epi64 (__m128i __W, __mmask8 __U, void const *__P) { return (__m128i) __builtin_ia32_movdqa64load128_mask ((__v2di *) __P, (__v2di) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_load_epi64 (__mmask8 __U, void const *__P) { return (__m128i) __builtin_ia32_movdqa64load128_mask ((__v2di *) __P, (__v2di) _mm_setzero_di (), (__mmask8) __U); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_store_epi64 (void *__P, __mmask8 __U, __m256i __A) { __builtin_ia32_movdqa64store256_mask ((__v4di *) __P, (__v4di) __A, (__mmask8) __U); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_store_epi64 (void *__P, __mmask8 __U, __m128i __A) { __builtin_ia32_movdqa64store128_mask ((__v2di *) __P, (__v2di) __A, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_mov_epi32 (__m256i __W, __mmask8 __U, __m256i __A) { return (__m256i) __builtin_ia32_movdqa32_256_mask ((__v8si) __A, (__v8si) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_mov_epi32 (__mmask8 __U, __m256i __A) { return (__m256i) __builtin_ia32_movdqa32_256_mask ((__v8si) __A, (__v8si) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_mov_epi32 (__m128i __W, __mmask8 __U, __m128i __A) { return (__m128i) __builtin_ia32_movdqa32_128_mask ((__v4si) __A, (__v4si) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_mov_epi32 (__mmask8 __U, __m128i __A) { return (__m128i) __builtin_ia32_movdqa32_128_mask ((__v4si) __A, (__v4si) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_load_epi32 (__m256i __W, __mmask8 __U, void const *__P) { return (__m256i) __builtin_ia32_movdqa32load256_mask ((__v8si *) __P, (__v8si) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_load_epi32 (__mmask8 __U, void const *__P) { return (__m256i) __builtin_ia32_movdqa32load256_mask ((__v8si *) __P, (__v8si) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_load_epi32 (__m128i __W, __mmask8 __U, void const *__P) { return (__m128i) __builtin_ia32_movdqa32load128_mask ((__v4si *) __P, (__v4si) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_load_epi32 (__mmask8 __U, void const *__P) { return (__m128i) __builtin_ia32_movdqa32load128_mask ((__v4si *) __P, (__v4si) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_store_epi32 (void *__P, __mmask8 __U, __m256i __A) { __builtin_ia32_movdqa32store256_mask ((__v8si *) __P, (__v8si) __A, (__mmask8) __U); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_store_epi32 (void *__P, __mmask8 __U, __m128i __A) { __builtin_ia32_movdqa32store128_mask ((__v4si *) __P, (__v4si) __A, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_setzero_hi (void) { return __extension__ (__m128i) (__v8hi) { 0, 0, 0, 0, 0, 0, 0, 0}; } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_add_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_addpd128_mask ((__v2df) __A, (__v2df) __B, (__v2df) __W, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_add_pd (__mmask8 __U, __m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_addpd128_mask ((__v2df) __A, (__v2df) __B, (__v2df) _mm_setzero_pd (), (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_add_pd (__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) { return (__m256d) __builtin_ia32_addpd256_mask ((__v4df) __A, (__v4df) __B, (__v4df) __W, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_add_pd (__mmask8 __U, __m256d __A, __m256d __B) { return (__m256d) __builtin_ia32_addpd256_mask ((__v4df) __A, (__v4df) __B, (__v4df) _mm256_setzero_pd (), (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_add_ps (__m128 __W, __mmask16 __U, __m128 __A, __m128 __B) { return (__m128) __builtin_ia32_addps128_mask ((__v4sf) __A, (__v4sf) __B, (__v4sf) __W, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_add_ps (__mmask16 __U, __m128 __A, __m128 __B) { return (__m128) __builtin_ia32_addps128_mask ((__v4sf) __A, (__v4sf) __B, (__v4sf) _mm_setzero_ps (), (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_add_ps (__m256 __W, __mmask16 __U, __m256 __A, __m256 __B) { return (__m256) __builtin_ia32_addps256_mask ((__v8sf) __A, (__v8sf) __B, (__v8sf) __W, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_add_ps (__mmask16 __U, __m256 __A, __m256 __B) { return (__m256) __builtin_ia32_addps256_mask ((__v8sf) __A, (__v8sf) __B, (__v8sf) _mm256_setzero_ps (), (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_sub_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_subpd128_mask ((__v2df) __A, (__v2df) __B, (__v2df) __W, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_sub_pd (__mmask8 __U, __m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_subpd128_mask ((__v2df) __A, (__v2df) __B, (__v2df) _mm_setzero_pd (), (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_sub_pd (__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) { return (__m256d) __builtin_ia32_subpd256_mask ((__v4df) __A, (__v4df) __B, (__v4df) __W, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_sub_pd (__mmask8 __U, __m256d __A, __m256d __B) { return (__m256d) __builtin_ia32_subpd256_mask ((__v4df) __A, (__v4df) __B, (__v4df) _mm256_setzero_pd (), (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_sub_ps (__m128 __W, __mmask16 __U, __m128 __A, __m128 __B) { return (__m128) __builtin_ia32_subps128_mask ((__v4sf) __A, (__v4sf) __B, (__v4sf) __W, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_sub_ps (__mmask16 __U, __m128 __A, __m128 __B) { return (__m128) __builtin_ia32_subps128_mask ((__v4sf) __A, (__v4sf) __B, (__v4sf) _mm_setzero_ps (), (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_sub_ps (__m256 __W, __mmask16 __U, __m256 __A, __m256 __B) { return (__m256) __builtin_ia32_subps256_mask ((__v8sf) __A, (__v8sf) __B, (__v8sf) __W, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_sub_ps (__mmask16 __U, __m256 __A, __m256 __B) { return (__m256) __builtin_ia32_subps256_mask ((__v8sf) __A, (__v8sf) __B, (__v8sf) _mm256_setzero_ps (), (__mmask8) __U); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_store_epi64 (void *__P, __m256i __A) { *(__m256i *) __P = __A; } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_store_epi64 (void *__P, __m128i __A) { *(__m128i *) __P = __A; } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_loadu_pd (__m256d __W, __mmask8 __U, void const *__P) { return (__m256d) __builtin_ia32_loadupd256_mask ((__v4df *) __P, (__v4df) __W, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_loadu_pd (__mmask8 __U, void const *__P) { return (__m256d) __builtin_ia32_loadupd256_mask ((__v4df *) __P, (__v4df) _mm256_setzero_pd (), (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_loadu_pd (__m128d __W, __mmask8 __U, void const *__P) { return (__m128d) __builtin_ia32_loadupd128_mask ((__v2df *) __P, (__v2df) __W, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_loadu_pd (__mmask8 __U, void const *__P) { return (__m128d) __builtin_ia32_loadupd128_mask ((__v2df *) __P, (__v2df) _mm_setzero_pd (), (__mmask8) __U); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_storeu_pd (void *__P, __mmask8 __U, __m256d __A) { __builtin_ia32_storeupd256_mask ((__v4df *) __P, (__v4df) __A, (__mmask8) __U); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_storeu_pd (void *__P, __mmask8 __U, __m128d __A) { __builtin_ia32_storeupd128_mask ((__v2df *) __P, (__v2df) __A, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_loadu_ps (__m256 __W, __mmask8 __U, void const *__P) { return (__m256) __builtin_ia32_loadups256_mask ((__v8sf *) __P, (__v8sf) __W, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_loadu_ps (__mmask8 __U, void const *__P) { return (__m256) __builtin_ia32_loadups256_mask ((__v8sf *) __P, (__v8sf) _mm256_setzero_ps (), (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_loadu_ps (__m128 __W, __mmask8 __U, void const *__P) { return (__m128) __builtin_ia32_loadups128_mask ((__v4sf *) __P, (__v4sf) __W, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_loadu_ps (__mmask8 __U, void const *__P) { return (__m128) __builtin_ia32_loadups128_mask ((__v4sf *) __P, (__v4sf) _mm_setzero_ps (), (__mmask8) __U); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_storeu_ps (void *__P, __mmask8 __U, __m256 __A) { __builtin_ia32_storeups256_mask ((__v8sf *) __P, (__v8sf) __A, (__mmask8) __U); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_storeu_ps (void *__P, __mmask8 __U, __m128 __A) { __builtin_ia32_storeups128_mask ((__v4sf *) __P, (__v4sf) __A, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_loadu_epi64 (__m256i __W, __mmask8 __U, void const *__P) { return (__m256i) __builtin_ia32_loaddqudi256_mask ((__v4di *) __P, (__v4di) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_loadu_epi64 (__mmask8 __U, void const *__P) { return (__m256i) __builtin_ia32_loaddqudi256_mask ((__v4di *) __P, (__v4di) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_loadu_epi64 (__m128i __W, __mmask8 __U, void const *__P) { return (__m128i) __builtin_ia32_loaddqudi128_mask ((__v2di *) __P, (__v2di) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_loadu_epi64 (__mmask8 __U, void const *__P) { return (__m128i) __builtin_ia32_loaddqudi128_mask ((__v2di *) __P, (__v2di) _mm_setzero_di (), (__mmask8) __U); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_storeu_epi64 (void *__P, __mmask8 __U, __m256i __A) { __builtin_ia32_storedqudi256_mask ((__v4di *) __P, (__v4di) __A, (__mmask8) __U); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_storeu_epi64 (void *__P, __mmask8 __U, __m128i __A) { __builtin_ia32_storedqudi128_mask ((__v2di *) __P, (__v2di) __A, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_loadu_epi32 (__m256i __W, __mmask8 __U, void const *__P) { return (__m256i) __builtin_ia32_loaddqusi256_mask ((__v8si *) __P, (__v8si) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_loadu_epi32 (__mmask8 __U, void const *__P) { return (__m256i) __builtin_ia32_loaddqusi256_mask ((__v8si *) __P, (__v8si) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_loadu_epi32 (__m128i __W, __mmask8 __U, void const *__P) { return (__m128i) __builtin_ia32_loaddqusi128_mask ((__v4si *) __P, (__v4si) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_loadu_epi32 (__mmask8 __U, void const *__P) { return (__m128i) __builtin_ia32_loaddqusi128_mask ((__v4si *) __P, (__v4si) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_storeu_epi32 (void *__P, __mmask8 __U, __m256i __A) { __builtin_ia32_storedqusi256_mask ((__v8si *) __P, (__v8si) __A, (__mmask8) __U); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_storeu_epi32 (void *__P, __mmask8 __U, __m128i __A) { __builtin_ia32_storedqusi128_mask ((__v4si *) __P, (__v4si) __A, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_abs_epi32 (__m256i __W, __mmask8 __U, __m256i __A) { return (__m256i) __builtin_ia32_pabsd256_mask ((__v8si) __A, (__v8si) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_abs_epi32 (__mmask8 __U, __m256i __A) { return (__m256i) __builtin_ia32_pabsd256_mask ((__v8si) __A, (__v8si) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_abs_epi32 (__m128i __W, __mmask8 __U, __m128i __A) { return (__m128i) __builtin_ia32_pabsd128_mask ((__v4si) __A, (__v4si) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_abs_epi32 (__mmask8 __U, __m128i __A) { return (__m128i) __builtin_ia32_pabsd128_mask ((__v4si) __A, (__v4si) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_abs_epi64 (__m256i __A) { return (__m256i) __builtin_ia32_pabsq256_mask ((__v4di) __A, (__v4di) _mm256_setzero_si256 (), (__mmask8) -1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_abs_epi64 (__m256i __W, __mmask8 __U, __m256i __A) { return (__m256i) __builtin_ia32_pabsq256_mask ((__v4di) __A, (__v4di) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_abs_epi64 (__mmask8 __U, __m256i __A) { return (__m256i) __builtin_ia32_pabsq256_mask ((__v4di) __A, (__v4di) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_abs_epi64 (__m128i __A) { return (__m128i) __builtin_ia32_pabsq128_mask ((__v2di) __A, (__v2di) _mm_setzero_di (), (__mmask8) -1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_abs_epi64 (__m128i __W, __mmask8 __U, __m128i __A) { return (__m128i) __builtin_ia32_pabsq128_mask ((__v2di) __A, (__v2di) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_abs_epi64 (__mmask8 __U, __m128i __A) { return (__m128i) __builtin_ia32_pabsq128_mask ((__v2di) __A, (__v2di) _mm_setzero_di (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cvtpd_epu32 (__m256d __A) { return (__m128i) __builtin_ia32_cvtpd2udq256_mask ((__v4df) __A, (__v4si) _mm_setzero_si128 (), (__mmask8) -1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtpd_epu32 (__m128i __W, __mmask8 __U, __m256d __A) { return (__m128i) __builtin_ia32_cvtpd2udq256_mask ((__v4df) __A, (__v4si) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_cvtpd_epu32 (__mmask8 __U, __m256d __A) { return (__m128i) __builtin_ia32_cvtpd2udq256_mask ((__v4df) __A, (__v4si) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtpd_epu32 (__m128d __A) { return (__m128i) __builtin_ia32_cvtpd2udq128_mask ((__v2df) __A, (__v4si) _mm_setzero_si128 (), (__mmask8) -1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtpd_epu32 (__m128i __W, __mmask8 __U, __m128d __A) { return (__m128i) __builtin_ia32_cvtpd2udq128_mask ((__v2df) __A, (__v4si) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_cvtpd_epu32 (__mmask8 __U, __m128d __A) { return (__m128i) __builtin_ia32_cvtpd2udq128_mask ((__v2df) __A, (__v4si) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvttps_epi32 (__m256i __W, __mmask8 __U, __m256 __A) { return (__m256i) __builtin_ia32_cvttps2dq256_mask ((__v8sf) __A, (__v8si) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_cvttps_epi32 (__mmask8 __U, __m256 __A) { return (__m256i) __builtin_ia32_cvttps2dq256_mask ((__v8sf) __A, (__v8si) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvttps_epi32 (__m128i __W, __mmask8 __U, __m128 __A) { return (__m128i) __builtin_ia32_cvttps2dq128_mask ((__v4sf) __A, (__v4si) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_cvttps_epi32 (__mmask8 __U, __m128 __A) { return (__m128i) __builtin_ia32_cvttps2dq128_mask ((__v4sf) __A, (__v4si) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cvttps_epu32 (__m256 __A) { return (__m256i) __builtin_ia32_cvttps2udq256_mask ((__v8sf) __A, (__v8si) _mm256_setzero_si256 (), (__mmask8) -1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvttps_epu32 (__m256i __W, __mmask8 __U, __m256 __A) { return (__m256i) __builtin_ia32_cvttps2udq256_mask ((__v8sf) __A, (__v8si) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_cvttps_epu32 (__mmask8 __U, __m256 __A) { return (__m256i) __builtin_ia32_cvttps2udq256_mask ((__v8sf) __A, (__v8si) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvttps_epu32 (__m128 __A) { return (__m128i) __builtin_ia32_cvttps2udq128_mask ((__v4sf) __A, (__v4si) _mm_setzero_si128 (), (__mmask8) -1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvttps_epu32 (__m128i __W, __mmask8 __U, __m128 __A) { return (__m128i) __builtin_ia32_cvttps2udq128_mask ((__v4sf) __A, (__v4si) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_cvttps_epu32 (__mmask8 __U, __m128 __A) { return (__m128i) __builtin_ia32_cvttps2udq128_mask ((__v4sf) __A, (__v4si) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvttpd_epi32 (__m128i __W, __mmask8 __U, __m256d __A) { return (__m128i) __builtin_ia32_cvttpd2dq256_mask ((__v4df) __A, (__v4si) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_cvttpd_epi32 (__mmask8 __U, __m256d __A) { return (__m128i) __builtin_ia32_cvttpd2dq256_mask ((__v4df) __A, (__v4si) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvttpd_epi32 (__m128i __W, __mmask8 __U, __m128d __A) { return (__m128i) __builtin_ia32_cvttpd2dq128_mask ((__v2df) __A, (__v4si) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_cvttpd_epi32 (__mmask8 __U, __m128d __A) { return (__m128i) __builtin_ia32_cvttpd2dq128_mask ((__v2df) __A, (__v4si) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cvttpd_epu32 (__m256d __A) { return (__m128i) __builtin_ia32_cvttpd2udq256_mask ((__v4df) __A, (__v4si) _mm_setzero_si128 (), (__mmask8) -1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvttpd_epu32 (__m128i __W, __mmask8 __U, __m256d __A) { return (__m128i) __builtin_ia32_cvttpd2udq256_mask ((__v4df) __A, (__v4si) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_cvttpd_epu32 (__mmask8 __U, __m256d __A) { return (__m128i) __builtin_ia32_cvttpd2udq256_mask ((__v4df) __A, (__v4si) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvttpd_epu32 (__m128d __A) { return (__m128i) __builtin_ia32_cvttpd2udq128_mask ((__v2df) __A, (__v4si) _mm_setzero_si128 (), (__mmask8) -1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvttpd_epu32 (__m128i __W, __mmask8 __U, __m128d __A) { return (__m128i) __builtin_ia32_cvttpd2udq128_mask ((__v2df) __A, (__v4si) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_cvttpd_epu32 (__mmask8 __U, __m128d __A) { return (__m128i) __builtin_ia32_cvttpd2udq128_mask ((__v2df) __A, (__v4si) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtpd_epi32 (__m128i __W, __mmask8 __U, __m256d __A) { return (__m128i) __builtin_ia32_cvtpd2dq256_mask ((__v4df) __A, (__v4si) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_cvtpd_epi32 (__mmask8 __U, __m256d __A) { return (__m128i) __builtin_ia32_cvtpd2dq256_mask ((__v4df) __A, (__v4si) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtpd_epi32 (__m128i __W, __mmask8 __U, __m128d __A) { return (__m128i) __builtin_ia32_cvtpd2dq128_mask ((__v2df) __A, (__v4si) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_cvtpd_epi32 (__mmask8 __U, __m128d __A) { return (__m128i) __builtin_ia32_cvtpd2dq128_mask ((__v2df) __A, (__v4si) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtepi32_pd (__m256d __W, __mmask8 __U, __m128i __A) { return (__m256d) __builtin_ia32_cvtdq2pd256_mask ((__v4si) __A, (__v4df) __W, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_cvtepi32_pd (__mmask8 __U, __m128i __A) { return (__m256d) __builtin_ia32_cvtdq2pd256_mask ((__v4si) __A, (__v4df) _mm256_setzero_pd (), (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtepi32_pd (__m128d __W, __mmask8 __U, __m128i __A) { return (__m128d) __builtin_ia32_cvtdq2pd128_mask ((__v4si) __A, (__v2df) __W, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_cvtepi32_pd (__mmask8 __U, __m128i __A) { return (__m128d) __builtin_ia32_cvtdq2pd128_mask ((__v4si) __A, (__v2df) _mm_setzero_pd (), (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cvtepu32_pd (__m128i __A) { return (__m256d) __builtin_ia32_cvtudq2pd256_mask ((__v4si) __A, (__v4df) _mm256_setzero_pd (), (__mmask8) -1); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtepu32_pd (__m256d __W, __mmask8 __U, __m128i __A) { return (__m256d) __builtin_ia32_cvtudq2pd256_mask ((__v4si) __A, (__v4df) __W, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_cvtepu32_pd (__mmask8 __U, __m128i __A) { return (__m256d) __builtin_ia32_cvtudq2pd256_mask ((__v4si) __A, (__v4df) _mm256_setzero_pd (), (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtepu32_pd (__m128i __A) { return (__m128d) __builtin_ia32_cvtudq2pd128_mask ((__v4si) __A, (__v2df) _mm_setzero_pd (), (__mmask8) -1); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtepu32_pd (__m128d __W, __mmask8 __U, __m128i __A) { return (__m128d) __builtin_ia32_cvtudq2pd128_mask ((__v4si) __A, (__v2df) __W, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_cvtepu32_pd (__mmask8 __U, __m128i __A) { return (__m128d) __builtin_ia32_cvtudq2pd128_mask ((__v4si) __A, (__v2df) _mm_setzero_pd (), (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtepi32_ps (__m256 __W, __mmask8 __U, __m256i __A) { return (__m256) __builtin_ia32_cvtdq2ps256_mask ((__v8si) __A, (__v8sf) __W, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_cvtepi32_ps (__mmask16 __U, __m256i __A) { return (__m256) __builtin_ia32_cvtdq2ps256_mask ((__v8si) __A, (__v8sf) _mm256_setzero_ps (), (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtepi32_ps (__m128 __W, __mmask8 __U, __m128i __A) { return (__m128) __builtin_ia32_cvtdq2ps128_mask ((__v4si) __A, (__v4sf) __W, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_cvtepi32_ps (__mmask16 __U, __m128i __A) { return (__m128) __builtin_ia32_cvtdq2ps128_mask ((__v4si) __A, (__v4sf) _mm_setzero_ps (), (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cvtepu32_ps (__m256i __A) { return (__m256) __builtin_ia32_cvtudq2ps256_mask ((__v8si) __A, (__v8sf) _mm256_setzero_ps (), (__mmask8) -1); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtepu32_ps (__m256 __W, __mmask8 __U, __m256i __A) { return (__m256) __builtin_ia32_cvtudq2ps256_mask ((__v8si) __A, (__v8sf) __W, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_cvtepu32_ps (__mmask8 __U, __m256i __A) { return (__m256) __builtin_ia32_cvtudq2ps256_mask ((__v8si) __A, (__v8sf) _mm256_setzero_ps (), (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtepu32_ps (__m128i __A) { return (__m128) __builtin_ia32_cvtudq2ps128_mask ((__v4si) __A, (__v4sf) _mm_setzero_ps (), (__mmask8) -1); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtepu32_ps (__m128 __W, __mmask8 __U, __m128i __A) { return (__m128) __builtin_ia32_cvtudq2ps128_mask ((__v4si) __A, (__v4sf) __W, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_cvtepu32_ps (__mmask8 __U, __m128i __A) { return (__m128) __builtin_ia32_cvtudq2ps128_mask ((__v4si) __A, (__v4sf) _mm_setzero_ps (), (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtps_pd (__m256d __W, __mmask8 __U, __m128 __A) { return (__m256d) __builtin_ia32_cvtps2pd256_mask ((__v4sf) __A, (__v4df) __W, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_cvtps_pd (__mmask8 __U, __m128 __A) { return (__m256d) __builtin_ia32_cvtps2pd256_mask ((__v4sf) __A, (__v4df) _mm256_setzero_pd (), (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtps_pd (__m128d __W, __mmask8 __U, __m128 __A) { return (__m128d) __builtin_ia32_cvtps2pd128_mask ((__v4sf) __A, (__v2df) __W, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_cvtps_pd (__mmask8 __U, __m128 __A) { return (__m128d) __builtin_ia32_cvtps2pd128_mask ((__v4sf) __A, (__v2df) _mm_setzero_pd (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtepi32_epi8 (__m128i __A) { return (__m128i) __builtin_ia32_pmovdb128_mask ((__v4si) __A, (__v16qi)_mm_undefined_si128(), (__mmask8) -1); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtepi32_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A) { __builtin_ia32_pmovdb128mem_mask ((__v16qi *) __P, (__v4si) __A, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtepi32_epi8 (__m128i __O, __mmask8 __M, __m128i __A) { return (__m128i) __builtin_ia32_pmovdb128_mask ((__v4si) __A, (__v16qi) __O, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_cvtepi32_epi8 (__mmask8 __M, __m128i __A) { return (__m128i) __builtin_ia32_pmovdb128_mask ((__v4si) __A, (__v16qi) _mm_setzero_si128 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cvtepi32_epi8 (__m256i __A) { return (__m128i) __builtin_ia32_pmovdb256_mask ((__v8si) __A, (__v16qi)_mm_undefined_si128(), (__mmask8) -1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtepi32_epi8 (__m128i __O, __mmask8 __M, __m256i __A) { return (__m128i) __builtin_ia32_pmovdb256_mask ((__v8si) __A, (__v16qi) __O, __M); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtepi32_storeu_epi8 (void * __P, __mmask8 __M, __m256i __A) { __builtin_ia32_pmovdb256mem_mask ((__v16qi *) __P, (__v8si) __A, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_cvtepi32_epi8 (__mmask8 __M, __m256i __A) { return (__m128i) __builtin_ia32_pmovdb256_mask ((__v8si) __A, (__v16qi) _mm_setzero_si128 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtsepi32_epi8 (__m128i __A) { return (__m128i) __builtin_ia32_pmovsdb128_mask ((__v4si) __A, (__v16qi)_mm_undefined_si128(), (__mmask8) -1); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtsepi32_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A) { __builtin_ia32_pmovsdb128mem_mask ((__v16qi *) __P, (__v4si) __A, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtsepi32_epi8 (__m128i __O, __mmask8 __M, __m128i __A) { return (__m128i) __builtin_ia32_pmovsdb128_mask ((__v4si) __A, (__v16qi) __O, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_cvtsepi32_epi8 (__mmask8 __M, __m128i __A) { return (__m128i) __builtin_ia32_pmovsdb128_mask ((__v4si) __A, (__v16qi) _mm_setzero_si128 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cvtsepi32_epi8 (__m256i __A) { return (__m128i) __builtin_ia32_pmovsdb256_mask ((__v8si) __A, (__v16qi)_mm_undefined_si128(), (__mmask8) -1); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtsepi32_storeu_epi8 (void * __P, __mmask8 __M, __m256i __A) { __builtin_ia32_pmovsdb256mem_mask ((__v16qi *) __P, (__v8si) __A, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtsepi32_epi8 (__m128i __O, __mmask8 __M, __m256i __A) { return (__m128i) __builtin_ia32_pmovsdb256_mask ((__v8si) __A, (__v16qi) __O, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_cvtsepi32_epi8 (__mmask8 __M, __m256i __A) { return (__m128i) __builtin_ia32_pmovsdb256_mask ((__v8si) __A, (__v16qi) _mm_setzero_si128 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtusepi32_epi8 (__m128i __A) { return (__m128i) __builtin_ia32_pmovusdb128_mask ((__v4si) __A, (__v16qi)_mm_undefined_si128(), (__mmask8) -1); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtusepi32_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A) { __builtin_ia32_pmovusdb128mem_mask ((__v16qi *) __P, (__v4si) __A, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtusepi32_epi8 (__m128i __O, __mmask8 __M, __m128i __A) { return (__m128i) __builtin_ia32_pmovusdb128_mask ((__v4si) __A, (__v16qi) __O, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_cvtusepi32_epi8 (__mmask8 __M, __m128i __A) { return (__m128i) __builtin_ia32_pmovusdb128_mask ((__v4si) __A, (__v16qi) _mm_setzero_si128 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cvtusepi32_epi8 (__m256i __A) { return (__m128i) __builtin_ia32_pmovusdb256_mask ((__v8si) __A, (__v16qi)_mm_undefined_si128(), (__mmask8) -1); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtusepi32_storeu_epi8 (void * __P, __mmask8 __M, __m256i __A) { __builtin_ia32_pmovusdb256mem_mask ((__v16qi*) __P, (__v8si) __A, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtusepi32_epi8 (__m128i __O, __mmask8 __M, __m256i __A) { return (__m128i) __builtin_ia32_pmovusdb256_mask ((__v8si) __A, (__v16qi) __O, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_cvtusepi32_epi8 (__mmask8 __M, __m256i __A) { return (__m128i) __builtin_ia32_pmovusdb256_mask ((__v8si) __A, (__v16qi) _mm_setzero_si128 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtepi32_epi16 (__m128i __A) { return (__m128i) __builtin_ia32_pmovdw128_mask ((__v4si) __A, (__v8hi) _mm_setzero_si128 (), (__mmask8) -1); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtepi32_storeu_epi16 (void * __P, __mmask8 __M, __m128i __A) { __builtin_ia32_pmovdw128mem_mask ((__v8hi *) __P, (__v4si) __A, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtepi32_epi16 (__m128i __O, __mmask8 __M, __m128i __A) { return (__m128i) __builtin_ia32_pmovdw128_mask ((__v4si) __A, (__v8hi) __O, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_cvtepi32_epi16 (__mmask8 __M, __m128i __A) { return (__m128i) __builtin_ia32_pmovdw128_mask ((__v4si) __A, (__v8hi) _mm_setzero_si128 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cvtepi32_epi16 (__m256i __A) { return (__m128i) __builtin_ia32_pmovdw256_mask ((__v8si) __A, (__v8hi)_mm_setzero_si128 (), (__mmask8) -1); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtepi32_storeu_epi16 (void * __P, __mmask8 __M, __m256i __A) { __builtin_ia32_pmovdw256mem_mask ((__v8hi *) __P, (__v8si) __A, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtepi32_epi16 (__m128i __O, __mmask8 __M, __m256i __A) { return (__m128i) __builtin_ia32_pmovdw256_mask ((__v8si) __A, (__v8hi) __O, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_cvtepi32_epi16 (__mmask8 __M, __m256i __A) { return (__m128i) __builtin_ia32_pmovdw256_mask ((__v8si) __A, (__v8hi) _mm_setzero_si128 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtsepi32_epi16 (__m128i __A) { return (__m128i) __builtin_ia32_pmovsdw128_mask ((__v4si) __A, (__v8hi)_mm_setzero_si128 (), (__mmask8) -1); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtsepi32_storeu_epi16 (void * __P, __mmask8 __M, __m128i __A) { __builtin_ia32_pmovsdw128mem_mask ((__v8hi *) __P, (__v4si) __A, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtsepi32_epi16 (__m128i __O, __mmask8 __M, __m128i __A) { return (__m128i) __builtin_ia32_pmovsdw128_mask ((__v4si) __A, (__v8hi)__O, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_cvtsepi32_epi16 (__mmask8 __M, __m128i __A) { return (__m128i) __builtin_ia32_pmovsdw128_mask ((__v4si) __A, (__v8hi) _mm_setzero_si128 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cvtsepi32_epi16 (__m256i __A) { return (__m128i) __builtin_ia32_pmovsdw256_mask ((__v8si) __A, (__v8hi)_mm_undefined_si128(), (__mmask8) -1); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtsepi32_storeu_epi16 (void * __P, __mmask8 __M, __m256i __A) { __builtin_ia32_pmovsdw256mem_mask ((__v8hi *) __P, (__v8si) __A, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtsepi32_epi16 (__m128i __O, __mmask8 __M, __m256i __A) { return (__m128i) __builtin_ia32_pmovsdw256_mask ((__v8si) __A, (__v8hi) __O, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_cvtsepi32_epi16 (__mmask8 __M, __m256i __A) { return (__m128i) __builtin_ia32_pmovsdw256_mask ((__v8si) __A, (__v8hi) _mm_setzero_si128 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtusepi32_epi16 (__m128i __A) { return (__m128i) __builtin_ia32_pmovusdw128_mask ((__v4si) __A, (__v8hi)_mm_undefined_si128(), (__mmask8) -1); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtusepi32_storeu_epi16 (void * __P, __mmask8 __M, __m128i __A) { __builtin_ia32_pmovusdw128mem_mask ((__v8hi *) __P, (__v4si) __A, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtusepi32_epi16 (__m128i __O, __mmask8 __M, __m128i __A) { return (__m128i) __builtin_ia32_pmovusdw128_mask ((__v4si) __A, (__v8hi) __O, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_cvtusepi32_epi16 (__mmask8 __M, __m128i __A) { return (__m128i) __builtin_ia32_pmovusdw128_mask ((__v4si) __A, (__v8hi) _mm_setzero_si128 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cvtusepi32_epi16 (__m256i __A) { return (__m128i) __builtin_ia32_pmovusdw256_mask ((__v8si) __A, (__v8hi)_mm_undefined_si128(), (__mmask8) -1); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtusepi32_storeu_epi16 (void * __P, __mmask8 __M, __m256i __A) { __builtin_ia32_pmovusdw256mem_mask ((__v8hi *) __P, (__v8si) __A, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtusepi32_epi16 (__m128i __O, __mmask8 __M, __m256i __A) { return (__m128i) __builtin_ia32_pmovusdw256_mask ((__v8si) __A, (__v8hi) __O, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_cvtusepi32_epi16 (__mmask8 __M, __m256i __A) { return (__m128i) __builtin_ia32_pmovusdw256_mask ((__v8si) __A, (__v8hi) _mm_setzero_si128 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtepi64_epi8 (__m128i __A) { return (__m128i) __builtin_ia32_pmovqb128_mask ((__v2di) __A, (__v16qi)_mm_undefined_si128(), (__mmask8) -1); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtepi64_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A) { __builtin_ia32_pmovqb128mem_mask ((__v16qi *) __P, (__v2di) __A, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtepi64_epi8 (__m128i __O, __mmask8 __M, __m128i __A) { return (__m128i) __builtin_ia32_pmovqb128_mask ((__v2di) __A, (__v16qi) __O, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_cvtepi64_epi8 (__mmask8 __M, __m128i __A) { return (__m128i) __builtin_ia32_pmovqb128_mask ((__v2di) __A, (__v16qi) _mm_setzero_si128 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cvtepi64_epi8 (__m256i __A) { return (__m128i) __builtin_ia32_pmovqb256_mask ((__v4di) __A, (__v16qi)_mm_undefined_si128(), (__mmask8) -1); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtepi64_storeu_epi8 (void * __P, __mmask8 __M, __m256i __A) { __builtin_ia32_pmovqb256mem_mask ((__v16qi *) __P, (__v4di) __A, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtepi64_epi8 (__m128i __O, __mmask8 __M, __m256i __A) { return (__m128i) __builtin_ia32_pmovqb256_mask ((__v4di) __A, (__v16qi) __O, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_cvtepi64_epi8 (__mmask8 __M, __m256i __A) { return (__m128i) __builtin_ia32_pmovqb256_mask ((__v4di) __A, (__v16qi) _mm_setzero_si128 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtsepi64_epi8 (__m128i __A) { return (__m128i) __builtin_ia32_pmovsqb128_mask ((__v2di) __A, (__v16qi)_mm_undefined_si128(), (__mmask8) -1); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtsepi64_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A) { __builtin_ia32_pmovsqb128mem_mask ((__v16qi *) __P, (__v2di) __A, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtsepi64_epi8 (__m128i __O, __mmask8 __M, __m128i __A) { return (__m128i) __builtin_ia32_pmovsqb128_mask ((__v2di) __A, (__v16qi) __O, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_cvtsepi64_epi8 (__mmask8 __M, __m128i __A) { return (__m128i) __builtin_ia32_pmovsqb128_mask ((__v2di) __A, (__v16qi) _mm_setzero_si128 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cvtsepi64_epi8 (__m256i __A) { return (__m128i) __builtin_ia32_pmovsqb256_mask ((__v4di) __A, (__v16qi)_mm_undefined_si128(), (__mmask8) -1); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtsepi64_storeu_epi8 (void * __P, __mmask8 __M, __m256i __A) { __builtin_ia32_pmovsqb256mem_mask ((__v16qi *) __P, (__v4di) __A, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtsepi64_epi8 (__m128i __O, __mmask8 __M, __m256i __A) { return (__m128i) __builtin_ia32_pmovsqb256_mask ((__v4di) __A, (__v16qi) __O, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_cvtsepi64_epi8 (__mmask8 __M, __m256i __A) { return (__m128i) __builtin_ia32_pmovsqb256_mask ((__v4di) __A, (__v16qi) _mm_setzero_si128 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtusepi64_epi8 (__m128i __A) { return (__m128i) __builtin_ia32_pmovusqb128_mask ((__v2di) __A, (__v16qi)_mm_undefined_si128(), (__mmask8) -1); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtusepi64_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A) { __builtin_ia32_pmovusqb128mem_mask ((__v16qi *) __P, (__v2di) __A, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtusepi64_epi8 (__m128i __O, __mmask8 __M, __m128i __A) { return (__m128i) __builtin_ia32_pmovusqb128_mask ((__v2di) __A, (__v16qi) __O, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_cvtusepi64_epi8 (__mmask8 __M, __m128i __A) { return (__m128i) __builtin_ia32_pmovusqb128_mask ((__v2di) __A, (__v16qi) _mm_setzero_si128 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cvtusepi64_epi8 (__m256i __A) { return (__m128i) __builtin_ia32_pmovusqb256_mask ((__v4di) __A, (__v16qi)_mm_undefined_si128(), (__mmask8) -1); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtusepi64_storeu_epi8 (void * __P, __mmask8 __M, __m256i __A) { __builtin_ia32_pmovusqb256mem_mask ((__v16qi *) __P, (__v4di) __A, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtusepi64_epi8 (__m128i __O, __mmask8 __M, __m256i __A) { return (__m128i) __builtin_ia32_pmovusqb256_mask ((__v4di) __A, (__v16qi) __O, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_cvtusepi64_epi8 (__mmask8 __M, __m256i __A) { return (__m128i) __builtin_ia32_pmovusqb256_mask ((__v4di) __A, (__v16qi) _mm_setzero_si128 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtepi64_epi16 (__m128i __A) { return (__m128i) __builtin_ia32_pmovqw128_mask ((__v2di) __A, (__v8hi)_mm_undefined_si128(), (__mmask8) -1); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtepi64_storeu_epi16 (void * __P, __mmask8 __M, __m128i __A) { __builtin_ia32_pmovqw128mem_mask ((__v8hi *) __P, (__v2di) __A, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtepi64_epi16 (__m128i __O, __mmask8 __M, __m128i __A) { return (__m128i) __builtin_ia32_pmovqw128_mask ((__v2di) __A, (__v8hi)__O, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_cvtepi64_epi16 (__mmask8 __M, __m128i __A) { return (__m128i) __builtin_ia32_pmovqw128_mask ((__v2di) __A, (__v8hi) _mm_setzero_si128 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cvtepi64_epi16 (__m256i __A) { return (__m128i) __builtin_ia32_pmovqw256_mask ((__v4di) __A, (__v8hi)_mm_undefined_si128(), (__mmask8) -1); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtepi64_storeu_epi16 (void * __P, __mmask8 __M, __m256i __A) { __builtin_ia32_pmovqw256mem_mask ((__v8hi *) __P, (__v4di) __A, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtepi64_epi16 (__m128i __O, __mmask8 __M, __m256i __A) { return (__m128i) __builtin_ia32_pmovqw256_mask ((__v4di) __A, (__v8hi) __O, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_cvtepi64_epi16 (__mmask8 __M, __m256i __A) { return (__m128i) __builtin_ia32_pmovqw256_mask ((__v4di) __A, (__v8hi) _mm_setzero_si128 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtsepi64_epi16 (__m128i __A) { return (__m128i) __builtin_ia32_pmovsqw128_mask ((__v2di) __A, (__v8hi)_mm_undefined_si128(), (__mmask8) -1); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtsepi64_storeu_epi16 (void * __P, __mmask8 __M, __m128i __A) { __builtin_ia32_pmovsqw128mem_mask ((__v8hi *) __P, (__v2di) __A, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtsepi64_epi16 (__m128i __O, __mmask8 __M, __m128i __A) { return (__m128i) __builtin_ia32_pmovsqw128_mask ((__v2di) __A, (__v8hi) __O, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_cvtsepi64_epi16 (__mmask8 __M, __m128i __A) { return (__m128i) __builtin_ia32_pmovsqw128_mask ((__v2di) __A, (__v8hi) _mm_setzero_si128 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cvtsepi64_epi16 (__m256i __A) { return (__m128i) __builtin_ia32_pmovsqw256_mask ((__v4di) __A, (__v8hi)_mm_undefined_si128(), (__mmask8) -1); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtsepi64_storeu_epi16 (void * __P, __mmask8 __M, __m256i __A) { __builtin_ia32_pmovsqw256mem_mask ((__v8hi *) __P, (__v4di) __A, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtsepi64_epi16 (__m128i __O, __mmask8 __M, __m256i __A) { return (__m128i) __builtin_ia32_pmovsqw256_mask ((__v4di) __A, (__v8hi) __O, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_cvtsepi64_epi16 (__mmask8 __M, __m256i __A) { return (__m128i) __builtin_ia32_pmovsqw256_mask ((__v4di) __A, (__v8hi) _mm_setzero_si128 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtusepi64_epi16 (__m128i __A) { return (__m128i) __builtin_ia32_pmovusqw128_mask ((__v2di) __A, (__v8hi)_mm_undefined_si128(), (__mmask8) -1); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtusepi64_storeu_epi16 (void * __P, __mmask8 __M, __m128i __A) { __builtin_ia32_pmovusqw128mem_mask ((__v8hi *) __P, (__v2di) __A, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtusepi64_epi16 (__m128i __O, __mmask8 __M, __m128i __A) { return (__m128i) __builtin_ia32_pmovusqw128_mask ((__v2di) __A, (__v8hi) __O, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_cvtusepi64_epi16 (__mmask8 __M, __m128i __A) { return (__m128i) __builtin_ia32_pmovusqw128_mask ((__v2di) __A, (__v8hi) _mm_setzero_si128 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cvtusepi64_epi16 (__m256i __A) { return (__m128i) __builtin_ia32_pmovusqw256_mask ((__v4di) __A, (__v8hi)_mm_undefined_si128(), (__mmask8) -1); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtusepi64_storeu_epi16 (void * __P, __mmask8 __M, __m256i __A) { __builtin_ia32_pmovusqw256mem_mask ((__v8hi *) __P, (__v4di) __A, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtusepi64_epi16 (__m128i __O, __mmask8 __M, __m256i __A) { return (__m128i) __builtin_ia32_pmovusqw256_mask ((__v4di) __A, (__v8hi) __O, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_cvtusepi64_epi16 (__mmask8 __M, __m256i __A) { return (__m128i) __builtin_ia32_pmovusqw256_mask ((__v4di) __A, (__v8hi) _mm_setzero_si128 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtepi64_epi32 (__m128i __A) { return (__m128i) __builtin_ia32_pmovqd128_mask ((__v2di) __A, (__v4si)_mm_undefined_si128(), (__mmask8) -1); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtepi64_storeu_epi32 (void * __P, __mmask8 __M, __m128i __A) { __builtin_ia32_pmovqd128mem_mask ((__v4si *) __P, (__v2di) __A, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtepi64_epi32 (__m128i __O, __mmask8 __M, __m128i __A) { return (__m128i) __builtin_ia32_pmovqd128_mask ((__v2di) __A, (__v4si) __O, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_cvtepi64_epi32 (__mmask8 __M, __m128i __A) { return (__m128i) __builtin_ia32_pmovqd128_mask ((__v2di) __A, (__v4si) _mm_setzero_si128 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cvtepi64_epi32 (__m256i __A) { return (__m128i) __builtin_ia32_pmovqd256_mask ((__v4di) __A, (__v4si)_mm_undefined_si128(), (__mmask8) -1); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtepi64_storeu_epi32 (void * __P, __mmask8 __M, __m256i __A) { __builtin_ia32_pmovqd256mem_mask ((__v4si *) __P, (__v4di) __A, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtepi64_epi32 (__m128i __O, __mmask8 __M, __m256i __A) { return (__m128i) __builtin_ia32_pmovqd256_mask ((__v4di) __A, (__v4si) __O, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_cvtepi64_epi32 (__mmask8 __M, __m256i __A) { return (__m128i) __builtin_ia32_pmovqd256_mask ((__v4di) __A, (__v4si) _mm_setzero_si128 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtsepi64_epi32 (__m128i __A) { return (__m128i) __builtin_ia32_pmovsqd128_mask ((__v2di) __A, (__v4si)_mm_undefined_si128(), (__mmask8) -1); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtsepi64_storeu_epi32 (void * __P, __mmask8 __M, __m128i __A) { __builtin_ia32_pmovsqd128mem_mask ((__v4si *) __P, (__v2di) __A, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtsepi64_epi32 (__m128i __O, __mmask8 __M, __m128i __A) { return (__m128i) __builtin_ia32_pmovsqd128_mask ((__v2di) __A, (__v4si) __O, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_cvtsepi64_epi32 (__mmask8 __M, __m128i __A) { return (__m128i) __builtin_ia32_pmovsqd128_mask ((__v2di) __A, (__v4si) _mm_setzero_si128 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cvtsepi64_epi32 (__m256i __A) { return (__m128i) __builtin_ia32_pmovsqd256_mask ((__v4di) __A, (__v4si)_mm_undefined_si128(), (__mmask8) -1); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtsepi64_storeu_epi32 (void * __P, __mmask8 __M, __m256i __A) { __builtin_ia32_pmovsqd256mem_mask ((__v4si *) __P, (__v4di) __A, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtsepi64_epi32 (__m128i __O, __mmask8 __M, __m256i __A) { return (__m128i) __builtin_ia32_pmovsqd256_mask ((__v4di) __A, (__v4si)__O, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_cvtsepi64_epi32 (__mmask8 __M, __m256i __A) { return (__m128i) __builtin_ia32_pmovsqd256_mask ((__v4di) __A, (__v4si) _mm_setzero_si128 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtusepi64_epi32 (__m128i __A) { return (__m128i) __builtin_ia32_pmovusqd128_mask ((__v2di) __A, (__v4si)_mm_undefined_si128(), (__mmask8) -1); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtusepi64_storeu_epi32 (void * __P, __mmask8 __M, __m128i __A) { __builtin_ia32_pmovusqd128mem_mask ((__v4si *) __P, (__v2di) __A, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtusepi64_epi32 (__m128i __O, __mmask8 __M, __m128i __A) { return (__m128i) __builtin_ia32_pmovusqd128_mask ((__v2di) __A, (__v4si) __O, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_cvtusepi64_epi32 (__mmask8 __M, __m128i __A) { return (__m128i) __builtin_ia32_pmovusqd128_mask ((__v2di) __A, (__v4si) _mm_setzero_si128 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cvtusepi64_epi32 (__m256i __A) { return (__m128i) __builtin_ia32_pmovusqd256_mask ((__v4di) __A, (__v4si)_mm_undefined_si128(), (__mmask8) -1); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtusepi64_storeu_epi32 (void * __P, __mmask8 __M, __m256i __A) { __builtin_ia32_pmovusqd256mem_mask ((__v4si *) __P, (__v4di) __A, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtusepi64_epi32 (__m128i __O, __mmask8 __M, __m256i __A) { return (__m128i) __builtin_ia32_pmovusqd256_mask ((__v4di) __A, (__v4si) __O, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_cvtusepi64_epi32 (__mmask8 __M, __m256i __A) { return (__m128i) __builtin_ia32_pmovusqd256_mask ((__v4di) __A, (__v4si) _mm_setzero_si128 (), __M); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_broadcastss_ps (__m256 __O, __mmask8 __M, __m128 __A) { return (__m256) __builtin_ia32_broadcastss256_mask ((__v4sf) __A, (__v8sf) __O, __M); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_broadcastss_ps (__mmask8 __M, __m128 __A) { return (__m256) __builtin_ia32_broadcastss256_mask ((__v4sf) __A, (__v8sf) _mm256_setzero_ps (), __M); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_broadcastss_ps (__m128 __O, __mmask8 __M, __m128 __A) { return (__m128) __builtin_ia32_broadcastss128_mask ((__v4sf) __A, (__v4sf) __O, __M); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_broadcastss_ps (__mmask8 __M, __m128 __A) { return (__m128) __builtin_ia32_broadcastss128_mask ((__v4sf) __A, (__v4sf) _mm_setzero_ps (), __M); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_broadcastsd_pd (__m256d __O, __mmask8 __M, __m128d __A) { return (__m256d) __builtin_ia32_broadcastsd256_mask ((__v2df) __A, (__v4df) __O, __M); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_broadcastsd_pd (__mmask8 __M, __m128d __A) { return (__m256d) __builtin_ia32_broadcastsd256_mask ((__v2df) __A, (__v4df) _mm256_setzero_pd (), __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_broadcastd_epi32 (__m256i __O, __mmask8 __M, __m128i __A) { return (__m256i) __builtin_ia32_pbroadcastd256_mask ((__v4si) __A, (__v8si) __O, __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_broadcastd_epi32 (__mmask8 __M, __m128i __A) { return (__m256i) __builtin_ia32_pbroadcastd256_mask ((__v4si) __A, (__v8si) _mm256_setzero_si256 (), __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_set1_epi32 (__m256i __O, __mmask8 __M, int __A) { return (__m256i) __builtin_ia32_pbroadcastd256_gpr_mask (__A, (__v8si) __O, __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_set1_epi32 (__mmask8 __M, int __A) { return (__m256i) __builtin_ia32_pbroadcastd256_gpr_mask (__A, (__v8si) _mm256_setzero_si256 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_broadcastd_epi32 (__m128i __O, __mmask8 __M, __m128i __A) { return (__m128i) __builtin_ia32_pbroadcastd128_mask ((__v4si) __A, (__v4si) __O, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_broadcastd_epi32 (__mmask8 __M, __m128i __A) { return (__m128i) __builtin_ia32_pbroadcastd128_mask ((__v4si) __A, (__v4si) _mm_setzero_si128 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_set1_epi32 (__m128i __O, __mmask8 __M, int __A) { return (__m128i) __builtin_ia32_pbroadcastd128_gpr_mask (__A, (__v4si) __O, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_set1_epi32 (__mmask8 __M, int __A) { return (__m128i) __builtin_ia32_pbroadcastd128_gpr_mask (__A, (__v4si) _mm_setzero_si128 (), __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_broadcastq_epi64 (__m256i __O, __mmask8 __M, __m128i __A) { return (__m256i) __builtin_ia32_pbroadcastq256_mask ((__v2di) __A, (__v4di) __O, __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_broadcastq_epi64 (__mmask8 __M, __m128i __A) { return (__m256i) __builtin_ia32_pbroadcastq256_mask ((__v2di) __A, (__v4di) _mm256_setzero_si256 (), __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_set1_epi64 (__m256i __O, __mmask8 __M, long long __A) { return (__m256i) __builtin_ia32_pbroadcastq256_gpr_mask (__A, (__v4di) __O, __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_set1_epi64 (__mmask8 __M, long long __A) { return (__m256i) __builtin_ia32_pbroadcastq256_gpr_mask (__A, (__v4di) _mm256_setzero_si256 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_broadcastq_epi64 (__m128i __O, __mmask8 __M, __m128i __A) { return (__m128i) __builtin_ia32_pbroadcastq128_mask ((__v2di) __A, (__v2di) __O, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_broadcastq_epi64 (__mmask8 __M, __m128i __A) { return (__m128i) __builtin_ia32_pbroadcastq128_mask ((__v2di) __A, (__v2di) _mm_setzero_si128 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_set1_epi64 (__m128i __O, __mmask8 __M, long long __A) { return (__m128i) __builtin_ia32_pbroadcastq128_gpr_mask (__A, (__v2di) __O, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_set1_epi64 (__mmask8 __M, long long __A) { return (__m128i) __builtin_ia32_pbroadcastq128_gpr_mask (__A, (__v2di) _mm_setzero_si128 (), __M); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_broadcast_f32x4 (__m128 __A) { return (__m256) __builtin_ia32_broadcastf32x4_256_mask ((__v4sf) __A, (__v8sf)_mm256_undefined_pd (), (__mmask8) - 1); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_broadcast_f32x4 (__m256 __O, __mmask8 __M, __m128 __A) { return (__m256) __builtin_ia32_broadcastf32x4_256_mask ((__v4sf) __A, (__v8sf) __O, __M); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_broadcast_f32x4 (__mmask8 __M, __m128 __A) { return (__m256) __builtin_ia32_broadcastf32x4_256_mask ((__v4sf) __A, (__v8sf) _mm256_setzero_ps (), __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_broadcast_i32x4 (__m128i __A) { return (__m256i) __builtin_ia32_broadcasti32x4_256_mask ((__v4si) __A, (__v8si)_mm256_undefined_si256 (), (__mmask8) - 1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_broadcast_i32x4 (__m256i __O, __mmask8 __M, __m128i __A) { return (__m256i) __builtin_ia32_broadcasti32x4_256_mask ((__v4si) __A, (__v8si) __O, __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_broadcast_i32x4 (__mmask8 __M, __m128i __A) { return (__m256i) __builtin_ia32_broadcasti32x4_256_mask ((__v4si) __A, (__v8si) _mm256_setzero_si256 (), __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtepi8_epi32 (__m256i __W, __mmask8 __U, __m128i __A) { return (__m256i) __builtin_ia32_pmovsxbd256_mask ((__v16qi) __A, (__v8si) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_cvtepi8_epi32 (__mmask8 __U, __m128i __A) { return (__m256i) __builtin_ia32_pmovsxbd256_mask ((__v16qi) __A, (__v8si) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtepi8_epi32 (__m128i __W, __mmask8 __U, __m128i __A) { return (__m128i) __builtin_ia32_pmovsxbd128_mask ((__v16qi) __A, (__v4si) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_cvtepi8_epi32 (__mmask8 __U, __m128i __A) { return (__m128i) __builtin_ia32_pmovsxbd128_mask ((__v16qi) __A, (__v4si) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtepi8_epi64 (__m256i __W, __mmask8 __U, __m128i __A) { return (__m256i) __builtin_ia32_pmovsxbq256_mask ((__v16qi) __A, (__v4di) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_cvtepi8_epi64 (__mmask8 __U, __m128i __A) { return (__m256i) __builtin_ia32_pmovsxbq256_mask ((__v16qi) __A, (__v4di) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtepi8_epi64 (__m128i __W, __mmask8 __U, __m128i __A) { return (__m128i) __builtin_ia32_pmovsxbq128_mask ((__v16qi) __A, (__v2di) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_cvtepi8_epi64 (__mmask8 __U, __m128i __A) { return (__m128i) __builtin_ia32_pmovsxbq128_mask ((__v16qi) __A, (__v2di) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtepi16_epi32 (__m256i __W, __mmask8 __U, __m128i __A) { return (__m256i) __builtin_ia32_pmovsxwd256_mask ((__v8hi) __A, (__v8si) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_cvtepi16_epi32 (__mmask8 __U, __m128i __A) { return (__m256i) __builtin_ia32_pmovsxwd256_mask ((__v8hi) __A, (__v8si) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtepi16_epi32 (__m128i __W, __mmask8 __U, __m128i __A) { return (__m128i) __builtin_ia32_pmovsxwd128_mask ((__v8hi) __A, (__v4si) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_cvtepi16_epi32 (__mmask8 __U, __m128i __A) { return (__m128i) __builtin_ia32_pmovsxwd128_mask ((__v8hi) __A, (__v4si) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtepi16_epi64 (__m256i __W, __mmask8 __U, __m128i __A) { return (__m256i) __builtin_ia32_pmovsxwq256_mask ((__v8hi) __A, (__v4di) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_cvtepi16_epi64 (__mmask8 __U, __m128i __A) { return (__m256i) __builtin_ia32_pmovsxwq256_mask ((__v8hi) __A, (__v4di) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtepi16_epi64 (__m128i __W, __mmask8 __U, __m128i __A) { return (__m128i) __builtin_ia32_pmovsxwq128_mask ((__v8hi) __A, (__v2di) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_cvtepi16_epi64 (__mmask8 __U, __m128i __A) { return (__m128i) __builtin_ia32_pmovsxwq128_mask ((__v8hi) __A, (__v2di) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtepi32_epi64 (__m256i __W, __mmask8 __U, __m128i __X) { return (__m256i) __builtin_ia32_pmovsxdq256_mask ((__v4si) __X, (__v4di) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_cvtepi32_epi64 (__mmask8 __U, __m128i __X) { return (__m256i) __builtin_ia32_pmovsxdq256_mask ((__v4si) __X, (__v4di) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtepi32_epi64 (__m128i __W, __mmask8 __U, __m128i __X) { return (__m128i) __builtin_ia32_pmovsxdq128_mask ((__v4si) __X, (__v2di) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_cvtepi32_epi64 (__mmask8 __U, __m128i __X) { return (__m128i) __builtin_ia32_pmovsxdq128_mask ((__v4si) __X, (__v2di) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtepu8_epi32 (__m256i __W, __mmask8 __U, __m128i __A) { return (__m256i) __builtin_ia32_pmovzxbd256_mask ((__v16qi) __A, (__v8si) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_cvtepu8_epi32 (__mmask8 __U, __m128i __A) { return (__m256i) __builtin_ia32_pmovzxbd256_mask ((__v16qi) __A, (__v8si) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtepu8_epi32 (__m128i __W, __mmask8 __U, __m128i __A) { return (__m128i) __builtin_ia32_pmovzxbd128_mask ((__v16qi) __A, (__v4si) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_cvtepu8_epi32 (__mmask8 __U, __m128i __A) { return (__m128i) __builtin_ia32_pmovzxbd128_mask ((__v16qi) __A, (__v4si) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtepu8_epi64 (__m256i __W, __mmask8 __U, __m128i __A) { return (__m256i) __builtin_ia32_pmovzxbq256_mask ((__v16qi) __A, (__v4di) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_cvtepu8_epi64 (__mmask8 __U, __m128i __A) { return (__m256i) __builtin_ia32_pmovzxbq256_mask ((__v16qi) __A, (__v4di) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtepu8_epi64 (__m128i __W, __mmask8 __U, __m128i __A) { return (__m128i) __builtin_ia32_pmovzxbq128_mask ((__v16qi) __A, (__v2di) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_cvtepu8_epi64 (__mmask8 __U, __m128i __A) { return (__m128i) __builtin_ia32_pmovzxbq128_mask ((__v16qi) __A, (__v2di) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtepu16_epi32 (__m256i __W, __mmask8 __U, __m128i __A) { return (__m256i) __builtin_ia32_pmovzxwd256_mask ((__v8hi) __A, (__v8si) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_cvtepu16_epi32 (__mmask8 __U, __m128i __A) { return (__m256i) __builtin_ia32_pmovzxwd256_mask ((__v8hi) __A, (__v8si) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtepu16_epi32 (__m128i __W, __mmask8 __U, __m128i __A) { return (__m128i) __builtin_ia32_pmovzxwd128_mask ((__v8hi) __A, (__v4si) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_cvtepu16_epi32 (__mmask8 __U, __m128i __A) { return (__m128i) __builtin_ia32_pmovzxwd128_mask ((__v8hi) __A, (__v4si) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtepu16_epi64 (__m256i __W, __mmask8 __U, __m128i __A) { return (__m256i) __builtin_ia32_pmovzxwq256_mask ((__v8hi) __A, (__v4di) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_cvtepu16_epi64 (__mmask8 __U, __m128i __A) { return (__m256i) __builtin_ia32_pmovzxwq256_mask ((__v8hi) __A, (__v4di) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtepu16_epi64 (__m128i __W, __mmask8 __U, __m128i __A) { return (__m128i) __builtin_ia32_pmovzxwq128_mask ((__v8hi) __A, (__v2di) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_cvtepu16_epi64 (__mmask8 __U, __m128i __A) { return (__m128i) __builtin_ia32_pmovzxwq128_mask ((__v8hi) __A, (__v2di) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtepu32_epi64 (__m256i __W, __mmask8 __U, __m128i __X) { return (__m256i) __builtin_ia32_pmovzxdq256_mask ((__v4si) __X, (__v4di) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_cvtepu32_epi64 (__mmask8 __U, __m128i __X) { return (__m256i) __builtin_ia32_pmovzxdq256_mask ((__v4si) __X, (__v4di) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtepu32_epi64 (__m128i __W, __mmask8 __U, __m128i __X) { return (__m128i) __builtin_ia32_pmovzxdq128_mask ((__v4si) __X, (__v2di) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_cvtepu32_epi64 (__mmask8 __U, __m128i __X) { return (__m128i) __builtin_ia32_pmovzxdq128_mask ((__v4si) __X, (__v2di) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_rcp14_pd (__m256d __A) { return (__m256d) __builtin_ia32_rcp14pd256_mask ((__v4df) __A, (__v4df) _mm256_setzero_pd (), (__mmask8) -1); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_rcp14_pd (__m256d __W, __mmask8 __U, __m256d __A) { return (__m256d) __builtin_ia32_rcp14pd256_mask ((__v4df) __A, (__v4df) __W, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_rcp14_pd (__mmask8 __U, __m256d __A) { return (__m256d) __builtin_ia32_rcp14pd256_mask ((__v4df) __A, (__v4df) _mm256_setzero_pd (), (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_rcp14_pd (__m128d __A) { return (__m128d) __builtin_ia32_rcp14pd128_mask ((__v2df) __A, (__v2df) _mm_setzero_pd (), (__mmask8) -1); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_rcp14_pd (__m128d __W, __mmask8 __U, __m128d __A) { return (__m128d) __builtin_ia32_rcp14pd128_mask ((__v2df) __A, (__v2df) __W, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_rcp14_pd (__mmask8 __U, __m128d __A) { return (__m128d) __builtin_ia32_rcp14pd128_mask ((__v2df) __A, (__v2df) _mm_setzero_pd (), (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_rcp14_ps (__m256 __A) { return (__m256) __builtin_ia32_rcp14ps256_mask ((__v8sf) __A, (__v8sf) _mm256_setzero_ps (), (__mmask8) -1); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_rcp14_ps (__m256 __W, __mmask8 __U, __m256 __A) { return (__m256) __builtin_ia32_rcp14ps256_mask ((__v8sf) __A, (__v8sf) __W, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_rcp14_ps (__mmask8 __U, __m256 __A) { return (__m256) __builtin_ia32_rcp14ps256_mask ((__v8sf) __A, (__v8sf) _mm256_setzero_ps (), (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_rcp14_ps (__m128 __A) { return (__m128) __builtin_ia32_rcp14ps128_mask ((__v4sf) __A, (__v4sf) _mm_setzero_ps (), (__mmask8) -1); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_rcp14_ps (__m128 __W, __mmask8 __U, __m128 __A) { return (__m128) __builtin_ia32_rcp14ps128_mask ((__v4sf) __A, (__v4sf) __W, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_rcp14_ps (__mmask8 __U, __m128 __A) { return (__m128) __builtin_ia32_rcp14ps128_mask ((__v4sf) __A, (__v4sf) _mm_setzero_ps (), (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_rsqrt14_pd (__m256d __A) { return (__m256d) __builtin_ia32_rsqrt14pd256_mask ((__v4df) __A, (__v4df) _mm256_setzero_pd (), (__mmask8) -1); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_rsqrt14_pd (__m256d __W, __mmask8 __U, __m256d __A) { return (__m256d) __builtin_ia32_rsqrt14pd256_mask ((__v4df) __A, (__v4df) __W, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_rsqrt14_pd (__mmask8 __U, __m256d __A) { return (__m256d) __builtin_ia32_rsqrt14pd256_mask ((__v4df) __A, (__v4df) _mm256_setzero_pd (), (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_rsqrt14_pd (__m128d __A) { return (__m128d) __builtin_ia32_rsqrt14pd128_mask ((__v2df) __A, (__v2df) _mm_setzero_pd (), (__mmask8) -1); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_rsqrt14_pd (__m128d __W, __mmask8 __U, __m128d __A) { return (__m128d) __builtin_ia32_rsqrt14pd128_mask ((__v2df) __A, (__v2df) __W, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_rsqrt14_pd (__mmask8 __U, __m128d __A) { return (__m128d) __builtin_ia32_rsqrt14pd128_mask ((__v2df) __A, (__v2df) _mm_setzero_pd (), (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_rsqrt14_ps (__m256 __A) { return (__m256) __builtin_ia32_rsqrt14ps256_mask ((__v8sf) __A, (__v8sf) _mm256_setzero_ps (), (__mmask8) -1); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_rsqrt14_ps (__m256 __W, __mmask8 __U, __m256 __A) { return (__m256) __builtin_ia32_rsqrt14ps256_mask ((__v8sf) __A, (__v8sf) __W, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_rsqrt14_ps (__mmask8 __U, __m256 __A) { return (__m256) __builtin_ia32_rsqrt14ps256_mask ((__v8sf) __A, (__v8sf) _mm256_setzero_ps (), (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_rsqrt14_ps (__m128 __A) { return (__m128) __builtin_ia32_rsqrt14ps128_mask ((__v4sf) __A, (__v4sf) _mm_setzero_ps (), (__mmask8) -1); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_rsqrt14_ps (__m128 __W, __mmask8 __U, __m128 __A) { return (__m128) __builtin_ia32_rsqrt14ps128_mask ((__v4sf) __A, (__v4sf) __W, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_rsqrt14_ps (__mmask8 __U, __m128 __A) { return (__m128) __builtin_ia32_rsqrt14ps128_mask ((__v4sf) __A, (__v4sf) _mm_setzero_ps (), (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_sqrt_pd (__m256d __W, __mmask8 __U, __m256d __A) { return (__m256d) __builtin_ia32_sqrtpd256_mask ((__v4df) __A, (__v4df) __W, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_sqrt_pd (__mmask8 __U, __m256d __A) { return (__m256d) __builtin_ia32_sqrtpd256_mask ((__v4df) __A, (__v4df) _mm256_setzero_pd (), (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_sqrt_pd (__m128d __W, __mmask8 __U, __m128d __A) { return (__m128d) __builtin_ia32_sqrtpd128_mask ((__v2df) __A, (__v2df) __W, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_sqrt_pd (__mmask8 __U, __m128d __A) { return (__m128d) __builtin_ia32_sqrtpd128_mask ((__v2df) __A, (__v2df) _mm_setzero_pd (), (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_sqrt_ps (__m256 __W, __mmask8 __U, __m256 __A) { return (__m256) __builtin_ia32_sqrtps256_mask ((__v8sf) __A, (__v8sf) __W, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_sqrt_ps (__mmask8 __U, __m256 __A) { return (__m256) __builtin_ia32_sqrtps256_mask ((__v8sf) __A, (__v8sf) _mm256_setzero_ps (), (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_sqrt_ps (__m128 __W, __mmask8 __U, __m128 __A) { return (__m128) __builtin_ia32_sqrtps128_mask ((__v4sf) __A, (__v4sf) __W, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_sqrt_ps (__mmask8 __U, __m128 __A) { return (__m128) __builtin_ia32_sqrtps128_mask ((__v4sf) __A, (__v4sf) _mm_setzero_ps (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_add_epi32 (__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_paddd256_mask ((__v8si) __A, (__v8si) __B, (__v8si) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_add_epi32 (__mmask8 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_paddd256_mask ((__v8si) __A, (__v8si) __B, (__v8si) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_add_epi64 (__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_paddq256_mask ((__v4di) __A, (__v4di) __B, (__v4di) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_add_epi64 (__mmask8 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_paddq256_mask ((__v4di) __A, (__v4di) __B, (__v4di) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_sub_epi32 (__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_psubd256_mask ((__v8si) __A, (__v8si) __B, (__v8si) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_sub_epi32 (__mmask8 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_psubd256_mask ((__v8si) __A, (__v8si) __B, (__v8si) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_sub_epi64 (__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_psubq256_mask ((__v4di) __A, (__v4di) __B, (__v4di) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_sub_epi64 (__mmask8 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_psubq256_mask ((__v4di) __A, (__v4di) __B, (__v4di) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_add_epi32 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_paddd128_mask ((__v4si) __A, (__v4si) __B, (__v4si) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_add_epi32 (__mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_paddd128_mask ((__v4si) __A, (__v4si) __B, (__v4si) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_add_epi64 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_paddq128_mask ((__v2di) __A, (__v2di) __B, (__v2di) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_add_epi64 (__mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_paddq128_mask ((__v2di) __A, (__v2di) __B, (__v2di) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_sub_epi32 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_psubd128_mask ((__v4si) __A, (__v4si) __B, (__v4si) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_sub_epi32 (__mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_psubd128_mask ((__v4si) __A, (__v4si) __B, (__v4si) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_sub_epi64 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_psubq128_mask ((__v2di) __A, (__v2di) __B, (__v2di) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_sub_epi64 (__mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_psubq128_mask ((__v2di) __A, (__v2di) __B, (__v2di) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_getexp_ps (__m256 __A) { return (__m256) __builtin_ia32_getexpps256_mask ((__v8sf) __A, (__v8sf) _mm256_setzero_ps (), (__mmask8) -1); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_getexp_ps (__m256 __W, __mmask8 __U, __m256 __A) { return (__m256) __builtin_ia32_getexpps256_mask ((__v8sf) __A, (__v8sf) __W, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_getexp_ps (__mmask8 __U, __m256 __A) { return (__m256) __builtin_ia32_getexpps256_mask ((__v8sf) __A, (__v8sf) _mm256_setzero_ps (), (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_getexp_pd (__m256d __A) { return (__m256d) __builtin_ia32_getexppd256_mask ((__v4df) __A, (__v4df) _mm256_setzero_pd (), (__mmask8) -1); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_getexp_pd (__m256d __W, __mmask8 __U, __m256d __A) { return (__m256d) __builtin_ia32_getexppd256_mask ((__v4df) __A, (__v4df) __W, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_getexp_pd (__mmask8 __U, __m256d __A) { return (__m256d) __builtin_ia32_getexppd256_mask ((__v4df) __A, (__v4df) _mm256_setzero_pd (), (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_getexp_ps (__m128 __A) { return (__m128) __builtin_ia32_getexpps128_mask ((__v4sf) __A, (__v4sf) _mm_setzero_ps (), (__mmask8) -1); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_getexp_ps (__m128 __W, __mmask8 __U, __m128 __A) { return (__m128) __builtin_ia32_getexpps128_mask ((__v4sf) __A, (__v4sf) __W, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_getexp_ps (__mmask8 __U, __m128 __A) { return (__m128) __builtin_ia32_getexpps128_mask ((__v4sf) __A, (__v4sf) _mm_setzero_ps (), (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_getexp_pd (__m128d __A) { return (__m128d) __builtin_ia32_getexppd128_mask ((__v2df) __A, (__v2df) _mm_setzero_pd (), (__mmask8) -1); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_getexp_pd (__m128d __W, __mmask8 __U, __m128d __A) { return (__m128d) __builtin_ia32_getexppd128_mask ((__v2df) __A, (__v2df) __W, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_getexp_pd (__mmask8 __U, __m128d __A) { return (__m128d) __builtin_ia32_getexppd128_mask ((__v2df) __A, (__v2df) _mm_setzero_pd (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_srl_epi32 (__m256i __W, __mmask8 __U, __m256i __A, __m128i __B) { return (__m256i) __builtin_ia32_psrld256_mask ((__v8si) __A, (__v4si) __B, (__v8si) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_srl_epi32 (__mmask8 __U, __m256i __A, __m128i __B) { return (__m256i) __builtin_ia32_psrld256_mask ((__v8si) __A, (__v4si) __B, (__v8si) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_srl_epi32 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_psrld128_mask ((__v4si) __A, (__v4si) __B, (__v4si) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_srl_epi32 (__mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_psrld128_mask ((__v4si) __A, (__v4si) __B, (__v4si) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_srl_epi64 (__m256i __W, __mmask8 __U, __m256i __A, __m128i __B) { return (__m256i) __builtin_ia32_psrlq256_mask ((__v4di) __A, (__v2di) __B, (__v4di) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_srl_epi64 (__mmask8 __U, __m256i __A, __m128i __B) { return (__m256i) __builtin_ia32_psrlq256_mask ((__v4di) __A, (__v2di) __B, (__v4di) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_srl_epi64 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_psrlq128_mask ((__v2di) __A, (__v2di) __B, (__v2di) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_srl_epi64 (__mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_psrlq128_mask ((__v2di) __A, (__v2di) __B, (__v2di) _mm_setzero_di (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_and_epi32 (__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pandd256_mask ((__v8si) __A, (__v8si) __B, (__v8si) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_and_epi32 (__mmask8 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pandd256_mask ((__v8si) __A, (__v8si) __B, (__v8si) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_scalef_pd (__m256d __A, __m256d __B) { return (__m256d) __builtin_ia32_scalefpd256_mask ((__v4df) __A, (__v4df) __B, (__v4df) _mm256_setzero_pd (), (__mmask8) -1); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_scalef_pd (__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) { return (__m256d) __builtin_ia32_scalefpd256_mask ((__v4df) __A, (__v4df) __B, (__v4df) __W, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_scalef_pd (__mmask8 __U, __m256d __A, __m256d __B) { return (__m256d) __builtin_ia32_scalefpd256_mask ((__v4df) __A, (__v4df) __B, (__v4df) _mm256_setzero_pd (), (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_scalef_ps (__m256 __A, __m256 __B) { return (__m256) __builtin_ia32_scalefps256_mask ((__v8sf) __A, (__v8sf) __B, (__v8sf) _mm256_setzero_ps (), (__mmask8) -1); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_scalef_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) { return (__m256) __builtin_ia32_scalefps256_mask ((__v8sf) __A, (__v8sf) __B, (__v8sf) __W, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_scalef_ps (__mmask8 __U, __m256 __A, __m256 __B) { return (__m256) __builtin_ia32_scalefps256_mask ((__v8sf) __A, (__v8sf) __B, (__v8sf) _mm256_setzero_ps (), (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_scalef_pd (__m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_scalefpd128_mask ((__v2df) __A, (__v2df) __B, (__v2df) _mm_setzero_pd (), (__mmask8) -1); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_scalef_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_scalefpd128_mask ((__v2df) __A, (__v2df) __B, (__v2df) __W, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_scalef_pd (__mmask8 __U, __m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_scalefpd128_mask ((__v2df) __A, (__v2df) __B, (__v2df) _mm_setzero_pd (), (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_scalef_ps (__m128 __A, __m128 __B) { return (__m128) __builtin_ia32_scalefps128_mask ((__v4sf) __A, (__v4sf) __B, (__v4sf) _mm_setzero_ps (), (__mmask8) -1); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_scalef_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) { return (__m128) __builtin_ia32_scalefps128_mask ((__v4sf) __A, (__v4sf) __B, (__v4sf) __W, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_scalef_ps (__mmask8 __U, __m128 __A, __m128 __B) { return (__m128) __builtin_ia32_scalefps128_mask ((__v4sf) __A, (__v4sf) __B, (__v4sf) _mm_setzero_ps (), (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_fmadd_pd (__m256d __A, __mmask8 __U, __m256d __B, __m256d __C) { return (__m256d) __builtin_ia32_vfmaddpd256_mask ((__v4df) __A, (__v4df) __B, (__v4df) __C, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask3_fmadd_pd (__m256d __A, __m256d __B, __m256d __C, __mmask8 __U) { return (__m256d) __builtin_ia32_vfmaddpd256_mask3 ((__v4df) __A, (__v4df) __B, (__v4df) __C, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_fmadd_pd (__mmask8 __U, __m256d __A, __m256d __B, __m256d __C) { return (__m256d) __builtin_ia32_vfmaddpd256_maskz ((__v4df) __A, (__v4df) __B, (__v4df) __C, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_fmadd_pd (__m128d __A, __mmask8 __U, __m128d __B, __m128d __C) { return (__m128d) __builtin_ia32_vfmaddpd128_mask ((__v2df) __A, (__v2df) __B, (__v2df) __C, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask3_fmadd_pd (__m128d __A, __m128d __B, __m128d __C, __mmask8 __U) { return (__m128d) __builtin_ia32_vfmaddpd128_mask3 ((__v2df) __A, (__v2df) __B, (__v2df) __C, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_fmadd_pd (__mmask8 __U, __m128d __A, __m128d __B, __m128d __C) { return (__m128d) __builtin_ia32_vfmaddpd128_maskz ((__v2df) __A, (__v2df) __B, (__v2df) __C, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_fmadd_ps (__m256 __A, __mmask8 __U, __m256 __B, __m256 __C) { return (__m256) __builtin_ia32_vfmaddps256_mask ((__v8sf) __A, (__v8sf) __B, (__v8sf) __C, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask3_fmadd_ps (__m256 __A, __m256 __B, __m256 __C, __mmask8 __U) { return (__m256) __builtin_ia32_vfmaddps256_mask3 ((__v8sf) __A, (__v8sf) __B, (__v8sf) __C, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_fmadd_ps (__mmask8 __U, __m256 __A, __m256 __B, __m256 __C) { return (__m256) __builtin_ia32_vfmaddps256_maskz ((__v8sf) __A, (__v8sf) __B, (__v8sf) __C, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_fmadd_ps (__m128 __A, __mmask8 __U, __m128 __B, __m128 __C) { return (__m128) __builtin_ia32_vfmaddps128_mask ((__v4sf) __A, (__v4sf) __B, (__v4sf) __C, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask3_fmadd_ps (__m128 __A, __m128 __B, __m128 __C, __mmask8 __U) { return (__m128) __builtin_ia32_vfmaddps128_mask3 ((__v4sf) __A, (__v4sf) __B, (__v4sf) __C, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_fmadd_ps (__mmask8 __U, __m128 __A, __m128 __B, __m128 __C) { return (__m128) __builtin_ia32_vfmaddps128_maskz ((__v4sf) __A, (__v4sf) __B, (__v4sf) __C, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_fmsub_pd (__m256d __A, __mmask8 __U, __m256d __B, __m256d __C) { return (__m256d) __builtin_ia32_vfmaddpd256_mask ((__v4df) __A, (__v4df) __B, -(__v4df) __C, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask3_fmsub_pd (__m256d __A, __m256d __B, __m256d __C, __mmask8 __U) { return (__m256d) __builtin_ia32_vfmsubpd256_mask3 ((__v4df) __A, (__v4df) __B, (__v4df) __C, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_fmsub_pd (__mmask8 __U, __m256d __A, __m256d __B, __m256d __C) { return (__m256d) __builtin_ia32_vfmaddpd256_maskz ((__v4df) __A, (__v4df) __B, -(__v4df) __C, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_fmsub_pd (__m128d __A, __mmask8 __U, __m128d __B, __m128d __C) { return (__m128d) __builtin_ia32_vfmaddpd128_mask ((__v2df) __A, (__v2df) __B, -(__v2df) __C, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask3_fmsub_pd (__m128d __A, __m128d __B, __m128d __C, __mmask8 __U) { return (__m128d) __builtin_ia32_vfmsubpd128_mask3 ((__v2df) __A, (__v2df) __B, (__v2df) __C, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_fmsub_pd (__mmask8 __U, __m128d __A, __m128d __B, __m128d __C) { return (__m128d) __builtin_ia32_vfmaddpd128_maskz ((__v2df) __A, (__v2df) __B, -(__v2df) __C, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_fmsub_ps (__m256 __A, __mmask8 __U, __m256 __B, __m256 __C) { return (__m256) __builtin_ia32_vfmaddps256_mask ((__v8sf) __A, (__v8sf) __B, -(__v8sf) __C, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask3_fmsub_ps (__m256 __A, __m256 __B, __m256 __C, __mmask8 __U) { return (__m256) __builtin_ia32_vfmsubps256_mask3 ((__v8sf) __A, (__v8sf) __B, (__v8sf) __C, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_fmsub_ps (__mmask8 __U, __m256 __A, __m256 __B, __m256 __C) { return (__m256) __builtin_ia32_vfmaddps256_maskz ((__v8sf) __A, (__v8sf) __B, -(__v8sf) __C, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_fmsub_ps (__m128 __A, __mmask8 __U, __m128 __B, __m128 __C) { return (__m128) __builtin_ia32_vfmaddps128_mask ((__v4sf) __A, (__v4sf) __B, -(__v4sf) __C, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask3_fmsub_ps (__m128 __A, __m128 __B, __m128 __C, __mmask8 __U) { return (__m128) __builtin_ia32_vfmsubps128_mask3 ((__v4sf) __A, (__v4sf) __B, (__v4sf) __C, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_fmsub_ps (__mmask8 __U, __m128 __A, __m128 __B, __m128 __C) { return (__m128) __builtin_ia32_vfmaddps128_maskz ((__v4sf) __A, (__v4sf) __B, -(__v4sf) __C, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_fmaddsub_pd (__m256d __A, __mmask8 __U, __m256d __B, __m256d __C) { return (__m256d) __builtin_ia32_vfmaddsubpd256_mask ((__v4df) __A, (__v4df) __B, (__v4df) __C, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask3_fmaddsub_pd (__m256d __A, __m256d __B, __m256d __C, __mmask8 __U) { return (__m256d) __builtin_ia32_vfmaddsubpd256_mask3 ((__v4df) __A, (__v4df) __B, (__v4df) __C, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_fmaddsub_pd (__mmask8 __U, __m256d __A, __m256d __B, __m256d __C) { return (__m256d) __builtin_ia32_vfmaddsubpd256_maskz ((__v4df) __A, (__v4df) __B, (__v4df) __C, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_fmaddsub_pd (__m128d __A, __mmask8 __U, __m128d __B, __m128d __C) { return (__m128d) __builtin_ia32_vfmaddsubpd128_mask ((__v2df) __A, (__v2df) __B, (__v2df) __C, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask3_fmaddsub_pd (__m128d __A, __m128d __B, __m128d __C, __mmask8 __U) { return (__m128d) __builtin_ia32_vfmaddsubpd128_mask3 ((__v2df) __A, (__v2df) __B, (__v2df) __C, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_fmaddsub_pd (__mmask8 __U, __m128d __A, __m128d __B, __m128d __C) { return (__m128d) __builtin_ia32_vfmaddsubpd128_maskz ((__v2df) __A, (__v2df) __B, (__v2df) __C, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_fmaddsub_ps (__m256 __A, __mmask8 __U, __m256 __B, __m256 __C) { return (__m256) __builtin_ia32_vfmaddsubps256_mask ((__v8sf) __A, (__v8sf) __B, (__v8sf) __C, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask3_fmaddsub_ps (__m256 __A, __m256 __B, __m256 __C, __mmask8 __U) { return (__m256) __builtin_ia32_vfmaddsubps256_mask3 ((__v8sf) __A, (__v8sf) __B, (__v8sf) __C, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_fmaddsub_ps (__mmask8 __U, __m256 __A, __m256 __B, __m256 __C) { return (__m256) __builtin_ia32_vfmaddsubps256_maskz ((__v8sf) __A, (__v8sf) __B, (__v8sf) __C, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_fmaddsub_ps (__m128 __A, __mmask8 __U, __m128 __B, __m128 __C) { return (__m128) __builtin_ia32_vfmaddsubps128_mask ((__v4sf) __A, (__v4sf) __B, (__v4sf) __C, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask3_fmaddsub_ps (__m128 __A, __m128 __B, __m128 __C, __mmask8 __U) { return (__m128) __builtin_ia32_vfmaddsubps128_mask3 ((__v4sf) __A, (__v4sf) __B, (__v4sf) __C, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_fmaddsub_ps (__mmask8 __U, __m128 __A, __m128 __B, __m128 __C) { return (__m128) __builtin_ia32_vfmaddsubps128_maskz ((__v4sf) __A, (__v4sf) __B, (__v4sf) __C, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_fmsubadd_pd (__m256d __A, __mmask8 __U, __m256d __B, __m256d __C) { return (__m256d) __builtin_ia32_vfmaddsubpd256_mask ((__v4df) __A, (__v4df) __B, -(__v4df) __C, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask3_fmsubadd_pd (__m256d __A, __m256d __B, __m256d __C, __mmask8 __U) { return (__m256d) __builtin_ia32_vfmsubaddpd256_mask3 ((__v4df) __A, (__v4df) __B, (__v4df) __C, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_fmsubadd_pd (__mmask8 __U, __m256d __A, __m256d __B, __m256d __C) { return (__m256d) __builtin_ia32_vfmaddsubpd256_maskz ((__v4df) __A, (__v4df) __B, -(__v4df) __C, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_fmsubadd_pd (__m128d __A, __mmask8 __U, __m128d __B, __m128d __C) { return (__m128d) __builtin_ia32_vfmaddsubpd128_mask ((__v2df) __A, (__v2df) __B, -(__v2df) __C, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask3_fmsubadd_pd (__m128d __A, __m128d __B, __m128d __C, __mmask8 __U) { return (__m128d) __builtin_ia32_vfmsubaddpd128_mask3 ((__v2df) __A, (__v2df) __B, (__v2df) __C, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_fmsubadd_pd (__mmask8 __U, __m128d __A, __m128d __B, __m128d __C) { return (__m128d) __builtin_ia32_vfmaddsubpd128_maskz ((__v2df) __A, (__v2df) __B, -(__v2df) __C, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_fmsubadd_ps (__m256 __A, __mmask8 __U, __m256 __B, __m256 __C) { return (__m256) __builtin_ia32_vfmaddsubps256_mask ((__v8sf) __A, (__v8sf) __B, -(__v8sf) __C, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask3_fmsubadd_ps (__m256 __A, __m256 __B, __m256 __C, __mmask8 __U) { return (__m256) __builtin_ia32_vfmsubaddps256_mask3 ((__v8sf) __A, (__v8sf) __B, (__v8sf) __C, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_fmsubadd_ps (__mmask8 __U, __m256 __A, __m256 __B, __m256 __C) { return (__m256) __builtin_ia32_vfmaddsubps256_maskz ((__v8sf) __A, (__v8sf) __B, -(__v8sf) __C, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_fmsubadd_ps (__m128 __A, __mmask8 __U, __m128 __B, __m128 __C) { return (__m128) __builtin_ia32_vfmaddsubps128_mask ((__v4sf) __A, (__v4sf) __B, -(__v4sf) __C, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask3_fmsubadd_ps (__m128 __A, __m128 __B, __m128 __C, __mmask8 __U) { return (__m128) __builtin_ia32_vfmsubaddps128_mask3 ((__v4sf) __A, (__v4sf) __B, (__v4sf) __C, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_fmsubadd_ps (__mmask8 __U, __m128 __A, __m128 __B, __m128 __C) { return (__m128) __builtin_ia32_vfmaddsubps128_maskz ((__v4sf) __A, (__v4sf) __B, -(__v4sf) __C, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_fnmadd_pd (__m256d __A, __mmask8 __U, __m256d __B, __m256d __C) { return (__m256d) __builtin_ia32_vfnmaddpd256_mask ((__v4df) __A, (__v4df) __B, (__v4df) __C, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask3_fnmadd_pd (__m256d __A, __m256d __B, __m256d __C, __mmask8 __U) { return (__m256d) __builtin_ia32_vfmaddpd256_mask3 (-(__v4df) __A, (__v4df) __B, (__v4df) __C, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_fnmadd_pd (__mmask8 __U, __m256d __A, __m256d __B, __m256d __C) { return (__m256d) __builtin_ia32_vfmaddpd256_maskz (-(__v4df) __A, (__v4df) __B, (__v4df) __C, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_fnmadd_pd (__m128d __A, __mmask8 __U, __m128d __B, __m128d __C) { return (__m128d) __builtin_ia32_vfnmaddpd128_mask ((__v2df) __A, (__v2df) __B, (__v2df) __C, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask3_fnmadd_pd (__m128d __A, __m128d __B, __m128d __C, __mmask8 __U) { return (__m128d) __builtin_ia32_vfmaddpd128_mask3 (-(__v2df) __A, (__v2df) __B, (__v2df) __C, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_fnmadd_pd (__mmask8 __U, __m128d __A, __m128d __B, __m128d __C) { return (__m128d) __builtin_ia32_vfmaddpd128_maskz (-(__v2df) __A, (__v2df) __B, (__v2df) __C, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_fnmadd_ps (__m256 __A, __mmask8 __U, __m256 __B, __m256 __C) { return (__m256) __builtin_ia32_vfnmaddps256_mask ((__v8sf) __A, (__v8sf) __B, (__v8sf) __C, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask3_fnmadd_ps (__m256 __A, __m256 __B, __m256 __C, __mmask8 __U) { return (__m256) __builtin_ia32_vfmaddps256_mask3 (-(__v8sf) __A, (__v8sf) __B, (__v8sf) __C, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_fnmadd_ps (__mmask8 __U, __m256 __A, __m256 __B, __m256 __C) { return (__m256) __builtin_ia32_vfmaddps256_maskz (-(__v8sf) __A, (__v8sf) __B, (__v8sf) __C, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_fnmadd_ps (__m128 __A, __mmask8 __U, __m128 __B, __m128 __C) { return (__m128) __builtin_ia32_vfnmaddps128_mask ((__v4sf) __A, (__v4sf) __B, (__v4sf) __C, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask3_fnmadd_ps (__m128 __A, __m128 __B, __m128 __C, __mmask8 __U) { return (__m128) __builtin_ia32_vfmaddps128_mask3 (-(__v4sf) __A, (__v4sf) __B, (__v4sf) __C, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_fnmadd_ps (__mmask8 __U, __m128 __A, __m128 __B, __m128 __C) { return (__m128) __builtin_ia32_vfmaddps128_maskz (-(__v4sf) __A, (__v4sf) __B, (__v4sf) __C, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_fnmsub_pd (__m256d __A, __mmask8 __U, __m256d __B, __m256d __C) { return (__m256d) __builtin_ia32_vfnmsubpd256_mask ((__v4df) __A, (__v4df) __B, (__v4df) __C, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask3_fnmsub_pd (__m256d __A, __m256d __B, __m256d __C, __mmask8 __U) { return (__m256d) __builtin_ia32_vfnmsubpd256_mask3 ((__v4df) __A, (__v4df) __B, (__v4df) __C, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_fnmsub_pd (__mmask8 __U, __m256d __A, __m256d __B, __m256d __C) { return (__m256d) __builtin_ia32_vfmaddpd256_maskz (-(__v4df) __A, (__v4df) __B, -(__v4df) __C, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_fnmsub_pd (__m128d __A, __mmask8 __U, __m128d __B, __m128d __C) { return (__m128d) __builtin_ia32_vfnmsubpd128_mask ((__v2df) __A, (__v2df) __B, (__v2df) __C, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask3_fnmsub_pd (__m128d __A, __m128d __B, __m128d __C, __mmask8 __U) { return (__m128d) __builtin_ia32_vfnmsubpd128_mask3 ((__v2df) __A, (__v2df) __B, (__v2df) __C, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_fnmsub_pd (__mmask8 __U, __m128d __A, __m128d __B, __m128d __C) { return (__m128d) __builtin_ia32_vfmaddpd128_maskz (-(__v2df) __A, (__v2df) __B, -(__v2df) __C, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_fnmsub_ps (__m256 __A, __mmask8 __U, __m256 __B, __m256 __C) { return (__m256) __builtin_ia32_vfnmsubps256_mask ((__v8sf) __A, (__v8sf) __B, (__v8sf) __C, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask3_fnmsub_ps (__m256 __A, __m256 __B, __m256 __C, __mmask8 __U) { return (__m256) __builtin_ia32_vfnmsubps256_mask3 ((__v8sf) __A, (__v8sf) __B, (__v8sf) __C, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_fnmsub_ps (__mmask8 __U, __m256 __A, __m256 __B, __m256 __C) { return (__m256) __builtin_ia32_vfmaddps256_maskz (-(__v8sf) __A, (__v8sf) __B, -(__v8sf) __C, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_fnmsub_ps (__m128 __A, __mmask8 __U, __m128 __B, __m128 __C) { return (__m128) __builtin_ia32_vfnmsubps128_mask ((__v4sf) __A, (__v4sf) __B, (__v4sf) __C, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask3_fnmsub_ps (__m128 __A, __m128 __B, __m128 __C, __mmask8 __U) { return (__m128) __builtin_ia32_vfnmsubps128_mask3 ((__v4sf) __A, (__v4sf) __B, (__v4sf) __C, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_fnmsub_ps (__mmask8 __U, __m128 __A, __m128 __B, __m128 __C) { return (__m128) __builtin_ia32_vfmaddps128_maskz (-(__v4sf) __A, (__v4sf) __B, -(__v4sf) __C, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_and_epi32 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pandd128_mask ((__v4si) __A, (__v4si) __B, (__v4si) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_and_epi32 (__mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pandd128_mask ((__v4si) __A, (__v4si) __B, (__v4si) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_andnot_epi32 (__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pandnd256_mask ((__v8si) __A, (__v8si) __B, (__v8si) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_andnot_epi32 (__mmask8 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pandnd256_mask ((__v8si) __A, (__v8si) __B, (__v8si) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_andnot_epi32 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pandnd128_mask ((__v4si) __A, (__v4si) __B, (__v4si) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_andnot_epi32 (__mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pandnd128_mask ((__v4si) __A, (__v4si) __B, (__v4si) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_or_epi32 (__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pord256_mask ((__v8si) __A, (__v8si) __B, (__v8si) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_or_epi32 (__mmask8 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pord256_mask ((__v8si) __A, (__v8si) __B, (__v8si) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_or_epi32 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pord128_mask ((__v4si) __A, (__v4si) __B, (__v4si) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_or_epi32 (__mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pord128_mask ((__v4si) __A, (__v4si) __B, (__v4si) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_xor_epi32 (__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pxord256_mask ((__v8si) __A, (__v8si) __B, (__v8si) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_xor_epi32 (__mmask8 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pxord256_mask ((__v8si) __A, (__v8si) __B, (__v8si) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_xor_epi32 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pxord128_mask ((__v4si) __A, (__v4si) __B, (__v4si) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_xor_epi32 (__mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pxord128_mask ((__v4si) __A, (__v4si) __B, (__v4si) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtpd_ps (__m128 __W, __mmask8 __U, __m128d __A) { return (__m128) __builtin_ia32_cvtpd2ps_mask ((__v2df) __A, (__v4sf) __W, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_cvtpd_ps (__mmask8 __U, __m128d __A) { return (__m128) __builtin_ia32_cvtpd2ps_mask ((__v2df) __A, (__v4sf) _mm_setzero_ps (), (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtpd_ps (__m128 __W, __mmask8 __U, __m256d __A) { return (__m128) __builtin_ia32_cvtpd2ps256_mask ((__v4df) __A, (__v4sf) __W, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_cvtpd_ps (__mmask8 __U, __m256d __A) { return (__m128) __builtin_ia32_cvtpd2ps256_mask ((__v4df) __A, (__v4sf) _mm_setzero_ps (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtps_epi32 (__m256i __W, __mmask8 __U, __m256 __A) { return (__m256i) __builtin_ia32_cvtps2dq256_mask ((__v8sf) __A, (__v8si) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_cvtps_epi32 (__mmask8 __U, __m256 __A) { return (__m256i) __builtin_ia32_cvtps2dq256_mask ((__v8sf) __A, (__v8si) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtps_epi32 (__m128i __W, __mmask8 __U, __m128 __A) { return (__m128i) __builtin_ia32_cvtps2dq128_mask ((__v4sf) __A, (__v4si) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_cvtps_epi32 (__mmask8 __U, __m128 __A) { return (__m128i) __builtin_ia32_cvtps2dq128_mask ((__v4sf) __A, (__v4si) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cvtps_epu32 (__m256 __A) { return (__m256i) __builtin_ia32_cvtps2udq256_mask ((__v8sf) __A, (__v8si) _mm256_setzero_si256 (), (__mmask8) -1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtps_epu32 (__m256i __W, __mmask8 __U, __m256 __A) { return (__m256i) __builtin_ia32_cvtps2udq256_mask ((__v8sf) __A, (__v8si) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_cvtps_epu32 (__mmask8 __U, __m256 __A) { return (__m256i) __builtin_ia32_cvtps2udq256_mask ((__v8sf) __A, (__v8si) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtps_epu32 (__m128 __A) { return (__m128i) __builtin_ia32_cvtps2udq128_mask ((__v4sf) __A, (__v4si) _mm_setzero_si128 (), (__mmask8) -1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtps_epu32 (__m128i __W, __mmask8 __U, __m128 __A) { return (__m128i) __builtin_ia32_cvtps2udq128_mask ((__v4sf) __A, (__v4si) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_cvtps_epu32 (__mmask8 __U, __m128 __A) { return (__m128i) __builtin_ia32_cvtps2udq128_mask ((__v4sf) __A, (__v4si) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_movedup_pd (__m256d __W, __mmask8 __U, __m256d __A) { return (__m256d) __builtin_ia32_movddup256_mask ((__v4df) __A, (__v4df) __W, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_movedup_pd (__mmask8 __U, __m256d __A) { return (__m256d) __builtin_ia32_movddup256_mask ((__v4df) __A, (__v4df) _mm256_setzero_pd (), (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_movedup_pd (__m128d __W, __mmask8 __U, __m128d __A) { return (__m128d) __builtin_ia32_movddup128_mask ((__v2df) __A, (__v2df) __W, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_movedup_pd (__mmask8 __U, __m128d __A) { return (__m128d) __builtin_ia32_movddup128_mask ((__v2df) __A, (__v2df) _mm_setzero_pd (), (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_movehdup_ps (__m256 __W, __mmask8 __U, __m256 __A) { return (__m256) __builtin_ia32_movshdup256_mask ((__v8sf) __A, (__v8sf) __W, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_movehdup_ps (__mmask8 __U, __m256 __A) { return (__m256) __builtin_ia32_movshdup256_mask ((__v8sf) __A, (__v8sf) _mm256_setzero_ps (), (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_movehdup_ps (__m128 __W, __mmask8 __U, __m128 __A) { return (__m128) __builtin_ia32_movshdup128_mask ((__v4sf) __A, (__v4sf) __W, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_movehdup_ps (__mmask8 __U, __m128 __A) { return (__m128) __builtin_ia32_movshdup128_mask ((__v4sf) __A, (__v4sf) _mm_setzero_ps (), (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_moveldup_ps (__m256 __W, __mmask8 __U, __m256 __A) { return (__m256) __builtin_ia32_movsldup256_mask ((__v8sf) __A, (__v8sf) __W, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_moveldup_ps (__mmask8 __U, __m256 __A) { return (__m256) __builtin_ia32_movsldup256_mask ((__v8sf) __A, (__v8sf) _mm256_setzero_ps (), (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_moveldup_ps (__m128 __W, __mmask8 __U, __m128 __A) { return (__m128) __builtin_ia32_movsldup128_mask ((__v4sf) __A, (__v4sf) __W, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_moveldup_ps (__mmask8 __U, __m128 __A) { return (__m128) __builtin_ia32_movsldup128_mask ((__v4sf) __A, (__v4sf) _mm_setzero_ps (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_unpackhi_epi32 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_punpckhdq128_mask ((__v4si) __A, (__v4si) __B, (__v4si) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_unpackhi_epi32 (__mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_punpckhdq128_mask ((__v4si) __A, (__v4si) __B, (__v4si) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_unpackhi_epi32 (__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_punpckhdq256_mask ((__v8si) __A, (__v8si) __B, (__v8si) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_unpackhi_epi32 (__mmask8 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_punpckhdq256_mask ((__v8si) __A, (__v8si) __B, (__v8si) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_unpackhi_epi64 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_punpckhqdq128_mask ((__v2di) __A, (__v2di) __B, (__v2di) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_unpackhi_epi64 (__mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_punpckhqdq128_mask ((__v2di) __A, (__v2di) __B, (__v2di) _mm_setzero_di (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_unpackhi_epi64 (__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_punpckhqdq256_mask ((__v4di) __A, (__v4di) __B, (__v4di) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_unpackhi_epi64 (__mmask8 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_punpckhqdq256_mask ((__v4di) __A, (__v4di) __B, (__v4di) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_unpacklo_epi32 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_punpckldq128_mask ((__v4si) __A, (__v4si) __B, (__v4si) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_unpacklo_epi32 (__mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_punpckldq128_mask ((__v4si) __A, (__v4si) __B, (__v4si) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_unpacklo_epi32 (__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_punpckldq256_mask ((__v8si) __A, (__v8si) __B, (__v8si) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_unpacklo_epi32 (__mmask8 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_punpckldq256_mask ((__v8si) __A, (__v8si) __B, (__v8si) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_unpacklo_epi64 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_punpcklqdq128_mask ((__v2di) __A, (__v2di) __B, (__v2di) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_unpacklo_epi64 (__mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_punpcklqdq128_mask ((__v2di) __A, (__v2di) __B, (__v2di) _mm_setzero_di (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_unpacklo_epi64 (__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_punpcklqdq256_mask ((__v4di) __A, (__v4di) __B, (__v4di) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_unpacklo_epi64 (__mmask8 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_punpcklqdq256_mask ((__v4di) __A, (__v4di) __B, (__v4di) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpeq_epu32_mask (__m128i __A, __m128i __B) { return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __A, (__v4si) __B, 0, (__mmask8) -1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpeq_epi32_mask (__m128i __A, __m128i __B) { return (__mmask8) __builtin_ia32_pcmpeqd128_mask ((__v4si) __A, (__v4si) __B, (__mmask8) -1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cmpeq_epu32_mask (__mmask8 __U, __m128i __A, __m128i __B) { return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __A, (__v4si) __B, 0, __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cmpeq_epi32_mask (__mmask8 __U, __m128i __A, __m128i __B) { return (__mmask8) __builtin_ia32_pcmpeqd128_mask ((__v4si) __A, (__v4si) __B, __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmpeq_epu32_mask (__m256i __A, __m256i __B) { return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __A, (__v8si) __B, 0, (__mmask8) -1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmpeq_epi32_mask (__m256i __A, __m256i __B) { return (__mmask8) __builtin_ia32_pcmpeqd256_mask ((__v8si) __A, (__v8si) __B, (__mmask8) -1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmpeq_epu32_mask (__mmask8 __U, __m256i __A, __m256i __B) { return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __A, (__v8si) __B, 0, __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmpeq_epi32_mask (__mmask8 __U, __m256i __A, __m256i __B) { return (__mmask8) __builtin_ia32_pcmpeqd256_mask ((__v8si) __A, (__v8si) __B, __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpeq_epu64_mask (__m128i __A, __m128i __B) { return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __A, (__v2di) __B, 0, (__mmask8) -1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpeq_epi64_mask (__m128i __A, __m128i __B) { return (__mmask8) __builtin_ia32_pcmpeqq128_mask ((__v2di) __A, (__v2di) __B, (__mmask8) -1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cmpeq_epu64_mask (__mmask8 __U, __m128i __A, __m128i __B) { return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __A, (__v2di) __B, 0, __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cmpeq_epi64_mask (__mmask8 __U, __m128i __A, __m128i __B) { return (__mmask8) __builtin_ia32_pcmpeqq128_mask ((__v2di) __A, (__v2di) __B, __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmpeq_epu64_mask (__m256i __A, __m256i __B) { return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __A, (__v4di) __B, 0, (__mmask8) -1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmpeq_epi64_mask (__m256i __A, __m256i __B) { return (__mmask8) __builtin_ia32_pcmpeqq256_mask ((__v4di) __A, (__v4di) __B, (__mmask8) -1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmpeq_epu64_mask (__mmask8 __U, __m256i __A, __m256i __B) { return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __A, (__v4di) __B, 0, __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmpeq_epi64_mask (__mmask8 __U, __m256i __A, __m256i __B) { return (__mmask8) __builtin_ia32_pcmpeqq256_mask ((__v4di) __A, (__v4di) __B, __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpgt_epu32_mask (__m128i __A, __m128i __B) { return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __A, (__v4si) __B, 6, (__mmask8) -1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpgt_epi32_mask (__m128i __A, __m128i __B) { return (__mmask8) __builtin_ia32_pcmpgtd128_mask ((__v4si) __A, (__v4si) __B, (__mmask8) -1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cmpgt_epu32_mask (__mmask8 __U, __m128i __A, __m128i __B) { return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __A, (__v4si) __B, 6, __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cmpgt_epi32_mask (__mmask8 __U, __m128i __A, __m128i __B) { return (__mmask8) __builtin_ia32_pcmpgtd128_mask ((__v4si) __A, (__v4si) __B, __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmpgt_epu32_mask (__m256i __A, __m256i __B) { return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __A, (__v8si) __B, 6, (__mmask8) -1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmpgt_epi32_mask (__m256i __A, __m256i __B) { return (__mmask8) __builtin_ia32_pcmpgtd256_mask ((__v8si) __A, (__v8si) __B, (__mmask8) -1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmpgt_epu32_mask (__mmask8 __U, __m256i __A, __m256i __B) { return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __A, (__v8si) __B, 6, __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmpgt_epi32_mask (__mmask8 __U, __m256i __A, __m256i __B) { return (__mmask8) __builtin_ia32_pcmpgtd256_mask ((__v8si) __A, (__v8si) __B, __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpgt_epu64_mask (__m128i __A, __m128i __B) { return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __A, (__v2di) __B, 6, (__mmask8) -1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpgt_epi64_mask (__m128i __A, __m128i __B) { return (__mmask8) __builtin_ia32_pcmpgtq128_mask ((__v2di) __A, (__v2di) __B, (__mmask8) -1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cmpgt_epu64_mask (__mmask8 __U, __m128i __A, __m128i __B) { return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __A, (__v2di) __B, 6, __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cmpgt_epi64_mask (__mmask8 __U, __m128i __A, __m128i __B) { return (__mmask8) __builtin_ia32_pcmpgtq128_mask ((__v2di) __A, (__v2di) __B, __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmpgt_epu64_mask (__m256i __A, __m256i __B) { return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __A, (__v4di) __B, 6, (__mmask8) -1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmpgt_epi64_mask (__m256i __A, __m256i __B) { return (__mmask8) __builtin_ia32_pcmpgtq256_mask ((__v4di) __A, (__v4di) __B, (__mmask8) -1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmpgt_epu64_mask (__mmask8 __U, __m256i __A, __m256i __B) { return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __A, (__v4di) __B, 6, __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmpgt_epi64_mask (__mmask8 __U, __m256i __A, __m256i __B) { return (__mmask8) __builtin_ia32_pcmpgtq256_mask ((__v4di) __A, (__v4di) __B, __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_test_epi32_mask (__m128i __A, __m128i __B) { return (__mmask8) __builtin_ia32_ptestmd128 ((__v4si) __A, (__v4si) __B, (__mmask8) -1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_test_epi32_mask (__mmask8 __U, __m128i __A, __m128i __B) { return (__mmask8) __builtin_ia32_ptestmd128 ((__v4si) __A, (__v4si) __B, __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_test_epi32_mask (__m256i __A, __m256i __B) { return (__mmask8) __builtin_ia32_ptestmd256 ((__v8si) __A, (__v8si) __B, (__mmask8) -1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_test_epi32_mask (__mmask8 __U, __m256i __A, __m256i __B) { return (__mmask8) __builtin_ia32_ptestmd256 ((__v8si) __A, (__v8si) __B, __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_test_epi64_mask (__m128i __A, __m128i __B) { return (__mmask8) __builtin_ia32_ptestmq128 ((__v2di) __A, (__v2di) __B, (__mmask8) -1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_test_epi64_mask (__mmask8 __U, __m128i __A, __m128i __B) { return (__mmask8) __builtin_ia32_ptestmq128 ((__v2di) __A, (__v2di) __B, __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_test_epi64_mask (__m256i __A, __m256i __B) { return (__mmask8) __builtin_ia32_ptestmq256 ((__v4di) __A, (__v4di) __B, (__mmask8) -1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_test_epi64_mask (__mmask8 __U, __m256i __A, __m256i __B) { return (__mmask8) __builtin_ia32_ptestmq256 ((__v4di) __A, (__v4di) __B, __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_testn_epi32_mask (__m128i __A, __m128i __B) { return (__mmask8) __builtin_ia32_ptestnmd128 ((__v4si) __A, (__v4si) __B, (__mmask8) -1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_testn_epi32_mask (__mmask8 __U, __m128i __A, __m128i __B) { return (__mmask8) __builtin_ia32_ptestnmd128 ((__v4si) __A, (__v4si) __B, __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_testn_epi32_mask (__m256i __A, __m256i __B) { return (__mmask8) __builtin_ia32_ptestnmd256 ((__v8si) __A, (__v8si) __B, (__mmask8) -1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_testn_epi32_mask (__mmask8 __U, __m256i __A, __m256i __B) { return (__mmask8) __builtin_ia32_ptestnmd256 ((__v8si) __A, (__v8si) __B, __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_testn_epi64_mask (__m128i __A, __m128i __B) { return (__mmask8) __builtin_ia32_ptestnmq128 ((__v2di) __A, (__v2di) __B, (__mmask8) -1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_testn_epi64_mask (__mmask8 __U, __m128i __A, __m128i __B) { return (__mmask8) __builtin_ia32_ptestnmq128 ((__v2di) __A, (__v2di) __B, __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_testn_epi64_mask (__m256i __A, __m256i __B) { return (__mmask8) __builtin_ia32_ptestnmq256 ((__v4di) __A, (__v4di) __B, (__mmask8) -1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_testn_epi64_mask (__mmask8 __U, __m256i __A, __m256i __B) { return (__mmask8) __builtin_ia32_ptestnmq256 ((__v4di) __A, (__v4di) __B, __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_compress_pd (__m256d __W, __mmask8 __U, __m256d __A) { return (__m256d) __builtin_ia32_compressdf256_mask ((__v4df) __A, (__v4df) __W, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_compress_pd (__mmask8 __U, __m256d __A) { return (__m256d) __builtin_ia32_compressdf256_mask ((__v4df) __A, (__v4df) _mm256_setzero_pd (), (__mmask8) __U); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_compressstoreu_pd (void *__P, __mmask8 __U, __m256d __A) { __builtin_ia32_compressstoredf256_mask ((__v4df *) __P, (__v4df) __A, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_compress_pd (__m128d __W, __mmask8 __U, __m128d __A) { return (__m128d) __builtin_ia32_compressdf128_mask ((__v2df) __A, (__v2df) __W, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_compress_pd (__mmask8 __U, __m128d __A) { return (__m128d) __builtin_ia32_compressdf128_mask ((__v2df) __A, (__v2df) _mm_setzero_pd (), (__mmask8) __U); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_compressstoreu_pd (void *__P, __mmask8 __U, __m128d __A) { __builtin_ia32_compressstoredf128_mask ((__v2df *) __P, (__v2df) __A, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_compress_ps (__m256 __W, __mmask8 __U, __m256 __A) { return (__m256) __builtin_ia32_compresssf256_mask ((__v8sf) __A, (__v8sf) __W, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_compress_ps (__mmask8 __U, __m256 __A) { return (__m256) __builtin_ia32_compresssf256_mask ((__v8sf) __A, (__v8sf) _mm256_setzero_ps (), (__mmask8) __U); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_compressstoreu_ps (void *__P, __mmask8 __U, __m256 __A) { __builtin_ia32_compressstoresf256_mask ((__v8sf *) __P, (__v8sf) __A, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_compress_ps (__m128 __W, __mmask8 __U, __m128 __A) { return (__m128) __builtin_ia32_compresssf128_mask ((__v4sf) __A, (__v4sf) __W, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_compress_ps (__mmask8 __U, __m128 __A) { return (__m128) __builtin_ia32_compresssf128_mask ((__v4sf) __A, (__v4sf) _mm_setzero_ps (), (__mmask8) __U); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_compressstoreu_ps (void *__P, __mmask8 __U, __m128 __A) { __builtin_ia32_compressstoresf128_mask ((__v4sf *) __P, (__v4sf) __A, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_compress_epi64 (__m256i __W, __mmask8 __U, __m256i __A) { return (__m256i) __builtin_ia32_compressdi256_mask ((__v4di) __A, (__v4di) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_compress_epi64 (__mmask8 __U, __m256i __A) { return (__m256i) __builtin_ia32_compressdi256_mask ((__v4di) __A, (__v4di) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_compressstoreu_epi64 (void *__P, __mmask8 __U, __m256i __A) { __builtin_ia32_compressstoredi256_mask ((__v4di *) __P, (__v4di) __A, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_compress_epi64 (__m128i __W, __mmask8 __U, __m128i __A) { return (__m128i) __builtin_ia32_compressdi128_mask ((__v2di) __A, (__v2di) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_compress_epi64 (__mmask8 __U, __m128i __A) { return (__m128i) __builtin_ia32_compressdi128_mask ((__v2di) __A, (__v2di) _mm_setzero_di (), (__mmask8) __U); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_compressstoreu_epi64 (void *__P, __mmask8 __U, __m128i __A) { __builtin_ia32_compressstoredi128_mask ((__v2di *) __P, (__v2di) __A, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_compress_epi32 (__m256i __W, __mmask8 __U, __m256i __A) { return (__m256i) __builtin_ia32_compresssi256_mask ((__v8si) __A, (__v8si) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_compress_epi32 (__mmask8 __U, __m256i __A) { return (__m256i) __builtin_ia32_compresssi256_mask ((__v8si) __A, (__v8si) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_compressstoreu_epi32 (void *__P, __mmask8 __U, __m256i __A) { __builtin_ia32_compressstoresi256_mask ((__v8si *) __P, (__v8si) __A, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_compress_epi32 (__m128i __W, __mmask8 __U, __m128i __A) { return (__m128i) __builtin_ia32_compresssi128_mask ((__v4si) __A, (__v4si) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_compress_epi32 (__mmask8 __U, __m128i __A) { return (__m128i) __builtin_ia32_compresssi128_mask ((__v4si) __A, (__v4si) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_compressstoreu_epi32 (void *__P, __mmask8 __U, __m128i __A) { __builtin_ia32_compressstoresi128_mask ((__v4si *) __P, (__v4si) __A, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_expand_pd (__m256d __W, __mmask8 __U, __m256d __A) { return (__m256d) __builtin_ia32_expanddf256_mask ((__v4df) __A, (__v4df) __W, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_expand_pd (__mmask8 __U, __m256d __A) { return (__m256d) __builtin_ia32_expanddf256_maskz ((__v4df) __A, (__v4df) _mm256_setzero_pd (), (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_expandloadu_pd (__m256d __W, __mmask8 __U, void const *__P) { return (__m256d) __builtin_ia32_expandloaddf256_mask ((__v4df *) __P, (__v4df) __W, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_expandloadu_pd (__mmask8 __U, void const *__P) { return (__m256d) __builtin_ia32_expandloaddf256_maskz ((__v4df *) __P, (__v4df) _mm256_setzero_pd (), (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_expand_pd (__m128d __W, __mmask8 __U, __m128d __A) { return (__m128d) __builtin_ia32_expanddf128_mask ((__v2df) __A, (__v2df) __W, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_expand_pd (__mmask8 __U, __m128d __A) { return (__m128d) __builtin_ia32_expanddf128_maskz ((__v2df) __A, (__v2df) _mm_setzero_pd (), (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_expandloadu_pd (__m128d __W, __mmask8 __U, void const *__P) { return (__m128d) __builtin_ia32_expandloaddf128_mask ((__v2df *) __P, (__v2df) __W, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_expandloadu_pd (__mmask8 __U, void const *__P) { return (__m128d) __builtin_ia32_expandloaddf128_maskz ((__v2df *) __P, (__v2df) _mm_setzero_pd (), (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_expand_ps (__m256 __W, __mmask8 __U, __m256 __A) { return (__m256) __builtin_ia32_expandsf256_mask ((__v8sf) __A, (__v8sf) __W, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_expand_ps (__mmask8 __U, __m256 __A) { return (__m256) __builtin_ia32_expandsf256_maskz ((__v8sf) __A, (__v8sf) _mm256_setzero_ps (), (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_expandloadu_ps (__m256 __W, __mmask8 __U, void const *__P) { return (__m256) __builtin_ia32_expandloadsf256_mask ((__v8sf *) __P, (__v8sf) __W, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_expandloadu_ps (__mmask8 __U, void const *__P) { return (__m256) __builtin_ia32_expandloadsf256_maskz ((__v8sf *) __P, (__v8sf) _mm256_setzero_ps (), (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_expand_ps (__m128 __W, __mmask8 __U, __m128 __A) { return (__m128) __builtin_ia32_expandsf128_mask ((__v4sf) __A, (__v4sf) __W, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_expand_ps (__mmask8 __U, __m128 __A) { return (__m128) __builtin_ia32_expandsf128_maskz ((__v4sf) __A, (__v4sf) _mm_setzero_ps (), (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_expandloadu_ps (__m128 __W, __mmask8 __U, void const *__P) { return (__m128) __builtin_ia32_expandloadsf128_mask ((__v4sf *) __P, (__v4sf) __W, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_expandloadu_ps (__mmask8 __U, void const *__P) { return (__m128) __builtin_ia32_expandloadsf128_maskz ((__v4sf *) __P, (__v4sf) _mm_setzero_ps (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_expand_epi64 (__m256i __W, __mmask8 __U, __m256i __A) { return (__m256i) __builtin_ia32_expanddi256_mask ((__v4di) __A, (__v4di) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_expand_epi64 (__mmask8 __U, __m256i __A) { return (__m256i) __builtin_ia32_expanddi256_maskz ((__v4di) __A, (__v4di) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_expandloadu_epi64 (__m256i __W, __mmask8 __U, void const *__P) { return (__m256i) __builtin_ia32_expandloaddi256_mask ((__v4di *) __P, (__v4di) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_expandloadu_epi64 (__mmask8 __U, void const *__P) { return (__m256i) __builtin_ia32_expandloaddi256_maskz ((__v4di *) __P, (__v4di) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_expand_epi64 (__m128i __W, __mmask8 __U, __m128i __A) { return (__m128i) __builtin_ia32_expanddi128_mask ((__v2di) __A, (__v2di) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_expand_epi64 (__mmask8 __U, __m128i __A) { return (__m128i) __builtin_ia32_expanddi128_maskz ((__v2di) __A, (__v2di) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_expandloadu_epi64 (__m128i __W, __mmask8 __U, void const *__P) { return (__m128i) __builtin_ia32_expandloaddi128_mask ((__v2di *) __P, (__v2di) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_expandloadu_epi64 (__mmask8 __U, void const *__P) { return (__m128i) __builtin_ia32_expandloaddi128_maskz ((__v2di *) __P, (__v2di) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_expand_epi32 (__m256i __W, __mmask8 __U, __m256i __A) { return (__m256i) __builtin_ia32_expandsi256_mask ((__v8si) __A, (__v8si) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_expand_epi32 (__mmask8 __U, __m256i __A) { return (__m256i) __builtin_ia32_expandsi256_maskz ((__v8si) __A, (__v8si) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_expandloadu_epi32 (__m256i __W, __mmask8 __U, void const *__P) { return (__m256i) __builtin_ia32_expandloadsi256_mask ((__v8si *) __P, (__v8si) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_expandloadu_epi32 (__mmask8 __U, void const *__P) { return (__m256i) __builtin_ia32_expandloadsi256_maskz ((__v8si *) __P, (__v8si) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_expand_epi32 (__m128i __W, __mmask8 __U, __m128i __A) { return (__m128i) __builtin_ia32_expandsi128_mask ((__v4si) __A, (__v4si) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_expand_epi32 (__mmask8 __U, __m128i __A) { return (__m128i) __builtin_ia32_expandsi128_maskz ((__v4si) __A, (__v4si) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_expandloadu_epi32 (__m128i __W, __mmask8 __U, void const *__P) { return (__m128i) __builtin_ia32_expandloadsi128_mask ((__v4si *) __P, (__v4si) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_expandloadu_epi32 (__mmask8 __U, void const *__P) { return (__m128i) __builtin_ia32_expandloadsi128_maskz ((__v4si *) __P, (__v4si) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_permutex2var_pd (__m256d __A, __m256i __I, __m256d __B) { return (__m256d) __builtin_ia32_vpermt2varpd256_mask ((__v4di) __I , (__v4df) __A, (__v4df) __B, (__mmask8) - 1); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_permutex2var_pd (__m256d __A, __mmask8 __U, __m256i __I, __m256d __B) { return (__m256d) __builtin_ia32_vpermt2varpd256_mask ((__v4di) __I , (__v4df) __A, (__v4df) __B, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask2_permutex2var_pd (__m256d __A, __m256i __I, __mmask8 __U, __m256d __B) { return (__m256d) __builtin_ia32_vpermi2varpd256_mask ((__v4df) __A, (__v4di) __I , (__v4df) __B, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_permutex2var_pd (__mmask8 __U, __m256d __A, __m256i __I, __m256d __B) { return (__m256d) __builtin_ia32_vpermt2varpd256_maskz ((__v4di) __I , (__v4df) __A, (__v4df) __B, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_permutex2var_ps (__m256 __A, __m256i __I, __m256 __B) { return (__m256) __builtin_ia32_vpermt2varps256_mask ((__v8si) __I , (__v8sf) __A, (__v8sf) __B, (__mmask8) -1); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_permutex2var_ps (__m256 __A, __mmask8 __U, __m256i __I, __m256 __B) { return (__m256) __builtin_ia32_vpermt2varps256_mask ((__v8si) __I , (__v8sf) __A, (__v8sf) __B, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask2_permutex2var_ps (__m256 __A, __m256i __I, __mmask8 __U, __m256 __B) { return (__m256) __builtin_ia32_vpermi2varps256_mask ((__v8sf) __A, (__v8si) __I , (__v8sf) __B, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_permutex2var_ps (__mmask8 __U, __m256 __A, __m256i __I, __m256 __B) { return (__m256) __builtin_ia32_vpermt2varps256_maskz ((__v8si) __I , (__v8sf) __A, (__v8sf) __B, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_permutex2var_epi64 (__m128i __A, __m128i __I, __m128i __B) { return (__m128i) __builtin_ia32_vpermt2varq128_mask ((__v2di) __I , (__v2di) __A, (__v2di) __B, (__mmask8) -1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_permutex2var_epi64 (__m128i __A, __mmask8 __U, __m128i __I, __m128i __B) { return (__m128i) __builtin_ia32_vpermt2varq128_mask ((__v2di) __I , (__v2di) __A, (__v2di) __B, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask2_permutex2var_epi64 (__m128i __A, __m128i __I, __mmask8 __U, __m128i __B) { return (__m128i) __builtin_ia32_vpermi2varq128_mask ((__v2di) __A, (__v2di) __I , (__v2di) __B, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_permutex2var_epi64 (__mmask8 __U, __m128i __A, __m128i __I, __m128i __B) { return (__m128i) __builtin_ia32_vpermt2varq128_maskz ((__v2di) __I , (__v2di) __A, (__v2di) __B, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_permutex2var_epi32 (__m128i __A, __m128i __I, __m128i __B) { return (__m128i) __builtin_ia32_vpermt2vard128_mask ((__v4si) __I , (__v4si) __A, (__v4si) __B, (__mmask8) -1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_permutex2var_epi32 (__m128i __A, __mmask8 __U, __m128i __I, __m128i __B) { return (__m128i) __builtin_ia32_vpermt2vard128_mask ((__v4si) __I , (__v4si) __A, (__v4si) __B, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask2_permutex2var_epi32 (__m128i __A, __m128i __I, __mmask8 __U, __m128i __B) { return (__m128i) __builtin_ia32_vpermi2vard128_mask ((__v4si) __A, (__v4si) __I , (__v4si) __B, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_permutex2var_epi32 (__mmask8 __U, __m128i __A, __m128i __I, __m128i __B) { return (__m128i) __builtin_ia32_vpermt2vard128_maskz ((__v4si) __I , (__v4si) __A, (__v4si) __B, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_permutex2var_epi64 (__m256i __A, __m256i __I, __m256i __B) { return (__m256i) __builtin_ia32_vpermt2varq256_mask ((__v4di) __I , (__v4di) __A, (__v4di) __B, (__mmask8) -1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_permutex2var_epi64 (__m256i __A, __mmask8 __U, __m256i __I, __m256i __B) { return (__m256i) __builtin_ia32_vpermt2varq256_mask ((__v4di) __I , (__v4di) __A, (__v4di) __B, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask2_permutex2var_epi64 (__m256i __A, __m256i __I, __mmask8 __U, __m256i __B) { return (__m256i) __builtin_ia32_vpermi2varq256_mask ((__v4di) __A, (__v4di) __I , (__v4di) __B, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_permutex2var_epi64 (__mmask8 __U, __m256i __A, __m256i __I, __m256i __B) { return (__m256i) __builtin_ia32_vpermt2varq256_maskz ((__v4di) __I , (__v4di) __A, (__v4di) __B, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_permutex2var_epi32 (__m256i __A, __m256i __I, __m256i __B) { return (__m256i) __builtin_ia32_vpermt2vard256_mask ((__v8si) __I , (__v8si) __A, (__v8si) __B, (__mmask8) -1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_permutex2var_epi32 (__m256i __A, __mmask8 __U, __m256i __I, __m256i __B) { return (__m256i) __builtin_ia32_vpermt2vard256_mask ((__v8si) __I , (__v8si) __A, (__v8si) __B, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask2_permutex2var_epi32 (__m256i __A, __m256i __I, __mmask8 __U, __m256i __B) { return (__m256i) __builtin_ia32_vpermi2vard256_mask ((__v8si) __A, (__v8si) __I , (__v8si) __B, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_permutex2var_epi32 (__mmask8 __U, __m256i __A, __m256i __I, __m256i __B) { return (__m256i) __builtin_ia32_vpermt2vard256_maskz ((__v8si) __I , (__v8si) __A, (__v8si) __B, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_permutex2var_pd (__m128d __A, __m128i __I, __m128d __B) { return (__m128d) __builtin_ia32_vpermt2varpd128_mask ((__v2di) __I , (__v2df) __A, (__v2df) __B, (__mmask8) - 1); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_permutex2var_pd (__m128d __A, __mmask8 __U, __m128i __I, __m128d __B) { return (__m128d) __builtin_ia32_vpermt2varpd128_mask ((__v2di) __I , (__v2df) __A, (__v2df) __B, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask2_permutex2var_pd (__m128d __A, __m128i __I, __mmask8 __U, __m128d __B) { return (__m128d) __builtin_ia32_vpermi2varpd128_mask ((__v2df) __A, (__v2di) __I , (__v2df) __B, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_permutex2var_pd (__mmask8 __U, __m128d __A, __m128i __I, __m128d __B) { return (__m128d) __builtin_ia32_vpermt2varpd128_maskz ((__v2di) __I , (__v2df) __A, (__v2df) __B, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_permutex2var_ps (__m128 __A, __m128i __I, __m128 __B) { return (__m128) __builtin_ia32_vpermt2varps128_mask ((__v4si) __I , (__v4sf) __A, (__v4sf) __B, (__mmask8) -1); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_permutex2var_ps (__m128 __A, __mmask8 __U, __m128i __I, __m128 __B) { return (__m128) __builtin_ia32_vpermt2varps128_mask ((__v4si) __I , (__v4sf) __A, (__v4sf) __B, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask2_permutex2var_ps (__m128 __A, __m128i __I, __mmask8 __U, __m128 __B) { return (__m128) __builtin_ia32_vpermi2varps128_mask ((__v4sf) __A, (__v4si) __I , (__v4sf) __B, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_permutex2var_ps (__mmask8 __U, __m128 __A, __m128i __I, __m128 __B) { return (__m128) __builtin_ia32_vpermt2varps128_maskz ((__v4si) __I , (__v4sf) __A, (__v4sf) __B, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_srav_epi64 (__m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_psravq128_mask ((__v2di) __X, (__v2di) __Y, (__v2di) _mm_setzero_di (), (__mmask8) -1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_srav_epi64 (__m128i __W, __mmask8 __U, __m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_psravq128_mask ((__v2di) __X, (__v2di) __Y, (__v2di) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_srav_epi64 (__mmask8 __U, __m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_psravq128_mask ((__v2di) __X, (__v2di) __Y, (__v2di) _mm_setzero_di (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_sllv_epi32 (__m256i __W, __mmask8 __U, __m256i __X, __m256i __Y) { return (__m256i) __builtin_ia32_psllv8si_mask ((__v8si) __X, (__v8si) __Y, (__v8si) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_sllv_epi32 (__mmask8 __U, __m256i __X, __m256i __Y) { return (__m256i) __builtin_ia32_psllv8si_mask ((__v8si) __X, (__v8si) __Y, (__v8si) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_sllv_epi32 (__m128i __W, __mmask8 __U, __m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_psllv4si_mask ((__v4si) __X, (__v4si) __Y, (__v4si) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_sllv_epi32 (__mmask8 __U, __m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_psllv4si_mask ((__v4si) __X, (__v4si) __Y, (__v4si) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_sllv_epi64 (__m256i __W, __mmask8 __U, __m256i __X, __m256i __Y) { return (__m256i) __builtin_ia32_psllv4di_mask ((__v4di) __X, (__v4di) __Y, (__v4di) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_sllv_epi64 (__mmask8 __U, __m256i __X, __m256i __Y) { return (__m256i) __builtin_ia32_psllv4di_mask ((__v4di) __X, (__v4di) __Y, (__v4di) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_sllv_epi64 (__m128i __W, __mmask8 __U, __m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_psllv2di_mask ((__v2di) __X, (__v2di) __Y, (__v2di) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_sllv_epi64 (__mmask8 __U, __m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_psllv2di_mask ((__v2di) __X, (__v2di) __Y, (__v2di) _mm_setzero_di (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_srav_epi32 (__m256i __W, __mmask8 __U, __m256i __X, __m256i __Y) { return (__m256i) __builtin_ia32_psrav8si_mask ((__v8si) __X, (__v8si) __Y, (__v8si) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_srav_epi32 (__mmask8 __U, __m256i __X, __m256i __Y) { return (__m256i) __builtin_ia32_psrav8si_mask ((__v8si) __X, (__v8si) __Y, (__v8si) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_srav_epi32 (__m128i __W, __mmask8 __U, __m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_psrav4si_mask ((__v4si) __X, (__v4si) __Y, (__v4si) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_srav_epi32 (__mmask8 __U, __m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_psrav4si_mask ((__v4si) __X, (__v4si) __Y, (__v4si) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_srlv_epi32 (__m256i __W, __mmask8 __U, __m256i __X, __m256i __Y) { return (__m256i) __builtin_ia32_psrlv8si_mask ((__v8si) __X, (__v8si) __Y, (__v8si) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_srlv_epi32 (__mmask8 __U, __m256i __X, __m256i __Y) { return (__m256i) __builtin_ia32_psrlv8si_mask ((__v8si) __X, (__v8si) __Y, (__v8si) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_srlv_epi32 (__m128i __W, __mmask8 __U, __m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_psrlv4si_mask ((__v4si) __X, (__v4si) __Y, (__v4si) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_srlv_epi32 (__mmask8 __U, __m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_psrlv4si_mask ((__v4si) __X, (__v4si) __Y, (__v4si) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_srlv_epi64 (__m256i __W, __mmask8 __U, __m256i __X, __m256i __Y) { return (__m256i) __builtin_ia32_psrlv4di_mask ((__v4di) __X, (__v4di) __Y, (__v4di) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_srlv_epi64 (__mmask8 __U, __m256i __X, __m256i __Y) { return (__m256i) __builtin_ia32_psrlv4di_mask ((__v4di) __X, (__v4di) __Y, (__v4di) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_srlv_epi64 (__m128i __W, __mmask8 __U, __m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_psrlv2di_mask ((__v2di) __X, (__v2di) __Y, (__v2di) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_srlv_epi64 (__mmask8 __U, __m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_psrlv2di_mask ((__v2di) __X, (__v2di) __Y, (__v2di) _mm_setzero_di (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_rolv_epi32 (__m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_prolvd256_mask ((__v8si) __A, (__v8si) __B, (__v8si) _mm256_setzero_si256 (), (__mmask8) -1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_rolv_epi32 (__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_prolvd256_mask ((__v8si) __A, (__v8si) __B, (__v8si) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_rolv_epi32 (__mmask8 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_prolvd256_mask ((__v8si) __A, (__v8si) __B, (__v8si) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_rolv_epi32 (__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_prolvd128_mask ((__v4si) __A, (__v4si) __B, (__v4si) _mm_setzero_si128 (), (__mmask8) -1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_rolv_epi32 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_prolvd128_mask ((__v4si) __A, (__v4si) __B, (__v4si) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_rolv_epi32 (__mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_prolvd128_mask ((__v4si) __A, (__v4si) __B, (__v4si) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_rorv_epi32 (__m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_prorvd256_mask ((__v8si) __A, (__v8si) __B, (__v8si) _mm256_setzero_si256 (), (__mmask8) -1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_rorv_epi32 (__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_prorvd256_mask ((__v8si) __A, (__v8si) __B, (__v8si) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_rorv_epi32 (__mmask8 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_prorvd256_mask ((__v8si) __A, (__v8si) __B, (__v8si) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_rorv_epi32 (__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_prorvd128_mask ((__v4si) __A, (__v4si) __B, (__v4si) _mm_setzero_si128 (), (__mmask8) -1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_rorv_epi32 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_prorvd128_mask ((__v4si) __A, (__v4si) __B, (__v4si) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_rorv_epi32 (__mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_prorvd128_mask ((__v4si) __A, (__v4si) __B, (__v4si) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_rolv_epi64 (__m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_prolvq256_mask ((__v4di) __A, (__v4di) __B, (__v4di) _mm256_setzero_si256 (), (__mmask8) -1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_rolv_epi64 (__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_prolvq256_mask ((__v4di) __A, (__v4di) __B, (__v4di) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_rolv_epi64 (__mmask8 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_prolvq256_mask ((__v4di) __A, (__v4di) __B, (__v4di) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_rolv_epi64 (__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_prolvq128_mask ((__v2di) __A, (__v2di) __B, (__v2di) _mm_setzero_di (), (__mmask8) -1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_rolv_epi64 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_prolvq128_mask ((__v2di) __A, (__v2di) __B, (__v2di) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_rolv_epi64 (__mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_prolvq128_mask ((__v2di) __A, (__v2di) __B, (__v2di) _mm_setzero_di (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_rorv_epi64 (__m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_prorvq256_mask ((__v4di) __A, (__v4di) __B, (__v4di) _mm256_setzero_si256 (), (__mmask8) -1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_rorv_epi64 (__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_prorvq256_mask ((__v4di) __A, (__v4di) __B, (__v4di) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_rorv_epi64 (__mmask8 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_prorvq256_mask ((__v4di) __A, (__v4di) __B, (__v4di) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_rorv_epi64 (__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_prorvq128_mask ((__v2di) __A, (__v2di) __B, (__v2di) _mm_setzero_di (), (__mmask8) -1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_rorv_epi64 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_prorvq128_mask ((__v2di) __A, (__v2di) __B, (__v2di) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_rorv_epi64 (__mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_prorvq128_mask ((__v2di) __A, (__v2di) __B, (__v2di) _mm_setzero_di (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_srav_epi64 (__m256i __X, __m256i __Y) { return (__m256i) __builtin_ia32_psravq256_mask ((__v4di) __X, (__v4di) __Y, (__v4di) _mm256_setzero_si256 (), (__mmask8) -1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_srav_epi64 (__m256i __W, __mmask8 __U, __m256i __X, __m256i __Y) { return (__m256i) __builtin_ia32_psravq256_mask ((__v4di) __X, (__v4di) __Y, (__v4di) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_srav_epi64 (__mmask8 __U, __m256i __X, __m256i __Y) { return (__m256i) __builtin_ia32_psravq256_mask ((__v4di) __X, (__v4di) __Y, (__v4di) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_and_epi64 (__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pandq256_mask ((__v4di) __A, (__v4di) __B, (__v4di) __W, __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_and_epi64 (__mmask8 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pandq256_mask ((__v4di) __A, (__v4di) __B, (__v4di) _mm256_setzero_pd (), __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_and_epi64 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pandq128_mask ((__v2di) __A, (__v2di) __B, (__v2di) __W, __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_and_epi64 (__mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pandq128_mask ((__v2di) __A, (__v2di) __B, (__v2di) _mm_setzero_pd (), __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_andnot_epi64 (__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pandnq256_mask ((__v4di) __A, (__v4di) __B, (__v4di) __W, __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_andnot_epi64 (__mmask8 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pandnq256_mask ((__v4di) __A, (__v4di) __B, (__v4di) _mm256_setzero_pd (), __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_andnot_epi64 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pandnq128_mask ((__v2di) __A, (__v2di) __B, (__v2di) __W, __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_andnot_epi64 (__mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pandnq128_mask ((__v2di) __A, (__v2di) __B, (__v2di) _mm_setzero_pd (), __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_or_epi64 (__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_porq256_mask ((__v4di) __A, (__v4di) __B, (__v4di) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_or_epi64 (__mmask8 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_porq256_mask ((__v4di) __A, (__v4di) __B, (__v4di) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_or_epi64 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_porq128_mask ((__v2di) __A, (__v2di) __B, (__v2di) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_or_epi64 (__mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_porq128_mask ((__v2di) __A, (__v2di) __B, (__v2di) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_xor_epi64 (__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pxorq256_mask ((__v4di) __A, (__v4di) __B, (__v4di) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_xor_epi64 (__mmask8 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pxorq256_mask ((__v4di) __A, (__v4di) __B, (__v4di) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_xor_epi64 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pxorq128_mask ((__v2di) __A, (__v2di) __B, (__v2di) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_xor_epi64 (__mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pxorq128_mask ((__v2di) __A, (__v2di) __B, (__v2di) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_max_pd (__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) { return (__m256d) __builtin_ia32_maxpd256_mask ((__v4df) __A, (__v4df) __B, (__v4df) __W, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_max_pd (__mmask8 __U, __m256d __A, __m256d __B) { return (__m256d) __builtin_ia32_maxpd256_mask ((__v4df) __A, (__v4df) __B, (__v4df) _mm256_setzero_pd (), (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_max_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) { return (__m256) __builtin_ia32_maxps256_mask ((__v8sf) __A, (__v8sf) __B, (__v8sf) __W, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_max_ps (__mmask8 __U, __m256 __A, __m256 __B) { return (__m256) __builtin_ia32_maxps256_mask ((__v8sf) __A, (__v8sf) __B, (__v8sf) _mm256_setzero_ps (), (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_div_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) { return (__m128) __builtin_ia32_divps_mask ((__v4sf) __A, (__v4sf) __B, (__v4sf) __W, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_div_ps (__mmask8 __U, __m128 __A, __m128 __B) { return (__m128) __builtin_ia32_divps_mask ((__v4sf) __A, (__v4sf) __B, (__v4sf) _mm_setzero_ps (), (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_div_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_divpd_mask ((__v2df) __A, (__v2df) __B, (__v2df) __W, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_div_pd (__mmask8 __U, __m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_divpd_mask ((__v2df) __A, (__v2df) __B, (__v2df) _mm_setzero_pd (), (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_min_pd (__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) { return (__m256d) __builtin_ia32_minpd256_mask ((__v4df) __A, (__v4df) __B, (__v4df) __W, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_div_pd (__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) { return (__m256d) __builtin_ia32_divpd256_mask ((__v4df) __A, (__v4df) __B, (__v4df) __W, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_min_pd (__mmask8 __U, __m256d __A, __m256d __B) { return (__m256d) __builtin_ia32_minpd256_mask ((__v4df) __A, (__v4df) __B, (__v4df) _mm256_setzero_pd (), (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_min_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) { return (__m256) __builtin_ia32_minps256_mask ((__v8sf) __A, (__v8sf) __B, (__v8sf) __W, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_div_pd (__mmask8 __U, __m256d __A, __m256d __B) { return (__m256d) __builtin_ia32_divpd256_mask ((__v4df) __A, (__v4df) __B, (__v4df) _mm256_setzero_pd (), (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_div_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) { return (__m256) __builtin_ia32_divps256_mask ((__v8sf) __A, (__v8sf) __B, (__v8sf) __W, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_min_ps (__mmask8 __U, __m256 __A, __m256 __B) { return (__m256) __builtin_ia32_minps256_mask ((__v8sf) __A, (__v8sf) __B, (__v8sf) _mm256_setzero_ps (), (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_div_ps (__mmask8 __U, __m256 __A, __m256 __B) { return (__m256) __builtin_ia32_divps256_mask ((__v8sf) __A, (__v8sf) __B, (__v8sf) _mm256_setzero_ps (), (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_min_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) { return (__m128) __builtin_ia32_minps_mask ((__v4sf) __A, (__v4sf) __B, (__v4sf) __W, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_mul_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) { return (__m128) __builtin_ia32_mulps_mask ((__v4sf) __A, (__v4sf) __B, (__v4sf) __W, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_min_ps (__mmask8 __U, __m128 __A, __m128 __B) { return (__m128) __builtin_ia32_minps_mask ((__v4sf) __A, (__v4sf) __B, (__v4sf) _mm_setzero_ps (), (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_mul_ps (__mmask8 __U, __m128 __A, __m128 __B) { return (__m128) __builtin_ia32_mulps_mask ((__v4sf) __A, (__v4sf) __B, (__v4sf) _mm_setzero_ps (), (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_max_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) { return (__m128) __builtin_ia32_maxps_mask ((__v4sf) __A, (__v4sf) __B, (__v4sf) __W, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_max_ps (__mmask8 __U, __m128 __A, __m128 __B) { return (__m128) __builtin_ia32_maxps_mask ((__v4sf) __A, (__v4sf) __B, (__v4sf) _mm_setzero_ps (), (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_min_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_minpd_mask ((__v2df) __A, (__v2df) __B, (__v2df) __W, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_min_pd (__mmask8 __U, __m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_minpd_mask ((__v2df) __A, (__v2df) __B, (__v2df) _mm_setzero_pd (), (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_max_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_maxpd_mask ((__v2df) __A, (__v2df) __B, (__v2df) __W, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_max_pd (__mmask8 __U, __m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_maxpd_mask ((__v2df) __A, (__v2df) __B, (__v2df) _mm_setzero_pd (), (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_mul_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_mulpd_mask ((__v2df) __A, (__v2df) __B, (__v2df) __W, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_mul_pd (__mmask8 __U, __m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_mulpd_mask ((__v2df) __A, (__v2df) __B, (__v2df) _mm_setzero_pd (), (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_mul_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) { return (__m256) __builtin_ia32_mulps256_mask ((__v8sf) __A, (__v8sf) __B, (__v8sf) __W, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_mul_ps (__mmask8 __U, __m256 __A, __m256 __B) { return (__m256) __builtin_ia32_mulps256_mask ((__v8sf) __A, (__v8sf) __B, (__v8sf) _mm256_setzero_ps (), (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_mul_pd (__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) { return (__m256d) __builtin_ia32_mulpd256_mask ((__v4df) __A, (__v4df) __B, (__v4df) __W, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_mul_pd (__mmask8 __U, __m256d __A, __m256d __B) { return (__m256d) __builtin_ia32_mulpd256_mask ((__v4df) __A, (__v4df) __B, (__v4df) _mm256_setzero_pd (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_max_epi64 (__mmask8 __M, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pmaxsq256_mask ((__v4di) __A, (__v4di) __B, (__v4di) _mm256_setzero_si256 (), __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_max_epi64 (__m256i __W, __mmask8 __M, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pmaxsq256_mask ((__v4di) __A, (__v4di) __B, (__v4di) __W, __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_min_epi64 (__m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pminsq256_mask ((__v4di) __A, (__v4di) __B, (__v4di) _mm256_setzero_si256 (), (__mmask8) -1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_min_epi64 (__m256i __W, __mmask8 __M, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pminsq256_mask ((__v4di) __A, (__v4di) __B, (__v4di) __W, __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_min_epi64 (__mmask8 __M, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pminsq256_mask ((__v4di) __A, (__v4di) __B, (__v4di) _mm256_setzero_si256 (), __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_max_epu64 (__mmask8 __M, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pmaxuq256_mask ((__v4di) __A, (__v4di) __B, (__v4di) _mm256_setzero_si256 (), __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_max_epi64 (__m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pmaxsq256_mask ((__v4di) __A, (__v4di) __B, (__v4di) _mm256_setzero_si256 (), (__mmask8) -1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_max_epu64 (__m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pmaxuq256_mask ((__v4di) __A, (__v4di) __B, (__v4di) _mm256_setzero_si256 (), (__mmask8) -1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_max_epu64 (__m256i __W, __mmask8 __M, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pmaxuq256_mask ((__v4di) __A, (__v4di) __B, (__v4di) __W, __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_min_epu64 (__m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pminuq256_mask ((__v4di) __A, (__v4di) __B, (__v4di) _mm256_setzero_si256 (), (__mmask8) -1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_min_epu64 (__m256i __W, __mmask8 __M, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pminuq256_mask ((__v4di) __A, (__v4di) __B, (__v4di) __W, __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_min_epu64 (__mmask8 __M, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pminuq256_mask ((__v4di) __A, (__v4di) __B, (__v4di) _mm256_setzero_si256 (), __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_max_epi32 (__mmask8 __M, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pmaxsd256_mask ((__v8si) __A, (__v8si) __B, (__v8si) _mm256_setzero_si256 (), __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_max_epi32 (__m256i __W, __mmask8 __M, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pmaxsd256_mask ((__v8si) __A, (__v8si) __B, (__v8si) __W, __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_min_epi32 (__mmask8 __M, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pminsd256_mask ((__v8si) __A, (__v8si) __B, (__v8si) _mm256_setzero_si256 (), __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_min_epi32 (__m256i __W, __mmask8 __M, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pminsd256_mask ((__v8si) __A, (__v8si) __B, (__v8si) __W, __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_max_epu32 (__mmask8 __M, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pmaxud256_mask ((__v8si) __A, (__v8si) __B, (__v8si) _mm256_setzero_si256 (), __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_max_epu32 (__m256i __W, __mmask8 __M, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pmaxud256_mask ((__v8si) __A, (__v8si) __B, (__v8si) __W, __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_min_epu32 (__mmask8 __M, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pminud256_mask ((__v8si) __A, (__v8si) __B, (__v8si) _mm256_setzero_si256 (), __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_min_epu32 (__m256i __W, __mmask8 __M, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pminud256_mask ((__v8si) __A, (__v8si) __B, (__v8si) __W, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_max_epi64 (__mmask8 __M, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pmaxsq128_mask ((__v2di) __A, (__v2di) __B, (__v2di) _mm_setzero_si128 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_max_epi64 (__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pmaxsq128_mask ((__v2di) __A, (__v2di) __B, (__v2di) __W, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_min_epi64 (__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pminsq128_mask ((__v2di) __A, (__v2di) __B, (__v2di) _mm_setzero_di (), (__mmask8) -1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_min_epi64 (__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pminsq128_mask ((__v2di) __A, (__v2di) __B, (__v2di) __W, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_min_epi64 (__mmask8 __M, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pminsq128_mask ((__v2di) __A, (__v2di) __B, (__v2di) _mm_setzero_si128 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_max_epu64 (__mmask8 __M, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pmaxuq128_mask ((__v2di) __A, (__v2di) __B, (__v2di) _mm_setzero_si128 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_max_epi64 (__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pmaxsq128_mask ((__v2di) __A, (__v2di) __B, (__v2di) _mm_setzero_di (), (__mmask8) -1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_max_epu64 (__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pmaxuq128_mask ((__v2di) __A, (__v2di) __B, (__v2di) _mm_setzero_di (), (__mmask8) -1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_max_epu64 (__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pmaxuq128_mask ((__v2di) __A, (__v2di) __B, (__v2di) __W, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_min_epu64 (__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pminuq128_mask ((__v2di) __A, (__v2di) __B, (__v2di) _mm_setzero_di (), (__mmask8) -1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_min_epu64 (__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pminuq128_mask ((__v2di) __A, (__v2di) __B, (__v2di) __W, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_min_epu64 (__mmask8 __M, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pminuq128_mask ((__v2di) __A, (__v2di) __B, (__v2di) _mm_setzero_si128 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_max_epi32 (__mmask8 __M, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pmaxsd128_mask ((__v4si) __A, (__v4si) __B, (__v4si) _mm_setzero_si128 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_max_epi32 (__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pmaxsd128_mask ((__v4si) __A, (__v4si) __B, (__v4si) __W, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_min_epi32 (__mmask8 __M, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pminsd128_mask ((__v4si) __A, (__v4si) __B, (__v4si) _mm_setzero_si128 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_min_epi32 (__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pminsd128_mask ((__v4si) __A, (__v4si) __B, (__v4si) __W, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_max_epu32 (__mmask8 __M, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pmaxud128_mask ((__v4si) __A, (__v4si) __B, (__v4si) _mm_setzero_si128 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_max_epu32 (__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pmaxud128_mask ((__v4si) __A, (__v4si) __B, (__v4si) __W, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_min_epu32 (__mmask8 __M, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pminud128_mask ((__v4si) __A, (__v4si) __B, (__v4si) _mm_setzero_si128 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_min_epu32 (__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pminud128_mask ((__v4si) __A, (__v4si) __B, (__v4si) __W, __M); } #pragma GCC push_options #pragma GCC target("avx512vl,avx512cd") extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_broadcastmb_epi64 (__mmask8 __A) { return (__m128i) __builtin_ia32_broadcastmb128 (__A); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_broadcastmb_epi64 (__mmask8 __A) { return (__m256i) __builtin_ia32_broadcastmb256 (__A); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_broadcastmw_epi32 (__mmask16 __A) { return (__m128i) __builtin_ia32_broadcastmw128 (__A); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_broadcastmw_epi32 (__mmask16 __A) { return (__m256i) __builtin_ia32_broadcastmw256 (__A); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_lzcnt_epi32 (__m256i __A) { return (__m256i) __builtin_ia32_vplzcntd_256_mask ((__v8si) __A, (__v8si) _mm256_setzero_si256 (), (__mmask8) -1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_lzcnt_epi32 (__m256i __W, __mmask8 __U, __m256i __A) { return (__m256i) __builtin_ia32_vplzcntd_256_mask ((__v8si) __A, (__v8si) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_lzcnt_epi32 (__mmask8 __U, __m256i __A) { return (__m256i) __builtin_ia32_vplzcntd_256_mask ((__v8si) __A, (__v8si) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_lzcnt_epi64 (__m256i __A) { return (__m256i) __builtin_ia32_vplzcntq_256_mask ((__v4di) __A, (__v4di) _mm256_setzero_si256 (), (__mmask8) -1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_lzcnt_epi64 (__m256i __W, __mmask8 __U, __m256i __A) { return (__m256i) __builtin_ia32_vplzcntq_256_mask ((__v4di) __A, (__v4di) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_lzcnt_epi64 (__mmask8 __U, __m256i __A) { return (__m256i) __builtin_ia32_vplzcntq_256_mask ((__v4di) __A, (__v4di) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_conflict_epi64 (__m256i __A) { return (__m256i) __builtin_ia32_vpconflictdi_256_mask ((__v4di) __A, (__v4di) _mm256_setzero_si256 (), (__mmask8) - 1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_conflict_epi64 (__m256i __W, __mmask8 __U, __m256i __A) { return (__m256i) __builtin_ia32_vpconflictdi_256_mask ((__v4di) __A, (__v4di) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_conflict_epi64 (__mmask8 __U, __m256i __A) { return (__m256i) __builtin_ia32_vpconflictdi_256_mask ((__v4di) __A, (__v4di) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_conflict_epi32 (__m256i __A) { return (__m256i) __builtin_ia32_vpconflictsi_256_mask ((__v8si) __A, (__v8si) _mm256_setzero_si256 (), (__mmask8) - 1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_conflict_epi32 (__m256i __W, __mmask8 __U, __m256i __A) { return (__m256i) __builtin_ia32_vpconflictsi_256_mask ((__v8si) __A, (__v8si) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_conflict_epi32 (__mmask8 __U, __m256i __A) { return (__m256i) __builtin_ia32_vpconflictsi_256_mask ((__v8si) __A, (__v8si) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_lzcnt_epi32 (__m128i __A) { return (__m128i) __builtin_ia32_vplzcntd_128_mask ((__v4si) __A, (__v4si) _mm_setzero_si128 (), (__mmask8) -1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_lzcnt_epi32 (__m128i __W, __mmask8 __U, __m128i __A) { return (__m128i) __builtin_ia32_vplzcntd_128_mask ((__v4si) __A, (__v4si) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_lzcnt_epi32 (__mmask8 __U, __m128i __A) { return (__m128i) __builtin_ia32_vplzcntd_128_mask ((__v4si) __A, (__v4si) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_lzcnt_epi64 (__m128i __A) { return (__m128i) __builtin_ia32_vplzcntq_128_mask ((__v2di) __A, (__v2di) _mm_setzero_di (), (__mmask8) -1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_lzcnt_epi64 (__m128i __W, __mmask8 __U, __m128i __A) { return (__m128i) __builtin_ia32_vplzcntq_128_mask ((__v2di) __A, (__v2di) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_lzcnt_epi64 (__mmask8 __U, __m128i __A) { return (__m128i) __builtin_ia32_vplzcntq_128_mask ((__v2di) __A, (__v2di) _mm_setzero_di (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_conflict_epi64 (__m128i __A) { return (__m128i) __builtin_ia32_vpconflictdi_128_mask ((__v2di) __A, (__v2di) _mm_setzero_di (), (__mmask8) - 1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_conflict_epi64 (__m128i __W, __mmask8 __U, __m128i __A) { return (__m128i) __builtin_ia32_vpconflictdi_128_mask ((__v2di) __A, (__v2di) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_conflict_epi64 (__mmask8 __U, __m128i __A) { return (__m128i) __builtin_ia32_vpconflictdi_128_mask ((__v2di) __A, (__v2di) _mm_setzero_di (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_conflict_epi32 (__m128i __A) { return (__m128i) __builtin_ia32_vpconflictsi_128_mask ((__v4si) __A, (__v4si) _mm_setzero_si128 (), (__mmask8) - 1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_conflict_epi32 (__m128i __W, __mmask8 __U, __m128i __A) { return (__m128i) __builtin_ia32_vpconflictsi_128_mask ((__v4si) __A, (__v4si) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_conflict_epi32 (__mmask8 __U, __m128i __A) { return (__m128i) __builtin_ia32_vpconflictsi_128_mask ((__v4si) __A, (__v4si) _mm_setzero_si128 (), (__mmask8) __U); } #pragma GCC pop_options extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_unpacklo_pd (__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) { return (__m256d) __builtin_ia32_unpcklpd256_mask ((__v4df) __A, (__v4df) __B, (__v4df) __W, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_unpacklo_pd (__mmask8 __U, __m256d __A, __m256d __B) { return (__m256d) __builtin_ia32_unpcklpd256_mask ((__v4df) __A, (__v4df) __B, (__v4df) _mm256_setzero_pd (), (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_unpacklo_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_unpcklpd128_mask ((__v2df) __A, (__v2df) __B, (__v2df) __W, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_unpacklo_pd (__mmask8 __U, __m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_unpcklpd128_mask ((__v2df) __A, (__v2df) __B, (__v2df) _mm_setzero_pd (), (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_unpacklo_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) { return (__m256) __builtin_ia32_unpcklps256_mask ((__v8sf) __A, (__v8sf) __B, (__v8sf) __W, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_unpackhi_pd (__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) { return (__m256d) __builtin_ia32_unpckhpd256_mask ((__v4df) __A, (__v4df) __B, (__v4df) __W, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_unpackhi_pd (__mmask8 __U, __m256d __A, __m256d __B) { return (__m256d) __builtin_ia32_unpckhpd256_mask ((__v4df) __A, (__v4df) __B, (__v4df) _mm256_setzero_pd (), (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_unpackhi_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_unpckhpd128_mask ((__v2df) __A, (__v2df) __B, (__v2df) __W, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_unpackhi_pd (__mmask8 __U, __m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_unpckhpd128_mask ((__v2df) __A, (__v2df) __B, (__v2df) _mm_setzero_pd (), (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_unpackhi_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) { return (__m256) __builtin_ia32_unpckhps256_mask ((__v8sf) __A, (__v8sf) __B, (__v8sf) __W, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_unpackhi_ps (__mmask8 __U, __m256 __A, __m256 __B) { return (__m256) __builtin_ia32_unpckhps256_mask ((__v8sf) __A, (__v8sf) __B, (__v8sf) _mm256_setzero_ps (), (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_unpackhi_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) { return (__m128) __builtin_ia32_unpckhps128_mask ((__v4sf) __A, (__v4sf) __B, (__v4sf) __W, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_unpackhi_ps (__mmask8 __U, __m128 __A, __m128 __B) { return (__m128) __builtin_ia32_unpckhps128_mask ((__v4sf) __A, (__v4sf) __B, (__v4sf) _mm_setzero_ps (), (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtph_ps (__m128 __W, __mmask8 __U, __m128i __A) { return (__m128) __builtin_ia32_vcvtph2ps_mask ((__v8hi) __A, (__v4sf) __W, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_cvtph_ps (__mmask8 __U, __m128i __A) { return (__m128) __builtin_ia32_vcvtph2ps_mask ((__v8hi) __A, (__v4sf) _mm_setzero_ps (), (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_unpacklo_ps (__mmask8 __U, __m256 __A, __m256 __B) { return (__m256) __builtin_ia32_unpcklps256_mask ((__v8sf) __A, (__v8sf) __B, (__v8sf) _mm256_setzero_ps (), (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtph_ps (__m256 __W, __mmask8 __U, __m128i __A) { return (__m256) __builtin_ia32_vcvtph2ps256_mask ((__v8hi) __A, (__v8sf) __W, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_cvtph_ps (__mmask8 __U, __m128i __A) { return (__m256) __builtin_ia32_vcvtph2ps256_mask ((__v8hi) __A, (__v8sf) _mm256_setzero_ps (), (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_unpacklo_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) { return (__m128) __builtin_ia32_unpcklps128_mask ((__v4sf) __A, (__v4sf) __B, (__v4sf) __W, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_unpacklo_ps (__mmask8 __U, __m128 __A, __m128 __B) { return (__m128) __builtin_ia32_unpcklps128_mask ((__v4sf) __A, (__v4sf) __B, (__v4sf) _mm_setzero_ps (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_sra_epi32 (__m256i __W, __mmask8 __U, __m256i __A, __m128i __B) { return (__m256i) __builtin_ia32_psrad256_mask ((__v8si) __A, (__v4si) __B, (__v8si) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_sra_epi32 (__mmask8 __U, __m256i __A, __m128i __B) { return (__m256i) __builtin_ia32_psrad256_mask ((__v8si) __A, (__v4si) __B, (__v8si) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_sra_epi32 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_psrad128_mask ((__v4si) __A, (__v4si) __B, (__v4si) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_sra_epi32 (__mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_psrad128_mask ((__v4si) __A, (__v4si) __B, (__v4si) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_sra_epi64 (__m256i __A, __m128i __B) { return (__m256i) __builtin_ia32_psraq256_mask ((__v4di) __A, (__v2di) __B, (__v4di) _mm256_setzero_si256 (), (__mmask8) -1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_sra_epi64 (__m256i __W, __mmask8 __U, __m256i __A, __m128i __B) { return (__m256i) __builtin_ia32_psraq256_mask ((__v4di) __A, (__v2di) __B, (__v4di) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_sra_epi64 (__mmask8 __U, __m256i __A, __m128i __B) { return (__m256i) __builtin_ia32_psraq256_mask ((__v4di) __A, (__v2di) __B, (__v4di) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_sra_epi64 (__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_psraq128_mask ((__v2di) __A, (__v2di) __B, (__v2di) _mm_setzero_di (), (__mmask8) -1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_sra_epi64 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_psraq128_mask ((__v2di) __A, (__v2di) __B, (__v2di) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_sra_epi64 (__mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_psraq128_mask ((__v2di) __A, (__v2di) __B, (__v2di) _mm_setzero_di (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_sll_epi32 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pslld128_mask ((__v4si) __A, (__v4si) __B, (__v4si) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_sll_epi32 (__mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pslld128_mask ((__v4si) __A, (__v4si) __B, (__v4si) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_sll_epi64 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_psllq128_mask ((__v2di) __A, (__v2di) __B, (__v2di) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_sll_epi64 (__mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_psllq128_mask ((__v2di) __A, (__v2di) __B, (__v2di) _mm_setzero_di (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_sll_epi32 (__m256i __W, __mmask8 __U, __m256i __A, __m128i __B) { return (__m256i) __builtin_ia32_pslld256_mask ((__v8si) __A, (__v4si) __B, (__v8si) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_sll_epi32 (__mmask8 __U, __m256i __A, __m128i __B) { return (__m256i) __builtin_ia32_pslld256_mask ((__v8si) __A, (__v4si) __B, (__v8si) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_sll_epi64 (__m256i __W, __mmask8 __U, __m256i __A, __m128i __B) { return (__m256i) __builtin_ia32_psllq256_mask ((__v4di) __A, (__v2di) __B, (__v4di) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_sll_epi64 (__mmask8 __U, __m256i __A, __m128i __B) { return (__m256i) __builtin_ia32_psllq256_mask ((__v4di) __A, (__v2di) __B, (__v4di) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_permutexvar_ps (__m256 __W, __mmask8 __U, __m256i __X, __m256 __Y) { return (__m256) __builtin_ia32_permvarsf256_mask ((__v8sf) __Y, (__v8si) __X, (__v8sf) __W, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_permutexvar_ps (__mmask8 __U, __m256i __X, __m256 __Y) { return (__m256) __builtin_ia32_permvarsf256_mask ((__v8sf) __Y, (__v8si) __X, (__v8sf) _mm256_setzero_ps (), (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_permutexvar_pd (__m256i __X, __m256d __Y) { return (__m256d) __builtin_ia32_permvardf256_mask ((__v4df) __Y, (__v4di) __X, (__v4df) _mm256_setzero_pd (), (__mmask8) -1); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_permutexvar_pd (__m256d __W, __mmask8 __U, __m256i __X, __m256d __Y) { return (__m256d) __builtin_ia32_permvardf256_mask ((__v4df) __Y, (__v4di) __X, (__v4df) __W, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_permutexvar_pd (__mmask8 __U, __m256i __X, __m256d __Y) { return (__m256d) __builtin_ia32_permvardf256_mask ((__v4df) __Y, (__v4di) __X, (__v4df) _mm256_setzero_pd (), (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_permutevar_pd (__m256d __W, __mmask8 __U, __m256d __A, __m256i __C) { return (__m256d) __builtin_ia32_vpermilvarpd256_mask ((__v4df) __A, (__v4di) __C, (__v4df) __W, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_permutevar_pd (__mmask8 __U, __m256d __A, __m256i __C) { return (__m256d) __builtin_ia32_vpermilvarpd256_mask ((__v4df) __A, (__v4di) __C, (__v4df) _mm256_setzero_pd (), (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_permutevar_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256i __C) { return (__m256) __builtin_ia32_vpermilvarps256_mask ((__v8sf) __A, (__v8si) __C, (__v8sf) __W, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_permutevar_ps (__mmask8 __U, __m256 __A, __m256i __C) { return (__m256) __builtin_ia32_vpermilvarps256_mask ((__v8sf) __A, (__v8si) __C, (__v8sf) _mm256_setzero_ps (), (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_permutevar_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128i __C) { return (__m128d) __builtin_ia32_vpermilvarpd_mask ((__v2df) __A, (__v2di) __C, (__v2df) __W, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_permutevar_pd (__mmask8 __U, __m128d __A, __m128i __C) { return (__m128d) __builtin_ia32_vpermilvarpd_mask ((__v2df) __A, (__v2di) __C, (__v2df) _mm_setzero_pd (), (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_permutevar_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128i __C) { return (__m128) __builtin_ia32_vpermilvarps_mask ((__v4sf) __A, (__v4si) __C, (__v4sf) __W, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_permutevar_ps (__mmask8 __U, __m128 __A, __m128i __C) { return (__m128) __builtin_ia32_vpermilvarps_mask ((__v4sf) __A, (__v4si) __C, (__v4sf) _mm_setzero_ps (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_mullo_epi32 (__mmask8 __M, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pmulld256_mask ((__v8si) __A, (__v8si) __B, (__v8si) _mm256_setzero_si256 (), __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_permutexvar_epi64 (__mmask8 __M, __m256i __X, __m256i __Y) { return (__m256i) __builtin_ia32_permvardi256_mask ((__v4di) __Y, (__v4di) __X, (__v4di) _mm256_setzero_si256 (), __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_mullo_epi32 (__m256i __W, __mmask8 __M, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pmulld256_mask ((__v8si) __A, (__v8si) __B, (__v8si) __W, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_mullo_epi32 (__mmask8 __M, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pmulld128_mask ((__v4si) __A, (__v4si) __B, (__v4si) _mm_setzero_si128 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_mullo_epi32 (__m128i __W, __mmask16 __M, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pmulld128_mask ((__v4si) __A, (__v4si) __B, (__v4si) __W, __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_mul_epi32 (__m256i __W, __mmask8 __M, __m256i __X, __m256i __Y) { return (__m256i) __builtin_ia32_pmuldq256_mask ((__v8si) __X, (__v8si) __Y, (__v4di) __W, __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_mul_epi32 (__mmask8 __M, __m256i __X, __m256i __Y) { return (__m256i) __builtin_ia32_pmuldq256_mask ((__v8si) __X, (__v8si) __Y, (__v4di) _mm256_setzero_si256 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_mul_epi32 (__m128i __W, __mmask8 __M, __m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_pmuldq128_mask ((__v4si) __X, (__v4si) __Y, (__v2di) __W, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_mul_epi32 (__mmask8 __M, __m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_pmuldq128_mask ((__v4si) __X, (__v4si) __Y, (__v2di) _mm_setzero_si128 (), __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_permutexvar_epi64 (__m256i __W, __mmask8 __M, __m256i __X, __m256i __Y) { return (__m256i) __builtin_ia32_permvardi256_mask ((__v4di) __Y, (__v4di) __X, (__v4di) __W, __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_mul_epu32 (__m256i __W, __mmask8 __M, __m256i __X, __m256i __Y) { return (__m256i) __builtin_ia32_pmuludq256_mask ((__v8si) __X, (__v8si) __Y, (__v4di) __W, __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_permutexvar_epi32 (__mmask8 __M, __m256i __X, __m256i __Y) { return (__m256i) __builtin_ia32_permvarsi256_mask ((__v8si) __Y, (__v8si) __X, (__v8si) _mm256_setzero_si256 (), __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_mul_epu32 (__mmask8 __M, __m256i __X, __m256i __Y) { return (__m256i) __builtin_ia32_pmuludq256_mask ((__v8si) __X, (__v8si) __Y, (__v4di) _mm256_setzero_si256 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_mul_epu32 (__m128i __W, __mmask8 __M, __m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_pmuludq128_mask ((__v4si) __X, (__v4si) __Y, (__v2di) __W, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_mul_epu32 (__mmask8 __M, __m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_pmuludq128_mask ((__v4si) __X, (__v4si) __Y, (__v2di) _mm_setzero_si128 (), __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_permutexvar_epi32 (__m256i __W, __mmask8 __M, __m256i __X, __m256i __Y) { return (__m256i) __builtin_ia32_permvarsi256_mask ((__v8si) __Y, (__v8si) __X, (__v8si) __W, __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_permutex_epi64 (__m256i __W, __mmask8 __M, __m256i __X, const int __I) { return (__m256i) __builtin_ia32_permdi256_mask ((__v4di) __X, __I, (__v4di) __W, (__mmask8) __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_permutex_epi64 (__mmask8 __M, __m256i __X, const int __I) { return (__m256i) __builtin_ia32_permdi256_mask ((__v4di) __X, __I, (__v4di) _mm256_setzero_si256 (), (__mmask8) __M); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_shuffle_pd (__m256d __W, __mmask8 __U, __m256d __A, __m256d __B, const int __imm) { return (__m256d) __builtin_ia32_shufpd256_mask ((__v4df) __A, (__v4df) __B, __imm, (__v4df) __W, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_shuffle_pd (__mmask8 __U, __m256d __A, __m256d __B, const int __imm) { return (__m256d) __builtin_ia32_shufpd256_mask ((__v4df) __A, (__v4df) __B, __imm, (__v4df) _mm256_setzero_pd (), (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_shuffle_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B, const int __imm) { return (__m128d) __builtin_ia32_shufpd128_mask ((__v2df) __A, (__v2df) __B, __imm, (__v2df) __W, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_shuffle_pd (__mmask8 __U, __m128d __A, __m128d __B, const int __imm) { return (__m128d) __builtin_ia32_shufpd128_mask ((__v2df) __A, (__v2df) __B, __imm, (__v2df) _mm_setzero_pd (), (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_shuffle_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B, const int __imm) { return (__m256) __builtin_ia32_shufps256_mask ((__v8sf) __A, (__v8sf) __B, __imm, (__v8sf) __W, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_shuffle_ps (__mmask8 __U, __m256 __A, __m256 __B, const int __imm) { return (__m256) __builtin_ia32_shufps256_mask ((__v8sf) __A, (__v8sf) __B, __imm, (__v8sf) _mm256_setzero_ps (), (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_shuffle_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B, const int __imm) { return (__m128) __builtin_ia32_shufps128_mask ((__v4sf) __A, (__v4sf) __B, __imm, (__v4sf) __W, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_shuffle_ps (__mmask8 __U, __m128 __A, __m128 __B, const int __imm) { return (__m128) __builtin_ia32_shufps128_mask ((__v4sf) __A, (__v4sf) __B, __imm, (__v4sf) _mm_setzero_ps (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_inserti32x4 (__m256i __A, __m128i __B, const int __imm) { return (__m256i) __builtin_ia32_inserti32x4_256_mask ((__v8si) __A, (__v4si) __B, __imm, (__v8si) _mm256_setzero_si256 (), (__mmask8) - 1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_inserti32x4 (__m256i __W, __mmask8 __U, __m256i __A, __m128i __B, const int __imm) { return (__m256i) __builtin_ia32_inserti32x4_256_mask ((__v8si) __A, (__v4si) __B, __imm, (__v8si) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_inserti32x4 (__mmask8 __U, __m256i __A, __m128i __B, const int __imm) { return (__m256i) __builtin_ia32_inserti32x4_256_mask ((__v8si) __A, (__v4si) __B, __imm, (__v8si) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_insertf32x4 (__m256 __A, __m128 __B, const int __imm) { return (__m256) __builtin_ia32_insertf32x4_256_mask ((__v8sf) __A, (__v4sf) __B, __imm, (__v8sf) _mm256_setzero_ps (), (__mmask8) -1); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_insertf32x4 (__m256 __W, __mmask8 __U, __m256 __A, __m128 __B, const int __imm) { return (__m256) __builtin_ia32_insertf32x4_256_mask ((__v8sf) __A, (__v4sf) __B, __imm, (__v8sf) __W, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_insertf32x4 (__mmask8 __U, __m256 __A, __m128 __B, const int __imm) { return (__m256) __builtin_ia32_insertf32x4_256_mask ((__v8sf) __A, (__v4sf) __B, __imm, (__v8sf) _mm256_setzero_ps (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_extracti32x4_epi32 (__m256i __A, const int __imm) { return (__m128i) __builtin_ia32_extracti32x4_256_mask ((__v8si) __A, __imm, (__v4si) _mm_setzero_si128 (), (__mmask8) - 1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_extracti32x4_epi32 (__m128i __W, __mmask8 __U, __m256i __A, const int __imm) { return (__m128i) __builtin_ia32_extracti32x4_256_mask ((__v8si) __A, __imm, (__v4si) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_extracti32x4_epi32 (__mmask8 __U, __m256i __A, const int __imm) { return (__m128i) __builtin_ia32_extracti32x4_256_mask ((__v8si) __A, __imm, (__v4si) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_extractf32x4_ps (__m256 __A, const int __imm) { return (__m128) __builtin_ia32_extractf32x4_256_mask ((__v8sf) __A, __imm, (__v4sf) _mm_setzero_ps (), (__mmask8) - 1); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_extractf32x4_ps (__m128 __W, __mmask8 __U, __m256 __A, const int __imm) { return (__m128) __builtin_ia32_extractf32x4_256_mask ((__v8sf) __A, __imm, (__v4sf) __W, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_extractf32x4_ps (__mmask8 __U, __m256 __A, const int __imm) { return (__m128) __builtin_ia32_extractf32x4_256_mask ((__v8sf) __A, __imm, (__v4sf) _mm_setzero_ps (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_shuffle_i64x2 (__m256i __A, __m256i __B, const int __imm) { return (__m256i) __builtin_ia32_shuf_i64x2_256_mask ((__v4di) __A, (__v4di) __B, __imm, (__v4di) _mm256_setzero_si256 (), (__mmask8) -1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_shuffle_i64x2 (__m256i __W, __mmask8 __U, __m256i __A, __m256i __B, const int __imm) { return (__m256i) __builtin_ia32_shuf_i64x2_256_mask ((__v4di) __A, (__v4di) __B, __imm, (__v4di) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_shuffle_i64x2 (__mmask8 __U, __m256i __A, __m256i __B, const int __imm) { return (__m256i) __builtin_ia32_shuf_i64x2_256_mask ((__v4di) __A, (__v4di) __B, __imm, (__v4di) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_shuffle_i32x4 (__m256i __A, __m256i __B, const int __imm) { return (__m256i) __builtin_ia32_shuf_i32x4_256_mask ((__v8si) __A, (__v8si) __B, __imm, (__v8si) _mm256_setzero_si256 (), (__mmask8) -1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_shuffle_i32x4 (__m256i __W, __mmask8 __U, __m256i __A, __m256i __B, const int __imm) { return (__m256i) __builtin_ia32_shuf_i32x4_256_mask ((__v8si) __A, (__v8si) __B, __imm, (__v8si) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_shuffle_i32x4 (__mmask8 __U, __m256i __A, __m256i __B, const int __imm) { return (__m256i) __builtin_ia32_shuf_i32x4_256_mask ((__v8si) __A, (__v8si) __B, __imm, (__v8si) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_shuffle_f64x2 (__m256d __A, __m256d __B, const int __imm) { return (__m256d) __builtin_ia32_shuf_f64x2_256_mask ((__v4df) __A, (__v4df) __B, __imm, (__v4df) _mm256_setzero_pd (), (__mmask8) -1); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_shuffle_f64x2 (__m256d __W, __mmask8 __U, __m256d __A, __m256d __B, const int __imm) { return (__m256d) __builtin_ia32_shuf_f64x2_256_mask ((__v4df) __A, (__v4df) __B, __imm, (__v4df) __W, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_shuffle_f64x2 (__mmask8 __U, __m256d __A, __m256d __B, const int __imm) { return (__m256d) __builtin_ia32_shuf_f64x2_256_mask ((__v4df) __A, (__v4df) __B, __imm, (__v4df) _mm256_setzero_pd (), (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_shuffle_f32x4 (__m256 __A, __m256 __B, const int __imm) { return (__m256) __builtin_ia32_shuf_f32x4_256_mask ((__v8sf) __A, (__v8sf) __B, __imm, (__v8sf) _mm256_setzero_ps (), (__mmask8) -1); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_shuffle_f32x4 (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B, const int __imm) { return (__m256) __builtin_ia32_shuf_f32x4_256_mask ((__v8sf) __A, (__v8sf) __B, __imm, (__v8sf) __W, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_shuffle_f32x4 (__mmask8 __U, __m256 __A, __m256 __B, const int __imm) { return (__m256) __builtin_ia32_shuf_f32x4_256_mask ((__v8sf) __A, (__v8sf) __B, __imm, (__v8sf) _mm256_setzero_ps (), (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_fixupimm_pd (__m256d __A, __m256d __B, __m256i __C, const int __imm) { return (__m256d) __builtin_ia32_fixupimmpd256_mask ((__v4df) __A, (__v4df) __B, (__v4di) __C, __imm, (__mmask8) -1); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_fixupimm_pd (__m256d __A, __mmask8 __U, __m256d __B, __m256i __C, const int __imm) { return (__m256d) __builtin_ia32_fixupimmpd256_mask ((__v4df) __A, (__v4df) __B, (__v4di) __C, __imm, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_fixupimm_pd (__mmask8 __U, __m256d __A, __m256d __B, __m256i __C, const int __imm) { return (__m256d) __builtin_ia32_fixupimmpd256_maskz ((__v4df) __A, (__v4df) __B, (__v4di) __C, __imm, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_fixupimm_ps (__m256 __A, __m256 __B, __m256i __C, const int __imm) { return (__m256) __builtin_ia32_fixupimmps256_mask ((__v8sf) __A, (__v8sf) __B, (__v8si) __C, __imm, (__mmask8) -1); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_fixupimm_ps (__m256 __A, __mmask8 __U, __m256 __B, __m256i __C, const int __imm) { return (__m256) __builtin_ia32_fixupimmps256_mask ((__v8sf) __A, (__v8sf) __B, (__v8si) __C, __imm, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_fixupimm_ps (__mmask8 __U, __m256 __A, __m256 __B, __m256i __C, const int __imm) { return (__m256) __builtin_ia32_fixupimmps256_maskz ((__v8sf) __A, (__v8sf) __B, (__v8si) __C, __imm, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_fixupimm_pd (__m128d __A, __m128d __B, __m128i __C, const int __imm) { return (__m128d) __builtin_ia32_fixupimmpd128_mask ((__v2df) __A, (__v2df) __B, (__v2di) __C, __imm, (__mmask8) -1); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_fixupimm_pd (__m128d __A, __mmask8 __U, __m128d __B, __m128i __C, const int __imm) { return (__m128d) __builtin_ia32_fixupimmpd128_mask ((__v2df) __A, (__v2df) __B, (__v2di) __C, __imm, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_fixupimm_pd (__mmask8 __U, __m128d __A, __m128d __B, __m128i __C, const int __imm) { return (__m128d) __builtin_ia32_fixupimmpd128_maskz ((__v2df) __A, (__v2df) __B, (__v2di) __C, __imm, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_fixupimm_ps (__m128 __A, __m128 __B, __m128i __C, const int __imm) { return (__m128) __builtin_ia32_fixupimmps128_mask ((__v4sf) __A, (__v4sf) __B, (__v4si) __C, __imm, (__mmask8) -1); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_fixupimm_ps (__m128 __A, __mmask8 __U, __m128 __B, __m128i __C, const int __imm) { return (__m128) __builtin_ia32_fixupimmps128_mask ((__v4sf) __A, (__v4sf) __B, (__v4si) __C, __imm, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_fixupimm_ps (__mmask8 __U, __m128 __A, __m128 __B, __m128i __C, const int __imm) { return (__m128) __builtin_ia32_fixupimmps128_maskz ((__v4sf) __A, (__v4sf) __B, (__v4si) __C, __imm, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_srli_epi32 (__m256i __W, __mmask8 __U, __m256i __A, const int __imm) { return (__m256i) __builtin_ia32_psrldi256_mask ((__v8si) __A, __imm, (__v8si) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_srli_epi32 (__mmask8 __U, __m256i __A, const int __imm) { return (__m256i) __builtin_ia32_psrldi256_mask ((__v8si) __A, __imm, (__v8si) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_srli_epi32 (__m128i __W, __mmask8 __U, __m128i __A, const int __imm) { return (__m128i) __builtin_ia32_psrldi128_mask ((__v4si) __A, __imm, (__v4si) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_srli_epi32 (__mmask8 __U, __m128i __A, const int __imm) { return (__m128i) __builtin_ia32_psrldi128_mask ((__v4si) __A, __imm, (__v4si) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_srli_epi64 (__m256i __W, __mmask8 __U, __m256i __A, const int __imm) { return (__m256i) __builtin_ia32_psrlqi256_mask ((__v4di) __A, __imm, (__v4di) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_srli_epi64 (__mmask8 __U, __m256i __A, const int __imm) { return (__m256i) __builtin_ia32_psrlqi256_mask ((__v4di) __A, __imm, (__v4di) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_srli_epi64 (__m128i __W, __mmask8 __U, __m128i __A, const int __imm) { return (__m128i) __builtin_ia32_psrlqi128_mask ((__v2di) __A, __imm, (__v2di) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_srli_epi64 (__mmask8 __U, __m128i __A, const int __imm) { return (__m128i) __builtin_ia32_psrlqi128_mask ((__v2di) __A, __imm, (__v2di) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_ternarylogic_epi64 (__m256i __A, __m256i __B, __m256i __C, const int imm) { return (__m256i) __builtin_ia32_pternlogq256_mask ((__v4di) __A, (__v4di) __B, (__v4di) __C, imm, (__mmask8) -1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_ternarylogic_epi64 (__m256i __A, __mmask8 __U, __m256i __B, __m256i __C, const int imm) { return (__m256i) __builtin_ia32_pternlogq256_mask ((__v4di) __A, (__v4di) __B, (__v4di) __C, imm, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_ternarylogic_epi64 (__mmask8 __U, __m256i __A, __m256i __B, __m256i __C, const int imm) { return (__m256i) __builtin_ia32_pternlogq256_maskz ((__v4di) __A, (__v4di) __B, (__v4di) __C, imm, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_ternarylogic_epi32 (__m256i __A, __m256i __B, __m256i __C, const int imm) { return (__m256i) __builtin_ia32_pternlogd256_mask ((__v8si) __A, (__v8si) __B, (__v8si) __C, imm, (__mmask8) -1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_ternarylogic_epi32 (__m256i __A, __mmask8 __U, __m256i __B, __m256i __C, const int imm) { return (__m256i) __builtin_ia32_pternlogd256_mask ((__v8si) __A, (__v8si) __B, (__v8si) __C, imm, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_ternarylogic_epi32 (__mmask8 __U, __m256i __A, __m256i __B, __m256i __C, const int imm) { return (__m256i) __builtin_ia32_pternlogd256_maskz ((__v8si) __A, (__v8si) __B, (__v8si) __C, imm, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_ternarylogic_epi64 (__m128i __A, __m128i __B, __m128i __C, const int imm) { return (__m128i) __builtin_ia32_pternlogq128_mask ((__v2di) __A, (__v2di) __B, (__v2di) __C, imm, (__mmask8) -1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_ternarylogic_epi64 (__m128i __A, __mmask8 __U, __m128i __B, __m128i __C, const int imm) { return (__m128i) __builtin_ia32_pternlogq128_mask ((__v2di) __A, (__v2di) __B, (__v2di) __C, imm, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_ternarylogic_epi64 (__mmask8 __U, __m128i __A, __m128i __B, __m128i __C, const int imm) { return (__m128i) __builtin_ia32_pternlogq128_maskz ((__v2di) __A, (__v2di) __B, (__v2di) __C, imm, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_ternarylogic_epi32 (__m128i __A, __m128i __B, __m128i __C, const int imm) { return (__m128i) __builtin_ia32_pternlogd128_mask ((__v4si) __A, (__v4si) __B, (__v4si) __C, imm, (__mmask8) -1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_ternarylogic_epi32 (__m128i __A, __mmask8 __U, __m128i __B, __m128i __C, const int imm) { return (__m128i) __builtin_ia32_pternlogd128_mask ((__v4si) __A, (__v4si) __B, (__v4si) __C, imm, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_ternarylogic_epi32 (__mmask8 __U, __m128i __A, __m128i __B, __m128i __C, const int imm) { return (__m128i) __builtin_ia32_pternlogd128_maskz ((__v4si) __A, (__v4si) __B, (__v4si) __C, imm, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_roundscale_ps (__m256 __A, const int __imm) { return (__m256) __builtin_ia32_rndscaleps_256_mask ((__v8sf) __A, __imm, (__v8sf) _mm256_setzero_ps (), (__mmask8) -1); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_roundscale_ps (__m256 __W, __mmask8 __U, __m256 __A, const int __imm) { return (__m256) __builtin_ia32_rndscaleps_256_mask ((__v8sf) __A, __imm, (__v8sf) __W, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_roundscale_ps (__mmask8 __U, __m256 __A, const int __imm) { return (__m256) __builtin_ia32_rndscaleps_256_mask ((__v8sf) __A, __imm, (__v8sf) _mm256_setzero_ps (), (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_roundscale_pd (__m256d __A, const int __imm) { return (__m256d) __builtin_ia32_rndscalepd_256_mask ((__v4df) __A, __imm, (__v4df) _mm256_setzero_pd (), (__mmask8) -1); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_roundscale_pd (__m256d __W, __mmask8 __U, __m256d __A, const int __imm) { return (__m256d) __builtin_ia32_rndscalepd_256_mask ((__v4df) __A, __imm, (__v4df) __W, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_roundscale_pd (__mmask8 __U, __m256d __A, const int __imm) { return (__m256d) __builtin_ia32_rndscalepd_256_mask ((__v4df) __A, __imm, (__v4df) _mm256_setzero_pd (), (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_roundscale_ps (__m128 __A, const int __imm) { return (__m128) __builtin_ia32_rndscaleps_128_mask ((__v4sf) __A, __imm, (__v4sf) _mm_setzero_ps (), (__mmask8) -1); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_roundscale_ps (__m128 __W, __mmask8 __U, __m128 __A, const int __imm) { return (__m128) __builtin_ia32_rndscaleps_128_mask ((__v4sf) __A, __imm, (__v4sf) __W, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_roundscale_ps (__mmask8 __U, __m128 __A, const int __imm) { return (__m128) __builtin_ia32_rndscaleps_128_mask ((__v4sf) __A, __imm, (__v4sf) _mm_setzero_ps (), (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_roundscale_pd (__m128d __A, const int __imm) { return (__m128d) __builtin_ia32_rndscalepd_128_mask ((__v2df) __A, __imm, (__v2df) _mm_setzero_pd (), (__mmask8) -1); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_roundscale_pd (__m128d __W, __mmask8 __U, __m128d __A, const int __imm) { return (__m128d) __builtin_ia32_rndscalepd_128_mask ((__v2df) __A, __imm, (__v2df) __W, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_roundscale_pd (__mmask8 __U, __m128d __A, const int __imm) { return (__m128d) __builtin_ia32_rndscalepd_128_mask ((__v2df) __A, __imm, (__v2df) _mm_setzero_pd (), (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_getmant_ps (__m256 __A, _MM_MANTISSA_NORM_ENUM __B, _MM_MANTISSA_SIGN_ENUM __C) { return (__m256) __builtin_ia32_getmantps256_mask ((__v8sf) __A, (__C << 2) | __B, (__v8sf) _mm256_setzero_ps (), (__mmask8) -1); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_getmant_ps (__m256 __W, __mmask8 __U, __m256 __A, _MM_MANTISSA_NORM_ENUM __B, _MM_MANTISSA_SIGN_ENUM __C) { return (__m256) __builtin_ia32_getmantps256_mask ((__v8sf) __A, (__C << 2) | __B, (__v8sf) __W, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_getmant_ps (__mmask8 __U, __m256 __A, _MM_MANTISSA_NORM_ENUM __B, _MM_MANTISSA_SIGN_ENUM __C) { return (__m256) __builtin_ia32_getmantps256_mask ((__v8sf) __A, (__C << 2) | __B, (__v8sf) _mm256_setzero_ps (), (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_getmant_ps (__m128 __A, _MM_MANTISSA_NORM_ENUM __B, _MM_MANTISSA_SIGN_ENUM __C) { return (__m128) __builtin_ia32_getmantps128_mask ((__v4sf) __A, (__C << 2) | __B, (__v4sf) _mm_setzero_ps (), (__mmask8) -1); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_getmant_ps (__m128 __W, __mmask8 __U, __m128 __A, _MM_MANTISSA_NORM_ENUM __B, _MM_MANTISSA_SIGN_ENUM __C) { return (__m128) __builtin_ia32_getmantps128_mask ((__v4sf) __A, (__C << 2) | __B, (__v4sf) __W, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_getmant_ps (__mmask8 __U, __m128 __A, _MM_MANTISSA_NORM_ENUM __B, _MM_MANTISSA_SIGN_ENUM __C) { return (__m128) __builtin_ia32_getmantps128_mask ((__v4sf) __A, (__C << 2) | __B, (__v4sf) _mm_setzero_ps (), (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_getmant_pd (__m256d __A, _MM_MANTISSA_NORM_ENUM __B, _MM_MANTISSA_SIGN_ENUM __C) { return (__m256d) __builtin_ia32_getmantpd256_mask ((__v4df) __A, (__C << 2) | __B, (__v4df) _mm256_setzero_pd (), (__mmask8) -1); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_getmant_pd (__m256d __W, __mmask8 __U, __m256d __A, _MM_MANTISSA_NORM_ENUM __B, _MM_MANTISSA_SIGN_ENUM __C) { return (__m256d) __builtin_ia32_getmantpd256_mask ((__v4df) __A, (__C << 2) | __B, (__v4df) __W, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_getmant_pd (__mmask8 __U, __m256d __A, _MM_MANTISSA_NORM_ENUM __B, _MM_MANTISSA_SIGN_ENUM __C) { return (__m256d) __builtin_ia32_getmantpd256_mask ((__v4df) __A, (__C << 2) | __B, (__v4df) _mm256_setzero_pd (), (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_getmant_pd (__m128d __A, _MM_MANTISSA_NORM_ENUM __B, _MM_MANTISSA_SIGN_ENUM __C) { return (__m128d) __builtin_ia32_getmantpd128_mask ((__v2df) __A, (__C << 2) | __B, (__v2df) _mm_setzero_pd (), (__mmask8) -1); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_getmant_pd (__m128d __W, __mmask8 __U, __m128d __A, _MM_MANTISSA_NORM_ENUM __B, _MM_MANTISSA_SIGN_ENUM __C) { return (__m128d) __builtin_ia32_getmantpd128_mask ((__v2df) __A, (__C << 2) | __B, (__v2df) __W, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_getmant_pd (__mmask8 __U, __m128d __A, _MM_MANTISSA_NORM_ENUM __B, _MM_MANTISSA_SIGN_ENUM __C) { return (__m128d) __builtin_ia32_getmantpd128_mask ((__v2df) __A, (__C << 2) | __B, (__v2df) _mm_setzero_pd (), (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mmask_i32gather_ps (__m256 __v1_old, __mmask8 __mask, __m256i __index, float const *__addr, int __scale) { return (__m256) __builtin_ia32_gather3siv8sf ((__v8sf) __v1_old, __addr, (__v8si) __index, __mask, __scale); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mmask_i32gather_ps (__m128 __v1_old, __mmask8 __mask, __m128i __index, float const *__addr, int __scale) { return (__m128) __builtin_ia32_gather3siv4sf ((__v4sf) __v1_old, __addr, (__v4si) __index, __mask, __scale); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mmask_i32gather_pd (__m256d __v1_old, __mmask8 __mask, __m128i __index, double const *__addr, int __scale) { return (__m256d) __builtin_ia32_gather3siv4df ((__v4df) __v1_old, __addr, (__v4si) __index, __mask, __scale); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mmask_i32gather_pd (__m128d __v1_old, __mmask8 __mask, __m128i __index, double const *__addr, int __scale) { return (__m128d) __builtin_ia32_gather3siv2df ((__v2df) __v1_old, __addr, (__v4si) __index, __mask, __scale); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mmask_i64gather_ps (__m128 __v1_old, __mmask8 __mask, __m256i __index, float const *__addr, int __scale) { return (__m128) __builtin_ia32_gather3div8sf ((__v4sf) __v1_old, __addr, (__v4di) __index, __mask, __scale); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mmask_i64gather_ps (__m128 __v1_old, __mmask8 __mask, __m128i __index, float const *__addr, int __scale) { return (__m128) __builtin_ia32_gather3div4sf ((__v4sf) __v1_old, __addr, (__v2di) __index, __mask, __scale); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mmask_i64gather_pd (__m256d __v1_old, __mmask8 __mask, __m256i __index, double const *__addr, int __scale) { return (__m256d) __builtin_ia32_gather3div4df ((__v4df) __v1_old, __addr, (__v4di) __index, __mask, __scale); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mmask_i64gather_pd (__m128d __v1_old, __mmask8 __mask, __m128i __index, double const *__addr, int __scale) { return (__m128d) __builtin_ia32_gather3div2df ((__v2df) __v1_old, __addr, (__v2di) __index, __mask, __scale); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mmask_i32gather_epi32 (__m256i __v1_old, __mmask8 __mask, __m256i __index, int const *__addr, int __scale) { return (__m256i) __builtin_ia32_gather3siv8si ((__v8si) __v1_old, __addr, (__v8si) __index, __mask, __scale); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mmask_i32gather_epi32 (__m128i __v1_old, __mmask8 __mask, __m128i __index, int const *__addr, int __scale) { return (__m128i) __builtin_ia32_gather3siv4si ((__v4si) __v1_old, __addr, (__v4si) __index, __mask, __scale); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mmask_i32gather_epi64 (__m256i __v1_old, __mmask8 __mask, __m128i __index, long long const *__addr, int __scale) { return (__m256i) __builtin_ia32_gather3siv4di ((__v4di) __v1_old, __addr, (__v4si) __index, __mask, __scale); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mmask_i32gather_epi64 (__m128i __v1_old, __mmask8 __mask, __m128i __index, long long const *__addr, int __scale) { return (__m128i) __builtin_ia32_gather3siv2di ((__v2di) __v1_old, __addr, (__v4si) __index, __mask, __scale); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mmask_i64gather_epi32 (__m128i __v1_old, __mmask8 __mask, __m256i __index, int const *__addr, int __scale) { return (__m128i) __builtin_ia32_gather3div8si ((__v4si) __v1_old, __addr, (__v4di) __index, __mask, __scale); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mmask_i64gather_epi32 (__m128i __v1_old, __mmask8 __mask, __m128i __index, int const *__addr, int __scale) { return (__m128i) __builtin_ia32_gather3div4si ((__v4si) __v1_old, __addr, (__v2di) __index, __mask, __scale); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mmask_i64gather_epi64 (__m256i __v1_old, __mmask8 __mask, __m256i __index, long long const *__addr, int __scale) { return (__m256i) __builtin_ia32_gather3div4di ((__v4di) __v1_old, __addr, (__v4di) __index, __mask, __scale); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mmask_i64gather_epi64 (__m128i __v1_old, __mmask8 __mask, __m128i __index, long long const *__addr, int __scale) { return (__m128i) __builtin_ia32_gather3div2di ((__v2di) __v1_old, __addr, (__v2di) __index, __mask, __scale); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_i32scatter_ps (float *__addr, __m256i __index, __m256 __v1, const int __scale) { __builtin_ia32_scattersiv8sf (__addr, (__mmask8) 0xFF, (__v8si) __index, (__v8sf) __v1, __scale); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_i32scatter_ps (float *__addr, __mmask8 __mask, __m256i __index, __m256 __v1, const int __scale) { __builtin_ia32_scattersiv8sf (__addr, __mask, (__v8si) __index, (__v8sf) __v1, __scale); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_i32scatter_ps (float *__addr, __m128i __index, __m128 __v1, const int __scale) { __builtin_ia32_scattersiv4sf (__addr, (__mmask8) 0xFF, (__v4si) __index, (__v4sf) __v1, __scale); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_i32scatter_ps (float *__addr, __mmask8 __mask, __m128i __index, __m128 __v1, const int __scale) { __builtin_ia32_scattersiv4sf (__addr, __mask, (__v4si) __index, (__v4sf) __v1, __scale); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_i32scatter_pd (double *__addr, __m128i __index, __m256d __v1, const int __scale) { __builtin_ia32_scattersiv4df (__addr, (__mmask8) 0xFF, (__v4si) __index, (__v4df) __v1, __scale); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_i32scatter_pd (double *__addr, __mmask8 __mask, __m128i __index, __m256d __v1, const int __scale) { __builtin_ia32_scattersiv4df (__addr, __mask, (__v4si) __index, (__v4df) __v1, __scale); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_i32scatter_pd (double *__addr, __m128i __index, __m128d __v1, const int __scale) { __builtin_ia32_scattersiv2df (__addr, (__mmask8) 0xFF, (__v4si) __index, (__v2df) __v1, __scale); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_i32scatter_pd (double *__addr, __mmask8 __mask, __m128i __index, __m128d __v1, const int __scale) { __builtin_ia32_scattersiv2df (__addr, __mask, (__v4si) __index, (__v2df) __v1, __scale); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_i64scatter_ps (float *__addr, __m256i __index, __m128 __v1, const int __scale) { __builtin_ia32_scatterdiv8sf (__addr, (__mmask8) 0xFF, (__v4di) __index, (__v4sf) __v1, __scale); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_i64scatter_ps (float *__addr, __mmask8 __mask, __m256i __index, __m128 __v1, const int __scale) { __builtin_ia32_scatterdiv8sf (__addr, __mask, (__v4di) __index, (__v4sf) __v1, __scale); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_i64scatter_ps (float *__addr, __m128i __index, __m128 __v1, const int __scale) { __builtin_ia32_scatterdiv4sf (__addr, (__mmask8) 0xFF, (__v2di) __index, (__v4sf) __v1, __scale); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_i64scatter_ps (float *__addr, __mmask8 __mask, __m128i __index, __m128 __v1, const int __scale) { __builtin_ia32_scatterdiv4sf (__addr, __mask, (__v2di) __index, (__v4sf) __v1, __scale); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_i64scatter_pd (double *__addr, __m256i __index, __m256d __v1, const int __scale) { __builtin_ia32_scatterdiv4df (__addr, (__mmask8) 0xFF, (__v4di) __index, (__v4df) __v1, __scale); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_i64scatter_pd (double *__addr, __mmask8 __mask, __m256i __index, __m256d __v1, const int __scale) { __builtin_ia32_scatterdiv4df (__addr, __mask, (__v4di) __index, (__v4df) __v1, __scale); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_i64scatter_pd (double *__addr, __m128i __index, __m128d __v1, const int __scale) { __builtin_ia32_scatterdiv2df (__addr, (__mmask8) 0xFF, (__v2di) __index, (__v2df) __v1, __scale); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_i64scatter_pd (double *__addr, __mmask8 __mask, __m128i __index, __m128d __v1, const int __scale) { __builtin_ia32_scatterdiv2df (__addr, __mask, (__v2di) __index, (__v2df) __v1, __scale); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_i32scatter_epi32 (int *__addr, __m256i __index, __m256i __v1, const int __scale) { __builtin_ia32_scattersiv8si (__addr, (__mmask8) 0xFF, (__v8si) __index, (__v8si) __v1, __scale); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_i32scatter_epi32 (int *__addr, __mmask8 __mask, __m256i __index, __m256i __v1, const int __scale) { __builtin_ia32_scattersiv8si (__addr, __mask, (__v8si) __index, (__v8si) __v1, __scale); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_i32scatter_epi32 (int *__addr, __m128i __index, __m128i __v1, const int __scale) { __builtin_ia32_scattersiv4si (__addr, (__mmask8) 0xFF, (__v4si) __index, (__v4si) __v1, __scale); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_i32scatter_epi32 (int *__addr, __mmask8 __mask, __m128i __index, __m128i __v1, const int __scale) { __builtin_ia32_scattersiv4si (__addr, __mask, (__v4si) __index, (__v4si) __v1, __scale); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_i32scatter_epi64 (long long *__addr, __m128i __index, __m256i __v1, const int __scale) { __builtin_ia32_scattersiv4di (__addr, (__mmask8) 0xFF, (__v4si) __index, (__v4di) __v1, __scale); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_i32scatter_epi64 (long long *__addr, __mmask8 __mask, __m128i __index, __m256i __v1, const int __scale) { __builtin_ia32_scattersiv4di (__addr, __mask, (__v4si) __index, (__v4di) __v1, __scale); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_i32scatter_epi64 (long long *__addr, __m128i __index, __m128i __v1, const int __scale) { __builtin_ia32_scattersiv2di (__addr, (__mmask8) 0xFF, (__v4si) __index, (__v2di) __v1, __scale); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_i32scatter_epi64 (long long *__addr, __mmask8 __mask, __m128i __index, __m128i __v1, const int __scale) { __builtin_ia32_scattersiv2di (__addr, __mask, (__v4si) __index, (__v2di) __v1, __scale); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_i64scatter_epi32 (int *__addr, __m256i __index, __m128i __v1, const int __scale) { __builtin_ia32_scatterdiv8si (__addr, (__mmask8) 0xFF, (__v4di) __index, (__v4si) __v1, __scale); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_i64scatter_epi32 (int *__addr, __mmask8 __mask, __m256i __index, __m128i __v1, const int __scale) { __builtin_ia32_scatterdiv8si (__addr, __mask, (__v4di) __index, (__v4si) __v1, __scale); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_i64scatter_epi32 (int *__addr, __m128i __index, __m128i __v1, const int __scale) { __builtin_ia32_scatterdiv4si (__addr, (__mmask8) 0xFF, (__v2di) __index, (__v4si) __v1, __scale); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_i64scatter_epi32 (int *__addr, __mmask8 __mask, __m128i __index, __m128i __v1, const int __scale) { __builtin_ia32_scatterdiv4si (__addr, __mask, (__v2di) __index, (__v4si) __v1, __scale); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_i64scatter_epi64 (long long *__addr, __m256i __index, __m256i __v1, const int __scale) { __builtin_ia32_scatterdiv4di (__addr, (__mmask8) 0xFF, (__v4di) __index, (__v4di) __v1, __scale); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_i64scatter_epi64 (long long *__addr, __mmask8 __mask, __m256i __index, __m256i __v1, const int __scale) { __builtin_ia32_scatterdiv4di (__addr, __mask, (__v4di) __index, (__v4di) __v1, __scale); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_i64scatter_epi64 (long long *__addr, __m128i __index, __m128i __v1, const int __scale) { __builtin_ia32_scatterdiv2di (__addr, (__mmask8) 0xFF, (__v2di) __index, (__v2di) __v1, __scale); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_i64scatter_epi64 (long long *__addr, __mmask8 __mask, __m128i __index, __m128i __v1, const int __scale) { __builtin_ia32_scatterdiv2di (__addr, __mask, (__v2di) __index, (__v2di) __v1, __scale); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_shuffle_epi32 (__m256i __W, __mmask8 __U, __m256i __A, _MM_PERM_ENUM __mask) { return (__m256i) __builtin_ia32_pshufd256_mask ((__v8si) __A, __mask, (__v8si) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_shuffle_epi32 (__mmask8 __U, __m256i __A, _MM_PERM_ENUM __mask) { return (__m256i) __builtin_ia32_pshufd256_mask ((__v8si) __A, __mask, (__v8si) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_shuffle_epi32 (__m128i __W, __mmask8 __U, __m128i __A, _MM_PERM_ENUM __mask) { return (__m128i) __builtin_ia32_pshufd128_mask ((__v4si) __A, __mask, (__v4si) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_shuffle_epi32 (__mmask8 __U, __m128i __A, _MM_PERM_ENUM __mask) { return (__m128i) __builtin_ia32_pshufd128_mask ((__v4si) __A, __mask, (__v4si) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_rol_epi32 (__m256i __A, const int __B) { return (__m256i) __builtin_ia32_prold256_mask ((__v8si) __A, __B, (__v8si) _mm256_setzero_si256 (), (__mmask8) -1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_rol_epi32 (__m256i __W, __mmask8 __U, __m256i __A, const int __B) { return (__m256i) __builtin_ia32_prold256_mask ((__v8si) __A, __B, (__v8si) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_rol_epi32 (__mmask8 __U, __m256i __A, const int __B) { return (__m256i) __builtin_ia32_prold256_mask ((__v8si) __A, __B, (__v8si) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_rol_epi32 (__m128i __A, const int __B) { return (__m128i) __builtin_ia32_prold128_mask ((__v4si) __A, __B, (__v4si) _mm_setzero_si128 (), (__mmask8) -1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_rol_epi32 (__m128i __W, __mmask8 __U, __m128i __A, const int __B) { return (__m128i) __builtin_ia32_prold128_mask ((__v4si) __A, __B, (__v4si) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_rol_epi32 (__mmask8 __U, __m128i __A, const int __B) { return (__m128i) __builtin_ia32_prold128_mask ((__v4si) __A, __B, (__v4si) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_ror_epi32 (__m256i __A, const int __B) { return (__m256i) __builtin_ia32_prord256_mask ((__v8si) __A, __B, (__v8si) _mm256_setzero_si256 (), (__mmask8) -1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_ror_epi32 (__m256i __W, __mmask8 __U, __m256i __A, const int __B) { return (__m256i) __builtin_ia32_prord256_mask ((__v8si) __A, __B, (__v8si) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_ror_epi32 (__mmask8 __U, __m256i __A, const int __B) { return (__m256i) __builtin_ia32_prord256_mask ((__v8si) __A, __B, (__v8si) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_ror_epi32 (__m128i __A, const int __B) { return (__m128i) __builtin_ia32_prord128_mask ((__v4si) __A, __B, (__v4si) _mm_setzero_si128 (), (__mmask8) -1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_ror_epi32 (__m128i __W, __mmask8 __U, __m128i __A, const int __B) { return (__m128i) __builtin_ia32_prord128_mask ((__v4si) __A, __B, (__v4si) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_ror_epi32 (__mmask8 __U, __m128i __A, const int __B) { return (__m128i) __builtin_ia32_prord128_mask ((__v4si) __A, __B, (__v4si) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_rol_epi64 (__m256i __A, const int __B) { return (__m256i) __builtin_ia32_prolq256_mask ((__v4di) __A, __B, (__v4di) _mm256_setzero_si256 (), (__mmask8) -1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_rol_epi64 (__m256i __W, __mmask8 __U, __m256i __A, const int __B) { return (__m256i) __builtin_ia32_prolq256_mask ((__v4di) __A, __B, (__v4di) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_rol_epi64 (__mmask8 __U, __m256i __A, const int __B) { return (__m256i) __builtin_ia32_prolq256_mask ((__v4di) __A, __B, (__v4di) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_rol_epi64 (__m128i __A, const int __B) { return (__m128i) __builtin_ia32_prolq128_mask ((__v2di) __A, __B, (__v2di) _mm_setzero_di (), (__mmask8) -1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_rol_epi64 (__m128i __W, __mmask8 __U, __m128i __A, const int __B) { return (__m128i) __builtin_ia32_prolq128_mask ((__v2di) __A, __B, (__v2di) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_rol_epi64 (__mmask8 __U, __m128i __A, const int __B) { return (__m128i) __builtin_ia32_prolq128_mask ((__v2di) __A, __B, (__v2di) _mm_setzero_di (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_ror_epi64 (__m256i __A, const int __B) { return (__m256i) __builtin_ia32_prorq256_mask ((__v4di) __A, __B, (__v4di) _mm256_setzero_si256 (), (__mmask8) -1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_ror_epi64 (__m256i __W, __mmask8 __U, __m256i __A, const int __B) { return (__m256i) __builtin_ia32_prorq256_mask ((__v4di) __A, __B, (__v4di) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_ror_epi64 (__mmask8 __U, __m256i __A, const int __B) { return (__m256i) __builtin_ia32_prorq256_mask ((__v4di) __A, __B, (__v4di) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_ror_epi64 (__m128i __A, const int __B) { return (__m128i) __builtin_ia32_prorq128_mask ((__v2di) __A, __B, (__v2di) _mm_setzero_di (), (__mmask8) -1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_ror_epi64 (__m128i __W, __mmask8 __U, __m128i __A, const int __B) { return (__m128i) __builtin_ia32_prorq128_mask ((__v2di) __A, __B, (__v2di) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_ror_epi64 (__mmask8 __U, __m128i __A, const int __B) { return (__m128i) __builtin_ia32_prorq128_mask ((__v2di) __A, __B, (__v2di) _mm_setzero_di (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_alignr_epi32 (__m128i __A, __m128i __B, const int __imm) { return (__m128i) __builtin_ia32_alignd128_mask ((__v4si) __A, (__v4si) __B, __imm, (__v4si) _mm_setzero_si128 (), (__mmask8) -1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_alignr_epi32 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B, const int __imm) { return (__m128i) __builtin_ia32_alignd128_mask ((__v4si) __A, (__v4si) __B, __imm, (__v4si) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_alignr_epi32 (__mmask8 __U, __m128i __A, __m128i __B, const int __imm) { return (__m128i) __builtin_ia32_alignd128_mask ((__v4si) __A, (__v4si) __B, __imm, (__v4si) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_alignr_epi64 (__m128i __A, __m128i __B, const int __imm) { return (__m128i) __builtin_ia32_alignq128_mask ((__v2di) __A, (__v2di) __B, __imm, (__v2di) _mm_setzero_di (), (__mmask8) -1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_alignr_epi64 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B, const int __imm) { return (__m128i) __builtin_ia32_alignq128_mask ((__v2di) __A, (__v2di) __B, __imm, (__v2di) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_alignr_epi64 (__mmask8 __U, __m128i __A, __m128i __B, const int __imm) { return (__m128i) __builtin_ia32_alignq128_mask ((__v2di) __A, (__v2di) __B, __imm, (__v2di) _mm_setzero_di (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_alignr_epi32 (__m256i __A, __m256i __B, const int __imm) { return (__m256i) __builtin_ia32_alignd256_mask ((__v8si) __A, (__v8si) __B, __imm, (__v8si) _mm256_setzero_si256 (), (__mmask8) -1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_alignr_epi32 (__m256i __W, __mmask8 __U, __m256i __A, __m256i __B, const int __imm) { return (__m256i) __builtin_ia32_alignd256_mask ((__v8si) __A, (__v8si) __B, __imm, (__v8si) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_alignr_epi32 (__mmask8 __U, __m256i __A, __m256i __B, const int __imm) { return (__m256i) __builtin_ia32_alignd256_mask ((__v8si) __A, (__v8si) __B, __imm, (__v8si) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_alignr_epi64 (__m256i __A, __m256i __B, const int __imm) { return (__m256i) __builtin_ia32_alignq256_mask ((__v4di) __A, (__v4di) __B, __imm, (__v4di) _mm256_setzero_si256 (), (__mmask8) -1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_alignr_epi64 (__m256i __W, __mmask8 __U, __m256i __A, __m256i __B, const int __imm) { return (__m256i) __builtin_ia32_alignq256_mask ((__v4di) __A, (__v4di) __B, __imm, (__v4di) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_alignr_epi64 (__mmask8 __U, __m256i __A, __m256i __B, const int __imm) { return (__m256i) __builtin_ia32_alignq256_mask ((__v4di) __A, (__v4di) __B, __imm, (__v4di) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtps_ph (__m128i __W, __mmask8 __U, __m128 __A, const int __I) { return (__m128i) __builtin_ia32_vcvtps2ph_mask ((__v4sf) __A, __I, (__v8hi) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_cvtps_ph (__mmask8 __U, __m128 __A, const int __I) { return (__m128i) __builtin_ia32_vcvtps2ph_mask ((__v4sf) __A, __I, (__v8hi) _mm_setzero_hi (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtps_ph (__m128i __W, __mmask8 __U, __m256 __A, const int __I) { return (__m128i) __builtin_ia32_vcvtps2ph256_mask ((__v8sf) __A, __I, (__v8hi) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_cvtps_ph (__mmask8 __U, __m256 __A, const int __I) { return (__m128i) __builtin_ia32_vcvtps2ph256_mask ((__v8sf) __A, __I, (__v8hi) _mm_setzero_hi (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_srai_epi32 (__m256i __W, __mmask8 __U, __m256i __A, const int __imm) { return (__m256i) __builtin_ia32_psradi256_mask ((__v8si) __A, __imm, (__v8si) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_srai_epi32 (__mmask8 __U, __m256i __A, const int __imm) { return (__m256i) __builtin_ia32_psradi256_mask ((__v8si) __A, __imm, (__v8si) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_srai_epi32 (__m128i __W, __mmask8 __U, __m128i __A, const int __imm) { return (__m128i) __builtin_ia32_psradi128_mask ((__v4si) __A, __imm, (__v4si) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_srai_epi32 (__mmask8 __U, __m128i __A, const int __imm) { return (__m128i) __builtin_ia32_psradi128_mask ((__v4si) __A, __imm, (__v4si) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_srai_epi64 (__m256i __A, const int __imm) { return (__m256i) __builtin_ia32_psraqi256_mask ((__v4di) __A, __imm, (__v4di) _mm256_setzero_si256 (), (__mmask8) -1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_srai_epi64 (__m256i __W, __mmask8 __U, __m256i __A, const int __imm) { return (__m256i) __builtin_ia32_psraqi256_mask ((__v4di) __A, __imm, (__v4di) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_srai_epi64 (__mmask8 __U, __m256i __A, const int __imm) { return (__m256i) __builtin_ia32_psraqi256_mask ((__v4di) __A, __imm, (__v4di) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_srai_epi64 (__m128i __A, const int __imm) { return (__m128i) __builtin_ia32_psraqi128_mask ((__v2di) __A, __imm, (__v2di) _mm_setzero_di (), (__mmask8) -1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_srai_epi64 (__m128i __W, __mmask8 __U, __m128i __A, const int __imm) { return (__m128i) __builtin_ia32_psraqi128_mask ((__v2di) __A, __imm, (__v2di) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_srai_epi64 (__mmask8 __U, __m128i __A, const int __imm) { return (__m128i) __builtin_ia32_psraqi128_mask ((__v2di) __A, __imm, (__v2di) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_slli_epi32 (__m128i __W, __mmask8 __U, __m128i __A, int __B) { return (__m128i) __builtin_ia32_pslldi128_mask ((__v4si) __A, __B, (__v4si) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_slli_epi32 (__mmask8 __U, __m128i __A, int __B) { return (__m128i) __builtin_ia32_pslldi128_mask ((__v4si) __A, __B, (__v4si) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_slli_epi64 (__m128i __W, __mmask8 __U, __m128i __A, int __B) { return (__m128i) __builtin_ia32_psllqi128_mask ((__v2di) __A, __B, (__v2di) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_slli_epi64 (__mmask8 __U, __m128i __A, int __B) { return (__m128i) __builtin_ia32_psllqi128_mask ((__v2di) __A, __B, (__v2di) _mm_setzero_di (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_slli_epi32 (__m256i __W, __mmask8 __U, __m256i __A, int __B) { return (__m256i) __builtin_ia32_pslldi256_mask ((__v8si) __A, __B, (__v8si) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_slli_epi32 (__mmask8 __U, __m256i __A, int __B) { return (__m256i) __builtin_ia32_pslldi256_mask ((__v8si) __A, __B, (__v8si) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_slli_epi64 (__m256i __W, __mmask8 __U, __m256i __A, int __B) { return (__m256i) __builtin_ia32_psllqi256_mask ((__v4di) __A, __B, (__v4di) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_slli_epi64 (__mmask8 __U, __m256i __A, int __B) { return (__m256i) __builtin_ia32_psllqi256_mask ((__v4di) __A, __B, (__v4di) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_permutex_pd (__m256d __W, __mmask8 __U, __m256d __X, const int __imm) { return (__m256d) __builtin_ia32_permdf256_mask ((__v4df) __X, __imm, (__v4df) __W, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_permutex_pd (__mmask8 __U, __m256d __X, const int __imm) { return (__m256d) __builtin_ia32_permdf256_mask ((__v4df) __X, __imm, (__v4df) _mm256_setzero_pd (), (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_permute_pd (__m256d __W, __mmask8 __U, __m256d __X, const int __C) { return (__m256d) __builtin_ia32_vpermilpd256_mask ((__v4df) __X, __C, (__v4df) __W, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_permute_pd (__mmask8 __U, __m256d __X, const int __C) { return (__m256d) __builtin_ia32_vpermilpd256_mask ((__v4df) __X, __C, (__v4df) _mm256_setzero_pd (), (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_permute_pd (__m128d __W, __mmask8 __U, __m128d __X, const int __C) { return (__m128d) __builtin_ia32_vpermilpd_mask ((__v2df) __X, __C, (__v2df) __W, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_permute_pd (__mmask8 __U, __m128d __X, const int __C) { return (__m128d) __builtin_ia32_vpermilpd_mask ((__v2df) __X, __C, (__v2df) _mm_setzero_pd (), (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_permute_ps (__m256 __W, __mmask8 __U, __m256 __X, const int __C) { return (__m256) __builtin_ia32_vpermilps256_mask ((__v8sf) __X, __C, (__v8sf) __W, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_permute_ps (__mmask8 __U, __m256 __X, const int __C) { return (__m256) __builtin_ia32_vpermilps256_mask ((__v8sf) __X, __C, (__v8sf) _mm256_setzero_ps (), (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_permute_ps (__m128 __W, __mmask8 __U, __m128 __X, const int __C) { return (__m128) __builtin_ia32_vpermilps_mask ((__v4sf) __X, __C, (__v4sf) __W, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_permute_ps (__mmask8 __U, __m128 __X, const int __C) { return (__m128) __builtin_ia32_vpermilps_mask ((__v4sf) __X, __C, (__v4sf) _mm_setzero_ps (), (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_blend_pd (__mmask8 __U, __m256d __A, __m256d __W) { return (__m256d) __builtin_ia32_blendmpd_256_mask ((__v4df) __A, (__v4df) __W, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_blend_ps (__mmask8 __U, __m256 __A, __m256 __W) { return (__m256) __builtin_ia32_blendmps_256_mask ((__v8sf) __A, (__v8sf) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_blend_epi64 (__mmask8 __U, __m256i __A, __m256i __W) { return (__m256i) __builtin_ia32_blendmq_256_mask ((__v4di) __A, (__v4di) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_blend_epi32 (__mmask8 __U, __m256i __A, __m256i __W) { return (__m256i) __builtin_ia32_blendmd_256_mask ((__v8si) __A, (__v8si) __W, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_blend_pd (__mmask8 __U, __m128d __A, __m128d __W) { return (__m128d) __builtin_ia32_blendmpd_128_mask ((__v2df) __A, (__v2df) __W, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_blend_ps (__mmask8 __U, __m128 __A, __m128 __W) { return (__m128) __builtin_ia32_blendmps_128_mask ((__v4sf) __A, (__v4sf) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_blend_epi64 (__mmask8 __U, __m128i __A, __m128i __W) { return (__m128i) __builtin_ia32_blendmq_128_mask ((__v2di) __A, (__v2di) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_blend_epi32 (__mmask8 __U, __m128i __A, __m128i __W) { return (__m128i) __builtin_ia32_blendmd_128_mask ((__v4si) __A, (__v4si) __W, (__mmask8) __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmp_epi64_mask (__m256i __X, __m256i __Y, const int __P) { return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X, (__v4di) __Y, __P, (__mmask8) -1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmp_epi32_mask (__m256i __X, __m256i __Y, const int __P) { return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X, (__v8si) __Y, __P, (__mmask8) -1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmp_epu64_mask (__m256i __X, __m256i __Y, const int __P) { return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X, (__v4di) __Y, __P, (__mmask8) -1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmp_epu32_mask (__m256i __X, __m256i __Y, const int __P) { return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X, (__v8si) __Y, __P, (__mmask8) -1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmp_pd_mask (__m256d __X, __m256d __Y, const int __P) { return (__mmask8) __builtin_ia32_cmppd256_mask ((__v4df) __X, (__v4df) __Y, __P, (__mmask8) -1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmp_ps_mask (__m256 __X, __m256 __Y, const int __P) { return (__mmask8) __builtin_ia32_cmpps256_mask ((__v8sf) __X, (__v8sf) __Y, __P, (__mmask8) -1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmp_epi64_mask (__mmask8 __U, __m256i __X, __m256i __Y, const int __P) { return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X, (__v4di) __Y, __P, (__mmask8) __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmp_epi32_mask (__mmask8 __U, __m256i __X, __m256i __Y, const int __P) { return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X, (__v8si) __Y, __P, (__mmask8) __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmp_epu64_mask (__mmask8 __U, __m256i __X, __m256i __Y, const int __P) { return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X, (__v4di) __Y, __P, (__mmask8) __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmp_epu32_mask (__mmask8 __U, __m256i __X, __m256i __Y, const int __P) { return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X, (__v8si) __Y, __P, (__mmask8) __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmp_pd_mask (__mmask8 __U, __m256d __X, __m256d __Y, const int __P) { return (__mmask8) __builtin_ia32_cmppd256_mask ((__v4df) __X, (__v4df) __Y, __P, (__mmask8) __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmp_ps_mask (__mmask8 __U, __m256 __X, __m256 __Y, const int __P) { return (__mmask8) __builtin_ia32_cmpps256_mask ((__v8sf) __X, (__v8sf) __Y, __P, (__mmask8) __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmp_epi64_mask (__m128i __X, __m128i __Y, const int __P) { return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X, (__v2di) __Y, __P, (__mmask8) -1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmp_epi32_mask (__m128i __X, __m128i __Y, const int __P) { return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X, (__v4si) __Y, __P, (__mmask8) -1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmp_epu64_mask (__m128i __X, __m128i __Y, const int __P) { return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X, (__v2di) __Y, __P, (__mmask8) -1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmp_epu32_mask (__m128i __X, __m128i __Y, const int __P) { return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X, (__v4si) __Y, __P, (__mmask8) -1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmp_pd_mask (__m128d __X, __m128d __Y, const int __P) { return (__mmask8) __builtin_ia32_cmppd128_mask ((__v2df) __X, (__v2df) __Y, __P, (__mmask8) -1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmp_ps_mask (__m128 __X, __m128 __Y, const int __P) { return (__mmask8) __builtin_ia32_cmpps128_mask ((__v4sf) __X, (__v4sf) __Y, __P, (__mmask8) -1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cmp_epi64_mask (__mmask8 __U, __m128i __X, __m128i __Y, const int __P) { return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X, (__v2di) __Y, __P, (__mmask8) __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cmp_epi32_mask (__mmask8 __U, __m128i __X, __m128i __Y, const int __P) { return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X, (__v4si) __Y, __P, (__mmask8) __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cmp_epu64_mask (__mmask8 __U, __m128i __X, __m128i __Y, const int __P) { return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X, (__v2di) __Y, __P, (__mmask8) __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cmp_epu32_mask (__mmask8 __U, __m128i __X, __m128i __Y, const int __P) { return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X, (__v4si) __Y, __P, (__mmask8) __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cmp_pd_mask (__mmask8 __U, __m128d __X, __m128d __Y, const int __P) { return (__mmask8) __builtin_ia32_cmppd128_mask ((__v2df) __X, (__v2df) __Y, __P, (__mmask8) __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cmp_ps_mask (__mmask8 __U, __m128 __X, __m128 __Y, const int __P) { return (__mmask8) __builtin_ia32_cmpps128_mask ((__v4sf) __X, (__v4sf) __Y, __P, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_permutex_pd (__m256d __X, const int __M) { return (__m256d) __builtin_ia32_permdf256_mask ((__v4df) __X, __M, (__v4df) _mm256_undefined_pd (), (__mmask8) -1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmpneq_epu32_mask (__mmask8 __M, __m256i __X, __m256i __Y) { return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X, (__v8si) __Y, 4, (__mmask8) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmpneq_epu32_mask (__m256i __X, __m256i __Y) { return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X, (__v8si) __Y, 4, (__mmask8) - 1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmplt_epu32_mask (__mmask8 __M, __m256i __X, __m256i __Y) { return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X, (__v8si) __Y, 1, (__mmask8) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmplt_epu32_mask (__m256i __X, __m256i __Y) { return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X, (__v8si) __Y, 1, (__mmask8) - 1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmpge_epu32_mask (__mmask8 __M, __m256i __X, __m256i __Y) { return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X, (__v8si) __Y, 5, (__mmask8) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmpge_epu32_mask (__m256i __X, __m256i __Y) { return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X, (__v8si) __Y, 5, (__mmask8) - 1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmple_epu32_mask (__mmask8 __M, __m256i __X, __m256i __Y) { return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X, (__v8si) __Y, 2, (__mmask8) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmple_epu32_mask (__m256i __X, __m256i __Y) { return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X, (__v8si) __Y, 2, (__mmask8) - 1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmpneq_epu64_mask (__mmask8 __M, __m256i __X, __m256i __Y) { return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X, (__v4di) __Y, 4, (__mmask8) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmpneq_epu64_mask (__m256i __X, __m256i __Y) { return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X, (__v4di) __Y, 4, (__mmask8) - 1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmplt_epu64_mask (__mmask8 __M, __m256i __X, __m256i __Y) { return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X, (__v4di) __Y, 1, (__mmask8) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmplt_epu64_mask (__m256i __X, __m256i __Y) { return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X, (__v4di) __Y, 1, (__mmask8) - 1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmpge_epu64_mask (__mmask8 __M, __m256i __X, __m256i __Y) { return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X, (__v4di) __Y, 5, (__mmask8) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmpge_epu64_mask (__m256i __X, __m256i __Y) { return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X, (__v4di) __Y, 5, (__mmask8) - 1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmple_epu64_mask (__mmask8 __M, __m256i __X, __m256i __Y) { return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X, (__v4di) __Y, 2, (__mmask8) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmple_epu64_mask (__m256i __X, __m256i __Y) { return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X, (__v4di) __Y, 2, (__mmask8) - 1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmpneq_epi32_mask (__mmask8 __M, __m256i __X, __m256i __Y) { return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X, (__v8si) __Y, 4, (__mmask8) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmpneq_epi32_mask (__m256i __X, __m256i __Y) { return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X, (__v8si) __Y, 4, (__mmask8) - 1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmplt_epi32_mask (__mmask8 __M, __m256i __X, __m256i __Y) { return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X, (__v8si) __Y, 1, (__mmask8) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmplt_epi32_mask (__m256i __X, __m256i __Y) { return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X, (__v8si) __Y, 1, (__mmask8) - 1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmpge_epi32_mask (__mmask8 __M, __m256i __X, __m256i __Y) { return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X, (__v8si) __Y, 5, (__mmask8) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmpge_epi32_mask (__m256i __X, __m256i __Y) { return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X, (__v8si) __Y, 5, (__mmask8) - 1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmple_epi32_mask (__mmask8 __M, __m256i __X, __m256i __Y) { return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X, (__v8si) __Y, 2, (__mmask8) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmple_epi32_mask (__m256i __X, __m256i __Y) { return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X, (__v8si) __Y, 2, (__mmask8) - 1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmpneq_epi64_mask (__mmask8 __M, __m256i __X, __m256i __Y) { return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X, (__v4di) __Y, 4, (__mmask8) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmpneq_epi64_mask (__m256i __X, __m256i __Y) { return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X, (__v4di) __Y, 4, (__mmask8) - 1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmplt_epi64_mask (__mmask8 __M, __m256i __X, __m256i __Y) { return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X, (__v4di) __Y, 1, (__mmask8) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmplt_epi64_mask (__m256i __X, __m256i __Y) { return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X, (__v4di) __Y, 1, (__mmask8) - 1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmpge_epi64_mask (__mmask8 __M, __m256i __X, __m256i __Y) { return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X, (__v4di) __Y, 5, (__mmask8) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmpge_epi64_mask (__m256i __X, __m256i __Y) { return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X, (__v4di) __Y, 5, (__mmask8) - 1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmple_epi64_mask (__mmask8 __M, __m256i __X, __m256i __Y) { return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X, (__v4di) __Y, 2, (__mmask8) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmple_epi64_mask (__m256i __X, __m256i __Y) { return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X, (__v4di) __Y, 2, (__mmask8) - 1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cmpneq_epu32_mask (__mmask8 __M, __m128i __X, __m128i __Y) { return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X, (__v4si) __Y, 4, (__mmask8) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpneq_epu32_mask (__m128i __X, __m128i __Y) { return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X, (__v4si) __Y, 4, (__mmask8) - 1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cmplt_epu32_mask (__mmask8 __M, __m128i __X, __m128i __Y) { return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X, (__v4si) __Y, 1, (__mmask8) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmplt_epu32_mask (__m128i __X, __m128i __Y) { return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X, (__v4si) __Y, 1, (__mmask8) - 1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cmpge_epu32_mask (__mmask8 __M, __m128i __X, __m128i __Y) { return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X, (__v4si) __Y, 5, (__mmask8) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpge_epu32_mask (__m128i __X, __m128i __Y) { return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X, (__v4si) __Y, 5, (__mmask8) - 1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cmple_epu32_mask (__mmask8 __M, __m128i __X, __m128i __Y) { return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X, (__v4si) __Y, 2, (__mmask8) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmple_epu32_mask (__m128i __X, __m128i __Y) { return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X, (__v4si) __Y, 2, (__mmask8) - 1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cmpneq_epu64_mask (__mmask8 __M, __m128i __X, __m128i __Y) { return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X, (__v2di) __Y, 4, (__mmask8) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpneq_epu64_mask (__m128i __X, __m128i __Y) { return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X, (__v2di) __Y, 4, (__mmask8) - 1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cmplt_epu64_mask (__mmask8 __M, __m128i __X, __m128i __Y) { return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X, (__v2di) __Y, 1, (__mmask8) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmplt_epu64_mask (__m128i __X, __m128i __Y) { return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X, (__v2di) __Y, 1, (__mmask8) - 1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cmpge_epu64_mask (__mmask8 __M, __m128i __X, __m128i __Y) { return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X, (__v2di) __Y, 5, (__mmask8) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpge_epu64_mask (__m128i __X, __m128i __Y) { return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X, (__v2di) __Y, 5, (__mmask8) - 1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cmple_epu64_mask (__mmask8 __M, __m128i __X, __m128i __Y) { return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X, (__v2di) __Y, 2, (__mmask8) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmple_epu64_mask (__m128i __X, __m128i __Y) { return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X, (__v2di) __Y, 2, (__mmask8) - 1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cmpneq_epi32_mask (__mmask8 __M, __m128i __X, __m128i __Y) { return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X, (__v4si) __Y, 4, (__mmask8) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpneq_epi32_mask (__m128i __X, __m128i __Y) { return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X, (__v4si) __Y, 4, (__mmask8) - 1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cmplt_epi32_mask (__mmask8 __M, __m128i __X, __m128i __Y) { return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X, (__v4si) __Y, 1, (__mmask8) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmplt_epi32_mask (__m128i __X, __m128i __Y) { return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X, (__v4si) __Y, 1, (__mmask8) - 1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cmpge_epi32_mask (__mmask8 __M, __m128i __X, __m128i __Y) { return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X, (__v4si) __Y, 5, (__mmask8) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpge_epi32_mask (__m128i __X, __m128i __Y) { return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X, (__v4si) __Y, 5, (__mmask8) - 1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cmple_epi32_mask (__mmask8 __M, __m128i __X, __m128i __Y) { return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X, (__v4si) __Y, 2, (__mmask8) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmple_epi32_mask (__m128i __X, __m128i __Y) { return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X, (__v4si) __Y, 2, (__mmask8) - 1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cmpneq_epi64_mask (__mmask8 __M, __m128i __X, __m128i __Y) { return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X, (__v2di) __Y, 4, (__mmask8) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpneq_epi64_mask (__m128i __X, __m128i __Y) { return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X, (__v2di) __Y, 4, (__mmask8) - 1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cmplt_epi64_mask (__mmask8 __M, __m128i __X, __m128i __Y) { return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X, (__v2di) __Y, 1, (__mmask8) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmplt_epi64_mask (__m128i __X, __m128i __Y) { return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X, (__v2di) __Y, 1, (__mmask8) - 1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cmpge_epi64_mask (__mmask8 __M, __m128i __X, __m128i __Y) { return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X, (__v2di) __Y, 5, (__mmask8) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpge_epi64_mask (__m128i __X, __m128i __Y) { return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X, (__v2di) __Y, 5, (__mmask8) - 1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cmple_epi64_mask (__mmask8 __M, __m128i __X, __m128i __Y) { return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X, (__v2di) __Y, 2, (__mmask8) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmple_epi64_mask (__m128i __X, __m128i __Y) { return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X, (__v2di) __Y, 2, (__mmask8) - 1); } # 13595 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512vlintrin.h" 3 4 #pragma GCC pop_options # 54 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512bwintrin.h" 1 3 4 # 32 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512bwintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("avx512bw") typedef short __v32hi __attribute__ ((__vector_size__ (64))); typedef char __v64qi __attribute__ ((__vector_size__ (64))); typedef unsigned long long __mmask64; extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_setzero_qi (void) { return __extension__ (__m512i)(__v64qi){ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_setzero_hi (void) { return __extension__ (__m512i)(__v32hi){ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_mov_epi16 (__m512i __W, __mmask32 __U, __m512i __A) { return (__m512i) __builtin_ia32_movdquhi512_mask ((__v32hi) __A, (__v32hi) __W, (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_mov_epi16 (__mmask32 __U, __m512i __A) { return (__m512i) __builtin_ia32_movdquhi512_mask ((__v32hi) __A, (__v32hi) _mm512_setzero_hi (), (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_loadu_epi16 (__m512i __W, __mmask32 __U, void const *__P) { return (__m512i) __builtin_ia32_loaddquhi512_mask ((__v32hi *) __P, (__v32hi) __W, (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_loadu_epi16 (__mmask32 __U, void const *__P) { return (__m512i) __builtin_ia32_loaddquhi512_mask ((__v32hi *) __P, (__v32hi) _mm512_setzero_hi (), (__mmask32) __U); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_storeu_epi16 (void *__P, __mmask32 __U, __m512i __A) { __builtin_ia32_storedquhi512_mask ((__v32hi *) __P, (__v32hi) __A, (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_mov_epi8 (__m512i __W, __mmask64 __U, __m512i __A) { return (__m512i) __builtin_ia32_movdquqi512_mask ((__v64qi) __A, (__v64qi) __W, (__mmask64) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_mov_epi8 (__mmask64 __U, __m512i __A) { return (__m512i) __builtin_ia32_movdquqi512_mask ((__v64qi) __A, (__v64qi) _mm512_setzero_hi (), (__mmask64) __U); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_kunpackw (__mmask32 __A, __mmask32 __B) { return (__mmask32) __builtin_ia32_kunpcksi ((__mmask32) __A, (__mmask32) __B); } extern __inline __mmask64 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_kunpackd (__mmask64 __A, __mmask64 __B) { return (__mmask64) __builtin_ia32_kunpckdi ((__mmask64) __A, (__mmask64) __B); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_loadu_epi8 (__m512i __W, __mmask64 __U, void const *__P) { return (__m512i) __builtin_ia32_loaddquqi512_mask ((__v64qi *) __P, (__v64qi) __W, (__mmask64) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_loadu_epi8 (__mmask64 __U, void const *__P) { return (__m512i) __builtin_ia32_loaddquqi512_mask ((__v64qi *) __P, (__v64qi) _mm512_setzero_hi (), (__mmask64) __U); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_storeu_epi8 (void *__P, __mmask64 __U, __m512i __A) { __builtin_ia32_storedquqi512_mask ((__v64qi *) __P, (__v64qi) __A, (__mmask64) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_sad_epu8 (__m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_psadbw512 ((__v64qi) __A, (__v64qi) __B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvtepi16_epi8 (__m512i __A) { return (__m256i) __builtin_ia32_pmovwb512_mask ((__v32hi) __A, (__v32qi) _mm256_undefined_si256(), (__mmask32) -1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtepi16_epi8 (__m256i __O, __mmask32 __M, __m512i __A) { return (__m256i) __builtin_ia32_pmovwb512_mask ((__v32hi) __A, (__v32qi) __O, __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvtepi16_epi8 (__mmask32 __M, __m512i __A) { return (__m256i) __builtin_ia32_pmovwb512_mask ((__v32hi) __A, (__v32qi) _mm256_setzero_si256 (), __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvtsepi16_epi8 (__m512i __A) { return (__m256i) __builtin_ia32_pmovswb512_mask ((__v32hi) __A, (__v32qi)_mm256_undefined_si256(), (__mmask32) -1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtsepi16_epi8 (__m256i __O, __mmask32 __M, __m512i __A) { return (__m256i) __builtin_ia32_pmovswb512_mask ((__v32hi) __A, (__v32qi)__O, __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvtsepi16_epi8 (__mmask32 __M, __m512i __A) { return (__m256i) __builtin_ia32_pmovswb512_mask ((__v32hi) __A, (__v32qi) _mm256_setzero_si256 (), __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvtusepi16_epi8 (__m512i __A) { return (__m256i) __builtin_ia32_pmovuswb512_mask ((__v32hi) __A, (__v32qi)_mm256_undefined_si256(), (__mmask32) -1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtusepi16_epi8 (__m256i __O, __mmask32 __M, __m512i __A) { return (__m256i) __builtin_ia32_pmovuswb512_mask ((__v32hi) __A, (__v32qi) __O, __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvtusepi16_epi8 (__mmask32 __M, __m512i __A) { return (__m256i) __builtin_ia32_pmovuswb512_mask ((__v32hi) __A, (__v32qi) _mm256_setzero_si256 (), __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_broadcastb_epi8 (__m128i __A) { return (__m512i) __builtin_ia32_pbroadcastb512_mask ((__v16qi) __A, (__v64qi)_mm512_undefined_si512(), (__mmask64) - 1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_broadcastb_epi8 (__m512i __O, __mmask64 __M, __m128i __A) { return (__m512i) __builtin_ia32_pbroadcastb512_mask ((__v16qi) __A, (__v64qi) __O, __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_broadcastb_epi8 (__mmask64 __M, __m128i __A) { return (__m512i) __builtin_ia32_pbroadcastb512_mask ((__v16qi) __A, (__v64qi) _mm512_setzero_qi(), __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_set1_epi8 (__m512i __O, __mmask64 __M, char __A) { return (__m512i) __builtin_ia32_pbroadcastb512_gpr_mask (__A, (__v64qi) __O, __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_set1_epi8 (__mmask64 __M, char __A) { return (__m512i) __builtin_ia32_pbroadcastb512_gpr_mask (__A, (__v64qi) _mm512_setzero_qi(), __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_broadcastw_epi16 (__m128i __A) { return (__m512i) __builtin_ia32_pbroadcastw512_mask ((__v8hi) __A, (__v32hi)_mm512_undefined_si512(), (__mmask32)-1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_broadcastw_epi16 (__m512i __O, __mmask32 __M, __m128i __A) { return (__m512i) __builtin_ia32_pbroadcastw512_mask ((__v8hi) __A, (__v32hi) __O, __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_broadcastw_epi16 (__mmask32 __M, __m128i __A) { return (__m512i) __builtin_ia32_pbroadcastw512_mask ((__v8hi) __A, (__v32hi) _mm512_setzero_hi(), __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_set1_epi16 (__m512i __O, __mmask32 __M, short __A) { return (__m512i) __builtin_ia32_pbroadcastw512_gpr_mask (__A, (__v32hi) __O, __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_set1_epi16 (__mmask32 __M, short __A) { return (__m512i) __builtin_ia32_pbroadcastw512_gpr_mask (__A, (__v32hi) _mm512_setzero_hi(), __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mulhrs_epi16 (__m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pmulhrsw512_mask ((__v32hi) __A, (__v32hi) __B, (__v32hi) _mm512_setzero_hi (), (__mmask32) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_mulhrs_epi16 (__m512i __W, __mmask32 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pmulhrsw512_mask ((__v32hi) __A, (__v32hi) __B, (__v32hi) __W, (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_mulhrs_epi16 (__mmask32 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pmulhrsw512_mask ((__v32hi) __A, (__v32hi) __B, (__v32hi) _mm512_setzero_hi (), (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mulhi_epi16 (__m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pmulhw512_mask ((__v32hi) __A, (__v32hi) __B, (__v32hi) _mm512_setzero_hi (), (__mmask32) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_mulhi_epi16 (__m512i __W, __mmask32 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pmulhw512_mask ((__v32hi) __A, (__v32hi) __B, (__v32hi) __W, (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_mulhi_epi16 (__mmask32 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pmulhw512_mask ((__v32hi) __A, (__v32hi) __B, (__v32hi) _mm512_setzero_hi (), (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mulhi_epu16 (__m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pmulhuw512_mask ((__v32hi) __A, (__v32hi) __B, (__v32hi) _mm512_setzero_hi (), (__mmask32) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_mulhi_epu16 (__m512i __W, __mmask32 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pmulhuw512_mask ((__v32hi) __A, (__v32hi) __B, (__v32hi) __W, (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_mulhi_epu16 (__mmask32 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pmulhuw512_mask ((__v32hi) __A, (__v32hi) __B, (__v32hi) _mm512_setzero_hi (), (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mullo_epi16 (__m512i __A, __m512i __B) { return (__m512i) ((__v32hu) __A * (__v32hu) __B); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_mullo_epi16 (__m512i __W, __mmask32 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pmullw512_mask ((__v32hi) __A, (__v32hi) __B, (__v32hi) __W, (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_mullo_epi16 (__mmask32 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pmullw512_mask ((__v32hi) __A, (__v32hi) __B, (__v32hi) _mm512_setzero_hi (), (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvtepi8_epi16 (__m256i __A) { return (__m512i) __builtin_ia32_pmovsxbw512_mask ((__v32qi) __A, (__v32hi) _mm512_setzero_hi (), (__mmask32) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtepi8_epi16 (__m512i __W, __mmask32 __U, __m256i __A) { return (__m512i) __builtin_ia32_pmovsxbw512_mask ((__v32qi) __A, (__v32hi) __W, (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvtepi8_epi16 (__mmask32 __U, __m256i __A) { return (__m512i) __builtin_ia32_pmovsxbw512_mask ((__v32qi) __A, (__v32hi) _mm512_setzero_hi(), (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvtepu8_epi16 (__m256i __A) { return (__m512i) __builtin_ia32_pmovzxbw512_mask ((__v32qi) __A, (__v32hi) _mm512_setzero_hi (), (__mmask32) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtepu8_epi16 (__m512i __W, __mmask32 __U, __m256i __A) { return (__m512i) __builtin_ia32_pmovzxbw512_mask ((__v32qi) __A, (__v32hi) __W, (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvtepu8_epi16 (__mmask32 __U, __m256i __A) { return (__m512i) __builtin_ia32_pmovzxbw512_mask ((__v32qi) __A, (__v32hi) _mm512_setzero_hi(), (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_permutexvar_epi16 (__m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_permvarhi512_mask ((__v32hi) __B, (__v32hi) __A, (__v32hi) _mm512_setzero_hi (), (__mmask32) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_permutexvar_epi16 (__mmask32 __M, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_permvarhi512_mask ((__v32hi) __B, (__v32hi) __A, (__v32hi) _mm512_setzero_hi(), (__mmask32) __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_permutexvar_epi16 (__m512i __W, __mmask32 __M, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_permvarhi512_mask ((__v32hi) __B, (__v32hi) __A, (__v32hi) __W, (__mmask32) __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_permutex2var_epi16 (__m512i __A, __m512i __I, __m512i __B) { return (__m512i) __builtin_ia32_vpermt2varhi512_mask ((__v32hi) __I , (__v32hi) __A, (__v32hi) __B, (__mmask32) - 1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_permutex2var_epi16 (__m512i __A, __mmask32 __U, __m512i __I, __m512i __B) { return (__m512i) __builtin_ia32_vpermt2varhi512_mask ((__v32hi) __I , (__v32hi) __A, (__v32hi) __B, (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask2_permutex2var_epi16 (__m512i __A, __m512i __I, __mmask32 __U, __m512i __B) { return (__m512i) __builtin_ia32_vpermi2varhi512_mask ((__v32hi) __A, (__v32hi) __I , (__v32hi) __B, (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_permutex2var_epi16 (__mmask32 __U, __m512i __A, __m512i __I, __m512i __B) { return (__m512i) __builtin_ia32_vpermt2varhi512_maskz ((__v32hi) __I , (__v32hi) __A, (__v32hi) __B, (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_avg_epu8 (__m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pavgb512_mask ((__v64qi) __A, (__v64qi) __B, (__v64qi) _mm512_setzero_qi (), (__mmask64) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_avg_epu8 (__m512i __W, __mmask64 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pavgb512_mask ((__v64qi) __A, (__v64qi) __B, (__v64qi) __W, (__mmask64) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_avg_epu8 (__mmask64 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pavgb512_mask ((__v64qi) __A, (__v64qi) __B, (__v64qi) _mm512_setzero_qi(), (__mmask64) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_add_epi8 (__m512i __A, __m512i __B) { return (__m512i) ((__v64qu) __A + (__v64qu) __B); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_add_epi8 (__m512i __W, __mmask64 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_paddb512_mask ((__v64qi) __A, (__v64qi) __B, (__v64qi) __W, (__mmask64) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_add_epi8 (__mmask64 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_paddb512_mask ((__v64qi) __A, (__v64qi) __B, (__v64qi) _mm512_setzero_qi (), (__mmask64) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_sub_epi8 (__m512i __A, __m512i __B) { return (__m512i) ((__v64qu) __A - (__v64qu) __B); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_sub_epi8 (__m512i __W, __mmask64 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_psubb512_mask ((__v64qi) __A, (__v64qi) __B, (__v64qi) __W, (__mmask64) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_sub_epi8 (__mmask64 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_psubb512_mask ((__v64qi) __A, (__v64qi) __B, (__v64qi) _mm512_setzero_qi (), (__mmask64) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_avg_epu16 (__m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pavgw512_mask ((__v32hi) __A, (__v32hi) __B, (__v32hi) _mm512_setzero_hi (), (__mmask32) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_avg_epu16 (__m512i __W, __mmask32 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pavgw512_mask ((__v32hi) __A, (__v32hi) __B, (__v32hi) __W, (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_avg_epu16 (__mmask32 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pavgw512_mask ((__v32hi) __A, (__v32hi) __B, (__v32hi) _mm512_setzero_hi(), (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_subs_epi8 (__m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_psubsb512_mask ((__v64qi) __A, (__v64qi) __B, (__v64qi) _mm512_setzero_qi (), (__mmask64) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_subs_epi8 (__m512i __W, __mmask64 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_psubsb512_mask ((__v64qi) __A, (__v64qi) __B, (__v64qi) __W, (__mmask64) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_subs_epi8 (__mmask64 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_psubsb512_mask ((__v64qi) __A, (__v64qi) __B, (__v64qi) _mm512_setzero_qi (), (__mmask64) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_subs_epu8 (__m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_psubusb512_mask ((__v64qi) __A, (__v64qi) __B, (__v64qi) _mm512_setzero_qi (), (__mmask64) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_subs_epu8 (__m512i __W, __mmask64 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_psubusb512_mask ((__v64qi) __A, (__v64qi) __B, (__v64qi) __W, (__mmask64) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_subs_epu8 (__mmask64 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_psubusb512_mask ((__v64qi) __A, (__v64qi) __B, (__v64qi) _mm512_setzero_qi (), (__mmask64) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_adds_epi8 (__m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_paddsb512_mask ((__v64qi) __A, (__v64qi) __B, (__v64qi) _mm512_setzero_qi (), (__mmask64) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_adds_epi8 (__m512i __W, __mmask64 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_paddsb512_mask ((__v64qi) __A, (__v64qi) __B, (__v64qi) __W, (__mmask64) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_adds_epi8 (__mmask64 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_paddsb512_mask ((__v64qi) __A, (__v64qi) __B, (__v64qi) _mm512_setzero_qi (), (__mmask64) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_adds_epu8 (__m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_paddusb512_mask ((__v64qi) __A, (__v64qi) __B, (__v64qi) _mm512_setzero_qi (), (__mmask64) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_adds_epu8 (__m512i __W, __mmask64 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_paddusb512_mask ((__v64qi) __A, (__v64qi) __B, (__v64qi) __W, (__mmask64) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_adds_epu8 (__mmask64 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_paddusb512_mask ((__v64qi) __A, (__v64qi) __B, (__v64qi) _mm512_setzero_qi (), (__mmask64) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_sub_epi16 (__m512i __A, __m512i __B) { return (__m512i) ((__v32hu) __A - (__v32hu) __B); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_sub_epi16 (__m512i __W, __mmask32 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_psubw512_mask ((__v32hi) __A, (__v32hi) __B, (__v32hi) __W, (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_sub_epi16 (__mmask32 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_psubw512_mask ((__v32hi) __A, (__v32hi) __B, (__v32hi) _mm512_setzero_hi (), (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_subs_epi16 (__m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_psubsw512_mask ((__v32hi) __A, (__v32hi) __B, (__v32hi) _mm512_setzero_hi (), (__mmask32) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_subs_epi16 (__m512i __W, __mmask32 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_psubsw512_mask ((__v32hi) __A, (__v32hi) __B, (__v32hi) __W, (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_subs_epi16 (__mmask32 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_psubsw512_mask ((__v32hi) __A, (__v32hi) __B, (__v32hi) _mm512_setzero_hi (), (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_subs_epu16 (__m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_psubusw512_mask ((__v32hi) __A, (__v32hi) __B, (__v32hi) _mm512_setzero_hi (), (__mmask32) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_subs_epu16 (__m512i __W, __mmask32 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_psubusw512_mask ((__v32hi) __A, (__v32hi) __B, (__v32hi) __W, (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_subs_epu16 (__mmask32 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_psubusw512_mask ((__v32hi) __A, (__v32hi) __B, (__v32hi) _mm512_setzero_hi (), (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_add_epi16 (__m512i __A, __m512i __B) { return (__m512i) ((__v32hu) __A + (__v32hu) __B); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_add_epi16 (__m512i __W, __mmask32 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_paddw512_mask ((__v32hi) __A, (__v32hi) __B, (__v32hi) __W, (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_add_epi16 (__mmask32 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_paddw512_mask ((__v32hi) __A, (__v32hi) __B, (__v32hi) _mm512_setzero_hi (), (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_adds_epi16 (__m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_paddsw512_mask ((__v32hi) __A, (__v32hi) __B, (__v32hi) _mm512_setzero_hi (), (__mmask32) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_adds_epi16 (__m512i __W, __mmask32 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_paddsw512_mask ((__v32hi) __A, (__v32hi) __B, (__v32hi) __W, (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_adds_epi16 (__mmask32 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_paddsw512_mask ((__v32hi) __A, (__v32hi) __B, (__v32hi) _mm512_setzero_hi (), (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_adds_epu16 (__m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_paddusw512_mask ((__v32hi) __A, (__v32hi) __B, (__v32hi) _mm512_setzero_hi (), (__mmask32) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_adds_epu16 (__m512i __W, __mmask32 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_paddusw512_mask ((__v32hi) __A, (__v32hi) __B, (__v32hi) __W, (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_adds_epu16 (__mmask32 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_paddusw512_mask ((__v32hi) __A, (__v32hi) __B, (__v32hi) _mm512_setzero_hi (), (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_srl_epi16 (__m512i __A, __m128i __B) { return (__m512i) __builtin_ia32_psrlw512_mask ((__v32hi) __A, (__v8hi) __B, (__v32hi) _mm512_setzero_hi (), (__mmask32) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_srl_epi16 (__m512i __W, __mmask32 __U, __m512i __A, __m128i __B) { return (__m512i) __builtin_ia32_psrlw512_mask ((__v32hi) __A, (__v8hi) __B, (__v32hi) __W, (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_srl_epi16 (__mmask32 __U, __m512i __A, __m128i __B) { return (__m512i) __builtin_ia32_psrlw512_mask ((__v32hi) __A, (__v8hi) __B, (__v32hi) _mm512_setzero_hi (), (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_packs_epi16 (__m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_packsswb512_mask ((__v32hi) __A, (__v32hi) __B, (__v64qi) _mm512_setzero_qi (), (__mmask64) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_sll_epi16 (__m512i __A, __m128i __B) { return (__m512i) __builtin_ia32_psllw512_mask ((__v32hi) __A, (__v8hi) __B, (__v32hi) _mm512_setzero_hi (), (__mmask32) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_sll_epi16 (__m512i __W, __mmask32 __U, __m512i __A, __m128i __B) { return (__m512i) __builtin_ia32_psllw512_mask ((__v32hi) __A, (__v8hi) __B, (__v32hi) __W, (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_sll_epi16 (__mmask32 __U, __m512i __A, __m128i __B) { return (__m512i) __builtin_ia32_psllw512_mask ((__v32hi) __A, (__v8hi) __B, (__v32hi) _mm512_setzero_hi (), (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maddubs_epi16 (__m512i __X, __m512i __Y) { return (__m512i) __builtin_ia32_pmaddubsw512_mask ((__v64qi) __X, (__v64qi) __Y, (__v32hi) _mm512_setzero_hi (), (__mmask32) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_maddubs_epi16 (__m512i __W, __mmask32 __U, __m512i __X, __m512i __Y) { return (__m512i) __builtin_ia32_pmaddubsw512_mask ((__v64qi) __X, (__v64qi) __Y, (__v32hi) __W, (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_maddubs_epi16 (__mmask32 __U, __m512i __X, __m512i __Y) { return (__m512i) __builtin_ia32_pmaddubsw512_mask ((__v64qi) __X, (__v64qi) __Y, (__v32hi) _mm512_setzero_hi (), (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_madd_epi16 (__m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pmaddwd512_mask ((__v32hi) __A, (__v32hi) __B, (__v16si) _mm512_setzero_si512 (), (__mmask16) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_madd_epi16 (__m512i __W, __mmask16 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pmaddwd512_mask ((__v32hi) __A, (__v32hi) __B, (__v16si) __W, (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_madd_epi16 (__mmask16 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pmaddwd512_mask ((__v32hi) __A, (__v32hi) __B, (__v16si) _mm512_setzero_si512 (), (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_unpackhi_epi8 (__m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_punpckhbw512_mask ((__v64qi) __A, (__v64qi) __B, (__v64qi) _mm512_setzero_qi (), (__mmask64) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_unpackhi_epi8 (__m512i __W, __mmask64 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_punpckhbw512_mask ((__v64qi) __A, (__v64qi) __B, (__v64qi) __W, (__mmask64) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_unpackhi_epi8 (__mmask64 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_punpckhbw512_mask ((__v64qi) __A, (__v64qi) __B, (__v64qi) _mm512_setzero_qi(), (__mmask64) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_unpackhi_epi16 (__m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_punpckhwd512_mask ((__v32hi) __A, (__v32hi) __B, (__v32hi) _mm512_setzero_hi (), (__mmask32) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_unpackhi_epi16 (__m512i __W, __mmask32 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_punpckhwd512_mask ((__v32hi) __A, (__v32hi) __B, (__v32hi) __W, (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_unpackhi_epi16 (__mmask32 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_punpckhwd512_mask ((__v32hi) __A, (__v32hi) __B, (__v32hi) _mm512_setzero_hi(), (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_unpacklo_epi8 (__m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_punpcklbw512_mask ((__v64qi) __A, (__v64qi) __B, (__v64qi) _mm512_setzero_qi (), (__mmask64) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_unpacklo_epi8 (__m512i __W, __mmask64 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_punpcklbw512_mask ((__v64qi) __A, (__v64qi) __B, (__v64qi) __W, (__mmask64) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_unpacklo_epi8 (__mmask64 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_punpcklbw512_mask ((__v64qi) __A, (__v64qi) __B, (__v64qi) _mm512_setzero_qi(), (__mmask64) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_unpacklo_epi16 (__m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_punpcklwd512_mask ((__v32hi) __A, (__v32hi) __B, (__v32hi) _mm512_setzero_hi (), (__mmask32) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_unpacklo_epi16 (__m512i __W, __mmask32 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_punpcklwd512_mask ((__v32hi) __A, (__v32hi) __B, (__v32hi) __W, (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_unpacklo_epi16 (__mmask32 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_punpcklwd512_mask ((__v32hi) __A, (__v32hi) __B, (__v32hi) _mm512_setzero_hi(), (__mmask32) __U); } extern __inline __mmask64 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmpeq_epu8_mask (__m512i __A, __m512i __B) { return (__mmask64) __builtin_ia32_ucmpb512_mask ((__v64qi) __A, (__v64qi) __B, 0, (__mmask64) -1); } extern __inline __mmask64 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmpeq_epi8_mask (__m512i __A, __m512i __B) { return (__mmask64) __builtin_ia32_pcmpeqb512_mask ((__v64qi) __A, (__v64qi) __B, (__mmask64) -1); } extern __inline __mmask64 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmpeq_epu8_mask (__mmask64 __U, __m512i __A, __m512i __B) { return (__mmask64) __builtin_ia32_ucmpb512_mask ((__v64qi) __A, (__v64qi) __B, 0, __U); } extern __inline __mmask64 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmpeq_epi8_mask (__mmask64 __U, __m512i __A, __m512i __B) { return (__mmask64) __builtin_ia32_pcmpeqb512_mask ((__v64qi) __A, (__v64qi) __B, __U); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmpeq_epu16_mask (__m512i __A, __m512i __B) { return (__mmask32) __builtin_ia32_ucmpw512_mask ((__v32hi) __A, (__v32hi) __B, 0, (__mmask32) -1); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmpeq_epi16_mask (__m512i __A, __m512i __B) { return (__mmask32) __builtin_ia32_pcmpeqw512_mask ((__v32hi) __A, (__v32hi) __B, (__mmask32) -1); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmpeq_epu16_mask (__mmask32 __U, __m512i __A, __m512i __B) { return (__mmask32) __builtin_ia32_ucmpw512_mask ((__v32hi) __A, (__v32hi) __B, 0, __U); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmpeq_epi16_mask (__mmask32 __U, __m512i __A, __m512i __B) { return (__mmask32) __builtin_ia32_pcmpeqw512_mask ((__v32hi) __A, (__v32hi) __B, __U); } extern __inline __mmask64 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmpgt_epu8_mask (__m512i __A, __m512i __B) { return (__mmask64) __builtin_ia32_ucmpb512_mask ((__v64qi) __A, (__v64qi) __B, 6, (__mmask64) -1); } extern __inline __mmask64 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmpgt_epi8_mask (__m512i __A, __m512i __B) { return (__mmask64) __builtin_ia32_pcmpgtb512_mask ((__v64qi) __A, (__v64qi) __B, (__mmask64) -1); } extern __inline __mmask64 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmpgt_epu8_mask (__mmask64 __U, __m512i __A, __m512i __B) { return (__mmask64) __builtin_ia32_ucmpb512_mask ((__v64qi) __A, (__v64qi) __B, 6, __U); } extern __inline __mmask64 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmpgt_epi8_mask (__mmask64 __U, __m512i __A, __m512i __B) { return (__mmask64) __builtin_ia32_pcmpgtb512_mask ((__v64qi) __A, (__v64qi) __B, __U); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmpgt_epu16_mask (__m512i __A, __m512i __B) { return (__mmask32) __builtin_ia32_ucmpw512_mask ((__v32hi) __A, (__v32hi) __B, 6, (__mmask32) -1); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmpgt_epi16_mask (__m512i __A, __m512i __B) { return (__mmask32) __builtin_ia32_pcmpgtw512_mask ((__v32hi) __A, (__v32hi) __B, (__mmask32) -1); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmpgt_epu16_mask (__mmask32 __U, __m512i __A, __m512i __B) { return (__mmask32) __builtin_ia32_ucmpw512_mask ((__v32hi) __A, (__v32hi) __B, 6, __U); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmpgt_epi16_mask (__mmask32 __U, __m512i __A, __m512i __B) { return (__mmask32) __builtin_ia32_pcmpgtw512_mask ((__v32hi) __A, (__v32hi) __B, __U); } extern __inline __mmask64 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_movepi8_mask (__m512i __A) { return (__mmask64) __builtin_ia32_cvtb2mask512 ((__v64qi) __A); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_movepi16_mask (__m512i __A) { return (__mmask32) __builtin_ia32_cvtw2mask512 ((__v32hi) __A); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_movm_epi8 (__mmask64 __A) { return (__m512i) __builtin_ia32_cvtmask2b512 (__A); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_movm_epi16 (__mmask32 __A) { return (__m512i) __builtin_ia32_cvtmask2w512 (__A); } extern __inline __mmask64 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_test_epi8_mask (__m512i __A, __m512i __B) { return (__mmask64) __builtin_ia32_ptestmb512 ((__v64qi) __A, (__v64qi) __B, (__mmask64) -1); } extern __inline __mmask64 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_test_epi8_mask (__mmask64 __U, __m512i __A, __m512i __B) { return (__mmask64) __builtin_ia32_ptestmb512 ((__v64qi) __A, (__v64qi) __B, __U); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_test_epi16_mask (__m512i __A, __m512i __B) { return (__mmask32) __builtin_ia32_ptestmw512 ((__v32hi) __A, (__v32hi) __B, (__mmask32) -1); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_test_epi16_mask (__mmask32 __U, __m512i __A, __m512i __B) { return (__mmask32) __builtin_ia32_ptestmw512 ((__v32hi) __A, (__v32hi) __B, __U); } extern __inline __mmask64 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_testn_epi8_mask (__m512i __A, __m512i __B) { return (__mmask64) __builtin_ia32_ptestnmb512 ((__v64qi) __A, (__v64qi) __B, (__mmask64) -1); } extern __inline __mmask64 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_testn_epi8_mask (__mmask64 __U, __m512i __A, __m512i __B) { return (__mmask64) __builtin_ia32_ptestnmb512 ((__v64qi) __A, (__v64qi) __B, __U); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_testn_epi16_mask (__m512i __A, __m512i __B) { return (__mmask32) __builtin_ia32_ptestnmw512 ((__v32hi) __A, (__v32hi) __B, (__mmask32) -1); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_testn_epi16_mask (__mmask32 __U, __m512i __A, __m512i __B) { return (__mmask32) __builtin_ia32_ptestnmw512 ((__v32hi) __A, (__v32hi) __B, __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_shuffle_epi8 (__m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pshufb512_mask ((__v64qi) __A, (__v64qi) __B, (__v64qi) _mm512_setzero_qi (), (__mmask64) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_shuffle_epi8 (__m512i __W, __mmask64 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pshufb512_mask ((__v64qi) __A, (__v64qi) __B, (__v64qi) __W, (__mmask64) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_shuffle_epi8 (__mmask64 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pshufb512_mask ((__v64qi) __A, (__v64qi) __B, (__v64qi) _mm512_setzero_qi (), (__mmask64) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_min_epu16 (__m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pminuw512_mask ((__v32hi) __A, (__v32hi) __B, (__v32hi) _mm512_setzero_hi (), (__mmask32) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_min_epu16 (__mmask32 __M, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pminuw512_mask ((__v32hi) __A, (__v32hi) __B, (__v32hi) _mm512_setzero_hi(), (__mmask32) __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_min_epu16 (__m512i __W, __mmask32 __M, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pminuw512_mask ((__v32hi) __A, (__v32hi) __B, (__v32hi) __W, (__mmask32) __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_min_epi16 (__m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pminsw512_mask ((__v32hi) __A, (__v32hi) __B, (__v32hi) _mm512_setzero_hi (), (__mmask32) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_min_epi16 (__mmask32 __M, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pminsw512_mask ((__v32hi) __A, (__v32hi) __B, (__v32hi) _mm512_setzero_hi(), (__mmask32) __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_min_epi16 (__m512i __W, __mmask32 __M, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pminsw512_mask ((__v32hi) __A, (__v32hi) __B, (__v32hi) __W, (__mmask32) __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_max_epu8 (__m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pmaxub512_mask ((__v64qi) __A, (__v64qi) __B, (__v64qi) _mm512_setzero_qi (), (__mmask64) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_max_epu8 (__mmask64 __M, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pmaxub512_mask ((__v64qi) __A, (__v64qi) __B, (__v64qi) _mm512_setzero_qi(), (__mmask64) __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_max_epu8 (__m512i __W, __mmask64 __M, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pmaxub512_mask ((__v64qi) __A, (__v64qi) __B, (__v64qi) __W, (__mmask64) __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_max_epi8 (__m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pmaxsb512_mask ((__v64qi) __A, (__v64qi) __B, (__v64qi) _mm512_setzero_qi (), (__mmask64) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_max_epi8 (__mmask64 __M, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pmaxsb512_mask ((__v64qi) __A, (__v64qi) __B, (__v64qi) _mm512_setzero_qi(), (__mmask64) __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_max_epi8 (__m512i __W, __mmask64 __M, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pmaxsb512_mask ((__v64qi) __A, (__v64qi) __B, (__v64qi) __W, (__mmask64) __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_min_epu8 (__m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pminub512_mask ((__v64qi) __A, (__v64qi) __B, (__v64qi) _mm512_setzero_qi (), (__mmask64) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_min_epu8 (__mmask64 __M, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pminub512_mask ((__v64qi) __A, (__v64qi) __B, (__v64qi) _mm512_setzero_qi(), (__mmask64) __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_min_epu8 (__m512i __W, __mmask64 __M, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pminub512_mask ((__v64qi) __A, (__v64qi) __B, (__v64qi) __W, (__mmask64) __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_min_epi8 (__m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pminsb512_mask ((__v64qi) __A, (__v64qi) __B, (__v64qi) _mm512_setzero_qi (), (__mmask64) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_min_epi8 (__mmask64 __M, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pminsb512_mask ((__v64qi) __A, (__v64qi) __B, (__v64qi) _mm512_setzero_qi(), (__mmask64) __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_min_epi8 (__m512i __W, __mmask64 __M, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pminsb512_mask ((__v64qi) __A, (__v64qi) __B, (__v64qi) __W, (__mmask64) __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_max_epi16 (__m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pmaxsw512_mask ((__v32hi) __A, (__v32hi) __B, (__v32hi) _mm512_setzero_hi (), (__mmask32) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_max_epi16 (__mmask32 __M, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pmaxsw512_mask ((__v32hi) __A, (__v32hi) __B, (__v32hi) _mm512_setzero_hi(), (__mmask32) __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_max_epi16 (__m512i __W, __mmask32 __M, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pmaxsw512_mask ((__v32hi) __A, (__v32hi) __B, (__v32hi) __W, (__mmask32) __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_max_epu16 (__m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pmaxuw512_mask ((__v32hi) __A, (__v32hi) __B, (__v32hi) _mm512_setzero_hi (), (__mmask32) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_max_epu16 (__mmask32 __M, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pmaxuw512_mask ((__v32hi) __A, (__v32hi) __B, (__v32hi) _mm512_setzero_hi(), (__mmask32) __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_max_epu16 (__m512i __W, __mmask32 __M, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pmaxuw512_mask ((__v32hi) __A, (__v32hi) __B, (__v32hi) __W, (__mmask32) __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_sra_epi16 (__m512i __A, __m128i __B) { return (__m512i) __builtin_ia32_psraw512_mask ((__v32hi) __A, (__v8hi) __B, (__v32hi) _mm512_setzero_hi (), (__mmask32) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_sra_epi16 (__m512i __W, __mmask32 __U, __m512i __A, __m128i __B) { return (__m512i) __builtin_ia32_psraw512_mask ((__v32hi) __A, (__v8hi) __B, (__v32hi) __W, (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_sra_epi16 (__mmask32 __U, __m512i __A, __m128i __B) { return (__m512i) __builtin_ia32_psraw512_mask ((__v32hi) __A, (__v8hi) __B, (__v32hi) _mm512_setzero_hi (), (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_srav_epi16 (__m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_psrav32hi_mask ((__v32hi) __A, (__v32hi) __B, (__v32hi) _mm512_setzero_hi (), (__mmask32) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_srav_epi16 (__m512i __W, __mmask32 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_psrav32hi_mask ((__v32hi) __A, (__v32hi) __B, (__v32hi) __W, (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_srav_epi16 (__mmask32 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_psrav32hi_mask ((__v32hi) __A, (__v32hi) __B, (__v32hi) _mm512_setzero_hi (), (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_srlv_epi16 (__m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_psrlv32hi_mask ((__v32hi) __A, (__v32hi) __B, (__v32hi) _mm512_setzero_hi (), (__mmask32) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_srlv_epi16 (__m512i __W, __mmask32 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_psrlv32hi_mask ((__v32hi) __A, (__v32hi) __B, (__v32hi) __W, (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_srlv_epi16 (__mmask32 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_psrlv32hi_mask ((__v32hi) __A, (__v32hi) __B, (__v32hi) _mm512_setzero_hi (), (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_sllv_epi16 (__m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_psllv32hi_mask ((__v32hi) __A, (__v32hi) __B, (__v32hi) _mm512_setzero_hi (), (__mmask32) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_sllv_epi16 (__m512i __W, __mmask32 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_psllv32hi_mask ((__v32hi) __A, (__v32hi) __B, (__v32hi) __W, (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_sllv_epi16 (__mmask32 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_psllv32hi_mask ((__v32hi) __A, (__v32hi) __B, (__v32hi) _mm512_setzero_hi (), (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_packs_epi16 (__m512i __W, __mmask64 __M, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_packsswb512_mask ((__v32hi) __A, (__v32hi) __B, (__v64qi) __W, (__mmask64) __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_packs_epi16 (__mmask64 __M, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_packsswb512_mask ((__v32hi) __A, (__v32hi) __B, (__v64qi) _mm512_setzero_qi(), __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_packus_epi16 (__m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_packuswb512_mask ((__v32hi) __A, (__v32hi) __B, (__v64qi) _mm512_setzero_qi (), (__mmask64) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_packus_epi16 (__m512i __W, __mmask64 __M, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_packuswb512_mask ((__v32hi) __A, (__v32hi) __B, (__v64qi) __W, (__mmask64) __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_packus_epi16 (__mmask64 __M, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_packuswb512_mask ((__v32hi) __A, (__v32hi) __B, (__v64qi) _mm512_setzero_qi(), (__mmask64) __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_abs_epi8 (__m512i __A) { return (__m512i) __builtin_ia32_pabsb512_mask ((__v64qi) __A, (__v64qi) _mm512_setzero_qi (), (__mmask64) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_abs_epi8 (__m512i __W, __mmask64 __U, __m512i __A) { return (__m512i) __builtin_ia32_pabsb512_mask ((__v64qi) __A, (__v64qi) __W, (__mmask64) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_abs_epi8 (__mmask64 __U, __m512i __A) { return (__m512i) __builtin_ia32_pabsb512_mask ((__v64qi) __A, (__v64qi) _mm512_setzero_qi (), (__mmask64) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_abs_epi16 (__m512i __A) { return (__m512i) __builtin_ia32_pabsw512_mask ((__v32hi) __A, (__v32hi) _mm512_setzero_hi (), (__mmask32) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_abs_epi16 (__m512i __W, __mmask32 __U, __m512i __A) { return (__m512i) __builtin_ia32_pabsw512_mask ((__v32hi) __A, (__v32hi) __W, (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_abs_epi16 (__mmask32 __U, __m512i __A) { return (__m512i) __builtin_ia32_pabsw512_mask ((__v32hi) __A, (__v32hi) _mm512_setzero_hi (), (__mmask32) __U); } extern __inline __mmask64 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmpneq_epu8_mask (__mmask64 __M, __m512i __X, __m512i __Y) { return (__mmask64) __builtin_ia32_ucmpb512_mask ((__v64qi) __X, (__v64qi) __Y, 4, (__mmask64) __M); } extern __inline __mmask64 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmplt_epu8_mask (__mmask64 __M, __m512i __X, __m512i __Y) { return (__mmask64) __builtin_ia32_ucmpb512_mask ((__v64qi) __X, (__v64qi) __Y, 1, (__mmask64) __M); } extern __inline __mmask64 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmpge_epu8_mask (__mmask64 __M, __m512i __X, __m512i __Y) { return (__mmask64) __builtin_ia32_ucmpb512_mask ((__v64qi) __X, (__v64qi) __Y, 5, (__mmask64) __M); } extern __inline __mmask64 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmple_epu8_mask (__mmask64 __M, __m512i __X, __m512i __Y) { return (__mmask64) __builtin_ia32_ucmpb512_mask ((__v64qi) __X, (__v64qi) __Y, 2, (__mmask64) __M); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmpneq_epu16_mask (__mmask32 __M, __m512i __X, __m512i __Y) { return (__mmask32) __builtin_ia32_ucmpw512_mask ((__v32hi) __X, (__v32hi) __Y, 4, (__mmask32) __M); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmplt_epu16_mask (__mmask32 __M, __m512i __X, __m512i __Y) { return (__mmask32) __builtin_ia32_ucmpw512_mask ((__v32hi) __X, (__v32hi) __Y, 1, (__mmask32) __M); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmpge_epu16_mask (__mmask32 __M, __m512i __X, __m512i __Y) { return (__mmask32) __builtin_ia32_ucmpw512_mask ((__v32hi) __X, (__v32hi) __Y, 5, (__mmask32) __M); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmple_epu16_mask (__mmask32 __M, __m512i __X, __m512i __Y) { return (__mmask32) __builtin_ia32_ucmpw512_mask ((__v32hi) __X, (__v32hi) __Y, 2, (__mmask32) __M); } extern __inline __mmask64 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmpneq_epi8_mask (__mmask64 __M, __m512i __X, __m512i __Y) { return (__mmask64) __builtin_ia32_cmpb512_mask ((__v64qi) __X, (__v64qi) __Y, 4, (__mmask64) __M); } extern __inline __mmask64 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmplt_epi8_mask (__mmask64 __M, __m512i __X, __m512i __Y) { return (__mmask64) __builtin_ia32_cmpb512_mask ((__v64qi) __X, (__v64qi) __Y, 1, (__mmask64) __M); } extern __inline __mmask64 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmpge_epi8_mask (__mmask64 __M, __m512i __X, __m512i __Y) { return (__mmask64) __builtin_ia32_cmpb512_mask ((__v64qi) __X, (__v64qi) __Y, 5, (__mmask64) __M); } extern __inline __mmask64 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmple_epi8_mask (__mmask64 __M, __m512i __X, __m512i __Y) { return (__mmask64) __builtin_ia32_cmpb512_mask ((__v64qi) __X, (__v64qi) __Y, 2, (__mmask64) __M); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmpneq_epi16_mask (__mmask32 __M, __m512i __X, __m512i __Y) { return (__mmask32) __builtin_ia32_cmpw512_mask ((__v32hi) __X, (__v32hi) __Y, 4, (__mmask32) __M); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmplt_epi16_mask (__mmask32 __M, __m512i __X, __m512i __Y) { return (__mmask32) __builtin_ia32_cmpw512_mask ((__v32hi) __X, (__v32hi) __Y, 1, (__mmask32) __M); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmpge_epi16_mask (__mmask32 __M, __m512i __X, __m512i __Y) { return (__mmask32) __builtin_ia32_cmpw512_mask ((__v32hi) __X, (__v32hi) __Y, 5, (__mmask32) __M); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmple_epi16_mask (__mmask32 __M, __m512i __X, __m512i __Y) { return (__mmask32) __builtin_ia32_cmpw512_mask ((__v32hi) __X, (__v32hi) __Y, 2, (__mmask32) __M); } extern __inline __mmask64 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmpneq_epu8_mask (__m512i __X, __m512i __Y) { return (__mmask64) __builtin_ia32_ucmpb512_mask ((__v64qi) __X, (__v64qi) __Y, 4, (__mmask64) - 1); } extern __inline __mmask64 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmplt_epu8_mask (__m512i __X, __m512i __Y) { return (__mmask64) __builtin_ia32_ucmpb512_mask ((__v64qi) __X, (__v64qi) __Y, 1, (__mmask64) - 1); } extern __inline __mmask64 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmpge_epu8_mask (__m512i __X, __m512i __Y) { return (__mmask64) __builtin_ia32_ucmpb512_mask ((__v64qi) __X, (__v64qi) __Y, 5, (__mmask64) - 1); } extern __inline __mmask64 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmple_epu8_mask (__m512i __X, __m512i __Y) { return (__mmask64) __builtin_ia32_ucmpb512_mask ((__v64qi) __X, (__v64qi) __Y, 2, (__mmask64) - 1); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmpneq_epu16_mask (__m512i __X, __m512i __Y) { return (__mmask32) __builtin_ia32_ucmpw512_mask ((__v32hi) __X, (__v32hi) __Y, 4, (__mmask32) - 1); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmplt_epu16_mask (__m512i __X, __m512i __Y) { return (__mmask32) __builtin_ia32_ucmpw512_mask ((__v32hi) __X, (__v32hi) __Y, 1, (__mmask32) - 1); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmpge_epu16_mask (__m512i __X, __m512i __Y) { return (__mmask32) __builtin_ia32_ucmpw512_mask ((__v32hi) __X, (__v32hi) __Y, 5, (__mmask32) - 1); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmple_epu16_mask (__m512i __X, __m512i __Y) { return (__mmask32) __builtin_ia32_ucmpw512_mask ((__v32hi) __X, (__v32hi) __Y, 2, (__mmask32) - 1); } extern __inline __mmask64 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmpneq_epi8_mask (__m512i __X, __m512i __Y) { return (__mmask64) __builtin_ia32_cmpb512_mask ((__v64qi) __X, (__v64qi) __Y, 4, (__mmask64) - 1); } extern __inline __mmask64 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmplt_epi8_mask (__m512i __X, __m512i __Y) { return (__mmask64) __builtin_ia32_cmpb512_mask ((__v64qi) __X, (__v64qi) __Y, 1, (__mmask64) - 1); } extern __inline __mmask64 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmpge_epi8_mask (__m512i __X, __m512i __Y) { return (__mmask64) __builtin_ia32_cmpb512_mask ((__v64qi) __X, (__v64qi) __Y, 5, (__mmask64) - 1); } extern __inline __mmask64 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmple_epi8_mask (__m512i __X, __m512i __Y) { return (__mmask64) __builtin_ia32_cmpb512_mask ((__v64qi) __X, (__v64qi) __Y, 2, (__mmask64) - 1); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmpneq_epi16_mask (__m512i __X, __m512i __Y) { return (__mmask32) __builtin_ia32_cmpw512_mask ((__v32hi) __X, (__v32hi) __Y, 4, (__mmask32) - 1); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmplt_epi16_mask (__m512i __X, __m512i __Y) { return (__mmask32) __builtin_ia32_cmpw512_mask ((__v32hi) __X, (__v32hi) __Y, 1, (__mmask32) - 1); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmpge_epi16_mask (__m512i __X, __m512i __Y) { return (__mmask32) __builtin_ia32_cmpw512_mask ((__v32hi) __X, (__v32hi) __Y, 5, (__mmask32) - 1); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmple_epi16_mask (__m512i __X, __m512i __Y) { return (__mmask32) __builtin_ia32_cmpw512_mask ((__v32hi) __X, (__v32hi) __Y, 2, (__mmask32) - 1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_alignr_epi8 (__m512i __A, __m512i __B, const int __N) { return (__m512i) __builtin_ia32_palignr512 ((__v8di) __A, (__v8di) __B, __N * 8); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_alignr_epi8 (__m512i __W, __mmask64 __U, __m512i __A, __m512i __B, const int __N) { return (__m512i) __builtin_ia32_palignr512_mask ((__v8di) __A, (__v8di) __B, __N * 8, (__v8di) __W, (__mmask64) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_alignr_epi8 (__mmask64 __U, __m512i __A, __m512i __B, const int __N) { return (__m512i) __builtin_ia32_palignr512_mask ((__v8di) __A, (__v8di) __B, __N * 8, (__v8di) _mm512_setzero_si512 (), (__mmask64) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_dbsad_epu8 (__m512i __A, __m512i __B, const int __imm) { return (__m512i) __builtin_ia32_dbpsadbw512_mask ((__v64qi) __A, (__v64qi) __B, __imm, (__v32hi) _mm512_setzero_hi (), (__mmask32) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_dbsad_epu8 (__m512i __W, __mmask32 __U, __m512i __A, __m512i __B, const int __imm) { return (__m512i) __builtin_ia32_dbpsadbw512_mask ((__v64qi) __A, (__v64qi) __B, __imm, (__v32hi) __W, (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_dbsad_epu8 (__mmask32 __U, __m512i __A, __m512i __B, const int __imm) { return (__m512i) __builtin_ia32_dbpsadbw512_mask ((__v64qi) __A, (__v64qi) __B, __imm, (__v32hi) _mm512_setzero_hi(), (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_srli_epi16 (__m512i __A, const int __imm) { return (__m512i) __builtin_ia32_psrlwi512_mask ((__v32hi) __A, __imm, (__v32hi) _mm512_setzero_hi (), (__mmask32) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_srli_epi16 (__m512i __W, __mmask32 __U, __m512i __A, const int __imm) { return (__m512i) __builtin_ia32_psrlwi512_mask ((__v32hi) __A, __imm, (__v32hi) __W, (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_srli_epi16 (__mmask32 __U, __m512i __A, const int __imm) { return (__m512i) __builtin_ia32_psrlwi512_mask ((__v32hi) __A, __imm, (__v32hi) _mm512_setzero_hi (), (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_slli_epi16 (__m512i __A, const int __B) { return (__m512i) __builtin_ia32_psllwi512_mask ((__v32hi) __A, __B, (__v32hi) _mm512_setzero_hi (), (__mmask32) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_slli_epi16 (__m512i __W, __mmask32 __U, __m512i __A, const int __B) { return (__m512i) __builtin_ia32_psllwi512_mask ((__v32hi) __A, __B, (__v32hi) __W, (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_slli_epi16 (__mmask32 __U, __m512i __A, const int __B) { return (__m512i) __builtin_ia32_psllwi512_mask ((__v32hi) __A, __B, (__v32hi) _mm512_setzero_hi (), (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_shufflehi_epi16 (__m512i __A, const int __imm) { return (__m512i) __builtin_ia32_pshufhw512_mask ((__v32hi) __A, __imm, (__v32hi) _mm512_setzero_hi (), (__mmask32) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_shufflehi_epi16 (__m512i __W, __mmask32 __U, __m512i __A, const int __imm) { return (__m512i) __builtin_ia32_pshufhw512_mask ((__v32hi) __A, __imm, (__v32hi) __W, (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_shufflehi_epi16 (__mmask32 __U, __m512i __A, const int __imm) { return (__m512i) __builtin_ia32_pshufhw512_mask ((__v32hi) __A, __imm, (__v32hi) _mm512_setzero_hi (), (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_shufflelo_epi16 (__m512i __A, const int __imm) { return (__m512i) __builtin_ia32_pshuflw512_mask ((__v32hi) __A, __imm, (__v32hi) _mm512_setzero_hi (), (__mmask32) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_shufflelo_epi16 (__m512i __W, __mmask32 __U, __m512i __A, const int __imm) { return (__m512i) __builtin_ia32_pshuflw512_mask ((__v32hi) __A, __imm, (__v32hi) __W, (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_shufflelo_epi16 (__mmask32 __U, __m512i __A, const int __imm) { return (__m512i) __builtin_ia32_pshuflw512_mask ((__v32hi) __A, __imm, (__v32hi) _mm512_setzero_hi (), (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_srai_epi16 (__m512i __A, const int __imm) { return (__m512i) __builtin_ia32_psrawi512_mask ((__v32hi) __A, __imm, (__v32hi) _mm512_setzero_hi (), (__mmask32) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_srai_epi16 (__m512i __W, __mmask32 __U, __m512i __A, const int __imm) { return (__m512i) __builtin_ia32_psrawi512_mask ((__v32hi) __A, __imm, (__v32hi) __W, (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_srai_epi16 (__mmask32 __U, __m512i __A, const int __imm) { return (__m512i) __builtin_ia32_psrawi512_mask ((__v32hi) __A, __imm, (__v32hi) _mm512_setzero_hi (), (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_blend_epi16 (__mmask32 __U, __m512i __A, __m512i __W) { return (__m512i) __builtin_ia32_blendmw_512_mask ((__v32hi) __A, (__v32hi) __W, (__mmask32) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_blend_epi8 (__mmask64 __U, __m512i __A, __m512i __W) { return (__m512i) __builtin_ia32_blendmb_512_mask ((__v64qi) __A, (__v64qi) __W, (__mmask64) __U); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmp_epi16_mask (__mmask32 __U, __m512i __X, __m512i __Y, const int __P) { return (__mmask32) __builtin_ia32_cmpw512_mask ((__v32hi) __X, (__v32hi) __Y, __P, (__mmask32) __U); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmp_epi16_mask (__m512i __X, __m512i __Y, const int __P) { return (__mmask32) __builtin_ia32_cmpw512_mask ((__v32hi) __X, (__v32hi) __Y, __P, (__mmask32) -1); } extern __inline __mmask64 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmp_epi8_mask (__mmask32 __U, __m512i __X, __m512i __Y, const int __P) { return (__mmask64) __builtin_ia32_cmpb512_mask ((__v64qi) __X, (__v64qi) __Y, __P, (__mmask64) __U); } extern __inline __mmask64 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmp_epi8_mask (__m512i __X, __m512i __Y, const int __P) { return (__mmask64) __builtin_ia32_cmpb512_mask ((__v64qi) __X, (__v64qi) __Y, __P, (__mmask64) -1); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmp_epu16_mask (__mmask32 __U, __m512i __X, __m512i __Y, const int __P) { return (__mmask32) __builtin_ia32_ucmpw512_mask ((__v32hi) __X, (__v32hi) __Y, __P, (__mmask32) __U); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmp_epu16_mask (__m512i __X, __m512i __Y, const int __P) { return (__mmask32) __builtin_ia32_ucmpw512_mask ((__v32hi) __X, (__v32hi) __Y, __P, (__mmask32) -1); } extern __inline __mmask64 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmp_epu8_mask (__mmask32 __U, __m512i __X, __m512i __Y, const int __P) { return (__mmask64) __builtin_ia32_ucmpb512_mask ((__v64qi) __X, (__v64qi) __Y, __P, (__mmask64) __U); } extern __inline __mmask64 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmp_epu8_mask (__m512i __X, __m512i __Y, const int __P) { return (__mmask64) __builtin_ia32_ucmpb512_mask ((__v64qi) __X, (__v64qi) __Y, __P, (__mmask64) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_packs_epi32 (__m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_packssdw512_mask ((__v16si) __A, (__v16si) __B, (__v32hi) _mm512_setzero_hi (), (__mmask32) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_packs_epi32 (__mmask32 __M, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_packssdw512_mask ((__v16si) __A, (__v16si) __B, (__v32hi) _mm512_setzero_hi(), __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_packs_epi32 (__m512i __W, __mmask32 __M, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_packssdw512_mask ((__v16si) __A, (__v16si) __B, (__v32hi) __W, __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_packus_epi32 (__m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_packusdw512_mask ((__v16si) __A, (__v16si) __B, (__v32hi) _mm512_setzero_hi (), (__mmask32) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_packus_epi32 (__mmask32 __M, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_packusdw512_mask ((__v16si) __A, (__v16si) __B, (__v32hi) _mm512_setzero_hi(), __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_packus_epi32 (__m512i __W, __mmask32 __M, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_packusdw512_mask ((__v16si) __A, (__v16si) __B, (__v32hi) __W, __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_bslli_epi128 (__m512i __A, const int __N) { return (__m512i) __builtin_ia32_pslldq512 (__A, __N * 8); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_bsrli_epi128 (__m512i __A, const int __N) { return (__m512i) __builtin_ia32_psrldq512 (__A, __N * 8); } # 2992 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512bwintrin.h" 3 4 #pragma GCC pop_options # 56 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512dqintrin.h" 1 3 4 # 32 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512dqintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("avx512dq") extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_broadcast_f64x2 (__m128d __A) { return (__m512d) __builtin_ia32_broadcastf64x2_512_mask ((__v2df) __A, _mm512_undefined_pd(), (__mmask8) - 1); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_broadcast_f64x2 (__m512d __O, __mmask8 __M, __m128d __A) { return (__m512d) __builtin_ia32_broadcastf64x2_512_mask ((__v2df) __A, (__v8df) __O, __M); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_broadcast_f64x2 (__mmask8 __M, __m128d __A) { return (__m512d) __builtin_ia32_broadcastf64x2_512_mask ((__v2df) __A, (__v8df) _mm512_setzero_ps (), __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_broadcast_i64x2 (__m128i __A) { return (__m512i) __builtin_ia32_broadcasti64x2_512_mask ((__v2di) __A, _mm512_undefined_si512(), (__mmask8) - 1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_broadcast_i64x2 (__m512i __O, __mmask8 __M, __m128i __A) { return (__m512i) __builtin_ia32_broadcasti64x2_512_mask ((__v2di) __A, (__v8di) __O, __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_broadcast_i64x2 (__mmask8 __M, __m128i __A) { return (__m512i) __builtin_ia32_broadcasti64x2_512_mask ((__v2di) __A, (__v8di) _mm512_setzero_si512 (), __M); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_broadcast_f32x2 (__m128 __A) { return (__m512) __builtin_ia32_broadcastf32x2_512_mask ((__v4sf) __A, (__v16sf)_mm512_undefined_ps(), (__mmask16) - 1); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_broadcast_f32x2 (__m512 __O, __mmask16 __M, __m128 __A) { return (__m512) __builtin_ia32_broadcastf32x2_512_mask ((__v4sf) __A, (__v16sf) __O, __M); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_broadcast_f32x2 (__mmask16 __M, __m128 __A) { return (__m512) __builtin_ia32_broadcastf32x2_512_mask ((__v4sf) __A, (__v16sf) _mm512_setzero_ps (), __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_broadcast_i32x2 (__m128i __A) { return (__m512i) __builtin_ia32_broadcasti32x2_512_mask ((__v4si) __A, (__v16si)_mm512_undefined_si512(), (__mmask16) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_broadcast_i32x2 (__m512i __O, __mmask16 __M, __m128i __A) { return (__m512i) __builtin_ia32_broadcasti32x2_512_mask ((__v4si) __A, (__v16si) __O, __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_broadcast_i32x2 (__mmask16 __M, __m128i __A) { return (__m512i) __builtin_ia32_broadcasti32x2_512_mask ((__v4si) __A, (__v16si) _mm512_setzero_si512 (), __M); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_broadcast_f32x8 (__m256 __A) { return (__m512) __builtin_ia32_broadcastf32x8_512_mask ((__v8sf) __A, _mm512_undefined_ps(), (__mmask16) - 1); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_broadcast_f32x8 (__m512 __O, __mmask16 __M, __m256 __A) { return (__m512) __builtin_ia32_broadcastf32x8_512_mask ((__v8sf) __A, (__v16sf)__O, __M); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_broadcast_f32x8 (__mmask16 __M, __m256 __A) { return (__m512) __builtin_ia32_broadcastf32x8_512_mask ((__v8sf) __A, (__v16sf) _mm512_setzero_ps (), __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_broadcast_i32x8 (__m256i __A) { return (__m512i) __builtin_ia32_broadcasti32x8_512_mask ((__v8si) __A, (__v16si)_mm512_undefined_si512(), (__mmask16) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_broadcast_i32x8 (__m512i __O, __mmask16 __M, __m256i __A) { return (__m512i) __builtin_ia32_broadcasti32x8_512_mask ((__v8si) __A, (__v16si)__O, __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_broadcast_i32x8 (__mmask16 __M, __m256i __A) { return (__m512i) __builtin_ia32_broadcasti32x8_512_mask ((__v8si) __A, (__v16si) _mm512_setzero_si512 (), __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mullo_epi64 (__m512i __A, __m512i __B) { return (__m512i) ((__v8du) __A * (__v8du) __B); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_mullo_epi64 (__m512i __W, __mmask8 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pmullq512_mask ((__v8di) __A, (__v8di) __B, (__v8di) __W, (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_mullo_epi64 (__mmask8 __U, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_pmullq512_mask ((__v8di) __A, (__v8di) __B, (__v8di) _mm512_setzero_si512 (), (__mmask8) __U); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_xor_pd (__m512d __A, __m512d __B) { return (__m512d) __builtin_ia32_xorpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) _mm512_setzero_pd (), (__mmask8) -1); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_xor_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512d __B) { return (__m512d) __builtin_ia32_xorpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) __W, (__mmask8) __U); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_xor_pd (__mmask8 __U, __m512d __A, __m512d __B) { return (__m512d) __builtin_ia32_xorpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) _mm512_setzero_pd (), (__mmask8) __U); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_xor_ps (__m512 __A, __m512 __B) { return (__m512) __builtin_ia32_xorps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) _mm512_setzero_ps (), (__mmask16) -1); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_xor_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B) { return (__m512) __builtin_ia32_xorps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) __W, (__mmask16) __U); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_xor_ps (__mmask16 __U, __m512 __A, __m512 __B) { return (__m512) __builtin_ia32_xorps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) _mm512_setzero_ps (), (__mmask16) __U); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_or_pd (__m512d __A, __m512d __B) { return (__m512d) __builtin_ia32_orpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) _mm512_setzero_pd (), (__mmask8) -1); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_or_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512d __B) { return (__m512d) __builtin_ia32_orpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) __W, (__mmask8) __U); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_or_pd (__mmask8 __U, __m512d __A, __m512d __B) { return (__m512d) __builtin_ia32_orpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) _mm512_setzero_pd (), (__mmask8) __U); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_or_ps (__m512 __A, __m512 __B) { return (__m512) __builtin_ia32_orps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) _mm512_setzero_ps (), (__mmask16) -1); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_or_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B) { return (__m512) __builtin_ia32_orps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) __W, (__mmask16) __U); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_or_ps (__mmask16 __U, __m512 __A, __m512 __B) { return (__m512) __builtin_ia32_orps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) _mm512_setzero_ps (), (__mmask16) __U); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_and_pd (__m512d __A, __m512d __B) { return (__m512d) __builtin_ia32_andpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) _mm512_setzero_pd (), (__mmask8) -1); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_and_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512d __B) { return (__m512d) __builtin_ia32_andpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) __W, (__mmask8) __U); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_and_pd (__mmask8 __U, __m512d __A, __m512d __B) { return (__m512d) __builtin_ia32_andpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) _mm512_setzero_pd (), (__mmask8) __U); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_and_ps (__m512 __A, __m512 __B) { return (__m512) __builtin_ia32_andps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) _mm512_setzero_ps (), (__mmask16) -1); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_and_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B) { return (__m512) __builtin_ia32_andps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) __W, (__mmask16) __U); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_and_ps (__mmask16 __U, __m512 __A, __m512 __B) { return (__m512) __builtin_ia32_andps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) _mm512_setzero_ps (), (__mmask16) __U); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_andnot_pd (__m512d __A, __m512d __B) { return (__m512d) __builtin_ia32_andnpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) _mm512_setzero_pd (), (__mmask8) -1); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_andnot_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512d __B) { return (__m512d) __builtin_ia32_andnpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) __W, (__mmask8) __U); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_andnot_pd (__mmask8 __U, __m512d __A, __m512d __B) { return (__m512d) __builtin_ia32_andnpd512_mask ((__v8df) __A, (__v8df) __B, (__v8df) _mm512_setzero_pd (), (__mmask8) __U); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_andnot_ps (__m512 __A, __m512 __B) { return (__m512) __builtin_ia32_andnps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) _mm512_setzero_ps (), (__mmask16) -1); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_andnot_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B) { return (__m512) __builtin_ia32_andnps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) __W, (__mmask16) __U); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_andnot_ps (__mmask16 __U, __m512 __A, __m512 __B) { return (__m512) __builtin_ia32_andnps512_mask ((__v16sf) __A, (__v16sf) __B, (__v16sf) _mm512_setzero_ps (), (__mmask16) __U); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_movepi32_mask (__m512i __A) { return (__mmask16) __builtin_ia32_cvtd2mask512 ((__v16si) __A); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_movepi64_mask (__m512i __A) { return (__mmask8) __builtin_ia32_cvtq2mask512 ((__v8di) __A); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_movm_epi32 (__mmask16 __A) { return (__m512i) __builtin_ia32_cvtmask2d512 (__A); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_movm_epi64 (__mmask8 __A) { return (__m512i) __builtin_ia32_cvtmask2q512 (__A); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvttpd_epi64 (__m512d __A) { return (__m512i) __builtin_ia32_cvttpd2qq512_mask ((__v8df) __A, (__v8di) _mm512_setzero_si512 (), (__mmask8) -1, 0x04); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvttpd_epi64 (__m512i __W, __mmask8 __U, __m512d __A) { return (__m512i) __builtin_ia32_cvttpd2qq512_mask ((__v8df) __A, (__v8di) __W, (__mmask8) __U, 0x04); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvttpd_epi64 (__mmask8 __U, __m512d __A) { return (__m512i) __builtin_ia32_cvttpd2qq512_mask ((__v8df) __A, (__v8di) _mm512_setzero_si512 (), (__mmask8) __U, 0x04); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvttpd_epu64 (__m512d __A) { return (__m512i) __builtin_ia32_cvttpd2uqq512_mask ((__v8df) __A, (__v8di) _mm512_setzero_si512 (), (__mmask8) -1, 0x04); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvttpd_epu64 (__m512i __W, __mmask8 __U, __m512d __A) { return (__m512i) __builtin_ia32_cvttpd2uqq512_mask ((__v8df) __A, (__v8di) __W, (__mmask8) __U, 0x04); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvttpd_epu64 (__mmask8 __U, __m512d __A) { return (__m512i) __builtin_ia32_cvttpd2uqq512_mask ((__v8df) __A, (__v8di) _mm512_setzero_si512 (), (__mmask8) __U, 0x04); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvttps_epi64 (__m256 __A) { return (__m512i) __builtin_ia32_cvttps2qq512_mask ((__v8sf) __A, (__v8di) _mm512_setzero_si512 (), (__mmask8) -1, 0x04); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvttps_epi64 (__m512i __W, __mmask8 __U, __m256 __A) { return (__m512i) __builtin_ia32_cvttps2qq512_mask ((__v8sf) __A, (__v8di) __W, (__mmask8) __U, 0x04); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvttps_epi64 (__mmask8 __U, __m256 __A) { return (__m512i) __builtin_ia32_cvttps2qq512_mask ((__v8sf) __A, (__v8di) _mm512_setzero_si512 (), (__mmask8) __U, 0x04); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvttps_epu64 (__m256 __A) { return (__m512i) __builtin_ia32_cvttps2uqq512_mask ((__v8sf) __A, (__v8di) _mm512_setzero_si512 (), (__mmask8) -1, 0x04); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvttps_epu64 (__m512i __W, __mmask8 __U, __m256 __A) { return (__m512i) __builtin_ia32_cvttps2uqq512_mask ((__v8sf) __A, (__v8di) __W, (__mmask8) __U, 0x04); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvttps_epu64 (__mmask8 __U, __m256 __A) { return (__m512i) __builtin_ia32_cvttps2uqq512_mask ((__v8sf) __A, (__v8di) _mm512_setzero_si512 (), (__mmask8) __U, 0x04); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvtpd_epi64 (__m512d __A) { return (__m512i) __builtin_ia32_cvtpd2qq512_mask ((__v8df) __A, (__v8di) _mm512_setzero_si512 (), (__mmask8) -1, 0x04); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtpd_epi64 (__m512i __W, __mmask8 __U, __m512d __A) { return (__m512i) __builtin_ia32_cvtpd2qq512_mask ((__v8df) __A, (__v8di) __W, (__mmask8) __U, 0x04); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvtpd_epi64 (__mmask8 __U, __m512d __A) { return (__m512i) __builtin_ia32_cvtpd2qq512_mask ((__v8df) __A, (__v8di) _mm512_setzero_si512 (), (__mmask8) __U, 0x04); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvtpd_epu64 (__m512d __A) { return (__m512i) __builtin_ia32_cvtpd2uqq512_mask ((__v8df) __A, (__v8di) _mm512_setzero_si512 (), (__mmask8) -1, 0x04); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtpd_epu64 (__m512i __W, __mmask8 __U, __m512d __A) { return (__m512i) __builtin_ia32_cvtpd2uqq512_mask ((__v8df) __A, (__v8di) __W, (__mmask8) __U, 0x04); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvtpd_epu64 (__mmask8 __U, __m512d __A) { return (__m512i) __builtin_ia32_cvtpd2uqq512_mask ((__v8df) __A, (__v8di) _mm512_setzero_si512 (), (__mmask8) __U, 0x04); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvtps_epi64 (__m256 __A) { return (__m512i) __builtin_ia32_cvtps2qq512_mask ((__v8sf) __A, (__v8di) _mm512_setzero_si512 (), (__mmask8) -1, 0x04); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtps_epi64 (__m512i __W, __mmask8 __U, __m256 __A) { return (__m512i) __builtin_ia32_cvtps2qq512_mask ((__v8sf) __A, (__v8di) __W, (__mmask8) __U, 0x04); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvtps_epi64 (__mmask8 __U, __m256 __A) { return (__m512i) __builtin_ia32_cvtps2qq512_mask ((__v8sf) __A, (__v8di) _mm512_setzero_si512 (), (__mmask8) __U, 0x04); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvtps_epu64 (__m256 __A) { return (__m512i) __builtin_ia32_cvtps2uqq512_mask ((__v8sf) __A, (__v8di) _mm512_setzero_si512 (), (__mmask8) -1, 0x04); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtps_epu64 (__m512i __W, __mmask8 __U, __m256 __A) { return (__m512i) __builtin_ia32_cvtps2uqq512_mask ((__v8sf) __A, (__v8di) __W, (__mmask8) __U, 0x04); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvtps_epu64 (__mmask8 __U, __m256 __A) { return (__m512i) __builtin_ia32_cvtps2uqq512_mask ((__v8sf) __A, (__v8di) _mm512_setzero_si512 (), (__mmask8) __U, 0x04); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvtepi64_ps (__m512i __A) { return (__m256) __builtin_ia32_cvtqq2ps512_mask ((__v8di) __A, (__v8sf) _mm256_setzero_ps (), (__mmask8) -1, 0x04); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtepi64_ps (__m256 __W, __mmask8 __U, __m512i __A) { return (__m256) __builtin_ia32_cvtqq2ps512_mask ((__v8di) __A, (__v8sf) __W, (__mmask8) __U, 0x04); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvtepi64_ps (__mmask8 __U, __m512i __A) { return (__m256) __builtin_ia32_cvtqq2ps512_mask ((__v8di) __A, (__v8sf) _mm256_setzero_ps (), (__mmask8) __U, 0x04); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvtepu64_ps (__m512i __A) { return (__m256) __builtin_ia32_cvtuqq2ps512_mask ((__v8di) __A, (__v8sf) _mm256_setzero_ps (), (__mmask8) -1, 0x04); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtepu64_ps (__m256 __W, __mmask8 __U, __m512i __A) { return (__m256) __builtin_ia32_cvtuqq2ps512_mask ((__v8di) __A, (__v8sf) __W, (__mmask8) __U, 0x04); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvtepu64_ps (__mmask8 __U, __m512i __A) { return (__m256) __builtin_ia32_cvtuqq2ps512_mask ((__v8di) __A, (__v8sf) _mm256_setzero_ps (), (__mmask8) __U, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvtepi64_pd (__m512i __A) { return (__m512d) __builtin_ia32_cvtqq2pd512_mask ((__v8di) __A, (__v8df) _mm512_setzero_pd (), (__mmask8) -1, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtepi64_pd (__m512d __W, __mmask8 __U, __m512i __A) { return (__m512d) __builtin_ia32_cvtqq2pd512_mask ((__v8di) __A, (__v8df) __W, (__mmask8) __U, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvtepi64_pd (__mmask8 __U, __m512i __A) { return (__m512d) __builtin_ia32_cvtqq2pd512_mask ((__v8di) __A, (__v8df) _mm512_setzero_pd (), (__mmask8) __U, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvtepu64_pd (__m512i __A) { return (__m512d) __builtin_ia32_cvtuqq2pd512_mask ((__v8di) __A, (__v8df) _mm512_setzero_pd (), (__mmask8) -1, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtepu64_pd (__m512d __W, __mmask8 __U, __m512i __A) { return (__m512d) __builtin_ia32_cvtuqq2pd512_mask ((__v8di) __A, (__v8df) __W, (__mmask8) __U, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvtepu64_pd (__mmask8 __U, __m512i __A) { return (__m512d) __builtin_ia32_cvtuqq2pd512_mask ((__v8di) __A, (__v8df) _mm512_setzero_pd (), (__mmask8) __U, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_range_pd (__m512d __A, __m512d __B, int __C) { return (__m512d) __builtin_ia32_rangepd512_mask ((__v8df) __A, (__v8df) __B, __C, (__v8df) _mm512_setzero_pd (), (__mmask8) -1, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_range_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512d __B, int __C) { return (__m512d) __builtin_ia32_rangepd512_mask ((__v8df) __A, (__v8df) __B, __C, (__v8df) __W, (__mmask8) __U, 0x04); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_range_pd (__mmask8 __U, __m512d __A, __m512d __B, int __C) { return (__m512d) __builtin_ia32_rangepd512_mask ((__v8df) __A, (__v8df) __B, __C, (__v8df) _mm512_setzero_pd (), (__mmask8) __U, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_range_ps (__m512 __A, __m512 __B, int __C) { return (__m512) __builtin_ia32_rangeps512_mask ((__v16sf) __A, (__v16sf) __B, __C, (__v16sf) _mm512_setzero_ps (), (__mmask16) -1, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_range_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B, int __C) { return (__m512) __builtin_ia32_rangeps512_mask ((__v16sf) __A, (__v16sf) __B, __C, (__v16sf) __W, (__mmask16) __U, 0x04); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_range_ps (__mmask16 __U, __m512 __A, __m512 __B, int __C) { return (__m512) __builtin_ia32_rangeps512_mask ((__v16sf) __A, (__v16sf) __B, __C, (__v16sf) _mm512_setzero_ps (), (__mmask16) __U, 0x04); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_reduce_sd (__m128d __A, __m128d __B, int __C) { return (__m128d) __builtin_ia32_reducesd ((__v2df) __A, (__v2df) __B, __C); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_reduce_ss (__m128 __A, __m128 __B, int __C) { return (__m128) __builtin_ia32_reducess ((__v4sf) __A, (__v4sf) __B, __C); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_range_sd (__m128d __A, __m128d __B, int __C) { return (__m128d) __builtin_ia32_rangesd128_round ((__v2df) __A, (__v2df) __B, __C, 0x04); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_range_ss (__m128 __A, __m128 __B, int __C) { return (__m128) __builtin_ia32_rangess128_round ((__v4sf) __A, (__v4sf) __B, __C, 0x04); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_range_round_sd (__m128d __A, __m128d __B, int __C, const int __R) { return (__m128d) __builtin_ia32_rangesd128_round ((__v2df) __A, (__v2df) __B, __C, __R); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_range_round_ss (__m128 __A, __m128 __B, int __C, const int __R) { return (__m128) __builtin_ia32_rangess128_round ((__v4sf) __A, (__v4sf) __B, __C, __R); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_fpclass_ss_mask (__m128 __A, const int __imm) { return (__mmask8) __builtin_ia32_fpclassss ((__v4sf) __A, __imm); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_fpclass_sd_mask (__m128d __A, const int __imm) { return (__mmask8) __builtin_ia32_fpclasssd ((__v2df) __A, __imm); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvtt_roundpd_epi64 (__m512d __A, const int __R) { return (__m512i) __builtin_ia32_cvttpd2qq512_mask ((__v8df) __A, (__v8di) _mm512_setzero_si512 (), (__mmask8) -1, __R); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtt_roundpd_epi64 (__m512i __W, __mmask8 __U, __m512d __A, const int __R) { return (__m512i) __builtin_ia32_cvttpd2qq512_mask ((__v8df) __A, (__v8di) __W, (__mmask8) __U, __R); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvtt_roundpd_epi64 (__mmask8 __U, __m512d __A, const int __R) { return (__m512i) __builtin_ia32_cvttpd2qq512_mask ((__v8df) __A, (__v8di) _mm512_setzero_si512 (), (__mmask8) __U, __R); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvtt_roundpd_epu64 (__m512d __A, const int __R) { return (__m512i) __builtin_ia32_cvttpd2uqq512_mask ((__v8df) __A, (__v8di) _mm512_setzero_si512 (), (__mmask8) -1, __R); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtt_roundpd_epu64 (__m512i __W, __mmask8 __U, __m512d __A, const int __R) { return (__m512i) __builtin_ia32_cvttpd2uqq512_mask ((__v8df) __A, (__v8di) __W, (__mmask8) __U, __R); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvtt_roundpd_epu64 (__mmask8 __U, __m512d __A, const int __R) { return (__m512i) __builtin_ia32_cvttpd2uqq512_mask ((__v8df) __A, (__v8di) _mm512_setzero_si512 (), (__mmask8) __U, __R); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvtt_roundps_epi64 (__m256 __A, const int __R) { return (__m512i) __builtin_ia32_cvttps2qq512_mask ((__v8sf) __A, (__v8di) _mm512_setzero_si512 (), (__mmask8) -1, __R); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtt_roundps_epi64 (__m512i __W, __mmask8 __U, __m256 __A, const int __R) { return (__m512i) __builtin_ia32_cvttps2qq512_mask ((__v8sf) __A, (__v8di) __W, (__mmask8) __U, __R); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvtt_roundps_epi64 (__mmask8 __U, __m256 __A, const int __R) { return (__m512i) __builtin_ia32_cvttps2qq512_mask ((__v8sf) __A, (__v8di) _mm512_setzero_si512 (), (__mmask8) __U, __R); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvtt_roundps_epu64 (__m256 __A, const int __R) { return (__m512i) __builtin_ia32_cvttps2uqq512_mask ((__v8sf) __A, (__v8di) _mm512_setzero_si512 (), (__mmask8) -1, __R); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtt_roundps_epu64 (__m512i __W, __mmask8 __U, __m256 __A, const int __R) { return (__m512i) __builtin_ia32_cvttps2uqq512_mask ((__v8sf) __A, (__v8di) __W, (__mmask8) __U, __R); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvtt_roundps_epu64 (__mmask8 __U, __m256 __A, const int __R) { return (__m512i) __builtin_ia32_cvttps2uqq512_mask ((__v8sf) __A, (__v8di) _mm512_setzero_si512 (), (__mmask8) __U, __R); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvt_roundpd_epi64 (__m512d __A, const int __R) { return (__m512i) __builtin_ia32_cvtpd2qq512_mask ((__v8df) __A, (__v8di) _mm512_setzero_si512 (), (__mmask8) -1, __R); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvt_roundpd_epi64 (__m512i __W, __mmask8 __U, __m512d __A, const int __R) { return (__m512i) __builtin_ia32_cvtpd2qq512_mask ((__v8df) __A, (__v8di) __W, (__mmask8) __U, __R); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvt_roundpd_epi64 (__mmask8 __U, __m512d __A, const int __R) { return (__m512i) __builtin_ia32_cvtpd2qq512_mask ((__v8df) __A, (__v8di) _mm512_setzero_si512 (), (__mmask8) __U, __R); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvt_roundpd_epu64 (__m512d __A, const int __R) { return (__m512i) __builtin_ia32_cvtpd2uqq512_mask ((__v8df) __A, (__v8di) _mm512_setzero_si512 (), (__mmask8) -1, __R); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvt_roundpd_epu64 (__m512i __W, __mmask8 __U, __m512d __A, const int __R) { return (__m512i) __builtin_ia32_cvtpd2uqq512_mask ((__v8df) __A, (__v8di) __W, (__mmask8) __U, __R); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvt_roundpd_epu64 (__mmask8 __U, __m512d __A, const int __R) { return (__m512i) __builtin_ia32_cvtpd2uqq512_mask ((__v8df) __A, (__v8di) _mm512_setzero_si512 (), (__mmask8) __U, __R); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvt_roundps_epi64 (__m256 __A, const int __R) { return (__m512i) __builtin_ia32_cvtps2qq512_mask ((__v8sf) __A, (__v8di) _mm512_setzero_si512 (), (__mmask8) -1, __R); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvt_roundps_epi64 (__m512i __W, __mmask8 __U, __m256 __A, const int __R) { return (__m512i) __builtin_ia32_cvtps2qq512_mask ((__v8sf) __A, (__v8di) __W, (__mmask8) __U, __R); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvt_roundps_epi64 (__mmask8 __U, __m256 __A, const int __R) { return (__m512i) __builtin_ia32_cvtps2qq512_mask ((__v8sf) __A, (__v8di) _mm512_setzero_si512 (), (__mmask8) __U, __R); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvt_roundps_epu64 (__m256 __A, const int __R) { return (__m512i) __builtin_ia32_cvtps2uqq512_mask ((__v8sf) __A, (__v8di) _mm512_setzero_si512 (), (__mmask8) -1, __R); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvt_roundps_epu64 (__m512i __W, __mmask8 __U, __m256 __A, const int __R) { return (__m512i) __builtin_ia32_cvtps2uqq512_mask ((__v8sf) __A, (__v8di) __W, (__mmask8) __U, __R); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvt_roundps_epu64 (__mmask8 __U, __m256 __A, const int __R) { return (__m512i) __builtin_ia32_cvtps2uqq512_mask ((__v8sf) __A, (__v8di) _mm512_setzero_si512 (), (__mmask8) __U, __R); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvt_roundepi64_ps (__m512i __A, const int __R) { return (__m256) __builtin_ia32_cvtqq2ps512_mask ((__v8di) __A, (__v8sf) _mm256_setzero_ps (), (__mmask8) -1, __R); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvt_roundepi64_ps (__m256 __W, __mmask8 __U, __m512i __A, const int __R) { return (__m256) __builtin_ia32_cvtqq2ps512_mask ((__v8di) __A, (__v8sf) __W, (__mmask8) __U, __R); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvt_roundepi64_ps (__mmask8 __U, __m512i __A, const int __R) { return (__m256) __builtin_ia32_cvtqq2ps512_mask ((__v8di) __A, (__v8sf) _mm256_setzero_ps (), (__mmask8) __U, __R); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvt_roundepu64_ps (__m512i __A, const int __R) { return (__m256) __builtin_ia32_cvtuqq2ps512_mask ((__v8di) __A, (__v8sf) _mm256_setzero_ps (), (__mmask8) -1, __R); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvt_roundepu64_ps (__m256 __W, __mmask8 __U, __m512i __A, const int __R) { return (__m256) __builtin_ia32_cvtuqq2ps512_mask ((__v8di) __A, (__v8sf) __W, (__mmask8) __U, __R); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvt_roundepu64_ps (__mmask8 __U, __m512i __A, const int __R) { return (__m256) __builtin_ia32_cvtuqq2ps512_mask ((__v8di) __A, (__v8sf) _mm256_setzero_ps (), (__mmask8) __U, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvt_roundepi64_pd (__m512i __A, const int __R) { return (__m512d) __builtin_ia32_cvtqq2pd512_mask ((__v8di) __A, (__v8df) _mm512_setzero_pd (), (__mmask8) -1, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvt_roundepi64_pd (__m512d __W, __mmask8 __U, __m512i __A, const int __R) { return (__m512d) __builtin_ia32_cvtqq2pd512_mask ((__v8di) __A, (__v8df) __W, (__mmask8) __U, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvt_roundepi64_pd (__mmask8 __U, __m512i __A, const int __R) { return (__m512d) __builtin_ia32_cvtqq2pd512_mask ((__v8di) __A, (__v8df) _mm512_setzero_pd (), (__mmask8) __U, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvt_roundepu64_pd (__m512i __A, const int __R) { return (__m512d) __builtin_ia32_cvtuqq2pd512_mask ((__v8di) __A, (__v8df) _mm512_setzero_pd (), (__mmask8) -1, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvt_roundepu64_pd (__m512d __W, __mmask8 __U, __m512i __A, const int __R) { return (__m512d) __builtin_ia32_cvtuqq2pd512_mask ((__v8di) __A, (__v8df) __W, (__mmask8) __U, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvt_roundepu64_pd (__mmask8 __U, __m512i __A, const int __R) { return (__m512d) __builtin_ia32_cvtuqq2pd512_mask ((__v8di) __A, (__v8df) _mm512_setzero_pd (), (__mmask8) __U, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_reduce_pd (__m512d __A, int __B) { return (__m512d) __builtin_ia32_reducepd512_mask ((__v8df) __A, __B, (__v8df) _mm512_setzero_pd (), (__mmask8) -1); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_reduce_pd (__m512d __W, __mmask8 __U, __m512d __A, int __B) { return (__m512d) __builtin_ia32_reducepd512_mask ((__v8df) __A, __B, (__v8df) __W, (__mmask8) __U); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_reduce_pd (__mmask8 __U, __m512d __A, int __B) { return (__m512d) __builtin_ia32_reducepd512_mask ((__v8df) __A, __B, (__v8df) _mm512_setzero_pd (), (__mmask8) __U); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_reduce_ps (__m512 __A, int __B) { return (__m512) __builtin_ia32_reduceps512_mask ((__v16sf) __A, __B, (__v16sf) _mm512_setzero_ps (), (__mmask16) -1); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_reduce_ps (__m512 __W, __mmask16 __U, __m512 __A, int __B) { return (__m512) __builtin_ia32_reduceps512_mask ((__v16sf) __A, __B, (__v16sf) __W, (__mmask16) __U); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_reduce_ps (__mmask16 __U, __m512 __A, int __B) { return (__m512) __builtin_ia32_reduceps512_mask ((__v16sf) __A, __B, (__v16sf) _mm512_setzero_ps (), (__mmask16) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_extractf32x8_ps (__m512 __A, const int __imm) { return (__m256) __builtin_ia32_extractf32x8_mask ((__v16sf) __A, __imm, (__v8sf) _mm256_setzero_ps (), (__mmask8) -1); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_extractf32x8_ps (__m256 __W, __mmask8 __U, __m512 __A, const int __imm) { return (__m256) __builtin_ia32_extractf32x8_mask ((__v16sf) __A, __imm, (__v8sf) __W, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_extractf32x8_ps (__mmask8 __U, __m512 __A, const int __imm) { return (__m256) __builtin_ia32_extractf32x8_mask ((__v16sf) __A, __imm, (__v8sf) _mm256_setzero_ps (), (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_extractf64x2_pd (__m512d __A, const int __imm) { return (__m128d) __builtin_ia32_extractf64x2_512_mask ((__v8df) __A, __imm, (__v2df) _mm_setzero_pd (), (__mmask8) - 1); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_extractf64x2_pd (__m128d __W, __mmask8 __U, __m512d __A, const int __imm) { return (__m128d) __builtin_ia32_extractf64x2_512_mask ((__v8df) __A, __imm, (__v2df) __W, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_extractf64x2_pd (__mmask8 __U, __m512d __A, const int __imm) { return (__m128d) __builtin_ia32_extractf64x2_512_mask ((__v8df) __A, __imm, (__v2df) _mm_setzero_pd (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_extracti32x8_epi32 (__m512i __A, const int __imm) { return (__m256i) __builtin_ia32_extracti32x8_mask ((__v16si) __A, __imm, (__v8si) _mm256_setzero_si256 (), (__mmask8) -1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_extracti32x8_epi32 (__m256i __W, __mmask8 __U, __m512i __A, const int __imm) { return (__m256i) __builtin_ia32_extracti32x8_mask ((__v16si) __A, __imm, (__v8si) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_extracti32x8_epi32 (__mmask8 __U, __m512i __A, const int __imm) { return (__m256i) __builtin_ia32_extracti32x8_mask ((__v16si) __A, __imm, (__v8si) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_extracti64x2_epi64 (__m512i __A, const int __imm) { return (__m128i) __builtin_ia32_extracti64x2_512_mask ((__v8di) __A, __imm, (__v2di) _mm_setzero_di (), (__mmask8) - 1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_extracti64x2_epi64 (__m128i __W, __mmask8 __U, __m512i __A, const int __imm) { return (__m128i) __builtin_ia32_extracti64x2_512_mask ((__v8di) __A, __imm, (__v2di) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_extracti64x2_epi64 (__mmask8 __U, __m512i __A, const int __imm) { return (__m128i) __builtin_ia32_extracti64x2_512_mask ((__v8di) __A, __imm, (__v2di) _mm_setzero_di (), (__mmask8) __U); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_range_round_pd (__m512d __A, __m512d __B, int __C, const int __R) { return (__m512d) __builtin_ia32_rangepd512_mask ((__v8df) __A, (__v8df) __B, __C, (__v8df) _mm512_setzero_pd (), (__mmask8) -1, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_range_round_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512d __B, int __C, const int __R) { return (__m512d) __builtin_ia32_rangepd512_mask ((__v8df) __A, (__v8df) __B, __C, (__v8df) __W, (__mmask8) __U, __R); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_range_round_pd (__mmask8 __U, __m512d __A, __m512d __B, int __C, const int __R) { return (__m512d) __builtin_ia32_rangepd512_mask ((__v8df) __A, (__v8df) __B, __C, (__v8df) _mm512_setzero_pd (), (__mmask8) __U, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_range_round_ps (__m512 __A, __m512 __B, int __C, const int __R) { return (__m512) __builtin_ia32_rangeps512_mask ((__v16sf) __A, (__v16sf) __B, __C, (__v16sf) _mm512_setzero_ps (), (__mmask16) -1, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_range_round_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B, int __C, const int __R) { return (__m512) __builtin_ia32_rangeps512_mask ((__v16sf) __A, (__v16sf) __B, __C, (__v16sf) __W, (__mmask16) __U, __R); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_range_round_ps (__mmask16 __U, __m512 __A, __m512 __B, int __C, const int __R) { return (__m512) __builtin_ia32_rangeps512_mask ((__v16sf) __A, (__v16sf) __B, __C, (__v16sf) _mm512_setzero_ps (), (__mmask16) __U, __R); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_inserti32x8 (__m512i __A, __m256i __B, const int __imm) { return (__m512i) __builtin_ia32_inserti32x8_mask ((__v16si) __A, (__v8si) __B, __imm, (__v16si) _mm512_setzero_si512 (), (__mmask16) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_inserti32x8 (__m512i __W, __mmask16 __U, __m512i __A, __m256i __B, const int __imm) { return (__m512i) __builtin_ia32_inserti32x8_mask ((__v16si) __A, (__v8si) __B, __imm, (__v16si) __W, (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_inserti32x8 (__mmask16 __U, __m512i __A, __m256i __B, const int __imm) { return (__m512i) __builtin_ia32_inserti32x8_mask ((__v16si) __A, (__v8si) __B, __imm, (__v16si) _mm512_setzero_si512 (), (__mmask16) __U); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_insertf32x8 (__m512 __A, __m256 __B, const int __imm) { return (__m512) __builtin_ia32_insertf32x8_mask ((__v16sf) __A, (__v8sf) __B, __imm, (__v16sf) _mm512_setzero_ps (), (__mmask16) -1); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_insertf32x8 (__m512 __W, __mmask16 __U, __m512 __A, __m256 __B, const int __imm) { return (__m512) __builtin_ia32_insertf32x8_mask ((__v16sf) __A, (__v8sf) __B, __imm, (__v16sf) __W, (__mmask16) __U); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_insertf32x8 (__mmask16 __U, __m512 __A, __m256 __B, const int __imm) { return (__m512) __builtin_ia32_insertf32x8_mask ((__v16sf) __A, (__v8sf) __B, __imm, (__v16sf) _mm512_setzero_ps (), (__mmask16) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_inserti64x2 (__m512i __A, __m128i __B, const int __imm) { return (__m512i) __builtin_ia32_inserti64x2_512_mask ((__v8di) __A, (__v2di) __B, __imm, (__v8di) _mm512_setzero_si512 (), (__mmask8) - 1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_inserti64x2 (__m512i __W, __mmask8 __U, __m512i __A, __m128i __B, const int __imm) { return (__m512i) __builtin_ia32_inserti64x2_512_mask ((__v8di) __A, (__v2di) __B, __imm, (__v8di) __W, (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_inserti64x2 (__mmask8 __U, __m512i __A, __m128i __B, const int __imm) { return (__m512i) __builtin_ia32_inserti64x2_512_mask ((__v8di) __A, (__v2di) __B, __imm, (__v8di) _mm512_setzero_si512 (), (__mmask8) __U); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_insertf64x2 (__m512d __A, __m128d __B, const int __imm) { return (__m512d) __builtin_ia32_insertf64x2_512_mask ((__v8df) __A, (__v2df) __B, __imm, (__v8df) _mm512_setzero_pd (), (__mmask8) - 1); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_insertf64x2 (__m512d __W, __mmask8 __U, __m512d __A, __m128d __B, const int __imm) { return (__m512d) __builtin_ia32_insertf64x2_512_mask ((__v8df) __A, (__v2df) __B, __imm, (__v8df) __W, (__mmask8) __U); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_insertf64x2 (__mmask8 __U, __m512d __A, __m128d __B, const int __imm) { return (__m512d) __builtin_ia32_insertf64x2_512_mask ((__v8df) __A, (__v2df) __B, __imm, (__v8df) _mm512_setzero_pd (), (__mmask8) __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_fpclass_pd_mask (__mmask8 __U, __m512d __A, const int __imm) { return (__mmask8) __builtin_ia32_fpclasspd512_mask ((__v8df) __A, __imm, __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_fpclass_pd_mask (__m512d __A, const int __imm) { return (__mmask8) __builtin_ia32_fpclasspd512_mask ((__v8df) __A, __imm, (__mmask8) -1); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_fpclass_ps_mask (__mmask16 __U, __m512 __A, const int __imm) { return (__mmask16) __builtin_ia32_fpclassps512_mask ((__v16sf) __A, __imm, __U); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_fpclass_ps_mask (__m512 __A, const int __imm) { return (__mmask16) __builtin_ia32_fpclassps512_mask ((__v16sf) __A, __imm, (__mmask16) - 1); } # 2298 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512dqintrin.h" 3 4 #pragma GCC pop_options # 58 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512vlbwintrin.h" 1 3 4 # 32 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512vlbwintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("avx512vl,avx512bw") extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_mov_epi8 (__m256i __W, __mmask32 __U, __m256i __A) { return (__m256i) __builtin_ia32_movdquqi256_mask ((__v32qi) __A, (__v32qi) __W, (__mmask32) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_mov_epi8 (__mmask32 __U, __m256i __A) { return (__m256i) __builtin_ia32_movdquqi256_mask ((__v32qi) __A, (__v32qi) _mm256_setzero_si256 (), (__mmask32) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_mov_epi8 (__m128i __W, __mmask16 __U, __m128i __A) { return (__m128i) __builtin_ia32_movdquqi128_mask ((__v16qi) __A, (__v16qi) __W, (__mmask16) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_mov_epi8 (__mmask16 __U, __m128i __A) { return (__m128i) __builtin_ia32_movdquqi128_mask ((__v16qi) __A, (__v16qi) _mm_setzero_hi (), (__mmask16) __U); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_storeu_epi8 (void *__P, __mmask32 __U, __m256i __A) { __builtin_ia32_storedquqi256_mask ((__v32qi *) __P, (__v32qi) __A, (__mmask32) __U); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_storeu_epi8 (void *__P, __mmask16 __U, __m128i __A) { __builtin_ia32_storedquqi128_mask ((__v16qi *) __P, (__v16qi) __A, (__mmask16) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_loadu_epi16 (__m256i __W, __mmask16 __U, void const *__P) { return (__m256i) __builtin_ia32_loaddquhi256_mask ((__v16hi *) __P, (__v16hi) __W, (__mmask16) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_loadu_epi16 (__mmask16 __U, void const *__P) { return (__m256i) __builtin_ia32_loaddquhi256_mask ((__v16hi *) __P, (__v16hi) _mm256_setzero_si256 (), (__mmask16) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_loadu_epi16 (__m128i __W, __mmask8 __U, void const *__P) { return (__m128i) __builtin_ia32_loaddquhi128_mask ((__v8hi *) __P, (__v8hi) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_loadu_epi16 (__mmask8 __U, void const *__P) { return (__m128i) __builtin_ia32_loaddquhi128_mask ((__v8hi *) __P, (__v8hi) _mm_setzero_hi (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_mov_epi16 (__m256i __W, __mmask16 __U, __m256i __A) { return (__m256i) __builtin_ia32_movdquhi256_mask ((__v16hi) __A, (__v16hi) __W, (__mmask16) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_mov_epi16 (__mmask16 __U, __m256i __A) { return (__m256i) __builtin_ia32_movdquhi256_mask ((__v16hi) __A, (__v16hi) _mm256_setzero_si256 (), (__mmask16) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_mov_epi16 (__m128i __W, __mmask8 __U, __m128i __A) { return (__m128i) __builtin_ia32_movdquhi128_mask ((__v8hi) __A, (__v8hi) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_mov_epi16 (__mmask8 __U, __m128i __A) { return (__m128i) __builtin_ia32_movdquhi128_mask ((__v8hi) __A, (__v8hi) _mm_setzero_hi (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_loadu_epi8 (__m256i __W, __mmask32 __U, void const *__P) { return (__m256i) __builtin_ia32_loaddquqi256_mask ((__v32qi *) __P, (__v32qi) __W, (__mmask32) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_loadu_epi8 (__mmask32 __U, void const *__P) { return (__m256i) __builtin_ia32_loaddquqi256_mask ((__v32qi *) __P, (__v32qi) _mm256_setzero_si256 (), (__mmask32) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_loadu_epi8 (__m128i __W, __mmask16 __U, void const *__P) { return (__m128i) __builtin_ia32_loaddquqi128_mask ((__v16qi *) __P, (__v16qi) __W, (__mmask16) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_loadu_epi8 (__mmask16 __U, void const *__P) { return (__m128i) __builtin_ia32_loaddquqi128_mask ((__v16qi *) __P, (__v16qi) _mm_setzero_hi (), (__mmask16) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cvtepi16_epi8 (__m256i __A) { return (__m128i) __builtin_ia32_pmovwb256_mask ((__v16hi) __A, (__v16qi)_mm_undefined_si128(), (__mmask16) -1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtepi16_epi8 (__m128i __O, __mmask16 __M, __m256i __A) { return (__m128i) __builtin_ia32_pmovwb256_mask ((__v16hi) __A, (__v16qi) __O, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_cvtepi16_epi8 (__mmask16 __M, __m256i __A) { return (__m128i) __builtin_ia32_pmovwb256_mask ((__v16hi) __A, (__v16qi) _mm_setzero_si128 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtsepi16_epi8 (__m128i __A) { return (__m128i) __builtin_ia32_pmovswb128_mask ((__v8hi) __A, (__v16qi)_mm_undefined_si128(), (__mmask8) -1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtsepi16_epi8 (__m128i __O, __mmask8 __M, __m128i __A) { return (__m128i) __builtin_ia32_pmovswb128_mask ((__v8hi) __A, (__v16qi) __O, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_cvtsepi16_epi8 (__mmask8 __M, __m128i __A) { return (__m128i) __builtin_ia32_pmovswb128_mask ((__v8hi) __A, (__v16qi) _mm_setzero_si128 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cvtsepi16_epi8 (__m256i __A) { return (__m128i) __builtin_ia32_pmovswb256_mask ((__v16hi) __A, (__v16qi)_mm_undefined_si128(), (__mmask16) -1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtsepi16_epi8 (__m128i __O, __mmask16 __M, __m256i __A) { return (__m128i) __builtin_ia32_pmovswb256_mask ((__v16hi) __A, (__v16qi) __O, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_cvtsepi16_epi8 (__mmask16 __M, __m256i __A) { return (__m128i) __builtin_ia32_pmovswb256_mask ((__v16hi) __A, (__v16qi) _mm_setzero_si128 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtusepi16_epi8 (__m128i __A) { return (__m128i) __builtin_ia32_pmovuswb128_mask ((__v8hi) __A, (__v16qi)_mm_undefined_si128(), (__mmask8) -1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtusepi16_epi8 (__m128i __O, __mmask8 __M, __m128i __A) { return (__m128i) __builtin_ia32_pmovuswb128_mask ((__v8hi) __A, (__v16qi) __O, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_cvtusepi16_epi8 (__mmask8 __M, __m128i __A) { return (__m128i) __builtin_ia32_pmovuswb128_mask ((__v8hi) __A, (__v16qi) _mm_setzero_si128 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cvtusepi16_epi8 (__m256i __A) { return (__m128i) __builtin_ia32_pmovuswb256_mask ((__v16hi) __A, (__v16qi)_mm_undefined_si128(), (__mmask16) -1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtusepi16_epi8 (__m128i __O, __mmask16 __M, __m256i __A) { return (__m128i) __builtin_ia32_pmovuswb256_mask ((__v16hi) __A, (__v16qi) __O, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_cvtusepi16_epi8 (__mmask16 __M, __m256i __A) { return (__m128i) __builtin_ia32_pmovuswb256_mask ((__v16hi) __A, (__v16qi) _mm_setzero_si128 (), __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_broadcastb_epi8 (__m256i __O, __mmask32 __M, __m128i __A) { return (__m256i) __builtin_ia32_pbroadcastb256_mask ((__v16qi) __A, (__v32qi) __O, __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_broadcastb_epi8 (__mmask32 __M, __m128i __A) { return (__m256i) __builtin_ia32_pbroadcastb256_mask ((__v16qi) __A, (__v32qi) _mm256_setzero_si256 (), __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_set1_epi8 (__m256i __O, __mmask32 __M, char __A) { return (__m256i) __builtin_ia32_pbroadcastb256_gpr_mask (__A, (__v32qi) __O, __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_set1_epi8 (__mmask32 __M, char __A) { return (__m256i) __builtin_ia32_pbroadcastb256_gpr_mask (__A, (__v32qi) _mm256_setzero_si256 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_broadcastb_epi8 (__m128i __O, __mmask16 __M, __m128i __A) { return (__m128i) __builtin_ia32_pbroadcastb128_mask ((__v16qi) __A, (__v16qi) __O, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_broadcastb_epi8 (__mmask16 __M, __m128i __A) { return (__m128i) __builtin_ia32_pbroadcastb128_mask ((__v16qi) __A, (__v16qi) _mm_setzero_si128 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_set1_epi8 (__m128i __O, __mmask16 __M, char __A) { return (__m128i) __builtin_ia32_pbroadcastb128_gpr_mask (__A, (__v16qi) __O, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_set1_epi8 (__mmask16 __M, char __A) { return (__m128i) __builtin_ia32_pbroadcastb128_gpr_mask (__A, (__v16qi) _mm_setzero_si128 (), __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_broadcastw_epi16 (__m256i __O, __mmask16 __M, __m128i __A) { return (__m256i) __builtin_ia32_pbroadcastw256_mask ((__v8hi) __A, (__v16hi) __O, __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_broadcastw_epi16 (__mmask16 __M, __m128i __A) { return (__m256i) __builtin_ia32_pbroadcastw256_mask ((__v8hi) __A, (__v16hi) _mm256_setzero_si256 (), __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_set1_epi16 (__m256i __O, __mmask16 __M, short __A) { return (__m256i) __builtin_ia32_pbroadcastw256_gpr_mask (__A, (__v16hi) __O, __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_set1_epi16 (__mmask16 __M, short __A) { return (__m256i) __builtin_ia32_pbroadcastw256_gpr_mask (__A, (__v16hi) _mm256_setzero_si256 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_broadcastw_epi16 (__m128i __O, __mmask8 __M, __m128i __A) { return (__m128i) __builtin_ia32_pbroadcastw128_mask ((__v8hi) __A, (__v8hi) __O, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_broadcastw_epi16 (__mmask8 __M, __m128i __A) { return (__m128i) __builtin_ia32_pbroadcastw128_mask ((__v8hi) __A, (__v8hi) _mm_setzero_si128 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_set1_epi16 (__m128i __O, __mmask8 __M, short __A) { return (__m128i) __builtin_ia32_pbroadcastw128_gpr_mask (__A, (__v8hi) __O, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_set1_epi16 (__mmask8 __M, short __A) { return (__m128i) __builtin_ia32_pbroadcastw128_gpr_mask (__A, (__v8hi) _mm_setzero_si128 (), __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_permutexvar_epi16 (__m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_permvarhi256_mask ((__v16hi) __B, (__v16hi) __A, (__v16hi) _mm256_setzero_si256 (), (__mmask16) -1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_permutexvar_epi16 (__mmask16 __M, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_permvarhi256_mask ((__v16hi) __B, (__v16hi) __A, (__v16hi) _mm256_setzero_si256 (), (__mmask16) __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_permutexvar_epi16 (__m256i __W, __mmask16 __M, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_permvarhi256_mask ((__v16hi) __B, (__v16hi) __A, (__v16hi) __W, (__mmask16) __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_permutexvar_epi16 (__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_permvarhi128_mask ((__v8hi) __B, (__v8hi) __A, (__v8hi) _mm_setzero_hi (), (__mmask8) -1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_permutexvar_epi16 (__mmask8 __M, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_permvarhi128_mask ((__v8hi) __B, (__v8hi) __A, (__v8hi) _mm_setzero_si128 (), (__mmask8) __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_permutexvar_epi16 (__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_permvarhi128_mask ((__v8hi) __B, (__v8hi) __A, (__v8hi) __W, (__mmask8) __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_permutex2var_epi16 (__m256i __A, __m256i __I, __m256i __B) { return (__m256i) __builtin_ia32_vpermt2varhi256_mask ((__v16hi) __I , (__v16hi) __A, (__v16hi) __B, (__mmask16) - 1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_permutex2var_epi16 (__m256i __A, __mmask16 __U, __m256i __I, __m256i __B) { return (__m256i) __builtin_ia32_vpermt2varhi256_mask ((__v16hi) __I , (__v16hi) __A, (__v16hi) __B, (__mmask16) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask2_permutex2var_epi16 (__m256i __A, __m256i __I, __mmask16 __U, __m256i __B) { return (__m256i) __builtin_ia32_vpermi2varhi256_mask ((__v16hi) __A, (__v16hi) __I , (__v16hi) __B, (__mmask16) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_permutex2var_epi16 (__mmask16 __U, __m256i __A, __m256i __I, __m256i __B) { return (__m256i) __builtin_ia32_vpermt2varhi256_maskz ((__v16hi) __I , (__v16hi) __A, (__v16hi) __B, (__mmask16) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_permutex2var_epi16 (__m128i __A, __m128i __I, __m128i __B) { return (__m128i) __builtin_ia32_vpermt2varhi128_mask ((__v8hi) __I , (__v8hi) __A, (__v8hi) __B, (__mmask8) - 1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_permutex2var_epi16 (__m128i __A, __mmask8 __U, __m128i __I, __m128i __B) { return (__m128i) __builtin_ia32_vpermt2varhi128_mask ((__v8hi) __I , (__v8hi) __A, (__v8hi) __B, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask2_permutex2var_epi16 (__m128i __A, __m128i __I, __mmask8 __U, __m128i __B) { return (__m128i) __builtin_ia32_vpermi2varhi128_mask ((__v8hi) __A, (__v8hi) __I , (__v8hi) __B, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_permutex2var_epi16 (__mmask8 __U, __m128i __A, __m128i __I, __m128i __B) { return (__m128i) __builtin_ia32_vpermt2varhi128_maskz ((__v8hi) __I , (__v8hi) __A, (__v8hi) __B, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_maddubs_epi16 (__m256i __W, __mmask16 __U, __m256i __X, __m256i __Y) { return (__m256i) __builtin_ia32_pmaddubsw256_mask ((__v32qi) __X, (__v32qi) __Y, (__v16hi) __W, (__mmask16) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_maddubs_epi16 (__mmask16 __U, __m256i __X, __m256i __Y) { return (__m256i) __builtin_ia32_pmaddubsw256_mask ((__v32qi) __X, (__v32qi) __Y, (__v16hi) _mm256_setzero_si256 (), (__mmask16) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_maddubs_epi16 (__m128i __W, __mmask8 __U, __m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_pmaddubsw128_mask ((__v16qi) __X, (__v16qi) __Y, (__v8hi) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_maddubs_epi16 (__mmask8 __U, __m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_pmaddubsw128_mask ((__v16qi) __X, (__v16qi) __Y, (__v8hi) _mm_setzero_hi (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_madd_epi16 (__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pmaddwd256_mask ((__v16hi) __A, (__v16hi) __B, (__v8si) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_madd_epi16 (__mmask8 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pmaddwd256_mask ((__v16hi) __A, (__v16hi) __B, (__v8si) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_madd_epi16 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pmaddwd128_mask ((__v8hi) __A, (__v8hi) __B, (__v4si) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_madd_epi16 (__mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pmaddwd128_mask ((__v8hi) __A, (__v8hi) __B, (__v4si) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_movepi8_mask (__m128i __A) { return (__mmask16) __builtin_ia32_cvtb2mask128 ((__v16qi) __A); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_movepi8_mask (__m256i __A) { return (__mmask32) __builtin_ia32_cvtb2mask256 ((__v32qi) __A); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_movepi16_mask (__m128i __A) { return (__mmask8) __builtin_ia32_cvtw2mask128 ((__v8hi) __A); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_movepi16_mask (__m256i __A) { return (__mmask16) __builtin_ia32_cvtw2mask256 ((__v16hi) __A); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_movm_epi8 (__mmask16 __A) { return (__m128i) __builtin_ia32_cvtmask2b128 (__A); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_movm_epi8 (__mmask32 __A) { return (__m256i) __builtin_ia32_cvtmask2b256 (__A); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_movm_epi16 (__mmask8 __A) { return (__m128i) __builtin_ia32_cvtmask2w128 (__A); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_movm_epi16 (__mmask16 __A) { return (__m256i) __builtin_ia32_cvtmask2w256 (__A); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_test_epi8_mask (__m128i __A, __m128i __B) { return (__mmask16) __builtin_ia32_ptestmb128 ((__v16qi) __A, (__v16qi) __B, (__mmask16) -1); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_test_epi8_mask (__mmask16 __U, __m128i __A, __m128i __B) { return (__mmask16) __builtin_ia32_ptestmb128 ((__v16qi) __A, (__v16qi) __B, __U); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_test_epi8_mask (__m256i __A, __m256i __B) { return (__mmask32) __builtin_ia32_ptestmb256 ((__v32qi) __A, (__v32qi) __B, (__mmask32) -1); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_test_epi8_mask (__mmask32 __U, __m256i __A, __m256i __B) { return (__mmask32) __builtin_ia32_ptestmb256 ((__v32qi) __A, (__v32qi) __B, __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_test_epi16_mask (__m128i __A, __m128i __B) { return (__mmask8) __builtin_ia32_ptestmw128 ((__v8hi) __A, (__v8hi) __B, (__mmask8) -1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_test_epi16_mask (__mmask8 __U, __m128i __A, __m128i __B) { return (__mmask8) __builtin_ia32_ptestmw128 ((__v8hi) __A, (__v8hi) __B, __U); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_test_epi16_mask (__m256i __A, __m256i __B) { return (__mmask16) __builtin_ia32_ptestmw256 ((__v16hi) __A, (__v16hi) __B, (__mmask16) -1); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_test_epi16_mask (__mmask16 __U, __m256i __A, __m256i __B) { return (__mmask16) __builtin_ia32_ptestmw256 ((__v16hi) __A, (__v16hi) __B, __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_min_epu16 (__mmask16 __M, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pminuw256_mask ((__v16hi) __A, (__v16hi) __B, (__v16hi) _mm256_setzero_si256 (), (__mmask16) __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_min_epu16 (__m256i __W, __mmask16 __M, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pminuw256_mask ((__v16hi) __A, (__v16hi) __B, (__v16hi) __W, (__mmask16) __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_min_epu16 (__mmask8 __M, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pminuw128_mask ((__v8hi) __A, (__v8hi) __B, (__v8hi) _mm_setzero_di (), (__mmask8) __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_min_epu16 (__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pminuw128_mask ((__v8hi) __A, (__v8hi) __B, (__v8hi) __W, (__mmask8) __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_min_epi16 (__mmask16 __M, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pminsw256_mask ((__v16hi) __A, (__v16hi) __B, (__v16hi) _mm256_setzero_si256 (), (__mmask16) __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_min_epi16 (__m256i __W, __mmask16 __M, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pminsw256_mask ((__v16hi) __A, (__v16hi) __B, (__v16hi) __W, (__mmask16) __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_max_epu8 (__mmask32 __M, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pmaxub256_mask ((__v32qi) __A, (__v32qi) __B, (__v32qi) _mm256_setzero_si256 (), (__mmask32) __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_max_epu8 (__m256i __W, __mmask32 __M, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pmaxub256_mask ((__v32qi) __A, (__v32qi) __B, (__v32qi) __W, (__mmask32) __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_max_epu8 (__mmask16 __M, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pmaxub128_mask ((__v16qi) __A, (__v16qi) __B, (__v16qi) _mm_setzero_di (), (__mmask16) __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_max_epu8 (__m128i __W, __mmask16 __M, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pmaxub128_mask ((__v16qi) __A, (__v16qi) __B, (__v16qi) __W, (__mmask16) __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_max_epi8 (__mmask32 __M, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pmaxsb256_mask ((__v32qi) __A, (__v32qi) __B, (__v32qi) _mm256_setzero_si256 (), (__mmask32) __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_max_epi8 (__m256i __W, __mmask32 __M, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pmaxsb256_mask ((__v32qi) __A, (__v32qi) __B, (__v32qi) __W, (__mmask32) __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_max_epi8 (__mmask16 __M, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pmaxsb128_mask ((__v16qi) __A, (__v16qi) __B, (__v16qi) _mm_setzero_di (), (__mmask16) __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_max_epi8 (__m128i __W, __mmask16 __M, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pmaxsb128_mask ((__v16qi) __A, (__v16qi) __B, (__v16qi) __W, (__mmask16) __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_min_epu8 (__mmask32 __M, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pminub256_mask ((__v32qi) __A, (__v32qi) __B, (__v32qi) _mm256_setzero_si256 (), (__mmask32) __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_min_epu8 (__m256i __W, __mmask32 __M, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pminub256_mask ((__v32qi) __A, (__v32qi) __B, (__v32qi) __W, (__mmask32) __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_min_epu8 (__mmask16 __M, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pminub128_mask ((__v16qi) __A, (__v16qi) __B, (__v16qi) _mm_setzero_di (), (__mmask16) __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_min_epu8 (__m128i __W, __mmask16 __M, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pminub128_mask ((__v16qi) __A, (__v16qi) __B, (__v16qi) __W, (__mmask16) __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_min_epi8 (__mmask32 __M, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pminsb256_mask ((__v32qi) __A, (__v32qi) __B, (__v32qi) _mm256_setzero_si256 (), (__mmask32) __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_min_epi8 (__m256i __W, __mmask32 __M, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pminsb256_mask ((__v32qi) __A, (__v32qi) __B, (__v32qi) __W, (__mmask32) __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_min_epi8 (__mmask16 __M, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pminsb128_mask ((__v16qi) __A, (__v16qi) __B, (__v16qi) _mm_setzero_di (), (__mmask16) __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_min_epi8 (__m128i __W, __mmask16 __M, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pminsb128_mask ((__v16qi) __A, (__v16qi) __B, (__v16qi) __W, (__mmask16) __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_max_epi16 (__mmask16 __M, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pmaxsw256_mask ((__v16hi) __A, (__v16hi) __B, (__v16hi) _mm256_setzero_si256 (), (__mmask16) __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_max_epi16 (__m256i __W, __mmask16 __M, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pmaxsw256_mask ((__v16hi) __A, (__v16hi) __B, (__v16hi) __W, (__mmask16) __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_max_epi16 (__mmask8 __M, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pmaxsw128_mask ((__v8hi) __A, (__v8hi) __B, (__v8hi) _mm_setzero_di (), (__mmask8) __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_max_epi16 (__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pmaxsw128_mask ((__v8hi) __A, (__v8hi) __B, (__v8hi) __W, (__mmask8) __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_max_epu16 (__mmask16 __M, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pmaxuw256_mask ((__v16hi) __A, (__v16hi) __B, (__v16hi) _mm256_setzero_si256 (), (__mmask16) __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_max_epu16 (__m256i __W, __mmask16 __M, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pmaxuw256_mask ((__v16hi) __A, (__v16hi) __B, (__v16hi) __W, (__mmask16) __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_max_epu16 (__mmask8 __M, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pmaxuw128_mask ((__v8hi) __A, (__v8hi) __B, (__v8hi) _mm_setzero_di (), (__mmask8) __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_max_epu16 (__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pmaxuw128_mask ((__v8hi) __A, (__v8hi) __B, (__v8hi) __W, (__mmask8) __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_min_epi16 (__mmask8 __M, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pminsw128_mask ((__v8hi) __A, (__v8hi) __B, (__v8hi) _mm_setzero_di (), (__mmask8) __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_min_epi16 (__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pminsw128_mask ((__v8hi) __A, (__v8hi) __B, (__v8hi) __W, (__mmask8) __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_alignr_epi8 (__m256i __W, __mmask32 __U, __m256i __A, __m256i __B, const int __N) { return (__m256i) __builtin_ia32_palignr256_mask ((__v4di) __A, (__v4di) __B, __N * 8, (__v4di) __W, (__mmask32) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_alignr_epi8 (__mmask32 __U, __m256i __A, __m256i __B, const int __N) { return (__m256i) __builtin_ia32_palignr256_mask ((__v4di) __A, (__v4di) __B, __N * 8, (__v4di) _mm256_setzero_si256 (), (__mmask32) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_alignr_epi8 (__m128i __W, __mmask16 __U, __m128i __A, __m128i __B, const int __N) { return (__m128i) __builtin_ia32_palignr128_mask ((__v2di) __A, (__v2di) __B, __N * 8, (__v2di) __W, (__mmask16) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_alignr_epi8 (__mmask16 __U, __m128i __A, __m128i __B, const int __N) { return (__m128i) __builtin_ia32_palignr128_mask ((__v2di) __A, (__v2di) __B, __N * 8, (__v2di) _mm_setzero_si128 (), (__mmask16) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_dbsad_epu8 (__m256i __A, __m256i __B, const int __imm) { return (__m256i) __builtin_ia32_dbpsadbw256_mask ((__v32qi) __A, (__v32qi) __B, __imm, (__v16hi) _mm256_setzero_si256 (), (__mmask16) -1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_dbsad_epu8 (__m256i __W, __mmask16 __U, __m256i __A, __m256i __B, const int __imm) { return (__m256i) __builtin_ia32_dbpsadbw256_mask ((__v32qi) __A, (__v32qi) __B, __imm, (__v16hi) __W, (__mmask16) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_dbsad_epu8 (__mmask16 __U, __m256i __A, __m256i __B, const int __imm) { return (__m256i) __builtin_ia32_dbpsadbw256_mask ((__v32qi) __A, (__v32qi) __B, __imm, (__v16hi) _mm256_setzero_si256 (), (__mmask16) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_dbsad_epu8 (__m128i __A, __m128i __B, const int __imm) { return (__m128i) __builtin_ia32_dbpsadbw128_mask ((__v16qi) __A, (__v16qi) __B, __imm, (__v8hi) _mm_setzero_hi (), (__mmask8) -1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_dbsad_epu8 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B, const int __imm) { return (__m128i) __builtin_ia32_dbpsadbw128_mask ((__v16qi) __A, (__v16qi) __B, __imm, (__v8hi) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_dbsad_epu8 (__mmask8 __U, __m128i __A, __m128i __B, const int __imm) { return (__m128i) __builtin_ia32_dbpsadbw128_mask ((__v16qi) __A, (__v16qi) __B, __imm, (__v8hi) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_blend_epi16 (__mmask8 __U, __m128i __A, __m128i __W) { return (__m128i) __builtin_ia32_blendmw_128_mask ((__v8hi) __A, (__v8hi) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_blend_epi8 (__mmask16 __U, __m128i __A, __m128i __W) { return (__m128i) __builtin_ia32_blendmb_128_mask ((__v16qi) __A, (__v16qi) __W, (__mmask16) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_blend_epi16 (__mmask16 __U, __m256i __A, __m256i __W) { return (__m256i) __builtin_ia32_blendmw_256_mask ((__v16hi) __A, (__v16hi) __W, (__mmask16) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_blend_epi8 (__mmask32 __U, __m256i __A, __m256i __W) { return (__m256i) __builtin_ia32_blendmb_256_mask ((__v32qi) __A, (__v32qi) __W, (__mmask32) __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cmp_epi16_mask (__mmask8 __U, __m128i __X, __m128i __Y, const int __P) { return (__mmask8) __builtin_ia32_cmpw128_mask ((__v8hi) __X, (__v8hi) __Y, __P, (__mmask8) __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmp_epi16_mask (__m128i __X, __m128i __Y, const int __P) { return (__mmask8) __builtin_ia32_cmpw128_mask ((__v8hi) __X, (__v8hi) __Y, __P, (__mmask8) -1); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmp_epi16_mask (__mmask16 __U, __m256i __X, __m256i __Y, const int __P) { return (__mmask16) __builtin_ia32_cmpw256_mask ((__v16hi) __X, (__v16hi) __Y, __P, (__mmask16) __U); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmp_epi16_mask (__m256i __X, __m256i __Y, const int __P) { return (__mmask16) __builtin_ia32_cmpw256_mask ((__v16hi) __X, (__v16hi) __Y, __P, (__mmask16) -1); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cmp_epi8_mask (__mmask8 __U, __m128i __X, __m128i __Y, const int __P) { return (__mmask16) __builtin_ia32_cmpb128_mask ((__v16qi) __X, (__v16qi) __Y, __P, (__mmask16) __U); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmp_epi8_mask (__m128i __X, __m128i __Y, const int __P) { return (__mmask16) __builtin_ia32_cmpb128_mask ((__v16qi) __X, (__v16qi) __Y, __P, (__mmask16) -1); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmp_epi8_mask (__mmask16 __U, __m256i __X, __m256i __Y, const int __P) { return (__mmask32) __builtin_ia32_cmpb256_mask ((__v32qi) __X, (__v32qi) __Y, __P, (__mmask32) __U); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmp_epi8_mask (__m256i __X, __m256i __Y, const int __P) { return (__mmask32) __builtin_ia32_cmpb256_mask ((__v32qi) __X, (__v32qi) __Y, __P, (__mmask32) -1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cmp_epu16_mask (__mmask8 __U, __m128i __X, __m128i __Y, const int __P) { return (__mmask8) __builtin_ia32_ucmpw128_mask ((__v8hi) __X, (__v8hi) __Y, __P, (__mmask8) __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmp_epu16_mask (__m128i __X, __m128i __Y, const int __P) { return (__mmask8) __builtin_ia32_ucmpw128_mask ((__v8hi) __X, (__v8hi) __Y, __P, (__mmask8) -1); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmp_epu16_mask (__mmask16 __U, __m256i __X, __m256i __Y, const int __P) { return (__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi) __X, (__v16hi) __Y, __P, (__mmask16) __U); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmp_epu16_mask (__m256i __X, __m256i __Y, const int __P) { return (__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi) __X, (__v16hi) __Y, __P, (__mmask16) -1); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cmp_epu8_mask (__mmask8 __U, __m128i __X, __m128i __Y, const int __P) { return (__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi) __X, (__v16qi) __Y, __P, (__mmask16) __U); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmp_epu8_mask (__m128i __X, __m128i __Y, const int __P) { return (__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi) __X, (__v16qi) __Y, __P, (__mmask16) -1); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmp_epu8_mask (__mmask16 __U, __m256i __X, __m256i __Y, const int __P) { return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __X, (__v32qi) __Y, __P, (__mmask32) __U); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmp_epu8_mask (__m256i __X, __m256i __Y, const int __P) { return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __X, (__v32qi) __Y, __P, (__mmask32) -1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_srli_epi16 (__m256i __W, __mmask16 __U, __m256i __A, const int __imm) { return (__m256i) __builtin_ia32_psrlwi256_mask ((__v16hi) __A, __imm, (__v16hi) __W, (__mmask16) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_srli_epi16 (__mmask16 __U, __m256i __A, const int __imm) { return (__m256i) __builtin_ia32_psrlwi256_mask ((__v16hi) __A, __imm, (__v16hi) _mm256_setzero_si256 (), (__mmask16) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_srli_epi16 (__m128i __W, __mmask8 __U, __m128i __A, const int __imm) { return (__m128i) __builtin_ia32_psrlwi128_mask ((__v8hi) __A, __imm, (__v8hi) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_srli_epi16 (__mmask8 __U, __m128i __A, const int __imm) { return (__m128i) __builtin_ia32_psrlwi128_mask ((__v8hi) __A, __imm, (__v8hi) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_shufflehi_epi16 (__m256i __W, __mmask16 __U, __m256i __A, const int __imm) { return (__m256i) __builtin_ia32_pshufhw256_mask ((__v16hi) __A, __imm, (__v16hi) __W, (__mmask16) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_shufflehi_epi16 (__mmask16 __U, __m256i __A, const int __imm) { return (__m256i) __builtin_ia32_pshufhw256_mask ((__v16hi) __A, __imm, (__v16hi) _mm256_setzero_si256 (), (__mmask16) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_shufflehi_epi16 (__m128i __W, __mmask8 __U, __m128i __A, const int __imm) { return (__m128i) __builtin_ia32_pshufhw128_mask ((__v8hi) __A, __imm, (__v8hi) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_shufflehi_epi16 (__mmask8 __U, __m128i __A, const int __imm) { return (__m128i) __builtin_ia32_pshufhw128_mask ((__v8hi) __A, __imm, (__v8hi) _mm_setzero_hi (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_shufflelo_epi16 (__m256i __W, __mmask16 __U, __m256i __A, const int __imm) { return (__m256i) __builtin_ia32_pshuflw256_mask ((__v16hi) __A, __imm, (__v16hi) __W, (__mmask16) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_shufflelo_epi16 (__mmask16 __U, __m256i __A, const int __imm) { return (__m256i) __builtin_ia32_pshuflw256_mask ((__v16hi) __A, __imm, (__v16hi) _mm256_setzero_si256 (), (__mmask16) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_shufflelo_epi16 (__m128i __W, __mmask8 __U, __m128i __A, const int __imm) { return (__m128i) __builtin_ia32_pshuflw128_mask ((__v8hi) __A, __imm, (__v8hi) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_shufflelo_epi16 (__mmask8 __U, __m128i __A, const int __imm) { return (__m128i) __builtin_ia32_pshuflw128_mask ((__v8hi) __A, __imm, (__v8hi) _mm_setzero_hi (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_srai_epi16 (__m256i __W, __mmask16 __U, __m256i __A, const int __imm) { return (__m256i) __builtin_ia32_psrawi256_mask ((__v16hi) __A, __imm, (__v16hi) __W, (__mmask16) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_srai_epi16 (__mmask16 __U, __m256i __A, const int __imm) { return (__m256i) __builtin_ia32_psrawi256_mask ((__v16hi) __A, __imm, (__v16hi) _mm256_setzero_si256 (), (__mmask16) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_srai_epi16 (__m128i __W, __mmask8 __U, __m128i __A, const int __imm) { return (__m128i) __builtin_ia32_psrawi128_mask ((__v8hi) __A, __imm, (__v8hi) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_srai_epi16 (__mmask8 __U, __m128i __A, const int __imm) { return (__m128i) __builtin_ia32_psrawi128_mask ((__v8hi) __A, __imm, (__v8hi) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_slli_epi16 (__m256i __W, __mmask16 __U, __m256i __A, int __B) { return (__m256i) __builtin_ia32_psllwi256_mask ((__v16hi) __A, __B, (__v16hi) __W, (__mmask16) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_slli_epi16 (__mmask16 __U, __m256i __A, int __B) { return (__m256i) __builtin_ia32_psllwi256_mask ((__v16hi) __A, __B, (__v16hi) _mm256_setzero_si256 (), (__mmask16) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_slli_epi16 (__m128i __W, __mmask8 __U, __m128i __A, int __B) { return (__m128i) __builtin_ia32_psllwi128_mask ((__v8hi) __A, __B, (__v8hi) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_slli_epi16 (__mmask8 __U, __m128i __A, int __B) { return (__m128i) __builtin_ia32_psllwi128_mask ((__v8hi) __A, __B, (__v8hi) _mm_setzero_si128 (), (__mmask8) __U); } # 2006 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512vlbwintrin.h" 3 4 extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmpneq_epi8_mask (__m256i __X, __m256i __Y) { return (__mmask32) __builtin_ia32_cmpb256_mask ((__v32qi) __X, (__v32qi) __Y, 4, (__mmask32) - 1); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmplt_epi8_mask (__m256i __X, __m256i __Y) { return (__mmask32) __builtin_ia32_cmpb256_mask ((__v32qi) __X, (__v32qi) __Y, 1, (__mmask32) - 1); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmpge_epi8_mask (__m256i __X, __m256i __Y) { return (__mmask32) __builtin_ia32_cmpb256_mask ((__v32qi) __X, (__v32qi) __Y, 5, (__mmask32) - 1); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmple_epi8_mask (__m256i __X, __m256i __Y) { return (__mmask32) __builtin_ia32_cmpb256_mask ((__v32qi) __X, (__v32qi) __Y, 2, (__mmask32) - 1); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmpneq_epi16_mask (__m256i __X, __m256i __Y) { return (__mmask16) __builtin_ia32_cmpw256_mask ((__v16hi) __X, (__v16hi) __Y, 4, (__mmask16) - 1); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmplt_epi16_mask (__m256i __X, __m256i __Y) { return (__mmask16) __builtin_ia32_cmpw256_mask ((__v16hi) __X, (__v16hi) __Y, 1, (__mmask16) - 1); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmpge_epi16_mask (__m256i __X, __m256i __Y) { return (__mmask16) __builtin_ia32_cmpw256_mask ((__v16hi) __X, (__v16hi) __Y, 5, (__mmask16) - 1); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmple_epi16_mask (__m256i __X, __m256i __Y) { return (__mmask16) __builtin_ia32_cmpw256_mask ((__v16hi) __X, (__v16hi) __Y, 2, (__mmask16) - 1); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpneq_epu8_mask (__m128i __X, __m128i __Y) { return (__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi) __X, (__v16qi) __Y, 4, (__mmask16) - 1); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmplt_epu8_mask (__m128i __X, __m128i __Y) { return (__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi) __X, (__v16qi) __Y, 1, (__mmask16) - 1); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpge_epu8_mask (__m128i __X, __m128i __Y) { return (__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi) __X, (__v16qi) __Y, 5, (__mmask16) - 1); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmple_epu8_mask (__m128i __X, __m128i __Y) { return (__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi) __X, (__v16qi) __Y, 2, (__mmask16) - 1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpneq_epu16_mask (__m128i __X, __m128i __Y) { return (__mmask8) __builtin_ia32_ucmpw128_mask ((__v8hi) __X, (__v8hi) __Y, 4, (__mmask8) - 1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmplt_epu16_mask (__m128i __X, __m128i __Y) { return (__mmask8) __builtin_ia32_ucmpw128_mask ((__v8hi) __X, (__v8hi) __Y, 1, (__mmask8) - 1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpge_epu16_mask (__m128i __X, __m128i __Y) { return (__mmask8) __builtin_ia32_ucmpw128_mask ((__v8hi) __X, (__v8hi) __Y, 5, (__mmask8) - 1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmple_epu16_mask (__m128i __X, __m128i __Y) { return (__mmask8) __builtin_ia32_ucmpw128_mask ((__v8hi) __X, (__v8hi) __Y, 2, (__mmask8) - 1); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpneq_epi8_mask (__m128i __X, __m128i __Y) { return (__mmask16) __builtin_ia32_cmpb128_mask ((__v16qi) __X, (__v16qi) __Y, 4, (__mmask16) - 1); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmplt_epi8_mask (__m128i __X, __m128i __Y) { return (__mmask16) __builtin_ia32_cmpb128_mask ((__v16qi) __X, (__v16qi) __Y, 1, (__mmask16) - 1); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpge_epi8_mask (__m128i __X, __m128i __Y) { return (__mmask16) __builtin_ia32_cmpb128_mask ((__v16qi) __X, (__v16qi) __Y, 5, (__mmask16) - 1); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmple_epi8_mask (__m128i __X, __m128i __Y) { return (__mmask16) __builtin_ia32_cmpb128_mask ((__v16qi) __X, (__v16qi) __Y, 2, (__mmask16) - 1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpneq_epi16_mask (__m128i __X, __m128i __Y) { return (__mmask8) __builtin_ia32_cmpw128_mask ((__v8hi) __X, (__v8hi) __Y, 4, (__mmask8) - 1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmplt_epi16_mask (__m128i __X, __m128i __Y) { return (__mmask8) __builtin_ia32_cmpw128_mask ((__v8hi) __X, (__v8hi) __Y, 1, (__mmask8) - 1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpge_epi16_mask (__m128i __X, __m128i __Y) { return (__mmask8) __builtin_ia32_cmpw128_mask ((__v8hi) __X, (__v8hi) __Y, 5, (__mmask8) - 1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmple_epi16_mask (__m128i __X, __m128i __Y) { return (__mmask8) __builtin_ia32_cmpw128_mask ((__v8hi) __X, (__v8hi) __Y, 2, (__mmask8) - 1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_mulhrs_epi16 (__m256i __W, __mmask16 __U, __m256i __X, __m256i __Y) { return (__m256i) __builtin_ia32_pmulhrsw256_mask ((__v16hi) __X, (__v16hi) __Y, (__v16hi) __W, (__mmask16) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_mulhrs_epi16 (__mmask16 __U, __m256i __X, __m256i __Y) { return (__m256i) __builtin_ia32_pmulhrsw256_mask ((__v16hi) __X, (__v16hi) __Y, (__v16hi) _mm256_setzero_si256 (), (__mmask16) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_mulhi_epu16 (__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pmulhuw256_mask ((__v16hi) __A, (__v16hi) __B, (__v16hi) __W, (__mmask16) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_mulhi_epu16 (__mmask16 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pmulhuw256_mask ((__v16hi) __A, (__v16hi) __B, (__v16hi) _mm256_setzero_si256 (), (__mmask16) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_mulhi_epi16 (__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pmulhw256_mask ((__v16hi) __A, (__v16hi) __B, (__v16hi) __W, (__mmask16) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_mulhi_epi16 (__mmask16 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pmulhw256_mask ((__v16hi) __A, (__v16hi) __B, (__v16hi) _mm256_setzero_si256 (), (__mmask16) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_mulhi_epi16 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pmulhw128_mask ((__v8hi) __A, (__v8hi) __B, (__v8hi) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_mulhi_epi16 (__mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pmulhw128_mask ((__v8hi) __A, (__v8hi) __B, (__v8hi) _mm_setzero_hi (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_mulhi_epu16 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pmulhuw128_mask ((__v8hi) __A, (__v8hi) __B, (__v8hi) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_mulhi_epu16 (__mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pmulhuw128_mask ((__v8hi) __A, (__v8hi) __B, (__v8hi) _mm_setzero_hi (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_mulhrs_epi16 (__m128i __W, __mmask8 __U, __m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_pmulhrsw128_mask ((__v8hi) __X, (__v8hi) __Y, (__v8hi) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_mulhrs_epi16 (__mmask8 __U, __m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_pmulhrsw128_mask ((__v8hi) __X, (__v8hi) __Y, (__v8hi) _mm_setzero_hi (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_mullo_epi16 (__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pmullw256_mask ((__v16hi) __A, (__v16hi) __B, (__v16hi) __W, (__mmask16) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_mullo_epi16 (__mmask16 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pmullw256_mask ((__v16hi) __A, (__v16hi) __B, (__v16hi) _mm256_setzero_si256 (), (__mmask16) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_mullo_epi16 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pmullw128_mask ((__v8hi) __A, (__v8hi) __B, (__v8hi) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_mullo_epi16 (__mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pmullw128_mask ((__v8hi) __A, (__v8hi) __B, (__v8hi) _mm_setzero_hi (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtepi8_epi16 (__m256i __W, __mmask32 __U, __m128i __A) { return (__m256i) __builtin_ia32_pmovsxbw256_mask ((__v16qi) __A, (__v16hi) __W, (__mmask16) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_cvtepi8_epi16 (__mmask16 __U, __m128i __A) { return (__m256i) __builtin_ia32_pmovsxbw256_mask ((__v16qi) __A, (__v16hi) _mm256_setzero_si256 (), (__mmask16) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtepi8_epi16 (__m128i __W, __mmask32 __U, __m128i __A) { return (__m128i) __builtin_ia32_pmovsxbw128_mask ((__v16qi) __A, (__v8hi) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_cvtepi8_epi16 (__mmask8 __U, __m128i __A) { return (__m128i) __builtin_ia32_pmovsxbw128_mask ((__v16qi) __A, (__v8hi) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtepu8_epi16 (__m256i __W, __mmask32 __U, __m128i __A) { return (__m256i) __builtin_ia32_pmovzxbw256_mask ((__v16qi) __A, (__v16hi) __W, (__mmask16) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_cvtepu8_epi16 (__mmask16 __U, __m128i __A) { return (__m256i) __builtin_ia32_pmovzxbw256_mask ((__v16qi) __A, (__v16hi) _mm256_setzero_si256 (), (__mmask16) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtepu8_epi16 (__m128i __W, __mmask32 __U, __m128i __A) { return (__m128i) __builtin_ia32_pmovzxbw128_mask ((__v16qi) __A, (__v8hi) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_cvtepu8_epi16 (__mmask8 __U, __m128i __A) { return (__m128i) __builtin_ia32_pmovzxbw128_mask ((__v16qi) __A, (__v8hi) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_avg_epu8 (__m256i __W, __mmask32 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pavgb256_mask ((__v32qi) __A, (__v32qi) __B, (__v32qi) __W, (__mmask32) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_avg_epu8 (__mmask32 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pavgb256_mask ((__v32qi) __A, (__v32qi) __B, (__v32qi) _mm256_setzero_si256 (), (__mmask32) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_avg_epu8 (__m128i __W, __mmask16 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pavgb128_mask ((__v16qi) __A, (__v16qi) __B, (__v16qi) __W, (__mmask16) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_avg_epu8 (__mmask16 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pavgb128_mask ((__v16qi) __A, (__v16qi) __B, (__v16qi) _mm_setzero_si128 (), (__mmask16) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_avg_epu16 (__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pavgw256_mask ((__v16hi) __A, (__v16hi) __B, (__v16hi) __W, (__mmask16) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_avg_epu16 (__mmask16 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pavgw256_mask ((__v16hi) __A, (__v16hi) __B, (__v16hi) _mm256_setzero_si256 (), (__mmask16) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_avg_epu16 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pavgw128_mask ((__v8hi) __A, (__v8hi) __B, (__v8hi) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_avg_epu16 (__mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pavgw128_mask ((__v8hi) __A, (__v8hi) __B, (__v8hi) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_add_epi8 (__m256i __W, __mmask32 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_paddb256_mask ((__v32qi) __A, (__v32qi) __B, (__v32qi) __W, (__mmask32) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_add_epi8 (__mmask32 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_paddb256_mask ((__v32qi) __A, (__v32qi) __B, (__v32qi) _mm256_setzero_si256 (), (__mmask32) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_add_epi16 (__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_paddw256_mask ((__v16hi) __A, (__v16hi) __B, (__v16hi) __W, (__mmask16) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_add_epi16 (__mmask16 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_paddw256_mask ((__v16hi) __A, (__v16hi) __B, (__v16hi) _mm256_setzero_si256 (), (__mmask16) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_adds_epi8 (__m256i __W, __mmask32 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_paddsb256_mask ((__v32qi) __A, (__v32qi) __B, (__v32qi) __W, (__mmask32) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_adds_epi8 (__mmask32 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_paddsb256_mask ((__v32qi) __A, (__v32qi) __B, (__v32qi) _mm256_setzero_si256 (), (__mmask32) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_adds_epi16 (__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_paddsw256_mask ((__v16hi) __A, (__v16hi) __B, (__v16hi) __W, (__mmask16) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_adds_epi16 (__mmask16 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_paddsw256_mask ((__v16hi) __A, (__v16hi) __B, (__v16hi) _mm256_setzero_si256 (), (__mmask16) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_adds_epu8 (__m256i __W, __mmask32 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_paddusb256_mask ((__v32qi) __A, (__v32qi) __B, (__v32qi) __W, (__mmask32) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_adds_epu8 (__mmask32 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_paddusb256_mask ((__v32qi) __A, (__v32qi) __B, (__v32qi) _mm256_setzero_si256 (), (__mmask32) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_adds_epu16 (__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_paddusw256_mask ((__v16hi) __A, (__v16hi) __B, (__v16hi) __W, (__mmask16) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_adds_epu16 (__mmask16 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_paddusw256_mask ((__v16hi) __A, (__v16hi) __B, (__v16hi) _mm256_setzero_si256 (), (__mmask16) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_sub_epi8 (__m256i __W, __mmask32 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_psubb256_mask ((__v32qi) __A, (__v32qi) __B, (__v32qi) __W, (__mmask32) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_sub_epi8 (__mmask32 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_psubb256_mask ((__v32qi) __A, (__v32qi) __B, (__v32qi) _mm256_setzero_si256 (), (__mmask32) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_sub_epi16 (__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_psubw256_mask ((__v16hi) __A, (__v16hi) __B, (__v16hi) __W, (__mmask16) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_sub_epi16 (__mmask16 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_psubw256_mask ((__v16hi) __A, (__v16hi) __B, (__v16hi) _mm256_setzero_si256 (), (__mmask16) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_subs_epi8 (__m256i __W, __mmask32 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_psubsb256_mask ((__v32qi) __A, (__v32qi) __B, (__v32qi) __W, (__mmask32) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_subs_epi8 (__mmask32 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_psubsb256_mask ((__v32qi) __A, (__v32qi) __B, (__v32qi) _mm256_setzero_si256 (), (__mmask32) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_subs_epi16 (__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_psubsw256_mask ((__v16hi) __A, (__v16hi) __B, (__v16hi) __W, (__mmask16) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_subs_epi16 (__mmask16 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_psubsw256_mask ((__v16hi) __A, (__v16hi) __B, (__v16hi) _mm256_setzero_si256 (), (__mmask16) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_subs_epu8 (__m256i __W, __mmask32 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_psubusb256_mask ((__v32qi) __A, (__v32qi) __B, (__v32qi) __W, (__mmask32) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_subs_epu8 (__mmask32 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_psubusb256_mask ((__v32qi) __A, (__v32qi) __B, (__v32qi) _mm256_setzero_si256 (), (__mmask32) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_subs_epu16 (__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_psubusw256_mask ((__v16hi) __A, (__v16hi) __B, (__v16hi) __W, (__mmask16) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_subs_epu16 (__mmask16 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_psubusw256_mask ((__v16hi) __A, (__v16hi) __B, (__v16hi) _mm256_setzero_si256 (), (__mmask16) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_add_epi8 (__m128i __W, __mmask16 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_paddb128_mask ((__v16qi) __A, (__v16qi) __B, (__v16qi) __W, (__mmask16) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_add_epi8 (__mmask16 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_paddb128_mask ((__v16qi) __A, (__v16qi) __B, (__v16qi) _mm_setzero_si128 (), (__mmask16) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_add_epi16 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_paddw128_mask ((__v8hi) __A, (__v8hi) __B, (__v8hi) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_add_epi16 (__mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_paddw128_mask ((__v8hi) __A, (__v8hi) __B, (__v8hi) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_unpackhi_epi8 (__m256i __W, __mmask32 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_punpckhbw256_mask ((__v32qi) __A, (__v32qi) __B, (__v32qi) __W, (__mmask32) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_unpackhi_epi8 (__mmask32 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_punpckhbw256_mask ((__v32qi) __A, (__v32qi) __B, (__v32qi) _mm256_setzero_si256 (), (__mmask32) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_unpackhi_epi8 (__m128i __W, __mmask16 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_punpckhbw128_mask ((__v16qi) __A, (__v16qi) __B, (__v16qi) __W, (__mmask16) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_unpackhi_epi8 (__mmask16 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_punpckhbw128_mask ((__v16qi) __A, (__v16qi) __B, (__v16qi) _mm_setzero_si128 (), (__mmask16) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_unpackhi_epi16 (__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_punpckhwd256_mask ((__v16hi) __A, (__v16hi) __B, (__v16hi) __W, (__mmask16) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_unpackhi_epi16 (__mmask16 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_punpckhwd256_mask ((__v16hi) __A, (__v16hi) __B, (__v16hi) _mm256_setzero_si256 (), (__mmask16) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_unpackhi_epi16 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_punpckhwd128_mask ((__v8hi) __A, (__v8hi) __B, (__v8hi) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_unpackhi_epi16 (__mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_punpckhwd128_mask ((__v8hi) __A, (__v8hi) __B, (__v8hi) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_unpacklo_epi8 (__m256i __W, __mmask32 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_punpcklbw256_mask ((__v32qi) __A, (__v32qi) __B, (__v32qi) __W, (__mmask32) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_unpacklo_epi8 (__mmask32 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_punpcklbw256_mask ((__v32qi) __A, (__v32qi) __B, (__v32qi) _mm256_setzero_si256 (), (__mmask32) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_unpacklo_epi8 (__m128i __W, __mmask16 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_punpcklbw128_mask ((__v16qi) __A, (__v16qi) __B, (__v16qi) __W, (__mmask16) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_unpacklo_epi8 (__mmask16 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_punpcklbw128_mask ((__v16qi) __A, (__v16qi) __B, (__v16qi) _mm_setzero_si128 (), (__mmask16) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_unpacklo_epi16 (__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_punpcklwd256_mask ((__v16hi) __A, (__v16hi) __B, (__v16hi) __W, (__mmask16) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_unpacklo_epi16 (__mmask16 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_punpcklwd256_mask ((__v16hi) __A, (__v16hi) __B, (__v16hi) _mm256_setzero_si256 (), (__mmask16) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_unpacklo_epi16 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_punpcklwd128_mask ((__v8hi) __A, (__v8hi) __B, (__v8hi) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_unpacklo_epi16 (__mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_punpcklwd128_mask ((__v8hi) __A, (__v8hi) __B, (__v8hi) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpeq_epi8_mask (__m128i __A, __m128i __B) { return (__mmask16) __builtin_ia32_pcmpeqb128_mask ((__v16qi) __A, (__v16qi) __B, (__mmask16) -1); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpeq_epu8_mask (__m128i __A, __m128i __B) { return (__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi) __A, (__v16qi) __B, 0, (__mmask16) -1); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cmpeq_epu8_mask (__mmask16 __U, __m128i __A, __m128i __B) { return (__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi) __A, (__v16qi) __B, 0, __U); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cmpeq_epi8_mask (__mmask16 __U, __m128i __A, __m128i __B) { return (__mmask16) __builtin_ia32_pcmpeqb128_mask ((__v16qi) __A, (__v16qi) __B, __U); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmpeq_epu8_mask (__m256i __A, __m256i __B) { return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __A, (__v32qi) __B, 0, (__mmask32) -1); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmpeq_epi8_mask (__m256i __A, __m256i __B) { return (__mmask32) __builtin_ia32_pcmpeqb256_mask ((__v32qi) __A, (__v32qi) __B, (__mmask32) -1); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmpeq_epu8_mask (__mmask32 __U, __m256i __A, __m256i __B) { return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __A, (__v32qi) __B, 0, __U); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmpeq_epi8_mask (__mmask32 __U, __m256i __A, __m256i __B) { return (__mmask32) __builtin_ia32_pcmpeqb256_mask ((__v32qi) __A, (__v32qi) __B, __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpeq_epu16_mask (__m128i __A, __m128i __B) { return (__mmask8) __builtin_ia32_ucmpw128_mask ((__v8hi) __A, (__v8hi) __B, 0, (__mmask8) -1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpeq_epi16_mask (__m128i __A, __m128i __B) { return (__mmask8) __builtin_ia32_pcmpeqw128_mask ((__v8hi) __A, (__v8hi) __B, (__mmask8) -1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cmpeq_epu16_mask (__mmask8 __U, __m128i __A, __m128i __B) { return (__mmask8) __builtin_ia32_ucmpw128_mask ((__v8hi) __A, (__v8hi) __B, 0, __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cmpeq_epi16_mask (__mmask8 __U, __m128i __A, __m128i __B) { return (__mmask8) __builtin_ia32_pcmpeqw128_mask ((__v8hi) __A, (__v8hi) __B, __U); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmpeq_epu16_mask (__m256i __A, __m256i __B) { return (__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi) __A, (__v16hi) __B, 0, (__mmask16) -1); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmpeq_epi16_mask (__m256i __A, __m256i __B) { return (__mmask16) __builtin_ia32_pcmpeqw256_mask ((__v16hi) __A, (__v16hi) __B, (__mmask16) -1); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmpeq_epu16_mask (__mmask16 __U, __m256i __A, __m256i __B) { return (__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi) __A, (__v16hi) __B, 0, __U); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmpeq_epi16_mask (__mmask16 __U, __m256i __A, __m256i __B) { return (__mmask16) __builtin_ia32_pcmpeqw256_mask ((__v16hi) __A, (__v16hi) __B, __U); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpgt_epu8_mask (__m128i __A, __m128i __B) { return (__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi) __A, (__v16qi) __B, 6, (__mmask16) -1); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpgt_epi8_mask (__m128i __A, __m128i __B) { return (__mmask16) __builtin_ia32_pcmpgtb128_mask ((__v16qi) __A, (__v16qi) __B, (__mmask16) -1); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cmpgt_epu8_mask (__mmask16 __U, __m128i __A, __m128i __B) { return (__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi) __A, (__v16qi) __B, 6, __U); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cmpgt_epi8_mask (__mmask16 __U, __m128i __A, __m128i __B) { return (__mmask16) __builtin_ia32_pcmpgtb128_mask ((__v16qi) __A, (__v16qi) __B, __U); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmpgt_epu8_mask (__m256i __A, __m256i __B) { return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __A, (__v32qi) __B, 6, (__mmask32) -1); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmpgt_epi8_mask (__m256i __A, __m256i __B) { return (__mmask32) __builtin_ia32_pcmpgtb256_mask ((__v32qi) __A, (__v32qi) __B, (__mmask32) -1); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmpgt_epu8_mask (__mmask32 __U, __m256i __A, __m256i __B) { return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __A, (__v32qi) __B, 6, __U); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmpgt_epi8_mask (__mmask32 __U, __m256i __A, __m256i __B) { return (__mmask32) __builtin_ia32_pcmpgtb256_mask ((__v32qi) __A, (__v32qi) __B, __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpgt_epu16_mask (__m128i __A, __m128i __B) { return (__mmask8) __builtin_ia32_ucmpw128_mask ((__v8hi) __A, (__v8hi) __B, 6, (__mmask8) -1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpgt_epi16_mask (__m128i __A, __m128i __B) { return (__mmask8) __builtin_ia32_pcmpgtw128_mask ((__v8hi) __A, (__v8hi) __B, (__mmask8) -1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cmpgt_epu16_mask (__mmask8 __U, __m128i __A, __m128i __B) { return (__mmask8) __builtin_ia32_ucmpw128_mask ((__v8hi) __A, (__v8hi) __B, 6, __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cmpgt_epi16_mask (__mmask8 __U, __m128i __A, __m128i __B) { return (__mmask8) __builtin_ia32_pcmpgtw128_mask ((__v8hi) __A, (__v8hi) __B, __U); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmpgt_epu16_mask (__m256i __A, __m256i __B) { return (__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi) __A, (__v16hi) __B, 6, (__mmask16) -1); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmpgt_epi16_mask (__m256i __A, __m256i __B) { return (__mmask16) __builtin_ia32_pcmpgtw256_mask ((__v16hi) __A, (__v16hi) __B, (__mmask16) -1); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmpgt_epu16_mask (__mmask16 __U, __m256i __A, __m256i __B) { return (__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi) __A, (__v16hi) __B, 6, __U); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmpgt_epi16_mask (__mmask16 __U, __m256i __A, __m256i __B) { return (__mmask16) __builtin_ia32_pcmpgtw256_mask ((__v16hi) __A, (__v16hi) __B, __U); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_testn_epi8_mask (__m128i __A, __m128i __B) { return (__mmask16) __builtin_ia32_ptestnmb128 ((__v16qi) __A, (__v16qi) __B, (__mmask16) -1); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_testn_epi8_mask (__mmask16 __U, __m128i __A, __m128i __B) { return (__mmask16) __builtin_ia32_ptestnmb128 ((__v16qi) __A, (__v16qi) __B, __U); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_testn_epi8_mask (__m256i __A, __m256i __B) { return (__mmask32) __builtin_ia32_ptestnmb256 ((__v32qi) __A, (__v32qi) __B, (__mmask32) -1); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_testn_epi8_mask (__mmask32 __U, __m256i __A, __m256i __B) { return (__mmask32) __builtin_ia32_ptestnmb256 ((__v32qi) __A, (__v32qi) __B, __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_testn_epi16_mask (__m128i __A, __m128i __B) { return (__mmask8) __builtin_ia32_ptestnmw128 ((__v8hi) __A, (__v8hi) __B, (__mmask8) -1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_testn_epi16_mask (__mmask8 __U, __m128i __A, __m128i __B) { return (__mmask8) __builtin_ia32_ptestnmw128 ((__v8hi) __A, (__v8hi) __B, __U); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_testn_epi16_mask (__m256i __A, __m256i __B) { return (__mmask16) __builtin_ia32_ptestnmw256 ((__v16hi) __A, (__v16hi) __B, (__mmask16) -1); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_testn_epi16_mask (__mmask16 __U, __m256i __A, __m256i __B) { return (__mmask16) __builtin_ia32_ptestnmw256 ((__v16hi) __A, (__v16hi) __B, __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_shuffle_epi8 (__m256i __W, __mmask32 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pshufb256_mask ((__v32qi) __A, (__v32qi) __B, (__v32qi) __W, (__mmask32) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_shuffle_epi8 (__mmask32 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pshufb256_mask ((__v32qi) __A, (__v32qi) __B, (__v32qi) _mm256_setzero_si256 (), (__mmask32) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_shuffle_epi8 (__m128i __W, __mmask16 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pshufb128_mask ((__v16qi) __A, (__v16qi) __B, (__v16qi) __W, (__mmask16) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_shuffle_epi8 (__mmask16 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pshufb128_mask ((__v16qi) __A, (__v16qi) __B, (__v16qi) _mm_setzero_si128 (), (__mmask16) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_packs_epi16 (__mmask32 __M, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_packsswb256_mask ((__v16hi) __A, (__v16hi) __B, (__v32qi) _mm256_setzero_si256 (), __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_packs_epi16 (__m256i __W, __mmask32 __M, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_packsswb256_mask ((__v16hi) __A, (__v16hi) __B, (__v32qi) __W, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_packs_epi16 (__mmask16 __M, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_packsswb128_mask ((__v8hi) __A, (__v8hi) __B, (__v16qi) _mm_setzero_si128 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_packs_epi16 (__m128i __W, __mmask16 __M, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_packsswb128_mask ((__v8hi) __A, (__v8hi) __B, (__v16qi) __W, __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_packus_epi16 (__mmask32 __M, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_packuswb256_mask ((__v16hi) __A, (__v16hi) __B, (__v32qi) _mm256_setzero_si256 (), __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_packus_epi16 (__m256i __W, __mmask32 __M, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_packuswb256_mask ((__v16hi) __A, (__v16hi) __B, (__v32qi) __W, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_packus_epi16 (__mmask16 __M, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_packuswb128_mask ((__v8hi) __A, (__v8hi) __B, (__v16qi) _mm_setzero_si128 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_packus_epi16 (__m128i __W, __mmask16 __M, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_packuswb128_mask ((__v8hi) __A, (__v8hi) __B, (__v16qi) __W, __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_abs_epi8 (__m256i __W, __mmask32 __U, __m256i __A) { return (__m256i) __builtin_ia32_pabsb256_mask ((__v32qi) __A, (__v32qi) __W, (__mmask32) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_abs_epi8 (__mmask32 __U, __m256i __A) { return (__m256i) __builtin_ia32_pabsb256_mask ((__v32qi) __A, (__v32qi) _mm256_setzero_si256 (), (__mmask32) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_abs_epi8 (__m128i __W, __mmask16 __U, __m128i __A) { return (__m128i) __builtin_ia32_pabsb128_mask ((__v16qi) __A, (__v16qi) __W, (__mmask16) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_abs_epi8 (__mmask16 __U, __m128i __A) { return (__m128i) __builtin_ia32_pabsb128_mask ((__v16qi) __A, (__v16qi) _mm_setzero_si128 (), (__mmask16) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_abs_epi16 (__m256i __W, __mmask16 __U, __m256i __A) { return (__m256i) __builtin_ia32_pabsw256_mask ((__v16hi) __A, (__v16hi) __W, (__mmask16) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_abs_epi16 (__mmask16 __U, __m256i __A) { return (__m256i) __builtin_ia32_pabsw256_mask ((__v16hi) __A, (__v16hi) _mm256_setzero_si256 (), (__mmask16) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_abs_epi16 (__m128i __W, __mmask8 __U, __m128i __A) { return (__m128i) __builtin_ia32_pabsw128_mask ((__v8hi) __A, (__v8hi) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_abs_epi16 (__mmask8 __U, __m128i __A) { return (__m128i) __builtin_ia32_pabsw128_mask ((__v8hi) __A, (__v8hi) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmpneq_epu8_mask (__m256i __X, __m256i __Y) { return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __X, (__v32qi) __Y, 4, (__mmask32) - 1); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmplt_epu8_mask (__m256i __X, __m256i __Y) { return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __X, (__v32qi) __Y, 1, (__mmask32) - 1); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmpge_epu8_mask (__m256i __X, __m256i __Y) { return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __X, (__v32qi) __Y, 5, (__mmask32) - 1); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmple_epu8_mask (__m256i __X, __m256i __Y) { return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __X, (__v32qi) __Y, 2, (__mmask32) - 1); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmpneq_epu16_mask (__m256i __X, __m256i __Y) { return (__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi) __X, (__v16hi) __Y, 4, (__mmask16) - 1); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmplt_epu16_mask (__m256i __X, __m256i __Y) { return (__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi) __X, (__v16hi) __Y, 1, (__mmask16) - 1); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmpge_epu16_mask (__m256i __X, __m256i __Y) { return (__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi) __X, (__v16hi) __Y, 5, (__mmask16) - 1); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cmple_epu16_mask (__m256i __X, __m256i __Y) { return (__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi) __X, (__v16hi) __Y, 2, (__mmask16) - 1); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_storeu_epi16 (void *__P, __mmask16 __U, __m256i __A) { __builtin_ia32_storedquhi256_mask ((__v16hi *) __P, (__v16hi) __A, (__mmask16) __U); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_storeu_epi16 (void *__P, __mmask8 __U, __m128i __A) { __builtin_ia32_storedquhi128_mask ((__v8hi *) __P, (__v8hi) __A, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_adds_epi16 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_paddsw128_mask ((__v8hi) __A, (__v8hi) __B, (__v8hi) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_subs_epi8 (__m128i __W, __mmask16 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_psubsb128_mask ((__v16qi) __A, (__v16qi) __B, (__v16qi) __W, (__mmask16) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_subs_epi8 (__mmask16 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_psubsb128_mask ((__v16qi) __A, (__v16qi) __B, (__v16qi) _mm_setzero_si128 (), (__mmask16) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_subs_epi16 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_psubsw128_mask ((__v8hi) __A, (__v8hi) __B, (__v8hi) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_subs_epi16 (__mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_psubsw128_mask ((__v8hi) __A, (__v8hi) __B, (__v8hi) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_subs_epu8 (__m128i __W, __mmask16 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_psubusb128_mask ((__v16qi) __A, (__v16qi) __B, (__v16qi) __W, (__mmask16) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_subs_epu8 (__mmask16 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_psubusb128_mask ((__v16qi) __A, (__v16qi) __B, (__v16qi) _mm_setzero_si128 (), (__mmask16) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_subs_epu16 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_psubusw128_mask ((__v8hi) __A, (__v8hi) __B, (__v8hi) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_subs_epu16 (__mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_psubusw128_mask ((__v8hi) __A, (__v8hi) __B, (__v8hi) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_srl_epi16 (__m256i __W, __mmask16 __U, __m256i __A, __m128i __B) { return (__m256i) __builtin_ia32_psrlw256_mask ((__v16hi) __A, (__v8hi) __B, (__v16hi) __W, (__mmask16) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_srl_epi16 (__mmask16 __U, __m256i __A, __m128i __B) { return (__m256i) __builtin_ia32_psrlw256_mask ((__v16hi) __A, (__v8hi) __B, (__v16hi) _mm256_setzero_si256 (), (__mmask16) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_srl_epi16 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_psrlw128_mask ((__v8hi) __A, (__v8hi) __B, (__v8hi) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_srl_epi16 (__mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_psrlw128_mask ((__v8hi) __A, (__v8hi) __B, (__v8hi) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_sra_epi16 (__m256i __W, __mmask16 __U, __m256i __A, __m128i __B) { return (__m256i) __builtin_ia32_psraw256_mask ((__v16hi) __A, (__v8hi) __B, (__v16hi) __W, (__mmask16) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_sra_epi16 (__mmask16 __U, __m256i __A, __m128i __B) { return (__m256i) __builtin_ia32_psraw256_mask ((__v16hi) __A, (__v8hi) __B, (__v16hi) _mm256_setzero_si256 (), (__mmask16) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_sra_epi16 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_psraw128_mask ((__v8hi) __A, (__v8hi) __B, (__v8hi) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_sra_epi16 (__mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_psraw128_mask ((__v8hi) __A, (__v8hi) __B, (__v8hi) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_adds_epi16 (__mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_paddsw128_mask ((__v8hi) __A, (__v8hi) __B, (__v8hi) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_adds_epu8 (__m128i __W, __mmask16 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_paddusb128_mask ((__v16qi) __A, (__v16qi) __B, (__v16qi) __W, (__mmask16) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_adds_epu8 (__mmask16 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_paddusb128_mask ((__v16qi) __A, (__v16qi) __B, (__v16qi) _mm_setzero_si128 (), (__mmask16) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_adds_epu16 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_paddusw128_mask ((__v8hi) __A, (__v8hi) __B, (__v8hi) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_adds_epu16 (__mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_paddusw128_mask ((__v8hi) __A, (__v8hi) __B, (__v8hi) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_sub_epi8 (__m128i __W, __mmask16 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_psubb128_mask ((__v16qi) __A, (__v16qi) __B, (__v16qi) __W, (__mmask16) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_sub_epi8 (__mmask16 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_psubb128_mask ((__v16qi) __A, (__v16qi) __B, (__v16qi) _mm_setzero_si128 (), (__mmask16) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_sub_epi16 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_psubw128_mask ((__v8hi) __A, (__v8hi) __B, (__v8hi) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_sub_epi16 (__mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_psubw128_mask ((__v8hi) __A, (__v8hi) __B, (__v8hi) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_adds_epi8 (__m128i __W, __mmask16 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_paddsb128_mask ((__v16qi) __A, (__v16qi) __B, (__v16qi) __W, (__mmask16) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_adds_epi8 (__mmask16 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_paddsb128_mask ((__v16qi) __A, (__v16qi) __B, (__v16qi) _mm_setzero_si128 (), (__mmask16) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtepi16_epi8 (__m128i __A) { return (__m128i) __builtin_ia32_pmovwb128_mask ((__v8hi) __A, (__v16qi)_mm_undefined_si128(), (__mmask8) -1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtepi16_epi8 (__m128i __O, __mmask8 __M, __m128i __A) { return (__m128i) __builtin_ia32_pmovwb128_mask ((__v8hi) __A, (__v16qi) __O, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_cvtepi16_epi8 (__mmask8 __M, __m128i __A) { return (__m128i) __builtin_ia32_pmovwb128_mask ((__v8hi) __A, (__v16qi) _mm_setzero_si128 (), __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_srav_epi16 (__m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_psrav16hi_mask ((__v16hi) __A, (__v16hi) __B, (__v16hi) _mm256_setzero_si256 (), (__mmask16) -1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_srav_epi16 (__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_psrav16hi_mask ((__v16hi) __A, (__v16hi) __B, (__v16hi) __W, (__mmask16) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_srav_epi16 (__mmask16 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_psrav16hi_mask ((__v16hi) __A, (__v16hi) __B, (__v16hi) _mm256_setzero_si256 (), (__mmask16) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_srav_epi16 (__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_psrav8hi_mask ((__v8hi) __A, (__v8hi) __B, (__v8hi) _mm_setzero_hi (), (__mmask8) -1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_srav_epi16 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_psrav8hi_mask ((__v8hi) __A, (__v8hi) __B, (__v8hi) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_srav_epi16 (__mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_psrav8hi_mask ((__v8hi) __A, (__v8hi) __B, (__v8hi) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_srlv_epi16 (__m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_psrlv16hi_mask ((__v16hi) __A, (__v16hi) __B, (__v16hi) _mm256_setzero_si256 (), (__mmask16) -1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_srlv_epi16 (__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_psrlv16hi_mask ((__v16hi) __A, (__v16hi) __B, (__v16hi) __W, (__mmask16) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_srlv_epi16 (__mmask16 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_psrlv16hi_mask ((__v16hi) __A, (__v16hi) __B, (__v16hi) _mm256_setzero_si256 (), (__mmask16) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_srlv_epi16 (__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_psrlv8hi_mask ((__v8hi) __A, (__v8hi) __B, (__v8hi) _mm_setzero_hi (), (__mmask8) -1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_srlv_epi16 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_psrlv8hi_mask ((__v8hi) __A, (__v8hi) __B, (__v8hi) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_srlv_epi16 (__mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_psrlv8hi_mask ((__v8hi) __A, (__v8hi) __B, (__v8hi) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_sllv_epi16 (__m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_psllv16hi_mask ((__v16hi) __A, (__v16hi) __B, (__v16hi) _mm256_setzero_si256 (), (__mmask16) -1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_sllv_epi16 (__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_psllv16hi_mask ((__v16hi) __A, (__v16hi) __B, (__v16hi) __W, (__mmask16) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_sllv_epi16 (__mmask16 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_psllv16hi_mask ((__v16hi) __A, (__v16hi) __B, (__v16hi) _mm256_setzero_si256 (), (__mmask16) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_sllv_epi16 (__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_psllv8hi_mask ((__v8hi) __A, (__v8hi) __B, (__v8hi) _mm_setzero_hi (), (__mmask8) -1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_sllv_epi16 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_psllv8hi_mask ((__v8hi) __A, (__v8hi) __B, (__v8hi) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_sllv_epi16 (__mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_psllv8hi_mask ((__v8hi) __A, (__v8hi) __B, (__v8hi) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_sll_epi16 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_psllw128_mask ((__v8hi) __A, (__v8hi) __B, (__v8hi) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_sll_epi16 (__mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_psllw128_mask ((__v8hi) __A, (__v8hi) __B, (__v8hi) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_sll_epi16 (__m256i __W, __mmask16 __U, __m256i __A, __m128i __B) { return (__m256i) __builtin_ia32_psllw256_mask ((__v16hi) __A, (__v8hi) __B, (__v16hi) __W, (__mmask16) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_sll_epi16 (__mmask16 __U, __m256i __A, __m128i __B) { return (__m256i) __builtin_ia32_psllw256_mask ((__v16hi) __A, (__v8hi) __B, (__v16hi) _mm256_setzero_si256 (), (__mmask16) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_packus_epi32 (__mmask16 __M, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_packusdw256_mask ((__v8si) __A, (__v8si) __B, (__v16hi) _mm256_setzero_si256 (), __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_packus_epi32 (__m256i __W, __mmask16 __M, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_packusdw256_mask ((__v8si) __A, (__v8si) __B, (__v16hi) __W, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_packus_epi32 (__mmask8 __M, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_packusdw128_mask ((__v4si) __A, (__v4si) __B, (__v8hi) _mm_setzero_si128 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_packus_epi32 (__m128i __W, __mmask16 __M, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_packusdw128_mask ((__v4si) __A, (__v4si) __B, (__v8hi) __W, __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_packs_epi32 (__mmask16 __M, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_packssdw256_mask ((__v8si) __A, (__v8si) __B, (__v16hi) _mm256_setzero_si256 (), __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_packs_epi32 (__m256i __W, __mmask16 __M, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_packssdw256_mask ((__v8si) __A, (__v8si) __B, (__v16hi) __W, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_packs_epi32 (__mmask8 __M, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_packssdw128_mask ((__v4si) __A, (__v4si) __B, (__v8hi) _mm_setzero_si128 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_packs_epi32 (__m128i __W, __mmask16 __M, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_packssdw128_mask ((__v4si) __A, (__v4si) __B, (__v8hi) __W, __M); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cmpneq_epu8_mask (__mmask16 __M, __m128i __X, __m128i __Y) { return (__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi) __X, (__v16qi) __Y, 4, (__mmask16) __M); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cmplt_epu8_mask (__mmask16 __M, __m128i __X, __m128i __Y) { return (__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi) __X, (__v16qi) __Y, 1, (__mmask16) __M); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cmpge_epu8_mask (__mmask16 __M, __m128i __X, __m128i __Y) { return (__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi) __X, (__v16qi) __Y, 5, (__mmask16) __M); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cmple_epu8_mask (__mmask16 __M, __m128i __X, __m128i __Y) { return (__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi) __X, (__v16qi) __Y, 2, (__mmask16) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cmpneq_epu16_mask (__mmask8 __M, __m128i __X, __m128i __Y) { return (__mmask8) __builtin_ia32_ucmpw128_mask ((__v8hi) __X, (__v8hi) __Y, 4, (__mmask8) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cmplt_epu16_mask (__mmask8 __M, __m128i __X, __m128i __Y) { return (__mmask8) __builtin_ia32_ucmpw128_mask ((__v8hi) __X, (__v8hi) __Y, 1, (__mmask8) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cmpge_epu16_mask (__mmask8 __M, __m128i __X, __m128i __Y) { return (__mmask8) __builtin_ia32_ucmpw128_mask ((__v8hi) __X, (__v8hi) __Y, 5, (__mmask8) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cmple_epu16_mask (__mmask8 __M, __m128i __X, __m128i __Y) { return (__mmask8) __builtin_ia32_ucmpw128_mask ((__v8hi) __X, (__v8hi) __Y, 2, (__mmask8) __M); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cmpneq_epi8_mask (__mmask16 __M, __m128i __X, __m128i __Y) { return (__mmask16) __builtin_ia32_cmpb128_mask ((__v16qi) __X, (__v16qi) __Y, 4, (__mmask16) __M); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cmplt_epi8_mask (__mmask16 __M, __m128i __X, __m128i __Y) { return (__mmask16) __builtin_ia32_cmpb128_mask ((__v16qi) __X, (__v16qi) __Y, 1, (__mmask16) __M); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cmpge_epi8_mask (__mmask16 __M, __m128i __X, __m128i __Y) { return (__mmask16) __builtin_ia32_cmpb128_mask ((__v16qi) __X, (__v16qi) __Y, 5, (__mmask16) __M); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cmple_epi8_mask (__mmask16 __M, __m128i __X, __m128i __Y) { return (__mmask16) __builtin_ia32_cmpb128_mask ((__v16qi) __X, (__v16qi) __Y, 2, (__mmask16) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cmpneq_epi16_mask (__mmask8 __M, __m128i __X, __m128i __Y) { return (__mmask8) __builtin_ia32_cmpw128_mask ((__v8hi) __X, (__v8hi) __Y, 4, (__mmask8) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cmplt_epi16_mask (__mmask8 __M, __m128i __X, __m128i __Y) { return (__mmask8) __builtin_ia32_cmpw128_mask ((__v8hi) __X, (__v8hi) __Y, 1, (__mmask8) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cmpge_epi16_mask (__mmask8 __M, __m128i __X, __m128i __Y) { return (__mmask8) __builtin_ia32_cmpw128_mask ((__v8hi) __X, (__v8hi) __Y, 5, (__mmask8) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cmple_epi16_mask (__mmask8 __M, __m128i __X, __m128i __Y) { return (__mmask8) __builtin_ia32_cmpw128_mask ((__v8hi) __X, (__v8hi) __Y, 2, (__mmask8) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmpneq_epu8_mask (__mmask8 __M, __m256i __X, __m256i __Y) { return (__mmask8) __builtin_ia32_ucmpb256_mask ((__v32qi) __X, (__v32qi) __Y, 4, (__mmask8) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmplt_epu8_mask (__mmask8 __M, __m256i __X, __m256i __Y) { return (__mmask8) __builtin_ia32_ucmpb256_mask ((__v32qi) __X, (__v32qi) __Y, 1, (__mmask8) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmpge_epu8_mask (__mmask8 __M, __m256i __X, __m256i __Y) { return (__mmask8) __builtin_ia32_ucmpb256_mask ((__v32qi) __X, (__v32qi) __Y, 5, (__mmask8) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmple_epu8_mask (__mmask8 __M, __m256i __X, __m256i __Y) { return (__mmask8) __builtin_ia32_ucmpb256_mask ((__v32qi) __X, (__v32qi) __Y, 2, (__mmask8) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmpneq_epu16_mask (__mmask8 __M, __m256i __X, __m256i __Y) { return (__mmask8) __builtin_ia32_ucmpw256_mask ((__v16hi) __X, (__v16hi) __Y, 4, (__mmask8) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmplt_epu16_mask (__mmask8 __M, __m256i __X, __m256i __Y) { return (__mmask8) __builtin_ia32_ucmpw256_mask ((__v16hi) __X, (__v16hi) __Y, 1, (__mmask8) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmpge_epu16_mask (__mmask8 __M, __m256i __X, __m256i __Y) { return (__mmask8) __builtin_ia32_ucmpw256_mask ((__v16hi) __X, (__v16hi) __Y, 5, (__mmask8) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmple_epu16_mask (__mmask8 __M, __m256i __X, __m256i __Y) { return (__mmask8) __builtin_ia32_ucmpw256_mask ((__v16hi) __X, (__v16hi) __Y, 2, (__mmask8) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmpneq_epi8_mask (__mmask8 __M, __m256i __X, __m256i __Y) { return (__mmask8) __builtin_ia32_cmpb256_mask ((__v32qi) __X, (__v32qi) __Y, 4, (__mmask8) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmplt_epi8_mask (__mmask8 __M, __m256i __X, __m256i __Y) { return (__mmask8) __builtin_ia32_cmpb256_mask ((__v32qi) __X, (__v32qi) __Y, 1, (__mmask8) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmpge_epi8_mask (__mmask8 __M, __m256i __X, __m256i __Y) { return (__mmask8) __builtin_ia32_cmpb256_mask ((__v32qi) __X, (__v32qi) __Y, 5, (__mmask8) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmple_epi8_mask (__mmask8 __M, __m256i __X, __m256i __Y) { return (__mmask8) __builtin_ia32_cmpb256_mask ((__v32qi) __X, (__v32qi) __Y, 2, (__mmask8) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmpneq_epi16_mask (__mmask8 __M, __m256i __X, __m256i __Y) { return (__mmask8) __builtin_ia32_cmpw256_mask ((__v16hi) __X, (__v16hi) __Y, 4, (__mmask8) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmplt_epi16_mask (__mmask8 __M, __m256i __X, __m256i __Y) { return (__mmask8) __builtin_ia32_cmpw256_mask ((__v16hi) __X, (__v16hi) __Y, 1, (__mmask8) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmpge_epi16_mask (__mmask8 __M, __m256i __X, __m256i __Y) { return (__mmask8) __builtin_ia32_cmpw256_mask ((__v16hi) __X, (__v16hi) __Y, 5, (__mmask8) __M); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmple_epi16_mask (__mmask8 __M, __m256i __X, __m256i __Y) { return (__mmask8) __builtin_ia32_cmpw256_mask ((__v16hi) __X, (__v16hi) __Y, 2, (__mmask8) __M); } #pragma GCC pop_options # 60 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512vldqintrin.h" 1 3 4 # 32 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512vldqintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("avx512vl,avx512dq") extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cvttpd_epi64 (__m256d __A) { return (__m256i) __builtin_ia32_cvttpd2qq256_mask ((__v4df) __A, (__v4di) _mm256_setzero_si256 (), (__mmask8) -1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvttpd_epi64 (__m256i __W, __mmask8 __U, __m256d __A) { return (__m256i) __builtin_ia32_cvttpd2qq256_mask ((__v4df) __A, (__v4di) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_cvttpd_epi64 (__mmask8 __U, __m256d __A) { return (__m256i) __builtin_ia32_cvttpd2qq256_mask ((__v4df) __A, (__v4di) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvttpd_epi64 (__m128d __A) { return (__m128i) __builtin_ia32_cvttpd2qq128_mask ((__v2df) __A, (__v2di) _mm_setzero_di (), (__mmask8) -1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvttpd_epi64 (__m128i __W, __mmask8 __U, __m128d __A) { return (__m128i) __builtin_ia32_cvttpd2qq128_mask ((__v2df) __A, (__v2di) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_cvttpd_epi64 (__mmask8 __U, __m128d __A) { return (__m128i) __builtin_ia32_cvttpd2qq128_mask ((__v2df) __A, (__v2di) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cvttpd_epu64 (__m256d __A) { return (__m256i) __builtin_ia32_cvttpd2uqq256_mask ((__v4df) __A, (__v4di) _mm256_setzero_si256 (), (__mmask8) -1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvttpd_epu64 (__m256i __W, __mmask8 __U, __m256d __A) { return (__m256i) __builtin_ia32_cvttpd2uqq256_mask ((__v4df) __A, (__v4di) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_cvttpd_epu64 (__mmask8 __U, __m256d __A) { return (__m256i) __builtin_ia32_cvttpd2uqq256_mask ((__v4df) __A, (__v4di) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvttpd_epu64 (__m128d __A) { return (__m128i) __builtin_ia32_cvttpd2uqq128_mask ((__v2df) __A, (__v2di) _mm_setzero_di (), (__mmask8) -1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvttpd_epu64 (__m128i __W, __mmask8 __U, __m128d __A) { return (__m128i) __builtin_ia32_cvttpd2uqq128_mask ((__v2df) __A, (__v2di) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_cvttpd_epu64 (__mmask8 __U, __m128d __A) { return (__m128i) __builtin_ia32_cvttpd2uqq128_mask ((__v2df) __A, (__v2di) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cvtpd_epi64 (__m256d __A) { return (__m256i) __builtin_ia32_cvtpd2qq256_mask ((__v4df) __A, (__v4di) _mm256_setzero_si256 (), (__mmask8) -1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtpd_epi64 (__m256i __W, __mmask8 __U, __m256d __A) { return (__m256i) __builtin_ia32_cvtpd2qq256_mask ((__v4df) __A, (__v4di) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_cvtpd_epi64 (__mmask8 __U, __m256d __A) { return (__m256i) __builtin_ia32_cvtpd2qq256_mask ((__v4df) __A, (__v4di) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtpd_epi64 (__m128d __A) { return (__m128i) __builtin_ia32_cvtpd2qq128_mask ((__v2df) __A, (__v2di) _mm_setzero_di (), (__mmask8) -1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtpd_epi64 (__m128i __W, __mmask8 __U, __m128d __A) { return (__m128i) __builtin_ia32_cvtpd2qq128_mask ((__v2df) __A, (__v2di) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_cvtpd_epi64 (__mmask8 __U, __m128d __A) { return (__m128i) __builtin_ia32_cvtpd2qq128_mask ((__v2df) __A, (__v2di) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cvtpd_epu64 (__m256d __A) { return (__m256i) __builtin_ia32_cvtpd2uqq256_mask ((__v4df) __A, (__v4di) _mm256_setzero_si256 (), (__mmask8) -1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtpd_epu64 (__m256i __W, __mmask8 __U, __m256d __A) { return (__m256i) __builtin_ia32_cvtpd2uqq256_mask ((__v4df) __A, (__v4di) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_cvtpd_epu64 (__mmask8 __U, __m256d __A) { return (__m256i) __builtin_ia32_cvtpd2uqq256_mask ((__v4df) __A, (__v4di) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtpd_epu64 (__m128d __A) { return (__m128i) __builtin_ia32_cvtpd2uqq128_mask ((__v2df) __A, (__v2di) _mm_setzero_di (), (__mmask8) -1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtpd_epu64 (__m128i __W, __mmask8 __U, __m128d __A) { return (__m128i) __builtin_ia32_cvtpd2uqq128_mask ((__v2df) __A, (__v2di) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_cvtpd_epu64 (__mmask8 __U, __m128d __A) { return (__m128i) __builtin_ia32_cvtpd2uqq128_mask ((__v2df) __A, (__v2di) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cvttps_epi64 (__m128 __A) { return (__m256i) __builtin_ia32_cvttps2qq256_mask ((__v4sf) __A, (__v4di) _mm256_setzero_si256 (), (__mmask8) -1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvttps_epi64 (__m256i __W, __mmask8 __U, __m128 __A) { return (__m256i) __builtin_ia32_cvttps2qq256_mask ((__v4sf) __A, (__v4di) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_cvttps_epi64 (__mmask8 __U, __m128 __A) { return (__m256i) __builtin_ia32_cvttps2qq256_mask ((__v4sf) __A, (__v4di) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvttps_epi64 (__m128 __A) { return (__m128i) __builtin_ia32_cvttps2qq128_mask ((__v4sf) __A, (__v2di) _mm_setzero_di (), (__mmask8) -1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvttps_epi64 (__m128i __W, __mmask8 __U, __m128 __A) { return (__m128i) __builtin_ia32_cvttps2qq128_mask ((__v4sf) __A, (__v2di) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_cvttps_epi64 (__mmask8 __U, __m128 __A) { return (__m128i) __builtin_ia32_cvttps2qq128_mask ((__v4sf) __A, (__v2di) _mm_setzero_di (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cvttps_epu64 (__m128 __A) { return (__m256i) __builtin_ia32_cvttps2uqq256_mask ((__v4sf) __A, (__v4di) _mm256_setzero_si256 (), (__mmask8) -1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvttps_epu64 (__m256i __W, __mmask8 __U, __m128 __A) { return (__m256i) __builtin_ia32_cvttps2uqq256_mask ((__v4sf) __A, (__v4di) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_cvttps_epu64 (__mmask8 __U, __m128 __A) { return (__m256i) __builtin_ia32_cvttps2uqq256_mask ((__v4sf) __A, (__v4di) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvttps_epu64 (__m128 __A) { return (__m128i) __builtin_ia32_cvttps2uqq128_mask ((__v4sf) __A, (__v2di) _mm_setzero_di (), (__mmask8) -1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvttps_epu64 (__m128i __W, __mmask8 __U, __m128 __A) { return (__m128i) __builtin_ia32_cvttps2uqq128_mask ((__v4sf) __A, (__v2di) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_cvttps_epu64 (__mmask8 __U, __m128 __A) { return (__m128i) __builtin_ia32_cvttps2uqq128_mask ((__v4sf) __A, (__v2di) _mm_setzero_di (), (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_broadcast_f64x2 (__m128d __A) { return (__m256d) __builtin_ia32_broadcastf64x2_256_mask ((__v2df) __A, (__v4df)_mm256_undefined_pd(), (__mmask8) - 1); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_broadcast_f64x2 (__m256d __O, __mmask8 __M, __m128d __A) { return (__m256d) __builtin_ia32_broadcastf64x2_256_mask ((__v2df) __A, (__v4df) __O, __M); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_broadcast_f64x2 (__mmask8 __M, __m128d __A) { return (__m256d) __builtin_ia32_broadcastf64x2_256_mask ((__v2df) __A, (__v4df) _mm256_setzero_ps (), __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_broadcast_i64x2 (__m128i __A) { return (__m256i) __builtin_ia32_broadcasti64x2_256_mask ((__v2di) __A, (__v4di)_mm256_undefined_si256(), (__mmask8) - 1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_broadcast_i64x2 (__m256i __O, __mmask8 __M, __m128i __A) { return (__m256i) __builtin_ia32_broadcasti64x2_256_mask ((__v2di) __A, (__v4di) __O, __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_broadcast_i64x2 (__mmask8 __M, __m128i __A) { return (__m256i) __builtin_ia32_broadcasti64x2_256_mask ((__v2di) __A, (__v4di) _mm256_setzero_si256 (), __M); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_broadcast_f32x2 (__m128 __A) { return (__m256) __builtin_ia32_broadcastf32x2_256_mask ((__v4sf) __A, (__v8sf)_mm256_undefined_ps(), (__mmask8) - 1); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_broadcast_f32x2 (__m256 __O, __mmask8 __M, __m128 __A) { return (__m256) __builtin_ia32_broadcastf32x2_256_mask ((__v4sf) __A, (__v8sf) __O, __M); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_broadcast_f32x2 (__mmask8 __M, __m128 __A) { return (__m256) __builtin_ia32_broadcastf32x2_256_mask ((__v4sf) __A, (__v8sf) _mm256_setzero_ps (), __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_broadcast_i32x2 (__m128i __A) { return (__m256i) __builtin_ia32_broadcasti32x2_256_mask ((__v4si) __A, (__v8si)_mm256_undefined_si256(), (__mmask8) - 1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_broadcast_i32x2 (__m256i __O, __mmask8 __M, __m128i __A) { return (__m256i) __builtin_ia32_broadcasti32x2_256_mask ((__v4si) __A, (__v8si) __O, __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_broadcast_i32x2 (__mmask8 __M, __m128i __A) { return (__m256i) __builtin_ia32_broadcasti32x2_256_mask ((__v4si) __A, (__v8si) _mm256_setzero_si256 (), __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_broadcast_i32x2 (__m128i __A) { return (__m128i) __builtin_ia32_broadcasti32x2_128_mask ((__v4si) __A, (__v4si)_mm_undefined_si128(), (__mmask8) - 1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_broadcast_i32x2 (__m128i __O, __mmask8 __M, __m128i __A) { return (__m128i) __builtin_ia32_broadcasti32x2_128_mask ((__v4si) __A, (__v4si) __O, __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_broadcast_i32x2 (__mmask8 __M, __m128i __A) { return (__m128i) __builtin_ia32_broadcasti32x2_128_mask ((__v4si) __A, (__v4si) _mm_setzero_si128 (), __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mullo_epi64 (__m256i __A, __m256i __B) { return (__m256i) ((__v4du) __A * (__v4du) __B); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_mullo_epi64 (__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pmullq256_mask ((__v4di) __A, (__v4di) __B, (__v4di) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_mullo_epi64 (__mmask8 __U, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_pmullq256_mask ((__v4di) __A, (__v4di) __B, (__v4di) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mullo_epi64 (__m128i __A, __m128i __B) { return (__m128i) ((__v2du) __A * (__v2du) __B); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_mullo_epi64 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pmullq128_mask ((__v2di) __A, (__v2di) __B, (__v2di) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_mullo_epi64 (__mmask8 __U, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pmullq128_mask ((__v2di) __A, (__v2di) __B, (__v2di) _mm_setzero_di (), (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_andnot_pd (__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) { return (__m256d) __builtin_ia32_andnpd256_mask ((__v4df) __A, (__v4df) __B, (__v4df) __W, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_andnot_pd (__mmask8 __U, __m256d __A, __m256d __B) { return (__m256d) __builtin_ia32_andnpd256_mask ((__v4df) __A, (__v4df) __B, (__v4df) _mm256_setzero_pd (), (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_andnot_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_andnpd128_mask ((__v2df) __A, (__v2df) __B, (__v2df) __W, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_andnot_pd (__mmask8 __U, __m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_andnpd128_mask ((__v2df) __A, (__v2df) __B, (__v2df) _mm_setzero_pd (), (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_andnot_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) { return (__m256) __builtin_ia32_andnps256_mask ((__v8sf) __A, (__v8sf) __B, (__v8sf) __W, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_andnot_ps (__mmask8 __U, __m256 __A, __m256 __B) { return (__m256) __builtin_ia32_andnps256_mask ((__v8sf) __A, (__v8sf) __B, (__v8sf) _mm256_setzero_ps (), (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_andnot_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) { return (__m128) __builtin_ia32_andnps128_mask ((__v4sf) __A, (__v4sf) __B, (__v4sf) __W, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_andnot_ps (__mmask8 __U, __m128 __A, __m128 __B) { return (__m128) __builtin_ia32_andnps128_mask ((__v4sf) __A, (__v4sf) __B, (__v4sf) _mm_setzero_ps (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cvtps_epi64 (__m128 __A) { return (__m256i) __builtin_ia32_cvtps2qq256_mask ((__v4sf) __A, (__v4di) _mm256_setzero_si256 (), (__mmask8) -1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtps_epi64 (__m256i __W, __mmask8 __U, __m128 __A) { return (__m256i) __builtin_ia32_cvtps2qq256_mask ((__v4sf) __A, (__v4di) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_cvtps_epi64 (__mmask8 __U, __m128 __A) { return (__m256i) __builtin_ia32_cvtps2qq256_mask ((__v4sf) __A, (__v4di) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtps_epi64 (__m128 __A) { return (__m128i) __builtin_ia32_cvtps2qq128_mask ((__v4sf) __A, (__v2di) _mm_setzero_di (), (__mmask8) -1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtps_epi64 (__m128i __W, __mmask8 __U, __m128 __A) { return (__m128i) __builtin_ia32_cvtps2qq128_mask ((__v4sf) __A, (__v2di) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_cvtps_epi64 (__mmask8 __U, __m128 __A) { return (__m128i) __builtin_ia32_cvtps2qq128_mask ((__v4sf) __A, (__v2di) _mm_setzero_di (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cvtps_epu64 (__m128 __A) { return (__m256i) __builtin_ia32_cvtps2uqq256_mask ((__v4sf) __A, (__v4di) _mm256_setzero_si256 (), (__mmask8) -1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtps_epu64 (__m256i __W, __mmask8 __U, __m128 __A) { return (__m256i) __builtin_ia32_cvtps2uqq256_mask ((__v4sf) __A, (__v4di) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_cvtps_epu64 (__mmask8 __U, __m128 __A) { return (__m256i) __builtin_ia32_cvtps2uqq256_mask ((__v4sf) __A, (__v4di) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtps_epu64 (__m128 __A) { return (__m128i) __builtin_ia32_cvtps2uqq128_mask ((__v4sf) __A, (__v2di) _mm_setzero_di (), (__mmask8) -1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtps_epu64 (__m128i __W, __mmask8 __U, __m128 __A) { return (__m128i) __builtin_ia32_cvtps2uqq128_mask ((__v4sf) __A, (__v2di) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_cvtps_epu64 (__mmask8 __U, __m128 __A) { return (__m128i) __builtin_ia32_cvtps2uqq128_mask ((__v4sf) __A, (__v2di) _mm_setzero_di (), (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cvtepi64_ps (__m256i __A) { return (__m128) __builtin_ia32_cvtqq2ps256_mask ((__v4di) __A, (__v4sf) _mm_setzero_ps (), (__mmask8) -1); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtepi64_ps (__m128 __W, __mmask8 __U, __m256i __A) { return (__m128) __builtin_ia32_cvtqq2ps256_mask ((__v4di) __A, (__v4sf) __W, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_cvtepi64_ps (__mmask8 __U, __m256i __A) { return (__m128) __builtin_ia32_cvtqq2ps256_mask ((__v4di) __A, (__v4sf) _mm_setzero_ps (), (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtepi64_ps (__m128i __A) { return (__m128) __builtin_ia32_cvtqq2ps128_mask ((__v2di) __A, (__v4sf) _mm_setzero_ps (), (__mmask8) -1); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtepi64_ps (__m128 __W, __mmask8 __U, __m128i __A) { return (__m128) __builtin_ia32_cvtqq2ps128_mask ((__v2di) __A, (__v4sf) __W, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_cvtepi64_ps (__mmask8 __U, __m128i __A) { return (__m128) __builtin_ia32_cvtqq2ps128_mask ((__v2di) __A, (__v4sf) _mm_setzero_ps (), (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cvtepu64_ps (__m256i __A) { return (__m128) __builtin_ia32_cvtuqq2ps256_mask ((__v4di) __A, (__v4sf) _mm_setzero_ps (), (__mmask8) -1); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtepu64_ps (__m128 __W, __mmask8 __U, __m256i __A) { return (__m128) __builtin_ia32_cvtuqq2ps256_mask ((__v4di) __A, (__v4sf) __W, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_cvtepu64_ps (__mmask8 __U, __m256i __A) { return (__m128) __builtin_ia32_cvtuqq2ps256_mask ((__v4di) __A, (__v4sf) _mm_setzero_ps (), (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtepu64_ps (__m128i __A) { return (__m128) __builtin_ia32_cvtuqq2ps128_mask ((__v2di) __A, (__v4sf) _mm_setzero_ps (), (__mmask8) -1); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtepu64_ps (__m128 __W, __mmask8 __U, __m128i __A) { return (__m128) __builtin_ia32_cvtuqq2ps128_mask ((__v2di) __A, (__v4sf) __W, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_cvtepu64_ps (__mmask8 __U, __m128i __A) { return (__m128) __builtin_ia32_cvtuqq2ps128_mask ((__v2di) __A, (__v4sf) _mm_setzero_ps (), (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cvtepi64_pd (__m256i __A) { return (__m256d) __builtin_ia32_cvtqq2pd256_mask ((__v4di) __A, (__v4df) _mm256_setzero_pd (), (__mmask8) -1); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtepi64_pd (__m256d __W, __mmask8 __U, __m256i __A) { return (__m256d) __builtin_ia32_cvtqq2pd256_mask ((__v4di) __A, (__v4df) __W, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_cvtepi64_pd (__mmask8 __U, __m256i __A) { return (__m256d) __builtin_ia32_cvtqq2pd256_mask ((__v4di) __A, (__v4df) _mm256_setzero_pd (), (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtepi64_pd (__m128i __A) { return (__m128d) __builtin_ia32_cvtqq2pd128_mask ((__v2di) __A, (__v2df) _mm_setzero_pd (), (__mmask8) -1); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtepi64_pd (__m128d __W, __mmask8 __U, __m128i __A) { return (__m128d) __builtin_ia32_cvtqq2pd128_mask ((__v2di) __A, (__v2df) __W, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_cvtepi64_pd (__mmask8 __U, __m128i __A) { return (__m128d) __builtin_ia32_cvtqq2pd128_mask ((__v2di) __A, (__v2df) _mm_setzero_pd (), (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cvtepu64_pd (__m256i __A) { return (__m256d) __builtin_ia32_cvtuqq2pd256_mask ((__v4di) __A, (__v4df) _mm256_setzero_pd (), (__mmask8) -1); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtepu64_pd (__m256d __W, __mmask8 __U, __m256i __A) { return (__m256d) __builtin_ia32_cvtuqq2pd256_mask ((__v4di) __A, (__v4df) __W, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_cvtepu64_pd (__mmask8 __U, __m256i __A) { return (__m256d) __builtin_ia32_cvtuqq2pd256_mask ((__v4di) __A, (__v4df) _mm256_setzero_pd (), (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_and_pd (__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) { return (__m256d) __builtin_ia32_andpd256_mask ((__v4df) __A, (__v4df) __B, (__v4df) __W, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_and_pd (__mmask8 __U, __m256d __A, __m256d __B) { return (__m256d) __builtin_ia32_andpd256_mask ((__v4df) __A, (__v4df) __B, (__v4df) _mm256_setzero_pd (), (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_and_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_andpd128_mask ((__v2df) __A, (__v2df) __B, (__v2df) __W, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_and_pd (__mmask8 __U, __m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_andpd128_mask ((__v2df) __A, (__v2df) __B, (__v2df) _mm_setzero_pd (), (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_and_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) { return (__m256) __builtin_ia32_andps256_mask ((__v8sf) __A, (__v8sf) __B, (__v8sf) __W, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_and_ps (__mmask8 __U, __m256 __A, __m256 __B) { return (__m256) __builtin_ia32_andps256_mask ((__v8sf) __A, (__v8sf) __B, (__v8sf) _mm256_setzero_ps (), (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_and_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) { return (__m128) __builtin_ia32_andps128_mask ((__v4sf) __A, (__v4sf) __B, (__v4sf) __W, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_and_ps (__mmask8 __U, __m128 __A, __m128 __B) { return (__m128) __builtin_ia32_andps128_mask ((__v4sf) __A, (__v4sf) __B, (__v4sf) _mm_setzero_ps (), (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtepu64_pd (__m128i __A) { return (__m128d) __builtin_ia32_cvtuqq2pd128_mask ((__v2di) __A, (__v2df) _mm_setzero_pd (), (__mmask8) -1); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtepu64_pd (__m128d __W, __mmask8 __U, __m128i __A) { return (__m128d) __builtin_ia32_cvtuqq2pd128_mask ((__v2di) __A, (__v2df) __W, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_cvtepu64_pd (__mmask8 __U, __m128i __A) { return (__m128d) __builtin_ia32_cvtuqq2pd128_mask ((__v2di) __A, (__v2df) _mm_setzero_pd (), (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_xor_pd (__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) { return (__m256d) __builtin_ia32_xorpd256_mask ((__v4df) __A, (__v4df) __B, (__v4df) __W, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_xor_pd (__mmask8 __U, __m256d __A, __m256d __B) { return (__m256d) __builtin_ia32_xorpd256_mask ((__v4df) __A, (__v4df) __B, (__v4df) _mm256_setzero_pd (), (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_xor_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_xorpd128_mask ((__v2df) __A, (__v2df) __B, (__v2df) __W, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_xor_pd (__mmask8 __U, __m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_xorpd128_mask ((__v2df) __A, (__v2df) __B, (__v2df) _mm_setzero_pd (), (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_xor_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) { return (__m256) __builtin_ia32_xorps256_mask ((__v8sf) __A, (__v8sf) __B, (__v8sf) __W, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_xor_ps (__mmask8 __U, __m256 __A, __m256 __B) { return (__m256) __builtin_ia32_xorps256_mask ((__v8sf) __A, (__v8sf) __B, (__v8sf) _mm256_setzero_ps (), (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_xor_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) { return (__m128) __builtin_ia32_xorps128_mask ((__v4sf) __A, (__v4sf) __B, (__v4sf) __W, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_xor_ps (__mmask8 __U, __m128 __A, __m128 __B) { return (__m128) __builtin_ia32_xorps128_mask ((__v4sf) __A, (__v4sf) __B, (__v4sf) _mm_setzero_ps (), (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_or_pd (__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) { return (__m256d) __builtin_ia32_orpd256_mask ((__v4df) __A, (__v4df) __B, (__v4df) __W, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_or_pd (__mmask8 __U, __m256d __A, __m256d __B) { return (__m256d) __builtin_ia32_orpd256_mask ((__v4df) __A, (__v4df) __B, (__v4df) _mm256_setzero_pd (), (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_or_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_orpd128_mask ((__v2df) __A, (__v2df) __B, (__v2df) __W, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_or_pd (__mmask8 __U, __m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_orpd128_mask ((__v2df) __A, (__v2df) __B, (__v2df) _mm_setzero_pd (), (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_or_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) { return (__m256) __builtin_ia32_orps256_mask ((__v8sf) __A, (__v8sf) __B, (__v8sf) __W, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_or_ps (__mmask8 __U, __m256 __A, __m256 __B) { return (__m256) __builtin_ia32_orps256_mask ((__v8sf) __A, (__v8sf) __B, (__v8sf) _mm256_setzero_ps (), (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_or_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) { return (__m128) __builtin_ia32_orps128_mask ((__v4sf) __A, (__v4sf) __B, (__v4sf) __W, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_or_ps (__mmask8 __U, __m128 __A, __m128 __B) { return (__m128) __builtin_ia32_orps128_mask ((__v4sf) __A, (__v4sf) __B, (__v4sf) _mm_setzero_ps (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_movm_epi32 (__mmask8 __A) { return (__m128i) __builtin_ia32_cvtmask2d128 (__A); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_movm_epi32 (__mmask8 __A) { return (__m256i) __builtin_ia32_cvtmask2d256 (__A); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_movm_epi64 (__mmask8 __A) { return (__m128i) __builtin_ia32_cvtmask2q128 (__A); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_movm_epi64 (__mmask8 __A) { return (__m256i) __builtin_ia32_cvtmask2q256 (__A); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_movepi32_mask (__m128i __A) { return (__mmask8) __builtin_ia32_cvtd2mask128 ((__v4si) __A); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_movepi32_mask (__m256i __A) { return (__mmask8) __builtin_ia32_cvtd2mask256 ((__v8si) __A); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_movepi64_mask (__m128i __A) { return (__mmask8) __builtin_ia32_cvtq2mask128 ((__v2di) __A); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_movepi64_mask (__m256i __A) { return (__mmask8) __builtin_ia32_cvtq2mask256 ((__v4di) __A); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_extractf64x2_pd (__m256d __A, const int __imm) { return (__m128d) __builtin_ia32_extractf64x2_256_mask ((__v4df) __A, __imm, (__v2df) _mm_setzero_pd (), (__mmask8) - 1); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_extractf64x2_pd (__m128d __W, __mmask8 __U, __m256d __A, const int __imm) { return (__m128d) __builtin_ia32_extractf64x2_256_mask ((__v4df) __A, __imm, (__v2df) __W, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_extractf64x2_pd (__mmask8 __U, __m256d __A, const int __imm) { return (__m128d) __builtin_ia32_extractf64x2_256_mask ((__v4df) __A, __imm, (__v2df) _mm_setzero_pd (), (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_extracti64x2_epi64 (__m256i __A, const int __imm) { return (__m128i) __builtin_ia32_extracti64x2_256_mask ((__v4di) __A, __imm, (__v2di) _mm_setzero_di (), (__mmask8) - 1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_extracti64x2_epi64 (__m128i __W, __mmask8 __U, __m256i __A, const int __imm) { return (__m128i) __builtin_ia32_extracti64x2_256_mask ((__v4di) __A, __imm, (__v2di) __W, (__mmask8) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_extracti64x2_epi64 (__mmask8 __U, __m256i __A, const int __imm) { return (__m128i) __builtin_ia32_extracti64x2_256_mask ((__v4di) __A, __imm, (__v2di) _mm_setzero_di (), (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_reduce_pd (__m256d __A, int __B) { return (__m256d) __builtin_ia32_reducepd256_mask ((__v4df) __A, __B, (__v4df) _mm256_setzero_pd (), (__mmask8) -1); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_reduce_pd (__m256d __W, __mmask8 __U, __m256d __A, int __B) { return (__m256d) __builtin_ia32_reducepd256_mask ((__v4df) __A, __B, (__v4df) __W, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_reduce_pd (__mmask8 __U, __m256d __A, int __B) { return (__m256d) __builtin_ia32_reducepd256_mask ((__v4df) __A, __B, (__v4df) _mm256_setzero_pd (), (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_reduce_pd (__m128d __A, int __B) { return (__m128d) __builtin_ia32_reducepd128_mask ((__v2df) __A, __B, (__v2df) _mm_setzero_pd (), (__mmask8) -1); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_reduce_pd (__m128d __W, __mmask8 __U, __m128d __A, int __B) { return (__m128d) __builtin_ia32_reducepd128_mask ((__v2df) __A, __B, (__v2df) __W, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_reduce_pd (__mmask8 __U, __m128d __A, int __B) { return (__m128d) __builtin_ia32_reducepd128_mask ((__v2df) __A, __B, (__v2df) _mm_setzero_pd (), (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_reduce_ps (__m256 __A, int __B) { return (__m256) __builtin_ia32_reduceps256_mask ((__v8sf) __A, __B, (__v8sf) _mm256_setzero_ps (), (__mmask8) -1); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_reduce_ps (__m256 __W, __mmask8 __U, __m256 __A, int __B) { return (__m256) __builtin_ia32_reduceps256_mask ((__v8sf) __A, __B, (__v8sf) __W, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_reduce_ps (__mmask8 __U, __m256 __A, int __B) { return (__m256) __builtin_ia32_reduceps256_mask ((__v8sf) __A, __B, (__v8sf) _mm256_setzero_ps (), (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_reduce_ps (__m128 __A, int __B) { return (__m128) __builtin_ia32_reduceps128_mask ((__v4sf) __A, __B, (__v4sf) _mm_setzero_ps (), (__mmask8) -1); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_reduce_ps (__m128 __W, __mmask8 __U, __m128 __A, int __B) { return (__m128) __builtin_ia32_reduceps128_mask ((__v4sf) __A, __B, (__v4sf) __W, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_reduce_ps (__mmask8 __U, __m128 __A, int __B) { return (__m128) __builtin_ia32_reduceps128_mask ((__v4sf) __A, __B, (__v4sf) _mm_setzero_ps (), (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_range_pd (__m256d __A, __m256d __B, int __C) { return (__m256d) __builtin_ia32_rangepd256_mask ((__v4df) __A, (__v4df) __B, __C, (__v4df) _mm256_setzero_pd (), (__mmask8) -1); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_range_pd (__m256d __W, __mmask8 __U, __m256d __A, __m256d __B, int __C) { return (__m256d) __builtin_ia32_rangepd256_mask ((__v4df) __A, (__v4df) __B, __C, (__v4df) __W, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_range_pd (__mmask8 __U, __m256d __A, __m256d __B, int __C) { return (__m256d) __builtin_ia32_rangepd256_mask ((__v4df) __A, (__v4df) __B, __C, (__v4df) _mm256_setzero_pd (), (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_range_pd (__m128d __A, __m128d __B, int __C) { return (__m128d) __builtin_ia32_rangepd128_mask ((__v2df) __A, (__v2df) __B, __C, (__v2df) _mm_setzero_pd (), (__mmask8) -1); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_range_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B, int __C) { return (__m128d) __builtin_ia32_rangepd128_mask ((__v2df) __A, (__v2df) __B, __C, (__v2df) __W, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_range_pd (__mmask8 __U, __m128d __A, __m128d __B, int __C) { return (__m128d) __builtin_ia32_rangepd128_mask ((__v2df) __A, (__v2df) __B, __C, (__v2df) _mm_setzero_pd (), (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_range_ps (__m256 __A, __m256 __B, int __C) { return (__m256) __builtin_ia32_rangeps256_mask ((__v8sf) __A, (__v8sf) __B, __C, (__v8sf) _mm256_setzero_ps (), (__mmask8) -1); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_range_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B, int __C) { return (__m256) __builtin_ia32_rangeps256_mask ((__v8sf) __A, (__v8sf) __B, __C, (__v8sf) __W, (__mmask8) __U); } extern __inline __m256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_range_ps (__mmask8 __U, __m256 __A, __m256 __B, int __C) { return (__m256) __builtin_ia32_rangeps256_mask ((__v8sf) __A, (__v8sf) __B, __C, (__v8sf) _mm256_setzero_ps (), (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_range_ps (__m128 __A, __m128 __B, int __C) { return (__m128) __builtin_ia32_rangeps128_mask ((__v4sf) __A, (__v4sf) __B, __C, (__v4sf) _mm_setzero_ps (), (__mmask8) -1); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_range_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B, int __C) { return (__m128) __builtin_ia32_rangeps128_mask ((__v4sf) __A, (__v4sf) __B, __C, (__v4sf) __W, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_range_ps (__mmask8 __U, __m128 __A, __m128 __B, int __C) { return (__m128) __builtin_ia32_rangeps128_mask ((__v4sf) __A, (__v4sf) __B, __C, (__v4sf) _mm_setzero_ps (), (__mmask8) __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_fpclass_pd_mask (__mmask8 __U, __m256d __A, const int __imm) { return (__mmask8) __builtin_ia32_fpclasspd256_mask ((__v4df) __A, __imm, __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_fpclass_pd_mask (__m256d __A, const int __imm) { return (__mmask8) __builtin_ia32_fpclasspd256_mask ((__v4df) __A, __imm, (__mmask8) -1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_fpclass_ps_mask (__mmask8 __U, __m256 __A, const int __imm) { return (__mmask8) __builtin_ia32_fpclassps256_mask ((__v8sf) __A, __imm, __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_fpclass_ps_mask (__m256 __A, const int __imm) { return (__mmask8) __builtin_ia32_fpclassps256_mask ((__v8sf) __A, __imm, (__mmask8) -1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_fpclass_pd_mask (__mmask8 __U, __m128d __A, const int __imm) { return (__mmask8) __builtin_ia32_fpclasspd128_mask ((__v2df) __A, __imm, __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_fpclass_pd_mask (__m128d __A, const int __imm) { return (__mmask8) __builtin_ia32_fpclasspd128_mask ((__v2df) __A, __imm, (__mmask8) -1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_fpclass_ps_mask (__mmask8 __U, __m128 __A, const int __imm) { return (__mmask8) __builtin_ia32_fpclassps128_mask ((__v4sf) __A, __imm, __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_fpclass_ps_mask (__m128 __A, const int __imm) { return (__mmask8) __builtin_ia32_fpclassps128_mask ((__v4sf) __A, __imm, (__mmask8) -1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_inserti64x2 (__m256i __A, __m128i __B, const int __imm) { return (__m256i) __builtin_ia32_inserti64x2_256_mask ((__v4di) __A, (__v2di) __B, __imm, (__v4di) _mm256_setzero_si256 (), (__mmask8) - 1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_inserti64x2 (__m256i __W, __mmask8 __U, __m256i __A, __m128i __B, const int __imm) { return (__m256i) __builtin_ia32_inserti64x2_256_mask ((__v4di) __A, (__v2di) __B, __imm, (__v4di) __W, (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_inserti64x2 (__mmask8 __U, __m256i __A, __m128i __B, const int __imm) { return (__m256i) __builtin_ia32_inserti64x2_256_mask ((__v4di) __A, (__v2di) __B, __imm, (__v4di) _mm256_setzero_si256 (), (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_insertf64x2 (__m256d __A, __m128d __B, const int __imm) { return (__m256d) __builtin_ia32_insertf64x2_256_mask ((__v4df) __A, (__v2df) __B, __imm, (__v4df) _mm256_setzero_pd (), (__mmask8) - 1); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_insertf64x2 (__m256d __W, __mmask8 __U, __m256d __A, __m128d __B, const int __imm) { return (__m256d) __builtin_ia32_insertf64x2_256_mask ((__v4df) __A, (__v2df) __B, __imm, (__v4df) __W, (__mmask8) __U); } extern __inline __m256d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_insertf64x2 (__mmask8 __U, __m256d __A, __m128d __B, const int __imm) { return (__m256d) __builtin_ia32_insertf64x2_256_mask ((__v4df) __A, (__v2df) __B, __imm, (__v4df) _mm256_setzero_pd (), (__mmask8) __U); } # 2022 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512vldqintrin.h" 3 4 #pragma GCC pop_options # 62 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512ifmaintrin.h" 1 3 4 # 32 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512ifmaintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("avx512ifma") extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_madd52lo_epu64 (__m512i __X, __m512i __Y, __m512i __Z) { return (__m512i) __builtin_ia32_vpmadd52luq512_mask ((__v8di) __X, (__v8di) __Y, (__v8di) __Z, (__mmask8) - 1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_madd52hi_epu64 (__m512i __X, __m512i __Y, __m512i __Z) { return (__m512i) __builtin_ia32_vpmadd52huq512_mask ((__v8di) __X, (__v8di) __Y, (__v8di) __Z, (__mmask8) - 1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_madd52lo_epu64 (__m512i __W, __mmask8 __M, __m512i __X, __m512i __Y) { return (__m512i) __builtin_ia32_vpmadd52luq512_mask ((__v8di) __W, (__v8di) __X, (__v8di) __Y, (__mmask8) __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_madd52hi_epu64 (__m512i __W, __mmask8 __M, __m512i __X, __m512i __Y) { return (__m512i) __builtin_ia32_vpmadd52huq512_mask ((__v8di) __W, (__v8di) __X, (__v8di) __Y, (__mmask8) __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_madd52lo_epu64 (__mmask8 __M, __m512i __X, __m512i __Y, __m512i __Z) { return (__m512i) __builtin_ia32_vpmadd52luq512_maskz ((__v8di) __X, (__v8di) __Y, (__v8di) __Z, (__mmask8) __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_madd52hi_epu64 (__mmask8 __M, __m512i __X, __m512i __Y, __m512i __Z) { return (__m512i) __builtin_ia32_vpmadd52huq512_maskz ((__v8di) __X, (__v8di) __Y, (__v8di) __Z, (__mmask8) __M); } #pragma GCC pop_options # 64 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512ifmavlintrin.h" 1 3 4 # 32 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512ifmavlintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("avx512ifma,avx512vl") extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_madd52lo_epu64 (__m128i __X, __m128i __Y, __m128i __Z) { return (__m128i) __builtin_ia32_vpmadd52luq128_mask ((__v2di) __X, (__v2di) __Y, (__v2di) __Z, (__mmask8) - 1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_madd52hi_epu64 (__m128i __X, __m128i __Y, __m128i __Z) { return (__m128i) __builtin_ia32_vpmadd52huq128_mask ((__v2di) __X, (__v2di) __Y, (__v2di) __Z, (__mmask8) - 1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_madd52lo_epu64 (__m256i __X, __m256i __Y, __m256i __Z) { return (__m256i) __builtin_ia32_vpmadd52luq256_mask ((__v4di) __X, (__v4di) __Y, (__v4di) __Z, (__mmask8) - 1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_madd52hi_epu64 (__m256i __X, __m256i __Y, __m256i __Z) { return (__m256i) __builtin_ia32_vpmadd52huq256_mask ((__v4di) __X, (__v4di) __Y, (__v4di) __Z, (__mmask8) - 1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_madd52lo_epu64 (__m128i __W, __mmask8 __M, __m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_vpmadd52luq128_mask ((__v2di) __W, (__v2di) __X, (__v2di) __Y, (__mmask8) __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_madd52hi_epu64 (__m128i __W, __mmask8 __M, __m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_vpmadd52huq128_mask ((__v2di) __W, (__v2di) __X, (__v2di) __Y, (__mmask8) __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_madd52lo_epu64 (__m256i __W, __mmask8 __M, __m256i __X, __m256i __Y) { return (__m256i) __builtin_ia32_vpmadd52luq256_mask ((__v4di) __W, (__v4di) __X, (__v4di) __Y, (__mmask8) __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_madd52hi_epu64 (__m256i __W, __mmask8 __M, __m256i __X, __m256i __Y) { return (__m256i) __builtin_ia32_vpmadd52huq256_mask ((__v4di) __W, (__v4di) __X, (__v4di) __Y, (__mmask8) __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_madd52lo_epu64 (__mmask8 __M, __m128i __X, __m128i __Y, __m128i __Z) { return (__m128i) __builtin_ia32_vpmadd52luq128_maskz ((__v2di) __X, (__v2di) __Y, (__v2di) __Z, (__mmask8) __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_madd52hi_epu64 (__mmask8 __M, __m128i __X, __m128i __Y, __m128i __Z) { return (__m128i) __builtin_ia32_vpmadd52huq128_maskz ((__v2di) __X, (__v2di) __Y, (__v2di) __Z, (__mmask8) __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_madd52lo_epu64 (__mmask8 __M, __m256i __X, __m256i __Y, __m256i __Z) { return (__m256i) __builtin_ia32_vpmadd52luq256_maskz ((__v4di) __X, (__v4di) __Y, (__v4di) __Z, (__mmask8) __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_madd52hi_epu64 (__mmask8 __M, __m256i __X, __m256i __Y, __m256i __Z) { return (__m256i) __builtin_ia32_vpmadd52huq256_maskz ((__v4di) __X, (__v4di) __Y, (__v4di) __Z, (__mmask8) __M); } #pragma GCC pop_options # 66 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512vbmiintrin.h" 1 3 4 # 32 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512vbmiintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("avx512vbmi") extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_multishift_epi64_epi8 (__m512i __W, __mmask64 __M, __m512i __X, __m512i __Y) { return (__m512i) __builtin_ia32_vpmultishiftqb512_mask ((__v64qi) __X, (__v64qi) __Y, (__v64qi) __W, (__mmask64) __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_multishift_epi64_epi8 (__mmask64 __M, __m512i __X, __m512i __Y) { return (__m512i) __builtin_ia32_vpmultishiftqb512_mask ((__v64qi) __X, (__v64qi) __Y, (__v64qi) _mm512_setzero_si512 (), (__mmask64) __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_multishift_epi64_epi8 (__m512i __X, __m512i __Y) { return (__m512i) __builtin_ia32_vpmultishiftqb512_mask ((__v64qi) __X, (__v64qi) __Y, (__v64qi) _mm512_undefined_si512 (), (__mmask64) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_permutexvar_epi8 (__m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_permvarqi512_mask ((__v64qi) __B, (__v64qi) __A, (__v64qi) _mm512_undefined_si512 (), (__mmask64) -1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_permutexvar_epi8 (__mmask64 __M, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_permvarqi512_mask ((__v64qi) __B, (__v64qi) __A, (__v64qi) _mm512_setzero_si512(), (__mmask64) __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_permutexvar_epi8 (__m512i __W, __mmask64 __M, __m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_permvarqi512_mask ((__v64qi) __B, (__v64qi) __A, (__v64qi) __W, (__mmask64) __M); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_permutex2var_epi8 (__m512i __A, __m512i __I, __m512i __B) { return (__m512i) __builtin_ia32_vpermt2varqi512_mask ((__v64qi) __I , (__v64qi) __A, (__v64qi) __B, (__mmask64) - 1); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_permutex2var_epi8 (__m512i __A, __mmask64 __U, __m512i __I, __m512i __B) { return (__m512i) __builtin_ia32_vpermt2varqi512_mask ((__v64qi) __I , (__v64qi) __A, (__v64qi) __B, (__mmask64) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask2_permutex2var_epi8 (__m512i __A, __m512i __I, __mmask64 __U, __m512i __B) { return (__m512i) __builtin_ia32_vpermi2varqi512_mask ((__v64qi) __A, (__v64qi) __I , (__v64qi) __B, (__mmask64) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_permutex2var_epi8 (__mmask64 __U, __m512i __A, __m512i __I, __m512i __B) { return (__m512i) __builtin_ia32_vpermt2varqi512_maskz ((__v64qi) __I , (__v64qi) __A, (__v64qi) __B, (__mmask64) __U); } #pragma GCC pop_options # 68 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512vbmivlintrin.h" 1 3 4 # 32 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/avx512vbmivlintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("avx512vbmi,avx512vl") extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_multishift_epi64_epi8 (__m256i __W, __mmask32 __M, __m256i __X, __m256i __Y) { return (__m256i) __builtin_ia32_vpmultishiftqb256_mask ((__v32qi) __X, (__v32qi) __Y, (__v32qi) __W, (__mmask32) __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_multishift_epi64_epi8 (__mmask32 __M, __m256i __X, __m256i __Y) { return (__m256i) __builtin_ia32_vpmultishiftqb256_mask ((__v32qi) __X, (__v32qi) __Y, (__v32qi) _mm256_setzero_si256 (), (__mmask32) __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_multishift_epi64_epi8 (__m256i __X, __m256i __Y) { return (__m256i) __builtin_ia32_vpmultishiftqb256_mask ((__v32qi) __X, (__v32qi) __Y, (__v32qi) _mm256_undefined_si256 (), (__mmask32) -1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_multishift_epi64_epi8 (__m128i __W, __mmask16 __M, __m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_vpmultishiftqb128_mask ((__v16qi) __X, (__v16qi) __Y, (__v16qi) __W, (__mmask16) __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_multishift_epi64_epi8 (__mmask16 __M, __m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_vpmultishiftqb128_mask ((__v16qi) __X, (__v16qi) __Y, (__v16qi) _mm_setzero_si128 (), (__mmask16) __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_multishift_epi64_epi8 (__m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_vpmultishiftqb128_mask ((__v16qi) __X, (__v16qi) __Y, (__v16qi) _mm_undefined_si128 (), (__mmask16) -1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_permutexvar_epi8 (__m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_permvarqi256_mask ((__v32qi) __B, (__v32qi) __A, (__v32qi) _mm256_undefined_si256 (), (__mmask32) -1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_permutexvar_epi8 (__mmask32 __M, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_permvarqi256_mask ((__v32qi) __B, (__v32qi) __A, (__v32qi) _mm256_setzero_si256 (), (__mmask32) __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_permutexvar_epi8 (__m256i __W, __mmask32 __M, __m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_permvarqi256_mask ((__v32qi) __B, (__v32qi) __A, (__v32qi) __W, (__mmask32) __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_permutexvar_epi8 (__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_permvarqi128_mask ((__v16qi) __B, (__v16qi) __A, (__v16qi) _mm_undefined_si128 (), (__mmask16) -1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_permutexvar_epi8 (__mmask16 __M, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_permvarqi128_mask ((__v16qi) __B, (__v16qi) __A, (__v16qi) _mm_setzero_si128 (), (__mmask16) __M); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_permutexvar_epi8 (__m128i __W, __mmask16 __M, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_permvarqi128_mask ((__v16qi) __B, (__v16qi) __A, (__v16qi) __W, (__mmask16) __M); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_permutex2var_epi8 (__m256i __A, __m256i __I, __m256i __B) { return (__m256i) __builtin_ia32_vpermt2varqi256_mask ((__v32qi) __I , (__v32qi) __A, (__v32qi) __B, (__mmask32) - 1); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_permutex2var_epi8 (__m256i __A, __mmask32 __U, __m256i __I, __m256i __B) { return (__m256i) __builtin_ia32_vpermt2varqi256_mask ((__v32qi) __I , (__v32qi) __A, (__v32qi) __B, (__mmask32) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask2_permutex2var_epi8 (__m256i __A, __m256i __I, __mmask32 __U, __m256i __B) { return (__m256i) __builtin_ia32_vpermi2varqi256_mask ((__v32qi) __A, (__v32qi) __I , (__v32qi) __B, (__mmask32) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_permutex2var_epi8 (__mmask32 __U, __m256i __A, __m256i __I, __m256i __B) { return (__m256i) __builtin_ia32_vpermt2varqi256_maskz ((__v32qi) __I , (__v32qi) __A, (__v32qi) __B, (__mmask32) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_permutex2var_epi8 (__m128i __A, __m128i __I, __m128i __B) { return (__m128i) __builtin_ia32_vpermt2varqi128_mask ((__v16qi) __I , (__v16qi) __A, (__v16qi) __B, (__mmask16) - 1); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_permutex2var_epi8 (__m128i __A, __mmask16 __U, __m128i __I, __m128i __B) { return (__m128i) __builtin_ia32_vpermt2varqi128_mask ((__v16qi) __I , (__v16qi) __A, (__v16qi) __B, (__mmask16) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask2_permutex2var_epi8 (__m128i __A, __m128i __I, __mmask16 __U, __m128i __B) { return (__m128i) __builtin_ia32_vpermi2varqi128_mask ((__v16qi) __A, (__v16qi) __I , (__v16qi) __B, (__mmask16) __U); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_permutex2var_epi8 (__mmask16 __U, __m128i __A, __m128i __I, __m128i __B) { return (__m128i) __builtin_ia32_vpermt2varqi128_maskz ((__v16qi) __I , (__v16qi) __A, (__v16qi) __B, (__mmask16) __U); } #pragma GCC pop_options # 70 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/shaintrin.h" 1 3 4 # 32 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/shaintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("sha") extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_sha1msg1_epu32 (__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_sha1msg1 ((__v4si) __A, (__v4si) __B); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_sha1msg2_epu32 (__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_sha1msg2 ((__v4si) __A, (__v4si) __B); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_sha1nexte_epu32 (__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_sha1nexte ((__v4si) __A, (__v4si) __B); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_sha1rnds4_epu32 (__m128i __A, __m128i __B, const int __I) { return (__m128i) __builtin_ia32_sha1rnds4 ((__v4si) __A, (__v4si) __B, __I); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_sha256msg1_epu32 (__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_sha256msg1 ((__v4si) __A, (__v4si) __B); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_sha256msg2_epu32 (__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_sha256msg2 ((__v4si) __A, (__v4si) __B); } extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_sha256rnds2_epu32 (__m128i __A, __m128i __B, __m128i __C) { return (__m128i) __builtin_ia32_sha256rnds2 ((__v4si) __A, (__v4si) __B, (__v4si) __C); } #pragma GCC pop_options # 72 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/lzcntintrin.h" 1 3 4 # 33 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/lzcntintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("lzcnt") extern __inline unsigned short __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __lzcnt16 (unsigned short __X) { return __builtin_clzs (__X); } extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __lzcnt32 (unsigned int __X) { return __builtin_clz (__X); } extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _lzcnt_u32 (unsigned int __X) { return __builtin_clz (__X); } # 72 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/lzcntintrin.h" 3 4 #pragma GCC pop_options # 74 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/bmiintrin.h" 1 3 4 # 32 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/bmiintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("bmi") extern __inline unsigned short __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __tzcnt_u16 (unsigned short __X) { return __builtin_ctzs (__X); } extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __andn_u32 (unsigned int __X, unsigned int __Y) { return ~__X & __Y; } extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __bextr_u32 (unsigned int __X, unsigned int __Y) { return __builtin_ia32_bextr_u32 (__X, __Y); } extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _bextr_u32 (unsigned int __X, unsigned int __Y, unsigned __Z) { return __builtin_ia32_bextr_u32 (__X, ((__Y & 0xff) | ((__Z & 0xff) << 8))); } extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __blsi_u32 (unsigned int __X) { return __X & -__X; } extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _blsi_u32 (unsigned int __X) { return __blsi_u32 (__X); } extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __blsmsk_u32 (unsigned int __X) { return __X ^ (__X - 1); } extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _blsmsk_u32 (unsigned int __X) { return __blsmsk_u32 (__X); } extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __blsr_u32 (unsigned int __X) { return __X & (__X - 1); } extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _blsr_u32 (unsigned int __X) { return __blsr_u32 (__X); } extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __tzcnt_u32 (unsigned int __X) { return __builtin_ctz (__X); } extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _tzcnt_u32 (unsigned int __X) { return __builtin_ctz (__X); } # 181 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/bmiintrin.h" 3 4 #pragma GCC pop_options # 76 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/bmi2intrin.h" 1 3 4 # 32 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/bmi2intrin.h" 3 4 #pragma GCC push_options #pragma GCC target("bmi2") extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _bzhi_u32 (unsigned int __X, unsigned int __Y) { return __builtin_ia32_bzhi_si (__X, __Y); } extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _pdep_u32 (unsigned int __X, unsigned int __Y) { return __builtin_ia32_pdep_si (__X, __Y); } extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _pext_u32 (unsigned int __X, unsigned int __Y) { return __builtin_ia32_pext_si (__X, __Y); } # 93 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/bmi2intrin.h" 3 4 extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mulx_u32 (unsigned int __X, unsigned int __Y, unsigned int *__P) { unsigned long long __res = (unsigned long long) __X * __Y; *__P = (unsigned int) (__res >> 32); return (unsigned int) __res; } #pragma GCC pop_options # 78 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/fmaintrin.h" 1 3 4 # 32 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/fmaintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("fma") extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_fmadd_pd (__m128d __A, __m128d __B, __m128d __C) { return (__m128d)__builtin_ia32_vfmaddpd ((__v2df)__A, (__v2df)__B, (__v2df)__C); } extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_fmadd_pd (__m256d __A, __m256d __B, __m256d __C) { return (__m256d)__builtin_ia32_vfmaddpd256 ((__v4df)__A, (__v4df)__B, (__v4df)__C); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_fmadd_ps (__m128 __A, __m128 __B, __m128 __C) { return (__m128)__builtin_ia32_vfmaddps ((__v4sf)__A, (__v4sf)__B, (__v4sf)__C); } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_fmadd_ps (__m256 __A, __m256 __B, __m256 __C) { return (__m256)__builtin_ia32_vfmaddps256 ((__v8sf)__A, (__v8sf)__B, (__v8sf)__C); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_fmadd_sd (__m128d __A, __m128d __B, __m128d __C) { return (__m128d) __builtin_ia32_vfmaddsd3 ((__v2df)__A, (__v2df)__B, (__v2df)__C); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_fmadd_ss (__m128 __A, __m128 __B, __m128 __C) { return (__m128) __builtin_ia32_vfmaddss3 ((__v4sf)__A, (__v4sf)__B, (__v4sf)__C); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_fmsub_pd (__m128d __A, __m128d __B, __m128d __C) { return (__m128d)__builtin_ia32_vfmaddpd ((__v2df)__A, (__v2df)__B, -(__v2df)__C); } extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_fmsub_pd (__m256d __A, __m256d __B, __m256d __C) { return (__m256d)__builtin_ia32_vfmaddpd256 ((__v4df)__A, (__v4df)__B, -(__v4df)__C); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_fmsub_ps (__m128 __A, __m128 __B, __m128 __C) { return (__m128)__builtin_ia32_vfmaddps ((__v4sf)__A, (__v4sf)__B, -(__v4sf)__C); } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_fmsub_ps (__m256 __A, __m256 __B, __m256 __C) { return (__m256)__builtin_ia32_vfmaddps256 ((__v8sf)__A, (__v8sf)__B, -(__v8sf)__C); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_fmsub_sd (__m128d __A, __m128d __B, __m128d __C) { return (__m128d)__builtin_ia32_vfmaddsd3 ((__v2df)__A, (__v2df)__B, -(__v2df)__C); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_fmsub_ss (__m128 __A, __m128 __B, __m128 __C) { return (__m128)__builtin_ia32_vfmaddss3 ((__v4sf)__A, (__v4sf)__B, -(__v4sf)__C); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_fnmadd_pd (__m128d __A, __m128d __B, __m128d __C) { return (__m128d)__builtin_ia32_vfmaddpd (-(__v2df)__A, (__v2df)__B, (__v2df)__C); } extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_fnmadd_pd (__m256d __A, __m256d __B, __m256d __C) { return (__m256d)__builtin_ia32_vfmaddpd256 (-(__v4df)__A, (__v4df)__B, (__v4df)__C); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_fnmadd_ps (__m128 __A, __m128 __B, __m128 __C) { return (__m128)__builtin_ia32_vfmaddps (-(__v4sf)__A, (__v4sf)__B, (__v4sf)__C); } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_fnmadd_ps (__m256 __A, __m256 __B, __m256 __C) { return (__m256)__builtin_ia32_vfmaddps256 (-(__v8sf)__A, (__v8sf)__B, (__v8sf)__C); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_fnmadd_sd (__m128d __A, __m128d __B, __m128d __C) { return (__m128d)__builtin_ia32_vfmaddsd3 ((__v2df)__A, -(__v2df)__B, (__v2df)__C); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_fnmadd_ss (__m128 __A, __m128 __B, __m128 __C) { return (__m128)__builtin_ia32_vfmaddss3 ((__v4sf)__A, -(__v4sf)__B, (__v4sf)__C); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_fnmsub_pd (__m128d __A, __m128d __B, __m128d __C) { return (__m128d)__builtin_ia32_vfmaddpd (-(__v2df)__A, (__v2df)__B, -(__v2df)__C); } extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_fnmsub_pd (__m256d __A, __m256d __B, __m256d __C) { return (__m256d)__builtin_ia32_vfmaddpd256 (-(__v4df)__A, (__v4df)__B, -(__v4df)__C); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_fnmsub_ps (__m128 __A, __m128 __B, __m128 __C) { return (__m128)__builtin_ia32_vfmaddps (-(__v4sf)__A, (__v4sf)__B, -(__v4sf)__C); } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_fnmsub_ps (__m256 __A, __m256 __B, __m256 __C) { return (__m256)__builtin_ia32_vfmaddps256 (-(__v8sf)__A, (__v8sf)__B, -(__v8sf)__C); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_fnmsub_sd (__m128d __A, __m128d __B, __m128d __C) { return (__m128d)__builtin_ia32_vfmaddsd3 ((__v2df)__A, -(__v2df)__B, -(__v2df)__C); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_fnmsub_ss (__m128 __A, __m128 __B, __m128 __C) { return (__m128)__builtin_ia32_vfmaddss3 ((__v4sf)__A, -(__v4sf)__B, -(__v4sf)__C); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_fmaddsub_pd (__m128d __A, __m128d __B, __m128d __C) { return (__m128d)__builtin_ia32_vfmaddsubpd ((__v2df)__A, (__v2df)__B, (__v2df)__C); } extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_fmaddsub_pd (__m256d __A, __m256d __B, __m256d __C) { return (__m256d)__builtin_ia32_vfmaddsubpd256 ((__v4df)__A, (__v4df)__B, (__v4df)__C); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_fmaddsub_ps (__m128 __A, __m128 __B, __m128 __C) { return (__m128)__builtin_ia32_vfmaddsubps ((__v4sf)__A, (__v4sf)__B, (__v4sf)__C); } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_fmaddsub_ps (__m256 __A, __m256 __B, __m256 __C) { return (__m256)__builtin_ia32_vfmaddsubps256 ((__v8sf)__A, (__v8sf)__B, (__v8sf)__C); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_fmsubadd_pd (__m128d __A, __m128d __B, __m128d __C) { return (__m128d)__builtin_ia32_vfmaddsubpd ((__v2df)__A, (__v2df)__B, -(__v2df)__C); } extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_fmsubadd_pd (__m256d __A, __m256d __B, __m256d __C) { return (__m256d)__builtin_ia32_vfmaddsubpd256 ((__v4df)__A, (__v4df)__B, -(__v4df)__C); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_fmsubadd_ps (__m128 __A, __m128 __B, __m128 __C) { return (__m128)__builtin_ia32_vfmaddsubps ((__v4sf)__A, (__v4sf)__B, -(__v4sf)__C); } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_fmsubadd_ps (__m256 __A, __m256 __B, __m256 __C) { return (__m256)__builtin_ia32_vfmaddsubps256 ((__v8sf)__A, (__v8sf)__B, -(__v8sf)__C); } #pragma GCC pop_options # 80 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/f16cintrin.h" 1 3 4 # 32 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/f16cintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("f16c") extern __inline float __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _cvtsh_ss (unsigned short __S) { __v8hi __H = __extension__ (__v8hi){ (short) __S, 0, 0, 0, 0, 0, 0, 0 }; __v4sf __A = __builtin_ia32_vcvtph2ps (__H); return __builtin_ia32_vec_ext_v4sf (__A, 0); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtph_ps (__m128i __A) { return (__m128) __builtin_ia32_vcvtph2ps ((__v8hi) __A); } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cvtph_ps (__m128i __A) { return (__m256) __builtin_ia32_vcvtph2ps256 ((__v8hi) __A); } extern __inline unsigned short __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _cvtss_sh (float __F, const int __I) { __v4sf __A = __extension__ (__v4sf){ __F, 0, 0, 0 }; __v8hi __H = __builtin_ia32_vcvtps2ph (__A, __I); return (unsigned short) __builtin_ia32_vec_ext_v8hi (__H, 0); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtps_ph (__m128 __A, const int __I) { return (__m128i) __builtin_ia32_vcvtps2ph ((__v4sf) __A, __I); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cvtps_ph (__m256 __A, const int __I) { return (__m128i) __builtin_ia32_vcvtps2ph256 ((__v8sf) __A, __I); } # 95 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/f16cintrin.h" 3 4 #pragma GCC pop_options # 82 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/rtmintrin.h" 1 3 4 # 32 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/rtmintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("rtm") # 48 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/rtmintrin.h" 3 4 extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _xbegin (void) { return __builtin_ia32_xbegin (); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _xend (void) { __builtin_ia32_xend (); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _xabort (const unsigned int imm) { __builtin_ia32_xabort (imm); } #pragma GCC pop_options # 84 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/xtestintrin.h" 1 3 4 # 32 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/xtestintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("rtm") extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _xtest (void) { return __builtin_ia32_xtest (); } #pragma GCC pop_options # 86 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/immintrin.h" 2 3 4 #pragma GCC push_options #pragma GCC target("rdrnd") extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _rdrand16_step (unsigned short *__P) { return __builtin_ia32_rdrand16_step (__P); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _rdrand32_step (unsigned int *__P) { return __builtin_ia32_rdrand32_step (__P); } #pragma GCC pop_options # 47 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/x86intrin.h" 2 3 4 # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/mm3dnow.h" 1 3 4 # 31 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/mm3dnow.h" 3 4 # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/prfchwintrin.h" 1 3 4 # 31 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/prfchwintrin.h" 3 4 extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_prefetchw (void *__P) { __builtin_prefetch (__P, 1, 3 ); } # 32 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/mm3dnow.h" 2 3 4 #pragma GCC push_options #pragma GCC target("3dnow") extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_femms (void) { __builtin_ia32_femms(); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_pavgusb (__m64 __A, __m64 __B) { return (__m64)__builtin_ia32_pavgusb ((__v8qi)__A, (__v8qi)__B); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_pf2id (__m64 __A) { return (__m64)__builtin_ia32_pf2id ((__v2sf)__A); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_pfacc (__m64 __A, __m64 __B) { return (__m64)__builtin_ia32_pfacc ((__v2sf)__A, (__v2sf)__B); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_pfadd (__m64 __A, __m64 __B) { return (__m64)__builtin_ia32_pfadd ((__v2sf)__A, (__v2sf)__B); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_pfcmpeq (__m64 __A, __m64 __B) { return (__m64)__builtin_ia32_pfcmpeq ((__v2sf)__A, (__v2sf)__B); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_pfcmpge (__m64 __A, __m64 __B) { return (__m64)__builtin_ia32_pfcmpge ((__v2sf)__A, (__v2sf)__B); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_pfcmpgt (__m64 __A, __m64 __B) { return (__m64)__builtin_ia32_pfcmpgt ((__v2sf)__A, (__v2sf)__B); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_pfmax (__m64 __A, __m64 __B) { return (__m64)__builtin_ia32_pfmax ((__v2sf)__A, (__v2sf)__B); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_pfmin (__m64 __A, __m64 __B) { return (__m64)__builtin_ia32_pfmin ((__v2sf)__A, (__v2sf)__B); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_pfmul (__m64 __A, __m64 __B) { return (__m64)__builtin_ia32_pfmul ((__v2sf)__A, (__v2sf)__B); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_pfrcp (__m64 __A) { return (__m64)__builtin_ia32_pfrcp ((__v2sf)__A); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_pfrcpit1 (__m64 __A, __m64 __B) { return (__m64)__builtin_ia32_pfrcpit1 ((__v2sf)__A, (__v2sf)__B); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_pfrcpit2 (__m64 __A, __m64 __B) { return (__m64)__builtin_ia32_pfrcpit2 ((__v2sf)__A, (__v2sf)__B); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_pfrsqrt (__m64 __A) { return (__m64)__builtin_ia32_pfrsqrt ((__v2sf)__A); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_pfrsqit1 (__m64 __A, __m64 __B) { return (__m64)__builtin_ia32_pfrsqit1 ((__v2sf)__A, (__v2sf)__B); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_pfsub (__m64 __A, __m64 __B) { return (__m64)__builtin_ia32_pfsub ((__v2sf)__A, (__v2sf)__B); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_pfsubr (__m64 __A, __m64 __B) { return (__m64)__builtin_ia32_pfsubr ((__v2sf)__A, (__v2sf)__B); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_pi2fd (__m64 __A) { return (__m64)__builtin_ia32_pi2fd ((__v2si)__A); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_pmulhrw (__m64 __A, __m64 __B) { return (__m64)__builtin_ia32_pmulhrw ((__v4hi)__A, (__v4hi)__B); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_prefetch (void *__P) { __builtin_prefetch (__P, 0, 3 ); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_from_float (float __A) { return __extension__ (__m64)(__v2sf){ __A, 0.0f }; } extern __inline float __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_to_float (__m64 __A) { union { __v2sf v; float a[2]; } __tmp; __tmp.v = (__v2sf)__A; return __tmp.a[0]; } # 215 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/mm3dnow.h" 3 4 #pragma GCC pop_options # 49 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/x86intrin.h" 2 3 4 # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/fma4intrin.h" 1 3 4 # 35 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/fma4intrin.h" 3 4 #pragma GCC push_options #pragma GCC target("fma4") extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_macc_ps (__m128 __A, __m128 __B, __m128 __C) { return (__m128) __builtin_ia32_vfmaddps ((__v4sf)__A, (__v4sf)__B, (__v4sf)__C); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_macc_pd (__m128d __A, __m128d __B, __m128d __C) { return (__m128d) __builtin_ia32_vfmaddpd ((__v2df)__A, (__v2df)__B, (__v2df)__C); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_macc_ss (__m128 __A, __m128 __B, __m128 __C) { return (__m128) __builtin_ia32_vfmaddss ((__v4sf)__A, (__v4sf)__B, (__v4sf)__C); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_macc_sd (__m128d __A, __m128d __B, __m128d __C) { return (__m128d) __builtin_ia32_vfmaddsd ((__v2df)__A, (__v2df)__B, (__v2df)__C); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_msub_ps (__m128 __A, __m128 __B, __m128 __C) { return (__m128) __builtin_ia32_vfmaddps ((__v4sf)__A, (__v4sf)__B, -(__v4sf)__C); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_msub_pd (__m128d __A, __m128d __B, __m128d __C) { return (__m128d) __builtin_ia32_vfmaddpd ((__v2df)__A, (__v2df)__B, -(__v2df)__C); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_msub_ss (__m128 __A, __m128 __B, __m128 __C) { return (__m128) __builtin_ia32_vfmaddss ((__v4sf)__A, (__v4sf)__B, -(__v4sf)__C); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_msub_sd (__m128d __A, __m128d __B, __m128d __C) { return (__m128d) __builtin_ia32_vfmaddsd ((__v2df)__A, (__v2df)__B, -(__v2df)__C); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_nmacc_ps (__m128 __A, __m128 __B, __m128 __C) { return (__m128) __builtin_ia32_vfmaddps (-(__v4sf)__A, (__v4sf)__B, (__v4sf)__C); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_nmacc_pd (__m128d __A, __m128d __B, __m128d __C) { return (__m128d) __builtin_ia32_vfmaddpd (-(__v2df)__A, (__v2df)__B, (__v2df)__C); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_nmacc_ss (__m128 __A, __m128 __B, __m128 __C) { return (__m128) __builtin_ia32_vfmaddss (-(__v4sf)__A, (__v4sf)__B, (__v4sf)__C); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_nmacc_sd (__m128d __A, __m128d __B, __m128d __C) { return (__m128d) __builtin_ia32_vfmaddsd (-(__v2df)__A, (__v2df)__B, (__v2df)__C); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_nmsub_ps (__m128 __A, __m128 __B, __m128 __C) { return (__m128) __builtin_ia32_vfmaddps (-(__v4sf)__A, (__v4sf)__B, -(__v4sf)__C); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_nmsub_pd (__m128d __A, __m128d __B, __m128d __C) { return (__m128d) __builtin_ia32_vfmaddpd (-(__v2df)__A, (__v2df)__B, -(__v2df)__C); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_nmsub_ss (__m128 __A, __m128 __B, __m128 __C) { return (__m128) __builtin_ia32_vfmaddss (-(__v4sf)__A, (__v4sf)__B, -(__v4sf)__C); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_nmsub_sd (__m128d __A, __m128d __B, __m128d __C) { return (__m128d) __builtin_ia32_vfmaddsd (-(__v2df)__A, (__v2df)__B, -(__v2df)__C); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_maddsub_ps (__m128 __A, __m128 __B, __m128 __C) { return (__m128) __builtin_ia32_vfmaddsubps ((__v4sf)__A, (__v4sf)__B, (__v4sf)__C); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_maddsub_pd (__m128d __A, __m128d __B, __m128d __C) { return (__m128d) __builtin_ia32_vfmaddsubpd ((__v2df)__A, (__v2df)__B, (__v2df)__C); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_msubadd_ps (__m128 __A, __m128 __B, __m128 __C) { return (__m128) __builtin_ia32_vfmaddsubps ((__v4sf)__A, (__v4sf)__B, -(__v4sf)__C); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_msubadd_pd (__m128d __A, __m128d __B, __m128d __C) { return (__m128d) __builtin_ia32_vfmaddsubpd ((__v2df)__A, (__v2df)__B, -(__v2df)__C); } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_macc_ps (__m256 __A, __m256 __B, __m256 __C) { return (__m256) __builtin_ia32_vfmaddps256 ((__v8sf)__A, (__v8sf)__B, (__v8sf)__C); } extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_macc_pd (__m256d __A, __m256d __B, __m256d __C) { return (__m256d) __builtin_ia32_vfmaddpd256 ((__v4df)__A, (__v4df)__B, (__v4df)__C); } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_msub_ps (__m256 __A, __m256 __B, __m256 __C) { return (__m256) __builtin_ia32_vfmaddps256 ((__v8sf)__A, (__v8sf)__B, -(__v8sf)__C); } extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_msub_pd (__m256d __A, __m256d __B, __m256d __C) { return (__m256d) __builtin_ia32_vfmaddpd256 ((__v4df)__A, (__v4df)__B, -(__v4df)__C); } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_nmacc_ps (__m256 __A, __m256 __B, __m256 __C) { return (__m256) __builtin_ia32_vfmaddps256 (-(__v8sf)__A, (__v8sf)__B, (__v8sf)__C); } extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_nmacc_pd (__m256d __A, __m256d __B, __m256d __C) { return (__m256d) __builtin_ia32_vfmaddpd256 (-(__v4df)__A, (__v4df)__B, (__v4df)__C); } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_nmsub_ps (__m256 __A, __m256 __B, __m256 __C) { return (__m256) __builtin_ia32_vfmaddps256 (-(__v8sf)__A, (__v8sf)__B, -(__v8sf)__C); } extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_nmsub_pd (__m256d __A, __m256d __B, __m256d __C) { return (__m256d) __builtin_ia32_vfmaddpd256 (-(__v4df)__A, (__v4df)__B, -(__v4df)__C); } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maddsub_ps (__m256 __A, __m256 __B, __m256 __C) { return (__m256) __builtin_ia32_vfmaddsubps256 ((__v8sf)__A, (__v8sf)__B, (__v8sf)__C); } extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maddsub_pd (__m256d __A, __m256d __B, __m256d __C) { return (__m256d) __builtin_ia32_vfmaddsubpd256 ((__v4df)__A, (__v4df)__B, (__v4df)__C); } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_msubadd_ps (__m256 __A, __m256 __B, __m256 __C) { return (__m256) __builtin_ia32_vfmaddsubps256 ((__v8sf)__A, (__v8sf)__B, -(__v8sf)__C); } extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_msubadd_pd (__m256d __A, __m256d __B, __m256d __C) { return (__m256d) __builtin_ia32_vfmaddsubpd256 ((__v4df)__A, (__v4df)__B, -(__v4df)__C); } #pragma GCC pop_options # 51 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/x86intrin.h" 2 3 4 # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/xopintrin.h" 1 3 4 # 31 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/xopintrin.h" 3 4 # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/fma4intrin.h" 1 3 4 # 32 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/xopintrin.h" 2 3 4 #pragma GCC push_options #pragma GCC target("xop") extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_maccs_epi16(__m128i __A, __m128i __B, __m128i __C) { return (__m128i) __builtin_ia32_vpmacssww ((__v8hi)__A,(__v8hi)__B, (__v8hi)__C); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_macc_epi16(__m128i __A, __m128i __B, __m128i __C) { return (__m128i) __builtin_ia32_vpmacsww ((__v8hi)__A, (__v8hi)__B, (__v8hi)__C); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_maccsd_epi16(__m128i __A, __m128i __B, __m128i __C) { return (__m128i) __builtin_ia32_vpmacsswd ((__v8hi)__A, (__v8hi)__B, (__v4si)__C); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_maccd_epi16(__m128i __A, __m128i __B, __m128i __C) { return (__m128i) __builtin_ia32_vpmacswd ((__v8hi)__A, (__v8hi)__B, (__v4si)__C); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_maccs_epi32(__m128i __A, __m128i __B, __m128i __C) { return (__m128i) __builtin_ia32_vpmacssdd ((__v4si)__A, (__v4si)__B, (__v4si)__C); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_macc_epi32(__m128i __A, __m128i __B, __m128i __C) { return (__m128i) __builtin_ia32_vpmacsdd ((__v4si)__A, (__v4si)__B, (__v4si)__C); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_maccslo_epi32(__m128i __A, __m128i __B, __m128i __C) { return (__m128i) __builtin_ia32_vpmacssdql ((__v4si)__A, (__v4si)__B, (__v2di)__C); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_macclo_epi32(__m128i __A, __m128i __B, __m128i __C) { return (__m128i) __builtin_ia32_vpmacsdql ((__v4si)__A, (__v4si)__B, (__v2di)__C); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_maccshi_epi32(__m128i __A, __m128i __B, __m128i __C) { return (__m128i) __builtin_ia32_vpmacssdqh ((__v4si)__A, (__v4si)__B, (__v2di)__C); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_macchi_epi32(__m128i __A, __m128i __B, __m128i __C) { return (__m128i) __builtin_ia32_vpmacsdqh ((__v4si)__A, (__v4si)__B, (__v2di)__C); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_maddsd_epi16(__m128i __A, __m128i __B, __m128i __C) { return (__m128i) __builtin_ia32_vpmadcsswd ((__v8hi)__A,(__v8hi)__B,(__v4si)__C); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_maddd_epi16(__m128i __A, __m128i __B, __m128i __C) { return (__m128i) __builtin_ia32_vpmadcswd ((__v8hi)__A,(__v8hi)__B,(__v4si)__C); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_haddw_epi8(__m128i __A) { return (__m128i) __builtin_ia32_vphaddbw ((__v16qi)__A); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_haddd_epi8(__m128i __A) { return (__m128i) __builtin_ia32_vphaddbd ((__v16qi)__A); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_haddq_epi8(__m128i __A) { return (__m128i) __builtin_ia32_vphaddbq ((__v16qi)__A); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_haddd_epi16(__m128i __A) { return (__m128i) __builtin_ia32_vphaddwd ((__v8hi)__A); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_haddq_epi16(__m128i __A) { return (__m128i) __builtin_ia32_vphaddwq ((__v8hi)__A); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_haddq_epi32(__m128i __A) { return (__m128i) __builtin_ia32_vphadddq ((__v4si)__A); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_haddw_epu8(__m128i __A) { return (__m128i) __builtin_ia32_vphaddubw ((__v16qi)__A); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_haddd_epu8(__m128i __A) { return (__m128i) __builtin_ia32_vphaddubd ((__v16qi)__A); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_haddq_epu8(__m128i __A) { return (__m128i) __builtin_ia32_vphaddubq ((__v16qi)__A); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_haddd_epu16(__m128i __A) { return (__m128i) __builtin_ia32_vphadduwd ((__v8hi)__A); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_haddq_epu16(__m128i __A) { return (__m128i) __builtin_ia32_vphadduwq ((__v8hi)__A); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_haddq_epu32(__m128i __A) { return (__m128i) __builtin_ia32_vphaddudq ((__v4si)__A); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_hsubw_epi8(__m128i __A) { return (__m128i) __builtin_ia32_vphsubbw ((__v16qi)__A); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_hsubd_epi16(__m128i __A) { return (__m128i) __builtin_ia32_vphsubwd ((__v8hi)__A); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_hsubq_epi32(__m128i __A) { return (__m128i) __builtin_ia32_vphsubdq ((__v4si)__A); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmov_si128(__m128i __A, __m128i __B, __m128i __C) { return (__m128i) __builtin_ia32_vpcmov (__A, __B, __C); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_perm_epi8(__m128i __A, __m128i __B, __m128i __C) { return (__m128i) __builtin_ia32_vpperm ((__v16qi)__A, (__v16qi)__B, (__v16qi)__C); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_rot_epi8(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vprotb ((__v16qi)__A, (__v16qi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_rot_epi16(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vprotw ((__v8hi)__A, (__v8hi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_rot_epi32(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vprotd ((__v4si)__A, (__v4si)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_rot_epi64(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vprotq ((__v2di)__A, (__v2di)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_roti_epi8(__m128i __A, const int __B) { return (__m128i) __builtin_ia32_vprotbi ((__v16qi)__A, __B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_roti_epi16(__m128i __A, const int __B) { return (__m128i) __builtin_ia32_vprotwi ((__v8hi)__A, __B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_roti_epi32(__m128i __A, const int __B) { return (__m128i) __builtin_ia32_vprotdi ((__v4si)__A, __B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_roti_epi64(__m128i __A, const int __B) { return (__m128i) __builtin_ia32_vprotqi ((__v2di)__A, __B); } # 283 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/xopintrin.h" 3 4 extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_shl_epi8(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpshlb ((__v16qi)__A, (__v16qi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_shl_epi16(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpshlw ((__v8hi)__A, (__v8hi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_shl_epi32(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpshld ((__v4si)__A, (__v4si)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_shl_epi64(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpshlq ((__v2di)__A, (__v2di)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_sha_epi8(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpshab ((__v16qi)__A, (__v16qi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_sha_epi16(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpshaw ((__v8hi)__A, (__v8hi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_sha_epi32(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpshad ((__v4si)__A, (__v4si)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_sha_epi64(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpshaq ((__v2di)__A, (__v2di)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comlt_epu8(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomltub ((__v16qi)__A, (__v16qi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comle_epu8(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomleub ((__v16qi)__A, (__v16qi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comgt_epu8(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomgtub ((__v16qi)__A, (__v16qi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comge_epu8(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomgeub ((__v16qi)__A, (__v16qi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comeq_epu8(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomequb ((__v16qi)__A, (__v16qi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comneq_epu8(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomnequb ((__v16qi)__A, (__v16qi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comfalse_epu8(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomfalseub ((__v16qi)__A, (__v16qi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comtrue_epu8(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomtrueub ((__v16qi)__A, (__v16qi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comlt_epu16(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomltuw ((__v8hi)__A, (__v8hi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comle_epu16(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomleuw ((__v8hi)__A, (__v8hi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comgt_epu16(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomgtuw ((__v8hi)__A, (__v8hi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comge_epu16(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomgeuw ((__v8hi)__A, (__v8hi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comeq_epu16(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomequw ((__v8hi)__A, (__v8hi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comneq_epu16(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomnequw ((__v8hi)__A, (__v8hi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comfalse_epu16(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomfalseuw ((__v8hi)__A, (__v8hi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comtrue_epu16(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomtrueuw ((__v8hi)__A, (__v8hi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comlt_epu32(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomltud ((__v4si)__A, (__v4si)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comle_epu32(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomleud ((__v4si)__A, (__v4si)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comgt_epu32(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomgtud ((__v4si)__A, (__v4si)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comge_epu32(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomgeud ((__v4si)__A, (__v4si)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comeq_epu32(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomequd ((__v4si)__A, (__v4si)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comneq_epu32(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomnequd ((__v4si)__A, (__v4si)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comfalse_epu32(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomfalseud ((__v4si)__A, (__v4si)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comtrue_epu32(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomtrueud ((__v4si)__A, (__v4si)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comlt_epu64(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomltuq ((__v2di)__A, (__v2di)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comle_epu64(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomleuq ((__v2di)__A, (__v2di)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comgt_epu64(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomgtuq ((__v2di)__A, (__v2di)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comge_epu64(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomgeuq ((__v2di)__A, (__v2di)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comeq_epu64(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomequq ((__v2di)__A, (__v2di)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comneq_epu64(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomnequq ((__v2di)__A, (__v2di)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comfalse_epu64(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomfalseuq ((__v2di)__A, (__v2di)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comtrue_epu64(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomtrueuq ((__v2di)__A, (__v2di)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comlt_epi8(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomltb ((__v16qi)__A, (__v16qi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comle_epi8(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomleb ((__v16qi)__A, (__v16qi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comgt_epi8(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomgtb ((__v16qi)__A, (__v16qi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comge_epi8(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomgeb ((__v16qi)__A, (__v16qi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comeq_epi8(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomeqb ((__v16qi)__A, (__v16qi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comneq_epi8(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomneqb ((__v16qi)__A, (__v16qi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comfalse_epi8(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomfalseb ((__v16qi)__A, (__v16qi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comtrue_epi8(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomtrueb ((__v16qi)__A, (__v16qi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comlt_epi16(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomltw ((__v8hi)__A, (__v8hi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comle_epi16(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomlew ((__v8hi)__A, (__v8hi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comgt_epi16(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomgtw ((__v8hi)__A, (__v8hi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comge_epi16(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomgew ((__v8hi)__A, (__v8hi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comeq_epi16(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomeqw ((__v8hi)__A, (__v8hi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comneq_epi16(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomneqw ((__v8hi)__A, (__v8hi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comfalse_epi16(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomfalsew ((__v8hi)__A, (__v8hi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comtrue_epi16(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomtruew ((__v8hi)__A, (__v8hi)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comlt_epi32(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomltd ((__v4si)__A, (__v4si)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comle_epi32(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomled ((__v4si)__A, (__v4si)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comgt_epi32(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomgtd ((__v4si)__A, (__v4si)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comge_epi32(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomged ((__v4si)__A, (__v4si)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comeq_epi32(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomeqd ((__v4si)__A, (__v4si)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comneq_epi32(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomneqd ((__v4si)__A, (__v4si)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comfalse_epi32(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomfalsed ((__v4si)__A, (__v4si)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comtrue_epi32(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomtrued ((__v4si)__A, (__v4si)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comlt_epi64(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomltq ((__v2di)__A, (__v2di)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comle_epi64(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomleq ((__v2di)__A, (__v2di)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comgt_epi64(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomgtq ((__v2di)__A, (__v2di)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comge_epi64(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomgeq ((__v2di)__A, (__v2di)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comeq_epi64(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomeqq ((__v2di)__A, (__v2di)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comneq_epi64(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomneqq ((__v2di)__A, (__v2di)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comfalse_epi64(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomfalseq ((__v2di)__A, (__v2di)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_comtrue_epi64(__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vpcomtrueq ((__v2di)__A, (__v2di)__B); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_frcz_ps (__m128 __A) { return (__m128) __builtin_ia32_vfrczps ((__v4sf)__A); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_frcz_pd (__m128d __A) { return (__m128d) __builtin_ia32_vfrczpd ((__v2df)__A); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_frcz_ss (__m128 __A, __m128 __B) { return (__m128) __builtin_ia32_movss ((__v4sf)__A, (__v4sf) __builtin_ia32_vfrczss ((__v4sf)__B)); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_frcz_sd (__m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_movsd ((__v2df)__A, (__v2df) __builtin_ia32_vfrczsd ((__v2df)__B)); } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_frcz_ps (__m256 __A) { return (__m256) __builtin_ia32_vfrczps256 ((__v8sf)__A); } extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_frcz_pd (__m256d __A) { return (__m256d) __builtin_ia32_vfrczpd256 ((__v4df)__A); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_permute2_pd (__m128d __X, __m128d __Y, __m128i __C, const int __I) { return (__m128d) __builtin_ia32_vpermil2pd ((__v2df)__X, (__v2df)__Y, (__v2di)__C, __I); } extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_permute2_pd (__m256d __X, __m256d __Y, __m256i __C, const int __I) { return (__m256d) __builtin_ia32_vpermil2pd256 ((__v4df)__X, (__v4df)__Y, (__v4di)__C, __I); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_permute2_ps (__m128 __X, __m128 __Y, __m128i __C, const int __I) { return (__m128) __builtin_ia32_vpermil2ps ((__v4sf)__X, (__v4sf)__Y, (__v4si)__C, __I); } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_permute2_ps (__m256 __X, __m256 __Y, __m256i __C, const int __I) { return (__m256) __builtin_ia32_vpermil2ps256 ((__v8sf)__X, (__v8sf)__Y, (__v8si)__C, __I); } # 841 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/xopintrin.h" 3 4 #pragma GCC pop_options # 53 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/x86intrin.h" 2 3 4 # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/lwpintrin.h" 1 3 4 # 32 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/lwpintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("lwp") extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __llwpcb (void *pcbAddress) { __builtin_ia32_llwpcb (pcbAddress); } extern __inline void * __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __slwpcb (void) { return __builtin_ia32_slwpcb (); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __lwpval32 (unsigned int data2, unsigned int data1, unsigned int flags) { __builtin_ia32_lwpval32 (data2, data1, flags); } # 76 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/lwpintrin.h" 3 4 extern __inline unsigned char __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __lwpins32 (unsigned int data2, unsigned int data1, unsigned int flags) { return __builtin_ia32_lwpins32 (data2, data1, flags); } # 102 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/lwpintrin.h" 3 4 #pragma GCC pop_options # 55 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/x86intrin.h" 2 3 4 # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/bmiintrin.h" 1 3 4 # 57 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/x86intrin.h" 2 3 4 # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/bmi2intrin.h" 1 3 4 # 59 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/x86intrin.h" 2 3 4 # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/tbmintrin.h" 1 3 4 # 32 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/tbmintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("tbm") extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __bextri_u32 (unsigned int __X, const unsigned int __I) { return __builtin_ia32_bextri_u32 (__X, __I); } extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __blcfill_u32 (unsigned int __X) { return __X & (__X + 1); } extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __blci_u32 (unsigned int __X) { return __X | ~(__X + 1); } extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __blcic_u32 (unsigned int __X) { return ~__X & (__X + 1); } extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __blcmsk_u32 (unsigned int __X) { return __X ^ (__X + 1); } extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __blcs_u32 (unsigned int __X) { return __X | (__X + 1); } extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __blsfill_u32 (unsigned int __X) { return __X | (__X - 1); } extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __blsic_u32 (unsigned int __X) { return ~__X | (__X - 1); } extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __t1mskc_u32 (unsigned int __X) { return ~__X | (__X + 1); } extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __tzmsk_u32 (unsigned int __X) { return ~__X & (__X - 1); } # 177 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/tbmintrin.h" 3 4 #pragma GCC pop_options # 61 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/x86intrin.h" 2 3 4 # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/lzcntintrin.h" 1 3 4 # 63 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/x86intrin.h" 2 3 4 # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/rdseedintrin.h" 1 3 4 # 32 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/rdseedintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("rdseed") extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _rdseed16_step (unsigned short *p) { return __builtin_ia32_rdseed_hi_step (p); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _rdseed32_step (unsigned int *p) { return __builtin_ia32_rdseed_si_step (p); } # 63 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/rdseedintrin.h" 3 4 #pragma GCC pop_options # 67 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/x86intrin.h" 2 3 4 # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/prfchwintrin.h" 1 3 4 # 69 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/x86intrin.h" 2 3 4 # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/fxsrintrin.h" 1 3 4 # 32 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/fxsrintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("fxsr") extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _fxsave (void *__P) { return __builtin_ia32_fxsave (__P); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _fxrstor (void *__P) { return __builtin_ia32_fxrstor (__P); } # 69 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/fxsrintrin.h" 3 4 #pragma GCC pop_options # 71 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/x86intrin.h" 2 3 4 # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/xsaveintrin.h" 1 3 4 # 32 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/xsaveintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("xsave") extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _xsave (void *__P, long long __M) { return __builtin_ia32_xsave (__P, __M); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _xrstor (void *__P, long long __M) { return __builtin_ia32_xrstor (__P, __M); } # 69 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/xsaveintrin.h" 3 4 #pragma GCC pop_options # 73 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/x86intrin.h" 2 3 4 # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/xsaveoptintrin.h" 1 3 4 # 32 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/xsaveoptintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("xsaveopt") extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _xsaveopt (void *__P, long long __M) { return __builtin_ia32_xsaveopt (__P, __M); } # 55 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/xsaveoptintrin.h" 3 4 #pragma GCC pop_options # 75 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/x86intrin.h" 2 3 4 # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/adxintrin.h" 1 3 4 # 31 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/adxintrin.h" 3 4 extern __inline unsigned char __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _subborrow_u32 (unsigned char __CF, unsigned int __X, unsigned int __Y, unsigned int *__P) { return __builtin_ia32_sbb_u32 (__CF, __Y, __X, __P); } extern __inline unsigned char __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _addcarry_u32 (unsigned char __CF, unsigned int __X, unsigned int __Y, unsigned int *__P) { return __builtin_ia32_addcarryx_u32 (__CF, __X, __Y, __P); } extern __inline unsigned char __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _addcarryx_u32 (unsigned char __CF, unsigned int __X, unsigned int __Y, unsigned int *__P) { return __builtin_ia32_addcarryx_u32 (__CF, __X, __Y, __P); } # 77 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/x86intrin.h" 2 3 4 # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/clwbintrin.h" 1 3 4 # 32 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/clwbintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("clwb") extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_clwb (void *__A) { __builtin_ia32_clwb (__A); } #pragma GCC pop_options # 79 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/x86intrin.h" 2 3 4 # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/pcommitintrin.h" 1 3 4 # 32 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/pcommitintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("pcommit") extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_pcommit (void) { __builtin_ia32_pcommit (); } #pragma GCC pop_options # 81 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/x86intrin.h" 2 3 4 # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/clflushoptintrin.h" 1 3 4 # 32 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/clflushoptintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("clflushopt") extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_clflushopt (void *__A) { __builtin_ia32_clflushopt (__A); } #pragma GCC pop_options # 83 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/x86intrin.h" 2 3 4 # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/xsavesintrin.h" 1 3 4 # 32 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/xsavesintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("xsaves") extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _xsaves (void *__P, long long __M) { __builtin_ia32_xsaves (__P, __M); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _xrstors (void *__P, long long __M) { __builtin_ia32_xrstors (__P, __M); } # 69 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/xsavesintrin.h" 3 4 #pragma GCC pop_options # 85 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/x86intrin.h" 2 3 4 # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/xsavecintrin.h" 1 3 4 # 32 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/xsavecintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("xsavec") extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _xsavec (void *__P, long long __M) { __builtin_ia32_xsavec (__P, __M); } # 55 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/xsavecintrin.h" 3 4 #pragma GCC pop_options # 87 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/x86intrin.h" 2 3 4 # 34 "/usr/include/c++/5.0.0/i686-redhat-linux/bits/opt_random.h" 2 3 # 37 "/usr/include/c++/5.0.0/i686-redhat-linux/bits/opt_random.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 215 "/usr/include/c++/5.0.0/i686-redhat-linux/bits/opt_random.h" 3 } # 51 "/usr/include/c++/5.0.0/random" 2 3 # 1 "/usr/include/c++/5.0.0/bits/random.tcc" 1 3 # 33 "/usr/include/c++/5.0.0/bits/random.tcc" 3 # 1 "/usr/include/c++/5.0.0/numeric" 1 3 # 58 "/usr/include/c++/5.0.0/numeric" 3 # 59 "/usr/include/c++/5.0.0/numeric" 3 # 1 "/usr/include/c++/5.0.0/bits/stl_numeric.h" 1 3 # 65 "/usr/include/c++/5.0.0/bits/stl_numeric.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 80 "/usr/include/c++/5.0.0/bits/stl_numeric.h" 3 template void iota(_ForwardIterator __first, _ForwardIterator __last, _Tp __value) { ; for (; __first != __last; ++__first) { *__first = __value; ++__value; } } } namespace std __attribute__ ((__visibility__ ("default"))) { # 118 "/usr/include/c++/5.0.0/bits/stl_numeric.h" 3 template inline _Tp accumulate(_InputIterator __first, _InputIterator __last, _Tp __init) { ; for (; __first != __last; ++__first) __init = __init + *__first; return __init; } # 144 "/usr/include/c++/5.0.0/bits/stl_numeric.h" 3 template inline _Tp accumulate(_InputIterator __first, _InputIterator __last, _Tp __init, _BinaryOperation __binary_op) { ; for (; __first != __last; ++__first) __init = __binary_op(__init, *__first); return __init; } # 172 "/usr/include/c++/5.0.0/bits/stl_numeric.h" 3 template inline _Tp inner_product(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _Tp __init) { ; for (; __first1 != __last1; ++__first1, ++__first2) __init = __init + (*__first1 * *__first2); return __init; } # 203 "/usr/include/c++/5.0.0/bits/stl_numeric.h" 3 template inline _Tp inner_product(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _Tp __init, _BinaryOperation1 __binary_op1, _BinaryOperation2 __binary_op2) { ; for (; __first1 != __last1; ++__first1, ++__first2) __init = __binary_op1(__init, __binary_op2(*__first1, *__first2)); return __init; } # 235 "/usr/include/c++/5.0.0/bits/stl_numeric.h" 3 template _OutputIterator partial_sum(_InputIterator __first, _InputIterator __last, _OutputIterator __result) { typedef typename iterator_traits<_InputIterator>::value_type _ValueType; ; if (__first == __last) return __result; _ValueType __value = *__first; *__result = __value; while (++__first != __last) { __value = __value + *__first; *++__result = __value; } return ++__result; } # 275 "/usr/include/c++/5.0.0/bits/stl_numeric.h" 3 template _OutputIterator partial_sum(_InputIterator __first, _InputIterator __last, _OutputIterator __result, _BinaryOperation __binary_op) { typedef typename iterator_traits<_InputIterator>::value_type _ValueType; ; if (__first == __last) return __result; _ValueType __value = *__first; *__result = __value; while (++__first != __last) { __value = __binary_op(__value, *__first); *++__result = __value; } return ++__result; } # 315 "/usr/include/c++/5.0.0/bits/stl_numeric.h" 3 template _OutputIterator adjacent_difference(_InputIterator __first, _InputIterator __last, _OutputIterator __result) { typedef typename iterator_traits<_InputIterator>::value_type _ValueType; ; if (__first == __last) return __result; _ValueType __value = *__first; *__result = __value; while (++__first != __last) { _ValueType __tmp = *__first; *++__result = __tmp - __value; __value = std::move(__tmp); } return ++__result; } # 357 "/usr/include/c++/5.0.0/bits/stl_numeric.h" 3 template _OutputIterator adjacent_difference(_InputIterator __first, _InputIterator __last, _OutputIterator __result, _BinaryOperation __binary_op) { typedef typename iterator_traits<_InputIterator>::value_type _ValueType; ; if (__first == __last) return __result; _ValueType __value = *__first; *__result = __value; while (++__first != __last) { _ValueType __tmp = *__first; *++__result = __binary_op(__tmp, __value); __value = std::move(__tmp); } return ++__result; } } # 63 "/usr/include/c++/5.0.0/numeric" 2 3 # 34 "/usr/include/c++/5.0.0/bits/random.tcc" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { namespace __detail { template _Tp _Mod<_Tp, __m, __a, __c, false, true>:: __calc(_Tp __x) { if (__a == 1) __x %= __m; else { static const _Tp __q = __m / __a; static const _Tp __r = __m % __a; _Tp __t1 = __a * (__x % __q); _Tp __t2 = __r * (__x / __q); if (__t1 >= __t2) __x = __t1 - __t2; else __x = __m - __t2 + __t1; } if (__c != 0) { const _Tp __d = __m - __x; if (__d > __c) __x += __c; else __x = __c - __d; } return __x; } template _OutputIterator __normalize(_InputIterator __first, _InputIterator __last, _OutputIterator __result, const _Tp& __factor) { for (; __first != __last; ++__first, ++__result) *__result = *__first / __factor; return __result; } } template constexpr _UIntType linear_congruential_engine<_UIntType, __a, __c, __m>::multiplier; template constexpr _UIntType linear_congruential_engine<_UIntType, __a, __c, __m>::increment; template constexpr _UIntType linear_congruential_engine<_UIntType, __a, __c, __m>::modulus; template constexpr _UIntType linear_congruential_engine<_UIntType, __a, __c, __m>::default_seed; template void linear_congruential_engine<_UIntType, __a, __c, __m>:: seed(result_type __s) { if ((__detail::__mod<_UIntType, __m>(__c) == 0) && (__detail::__mod<_UIntType, __m>(__s) == 0)) _M_x = 1; else _M_x = __detail::__mod<_UIntType, __m>(__s); } template template typename std::enable_if::value>::type linear_congruential_engine<_UIntType, __a, __c, __m>:: seed(_Sseq& __q) { const _UIntType __k0 = __m == 0 ? std::numeric_limits<_UIntType>::digits : std::__lg(__m); const _UIntType __k = (__k0 + 31) / 32; uint_least32_t __arr[__k + 3]; __q.generate(__arr + 0, __arr + __k + 3); _UIntType __factor = 1u; _UIntType __sum = 0u; for (size_t __j = 0; __j < __k; ++__j) { __sum += __arr[__j + 3] * __factor; __factor *= __detail::_Shift<_UIntType, 32>::__value; } seed(__sum); } template std::basic_ostream<_CharT, _Traits>& operator<<(std::basic_ostream<_CharT, _Traits>& __os, const linear_congruential_engine<_UIntType, __a, __c, __m>& __lcr) { typedef std::basic_ostream<_CharT, _Traits> __ostream_type; typedef typename __ostream_type::ios_base __ios_base; const typename __ios_base::fmtflags __flags = __os.flags(); const _CharT __fill = __os.fill(); __os.flags(__ios_base::dec | __ios_base::fixed | __ios_base::left); __os.fill(__os.widen(' ')); __os << __lcr._M_x; __os.flags(__flags); __os.fill(__fill); return __os; } template std::basic_istream<_CharT, _Traits>& operator>>(std::basic_istream<_CharT, _Traits>& __is, linear_congruential_engine<_UIntType, __a, __c, __m>& __lcr) { typedef std::basic_istream<_CharT, _Traits> __istream_type; typedef typename __istream_type::ios_base __ios_base; const typename __ios_base::fmtflags __flags = __is.flags(); __is.flags(__ios_base::dec); __is >> __lcr._M_x; __is.flags(__flags); return __is; } template constexpr size_t mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>::word_size; template constexpr size_t mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>::state_size; template constexpr size_t mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>::shift_size; template constexpr size_t mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>::mask_bits; template constexpr _UIntType mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>::xor_mask; template constexpr size_t mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>::tempering_u; template constexpr _UIntType mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>::tempering_d; template constexpr size_t mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>::tempering_s; template constexpr _UIntType mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>::tempering_b; template constexpr size_t mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>::tempering_t; template constexpr _UIntType mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>::tempering_c; template constexpr size_t mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>::tempering_l; template constexpr _UIntType mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>:: initialization_multiplier; template constexpr _UIntType mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>::default_seed; template void mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>:: seed(result_type __sd) { _M_x[0] = __detail::__mod<_UIntType, __detail::_Shift<_UIntType, __w>::__value>(__sd); for (size_t __i = 1; __i < state_size; ++__i) { _UIntType __x = _M_x[__i - 1]; __x ^= __x >> (__w - 2); __x *= __f; __x += __detail::__mod<_UIntType, __n>(__i); _M_x[__i] = __detail::__mod<_UIntType, __detail::_Shift<_UIntType, __w>::__value>(__x); } _M_p = state_size; } template template typename std::enable_if::value>::type mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>:: seed(_Sseq& __q) { const _UIntType __upper_mask = (~_UIntType()) << __r; const size_t __k = (__w + 31) / 32; uint_least32_t __arr[__n * __k]; __q.generate(__arr + 0, __arr + __n * __k); bool __zero = true; for (size_t __i = 0; __i < state_size; ++__i) { _UIntType __factor = 1u; _UIntType __sum = 0u; for (size_t __j = 0; __j < __k; ++__j) { __sum += __arr[__k * __i + __j] * __factor; __factor *= __detail::_Shift<_UIntType, 32>::__value; } _M_x[__i] = __detail::__mod<_UIntType, __detail::_Shift<_UIntType, __w>::__value>(__sum); if (__zero) { if (__i == 0) { if ((_M_x[0] & __upper_mask) != 0u) __zero = false; } else if (_M_x[__i] != 0u) __zero = false; } } if (__zero) _M_x[0] = __detail::_Shift<_UIntType, __w - 1>::__value; _M_p = state_size; } template void mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>:: _M_gen_rand(void) { const _UIntType __upper_mask = (~_UIntType()) << __r; const _UIntType __lower_mask = ~__upper_mask; for (size_t __k = 0; __k < (__n - __m); ++__k) { _UIntType __y = ((_M_x[__k] & __upper_mask) | (_M_x[__k + 1] & __lower_mask)); _M_x[__k] = (_M_x[__k + __m] ^ (__y >> 1) ^ ((__y & 0x01) ? __a : 0)); } for (size_t __k = (__n - __m); __k < (__n - 1); ++__k) { _UIntType __y = ((_M_x[__k] & __upper_mask) | (_M_x[__k + 1] & __lower_mask)); _M_x[__k] = (_M_x[__k + (__m - __n)] ^ (__y >> 1) ^ ((__y & 0x01) ? __a : 0)); } _UIntType __y = ((_M_x[__n - 1] & __upper_mask) | (_M_x[0] & __lower_mask)); _M_x[__n - 1] = (_M_x[__m - 1] ^ (__y >> 1) ^ ((__y & 0x01) ? __a : 0)); _M_p = 0; } template void mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>:: discard(unsigned long long __z) { while (__z > state_size - _M_p) { __z -= state_size - _M_p; _M_gen_rand(); } _M_p += __z; } template typename mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>::result_type mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>:: operator()() { if (_M_p >= state_size) _M_gen_rand(); result_type __z = _M_x[_M_p++]; __z ^= (__z >> __u) & __d; __z ^= (__z << __s) & __b; __z ^= (__z << __t) & __c; __z ^= (__z >> __l); return __z; } template std::basic_ostream<_CharT, _Traits>& operator<<(std::basic_ostream<_CharT, _Traits>& __os, const mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>& __x) { typedef std::basic_ostream<_CharT, _Traits> __ostream_type; typedef typename __ostream_type::ios_base __ios_base; const typename __ios_base::fmtflags __flags = __os.flags(); const _CharT __fill = __os.fill(); const _CharT __space = __os.widen(' '); __os.flags(__ios_base::dec | __ios_base::fixed | __ios_base::left); __os.fill(__space); for (size_t __i = 0; __i < __n; ++__i) __os << __x._M_x[__i] << __space; __os << __x._M_p; __os.flags(__flags); __os.fill(__fill); return __os; } template std::basic_istream<_CharT, _Traits>& operator>>(std::basic_istream<_CharT, _Traits>& __is, mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>& __x) { typedef std::basic_istream<_CharT, _Traits> __istream_type; typedef typename __istream_type::ios_base __ios_base; const typename __ios_base::fmtflags __flags = __is.flags(); __is.flags(__ios_base::dec | __ios_base::skipws); for (size_t __i = 0; __i < __n; ++__i) __is >> __x._M_x[__i]; __is >> __x._M_p; __is.flags(__flags); return __is; } template constexpr size_t subtract_with_carry_engine<_UIntType, __w, __s, __r>::word_size; template constexpr size_t subtract_with_carry_engine<_UIntType, __w, __s, __r>::short_lag; template constexpr size_t subtract_with_carry_engine<_UIntType, __w, __s, __r>::long_lag; template constexpr _UIntType subtract_with_carry_engine<_UIntType, __w, __s, __r>::default_seed; template void subtract_with_carry_engine<_UIntType, __w, __s, __r>:: seed(result_type __value) { std::linear_congruential_engine __lcg(__value == 0u ? default_seed : __value); const size_t __n = (__w + 31) / 32; for (size_t __i = 0; __i < long_lag; ++__i) { _UIntType __sum = 0u; _UIntType __factor = 1u; for (size_t __j = 0; __j < __n; ++__j) { __sum += __detail::__mod::__value> (__lcg()) * __factor; __factor *= __detail::_Shift<_UIntType, 32>::__value; } _M_x[__i] = __detail::__mod<_UIntType, __detail::_Shift<_UIntType, __w>::__value>(__sum); } _M_carry = (_M_x[long_lag - 1] == 0) ? 1 : 0; _M_p = 0; } template template typename std::enable_if::value>::type subtract_with_carry_engine<_UIntType, __w, __s, __r>:: seed(_Sseq& __q) { const size_t __k = (__w + 31) / 32; uint_least32_t __arr[__r * __k]; __q.generate(__arr + 0, __arr + __r * __k); for (size_t __i = 0; __i < long_lag; ++__i) { _UIntType __sum = 0u; _UIntType __factor = 1u; for (size_t __j = 0; __j < __k; ++__j) { __sum += __arr[__k * __i + __j] * __factor; __factor *= __detail::_Shift<_UIntType, 32>::__value; } _M_x[__i] = __detail::__mod<_UIntType, __detail::_Shift<_UIntType, __w>::__value>(__sum); } _M_carry = (_M_x[long_lag - 1] == 0) ? 1 : 0; _M_p = 0; } template typename subtract_with_carry_engine<_UIntType, __w, __s, __r>:: result_type subtract_with_carry_engine<_UIntType, __w, __s, __r>:: operator()() { long __ps = _M_p - short_lag; if (__ps < 0) __ps += long_lag; _UIntType __xi; if (_M_x[__ps] >= _M_x[_M_p] + _M_carry) { __xi = _M_x[__ps] - _M_x[_M_p] - _M_carry; _M_carry = 0; } else { __xi = (__detail::_Shift<_UIntType, __w>::__value - _M_x[_M_p] - _M_carry + _M_x[__ps]); _M_carry = 1; } _M_x[_M_p] = __xi; if (++_M_p >= long_lag) _M_p = 0; return __xi; } template std::basic_ostream<_CharT, _Traits>& operator<<(std::basic_ostream<_CharT, _Traits>& __os, const subtract_with_carry_engine<_UIntType, __w, __s, __r>& __x) { typedef std::basic_ostream<_CharT, _Traits> __ostream_type; typedef typename __ostream_type::ios_base __ios_base; const typename __ios_base::fmtflags __flags = __os.flags(); const _CharT __fill = __os.fill(); const _CharT __space = __os.widen(' '); __os.flags(__ios_base::dec | __ios_base::fixed | __ios_base::left); __os.fill(__space); for (size_t __i = 0; __i < __r; ++__i) __os << __x._M_x[__i] << __space; __os << __x._M_carry << __space << __x._M_p; __os.flags(__flags); __os.fill(__fill); return __os; } template std::basic_istream<_CharT, _Traits>& operator>>(std::basic_istream<_CharT, _Traits>& __is, subtract_with_carry_engine<_UIntType, __w, __s, __r>& __x) { typedef std::basic_ostream<_CharT, _Traits> __istream_type; typedef typename __istream_type::ios_base __ios_base; const typename __ios_base::fmtflags __flags = __is.flags(); __is.flags(__ios_base::dec | __ios_base::skipws); for (size_t __i = 0; __i < __r; ++__i) __is >> __x._M_x[__i]; __is >> __x._M_carry; __is >> __x._M_p; __is.flags(__flags); return __is; } template constexpr size_t discard_block_engine<_RandomNumberEngine, __p, __r>::block_size; template constexpr size_t discard_block_engine<_RandomNumberEngine, __p, __r>::used_block; template typename discard_block_engine<_RandomNumberEngine, __p, __r>::result_type discard_block_engine<_RandomNumberEngine, __p, __r>:: operator()() { if (_M_n >= used_block) { _M_b.discard(block_size - _M_n); _M_n = 0; } ++_M_n; return _M_b(); } template std::basic_ostream<_CharT, _Traits>& operator<<(std::basic_ostream<_CharT, _Traits>& __os, const discard_block_engine<_RandomNumberEngine, __p, __r>& __x) { typedef std::basic_ostream<_CharT, _Traits> __ostream_type; typedef typename __ostream_type::ios_base __ios_base; const typename __ios_base::fmtflags __flags = __os.flags(); const _CharT __fill = __os.fill(); const _CharT __space = __os.widen(' '); __os.flags(__ios_base::dec | __ios_base::fixed | __ios_base::left); __os.fill(__space); __os << __x.base() << __space << __x._M_n; __os.flags(__flags); __os.fill(__fill); return __os; } template std::basic_istream<_CharT, _Traits>& operator>>(std::basic_istream<_CharT, _Traits>& __is, discard_block_engine<_RandomNumberEngine, __p, __r>& __x) { typedef std::basic_istream<_CharT, _Traits> __istream_type; typedef typename __istream_type::ios_base __ios_base; const typename __ios_base::fmtflags __flags = __is.flags(); __is.flags(__ios_base::dec | __ios_base::skipws); __is >> __x._M_b >> __x._M_n; __is.flags(__flags); return __is; } template typename independent_bits_engine<_RandomNumberEngine, __w, _UIntType>:: result_type independent_bits_engine<_RandomNumberEngine, __w, _UIntType>:: operator()() { typedef typename _RandomNumberEngine::result_type _Eresult_type; const _Eresult_type __r = (_M_b.max() - _M_b.min() < std::numeric_limits<_Eresult_type>::max() ? _M_b.max() - _M_b.min() + 1 : 0); const unsigned __edig = std::numeric_limits<_Eresult_type>::digits; const unsigned __m = __r ? std::__lg(__r) : __edig; typedef typename std::common_type<_Eresult_type, result_type>::type __ctype; const unsigned __cdig = std::numeric_limits<__ctype>::digits; unsigned __n, __n0; __ctype __s0, __s1, __y0, __y1; for (size_t __i = 0; __i < 2; ++__i) { __n = (__w + __m - 1) / __m + __i; __n0 = __n - __w % __n; const unsigned __w0 = __w / __n; __s0 = 0; __s1 = 0; if (__w0 < __cdig) { __s0 = __ctype(1) << __w0; __s1 = __s0 << 1; } __y0 = 0; __y1 = 0; if (__r) { __y0 = __s0 * (__r / __s0); if (__s1) __y1 = __s1 * (__r / __s1); if (__r - __y0 <= __y0 / __n) break; } else break; } result_type __sum = 0; for (size_t __k = 0; __k < __n0; ++__k) { __ctype __u; do __u = _M_b() - _M_b.min(); while (__y0 && __u >= __y0); __sum = __s0 * __sum + (__s0 ? __u % __s0 : __u); } for (size_t __k = __n0; __k < __n; ++__k) { __ctype __u; do __u = _M_b() - _M_b.min(); while (__y1 && __u >= __y1); __sum = __s1 * __sum + (__s1 ? __u % __s1 : __u); } return __sum; } template constexpr size_t shuffle_order_engine<_RandomNumberEngine, __k>::table_size; template typename shuffle_order_engine<_RandomNumberEngine, __k>::result_type shuffle_order_engine<_RandomNumberEngine, __k>:: operator()() { size_t __j = __k * ((_M_y - _M_b.min()) / (_M_b.max() - _M_b.min() + 1.0L)); _M_y = _M_v[__j]; _M_v[__j] = _M_b(); return _M_y; } template std::basic_ostream<_CharT, _Traits>& operator<<(std::basic_ostream<_CharT, _Traits>& __os, const shuffle_order_engine<_RandomNumberEngine, __k>& __x) { typedef std::basic_ostream<_CharT, _Traits> __ostream_type; typedef typename __ostream_type::ios_base __ios_base; const typename __ios_base::fmtflags __flags = __os.flags(); const _CharT __fill = __os.fill(); const _CharT __space = __os.widen(' '); __os.flags(__ios_base::dec | __ios_base::fixed | __ios_base::left); __os.fill(__space); __os << __x.base(); for (size_t __i = 0; __i < __k; ++__i) __os << __space << __x._M_v[__i]; __os << __space << __x._M_y; __os.flags(__flags); __os.fill(__fill); return __os; } template std::basic_istream<_CharT, _Traits>& operator>>(std::basic_istream<_CharT, _Traits>& __is, shuffle_order_engine<_RandomNumberEngine, __k>& __x) { typedef std::basic_istream<_CharT, _Traits> __istream_type; typedef typename __istream_type::ios_base __ios_base; const typename __ios_base::fmtflags __flags = __is.flags(); __is.flags(__ios_base::dec | __ios_base::skipws); __is >> __x._M_b; for (size_t __i = 0; __i < __k; ++__i) __is >> __x._M_v[__i]; __is >> __x._M_y; __is.flags(__flags); return __is; } template template typename uniform_int_distribution<_IntType>::result_type uniform_int_distribution<_IntType>:: operator()(_UniformRandomNumberGenerator& __urng, const param_type& __param) { typedef typename _UniformRandomNumberGenerator::result_type _Gresult_type; typedef typename std::make_unsigned::type __utype; typedef typename std::common_type<_Gresult_type, __utype>::type __uctype; const __uctype __urngmin = __urng.min(); const __uctype __urngmax = __urng.max(); const __uctype __urngrange = __urngmax - __urngmin; const __uctype __urange = __uctype(__param.b()) - __uctype(__param.a()); __uctype __ret; if (__urngrange > __urange) { const __uctype __uerange = __urange + 1; const __uctype __scaling = __urngrange / __uerange; const __uctype __past = __uerange * __scaling; do __ret = __uctype(__urng()) - __urngmin; while (__ret >= __past); __ret /= __scaling; } else if (__urngrange < __urange) { # 924 "/usr/include/c++/5.0.0/bits/random.tcc" 3 __uctype __tmp; do { const __uctype __uerngrange = __urngrange + 1; __tmp = (__uerngrange * operator() (__urng, param_type(0, __urange / __uerngrange))); __ret = __tmp + (__uctype(__urng()) - __urngmin); } while (__ret > __urange || __ret < __tmp); } else __ret = __uctype(__urng()) - __urngmin; return __ret + __param.a(); } template template void uniform_int_distribution<_IntType>:: __generate_impl(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng, const param_type& __param) { typedef typename _UniformRandomNumberGenerator::result_type _Gresult_type; typedef typename std::make_unsigned::type __utype; typedef typename std::common_type<_Gresult_type, __utype>::type __uctype; const __uctype __urngmin = __urng.min(); const __uctype __urngmax = __urng.max(); const __uctype __urngrange = __urngmax - __urngmin; const __uctype __urange = __uctype(__param.b()) - __uctype(__param.a()); __uctype __ret; if (__urngrange > __urange) { if (__detail::_Power_of_2(__urngrange + 1) && __detail::_Power_of_2(__urange + 1)) { while (__f != __t) { __ret = __uctype(__urng()) - __urngmin; *__f++ = (__ret & __urange) + __param.a(); } } else { const __uctype __uerange = __urange + 1; const __uctype __scaling = __urngrange / __uerange; const __uctype __past = __uerange * __scaling; while (__f != __t) { do __ret = __uctype(__urng()) - __urngmin; while (__ret >= __past); *__f++ = __ret / __scaling + __param.a(); } } } else if (__urngrange < __urange) { # 1008 "/usr/include/c++/5.0.0/bits/random.tcc" 3 __uctype __tmp; while (__f != __t) { do { const __uctype __uerngrange = __urngrange + 1; __tmp = (__uerngrange * operator() (__urng, param_type(0, __urange / __uerngrange))); __ret = __tmp + (__uctype(__urng()) - __urngmin); } while (__ret > __urange || __ret < __tmp); *__f++ = __ret; } } else while (__f != __t) *__f++ = __uctype(__urng()) - __urngmin + __param.a(); } template std::basic_ostream<_CharT, _Traits>& operator<<(std::basic_ostream<_CharT, _Traits>& __os, const uniform_int_distribution<_IntType>& __x) { typedef std::basic_ostream<_CharT, _Traits> __ostream_type; typedef typename __ostream_type::ios_base __ios_base; const typename __ios_base::fmtflags __flags = __os.flags(); const _CharT __fill = __os.fill(); const _CharT __space = __os.widen(' '); __os.flags(__ios_base::scientific | __ios_base::left); __os.fill(__space); __os << __x.a() << __space << __x.b(); __os.flags(__flags); __os.fill(__fill); return __os; } template std::basic_istream<_CharT, _Traits>& operator>>(std::basic_istream<_CharT, _Traits>& __is, uniform_int_distribution<_IntType>& __x) { typedef std::basic_istream<_CharT, _Traits> __istream_type; typedef typename __istream_type::ios_base __ios_base; const typename __ios_base::fmtflags __flags = __is.flags(); __is.flags(__ios_base::dec | __ios_base::skipws); _IntType __a, __b; __is >> __a >> __b; __x.param(typename uniform_int_distribution<_IntType>:: param_type(__a, __b)); __is.flags(__flags); return __is; } template template void uniform_real_distribution<_RealType>:: __generate_impl(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng, const param_type& __p) { __detail::_Adaptor<_UniformRandomNumberGenerator, result_type> __aurng(__urng); auto __range = __p.b() - __p.a(); while (__f != __t) *__f++ = __aurng() * __range + __p.a(); } template std::basic_ostream<_CharT, _Traits>& operator<<(std::basic_ostream<_CharT, _Traits>& __os, const uniform_real_distribution<_RealType>& __x) { typedef std::basic_ostream<_CharT, _Traits> __ostream_type; typedef typename __ostream_type::ios_base __ios_base; const typename __ios_base::fmtflags __flags = __os.flags(); const _CharT __fill = __os.fill(); const std::streamsize __precision = __os.precision(); const _CharT __space = __os.widen(' '); __os.flags(__ios_base::scientific | __ios_base::left); __os.fill(__space); __os.precision(std::numeric_limits<_RealType>::max_digits10); __os << __x.a() << __space << __x.b(); __os.flags(__flags); __os.fill(__fill); __os.precision(__precision); return __os; } template std::basic_istream<_CharT, _Traits>& operator>>(std::basic_istream<_CharT, _Traits>& __is, uniform_real_distribution<_RealType>& __x) { typedef std::basic_istream<_CharT, _Traits> __istream_type; typedef typename __istream_type::ios_base __ios_base; const typename __ios_base::fmtflags __flags = __is.flags(); __is.flags(__ios_base::skipws); _RealType __a, __b; __is >> __a >> __b; __x.param(typename uniform_real_distribution<_RealType>:: param_type(__a, __b)); __is.flags(__flags); return __is; } template void std::bernoulli_distribution:: __generate_impl(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng, const param_type& __p) { __detail::_Adaptor<_UniformRandomNumberGenerator, double> __aurng(__urng); auto __limit = __p.p() * (__aurng.max() - __aurng.min()); while (__f != __t) *__f++ = (__aurng() - __aurng.min()) < __limit; } template std::basic_ostream<_CharT, _Traits>& operator<<(std::basic_ostream<_CharT, _Traits>& __os, const bernoulli_distribution& __x) { typedef std::basic_ostream<_CharT, _Traits> __ostream_type; typedef typename __ostream_type::ios_base __ios_base; const typename __ios_base::fmtflags __flags = __os.flags(); const _CharT __fill = __os.fill(); const std::streamsize __precision = __os.precision(); __os.flags(__ios_base::scientific | __ios_base::left); __os.fill(__os.widen(' ')); __os.precision(std::numeric_limits::max_digits10); __os << __x.p(); __os.flags(__flags); __os.fill(__fill); __os.precision(__precision); return __os; } template template typename geometric_distribution<_IntType>::result_type geometric_distribution<_IntType>:: operator()(_UniformRandomNumberGenerator& __urng, const param_type& __param) { const double __naf = (1 - std::numeric_limits::epsilon()) / 2; const double __thr = std::numeric_limits<_IntType>::max() + __naf; __detail::_Adaptor<_UniformRandomNumberGenerator, double> __aurng(__urng); double __cand; do __cand = std::floor(std::log(1.0 - __aurng()) / __param._M_log_1_p); while (__cand >= __thr); return result_type(__cand + __naf); } template template void geometric_distribution<_IntType>:: __generate_impl(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng, const param_type& __param) { const double __naf = (1 - std::numeric_limits::epsilon()) / 2; const double __thr = std::numeric_limits<_IntType>::max() + __naf; __detail::_Adaptor<_UniformRandomNumberGenerator, double> __aurng(__urng); while (__f != __t) { double __cand; do __cand = std::floor(std::log(1.0 - __aurng()) / __param._M_log_1_p); while (__cand >= __thr); *__f++ = __cand + __naf; } } template std::basic_ostream<_CharT, _Traits>& operator<<(std::basic_ostream<_CharT, _Traits>& __os, const geometric_distribution<_IntType>& __x) { typedef std::basic_ostream<_CharT, _Traits> __ostream_type; typedef typename __ostream_type::ios_base __ios_base; const typename __ios_base::fmtflags __flags = __os.flags(); const _CharT __fill = __os.fill(); const std::streamsize __precision = __os.precision(); __os.flags(__ios_base::scientific | __ios_base::left); __os.fill(__os.widen(' ')); __os.precision(std::numeric_limits::max_digits10); __os << __x.p(); __os.flags(__flags); __os.fill(__fill); __os.precision(__precision); return __os; } template std::basic_istream<_CharT, _Traits>& operator>>(std::basic_istream<_CharT, _Traits>& __is, geometric_distribution<_IntType>& __x) { typedef std::basic_istream<_CharT, _Traits> __istream_type; typedef typename __istream_type::ios_base __ios_base; const typename __ios_base::fmtflags __flags = __is.flags(); __is.flags(__ios_base::skipws); double __p; __is >> __p; __x.param(typename geometric_distribution<_IntType>::param_type(__p)); __is.flags(__flags); return __is; } template template typename negative_binomial_distribution<_IntType>::result_type negative_binomial_distribution<_IntType>:: operator()(_UniformRandomNumberGenerator& __urng) { const double __y = _M_gd(__urng); std::poisson_distribution __poisson(__y); return __poisson(__urng); } template template typename negative_binomial_distribution<_IntType>::result_type negative_binomial_distribution<_IntType>:: operator()(_UniformRandomNumberGenerator& __urng, const param_type& __p) { typedef typename std::gamma_distribution::param_type param_type; const double __y = _M_gd(__urng, param_type(__p.k(), (1.0 - __p.p()) / __p.p())); std::poisson_distribution __poisson(__y); return __poisson(__urng); } template template void negative_binomial_distribution<_IntType>:: __generate_impl(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng) { while (__f != __t) { const double __y = _M_gd(__urng); std::poisson_distribution __poisson(__y); *__f++ = __poisson(__urng); } } template template void negative_binomial_distribution<_IntType>:: __generate_impl(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng, const param_type& __p) { typename std::gamma_distribution::param_type __p2(__p.k(), (1.0 - __p.p()) / __p.p()); while (__f != __t) { const double __y = _M_gd(__urng, __p2); std::poisson_distribution __poisson(__y); *__f++ = __poisson(__urng); } } template std::basic_ostream<_CharT, _Traits>& operator<<(std::basic_ostream<_CharT, _Traits>& __os, const negative_binomial_distribution<_IntType>& __x) { typedef std::basic_ostream<_CharT, _Traits> __ostream_type; typedef typename __ostream_type::ios_base __ios_base; const typename __ios_base::fmtflags __flags = __os.flags(); const _CharT __fill = __os.fill(); const std::streamsize __precision = __os.precision(); const _CharT __space = __os.widen(' '); __os.flags(__ios_base::scientific | __ios_base::left); __os.fill(__os.widen(' ')); __os.precision(std::numeric_limits::max_digits10); __os << __x.k() << __space << __x.p() << __space << __x._M_gd; __os.flags(__flags); __os.fill(__fill); __os.precision(__precision); return __os; } template std::basic_istream<_CharT, _Traits>& operator>>(std::basic_istream<_CharT, _Traits>& __is, negative_binomial_distribution<_IntType>& __x) { typedef std::basic_istream<_CharT, _Traits> __istream_type; typedef typename __istream_type::ios_base __ios_base; const typename __ios_base::fmtflags __flags = __is.flags(); __is.flags(__ios_base::skipws); _IntType __k; double __p; __is >> __k >> __p >> __x._M_gd; __x.param(typename negative_binomial_distribution<_IntType>:: param_type(__k, __p)); __is.flags(__flags); return __is; } template void poisson_distribution<_IntType>::param_type:: _M_initialize() { if (_M_mean >= 12) { const double __m = std::floor(_M_mean); _M_lm_thr = std::log(_M_mean); _M_lfm = std::lgamma(__m + 1); _M_sm = std::sqrt(__m); const double __pi_4 = 0.7853981633974483096156608458198757L; const double __dx = std::sqrt(2 * __m * std::log(32 * __m / __pi_4)); _M_d = std::round(std::max(6.0, std::min(__m, __dx))); const double __cx = 2 * __m + _M_d; _M_scx = std::sqrt(__cx / 2); _M_1cx = 1 / __cx; _M_c2b = std::sqrt(__pi_4 * __cx) * std::exp(_M_1cx); _M_cb = 2 * __cx * std::exp(-_M_d * _M_1cx * (1 + _M_d / 2)) / _M_d; } else _M_lm_thr = std::exp(-_M_mean); } # 1432 "/usr/include/c++/5.0.0/bits/random.tcc" 3 template template typename poisson_distribution<_IntType>::result_type poisson_distribution<_IntType>:: operator()(_UniformRandomNumberGenerator& __urng, const param_type& __param) { __detail::_Adaptor<_UniformRandomNumberGenerator, double> __aurng(__urng); if (__param.mean() >= 12) { double __x; const double __naf = (1 - std::numeric_limits::epsilon()) / 2; const double __thr = std::numeric_limits<_IntType>::max() + __naf; const double __m = std::floor(__param.mean()); const double __spi_2 = 1.2533141373155002512078826424055226L; const double __c1 = __param._M_sm * __spi_2; const double __c2 = __param._M_c2b + __c1; const double __c3 = __c2 + 1; const double __c4 = __c3 + 1; const double __e178 = 1.0129030479320018583185514777512983L; const double __c5 = __c4 + __e178; const double __c = __param._M_cb + __c5; const double __2cx = 2 * (2 * __m + __param._M_d); bool __reject = true; do { const double __u = __c * __aurng(); const double __e = -std::log(1.0 - __aurng()); double __w = 0.0; if (__u <= __c1) { const double __n = _M_nd(__urng); const double __y = -std::abs(__n) * __param._M_sm - 1; __x = std::floor(__y); __w = -__n * __n / 2; if (__x < -__m) continue; } else if (__u <= __c2) { const double __n = _M_nd(__urng); const double __y = 1 + std::abs(__n) * __param._M_scx; __x = std::ceil(__y); __w = __y * (2 - __y) * __param._M_1cx; if (__x > __param._M_d) continue; } else if (__u <= __c3) __x = -1; else if (__u <= __c4) __x = 0; else if (__u <= __c5) __x = 1; else { const double __v = -std::log(1.0 - __aurng()); const double __y = __param._M_d + __v * __2cx / __param._M_d; __x = std::ceil(__y); __w = -__param._M_d * __param._M_1cx * (1 + __y / 2); } __reject = (__w - __e - __x * __param._M_lm_thr > __param._M_lfm - std::lgamma(__x + __m + 1)); __reject |= __x + __m >= __thr; } while (__reject); return result_type(__x + __m + __naf); } else { _IntType __x = 0; double __prod = 1.0; do { __prod *= __aurng(); __x += 1; } while (__prod > __param._M_lm_thr); return __x - 1; } } template template void poisson_distribution<_IntType>:: __generate_impl(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng, const param_type& __param) { while (__f != __t) *__f++ = this->operator()(__urng, __param); } template std::basic_ostream<_CharT, _Traits>& operator<<(std::basic_ostream<_CharT, _Traits>& __os, const poisson_distribution<_IntType>& __x) { typedef std::basic_ostream<_CharT, _Traits> __ostream_type; typedef typename __ostream_type::ios_base __ios_base; const typename __ios_base::fmtflags __flags = __os.flags(); const _CharT __fill = __os.fill(); const std::streamsize __precision = __os.precision(); const _CharT __space = __os.widen(' '); __os.flags(__ios_base::scientific | __ios_base::left); __os.fill(__space); __os.precision(std::numeric_limits::max_digits10); __os << __x.mean() << __space << __x._M_nd; __os.flags(__flags); __os.fill(__fill); __os.precision(__precision); return __os; } template std::basic_istream<_CharT, _Traits>& operator>>(std::basic_istream<_CharT, _Traits>& __is, poisson_distribution<_IntType>& __x) { typedef std::basic_istream<_CharT, _Traits> __istream_type; typedef typename __istream_type::ios_base __ios_base; const typename __ios_base::fmtflags __flags = __is.flags(); __is.flags(__ios_base::skipws); double __mean; __is >> __mean >> __x._M_nd; __x.param(typename poisson_distribution<_IntType>::param_type(__mean)); __is.flags(__flags); return __is; } template void binomial_distribution<_IntType>::param_type:: _M_initialize() { const double __p12 = _M_p <= 0.5 ? _M_p : 1.0 - _M_p; _M_easy = true; if (_M_t * __p12 >= 8) { _M_easy = false; const double __np = std::floor(_M_t * __p12); const double __pa = __np / _M_t; const double __1p = 1 - __pa; const double __pi_4 = 0.7853981633974483096156608458198757L; const double __d1x = std::sqrt(__np * __1p * std::log(32 * __np / (81 * __pi_4 * __1p))); _M_d1 = std::round(std::max(1.0, __d1x)); const double __d2x = std::sqrt(__np * __1p * std::log(32 * _M_t * __1p / (__pi_4 * __pa))); _M_d2 = std::round(std::max(1.0, __d2x)); const double __spi_2 = 1.2533141373155002512078826424055226L; _M_s1 = std::sqrt(__np * __1p) * (1 + _M_d1 / (4 * __np)); _M_s2 = std::sqrt(__np * __1p) * (1 + _M_d2 / (4 * _M_t * __1p)); _M_c = 2 * _M_d1 / __np; _M_a1 = std::exp(_M_c) * _M_s1 * __spi_2; const double __a12 = _M_a1 + _M_s2 * __spi_2; const double __s1s = _M_s1 * _M_s1; _M_a123 = __a12 + (std::exp(_M_d1 / (_M_t * __1p)) * 2 * __s1s / _M_d1 * std::exp(-_M_d1 * _M_d1 / (2 * __s1s))); const double __s2s = _M_s2 * _M_s2; _M_s = (_M_a123 + 2 * __s2s / _M_d2 * std::exp(-_M_d2 * _M_d2 / (2 * __s2s))); _M_lf = (std::lgamma(__np + 1) + std::lgamma(_M_t - __np + 1)); _M_lp1p = std::log(__pa / __1p); _M_q = -std::log(1 - (__p12 - __pa) / __1p); } else _M_q = -std::log(1 - __p12); } template template typename binomial_distribution<_IntType>::result_type binomial_distribution<_IntType>:: _M_waiting(_UniformRandomNumberGenerator& __urng, _IntType __t, double __q) { _IntType __x = 0; double __sum = 0.0; __detail::_Adaptor<_UniformRandomNumberGenerator, double> __aurng(__urng); do { if (__t == __x) return __x; const double __e = -std::log(1.0 - __aurng()); __sum += __e / (__t - __x); __x += 1; } while (__sum <= __q); return __x - 1; } # 1682 "/usr/include/c++/5.0.0/bits/random.tcc" 3 template template typename binomial_distribution<_IntType>::result_type binomial_distribution<_IntType>:: operator()(_UniformRandomNumberGenerator& __urng, const param_type& __param) { result_type __ret; const _IntType __t = __param.t(); const double __p = __param.p(); const double __p12 = __p <= 0.5 ? __p : 1.0 - __p; __detail::_Adaptor<_UniformRandomNumberGenerator, double> __aurng(__urng); if (!__param._M_easy) { double __x; const double __naf = (1 - std::numeric_limits::epsilon()) / 2; const double __thr = std::numeric_limits<_IntType>::max() + __naf; const double __np = std::floor(__t * __p12); const double __spi_2 = 1.2533141373155002512078826424055226L; const double __a1 = __param._M_a1; const double __a12 = __a1 + __param._M_s2 * __spi_2; const double __a123 = __param._M_a123; const double __s1s = __param._M_s1 * __param._M_s1; const double __s2s = __param._M_s2 * __param._M_s2; bool __reject; do { const double __u = __param._M_s * __aurng(); double __v; if (__u <= __a1) { const double __n = _M_nd(__urng); const double __y = __param._M_s1 * std::abs(__n); __reject = __y >= __param._M_d1; if (!__reject) { const double __e = -std::log(1.0 - __aurng()); __x = std::floor(__y); __v = -__e - __n * __n / 2 + __param._M_c; } } else if (__u <= __a12) { const double __n = _M_nd(__urng); const double __y = __param._M_s2 * std::abs(__n); __reject = __y >= __param._M_d2; if (!__reject) { const double __e = -std::log(1.0 - __aurng()); __x = std::floor(-__y); __v = -__e - __n * __n / 2; } } else if (__u <= __a123) { const double __e1 = -std::log(1.0 - __aurng()); const double __e2 = -std::log(1.0 - __aurng()); const double __y = __param._M_d1 + 2 * __s1s * __e1 / __param._M_d1; __x = std::floor(__y); __v = (-__e2 + __param._M_d1 * (1 / (__t - __np) -__y / (2 * __s1s))); __reject = false; } else { const double __e1 = -std::log(1.0 - __aurng()); const double __e2 = -std::log(1.0 - __aurng()); const double __y = __param._M_d2 + 2 * __s2s * __e1 / __param._M_d2; __x = std::floor(-__y); __v = -__e2 - __param._M_d2 * __y / (2 * __s2s); __reject = false; } __reject = __reject || __x < -__np || __x > __t - __np; if (!__reject) { const double __lfx = std::lgamma(__np + __x + 1) + std::lgamma(__t - (__np + __x) + 1); __reject = __v > __param._M_lf - __lfx + __x * __param._M_lp1p; } __reject |= __x + __np >= __thr; } while (__reject); __x += __np + __naf; const _IntType __z = _M_waiting(__urng, __t - _IntType(__x), __param._M_q); __ret = _IntType(__x) + __z; } else __ret = _M_waiting(__urng, __t, __param._M_q); if (__p12 != __p) __ret = __t - __ret; return __ret; } template template void binomial_distribution<_IntType>:: __generate_impl(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng, const param_type& __param) { while (__f != __t) *__f++ = this->operator()(__urng, __param); } template std::basic_ostream<_CharT, _Traits>& operator<<(std::basic_ostream<_CharT, _Traits>& __os, const binomial_distribution<_IntType>& __x) { typedef std::basic_ostream<_CharT, _Traits> __ostream_type; typedef typename __ostream_type::ios_base __ios_base; const typename __ios_base::fmtflags __flags = __os.flags(); const _CharT __fill = __os.fill(); const std::streamsize __precision = __os.precision(); const _CharT __space = __os.widen(' '); __os.flags(__ios_base::scientific | __ios_base::left); __os.fill(__space); __os.precision(std::numeric_limits::max_digits10); __os << __x.t() << __space << __x.p() << __space << __x._M_nd; __os.flags(__flags); __os.fill(__fill); __os.precision(__precision); return __os; } template std::basic_istream<_CharT, _Traits>& operator>>(std::basic_istream<_CharT, _Traits>& __is, binomial_distribution<_IntType>& __x) { typedef std::basic_istream<_CharT, _Traits> __istream_type; typedef typename __istream_type::ios_base __ios_base; const typename __ios_base::fmtflags __flags = __is.flags(); __is.flags(__ios_base::dec | __ios_base::skipws); _IntType __t; double __p; __is >> __t >> __p >> __x._M_nd; __x.param(typename binomial_distribution<_IntType>:: param_type(__t, __p)); __is.flags(__flags); return __is; } template template void std::exponential_distribution<_RealType>:: __generate_impl(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng, const param_type& __p) { __detail::_Adaptor<_UniformRandomNumberGenerator, result_type> __aurng(__urng); while (__f != __t) *__f++ = -std::log(result_type(1) - __aurng()) / __p.lambda(); } template std::basic_ostream<_CharT, _Traits>& operator<<(std::basic_ostream<_CharT, _Traits>& __os, const exponential_distribution<_RealType>& __x) { typedef std::basic_ostream<_CharT, _Traits> __ostream_type; typedef typename __ostream_type::ios_base __ios_base; const typename __ios_base::fmtflags __flags = __os.flags(); const _CharT __fill = __os.fill(); const std::streamsize __precision = __os.precision(); __os.flags(__ios_base::scientific | __ios_base::left); __os.fill(__os.widen(' ')); __os.precision(std::numeric_limits<_RealType>::max_digits10); __os << __x.lambda(); __os.flags(__flags); __os.fill(__fill); __os.precision(__precision); return __os; } template std::basic_istream<_CharT, _Traits>& operator>>(std::basic_istream<_CharT, _Traits>& __is, exponential_distribution<_RealType>& __x) { typedef std::basic_istream<_CharT, _Traits> __istream_type; typedef typename __istream_type::ios_base __ios_base; const typename __ios_base::fmtflags __flags = __is.flags(); __is.flags(__ios_base::dec | __ios_base::skipws); _RealType __lambda; __is >> __lambda; __x.param(typename exponential_distribution<_RealType>:: param_type(__lambda)); __is.flags(__flags); return __is; } # 1931 "/usr/include/c++/5.0.0/bits/random.tcc" 3 template template typename normal_distribution<_RealType>::result_type normal_distribution<_RealType>:: operator()(_UniformRandomNumberGenerator& __urng, const param_type& __param) { result_type __ret; __detail::_Adaptor<_UniformRandomNumberGenerator, result_type> __aurng(__urng); if (_M_saved_available) { _M_saved_available = false; __ret = _M_saved; } else { result_type __x, __y, __r2; do { __x = result_type(2.0) * __aurng() - 1.0; __y = result_type(2.0) * __aurng() - 1.0; __r2 = __x * __x + __y * __y; } while (__r2 > 1.0 || __r2 == 0.0); const result_type __mult = std::sqrt(-2 * std::log(__r2) / __r2); _M_saved = __x * __mult; _M_saved_available = true; __ret = __y * __mult; } __ret = __ret * __param.stddev() + __param.mean(); return __ret; } template template void normal_distribution<_RealType>:: __generate_impl(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng, const param_type& __param) { if (__f == __t) return; if (_M_saved_available) { _M_saved_available = false; *__f++ = _M_saved * __param.stddev() + __param.mean(); if (__f == __t) return; } __detail::_Adaptor<_UniformRandomNumberGenerator, result_type> __aurng(__urng); while (__f + 1 < __t) { result_type __x, __y, __r2; do { __x = result_type(2.0) * __aurng() - 1.0; __y = result_type(2.0) * __aurng() - 1.0; __r2 = __x * __x + __y * __y; } while (__r2 > 1.0 || __r2 == 0.0); const result_type __mult = std::sqrt(-2 * std::log(__r2) / __r2); *__f++ = __y * __mult * __param.stddev() + __param.mean(); *__f++ = __x * __mult * __param.stddev() + __param.mean(); } if (__f != __t) { result_type __x, __y, __r2; do { __x = result_type(2.0) * __aurng() - 1.0; __y = result_type(2.0) * __aurng() - 1.0; __r2 = __x * __x + __y * __y; } while (__r2 > 1.0 || __r2 == 0.0); const result_type __mult = std::sqrt(-2 * std::log(__r2) / __r2); _M_saved = __x * __mult; _M_saved_available = true; *__f = __y * __mult * __param.stddev() + __param.mean(); } } template bool operator==(const std::normal_distribution<_RealType>& __d1, const std::normal_distribution<_RealType>& __d2) { if (__d1._M_param == __d2._M_param && __d1._M_saved_available == __d2._M_saved_available) { if (__d1._M_saved_available && __d1._M_saved == __d2._M_saved) return true; else if(!__d1._M_saved_available) return true; else return false; } else return false; } template std::basic_ostream<_CharT, _Traits>& operator<<(std::basic_ostream<_CharT, _Traits>& __os, const normal_distribution<_RealType>& __x) { typedef std::basic_ostream<_CharT, _Traits> __ostream_type; typedef typename __ostream_type::ios_base __ios_base; const typename __ios_base::fmtflags __flags = __os.flags(); const _CharT __fill = __os.fill(); const std::streamsize __precision = __os.precision(); const _CharT __space = __os.widen(' '); __os.flags(__ios_base::scientific | __ios_base::left); __os.fill(__space); __os.precision(std::numeric_limits<_RealType>::max_digits10); __os << __x.mean() << __space << __x.stddev() << __space << __x._M_saved_available; if (__x._M_saved_available) __os << __space << __x._M_saved; __os.flags(__flags); __os.fill(__fill); __os.precision(__precision); return __os; } template std::basic_istream<_CharT, _Traits>& operator>>(std::basic_istream<_CharT, _Traits>& __is, normal_distribution<_RealType>& __x) { typedef std::basic_istream<_CharT, _Traits> __istream_type; typedef typename __istream_type::ios_base __ios_base; const typename __ios_base::fmtflags __flags = __is.flags(); __is.flags(__ios_base::dec | __ios_base::skipws); double __mean, __stddev; __is >> __mean >> __stddev >> __x._M_saved_available; if (__x._M_saved_available) __is >> __x._M_saved; __x.param(typename normal_distribution<_RealType>:: param_type(__mean, __stddev)); __is.flags(__flags); return __is; } template template void lognormal_distribution<_RealType>:: __generate_impl(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng, const param_type& __p) { while (__f != __t) *__f++ = std::exp(__p.s() * _M_nd(__urng) + __p.m()); } template std::basic_ostream<_CharT, _Traits>& operator<<(std::basic_ostream<_CharT, _Traits>& __os, const lognormal_distribution<_RealType>& __x) { typedef std::basic_ostream<_CharT, _Traits> __ostream_type; typedef typename __ostream_type::ios_base __ios_base; const typename __ios_base::fmtflags __flags = __os.flags(); const _CharT __fill = __os.fill(); const std::streamsize __precision = __os.precision(); const _CharT __space = __os.widen(' '); __os.flags(__ios_base::scientific | __ios_base::left); __os.fill(__space); __os.precision(std::numeric_limits<_RealType>::max_digits10); __os << __x.m() << __space << __x.s() << __space << __x._M_nd; __os.flags(__flags); __os.fill(__fill); __os.precision(__precision); return __os; } template std::basic_istream<_CharT, _Traits>& operator>>(std::basic_istream<_CharT, _Traits>& __is, lognormal_distribution<_RealType>& __x) { typedef std::basic_istream<_CharT, _Traits> __istream_type; typedef typename __istream_type::ios_base __ios_base; const typename __ios_base::fmtflags __flags = __is.flags(); __is.flags(__ios_base::dec | __ios_base::skipws); _RealType __m, __s; __is >> __m >> __s >> __x._M_nd; __x.param(typename lognormal_distribution<_RealType>:: param_type(__m, __s)); __is.flags(__flags); return __is; } template template void std::chi_squared_distribution<_RealType>:: __generate_impl(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng) { while (__f != __t) *__f++ = 2 * _M_gd(__urng); } template template void std::chi_squared_distribution<_RealType>:: __generate_impl(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng, const typename std::gamma_distribution::param_type& __p) { while (__f != __t) *__f++ = 2 * _M_gd(__urng, __p); } template std::basic_ostream<_CharT, _Traits>& operator<<(std::basic_ostream<_CharT, _Traits>& __os, const chi_squared_distribution<_RealType>& __x) { typedef std::basic_ostream<_CharT, _Traits> __ostream_type; typedef typename __ostream_type::ios_base __ios_base; const typename __ios_base::fmtflags __flags = __os.flags(); const _CharT __fill = __os.fill(); const std::streamsize __precision = __os.precision(); const _CharT __space = __os.widen(' '); __os.flags(__ios_base::scientific | __ios_base::left); __os.fill(__space); __os.precision(std::numeric_limits<_RealType>::max_digits10); __os << __x.n() << __space << __x._M_gd; __os.flags(__flags); __os.fill(__fill); __os.precision(__precision); return __os; } template std::basic_istream<_CharT, _Traits>& operator>>(std::basic_istream<_CharT, _Traits>& __is, chi_squared_distribution<_RealType>& __x) { typedef std::basic_istream<_CharT, _Traits> __istream_type; typedef typename __istream_type::ios_base __ios_base; const typename __ios_base::fmtflags __flags = __is.flags(); __is.flags(__ios_base::dec | __ios_base::skipws); _RealType __n; __is >> __n >> __x._M_gd; __x.param(typename chi_squared_distribution<_RealType>:: param_type(__n)); __is.flags(__flags); return __is; } template template typename cauchy_distribution<_RealType>::result_type cauchy_distribution<_RealType>:: operator()(_UniformRandomNumberGenerator& __urng, const param_type& __p) { __detail::_Adaptor<_UniformRandomNumberGenerator, result_type> __aurng(__urng); _RealType __u; do __u = __aurng(); while (__u == 0.5); const _RealType __pi = 3.1415926535897932384626433832795029L; return __p.a() + __p.b() * std::tan(__pi * __u); } template template void cauchy_distribution<_RealType>:: __generate_impl(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng, const param_type& __p) { const _RealType __pi = 3.1415926535897932384626433832795029L; __detail::_Adaptor<_UniformRandomNumberGenerator, result_type> __aurng(__urng); while (__f != __t) { _RealType __u; do __u = __aurng(); while (__u == 0.5); *__f++ = __p.a() + __p.b() * std::tan(__pi * __u); } } template std::basic_ostream<_CharT, _Traits>& operator<<(std::basic_ostream<_CharT, _Traits>& __os, const cauchy_distribution<_RealType>& __x) { typedef std::basic_ostream<_CharT, _Traits> __ostream_type; typedef typename __ostream_type::ios_base __ios_base; const typename __ios_base::fmtflags __flags = __os.flags(); const _CharT __fill = __os.fill(); const std::streamsize __precision = __os.precision(); const _CharT __space = __os.widen(' '); __os.flags(__ios_base::scientific | __ios_base::left); __os.fill(__space); __os.precision(std::numeric_limits<_RealType>::max_digits10); __os << __x.a() << __space << __x.b(); __os.flags(__flags); __os.fill(__fill); __os.precision(__precision); return __os; } template std::basic_istream<_CharT, _Traits>& operator>>(std::basic_istream<_CharT, _Traits>& __is, cauchy_distribution<_RealType>& __x) { typedef std::basic_istream<_CharT, _Traits> __istream_type; typedef typename __istream_type::ios_base __ios_base; const typename __ios_base::fmtflags __flags = __is.flags(); __is.flags(__ios_base::dec | __ios_base::skipws); _RealType __a, __b; __is >> __a >> __b; __x.param(typename cauchy_distribution<_RealType>:: param_type(__a, __b)); __is.flags(__flags); return __is; } template template void std::fisher_f_distribution<_RealType>:: __generate_impl(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng) { while (__f != __t) *__f++ = ((_M_gd_x(__urng) * n()) / (_M_gd_y(__urng) * m())); } template template void std::fisher_f_distribution<_RealType>:: __generate_impl(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng, const param_type& __p) { typedef typename std::gamma_distribution::param_type param_type; param_type __p1(__p.m() / 2); param_type __p2(__p.n() / 2); while (__f != __t) *__f++ = ((_M_gd_x(__urng, __p1) * n()) / (_M_gd_y(__urng, __p2) * m())); } template std::basic_ostream<_CharT, _Traits>& operator<<(std::basic_ostream<_CharT, _Traits>& __os, const fisher_f_distribution<_RealType>& __x) { typedef std::basic_ostream<_CharT, _Traits> __ostream_type; typedef typename __ostream_type::ios_base __ios_base; const typename __ios_base::fmtflags __flags = __os.flags(); const _CharT __fill = __os.fill(); const std::streamsize __precision = __os.precision(); const _CharT __space = __os.widen(' '); __os.flags(__ios_base::scientific | __ios_base::left); __os.fill(__space); __os.precision(std::numeric_limits<_RealType>::max_digits10); __os << __x.m() << __space << __x.n() << __space << __x._M_gd_x << __space << __x._M_gd_y; __os.flags(__flags); __os.fill(__fill); __os.precision(__precision); return __os; } template std::basic_istream<_CharT, _Traits>& operator>>(std::basic_istream<_CharT, _Traits>& __is, fisher_f_distribution<_RealType>& __x) { typedef std::basic_istream<_CharT, _Traits> __istream_type; typedef typename __istream_type::ios_base __ios_base; const typename __ios_base::fmtflags __flags = __is.flags(); __is.flags(__ios_base::dec | __ios_base::skipws); _RealType __m, __n; __is >> __m >> __n >> __x._M_gd_x >> __x._M_gd_y; __x.param(typename fisher_f_distribution<_RealType>:: param_type(__m, __n)); __is.flags(__flags); return __is; } template template void std::student_t_distribution<_RealType>:: __generate_impl(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng) { while (__f != __t) *__f++ = _M_nd(__urng) * std::sqrt(n() / _M_gd(__urng)); } template template void std::student_t_distribution<_RealType>:: __generate_impl(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng, const param_type& __p) { typename std::gamma_distribution::param_type __p2(__p.n() / 2, 2); while (__f != __t) *__f++ = _M_nd(__urng) * std::sqrt(__p.n() / _M_gd(__urng, __p2)); } template std::basic_ostream<_CharT, _Traits>& operator<<(std::basic_ostream<_CharT, _Traits>& __os, const student_t_distribution<_RealType>& __x) { typedef std::basic_ostream<_CharT, _Traits> __ostream_type; typedef typename __ostream_type::ios_base __ios_base; const typename __ios_base::fmtflags __flags = __os.flags(); const _CharT __fill = __os.fill(); const std::streamsize __precision = __os.precision(); const _CharT __space = __os.widen(' '); __os.flags(__ios_base::scientific | __ios_base::left); __os.fill(__space); __os.precision(std::numeric_limits<_RealType>::max_digits10); __os << __x.n() << __space << __x._M_nd << __space << __x._M_gd; __os.flags(__flags); __os.fill(__fill); __os.precision(__precision); return __os; } template std::basic_istream<_CharT, _Traits>& operator>>(std::basic_istream<_CharT, _Traits>& __is, student_t_distribution<_RealType>& __x) { typedef std::basic_istream<_CharT, _Traits> __istream_type; typedef typename __istream_type::ios_base __ios_base; const typename __ios_base::fmtflags __flags = __is.flags(); __is.flags(__ios_base::dec | __ios_base::skipws); _RealType __n; __is >> __n >> __x._M_nd >> __x._M_gd; __x.param(typename student_t_distribution<_RealType>::param_type(__n)); __is.flags(__flags); return __is; } template void gamma_distribution<_RealType>::param_type:: _M_initialize() { _M_malpha = _M_alpha < 1.0 ? _M_alpha + _RealType(1.0) : _M_alpha; const _RealType __a1 = _M_malpha - _RealType(1.0) / _RealType(3.0); _M_a2 = _RealType(1.0) / std::sqrt(_RealType(9.0) * __a1); } template template typename gamma_distribution<_RealType>::result_type gamma_distribution<_RealType>:: operator()(_UniformRandomNumberGenerator& __urng, const param_type& __param) { __detail::_Adaptor<_UniformRandomNumberGenerator, result_type> __aurng(__urng); result_type __u, __v, __n; const result_type __a1 = (__param._M_malpha - _RealType(1.0) / _RealType(3.0)); do { do { __n = _M_nd(__urng); __v = result_type(1.0) + __param._M_a2 * __n; } while (__v <= 0.0); __v = __v * __v * __v; __u = __aurng(); } while (__u > result_type(1.0) - 0.331 * __n * __n * __n * __n && (std::log(__u) > (0.5 * __n * __n + __a1 * (1.0 - __v + std::log(__v))))); if (__param.alpha() == __param._M_malpha) return __a1 * __v * __param.beta(); else { do __u = __aurng(); while (__u == 0.0); return (std::pow(__u, result_type(1.0) / __param.alpha()) * __a1 * __v * __param.beta()); } } template template void gamma_distribution<_RealType>:: __generate_impl(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng, const param_type& __param) { __detail::_Adaptor<_UniformRandomNumberGenerator, result_type> __aurng(__urng); result_type __u, __v, __n; const result_type __a1 = (__param._M_malpha - _RealType(1.0) / _RealType(3.0)); if (__param.alpha() == __param._M_malpha) while (__f != __t) { do { do { __n = _M_nd(__urng); __v = result_type(1.0) + __param._M_a2 * __n; } while (__v <= 0.0); __v = __v * __v * __v; __u = __aurng(); } while (__u > result_type(1.0) - 0.331 * __n * __n * __n * __n && (std::log(__u) > (0.5 * __n * __n + __a1 * (1.0 - __v + std::log(__v))))); *__f++ = __a1 * __v * __param.beta(); } else while (__f != __t) { do { do { __n = _M_nd(__urng); __v = result_type(1.0) + __param._M_a2 * __n; } while (__v <= 0.0); __v = __v * __v * __v; __u = __aurng(); } while (__u > result_type(1.0) - 0.331 * __n * __n * __n * __n && (std::log(__u) > (0.5 * __n * __n + __a1 * (1.0 - __v + std::log(__v))))); do __u = __aurng(); while (__u == 0.0); *__f++ = (std::pow(__u, result_type(1.0) / __param.alpha()) * __a1 * __v * __param.beta()); } } template std::basic_ostream<_CharT, _Traits>& operator<<(std::basic_ostream<_CharT, _Traits>& __os, const gamma_distribution<_RealType>& __x) { typedef std::basic_ostream<_CharT, _Traits> __ostream_type; typedef typename __ostream_type::ios_base __ios_base; const typename __ios_base::fmtflags __flags = __os.flags(); const _CharT __fill = __os.fill(); const std::streamsize __precision = __os.precision(); const _CharT __space = __os.widen(' '); __os.flags(__ios_base::scientific | __ios_base::left); __os.fill(__space); __os.precision(std::numeric_limits<_RealType>::max_digits10); __os << __x.alpha() << __space << __x.beta() << __space << __x._M_nd; __os.flags(__flags); __os.fill(__fill); __os.precision(__precision); return __os; } template std::basic_istream<_CharT, _Traits>& operator>>(std::basic_istream<_CharT, _Traits>& __is, gamma_distribution<_RealType>& __x) { typedef std::basic_istream<_CharT, _Traits> __istream_type; typedef typename __istream_type::ios_base __ios_base; const typename __ios_base::fmtflags __flags = __is.flags(); __is.flags(__ios_base::dec | __ios_base::skipws); _RealType __alpha_val, __beta_val; __is >> __alpha_val >> __beta_val >> __x._M_nd; __x.param(typename gamma_distribution<_RealType>:: param_type(__alpha_val, __beta_val)); __is.flags(__flags); return __is; } template template typename weibull_distribution<_RealType>::result_type weibull_distribution<_RealType>:: operator()(_UniformRandomNumberGenerator& __urng, const param_type& __p) { __detail::_Adaptor<_UniformRandomNumberGenerator, result_type> __aurng(__urng); return __p.b() * std::pow(-std::log(result_type(1) - __aurng()), result_type(1) / __p.a()); } template template void weibull_distribution<_RealType>:: __generate_impl(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng, const param_type& __p) { __detail::_Adaptor<_UniformRandomNumberGenerator, result_type> __aurng(__urng); auto __inv_a = result_type(1) / __p.a(); while (__f != __t) *__f++ = __p.b() * std::pow(-std::log(result_type(1) - __aurng()), __inv_a); } template std::basic_ostream<_CharT, _Traits>& operator<<(std::basic_ostream<_CharT, _Traits>& __os, const weibull_distribution<_RealType>& __x) { typedef std::basic_ostream<_CharT, _Traits> __ostream_type; typedef typename __ostream_type::ios_base __ios_base; const typename __ios_base::fmtflags __flags = __os.flags(); const _CharT __fill = __os.fill(); const std::streamsize __precision = __os.precision(); const _CharT __space = __os.widen(' '); __os.flags(__ios_base::scientific | __ios_base::left); __os.fill(__space); __os.precision(std::numeric_limits<_RealType>::max_digits10); __os << __x.a() << __space << __x.b(); __os.flags(__flags); __os.fill(__fill); __os.precision(__precision); return __os; } template std::basic_istream<_CharT, _Traits>& operator>>(std::basic_istream<_CharT, _Traits>& __is, weibull_distribution<_RealType>& __x) { typedef std::basic_istream<_CharT, _Traits> __istream_type; typedef typename __istream_type::ios_base __ios_base; const typename __ios_base::fmtflags __flags = __is.flags(); __is.flags(__ios_base::dec | __ios_base::skipws); _RealType __a, __b; __is >> __a >> __b; __x.param(typename weibull_distribution<_RealType>:: param_type(__a, __b)); __is.flags(__flags); return __is; } template template typename extreme_value_distribution<_RealType>::result_type extreme_value_distribution<_RealType>:: operator()(_UniformRandomNumberGenerator& __urng, const param_type& __p) { __detail::_Adaptor<_UniformRandomNumberGenerator, result_type> __aurng(__urng); return __p.a() - __p.b() * std::log(-std::log(result_type(1) - __aurng())); } template template void extreme_value_distribution<_RealType>:: __generate_impl(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng, const param_type& __p) { __detail::_Adaptor<_UniformRandomNumberGenerator, result_type> __aurng(__urng); while (__f != __t) *__f++ = __p.a() - __p.b() * std::log(-std::log(result_type(1) - __aurng())); } template std::basic_ostream<_CharT, _Traits>& operator<<(std::basic_ostream<_CharT, _Traits>& __os, const extreme_value_distribution<_RealType>& __x) { typedef std::basic_ostream<_CharT, _Traits> __ostream_type; typedef typename __ostream_type::ios_base __ios_base; const typename __ios_base::fmtflags __flags = __os.flags(); const _CharT __fill = __os.fill(); const std::streamsize __precision = __os.precision(); const _CharT __space = __os.widen(' '); __os.flags(__ios_base::scientific | __ios_base::left); __os.fill(__space); __os.precision(std::numeric_limits<_RealType>::max_digits10); __os << __x.a() << __space << __x.b(); __os.flags(__flags); __os.fill(__fill); __os.precision(__precision); return __os; } template std::basic_istream<_CharT, _Traits>& operator>>(std::basic_istream<_CharT, _Traits>& __is, extreme_value_distribution<_RealType>& __x) { typedef std::basic_istream<_CharT, _Traits> __istream_type; typedef typename __istream_type::ios_base __ios_base; const typename __ios_base::fmtflags __flags = __is.flags(); __is.flags(__ios_base::dec | __ios_base::skipws); _RealType __a, __b; __is >> __a >> __b; __x.param(typename extreme_value_distribution<_RealType>:: param_type(__a, __b)); __is.flags(__flags); return __is; } template void discrete_distribution<_IntType>::param_type:: _M_initialize() { if (_M_prob.size() < 2) { _M_prob.clear(); return; } const double __sum = std::accumulate(_M_prob.begin(), _M_prob.end(), 0.0); __detail::__normalize(_M_prob.begin(), _M_prob.end(), _M_prob.begin(), __sum); _M_cp.reserve(_M_prob.size()); std::partial_sum(_M_prob.begin(), _M_prob.end(), std::back_inserter(_M_cp)); _M_cp[_M_cp.size() - 1] = 1.0; } template template discrete_distribution<_IntType>::param_type:: param_type(size_t __nw, double __xmin, double __xmax, _Func __fw) : _M_prob(), _M_cp() { const size_t __n = __nw == 0 ? 1 : __nw; const double __delta = (__xmax - __xmin) / __n; _M_prob.reserve(__n); for (size_t __k = 0; __k < __nw; ++__k) _M_prob.push_back(__fw(__xmin + __k * __delta + 0.5 * __delta)); _M_initialize(); } template template typename discrete_distribution<_IntType>::result_type discrete_distribution<_IntType>:: operator()(_UniformRandomNumberGenerator& __urng, const param_type& __param) { if (__param._M_cp.empty()) return result_type(0); __detail::_Adaptor<_UniformRandomNumberGenerator, double> __aurng(__urng); const double __p = __aurng(); auto __pos = std::lower_bound(__param._M_cp.begin(), __param._M_cp.end(), __p); return __pos - __param._M_cp.begin(); } template template void discrete_distribution<_IntType>:: __generate_impl(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng, const param_type& __param) { if (__param._M_cp.empty()) { while (__f != __t) *__f++ = result_type(0); return; } __detail::_Adaptor<_UniformRandomNumberGenerator, double> __aurng(__urng); while (__f != __t) { const double __p = __aurng(); auto __pos = std::lower_bound(__param._M_cp.begin(), __param._M_cp.end(), __p); *__f++ = __pos - __param._M_cp.begin(); } } template std::basic_ostream<_CharT, _Traits>& operator<<(std::basic_ostream<_CharT, _Traits>& __os, const discrete_distribution<_IntType>& __x) { typedef std::basic_ostream<_CharT, _Traits> __ostream_type; typedef typename __ostream_type::ios_base __ios_base; const typename __ios_base::fmtflags __flags = __os.flags(); const _CharT __fill = __os.fill(); const std::streamsize __precision = __os.precision(); const _CharT __space = __os.widen(' '); __os.flags(__ios_base::scientific | __ios_base::left); __os.fill(__space); __os.precision(std::numeric_limits::max_digits10); std::vector __prob = __x.probabilities(); __os << __prob.size(); for (auto __dit = __prob.begin(); __dit != __prob.end(); ++__dit) __os << __space << *__dit; __os.flags(__flags); __os.fill(__fill); __os.precision(__precision); return __os; } template std::basic_istream<_CharT, _Traits>& operator>>(std::basic_istream<_CharT, _Traits>& __is, discrete_distribution<_IntType>& __x) { typedef std::basic_istream<_CharT, _Traits> __istream_type; typedef typename __istream_type::ios_base __ios_base; const typename __ios_base::fmtflags __flags = __is.flags(); __is.flags(__ios_base::dec | __ios_base::skipws); size_t __n; __is >> __n; std::vector __prob_vec; __prob_vec.reserve(__n); for (; __n != 0; --__n) { double __prob; __is >> __prob; __prob_vec.push_back(__prob); } __x.param(typename discrete_distribution<_IntType>:: param_type(__prob_vec.begin(), __prob_vec.end())); __is.flags(__flags); return __is; } template void piecewise_constant_distribution<_RealType>::param_type:: _M_initialize() { if (_M_int.size() < 2 || (_M_int.size() == 2 && _M_int[0] == _RealType(0) && _M_int[1] == _RealType(1))) { _M_int.clear(); _M_den.clear(); return; } const double __sum = std::accumulate(_M_den.begin(), _M_den.end(), 0.0); __detail::__normalize(_M_den.begin(), _M_den.end(), _M_den.begin(), __sum); _M_cp.reserve(_M_den.size()); std::partial_sum(_M_den.begin(), _M_den.end(), std::back_inserter(_M_cp)); _M_cp[_M_cp.size() - 1] = 1.0; for (size_t __k = 0; __k < _M_den.size(); ++__k) _M_den[__k] /= _M_int[__k + 1] - _M_int[__k]; } template template piecewise_constant_distribution<_RealType>::param_type:: param_type(_InputIteratorB __bbegin, _InputIteratorB __bend, _InputIteratorW __wbegin) : _M_int(), _M_den(), _M_cp() { if (__bbegin != __bend) { for (;;) { _M_int.push_back(*__bbegin); ++__bbegin; if (__bbegin == __bend) break; _M_den.push_back(*__wbegin); ++__wbegin; } } _M_initialize(); } template template piecewise_constant_distribution<_RealType>::param_type:: param_type(initializer_list<_RealType> __bl, _Func __fw) : _M_int(), _M_den(), _M_cp() { _M_int.reserve(__bl.size()); for (auto __biter = __bl.begin(); __biter != __bl.end(); ++__biter) _M_int.push_back(*__biter); _M_den.reserve(_M_int.size() - 1); for (size_t __k = 0; __k < _M_int.size() - 1; ++__k) _M_den.push_back(__fw(0.5 * (_M_int[__k + 1] + _M_int[__k]))); _M_initialize(); } template template piecewise_constant_distribution<_RealType>::param_type:: param_type(size_t __nw, _RealType __xmin, _RealType __xmax, _Func __fw) : _M_int(), _M_den(), _M_cp() { const size_t __n = __nw == 0 ? 1 : __nw; const _RealType __delta = (__xmax - __xmin) / __n; _M_int.reserve(__n + 1); for (size_t __k = 0; __k <= __nw; ++__k) _M_int.push_back(__xmin + __k * __delta); _M_den.reserve(__n); for (size_t __k = 0; __k < __nw; ++__k) _M_den.push_back(__fw(_M_int[__k] + 0.5 * __delta)); _M_initialize(); } template template typename piecewise_constant_distribution<_RealType>::result_type piecewise_constant_distribution<_RealType>:: operator()(_UniformRandomNumberGenerator& __urng, const param_type& __param) { __detail::_Adaptor<_UniformRandomNumberGenerator, double> __aurng(__urng); const double __p = __aurng(); if (__param._M_cp.empty()) return __p; auto __pos = std::lower_bound(__param._M_cp.begin(), __param._M_cp.end(), __p); const size_t __i = __pos - __param._M_cp.begin(); const double __pref = __i > 0 ? __param._M_cp[__i - 1] : 0.0; return __param._M_int[__i] + (__p - __pref) / __param._M_den[__i]; } template template void piecewise_constant_distribution<_RealType>:: __generate_impl(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng, const param_type& __param) { __detail::_Adaptor<_UniformRandomNumberGenerator, double> __aurng(__urng); if (__param._M_cp.empty()) { while (__f != __t) *__f++ = __aurng(); return; } while (__f != __t) { const double __p = __aurng(); auto __pos = std::lower_bound(__param._M_cp.begin(), __param._M_cp.end(), __p); const size_t __i = __pos - __param._M_cp.begin(); const double __pref = __i > 0 ? __param._M_cp[__i - 1] : 0.0; *__f++ = (__param._M_int[__i] + (__p - __pref) / __param._M_den[__i]); } } template std::basic_ostream<_CharT, _Traits>& operator<<(std::basic_ostream<_CharT, _Traits>& __os, const piecewise_constant_distribution<_RealType>& __x) { typedef std::basic_ostream<_CharT, _Traits> __ostream_type; typedef typename __ostream_type::ios_base __ios_base; const typename __ios_base::fmtflags __flags = __os.flags(); const _CharT __fill = __os.fill(); const std::streamsize __precision = __os.precision(); const _CharT __space = __os.widen(' '); __os.flags(__ios_base::scientific | __ios_base::left); __os.fill(__space); __os.precision(std::numeric_limits<_RealType>::max_digits10); std::vector<_RealType> __int = __x.intervals(); __os << __int.size() - 1; for (auto __xit = __int.begin(); __xit != __int.end(); ++__xit) __os << __space << *__xit; std::vector __den = __x.densities(); for (auto __dit = __den.begin(); __dit != __den.end(); ++__dit) __os << __space << *__dit; __os.flags(__flags); __os.fill(__fill); __os.precision(__precision); return __os; } template std::basic_istream<_CharT, _Traits>& operator>>(std::basic_istream<_CharT, _Traits>& __is, piecewise_constant_distribution<_RealType>& __x) { typedef std::basic_istream<_CharT, _Traits> __istream_type; typedef typename __istream_type::ios_base __ios_base; const typename __ios_base::fmtflags __flags = __is.flags(); __is.flags(__ios_base::dec | __ios_base::skipws); size_t __n; __is >> __n; std::vector<_RealType> __int_vec; __int_vec.reserve(__n + 1); for (size_t __i = 0; __i <= __n; ++__i) { _RealType __int; __is >> __int; __int_vec.push_back(__int); } std::vector __den_vec; __den_vec.reserve(__n); for (size_t __i = 0; __i < __n; ++__i) { double __den; __is >> __den; __den_vec.push_back(__den); } __x.param(typename piecewise_constant_distribution<_RealType>:: param_type(__int_vec.begin(), __int_vec.end(), __den_vec.begin())); __is.flags(__flags); return __is; } template void piecewise_linear_distribution<_RealType>::param_type:: _M_initialize() { if (_M_int.size() < 2 || (_M_int.size() == 2 && _M_int[0] == _RealType(0) && _M_int[1] == _RealType(1) && _M_den[0] == _M_den[1])) { _M_int.clear(); _M_den.clear(); return; } double __sum = 0.0; _M_cp.reserve(_M_int.size() - 1); _M_m.reserve(_M_int.size() - 1); for (size_t __k = 0; __k < _M_int.size() - 1; ++__k) { const _RealType __delta = _M_int[__k + 1] - _M_int[__k]; __sum += 0.5 * (_M_den[__k + 1] + _M_den[__k]) * __delta; _M_cp.push_back(__sum); _M_m.push_back((_M_den[__k + 1] - _M_den[__k]) / __delta); } __detail::__normalize(_M_den.begin(), _M_den.end(), _M_den.begin(), __sum); __detail::__normalize(_M_cp.begin(), _M_cp.end(), _M_cp.begin(), __sum); __detail::__normalize(_M_m.begin(), _M_m.end(), _M_m.begin(), __sum); _M_cp[_M_cp.size() - 1] = 1.0; } template template piecewise_linear_distribution<_RealType>::param_type:: param_type(_InputIteratorB __bbegin, _InputIteratorB __bend, _InputIteratorW __wbegin) : _M_int(), _M_den(), _M_cp(), _M_m() { for (; __bbegin != __bend; ++__bbegin, ++__wbegin) { _M_int.push_back(*__bbegin); _M_den.push_back(*__wbegin); } _M_initialize(); } template template piecewise_linear_distribution<_RealType>::param_type:: param_type(initializer_list<_RealType> __bl, _Func __fw) : _M_int(), _M_den(), _M_cp(), _M_m() { _M_int.reserve(__bl.size()); _M_den.reserve(__bl.size()); for (auto __biter = __bl.begin(); __biter != __bl.end(); ++__biter) { _M_int.push_back(*__biter); _M_den.push_back(__fw(*__biter)); } _M_initialize(); } template template piecewise_linear_distribution<_RealType>::param_type:: param_type(size_t __nw, _RealType __xmin, _RealType __xmax, _Func __fw) : _M_int(), _M_den(), _M_cp(), _M_m() { const size_t __n = __nw == 0 ? 1 : __nw; const _RealType __delta = (__xmax - __xmin) / __n; _M_int.reserve(__n + 1); _M_den.reserve(__n + 1); for (size_t __k = 0; __k <= __nw; ++__k) { _M_int.push_back(__xmin + __k * __delta); _M_den.push_back(__fw(_M_int[__k] + __delta)); } _M_initialize(); } template template typename piecewise_linear_distribution<_RealType>::result_type piecewise_linear_distribution<_RealType>:: operator()(_UniformRandomNumberGenerator& __urng, const param_type& __param) { __detail::_Adaptor<_UniformRandomNumberGenerator, double> __aurng(__urng); const double __p = __aurng(); if (__param._M_cp.empty()) return __p; auto __pos = std::lower_bound(__param._M_cp.begin(), __param._M_cp.end(), __p); const size_t __i = __pos - __param._M_cp.begin(); const double __pref = __i > 0 ? __param._M_cp[__i - 1] : 0.0; const double __a = 0.5 * __param._M_m[__i]; const double __b = __param._M_den[__i]; const double __cm = __p - __pref; _RealType __x = __param._M_int[__i]; if (__a == 0) __x += __cm / __b; else { const double __d = __b * __b + 4.0 * __a * __cm; __x += 0.5 * (std::sqrt(__d) - __b) / __a; } return __x; } template template void piecewise_linear_distribution<_RealType>:: __generate_impl(_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator& __urng, const param_type& __param) { while (__f != __t) *__f++ = this->operator()(__urng, __param); } template std::basic_ostream<_CharT, _Traits>& operator<<(std::basic_ostream<_CharT, _Traits>& __os, const piecewise_linear_distribution<_RealType>& __x) { typedef std::basic_ostream<_CharT, _Traits> __ostream_type; typedef typename __ostream_type::ios_base __ios_base; const typename __ios_base::fmtflags __flags = __os.flags(); const _CharT __fill = __os.fill(); const std::streamsize __precision = __os.precision(); const _CharT __space = __os.widen(' '); __os.flags(__ios_base::scientific | __ios_base::left); __os.fill(__space); __os.precision(std::numeric_limits<_RealType>::max_digits10); std::vector<_RealType> __int = __x.intervals(); __os << __int.size() - 1; for (auto __xit = __int.begin(); __xit != __int.end(); ++__xit) __os << __space << *__xit; std::vector __den = __x.densities(); for (auto __dit = __den.begin(); __dit != __den.end(); ++__dit) __os << __space << *__dit; __os.flags(__flags); __os.fill(__fill); __os.precision(__precision); return __os; } template std::basic_istream<_CharT, _Traits>& operator>>(std::basic_istream<_CharT, _Traits>& __is, piecewise_linear_distribution<_RealType>& __x) { typedef std::basic_istream<_CharT, _Traits> __istream_type; typedef typename __istream_type::ios_base __ios_base; const typename __ios_base::fmtflags __flags = __is.flags(); __is.flags(__ios_base::dec | __ios_base::skipws); size_t __n; __is >> __n; std::vector<_RealType> __int_vec; __int_vec.reserve(__n + 1); for (size_t __i = 0; __i <= __n; ++__i) { _RealType __int; __is >> __int; __int_vec.push_back(__int); } std::vector __den_vec; __den_vec.reserve(__n + 1); for (size_t __i = 0; __i <= __n; ++__i) { double __den; __is >> __den; __den_vec.push_back(__den); } __x.param(typename piecewise_linear_distribution<_RealType>:: param_type(__int_vec.begin(), __int_vec.end(), __den_vec.begin())); __is.flags(__flags); return __is; } template seed_seq::seed_seq(std::initializer_list<_IntType> __il) { for (auto __iter = __il.begin(); __iter != __il.end(); ++__iter) _M_v.push_back(__detail::__mod::__value>(*__iter)); } template seed_seq::seed_seq(_InputIterator __begin, _InputIterator __end) { for (_InputIterator __iter = __begin; __iter != __end; ++__iter) _M_v.push_back(__detail::__mod::__value>(*__iter)); } template void seed_seq::generate(_RandomAccessIterator __begin, _RandomAccessIterator __end) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _Type; if (__begin == __end) return; std::fill(__begin, __end, _Type(0x8b8b8b8bu)); const size_t __n = __end - __begin; const size_t __s = _M_v.size(); const size_t __t = (__n >= 623) ? 11 : (__n >= 68) ? 7 : (__n >= 39) ? 5 : (__n >= 7) ? 3 : (__n - 1) / 2; const size_t __p = (__n - __t) / 2; const size_t __q = __p + __t; const size_t __m = std::max(size_t(__s + 1), __n); for (size_t __k = 0; __k < __m; ++__k) { _Type __arg = (__begin[__k % __n] ^ __begin[(__k + __p) % __n] ^ __begin[(__k - 1) % __n]); _Type __r1 = __arg ^ (__arg >> 27); __r1 = __detail::__mod<_Type, __detail::_Shift<_Type, 32>::__value>(1664525u * __r1); _Type __r2 = __r1; if (__k == 0) __r2 += __s; else if (__k <= __s) __r2 += __k % __n + _M_v[__k - 1]; else __r2 += __k % __n; __r2 = __detail::__mod<_Type, __detail::_Shift<_Type, 32>::__value>(__r2); __begin[(__k + __p) % __n] += __r1; __begin[(__k + __q) % __n] += __r2; __begin[__k % __n] = __r2; } for (size_t __k = __m; __k < __m + __n; ++__k) { _Type __arg = (__begin[__k % __n] + __begin[(__k + __p) % __n] + __begin[(__k - 1) % __n]); _Type __r3 = __arg ^ (__arg >> 27); __r3 = __detail::__mod<_Type, __detail::_Shift<_Type, 32>::__value>(1566083941u * __r3); _Type __r4 = __r3 - __k % __n; __r4 = __detail::__mod<_Type, __detail::_Shift<_Type, 32>::__value>(__r4); __begin[(__k + __p) % __n] ^= __r3; __begin[(__k + __q) % __n] ^= __r4; __begin[__k % __n] = __r4; } } template _RealType generate_canonical(_UniformRandomNumberGenerator& __urng) { static_assert(std::is_floating_point<_RealType>::value, "template argument not a floating point type"); const size_t __b = std::min(static_cast(std::numeric_limits<_RealType>::digits), __bits); const long double __r = static_cast(__urng.max()) - static_cast(__urng.min()) + 1.0L; const size_t __log2r = std::log(__r) / std::log(2.0L); size_t __k = std::max(1UL, (__b + __log2r - 1UL) / __log2r); _RealType __sum = _RealType(0); _RealType __tmp = _RealType(1); for (; __k != 0; --__k) { __sum += _RealType(__urng() - __urng.min()) * __tmp; __tmp *= __r; } return __sum / __tmp; } } # 52 "/usr/include/c++/5.0.0/random" 2 3 # 67 "/usr/include/c++/5.0.0/bits/stl_algo.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { template void __move_median_to_first(_Iterator __result,_Iterator __a, _Iterator __b, _Iterator __c, _Compare __comp) { if (__comp(__a, __b)) { if (__comp(__b, __c)) std::iter_swap(__result, __b); else if (__comp(__a, __c)) std::iter_swap(__result, __c); else std::iter_swap(__result, __a); } else if (__comp(__a, __c)) std::iter_swap(__result, __a); else if (__comp(__b, __c)) std::iter_swap(__result, __c); else std::iter_swap(__result, __b); } template inline _InputIterator __find_if(_InputIterator __first, _InputIterator __last, _Predicate __pred, input_iterator_tag) { while (__first != __last && !__pred(__first)) ++__first; return __first; } template _RandomAccessIterator __find_if(_RandomAccessIterator __first, _RandomAccessIterator __last, _Predicate __pred, random_access_iterator_tag) { typename iterator_traits<_RandomAccessIterator>::difference_type __trip_count = (__last - __first) >> 2; for (; __trip_count > 0; --__trip_count) { if (__pred(__first)) return __first; ++__first; if (__pred(__first)) return __first; ++__first; if (__pred(__first)) return __first; ++__first; if (__pred(__first)) return __first; ++__first; } switch (__last - __first) { case 3: if (__pred(__first)) return __first; ++__first; case 2: if (__pred(__first)) return __first; ++__first; case 1: if (__pred(__first)) return __first; ++__first; case 0: default: return __last; } } template inline _Iterator __find_if(_Iterator __first, _Iterator __last, _Predicate __pred) { return __find_if(__first, __last, __pred, std::__iterator_category(__first)); } template inline _InputIterator __find_if_not(_InputIterator __first, _InputIterator __last, _Predicate __pred) { return std::__find_if(__first, __last, __gnu_cxx::__ops::__negate(__pred), std::__iterator_category(__first)); } template _InputIterator __find_if_not_n(_InputIterator __first, _Distance& __len, _Predicate __pred) { for (; __len; --__len, ++__first) if (!__pred(__first)) break; return __first; } # 202 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template _ForwardIterator1 __search(_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2, _BinaryPredicate __predicate) { if (__first1 == __last1 || __first2 == __last2) return __first1; _ForwardIterator2 __p1(__first2); if (++__p1 == __last2) return std::__find_if(__first1, __last1, __gnu_cxx::__ops::__iter_comp_iter(__predicate, __first2)); _ForwardIterator2 __p; _ForwardIterator1 __current = __first1; for (;;) { __first1 = std::__find_if(__first1, __last1, __gnu_cxx::__ops::__iter_comp_iter(__predicate, __first2)); if (__first1 == __last1) return __last1; __p = __p1; __current = __first1; if (++__current == __last1) return __last1; while (__predicate(__current, __p)) { if (++__p == __last2) return __first1; if (++__current == __last1) return __last1; } ++__first1; } return __first1; } template _ForwardIterator __search_n_aux(_ForwardIterator __first, _ForwardIterator __last, _Integer __count, _UnaryPredicate __unary_pred, std::forward_iterator_tag) { __first = std::__find_if(__first, __last, __unary_pred); while (__first != __last) { typename iterator_traits<_ForwardIterator>::difference_type __n = __count; _ForwardIterator __i = __first; ++__i; while (__i != __last && __n != 1 && __unary_pred(__i)) { ++__i; --__n; } if (__n == 1) return __first; if (__i == __last) return __last; __first = std::__find_if(++__i, __last, __unary_pred); } return __last; } template _RandomAccessIter __search_n_aux(_RandomAccessIter __first, _RandomAccessIter __last, _Integer __count, _UnaryPredicate __unary_pred, std::random_access_iterator_tag) { typedef typename std::iterator_traits<_RandomAccessIter>::difference_type _DistanceType; _DistanceType __tailSize = __last - __first; _DistanceType __remainder = __count; while (__remainder <= __tailSize) { __first += __remainder; __tailSize -= __remainder; _RandomAccessIter __backTrack = __first; while (__unary_pred(--__backTrack)) { if (--__remainder == 0) return (__first - __count); } __remainder = __count + 1 - (__first - __backTrack); } return __last; } template _ForwardIterator __search_n(_ForwardIterator __first, _ForwardIterator __last, _Integer __count, _UnaryPredicate __unary_pred) { if (__count <= 0) return __first; if (__count == 1) return std::__find_if(__first, __last, __unary_pred); return std::__search_n_aux(__first, __last, __count, __unary_pred, std::__iterator_category(__first)); } template _ForwardIterator1 __find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2, forward_iterator_tag, forward_iterator_tag, _BinaryPredicate __comp) { if (__first2 == __last2) return __last1; _ForwardIterator1 __result = __last1; while (1) { _ForwardIterator1 __new_result = std::__search(__first1, __last1, __first2, __last2, __comp); if (__new_result == __last1) return __result; else { __result = __new_result; __first1 = __new_result; ++__first1; } } } template _BidirectionalIterator1 __find_end(_BidirectionalIterator1 __first1, _BidirectionalIterator1 __last1, _BidirectionalIterator2 __first2, _BidirectionalIterator2 __last2, bidirectional_iterator_tag, bidirectional_iterator_tag, _BinaryPredicate __comp) { typedef reverse_iterator<_BidirectionalIterator1> _RevIterator1; typedef reverse_iterator<_BidirectionalIterator2> _RevIterator2; _RevIterator1 __rlast1(__first1); _RevIterator2 __rlast2(__first2); _RevIterator1 __rresult = std::__search(_RevIterator1(__last1), __rlast1, _RevIterator2(__last2), __rlast2, __comp); if (__rresult == __rlast1) return __last1; else { _BidirectionalIterator1 __result = __rresult.base(); std::advance(__result, -std::distance(__first2, __last2)); return __result; } } # 423 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline _ForwardIterator1 find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2) { ; ; return std::__find_end(__first1, __last1, __first2, __last2, std::__iterator_category(__first1), std::__iterator_category(__first2), __gnu_cxx::__ops::__iter_equal_to_iter()); } # 471 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline _ForwardIterator1 find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2, _BinaryPredicate __comp) { ; ; return std::__find_end(__first1, __last1, __first2, __last2, std::__iterator_category(__first1), std::__iterator_category(__first2), __gnu_cxx::__ops::__iter_comp_iter(__comp)); } # 506 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline bool all_of(_InputIterator __first, _InputIterator __last, _Predicate __pred) { return __last == std::find_if_not(__first, __last, __pred); } # 523 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline bool none_of(_InputIterator __first, _InputIterator __last, _Predicate __pred) { return __last == std::find_if(__first, __last, __pred); } # 541 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline bool any_of(_InputIterator __first, _InputIterator __last, _Predicate __pred) { return !std::none_of(__first, __last, __pred); } # 556 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline _InputIterator find_if_not(_InputIterator __first, _InputIterator __last, _Predicate __pred) { ; return std::__find_if_not(__first, __last, __gnu_cxx::__ops::__pred_iter(__pred)); } # 580 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline bool is_partitioned(_InputIterator __first, _InputIterator __last, _Predicate __pred) { __first = std::find_if_not(__first, __last, __pred); return std::none_of(__first, __last, __pred); } # 598 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template _ForwardIterator partition_point(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred) { ; typedef typename iterator_traits<_ForwardIterator>::difference_type _DistanceType; _DistanceType __len = std::distance(__first, __last); _DistanceType __half; _ForwardIterator __middle; while (__len > 0) { __half = __len >> 1; __middle = __first; std::advance(__middle, __half); if (__pred(*__middle)) { __first = __middle; ++__first; __len = __len - __half - 1; } else __len = __half; } return __first; } template _OutputIterator __remove_copy_if(_InputIterator __first, _InputIterator __last, _OutputIterator __result, _Predicate __pred) { for (; __first != __last; ++__first) if (!__pred(__first)) { *__result = *__first; ++__result; } return __result; } # 665 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline _OutputIterator remove_copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result, const _Tp& __value) { ; return std::__remove_copy_if(__first, __last, __result, __gnu_cxx::__ops::__iter_equals_val(__value)); } # 697 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline _OutputIterator remove_copy_if(_InputIterator __first, _InputIterator __last, _OutputIterator __result, _Predicate __pred) { ; return std::__remove_copy_if(__first, __last, __result, __gnu_cxx::__ops::__pred_iter(__pred)); } # 731 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template _OutputIterator copy_if(_InputIterator __first, _InputIterator __last, _OutputIterator __result, _Predicate __pred) { ; for (; __first != __last; ++__first) if (__pred(*__first)) { *__result = *__first; ++__result; } return __result; } template _OutputIterator __copy_n(_InputIterator __first, _Size __n, _OutputIterator __result, input_iterator_tag) { if (__n > 0) { while (true) { *__result = *__first; ++__result; if (--__n > 0) ++__first; else break; } } return __result; } template inline _OutputIterator __copy_n(_RandomAccessIterator __first, _Size __n, _OutputIterator __result, random_access_iterator_tag) { return std::copy(__first, __first + __n, __result); } # 794 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline _OutputIterator copy_n(_InputIterator __first, _Size __n, _OutputIterator __result) { return std::__copy_n(__first, __n, __result, std::__iterator_category(__first)); } # 822 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template pair<_OutputIterator1, _OutputIterator2> partition_copy(_InputIterator __first, _InputIterator __last, _OutputIterator1 __out_true, _OutputIterator2 __out_false, _Predicate __pred) { ; for (; __first != __last; ++__first) if (__pred(*__first)) { *__out_true = *__first; ++__out_true; } else { *__out_false = *__first; ++__out_false; } return pair<_OutputIterator1, _OutputIterator2>(__out_true, __out_false); } template _ForwardIterator __remove_if(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred) { __first = std::__find_if(__first, __last, __pred); if (__first == __last) return __first; _ForwardIterator __result = __first; ++__first; for (; __first != __last; ++__first) if (!__pred(__first)) { *__result = std::move(*__first); ++__result; } return __result; } # 891 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline _ForwardIterator remove(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value) { ; return std::__remove_if(__first, __last, __gnu_cxx::__ops::__iter_equals_val(__value)); } # 924 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline _ForwardIterator remove_if(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred) { ; return std::__remove_if(__first, __last, __gnu_cxx::__ops::__pred_iter(__pred)); } template _ForwardIterator __adjacent_find(_ForwardIterator __first, _ForwardIterator __last, _BinaryPredicate __binary_pred) { if (__first == __last) return __last; _ForwardIterator __next = __first; while (++__next != __last) { if (__binary_pred(__first, __next)) return __first; __first = __next; } return __last; } template _ForwardIterator __unique(_ForwardIterator __first, _ForwardIterator __last, _BinaryPredicate __binary_pred) { __first = std::__adjacent_find(__first, __last, __binary_pred); if (__first == __last) return __last; _ForwardIterator __dest = __first; ++__first; while (++__first != __last) if (!__binary_pred(__dest, __first)) *++__dest = std::move(*__first); return ++__dest; } # 990 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline _ForwardIterator unique(_ForwardIterator __first, _ForwardIterator __last) { ; return std::__unique(__first, __last, __gnu_cxx::__ops::__iter_equal_to_iter()); } # 1020 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline _ForwardIterator unique(_ForwardIterator __first, _ForwardIterator __last, _BinaryPredicate __binary_pred) { ; return std::__unique(__first, __last, __gnu_cxx::__ops::__iter_comp_iter(__binary_pred)); } template _OutputIterator __unique_copy(_ForwardIterator __first, _ForwardIterator __last, _OutputIterator __result, _BinaryPredicate __binary_pred, forward_iterator_tag, output_iterator_tag) { _ForwardIterator __next = __first; *__result = *__first; while (++__next != __last) if (!__binary_pred(__first, __next)) { __first = __next; *++__result = *__first; } return ++__result; } template _OutputIterator __unique_copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result, _BinaryPredicate __binary_pred, input_iterator_tag, output_iterator_tag) { typename iterator_traits<_InputIterator>::value_type __value = *__first; __decltype(__gnu_cxx::__ops::__iter_comp_val(__binary_pred)) __rebound_pred = __gnu_cxx::__ops::__iter_comp_val(__binary_pred); *__result = __value; while (++__first != __last) if (!__rebound_pred(__first, __value)) { __value = *__first; *++__result = __value; } return ++__result; } template _ForwardIterator __unique_copy(_InputIterator __first, _InputIterator __last, _ForwardIterator __result, _BinaryPredicate __binary_pred, input_iterator_tag, forward_iterator_tag) { *__result = *__first; while (++__first != __last) if (!__binary_pred(__result, __first)) *++__result = *__first; return ++__result; } template void __reverse(_BidirectionalIterator __first, _BidirectionalIterator __last, bidirectional_iterator_tag) { while (true) if (__first == __last || __first == --__last) return; else { std::iter_swap(__first, __last); ++__first; } } template void __reverse(_RandomAccessIterator __first, _RandomAccessIterator __last, random_access_iterator_tag) { if (__first == __last) return; --__last; while (__first < __last) { std::iter_swap(__first, __last); ++__first; --__last; } } # 1175 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline void reverse(_BidirectionalIterator __first, _BidirectionalIterator __last) { ; std::__reverse(__first, __last, std::__iterator_category(__first)); } # 1202 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template _OutputIterator reverse_copy(_BidirectionalIterator __first, _BidirectionalIterator __last, _OutputIterator __result) { ; while (__first != __last) { --__last; *__result = *__last; ++__result; } return __result; } template _EuclideanRingElement __gcd(_EuclideanRingElement __m, _EuclideanRingElement __n) { while (__n != 0) { _EuclideanRingElement __t = __m % __n; __m = __n; __n = __t; } return __m; } template _ForwardIterator __rotate(_ForwardIterator __first, _ForwardIterator __middle, _ForwardIterator __last, forward_iterator_tag) { if (__first == __middle) return __last; else if (__last == __middle) return __first; _ForwardIterator __first2 = __middle; do { std::iter_swap(__first, __first2); ++__first; ++__first2; if (__first == __middle) __middle = __first2; } while (__first2 != __last); _ForwardIterator __ret = __first; __first2 = __middle; while (__first2 != __last) { std::iter_swap(__first, __first2); ++__first; ++__first2; if (__first == __middle) __middle = __first2; else if (__first2 == __last) __first2 = __middle; } return __ret; } template _BidirectionalIterator __rotate(_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last, bidirectional_iterator_tag) { if (__first == __middle) return __last; else if (__last == __middle) return __first; std::__reverse(__first, __middle, bidirectional_iterator_tag()); std::__reverse(__middle, __last, bidirectional_iterator_tag()); while (__first != __middle && __middle != __last) { std::iter_swap(__first, --__last); ++__first; } if (__first == __middle) { std::__reverse(__middle, __last, bidirectional_iterator_tag()); return __last; } else { std::__reverse(__first, __middle, bidirectional_iterator_tag()); return __first; } } template _RandomAccessIterator __rotate(_RandomAccessIterator __first, _RandomAccessIterator __middle, _RandomAccessIterator __last, random_access_iterator_tag) { if (__first == __middle) return __last; else if (__last == __middle) return __first; typedef typename iterator_traits<_RandomAccessIterator>::difference_type _Distance; typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; _Distance __n = __last - __first; _Distance __k = __middle - __first; if (__k == __n - __k) { std::swap_ranges(__first, __middle, __middle); return __middle; } _RandomAccessIterator __p = __first; _RandomAccessIterator __ret = __first + (__last - __middle); for (;;) { if (__k < __n - __k) { if (__is_pod(_ValueType) && __k == 1) { _ValueType __t = std::move(*__p); std::move(__p + 1, __p + __n, __p); *(__p + __n - 1) = std::move(__t); return __ret; } _RandomAccessIterator __q = __p + __k; for (_Distance __i = 0; __i < __n - __k; ++ __i) { std::iter_swap(__p, __q); ++__p; ++__q; } __n %= __k; if (__n == 0) return __ret; std::swap(__n, __k); __k = __n - __k; } else { __k = __n - __k; if (__is_pod(_ValueType) && __k == 1) { _ValueType __t = std::move(*(__p + __n - 1)); std::move_backward(__p, __p + __n - 1, __p + __n); *__p = std::move(__t); return __ret; } _RandomAccessIterator __q = __p + __n; __p = __q - __k; for (_Distance __i = 0; __i < __n - __k; ++ __i) { --__p; --__q; std::iter_swap(__p, __q); } __n %= __k; if (__n == 0) return __ret; std::swap(__n, __k); } } } # 1426 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline _ForwardIterator rotate(_ForwardIterator __first, _ForwardIterator __middle, _ForwardIterator __last) { ; ; return std::__rotate(__first, __middle, __last, std::__iterator_category(__first)); } # 1461 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline _OutputIterator rotate_copy(_ForwardIterator __first, _ForwardIterator __middle, _ForwardIterator __last, _OutputIterator __result) { ; ; return std::copy(__first, __middle, std::copy(__middle, __last, __result)); } template _ForwardIterator __partition(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred, forward_iterator_tag) { if (__first == __last) return __first; while (__pred(*__first)) if (++__first == __last) return __first; _ForwardIterator __next = __first; while (++__next != __last) if (__pred(*__next)) { std::iter_swap(__first, __next); ++__first; } return __first; } template _BidirectionalIterator __partition(_BidirectionalIterator __first, _BidirectionalIterator __last, _Predicate __pred, bidirectional_iterator_tag) { while (true) { while (true) if (__first == __last) return __first; else if (__pred(*__first)) ++__first; else break; --__last; while (true) if (__first == __last) return __first; else if (!bool(__pred(*__last))) --__last; else break; std::iter_swap(__first, __last); ++__first; } } # 1538 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template _ForwardIterator __stable_partition_adaptive(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred, _Distance __len, _Pointer __buffer, _Distance __buffer_size) { if (__len == 1) return __first; if (__len <= __buffer_size) { _ForwardIterator __result1 = __first; _Pointer __result2 = __buffer; *__result2 = std::move(*__first); ++__result2; ++__first; for (; __first != __last; ++__first) if (__pred(__first)) { *__result1 = std::move(*__first); ++__result1; } else { *__result2 = std::move(*__first); ++__result2; } std::move(__buffer, __result2, __result1); return __result1; } _ForwardIterator __middle = __first; std::advance(__middle, __len / 2); _ForwardIterator __left_split = std::__stable_partition_adaptive(__first, __middle, __pred, __len / 2, __buffer, __buffer_size); _Distance __right_len = __len - __len / 2; _ForwardIterator __right_split = std::__find_if_not_n(__middle, __right_len, __pred); if (__right_len) __right_split = std::__stable_partition_adaptive(__right_split, __last, __pred, __right_len, __buffer, __buffer_size); std::rotate(__left_split, __middle, __right_split); std::advance(__left_split, std::distance(__middle, __right_split)); return __left_split; } template _ForwardIterator __stable_partition(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred) { __first = std::__find_if_not(__first, __last, __pred); if (__first == __last) return __first; typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; typedef typename iterator_traits<_ForwardIterator>::difference_type _DistanceType; _Temporary_buffer<_ForwardIterator, _ValueType> __buf(__first, __last); return std::__stable_partition_adaptive(__first, __last, __pred, _DistanceType(__buf.requested_size()), __buf.begin(), _DistanceType(__buf.size())); } # 1641 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline _ForwardIterator stable_partition(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred) { ; return std::__stable_partition(__first, __last, __gnu_cxx::__ops::__pred_iter(__pred)); } template void __heap_select(_RandomAccessIterator __first, _RandomAccessIterator __middle, _RandomAccessIterator __last, _Compare __comp) { std::__make_heap(__first, __middle, __comp); for (_RandomAccessIterator __i = __middle; __i < __last; ++__i) if (__comp(__i, __first)) std::__pop_heap(__first, __middle, __i, __comp); } template _RandomAccessIterator __partial_sort_copy(_InputIterator __first, _InputIterator __last, _RandomAccessIterator __result_first, _RandomAccessIterator __result_last, _Compare __comp) { typedef typename iterator_traits<_InputIterator>::value_type _InputValueType; typedef iterator_traits<_RandomAccessIterator> _RItTraits; typedef typename _RItTraits::difference_type _DistanceType; if (__result_first == __result_last) return __result_last; _RandomAccessIterator __result_real_last = __result_first; while (__first != __last && __result_real_last != __result_last) { *__result_real_last = *__first; ++__result_real_last; ++__first; } std::__make_heap(__result_first, __result_real_last, __comp); while (__first != __last) { if (__comp(__first, __result_first)) std::__adjust_heap(__result_first, _DistanceType(0), _DistanceType(__result_real_last - __result_first), _InputValueType(*__first), __comp); ++__first; } std::__sort_heap(__result_first, __result_real_last, __comp); return __result_real_last; } # 1727 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline _RandomAccessIterator partial_sort_copy(_InputIterator __first, _InputIterator __last, _RandomAccessIterator __result_first, _RandomAccessIterator __result_last) { typedef typename iterator_traits<_InputIterator>::value_type _InputValueType; typedef typename iterator_traits<_RandomAccessIterator>::value_type _OutputValueType; typedef typename iterator_traits<_RandomAccessIterator>::difference_type _DistanceType; ; ; return std::__partial_sort_copy(__first, __last, __result_first, __result_last, __gnu_cxx::__ops::__iter_less_iter()); } # 1775 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline _RandomAccessIterator partial_sort_copy(_InputIterator __first, _InputIterator __last, _RandomAccessIterator __result_first, _RandomAccessIterator __result_last, _Compare __comp) { typedef typename iterator_traits<_InputIterator>::value_type _InputValueType; typedef typename iterator_traits<_RandomAccessIterator>::value_type _OutputValueType; typedef typename iterator_traits<_RandomAccessIterator>::difference_type _DistanceType; ; ; return std::__partial_sort_copy(__first, __last, __result_first, __result_last, __gnu_cxx::__ops::__iter_comp_iter(__comp)); } template void __unguarded_linear_insert(_RandomAccessIterator __last, _Compare __comp) { typename iterator_traits<_RandomAccessIterator>::value_type __val = std::move(*__last); _RandomAccessIterator __next = __last; --__next; while (__comp(__val, __next)) { *__last = std::move(*__next); __last = __next; --__next; } *__last = std::move(__val); } template void __insertion_sort(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { if (__first == __last) return; for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i) { if (__comp(__i, __first)) { typename iterator_traits<_RandomAccessIterator>::value_type __val = std::move(*__i); std::move_backward(__first, __i, __i + 1); *__first = std::move(__val); } else std::__unguarded_linear_insert(__i, __gnu_cxx::__ops::__val_comp_iter(__comp)); } } template inline void __unguarded_insertion_sort(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { for (_RandomAccessIterator __i = __first; __i != __last; ++__i) std::__unguarded_linear_insert(__i, __gnu_cxx::__ops::__val_comp_iter(__comp)); } enum { _S_threshold = 16 }; template void __final_insertion_sort(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { if (__last - __first > int(_S_threshold)) { std::__insertion_sort(__first, __first + int(_S_threshold), __comp); std::__unguarded_insertion_sort(__first + int(_S_threshold), __last, __comp); } else std::__insertion_sort(__first, __last, __comp); } template _RandomAccessIterator __unguarded_partition(_RandomAccessIterator __first, _RandomAccessIterator __last, _RandomAccessIterator __pivot, _Compare __comp) { while (true) { while (__comp(__first, __pivot)) ++__first; --__last; while (__comp(__pivot, __last)) --__last; if (!(__first < __last)) return __first; std::iter_swap(__first, __last); ++__first; } } template inline _RandomAccessIterator __unguarded_partition_pivot(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { _RandomAccessIterator __mid = __first + (__last - __first) / 2; std::__move_median_to_first(__first, __first + 1, __mid, __last - 1, __comp); return std::__unguarded_partition(__first + 1, __last, __first, __comp); } template inline void __partial_sort(_RandomAccessIterator __first, _RandomAccessIterator __middle, _RandomAccessIterator __last, _Compare __comp) { std::__heap_select(__first, __middle, __last, __comp); std::__sort_heap(__first, __middle, __comp); } template void __introsort_loop(_RandomAccessIterator __first, _RandomAccessIterator __last, _Size __depth_limit, _Compare __comp) { while (__last - __first > int(_S_threshold)) { if (__depth_limit == 0) { std::__partial_sort(__first, __last, __last, __comp); return; } --__depth_limit; _RandomAccessIterator __cut = std::__unguarded_partition_pivot(__first, __last, __comp); std::__introsort_loop(__cut, __last, __depth_limit, __comp); __last = __cut; } } template inline void __sort(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { if (__first != __last) { std::__introsort_loop(__first, __last, std::__lg(__last - __first) * 2, __comp); std::__final_insertion_sort(__first, __last, __comp); } } template void __introselect(_RandomAccessIterator __first, _RandomAccessIterator __nth, _RandomAccessIterator __last, _Size __depth_limit, _Compare __comp) { while (__last - __first > 3) { if (__depth_limit == 0) { std::__heap_select(__first, __nth + 1, __last, __comp); std::iter_swap(__first, __nth); return; } --__depth_limit; _RandomAccessIterator __cut = std::__unguarded_partition_pivot(__first, __last, __comp); if (__cut <= __nth) __first = __cut; else __last = __cut; } std::__insertion_sort(__first, __last, __comp); } # 2011 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline _ForwardIterator lower_bound(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __val, _Compare __comp) { typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; ; return std::__lower_bound(__first, __last, __val, __gnu_cxx::__ops::__iter_comp_val(__comp)); } template _ForwardIterator __upper_bound(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __val, _Compare __comp) { typedef typename iterator_traits<_ForwardIterator>::difference_type _DistanceType; _DistanceType __len = std::distance(__first, __last); while (__len > 0) { _DistanceType __half = __len >> 1; _ForwardIterator __middle = __first; std::advance(__middle, __half); if (__comp(__val, __middle)) __len = __half; else { __first = __middle; ++__first; __len = __len - __half - 1; } } return __first; } # 2068 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline _ForwardIterator upper_bound(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __val) { typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; ; return std::__upper_bound(__first, __last, __val, __gnu_cxx::__ops::__val_less_iter()); } # 2100 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline _ForwardIterator upper_bound(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __val, _Compare __comp) { typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; ; return std::__upper_bound(__first, __last, __val, __gnu_cxx::__ops::__val_comp_iter(__comp)); } template pair<_ForwardIterator, _ForwardIterator> __equal_range(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __val, _CompareItTp __comp_it_val, _CompareTpIt __comp_val_it) { typedef typename iterator_traits<_ForwardIterator>::difference_type _DistanceType; _DistanceType __len = std::distance(__first, __last); while (__len > 0) { _DistanceType __half = __len >> 1; _ForwardIterator __middle = __first; std::advance(__middle, __half); if (__comp_it_val(__middle, __val)) { __first = __middle; ++__first; __len = __len - __half - 1; } else if (__comp_val_it(__val, __middle)) __len = __half; else { _ForwardIterator __left = std::__lower_bound(__first, __middle, __val, __comp_it_val); std::advance(__first, __len); _ForwardIterator __right = std::__upper_bound(++__middle, __first, __val, __comp_val_it); return pair<_ForwardIterator, _ForwardIterator>(__left, __right); } } return pair<_ForwardIterator, _ForwardIterator>(__first, __first); } # 2174 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline pair<_ForwardIterator, _ForwardIterator> equal_range(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __val) { typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; ; ; return std::__equal_range(__first, __last, __val, __gnu_cxx::__ops::__iter_less_val(), __gnu_cxx::__ops::__val_less_iter()); } # 2211 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline pair<_ForwardIterator, _ForwardIterator> equal_range(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __val, _Compare __comp) { typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; ; ; return std::__equal_range(__first, __last, __val, __gnu_cxx::__ops::__iter_comp_val(__comp), __gnu_cxx::__ops::__val_comp_iter(__comp)); } # 2247 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template bool binary_search(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __val) { typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; ; ; _ForwardIterator __i = std::__lower_bound(__first, __last, __val, __gnu_cxx::__ops::__iter_less_val()); return __i != __last && !(__val < *__i); } # 2282 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template bool binary_search(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __val, _Compare __comp) { typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; ; ; _ForwardIterator __i = std::__lower_bound(__first, __last, __val, __gnu_cxx::__ops::__iter_comp_val(__comp)); return __i != __last && !bool(__comp(__val, *__i)); } template void __move_merge_adaptive(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp) { while (__first1 != __last1 && __first2 != __last2) { if (__comp(__first2, __first1)) { *__result = std::move(*__first2); ++__first2; } else { *__result = std::move(*__first1); ++__first1; } ++__result; } if (__first1 != __last1) std::move(__first1, __last1, __result); } template void __move_merge_adaptive_backward(_BidirectionalIterator1 __first1, _BidirectionalIterator1 __last1, _BidirectionalIterator2 __first2, _BidirectionalIterator2 __last2, _BidirectionalIterator3 __result, _Compare __comp) { if (__first1 == __last1) { std::move_backward(__first2, __last2, __result); return; } else if (__first2 == __last2) return; --__last1; --__last2; while (true) { if (__comp(__last2, __last1)) { *--__result = std::move(*__last1); if (__first1 == __last1) { std::move_backward(__first2, ++__last2, __result); return; } --__last1; } else { *--__result = std::move(*__last2); if (__first2 == __last2) return; --__last2; } } } template _BidirectionalIterator1 __rotate_adaptive(_BidirectionalIterator1 __first, _BidirectionalIterator1 __middle, _BidirectionalIterator1 __last, _Distance __len1, _Distance __len2, _BidirectionalIterator2 __buffer, _Distance __buffer_size) { _BidirectionalIterator2 __buffer_end; if (__len1 > __len2 && __len2 <= __buffer_size) { if (__len2) { __buffer_end = std::move(__middle, __last, __buffer); std::move_backward(__first, __middle, __last); return std::move(__buffer, __buffer_end, __first); } else return __first; } else if (__len1 <= __buffer_size) { if (__len1) { __buffer_end = std::move(__first, __middle, __buffer); std::move(__middle, __last, __first); return std::move_backward(__buffer, __buffer_end, __last); } else return __last; } else { std::rotate(__first, __middle, __last); std::advance(__first, std::distance(__middle, __last)); return __first; } } template void __merge_adaptive(_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last, _Distance __len1, _Distance __len2, _Pointer __buffer, _Distance __buffer_size, _Compare __comp) { if (__len1 <= __len2 && __len1 <= __buffer_size) { _Pointer __buffer_end = std::move(__first, __middle, __buffer); std::__move_merge_adaptive(__buffer, __buffer_end, __middle, __last, __first, __comp); } else if (__len2 <= __buffer_size) { _Pointer __buffer_end = std::move(__middle, __last, __buffer); std::__move_merge_adaptive_backward(__first, __middle, __buffer, __buffer_end, __last, __comp); } else { _BidirectionalIterator __first_cut = __first; _BidirectionalIterator __second_cut = __middle; _Distance __len11 = 0; _Distance __len22 = 0; if (__len1 > __len2) { __len11 = __len1 / 2; std::advance(__first_cut, __len11); __second_cut = std::__lower_bound(__middle, __last, *__first_cut, __gnu_cxx::__ops::__iter_comp_val(__comp)); __len22 = std::distance(__middle, __second_cut); } else { __len22 = __len2 / 2; std::advance(__second_cut, __len22); __first_cut = std::__upper_bound(__first, __middle, *__second_cut, __gnu_cxx::__ops::__val_comp_iter(__comp)); __len11 = std::distance(__first, __first_cut); } _BidirectionalIterator __new_middle = std::__rotate_adaptive(__first_cut, __middle, __second_cut, __len1 - __len11, __len22, __buffer, __buffer_size); std::__merge_adaptive(__first, __first_cut, __new_middle, __len11, __len22, __buffer, __buffer_size, __comp); std::__merge_adaptive(__new_middle, __second_cut, __last, __len1 - __len11, __len2 - __len22, __buffer, __buffer_size, __comp); } } template void __merge_without_buffer(_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last, _Distance __len1, _Distance __len2, _Compare __comp) { if (__len1 == 0 || __len2 == 0) return; if (__len1 + __len2 == 2) { if (__comp(__middle, __first)) std::iter_swap(__first, __middle); return; } _BidirectionalIterator __first_cut = __first; _BidirectionalIterator __second_cut = __middle; _Distance __len11 = 0; _Distance __len22 = 0; if (__len1 > __len2) { __len11 = __len1 / 2; std::advance(__first_cut, __len11); __second_cut = std::__lower_bound(__middle, __last, *__first_cut, __gnu_cxx::__ops::__iter_comp_val(__comp)); __len22 = std::distance(__middle, __second_cut); } else { __len22 = __len2 / 2; std::advance(__second_cut, __len22); __first_cut = std::__upper_bound(__first, __middle, *__second_cut, __gnu_cxx::__ops::__val_comp_iter(__comp)); __len11 = std::distance(__first, __first_cut); } std::rotate(__first_cut, __middle, __second_cut); _BidirectionalIterator __new_middle = __first_cut; std::advance(__new_middle, std::distance(__middle, __second_cut)); std::__merge_without_buffer(__first, __first_cut, __new_middle, __len11, __len22, __comp); std::__merge_without_buffer(__new_middle, __second_cut, __last, __len1 - __len11, __len2 - __len22, __comp); } template void __inplace_merge(_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last, _Compare __comp) { typedef typename iterator_traits<_BidirectionalIterator>::value_type _ValueType; typedef typename iterator_traits<_BidirectionalIterator>::difference_type _DistanceType; if (__first == __middle || __middle == __last) return; const _DistanceType __len1 = std::distance(__first, __middle); const _DistanceType __len2 = std::distance(__middle, __last); typedef _Temporary_buffer<_BidirectionalIterator, _ValueType> _TmpBuf; _TmpBuf __buf(__first, __last); if (__buf.begin() == 0) std::__merge_without_buffer (__first, __middle, __last, __len1, __len2, __comp); else std::__merge_adaptive (__first, __middle, __last, __len1, __len2, __buf.begin(), _DistanceType(__buf.size()), __comp); } # 2579 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline void inplace_merge(_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last) { ; ; std::__inplace_merge(__first, __middle, __last, __gnu_cxx::__ops::__iter_less_iter()); } # 2619 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline void inplace_merge(_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last, _Compare __comp) { ; ; std::__inplace_merge(__first, __middle, __last, __gnu_cxx::__ops::__iter_comp_iter(__comp)); } template _OutputIterator __move_merge(_InputIterator __first1, _InputIterator __last1, _InputIterator __first2, _InputIterator __last2, _OutputIterator __result, _Compare __comp) { while (__first1 != __last1 && __first2 != __last2) { if (__comp(__first2, __first1)) { *__result = std::move(*__first2); ++__first2; } else { *__result = std::move(*__first1); ++__first1; } ++__result; } return std::move(__first2, __last2, std::move(__first1, __last1, __result)) ; } template void __merge_sort_loop(_RandomAccessIterator1 __first, _RandomAccessIterator1 __last, _RandomAccessIterator2 __result, _Distance __step_size, _Compare __comp) { const _Distance __two_step = 2 * __step_size; while (__last - __first >= __two_step) { __result = std::__move_merge(__first, __first + __step_size, __first + __step_size, __first + __two_step, __result, __comp); __first += __two_step; } __step_size = std::min(_Distance(__last - __first), __step_size); std::__move_merge(__first, __first + __step_size, __first + __step_size, __last, __result, __comp); } template void __chunk_insertion_sort(_RandomAccessIterator __first, _RandomAccessIterator __last, _Distance __chunk_size, _Compare __comp) { while (__last - __first >= __chunk_size) { std::__insertion_sort(__first, __first + __chunk_size, __comp); __first += __chunk_size; } std::__insertion_sort(__first, __last, __comp); } enum { _S_chunk_size = 7 }; template void __merge_sort_with_buffer(_RandomAccessIterator __first, _RandomAccessIterator __last, _Pointer __buffer, _Compare __comp) { typedef typename iterator_traits<_RandomAccessIterator>::difference_type _Distance; const _Distance __len = __last - __first; const _Pointer __buffer_last = __buffer + __len; _Distance __step_size = _S_chunk_size; std::__chunk_insertion_sort(__first, __last, __step_size, __comp); while (__step_size < __len) { std::__merge_sort_loop(__first, __last, __buffer, __step_size, __comp); __step_size *= 2; std::__merge_sort_loop(__buffer, __buffer_last, __first, __step_size, __comp); __step_size *= 2; } } template void __stable_sort_adaptive(_RandomAccessIterator __first, _RandomAccessIterator __last, _Pointer __buffer, _Distance __buffer_size, _Compare __comp) { const _Distance __len = (__last - __first + 1) / 2; const _RandomAccessIterator __middle = __first + __len; if (__len > __buffer_size) { std::__stable_sort_adaptive(__first, __middle, __buffer, __buffer_size, __comp); std::__stable_sort_adaptive(__middle, __last, __buffer, __buffer_size, __comp); } else { std::__merge_sort_with_buffer(__first, __middle, __buffer, __comp); std::__merge_sort_with_buffer(__middle, __last, __buffer, __comp); } std::__merge_adaptive(__first, __middle, __last, _Distance(__middle - __first), _Distance(__last - __middle), __buffer, __buffer_size, __comp); } template void __inplace_stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { if (__last - __first < 15) { std::__insertion_sort(__first, __last, __comp); return; } _RandomAccessIterator __middle = __first + (__last - __first) / 2; std::__inplace_stable_sort(__first, __middle, __comp); std::__inplace_stable_sort(__middle, __last, __comp); std::__merge_without_buffer(__first, __middle, __last, __middle - __first, __last - __middle, __comp); } # 2790 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template bool __includes(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _Compare __comp) { while (__first1 != __last1 && __first2 != __last2) if (__comp(__first2, __first1)) return false; else if (__comp(__first1, __first2)) ++__first1; else ++__first1, ++__first2; return __first2 == __last2; } # 2826 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline bool includes(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2) { ; ; return std::__includes(__first1, __last1, __first2, __last2, __gnu_cxx::__ops::__iter_less_iter()); } # 2868 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline bool includes(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _Compare __comp) { ; ; return std::__includes(__first1, __last1, __first2, __last2, __gnu_cxx::__ops::__iter_comp_iter(__comp)); } # 2901 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template bool __next_permutation(_BidirectionalIterator __first, _BidirectionalIterator __last, _Compare __comp) { if (__first == __last) return false; _BidirectionalIterator __i = __first; ++__i; if (__i == __last) return false; __i = __last; --__i; for(;;) { _BidirectionalIterator __ii = __i; --__i; if (__comp(__i, __ii)) { _BidirectionalIterator __j = __last; while (!__comp(__i, --__j)) {} std::iter_swap(__i, __j); std::__reverse(__ii, __last, std::__iterator_category(__first)); return true; } if (__i == __first) { std::__reverse(__first, __last, std::__iterator_category(__first)); return false; } } } # 2950 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline bool next_permutation(_BidirectionalIterator __first, _BidirectionalIterator __last) { ; return std::__next_permutation (__first, __last, __gnu_cxx::__ops::__iter_less_iter()); } # 2981 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline bool next_permutation(_BidirectionalIterator __first, _BidirectionalIterator __last, _Compare __comp) { ; return std::__next_permutation (__first, __last, __gnu_cxx::__ops::__iter_comp_iter(__comp)); } template bool __prev_permutation(_BidirectionalIterator __first, _BidirectionalIterator __last, _Compare __comp) { if (__first == __last) return false; _BidirectionalIterator __i = __first; ++__i; if (__i == __last) return false; __i = __last; --__i; for(;;) { _BidirectionalIterator __ii = __i; --__i; if (__comp(__ii, __i)) { _BidirectionalIterator __j = __last; while (!__comp(--__j, __i)) {} std::iter_swap(__i, __j); std::__reverse(__ii, __last, std::__iterator_category(__first)); return true; } if (__i == __first) { std::__reverse(__first, __last, std::__iterator_category(__first)); return false; } } } # 3048 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline bool prev_permutation(_BidirectionalIterator __first, _BidirectionalIterator __last) { ; return std::__prev_permutation(__first, __last, __gnu_cxx::__ops::__iter_less_iter()); } # 3079 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline bool prev_permutation(_BidirectionalIterator __first, _BidirectionalIterator __last, _Compare __comp) { ; return std::__prev_permutation(__first, __last, __gnu_cxx::__ops::__iter_comp_iter(__comp)); } template _OutputIterator __replace_copy_if(_InputIterator __first, _InputIterator __last, _OutputIterator __result, _Predicate __pred, const _Tp& __new_value) { for (; __first != __last; ++__first, ++__result) if (__pred(__first)) *__result = __new_value; else *__result = *__first; return __result; } # 3128 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline _OutputIterator replace_copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result, const _Tp& __old_value, const _Tp& __new_value) { ; return std::__replace_copy_if(__first, __last, __result, __gnu_cxx::__ops::__iter_equals_val(__old_value), __new_value); } # 3162 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline _OutputIterator replace_copy_if(_InputIterator __first, _InputIterator __last, _OutputIterator __result, _Predicate __pred, const _Tp& __new_value) { ; return std::__replace_copy_if(__first, __last, __result, __gnu_cxx::__ops::__pred_iter(__pred), __new_value); } template typename iterator_traits<_InputIterator>::difference_type __count_if(_InputIterator __first, _InputIterator __last, _Predicate __pred) { typename iterator_traits<_InputIterator>::difference_type __n = 0; for (; __first != __last; ++__first) if (__pred(__first)) ++__n; return __n; } # 3201 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline bool is_sorted(_ForwardIterator __first, _ForwardIterator __last) { return std::is_sorted_until(__first, __last) == __last; } # 3215 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline bool is_sorted(_ForwardIterator __first, _ForwardIterator __last, _Compare __comp) { return std::is_sorted_until(__first, __last, __comp) == __last; } template _ForwardIterator __is_sorted_until(_ForwardIterator __first, _ForwardIterator __last, _Compare __comp) { if (__first == __last) return __last; _ForwardIterator __next = __first; for (++__next; __next != __last; __first = __next, ++__next) if (__comp(__next, __first)) return __next; return __next; } # 3244 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline _ForwardIterator is_sorted_until(_ForwardIterator __first, _ForwardIterator __last) { ; return std::__is_sorted_until(__first, __last, __gnu_cxx::__ops::__iter_less_iter()); } # 3267 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline _ForwardIterator is_sorted_until(_ForwardIterator __first, _ForwardIterator __last, _Compare __comp) { ; return std::__is_sorted_until(__first, __last, __gnu_cxx::__ops::__iter_comp_iter(__comp)); } # 3291 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline pair minmax(const _Tp& __a, const _Tp& __b) { return __b < __a ? pair(__b, __a) : pair(__a, __b); } # 3312 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline pair minmax(const _Tp& __a, const _Tp& __b, _Compare __comp) { return __comp(__b, __a) ? pair(__b, __a) : pair(__a, __b); } template pair<_ForwardIterator, _ForwardIterator> __minmax_element(_ForwardIterator __first, _ForwardIterator __last, _Compare __comp) { _ForwardIterator __next = __first; if (__first == __last || ++__next == __last) return std::make_pair(__first, __first); _ForwardIterator __min{}, __max{}; if (__comp(__next, __first)) { __min = __next; __max = __first; } else { __min = __first; __max = __next; } __first = __next; ++__first; while (__first != __last) { __next = __first; if (++__next == __last) { if (__comp(__first, __min)) __min = __first; else if (!__comp(__first, __max)) __max = __first; break; } if (__comp(__next, __first)) { if (__comp(__next, __min)) __min = __next; if (!__comp(__first, __max)) __max = __first; } else { if (__comp(__first, __min)) __min = __first; if (!__comp(__next, __max)) __max = __next; } __first = __next; ++__first; } return std::make_pair(__min, __max); } # 3392 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline pair<_ForwardIterator, _ForwardIterator> minmax_element(_ForwardIterator __first, _ForwardIterator __last) { ; return std::__minmax_element(__first, __last, __gnu_cxx::__ops::__iter_less_iter()); } # 3419 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline pair<_ForwardIterator, _ForwardIterator> minmax_element(_ForwardIterator __first, _ForwardIterator __last, _Compare __comp) { ; return std::__minmax_element(__first, __last, __gnu_cxx::__ops::__iter_comp_iter(__comp)); } template inline _Tp min(initializer_list<_Tp> __l) { return *std::min_element(__l.begin(), __l.end()); } template inline _Tp min(initializer_list<_Tp> __l, _Compare __comp) { return *std::min_element(__l.begin(), __l.end(), __comp); } template inline _Tp max(initializer_list<_Tp> __l) { return *std::max_element(__l.begin(), __l.end()); } template inline _Tp max(initializer_list<_Tp> __l, _Compare __comp) { return *std::max_element(__l.begin(), __l.end(), __comp); } template inline pair<_Tp, _Tp> minmax(initializer_list<_Tp> __l) { pair __p = std::minmax_element(__l.begin(), __l.end()); return std::make_pair(*__p.first, *__p.second); } template inline pair<_Tp, _Tp> minmax(initializer_list<_Tp> __l, _Compare __comp) { pair __p = std::minmax_element(__l.begin(), __l.end(), __comp); return std::make_pair(*__p.first, *__p.second); } template bool __is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _BinaryPredicate __pred) { for (; __first1 != __last1; ++__first1, ++__first2) if (!__pred(__first1, __first2)) break; if (__first1 == __last1) return true; _ForwardIterator2 __last2 = __first2; std::advance(__last2, std::distance(__first1, __last1)); for (_ForwardIterator1 __scan = __first1; __scan != __last1; ++__scan) { if (__scan != std::__find_if(__first1, __scan, __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan))) continue; auto __matches = std::__count_if(__first2, __last2, __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan)); if (0 == __matches || std::__count_if(__scan, __last1, __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan)) != __matches) return false; } return true; } # 3530 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline bool is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2) { ; return std::__is_permutation(__first1, __last1, __first2, __gnu_cxx::__ops::__iter_equal_to_iter()); } # 3561 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline bool is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _BinaryPredicate __pred) { ; return std::__is_permutation(__first1, __last1, __first2, __gnu_cxx::__ops::__iter_comp_iter(__pred)); } # 3709 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template void shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last, _UniformRandomNumberGenerator&& __g) { ; if (__first == __last) return; typedef typename iterator_traits<_RandomAccessIterator>::difference_type _DistanceType; typedef typename std::make_unsigned<_DistanceType>::type __ud_type; typedef typename std::uniform_int_distribution<__ud_type> __distr_type; typedef typename __distr_type::param_type __p_type; __distr_type __d; for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i) std::iter_swap(__i, __first + __d(__g, __p_type(0, __i - __first))); } # 3754 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template _Function for_each(_InputIterator __first, _InputIterator __last, _Function __f) { ; for (; __first != __last; ++__first) __f(*__first); return std::move(__f); } # 3775 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline _InputIterator find(_InputIterator __first, _InputIterator __last, const _Tp& __val) { ; return std::__find_if(__first, __last, __gnu_cxx::__ops::__iter_equals_val(__val)); } # 3799 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline _InputIterator find_if(_InputIterator __first, _InputIterator __last, _Predicate __pred) { ; return std::__find_if(__first, __last, __gnu_cxx::__ops::__pred_iter(__pred)); } # 3830 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template _InputIterator find_first_of(_InputIterator __first1, _InputIterator __last1, _ForwardIterator __first2, _ForwardIterator __last2) { ; ; for (; __first1 != __last1; ++__first1) for (_ForwardIterator __iter = __first2; __iter != __last2; ++__iter) if (*__first1 == *__iter) return __first1; return __last1; } # 3870 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template _InputIterator find_first_of(_InputIterator __first1, _InputIterator __last1, _ForwardIterator __first2, _ForwardIterator __last2, _BinaryPredicate __comp) { ; ; for (; __first1 != __last1; ++__first1) for (_ForwardIterator __iter = __first2; __iter != __last2; ++__iter) if (__comp(*__first1, *__iter)) return __first1; return __last1; } # 3902 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline _ForwardIterator adjacent_find(_ForwardIterator __first, _ForwardIterator __last) { ; return std::__adjacent_find(__first, __last, __gnu_cxx::__ops::__iter_equal_to_iter()); } # 3927 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline _ForwardIterator adjacent_find(_ForwardIterator __first, _ForwardIterator __last, _BinaryPredicate __binary_pred) { ; return std::__adjacent_find(__first, __last, __gnu_cxx::__ops::__iter_comp_iter(__binary_pred)); } # 3952 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline typename iterator_traits<_InputIterator>::difference_type count(_InputIterator __first, _InputIterator __last, const _Tp& __value) { ; return std::__count_if(__first, __last, __gnu_cxx::__ops::__iter_equals_val(__value)); } # 3975 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline typename iterator_traits<_InputIterator>::difference_type count_if(_InputIterator __first, _InputIterator __last, _Predicate __pred) { ; return std::__count_if(__first, __last, __gnu_cxx::__ops::__pred_iter(__pred)); } # 4015 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline _ForwardIterator1 search(_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2) { ; ; return std::__search(__first1, __last1, __first2, __last2, __gnu_cxx::__ops::__iter_equal_to_iter()); } # 4054 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline _ForwardIterator1 search(_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2, _BinaryPredicate __predicate) { ; ; return std::__search(__first1, __last1, __first2, __last2, __gnu_cxx::__ops::__iter_comp_iter(__predicate)); } # 4089 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline _ForwardIterator search_n(_ForwardIterator __first, _ForwardIterator __last, _Integer __count, const _Tp& __val) { ; return std::__search_n(__first, __last, __count, __gnu_cxx::__ops::__iter_equals_val(__val)); } # 4122 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline _ForwardIterator search_n(_ForwardIterator __first, _ForwardIterator __last, _Integer __count, const _Tp& __val, _BinaryPredicate __binary_pred) { ; return std::__search_n(__first, __last, __count, __gnu_cxx::__ops::__iter_comp_val(__binary_pred, __val)); } # 4156 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template _OutputIterator transform(_InputIterator __first, _InputIterator __last, _OutputIterator __result, _UnaryOperation __unary_op) { ; for (; __first != __last; ++__first, ++__result) *__result = __unary_op(*__first); return __result; } # 4193 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template _OutputIterator transform(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _OutputIterator __result, _BinaryOperation __binary_op) { ; for (; __first1 != __last1; ++__first1, ++__first2, ++__result) *__result = __binary_op(*__first1, *__first2); return __result; } # 4226 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template void replace(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __old_value, const _Tp& __new_value) { ; for (; __first != __last; ++__first) if (*__first == __old_value) *__first = __new_value; } # 4258 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template void replace_if(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred, const _Tp& __new_value) { ; for (; __first != __last; ++__first) if (__pred(*__first)) *__first = __new_value; } # 4290 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template void generate(_ForwardIterator __first, _ForwardIterator __last, _Generator __gen) { ; for (; __first != __last; ++__first) *__first = __gen(); } # 4321 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template _OutputIterator generate_n(_OutputIterator __first, _Size __n, _Generator __gen) { for (__decltype(__n + 0) __niter = __n; __niter > 0; --__niter, ++__first) *__first = __gen(); return __first; } # 4357 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline _OutputIterator unique_copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result) { ; if (__first == __last) return __result; return std::__unique_copy(__first, __last, __result, __gnu_cxx::__ops::__iter_equal_to_iter(), std::__iterator_category(__first), std::__iterator_category(__result)); } # 4397 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline _OutputIterator unique_copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result, _BinaryPredicate __binary_pred) { ; if (__first == __last) return __result; return std::__unique_copy(__first, __last, __result, __gnu_cxx::__ops::__iter_comp_iter(__binary_pred), std::__iterator_category(__first), std::__iterator_category(__result)); } # 4429 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline void random_shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last) { ; if (__first != __last) for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i) { _RandomAccessIterator __j = __first + std::rand() % ((__i - __first) + 1); if (__i != __j) std::iter_swap(__i, __j); } } # 4463 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template void random_shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last, _RandomNumberGenerator&& __rand) { ; if (__first == __last) return; for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i) { _RandomAccessIterator __j = __first + __rand((__i - __first) + 1); if (__i != __j) std::iter_swap(__i, __j); } } # 4503 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline _ForwardIterator partition(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred) { ; return std::__partition(__first, __last, __pred, std::__iterator_category(__first)); } # 4536 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline void partial_sort(_RandomAccessIterator __first, _RandomAccessIterator __middle, _RandomAccessIterator __last) { ; ; std::__partial_sort(__first, __middle, __last, __gnu_cxx::__ops::__iter_less_iter()); } # 4573 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline void partial_sort(_RandomAccessIterator __first, _RandomAccessIterator __middle, _RandomAccessIterator __last, _Compare __comp) { ; ; std::__partial_sort(__first, __middle, __last, __gnu_cxx::__ops::__iter_comp_iter(__comp)); } # 4608 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline void nth_element(_RandomAccessIterator __first, _RandomAccessIterator __nth, _RandomAccessIterator __last) { ; ; if (__first == __last || __nth == __last) return; std::__introselect(__first, __nth, __last, std::__lg(__last - __first) * 2, __gnu_cxx::__ops::__iter_less_iter()); } # 4646 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline void nth_element(_RandomAccessIterator __first, _RandomAccessIterator __nth, _RandomAccessIterator __last, _Compare __comp) { ; ; if (__first == __last || __nth == __last) return; std::__introselect(__first, __nth, __last, std::__lg(__last - __first) * 2, __gnu_cxx::__ops::__iter_comp_iter(__comp)); } # 4682 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline void sort(_RandomAccessIterator __first, _RandomAccessIterator __last) { ; std::__sort(__first, __last, __gnu_cxx::__ops::__iter_less_iter()); } # 4711 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline void sort(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { ; std::__sort(__first, __last, __gnu_cxx::__ops::__iter_comp_iter(__comp)); } template _OutputIterator __merge(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp) { while (__first1 != __last1 && __first2 != __last2) { if (__comp(__first2, __first1)) { *__result = *__first2; ++__first2; } else { *__result = *__first1; ++__first1; } ++__result; } return std::copy(__first2, __last2, std::copy(__first1, __last1, __result)); } # 4771 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline _OutputIterator merge(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result) { ; ; return std::__merge(__first1, __last1, __first2, __last2, __result, __gnu_cxx::__ops::__iter_less_iter()); } # 4819 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline _OutputIterator merge(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp) { ; ; return std::__merge(__first1, __last1, __first2, __last2, __result, __gnu_cxx::__ops::__iter_comp_iter(__comp)); } template inline void __stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; typedef typename iterator_traits<_RandomAccessIterator>::difference_type _DistanceType; typedef _Temporary_buffer<_RandomAccessIterator, _ValueType> _TmpBuf; _TmpBuf __buf(__first, __last); if (__buf.begin() == 0) std::__inplace_stable_sort(__first, __last, __comp); else std::__stable_sort_adaptive(__first, __last, __buf.begin(), _DistanceType(__buf.size()), __comp); } # 4881 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline void stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last) { ; std::__stable_sort(__first, __last, __gnu_cxx::__ops::__iter_less_iter()); } # 4914 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline void stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { ; std::__stable_sort(__first, __last, __gnu_cxx::__ops::__iter_comp_iter(__comp)); } template _OutputIterator __set_union(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp) { while (__first1 != __last1 && __first2 != __last2) { if (__comp(__first1, __first2)) { *__result = *__first1; ++__first1; } else if (__comp(__first2, __first1)) { *__result = *__first2; ++__first2; } else { *__result = *__first1; ++__first1; ++__first2; } ++__result; } return std::copy(__first2, __last2, std::copy(__first1, __last1, __result)); } # 4981 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline _OutputIterator set_union(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result) { ; ; return std::__set_union(__first1, __last1, __first2, __last2, __result, __gnu_cxx::__ops::__iter_less_iter()); } # 5028 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline _OutputIterator set_union(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp) { ; ; return std::__set_union(__first1, __last1, __first2, __last2, __result, __gnu_cxx::__ops::__iter_comp_iter(__comp)); } template _OutputIterator __set_intersection(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp) { while (__first1 != __last1 && __first2 != __last2) if (__comp(__first1, __first2)) ++__first1; else if (__comp(__first2, __first1)) ++__first2; else { *__result = *__first1; ++__first1; ++__first2; ++__result; } return __result; } # 5096 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline _OutputIterator set_intersection(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result) { ; ; return std::__set_intersection(__first1, __last1, __first2, __last2, __result, __gnu_cxx::__ops::__iter_less_iter()); } # 5142 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline _OutputIterator set_intersection(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp) { ; ; return std::__set_intersection(__first1, __last1, __first2, __last2, __result, __gnu_cxx::__ops::__iter_comp_iter(__comp)); } template _OutputIterator __set_difference(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp) { while (__first1 != __last1 && __first2 != __last2) if (__comp(__first1, __first2)) { *__result = *__first1; ++__first1; ++__result; } else if (__comp(__first2, __first1)) ++__first2; else { ++__first1; ++__first2; } return std::copy(__first1, __last1, __result); } # 5212 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline _OutputIterator set_difference(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result) { ; ; return std::__set_difference(__first1, __last1, __first2, __last2, __result, __gnu_cxx::__ops::__iter_less_iter()); } # 5260 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline _OutputIterator set_difference(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp) { ; ; return std::__set_difference(__first1, __last1, __first2, __last2, __result, __gnu_cxx::__ops::__iter_comp_iter(__comp)); } template _OutputIterator __set_symmetric_difference(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp) { while (__first1 != __last1 && __first2 != __last2) if (__comp(__first1, __first2)) { *__result = *__first1; ++__first1; ++__result; } else if (__comp(__first2, __first1)) { *__result = *__first2; ++__first2; ++__result; } else { ++__first1; ++__first2; } return std::copy(__first2, __last2, std::copy(__first1, __last1, __result)); } # 5336 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline _OutputIterator set_symmetric_difference(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result) { ; ; return std::__set_symmetric_difference(__first1, __last1, __first2, __last2, __result, __gnu_cxx::__ops::__iter_less_iter()); } # 5384 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline _OutputIterator set_symmetric_difference(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp) { ; ; return std::__set_symmetric_difference(__first1, __last1, __first2, __last2, __result, __gnu_cxx::__ops::__iter_comp_iter(__comp)); } template _ForwardIterator __min_element(_ForwardIterator __first, _ForwardIterator __last, _Compare __comp) { if (__first == __last) return __first; _ForwardIterator __result = __first; while (++__first != __last) if (__comp(__first, __result)) __result = __first; return __result; } # 5435 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template _ForwardIterator inline min_element(_ForwardIterator __first, _ForwardIterator __last) { ; return std::__min_element(__first, __last, __gnu_cxx::__ops::__iter_less_iter()); } # 5459 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline _ForwardIterator min_element(_ForwardIterator __first, _ForwardIterator __last, _Compare __comp) { ; return std::__min_element(__first, __last, __gnu_cxx::__ops::__iter_comp_iter(__comp)); } template _ForwardIterator __max_element(_ForwardIterator __first, _ForwardIterator __last, _Compare __comp) { if (__first == __last) return __first; _ForwardIterator __result = __first; while (++__first != __last) if (__comp(__result, __first)) __result = __first; return __result; } # 5497 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline _ForwardIterator max_element(_ForwardIterator __first, _ForwardIterator __last) { ; return std::__max_element(__first, __last, __gnu_cxx::__ops::__iter_less_iter()); } # 5521 "/usr/include/c++/5.0.0/bits/stl_algo.h" 3 template inline _ForwardIterator max_element(_ForwardIterator __first, _ForwardIterator __last, _Compare __comp) { ; return std::__max_element(__first, __last, __gnu_cxx::__ops::__iter_comp_iter(__comp)); } } # 63 "/usr/include/c++/5.0.0/algorithm" 2 3 # 4 "../../../dist/system_wrappers/algorithm" 2 3 #pragma GCC visibility pop # 56 "../../../dist/stl_wrappers/algorithm" 2 3 #pragma GCC visibility pop # 17 "../../../dist/include/nsCoord.h" 2 # 31 "../../../dist/include/nsCoord.h" # 31 "../../../dist/include/nsCoord.h" inline float NS_IEEEPositiveInfinity() { union { uint32_t mPRUint32; float mFloat; } pun; pun.mPRUint32 = 0x7F800000; return pun.mFloat; } inline bool NS_IEEEIsNan(float aF) { union { uint32_t mBits; float mFloat; } pun; pun.mFloat = aF; return (pun.mBits & 0x7F800000) == 0x7F800000 && (pun.mBits & 0x007FFFFF) != 0; } typedef int32_t nscoord; inline void VERIFY_COORD(nscoord aCoord) { } inline nscoord NSCoordMulDiv(nscoord aMult1, nscoord aMult2, nscoord aDiv) { return (int64_t(aMult1) * int64_t(aMult2) / int64_t(aDiv)); } inline nscoord NSToCoordRound(float aValue) { return nscoord(floorf(aValue + 0.5f)); } inline nscoord NSToCoordRound(double aValue) { return nscoord(floor(aValue + 0.5f)); } inline nscoord NSToCoordRoundWithClamp(float aValue) { if (aValue >= nscoord(1 << 30)) { return nscoord(1 << 30); } if (aValue <= (-nscoord(1 << 30))) { return (-nscoord(1 << 30)); } return NSToCoordRound(aValue); } inline nscoord _nscoordSaturatingMultiply(nscoord aCoord, float aScale, bool requireNotNegative) { VERIFY_COORD(aCoord); if (requireNotNegative) { do { } while(0) ; } float product = aCoord * aScale; if (requireNotNegative ? aCoord > 0 : (aCoord > 0) == (aScale > 0)) return NSToCoordRoundWithClamp(std::min(nscoord(1 << 30), product)); return NSToCoordRoundWithClamp(std::max((-nscoord(1 << 30)), product)); } inline nscoord NSCoordSaturatingNonnegativeMultiply(nscoord aCoord, float aScale) { return _nscoordSaturatingMultiply(aCoord, aScale, true); } inline nscoord NSCoordSaturatingMultiply(nscoord aCoord, float aScale) { return _nscoordSaturatingMultiply(aCoord, aScale, false); } # 150 "../../../dist/include/nsCoord.h" inline nscoord NSCoordSaturatingAdd(nscoord a, nscoord b) { VERIFY_COORD(a); VERIFY_COORD(b); if (a == nscoord(1 << 30) || b == nscoord(1 << 30)) { return nscoord(1 << 30); } else { return std::min(nscoord(1 << 30), a + b); } } # 187 "../../../dist/include/nsCoord.h" inline nscoord NSCoordSaturatingSubtract(nscoord a, nscoord b, nscoord infMinusInfResult) { VERIFY_COORD(a); VERIFY_COORD(b); if (b == nscoord(1 << 30)) { if (a == nscoord(1 << 30)) { return infMinusInfResult; } else { do { } while(0); return 0; } } else { if (a == nscoord(1 << 30)) { return nscoord(1 << 30); } else { return std::min(nscoord(1 << 30), a - b); } } } inline float NSCoordToFloat(nscoord aCoord) { VERIFY_COORD(aCoord); return (float)aCoord; } inline nscoord NSToCoordFloor(float aValue) { return nscoord(floorf(aValue)); } inline nscoord NSToCoordFloor(double aValue) { return nscoord(floor(aValue)); } inline nscoord NSToCoordFloorClamped(float aValue) { if (aValue >= nscoord(1 << 30)) { return nscoord(1 << 30); } if (aValue <= (-nscoord(1 << 30))) { return (-nscoord(1 << 30)); } return NSToCoordFloor(aValue); } inline nscoord NSToCoordCeil(float aValue) { return nscoord(ceilf(aValue)); } inline nscoord NSToCoordCeil(double aValue) { return nscoord(ceil(aValue)); } inline nscoord NSToCoordCeilClamped(double aValue) { if (aValue >= nscoord(1 << 30)) { return nscoord(1 << 30); } if (aValue <= (-nscoord(1 << 30))) { return (-nscoord(1 << 30)); } return NSToCoordCeil(aValue); } inline nscoord NSToCoordTrunc(float aValue) { return nscoord(aValue); } inline nscoord NSToCoordTrunc(double aValue) { return nscoord(aValue); } inline nscoord NSToCoordTruncClamped(float aValue) { if (aValue >= nscoord(1 << 30)) { return nscoord(1 << 30); } if (aValue <= (-nscoord(1 << 30))) { return (-nscoord(1 << 30)); } return NSToCoordTrunc(aValue); } inline nscoord NSToCoordTruncClamped(double aValue) { if (aValue >= nscoord(1 << 30)) { return nscoord(1 << 30); } if (aValue <= (-nscoord(1 << 30))) { return (-nscoord(1 << 30)); } return NSToCoordTrunc(aValue); } inline int32_t NSToIntFloor(float aValue) { return int32_t(floorf(aValue)); } inline int32_t NSToIntCeil(float aValue) { return int32_t(ceilf(aValue)); } inline int32_t NSToIntRound(float aValue) { return NS_lroundf(aValue); } inline int32_t NSToIntRound(double aValue) { return NS_lround(aValue); } inline int32_t NSToIntRoundUp(double aValue) { return int32_t(floor(aValue + 0.5)); } inline nscoord NSFloatPixelsToAppUnits(float aPixels, float aAppUnitsPerPixel) { return NSToCoordRoundWithClamp(aPixels * aAppUnitsPerPixel); } inline nscoord NSIntPixelsToAppUnits(int32_t aPixels, int32_t aAppUnitsPerPixel) { nscoord r = aPixels * (nscoord)aAppUnitsPerPixel; VERIFY_COORD(r); return r; } inline float NSAppUnitsToFloatPixels(nscoord aAppUnits, float aAppUnitsPerPixel) { return (float(aAppUnits) / aAppUnitsPerPixel); } inline double NSAppUnitsToDoublePixels(nscoord aAppUnits, double aAppUnitsPerPixel) { return (double(aAppUnits) / aAppUnitsPerPixel); } inline int32_t NSAppUnitsToIntPixels(nscoord aAppUnits, float aAppUnitsPerPixel) { return NSToIntRound(float(aAppUnits) / aAppUnitsPerPixel); } inline float NSCoordScale(nscoord aCoord, int32_t aFromAPP, int32_t aToAPP) { return (NSCoordToFloat(aCoord) * aToAPP) / aFromAPP; } # 401 "../../../dist/include/nsCoord.h" inline float NSUnitsToTwips(float aValue, float aPointsPerUnit) { return aValue * aPointsPerUnit * 20.0f; } inline float NSTwipsToUnits(float aTwips, float aUnitsPerPoint) { return (aTwips * (aUnitsPerPoint / 20.0f)); } # 10 "../../../dist/include/nsSize.h" 2 # 1 "../../../dist/include/mozilla/gfx/BaseSize.h" 1 # 11 "../../../dist/include/mozilla/gfx/BaseSize.h" namespace mozilla { namespace gfx { template struct BaseSize { T width, height; constexpr BaseSize() : width(0), height(0) {} constexpr BaseSize(T aWidth, T aHeight) : width(aWidth), height(aHeight) {} void SizeTo(T aWidth, T aHeight) { width = aWidth; height = aHeight; } bool IsEmpty() const { return width == 0 || height == 0; } bool operator==(const Sub& aSize) const { return width == aSize.width && height == aSize.height; } bool operator!=(const Sub& aSize) const { return width != aSize.width || height != aSize.height; } bool operator<=(const Sub& aSize) const { return width <= aSize.width && height <= aSize.height; } bool operator<(const Sub& aSize) const { return *this <= aSize && *this != aSize; } Sub operator+(const Sub& aSize) const { return Sub(width + aSize.width, height + aSize.height); } Sub operator-(const Sub& aSize) const { return Sub(width - aSize.width, height - aSize.height); } Sub& operator+=(const Sub& aSize) { width += aSize.width; height += aSize.height; return *static_cast(this); } Sub& operator-=(const Sub& aSize) { width -= aSize.width; height -= aSize.height; return *static_cast(this); } Sub operator*(T aScale) const { return Sub(width * aScale, height * aScale); } Sub operator/(T aScale) const { return Sub(width / aScale, height / aScale); } void Scale(T aXScale, T aYScale) { width *= aXScale; height *= aYScale; } Sub operator*(const Sub& aSize) const { return Sub(width * aSize.width, height * aSize.height); } Sub operator/(const Sub& aSize) const { return Sub(width / aSize.width, height / aSize.height); } }; } } # 11 "../../../dist/include/nsSize.h" 2 # 1 "../../../dist/include/mozilla/gfx/Point.h" 1 # 10 "../../../dist/include/mozilla/gfx/Point.h" # 1 "../../../dist/include/mozilla/gfx/Types.h" 1 # 9 "../../../dist/include/mozilla/gfx/Types.h" # 1 "../../../dist/include/mozilla/NullPtr.h" 1 # 10 "../../../dist/include/mozilla/gfx/Types.h" 2 # 1 "../../../dist/include/mozilla/TypedEnum.h" 1 # 11 "../../../dist/include/mozilla/gfx/Types.h" 2 # 1 "../../../dist/system_wrappers/stddef.h" 1 # 2 "../../../dist/system_wrappers/stddef.h" 3 #pragma GCC visibility push(default) # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/stddef.h" 1 3 4 # 4 "../../../dist/system_wrappers/stddef.h" 2 3 #pragma GCC visibility pop # 13 "../../../dist/include/mozilla/gfx/Types.h" 2 # 1 "../../../dist/system_wrappers/stdint.h" 1 # 2 "../../../dist/system_wrappers/stdint.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 14 "../../../dist/include/mozilla/gfx/Types.h" 2 namespace mozilla { namespace gfx { typedef float Float; enum class SurfaceType : int8_t { DATA, D2D1_BITMAP, D2D1_DRAWTARGET, CAIRO, CAIRO_IMAGE, COREGRAPHICS_IMAGE, COREGRAPHICS_CGCONTEXT, SKIA, DUAL_DT, D2D1_1_IMAGE, RECORDING, TILED }; enum class SurfaceFormat : int8_t { B8G8R8A8, B8G8R8X8, R8G8B8A8, R8G8B8X8, R5G6B5, A8, YUV, UNKNOWN }; inline bool IsOpaque(SurfaceFormat aFormat) { switch (aFormat) { case SurfaceFormat::B8G8R8X8: case SurfaceFormat::R8G8B8X8: case SurfaceFormat::R5G6B5: case SurfaceFormat::YUV: return true; default: return false; } } enum class FilterType : int8_t { BLEND = 0, TRANSFORM, MORPHOLOGY, COLOR_MATRIX, FLOOD, TILE, TABLE_TRANSFER, DISCRETE_TRANSFER, LINEAR_TRANSFER, GAMMA_TRANSFER, CONVOLVE_MATRIX, DISPLACEMENT_MAP, TURBULENCE, ARITHMETIC_COMBINE, COMPOSITE, DIRECTIONAL_BLUR, GAUSSIAN_BLUR, POINT_DIFFUSE, POINT_SPECULAR, SPOT_DIFFUSE, SPOT_SPECULAR, DISTANT_DIFFUSE, DISTANT_SPECULAR, CROP, PREMULTIPLY, UNPREMULTIPLY }; enum class DrawTargetType : int8_t { SOFTWARE_RASTER = 0, HARDWARE_RASTER, VECTOR }; enum class BackendType : int8_t { NONE = 0, DIRECT2D, COREGRAPHICS, COREGRAPHICS_ACCELERATED, CAIRO, SKIA, RECORDING, DIRECT2D1_1 }; enum class FontType : int8_t { DWRITE, GDI, MAC, SKIA, CAIRO, COREGRAPHICS }; enum class NativeSurfaceType : int8_t { D3D10_TEXTURE, CAIRO_SURFACE, CAIRO_CONTEXT, CGCONTEXT, CGCONTEXT_ACCELERATED, OPENGL_TEXTURE }; enum class NativeFontType : int8_t { DWRITE_FONT_FACE, GDI_FONT_FACE, MAC_FONT_FACE, SKIA_FONT_FACE, CAIRO_FONT_FACE }; enum class FontStyle : int8_t { NORMAL, ITALIC, BOLD, BOLD_ITALIC }; enum class FontHinting : int8_t { NONE, LIGHT, NORMAL, FULL }; enum class CompositionOp : int8_t { OP_OVER, OP_ADD, OP_ATOP, OP_OUT, OP_IN, OP_SOURCE, OP_DEST_IN, OP_DEST_OUT, OP_DEST_OVER, OP_DEST_ATOP, OP_XOR, OP_MULTIPLY, OP_SCREEN, OP_OVERLAY, OP_DARKEN, OP_LIGHTEN, OP_COLOR_DODGE, OP_COLOR_BURN, OP_HARD_LIGHT, OP_SOFT_LIGHT, OP_DIFFERENCE, OP_EXCLUSION, OP_HUE, OP_SATURATION, OP_COLOR, OP_LUMINOSITY, OP_COUNT }; enum class ExtendMode : int8_t { CLAMP, REPEAT, REFLECT }; enum class FillRule : int8_t { FILL_WINDING, FILL_EVEN_ODD }; enum class AntialiasMode : int8_t { NONE, GRAY, SUBPIXEL, DEFAULT }; enum class Filter : int8_t { GOOD, LINEAR, POINT }; enum class PatternType : int8_t { COLOR, SURFACE, LINEAR_GRADIENT, RADIAL_GRADIENT }; enum class JoinStyle : int8_t { BEVEL, ROUND, MITER, MITER_OR_BEVEL }; enum class CapStyle : int8_t { BUTT, ROUND, SQUARE }; enum class SamplingBounds : int8_t { UNBOUNDED, BOUNDED }; struct Color { public: Color() : r(0.0f), g(0.0f), b(0.0f), a(0.0f) {} Color(Float aR, Float aG, Float aB, Float aA) : r(aR), g(aG), b(aB), a(aA) {} Color(Float aR, Float aG, Float aB) : r(aR), g(aG), b(aB), a(1.0f) {} static Color FromABGR(uint32_t aColor) { Color newColor(((aColor >> 0) & 0xff) * (1.0f / 255.0f), ((aColor >> 8) & 0xff) * (1.0f / 255.0f), ((aColor >> 16) & 0xff) * (1.0f / 255.0f), ((aColor >> 24) & 0xff) * (1.0f / 255.0f)); return newColor; } static Color FromARGB(uint32_t aColor) { Color newColor(((aColor >> 16) & 0xff) * (1.0f / 255.0f), ((aColor >> 8) & 0xff) * (1.0f / 255.0f), ((aColor >> 0) & 0xff) * (1.0f / 255.0f), ((aColor >> 24) & 0xff) * (1.0f / 255.0f)); return newColor; } uint32_t ToABGR() const { return uint32_t(r * 255.0f) | uint32_t(g * 255.0f) << 8 | uint32_t(b * 255.0f) << 16 | uint32_t(a * 255.0f) << 24; } uint32_t ToARGB() const { return uint32_t(b * 255.0f) | uint32_t(g * 255.0f) << 8 | uint32_t(r * 255.0f) << 16 | uint32_t(a * 255.0f) << 24; } Float r, g, b, a; }; struct GradientStop { bool operator<(const GradientStop& aOther) const { return offset < aOther.offset; } Float offset; Color color; }; } } # 296 "../../../dist/include/mozilla/gfx/Types.h" namespace mozilla { struct RectCorner { enum { TopLeft = 0, TopRight = 1, BottomRight = 2, BottomLeft = 3, Count = 4 }; }; enum Side { eSideTop, eSideRight, eSideBottom, eSideLeft }; enum SideBits { eSideBitsNone = 0, eSideBitsTop = 1 << eSideTop, eSideBitsRight = 1 << eSideRight, eSideBitsBottom = 1 << eSideBottom, eSideBitsLeft = 1 << eSideLeft, eSideBitsTopBottom = eSideBitsTop | eSideBitsBottom, eSideBitsLeftRight = eSideBitsLeft | eSideBitsRight, eSideBitsAll = eSideBitsTopBottom | eSideBitsLeftRight }; } # 11 "../../../dist/include/mozilla/gfx/Point.h" 2 # 1 "../../../dist/include/mozilla/gfx/Coord.h" 1 # 11 "../../../dist/include/mozilla/gfx/Coord.h" # 1 "../../../dist/include/mozilla/gfx/BaseCoord.h" 1 # 11 "../../../dist/include/mozilla/gfx/BaseCoord.h" namespace mozilla { namespace gfx { template struct BaseCoord { T value; constexpr BaseCoord() : value(0) {} explicit constexpr BaseCoord(T aValue) : value(aValue) {} operator T() const { return value; } friend bool operator==(Sub aA, Sub aB) { return aA.value == aB.value; } friend bool operator!=(Sub aA, Sub aB) { return aA.value != aB.value; } friend Sub operator+(Sub aA, Sub aB) { return Sub(aA.value + aB.value); } friend Sub operator-(Sub aA, Sub aB) { return Sub(aA.value - aB.value); } friend Sub operator*(Sub aCoord, T aScale) { return Sub(aCoord.value * aScale); } friend Sub operator*(T aScale, Sub aCoord) { return Sub(aScale * aCoord.value); } friend Sub operator/(Sub aCoord, T aScale) { return Sub(aCoord.value / aScale); } Sub& operator+=(Sub aCoord) { value += aCoord.value; return *static_cast(this); } Sub& operator-=(Sub aCoord) { value -= aCoord.value; return *static_cast(this); } Sub& operator*=(T aScale) { value *= aScale; return *static_cast(this); } Sub& operator/=(T aScale) { value /= aScale; return *static_cast(this); } friend bool operator==(Sub aA, T aB) { return aA.value == aB; } friend bool operator==(T aA, Sub aB) { return aA == aB.value; } friend bool operator!=(Sub aA, T aB) { return aA.value != aB; } friend bool operator!=(T aA, Sub aB) { return aA != aB.value; } friend T operator+(Sub aA, T aB) { return aA.value + aB; } friend T operator+(T aA, Sub aB) { return aA + aB.value; } friend T operator-(Sub aA, T aB) { return aA.value - aB; } friend T operator-(T aA, Sub aB) { return aA - aB.value; } Sub operator-() const { return Sub(-value); } }; } } # 12 "../../../dist/include/mozilla/gfx/Coord.h" 2 # 1 "/usr/include/c++/5.0.0/cmath" 1 3 # 39 "/usr/include/c++/5.0.0/cmath" 3 # 40 "/usr/include/c++/5.0.0/cmath" 3 # 1 "../../../dist/system_wrappers/math.h" 1 3 # 2 "../../../dist/system_wrappers/math.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 45 "/usr/include/c++/5.0.0/cmath" 2 3 # 14 "../../../dist/include/mozilla/gfx/Coord.h" 2 namespace mozilla { template struct IsPixel; namespace gfx { template struct IntCoordTyped; template struct CoordTyped; # 32 "../../../dist/include/mozilla/gfx/Coord.h" template struct CommonType; template struct CommonType, primitive> { typedef decltype(int32_t() + primitive()) type; }; template struct CommonType, primitive> { typedef decltype(Float() + primitive()) type; }; template struct CoordOperatorsHelper { friend bool operator==(coord aA, primitive aB) { return aA.value == aB; } friend bool operator==(primitive aA, coord aB) { return aA == aB.value; } friend bool operator!=(coord aA, primitive aB) { return aA.value != aB; } friend bool operator!=(primitive aA, coord aB) { return aA != aB.value; } typedef typename CommonType::type result_type; friend result_type operator+(coord aA, primitive aB) { return aA.value + aB; } friend result_type operator+(primitive aA, coord aB) { return aA + aB.value; } friend result_type operator-(coord aA, primitive aB) { return aA.value - aB; } friend result_type operator-(primitive aA, coord aB) { return aA - aB.value; } friend result_type operator*(coord aCoord, primitive aScale) { return aCoord.value * aScale; } friend result_type operator*(primitive aScale, coord aCoord) { return aScale * aCoord.value; } friend result_type operator/(coord aCoord, primitive aScale) { return aCoord.value / aScale; } }; template struct IntCoordTyped : public BaseCoord< int32_t, IntCoordTyped >, public CoordOperatorsHelper< IntCoordTyped, float >, public CoordOperatorsHelper< IntCoordTyped, double > { static_assert(IsPixel::value, "'units' must be a coordinate system tag"); typedef BaseCoord< int32_t, IntCoordTyped > Super; constexpr IntCoordTyped() : Super() {} constexpr IntCoordTyped(int32_t aValue) : Super(aValue) {} }; template struct CoordTyped : public BaseCoord< Float, CoordTyped >, public CoordOperatorsHelper< CoordTyped, int32_t >, public CoordOperatorsHelper< CoordTyped, uint32_t >, public CoordOperatorsHelper< CoordTyped, double > { static_assert(IsPixel::value, "'units' must be a coordinate system tag"); typedef BaseCoord< Float, CoordTyped > Super; constexpr CoordTyped() : Super() {} constexpr CoordTyped(Float aValue) : Super(aValue) {} explicit constexpr CoordTyped(const IntCoordTyped& aCoord) : Super(float(aCoord.value)) {} void Round() { this->value = floor(this->value + 0.5); } void Truncate() { this->value = int32_t(this->value); } IntCoordTyped Rounded() const { return IntCoordTyped(int32_t(floor(this->value + 0.5))); } IntCoordTyped Truncated() const { return IntCoordTyped(int32_t(this->value)); } }; } } # 12 "../../../dist/include/mozilla/gfx/Point.h" 2 # 1 "../../../dist/include/mozilla/gfx/BasePoint.h" 1 # 9 "../../../dist/include/mozilla/gfx/BasePoint.h" # 1 "/usr/include/c++/5.0.0/cmath" 1 3 # 39 "/usr/include/c++/5.0.0/cmath" 3 # 40 "/usr/include/c++/5.0.0/cmath" 3 # 1 "../../../dist/system_wrappers/math.h" 1 3 # 2 "../../../dist/system_wrappers/math.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 45 "/usr/include/c++/5.0.0/cmath" 2 3 # 10 "../../../dist/include/mozilla/gfx/BasePoint.h" 2 # 1 "../../../dist/include/mozilla/ToString.h" 1 # 13 "../../../dist/include/mozilla/ToString.h" # 1 "../../../dist/system_wrappers/sstream" 1 # 2 "../../../dist/system_wrappers/sstream" 3 #pragma GCC visibility push(default) # 1 "/usr/include/c++/5.0.0/sstream" 1 3 # 36 "/usr/include/c++/5.0.0/sstream" 3 # 37 "/usr/include/c++/5.0.0/sstream" 3 # 1 "/usr/include/c++/5.0.0/istream" 1 3 # 36 "/usr/include/c++/5.0.0/istream" 3 # 37 "/usr/include/c++/5.0.0/istream" 3 # 1 "../../../dist/stl_wrappers/ios" 1 3 # 18 "../../../dist/stl_wrappers/ios" 3 # 19 "../../../dist/stl_wrappers/ios" 3 # 33 "../../../dist/stl_wrappers/ios" 3 # 1 "../../../dist/system_wrappers/new" 1 3 # 2 "../../../dist/system_wrappers/new" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 34 "../../../dist/stl_wrappers/ios" 2 3 # 54 "../../../dist/stl_wrappers/ios" 3 #pragma GCC visibility push(default) # 1 "../../../dist/system_wrappers/ios" 1 3 # 2 "../../../dist/system_wrappers/ios" 3 #pragma GCC visibility push(default) # 1 "/usr/include/c++/5.0.0/ios" 1 3 # 36 "/usr/include/c++/5.0.0/ios" 3 # 37 "/usr/include/c++/5.0.0/ios" 3 # 1 "../../../dist/system_wrappers/exception" 1 3 # 2 "../../../dist/system_wrappers/exception" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 40 "/usr/include/c++/5.0.0/ios" 2 3 # 1 "/usr/include/c++/5.0.0/bits/ios_base.h" 1 3 # 37 "/usr/include/c++/5.0.0/bits/ios_base.h" 3 # 38 "/usr/include/c++/5.0.0/bits/ios_base.h" 3 # 1 "/usr/include/c++/5.0.0/bits/locale_classes.h" 1 3 # 37 "/usr/include/c++/5.0.0/bits/locale_classes.h" 3 # 38 "/usr/include/c++/5.0.0/bits/locale_classes.h" 3 # 43 "/usr/include/c++/5.0.0/bits/locale_classes.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 62 "/usr/include/c++/5.0.0/bits/locale_classes.h" 3 class locale { public: typedef int category; class facet; class id; class _Impl; friend class facet; friend class _Impl; template friend bool has_facet(const locale&) throw(); template friend const _Facet& use_facet(const locale&); template friend struct __use_cache; # 98 "/usr/include/c++/5.0.0/bits/locale_classes.h" 3 static const category none = 0; static const category ctype = 1L << 0; static const category numeric = 1L << 1; static const category collate = 1L << 2; static const category time = 1L << 3; static const category monetary = 1L << 4; static const category messages = 1L << 5; static const category all = (ctype | numeric | collate | time | monetary | messages); # 117 "/usr/include/c++/5.0.0/bits/locale_classes.h" 3 locale() throw(); # 126 "/usr/include/c++/5.0.0/bits/locale_classes.h" 3 locale(const locale& __other) throw(); # 136 "/usr/include/c++/5.0.0/bits/locale_classes.h" 3 explicit locale(const char* __s); # 151 "/usr/include/c++/5.0.0/bits/locale_classes.h" 3 locale(const locale& __base, const char* __s, category __cat); # 162 "/usr/include/c++/5.0.0/bits/locale_classes.h" 3 explicit locale(const std::string& __s) : locale(__s.c_str()) { } # 177 "/usr/include/c++/5.0.0/bits/locale_classes.h" 3 locale(const locale& __base, const std::string& __s, category __cat) : locale(__base, __s.c_str(), __cat) { } # 192 "/usr/include/c++/5.0.0/bits/locale_classes.h" 3 locale(const locale& __base, const locale& __add, category __cat); # 205 "/usr/include/c++/5.0.0/bits/locale_classes.h" 3 template locale(const locale& __other, _Facet* __f); ~locale() throw(); # 219 "/usr/include/c++/5.0.0/bits/locale_classes.h" 3 const locale& operator=(const locale& __other) throw(); # 234 "/usr/include/c++/5.0.0/bits/locale_classes.h" 3 template locale combine(const locale& __other) const; string name() const; # 254 "/usr/include/c++/5.0.0/bits/locale_classes.h" 3 bool operator==(const locale& __other) const throw(); bool operator!=(const locale& __other) const throw() { return !(this->operator==(__other)); } # 282 "/usr/include/c++/5.0.0/bits/locale_classes.h" 3 template bool operator()(const basic_string<_Char, _Traits, _Alloc>& __s1, const basic_string<_Char, _Traits, _Alloc>& __s2) const; # 298 "/usr/include/c++/5.0.0/bits/locale_classes.h" 3 static locale global(const locale& __loc); static const locale& classic(); private: _Impl* _M_impl; static _Impl* _S_classic; static _Impl* _S_global; static const char* const* const _S_categories; # 333 "/usr/include/c++/5.0.0/bits/locale_classes.h" 3 enum { _S_categories_size = 6 + 6 }; static __gthread_once_t _S_once; explicit locale(_Impl*) throw(); static void _S_initialize(); static void _S_initialize_once() throw(); static category _S_normalize_category(category); void _M_coalesce(const locale& __base, const locale& __add, category __cat); }; # 371 "/usr/include/c++/5.0.0/bits/locale_classes.h" 3 class locale::facet { private: friend class locale; friend class locale::_Impl; mutable _Atomic_word _M_refcount; static __c_locale _S_c_locale; static const char _S_c_name[2]; static __gthread_once_t _S_once; static void _S_initialize_once(); protected: # 402 "/usr/include/c++/5.0.0/bits/locale_classes.h" 3 explicit facet(size_t __refs = 0) throw() : _M_refcount(__refs ? 1 : 0) { } virtual ~facet(); static void _S_create_c_locale(__c_locale& __cloc, const char* __s, __c_locale __old = 0); static __c_locale _S_clone_c_locale(__c_locale& __cloc) throw(); static void _S_destroy_c_locale(__c_locale& __cloc); static __c_locale _S_lc_ctype_c_locale(__c_locale __cloc, const char* __s); static __c_locale _S_get_c_locale(); __attribute__ ((__const__)) static const char* _S_get_c_name() throw(); private: void _M_add_reference() const throw() { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); } void _M_remove_reference() const throw() { ; if (__gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1) == 1) { ; if (true) { delete this; } if (false) { } } } facet(const facet&); facet& operator=(const facet&); class __shim; const facet* _M_sso_shim(const id*) const; const facet* _M_cow_shim(const id*) const; }; # 474 "/usr/include/c++/5.0.0/bits/locale_classes.h" 3 class locale::id { private: friend class locale; friend class locale::_Impl; template friend const _Facet& use_facet(const locale&); template friend bool has_facet(const locale&) throw(); mutable size_t _M_index; static _Atomic_word _S_refcount; void operator=(const id&); id(const id&); public: id() { } size_t _M_id() const throw(); }; class locale::_Impl { public: friend class locale; friend class locale::facet; template friend bool has_facet(const locale&) throw(); template friend const _Facet& use_facet(const locale&); template friend struct __use_cache; private: _Atomic_word _M_refcount; const facet** _M_facets; size_t _M_facets_size; const facet** _M_caches; char** _M_names; static const locale::id* const _S_id_ctype[]; static const locale::id* const _S_id_numeric[]; static const locale::id* const _S_id_collate[]; static const locale::id* const _S_id_time[]; static const locale::id* const _S_id_monetary[]; static const locale::id* const _S_id_messages[]; static const locale::id* const* const _S_facet_categories[]; void _M_add_reference() throw() { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); } void _M_remove_reference() throw() { ; if (__gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1) == 1) { ; if (true) { delete this; } if (false) { } } } _Impl(const _Impl&, size_t); _Impl(const char*, size_t); _Impl(size_t) throw(); ~_Impl() throw(); _Impl(const _Impl&); void operator=(const _Impl&); bool _M_check_same_name() { bool __ret = true; if (_M_names[1]) for (size_t __i = 0; __ret && __i < _S_categories_size - 1; ++__i) __ret = __builtin_strcmp(_M_names[__i], _M_names[__i + 1]) == 0; return __ret; } void _M_replace_categories(const _Impl*, category); void _M_replace_category(const _Impl*, const locale::id* const*); void _M_replace_facet(const _Impl*, const locale::id*); void _M_install_facet(const locale::id*, const facet*); template void _M_init_facet(_Facet* __facet) { _M_install_facet(&_Facet::id, __facet); } template void _M_init_facet_unchecked(_Facet* __facet) { __facet->_M_add_reference(); _M_facets[_Facet::id._M_id()] = __facet; } void _M_install_cache(const facet*, size_t); void _M_init_extra(facet**); void _M_init_extra(void*, void*, const char*, const char*); }; # 632 "/usr/include/c++/5.0.0/bits/locale_classes.h" 3 template class collate : public locale::facet { public: typedef _CharT char_type; typedef basic_string<_CharT> string_type; protected: __c_locale _M_c_locale_collate; public: static locale::id id; # 659 "/usr/include/c++/5.0.0/bits/locale_classes.h" 3 explicit collate(size_t __refs = 0) : facet(__refs), _M_c_locale_collate(_S_get_c_locale()) { } # 673 "/usr/include/c++/5.0.0/bits/locale_classes.h" 3 explicit collate(__c_locale __cloc, size_t __refs = 0) : facet(__refs), _M_c_locale_collate(_S_clone_c_locale(__cloc)) { } # 690 "/usr/include/c++/5.0.0/bits/locale_classes.h" 3 int compare(const _CharT* __lo1, const _CharT* __hi1, const _CharT* __lo2, const _CharT* __hi2) const { return this->do_compare(__lo1, __hi1, __lo2, __hi2); } # 709 "/usr/include/c++/5.0.0/bits/locale_classes.h" 3 string_type transform(const _CharT* __lo, const _CharT* __hi) const { return this->do_transform(__lo, __hi); } # 723 "/usr/include/c++/5.0.0/bits/locale_classes.h" 3 long hash(const _CharT* __lo, const _CharT* __hi) const { return this->do_hash(__lo, __hi); } int _M_compare(const _CharT*, const _CharT*) const throw(); size_t _M_transform(_CharT*, const _CharT*, size_t) const throw(); protected: virtual ~collate() { _S_destroy_c_locale(_M_c_locale_collate); } # 752 "/usr/include/c++/5.0.0/bits/locale_classes.h" 3 virtual int do_compare(const _CharT* __lo1, const _CharT* __hi1, const _CharT* __lo2, const _CharT* __hi2) const; # 766 "/usr/include/c++/5.0.0/bits/locale_classes.h" 3 virtual string_type do_transform(const _CharT* __lo, const _CharT* __hi) const; # 779 "/usr/include/c++/5.0.0/bits/locale_classes.h" 3 virtual long do_hash(const _CharT* __lo, const _CharT* __hi) const; }; template locale::id collate<_CharT>::id; template<> int collate::_M_compare(const char*, const char*) const throw(); template<> size_t collate::_M_transform(char*, const char*, size_t) const throw(); template<> int collate::_M_compare(const wchar_t*, const wchar_t*) const throw(); template<> size_t collate::_M_transform(wchar_t*, const wchar_t*, size_t) const throw(); template class collate_byname : public collate<_CharT> { public: typedef _CharT char_type; typedef basic_string<_CharT> string_type; explicit collate_byname(const char* __s, size_t __refs = 0) : collate<_CharT>(__refs) { if (__builtin_strcmp(__s, "C") != 0 && __builtin_strcmp(__s, "POSIX") != 0) { this->_S_destroy_c_locale(this->_M_c_locale_collate); this->_S_create_c_locale(this->_M_c_locale_collate, __s); } } explicit collate_byname(const string& __s, size_t __refs = 0) : collate_byname(__s.c_str(), __refs) { } protected: virtual ~collate_byname() { } }; } # 1 "/usr/include/c++/5.0.0/bits/locale_classes.tcc" 1 3 # 37 "/usr/include/c++/5.0.0/bits/locale_classes.tcc" 3 # 38 "/usr/include/c++/5.0.0/bits/locale_classes.tcc" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template locale:: locale(const locale& __other, _Facet* __f) { _M_impl = new _Impl(*__other._M_impl, 1); if (true) { _M_impl->_M_install_facet(&_Facet::id, __f); } if (false) { _M_impl->_M_remove_reference(); ; } delete [] _M_impl->_M_names[0]; _M_impl->_M_names[0] = 0; } template locale locale:: combine(const locale& __other) const { _Impl* __tmp = new _Impl(*_M_impl, 1); if (true) { __tmp->_M_replace_facet(__other._M_impl, &_Facet::id); } if (false) { __tmp->_M_remove_reference(); ; } return locale(__tmp); } template bool locale:: operator()(const basic_string<_CharT, _Traits, _Alloc>& __s1, const basic_string<_CharT, _Traits, _Alloc>& __s2) const { typedef std::collate<_CharT> __collate_type; const __collate_type& __collate = use_facet<__collate_type>(*this); return (__collate.compare(__s1.data(), __s1.data() + __s1.length(), __s2.data(), __s2.data() + __s2.length()) < 0); } # 102 "/usr/include/c++/5.0.0/bits/locale_classes.tcc" 3 template bool has_facet(const locale& __loc) throw() { const size_t __i = _Facet::id._M_id(); const locale::facet** __facets = __loc._M_impl->_M_facets; return (__i < __loc._M_impl->_M_facets_size && static_cast(__facets[__i])); } # 130 "/usr/include/c++/5.0.0/bits/locale_classes.tcc" 3 template const _Facet& use_facet(const locale& __loc) { const size_t __i = _Facet::id._M_id(); const locale::facet** __facets = __loc._M_impl->_M_facets; if (__i >= __loc._M_impl->_M_facets_size || !__facets[__i]) __throw_bad_cast(); return static_cast(*__facets[__i]); } template int collate<_CharT>::_M_compare(const _CharT*, const _CharT*) const throw () { return 0; } template size_t collate<_CharT>::_M_transform(_CharT*, const _CharT*, size_t) const throw () { return 0; } template int collate<_CharT>:: do_compare(const _CharT* __lo1, const _CharT* __hi1, const _CharT* __lo2, const _CharT* __hi2) const { const string_type __one(__lo1, __hi1); const string_type __two(__lo2, __hi2); const _CharT* __p = __one.c_str(); const _CharT* __pend = __one.data() + __one.length(); const _CharT* __q = __two.c_str(); const _CharT* __qend = __two.data() + __two.length(); for (;;) { const int __res = _M_compare(__p, __q); if (__res) return __res; __p += char_traits<_CharT>::length(__p); __q += char_traits<_CharT>::length(__q); if (__p == __pend && __q == __qend) return 0; else if (__p == __pend) return -1; else if (__q == __qend) return 1; __p++; __q++; } } template typename collate<_CharT>::string_type collate<_CharT>:: do_transform(const _CharT* __lo, const _CharT* __hi) const { string_type __ret; const string_type __str(__lo, __hi); const _CharT* __p = __str.c_str(); const _CharT* __pend = __str.data() + __str.length(); size_t __len = (__hi - __lo) * 2; _CharT* __c = new _CharT[__len]; if (true) { for (;;) { size_t __res = _M_transform(__c, __p, __len); if (__res >= __len) { __len = __res + 1; delete [] __c, __c = 0; __c = new _CharT[__len]; __res = _M_transform(__c, __p, __len); } __ret.append(__c, __res); __p += char_traits<_CharT>::length(__p); if (__p == __pend) break; __p++; __ret.push_back(_CharT()); } } if (false) { delete [] __c; ; } delete [] __c; return __ret; } template long collate<_CharT>:: do_hash(const _CharT* __lo, const _CharT* __hi) const { unsigned long __val = 0; for (; __lo < __hi; ++__lo) __val = *__lo + ((__val << 7) | (__val >> (__gnu_cxx::__numeric_traits:: __digits - 7))); return static_cast(__val); } extern template class collate; extern template class collate_byname; extern template const collate& use_facet >(const locale&); extern template bool has_facet >(const locale&); extern template class collate; extern template class collate_byname; extern template const collate& use_facet >(const locale&); extern template bool has_facet >(const locale&); } # 843 "/usr/include/c++/5.0.0/bits/locale_classes.h" 2 3 # 42 "/usr/include/c++/5.0.0/bits/ios_base.h" 2 3 # 1 "/usr/include/c++/5.0.0/system_error" 1 3 # 32 "/usr/include/c++/5.0.0/system_error" 3 # 33 "/usr/include/c++/5.0.0/system_error" 3 # 1 "/usr/include/c++/5.0.0/i686-redhat-linux/bits/error_constants.h" 1 3 # 34 "/usr/include/c++/5.0.0/i686-redhat-linux/bits/error_constants.h" 3 # 1 "../../../dist/system_wrappers/cerrno" 1 3 # 2 "../../../dist/system_wrappers/cerrno" 3 #pragma GCC visibility push(default) # 1 "/usr/include/c++/5.0.0/cerrno" 1 3 # 39 "/usr/include/c++/5.0.0/cerrno" 3 # 40 "/usr/include/c++/5.0.0/cerrno" 3 # 1 "../../../dist/system_wrappers/errno.h" 1 3 # 2 "../../../dist/system_wrappers/errno.h" 3 #pragma GCC visibility push(default) # 1 "/usr/include/errno.h" 1 3 4 # 4 "../../../dist/system_wrappers/errno.h" 2 3 #pragma GCC visibility pop # 42 "/usr/include/c++/5.0.0/cerrno" 2 3 # 4 "../../../dist/system_wrappers/cerrno" 2 3 #pragma GCC visibility pop # 35 "/usr/include/c++/5.0.0/i686-redhat-linux/bits/error_constants.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { enum class errc { address_family_not_supported = 97, address_in_use = 98, address_not_available = 99, already_connected = 106, argument_list_too_long = 7, argument_out_of_domain = 33, bad_address = 14, bad_file_descriptor = 9, bad_message = 74, broken_pipe = 32, connection_aborted = 103, connection_already_in_progress = 114, connection_refused = 111, connection_reset = 104, cross_device_link = 18, destination_address_required = 89, device_or_resource_busy = 16, directory_not_empty = 39, executable_format_error = 8, file_exists = 17, file_too_large = 27, filename_too_long = 36, function_not_supported = 38, host_unreachable = 113, identifier_removed = 43, illegal_byte_sequence = 84, inappropriate_io_control_operation = 25, interrupted = 4, invalid_argument = 22, invalid_seek = 29, io_error = 5, is_a_directory = 21, message_size = 90, network_down = 100, network_reset = 102, network_unreachable = 101, no_buffer_space = 105, no_child_process = 10, no_link = 67, no_lock_available = 37, no_message_available = 61, no_message = 42, no_protocol_option = 92, no_space_on_device = 28, no_stream_resources = 63, no_such_device_or_address = 6, no_such_device = 19, no_such_file_or_directory = 2, no_such_process = 3, not_a_directory = 20, not_a_socket = 88, not_a_stream = 60, not_connected = 107, not_enough_memory = 12, not_supported = 95, operation_canceled = 125, operation_in_progress = 115, operation_not_permitted = 1, operation_not_supported = 95, operation_would_block = 11, owner_dead = 130, permission_denied = 13, protocol_error = 71, protocol_not_supported = 93, read_only_file_system = 30, resource_deadlock_would_occur = 35, resource_unavailable_try_again = 11, result_out_of_range = 34, state_not_recoverable = 131, stream_timeout = 62, text_file_busy = 26, timed_out = 110, too_many_files_open_in_system = 23, too_many_files_open = 24, too_many_links = 31, too_many_symbolic_link_levels = 40, value_too_large = 75, wrong_protocol_type = 91 }; } # 40 "/usr/include/c++/5.0.0/system_error" 2 3 # 1 "/usr/include/c++/5.0.0/stdexcept" 1 3 # 36 "/usr/include/c++/5.0.0/stdexcept" 3 # 37 "/usr/include/c++/5.0.0/stdexcept" 3 # 1 "../../../dist/system_wrappers/exception" 1 3 # 2 "../../../dist/system_wrappers/exception" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 39 "/usr/include/c++/5.0.0/stdexcept" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 69 "/usr/include/c++/5.0.0/stdexcept" 3 typedef basic_string __cow_string; struct __sso_string { struct __str { const char* _M_p; size_t _M_string_length; char _M_local_buf[16]; }; union { __str _M_s; char _M_bytes[sizeof(_M_s)]; }; __sso_string() noexcept; __sso_string(const std::string&); __sso_string(const char*, size_t); __sso_string(const __sso_string&); __sso_string& operator=(const __sso_string&); ~__sso_string(); __sso_string(__sso_string&&) noexcept; __sso_string& operator=(__sso_string&&) noexcept; }; # 113 "/usr/include/c++/5.0.0/stdexcept" 3 class logic_error : public exception { __cow_string _M_msg; public: explicit logic_error(const string& __arg); explicit logic_error(const char*); virtual ~logic_error() noexcept; virtual const char* what() const noexcept; }; class domain_error : public logic_error { public: explicit domain_error(const string& __arg); explicit domain_error(const char*); virtual ~domain_error() noexcept; }; class invalid_argument : public logic_error { public: explicit invalid_argument(const string& __arg); explicit invalid_argument(const char*); virtual ~invalid_argument() noexcept; }; class length_error : public logic_error { public: explicit length_error(const string& __arg); explicit length_error(const char*); virtual ~length_error() noexcept; }; class out_of_range : public logic_error { public: explicit out_of_range(const string& __arg); explicit out_of_range(const char*); virtual ~out_of_range() noexcept; }; class runtime_error : public exception { __cow_string _M_msg; public: explicit runtime_error(const string& __arg); explicit runtime_error(const char*); virtual ~runtime_error() noexcept; virtual const char* what() const noexcept; }; class range_error : public runtime_error { public: explicit range_error(const string& __arg); explicit range_error(const char*); virtual ~range_error() noexcept; }; class overflow_error : public runtime_error { public: explicit overflow_error(const string& __arg); explicit overflow_error(const char*); virtual ~overflow_error() noexcept; }; class underflow_error : public runtime_error { public: explicit underflow_error(const string& __arg); explicit underflow_error(const char*); virtual ~underflow_error() noexcept; }; } # 42 "/usr/include/c++/5.0.0/system_error" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { class error_code; class error_condition; class system_error; template struct is_error_code_enum : public false_type { }; template struct is_error_condition_enum : public false_type { }; template<> struct is_error_condition_enum : public true_type { }; inline namespace _V2 { class error_category { public: constexpr error_category() noexcept = default; virtual ~error_category(); error_category(const error_category&) = delete; error_category& operator=(const error_category&) = delete; virtual const char* name() const noexcept = 0; # 94 "/usr/include/c++/5.0.0/system_error" 3 virtual string message(int) const = 0; private: virtual __sso_string _M_message(int) const; public: virtual error_condition default_error_condition(int __i) const noexcept; virtual bool equivalent(int __i, const error_condition& __cond) const noexcept; virtual bool equivalent(const error_code& __code, int __i) const noexcept; bool operator<(const error_category& __other) const noexcept { return less()(this, &__other); } bool operator==(const error_category& __other) const noexcept { return this == &__other; } bool operator!=(const error_category& __other) const noexcept { return this != &__other; } }; __attribute__ ((__const__)) const error_category& system_category() noexcept; __attribute__ ((__const__)) const error_category& generic_category() noexcept; } error_code make_error_code(errc) noexcept; template struct hash; struct error_code { error_code() noexcept : _M_value(0), _M_cat(&system_category()) { } error_code(int __v, const error_category& __cat) noexcept : _M_value(__v), _M_cat(&__cat) { } template::value>::type> error_code(_ErrorCodeEnum __e) noexcept { *this = make_error_code(__e); } void assign(int __v, const error_category& __cat) noexcept { _M_value = __v; _M_cat = &__cat; } void clear() noexcept { assign(0, system_category()); } template typename enable_if::value, error_code&>::type operator=(_ErrorCodeEnum __e) noexcept { return *this = make_error_code(__e); } int value() const noexcept { return _M_value; } const error_category& category() const noexcept { return *_M_cat; } error_condition default_error_condition() const noexcept; string message() const { return category().message(value()); } explicit operator bool() const noexcept { return _M_value != 0 ? true : false; } private: friend class hash; int _M_value; const error_category* _M_cat; }; inline error_code make_error_code(errc __e) noexcept { return error_code(static_cast(__e), generic_category()); } inline bool operator<(const error_code& __lhs, const error_code& __rhs) noexcept { return (__lhs.category() < __rhs.category() || (__lhs.category() == __rhs.category() && __lhs.value() < __rhs.value())); } template basic_ostream<_CharT, _Traits>& operator<<(basic_ostream<_CharT, _Traits>& __os, const error_code& __e) { return (__os << __e.category().name() << ':' << __e.value()); } error_condition make_error_condition(errc) noexcept; struct error_condition { error_condition() noexcept : _M_value(0), _M_cat(&generic_category()) { } error_condition(int __v, const error_category& __cat) noexcept : _M_value(__v), _M_cat(&__cat) { } template::value>::type> error_condition(_ErrorConditionEnum __e) noexcept { *this = make_error_condition(__e); } void assign(int __v, const error_category& __cat) noexcept { _M_value = __v; _M_cat = &__cat; } template typename enable_if::value, error_condition&>::type operator=(_ErrorConditionEnum __e) noexcept { return *this = make_error_condition(__e); } void clear() noexcept { assign(0, generic_category()); } int value() const noexcept { return _M_value; } const error_category& category() const noexcept { return *_M_cat; } string message() const { return category().message(value()); } explicit operator bool() const noexcept { return _M_value != 0 ? true : false; } private: int _M_value; const error_category* _M_cat; }; inline error_condition make_error_condition(errc __e) noexcept { return error_condition(static_cast(__e), generic_category()); } inline bool operator<(const error_condition& __lhs, const error_condition& __rhs) noexcept { return (__lhs.category() < __rhs.category() || (__lhs.category() == __rhs.category() && __lhs.value() < __rhs.value())); } inline bool operator==(const error_code& __lhs, const error_code& __rhs) noexcept { return (__lhs.category() == __rhs.category() && __lhs.value() == __rhs.value()); } inline bool operator==(const error_code& __lhs, const error_condition& __rhs) noexcept { return (__lhs.category().equivalent(__lhs.value(), __rhs) || __rhs.category().equivalent(__lhs, __rhs.value())); } inline bool operator==(const error_condition& __lhs, const error_code& __rhs) noexcept { return (__rhs.category().equivalent(__rhs.value(), __lhs) || __lhs.category().equivalent(__rhs, __lhs.value())); } inline bool operator==(const error_condition& __lhs, const error_condition& __rhs) noexcept { return (__lhs.category() == __rhs.category() && __lhs.value() == __rhs.value()); } inline bool operator!=(const error_code& __lhs, const error_code& __rhs) noexcept { return !(__lhs == __rhs); } inline bool operator!=(const error_code& __lhs, const error_condition& __rhs) noexcept { return !(__lhs == __rhs); } inline bool operator!=(const error_condition& __lhs, const error_code& __rhs) noexcept { return !(__lhs == __rhs); } inline bool operator!=(const error_condition& __lhs, const error_condition& __rhs) noexcept { return !(__lhs == __rhs); } class system_error : public std::runtime_error { private: error_code _M_code; public: system_error(error_code __ec = error_code()) : runtime_error(__ec.message()), _M_code(__ec) { } system_error(error_code __ec, const string& __what) : runtime_error(__what + ": " + __ec.message()), _M_code(__ec) { } system_error(error_code __ec, const char* __what) : runtime_error(__what + (": " + __ec.message())), _M_code(__ec) { } system_error(int __v, const error_category& __ecat, const char* __what) : system_error(error_code(__v, __ecat), __what) { } system_error(int __v, const error_category& __ecat) : runtime_error(error_code(__v, __ecat).message()), _M_code(__v, __ecat) { } system_error(int __v, const error_category& __ecat, const string& __what) : runtime_error(__what + ": " + error_code(__v, __ecat).message()), _M_code(__v, __ecat) { } virtual ~system_error() noexcept; const error_code& code() const noexcept { return _M_code; } }; } namespace std __attribute__ ((__visibility__ ("default"))) { template<> struct hash : public __hash_base { size_t operator()(const error_code& __e) const noexcept { const size_t __tmp = std::_Hash_impl::hash(__e._M_value); return std::_Hash_impl::__hash_combine(__e._M_cat, __tmp); } }; } # 47 "/usr/include/c++/5.0.0/bits/ios_base.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { enum _Ios_Fmtflags { _S_boolalpha = 1L << 0, _S_dec = 1L << 1, _S_fixed = 1L << 2, _S_hex = 1L << 3, _S_internal = 1L << 4, _S_left = 1L << 5, _S_oct = 1L << 6, _S_right = 1L << 7, _S_scientific = 1L << 8, _S_showbase = 1L << 9, _S_showpoint = 1L << 10, _S_showpos = 1L << 11, _S_skipws = 1L << 12, _S_unitbuf = 1L << 13, _S_uppercase = 1L << 14, _S_adjustfield = _S_left | _S_right | _S_internal, _S_basefield = _S_dec | _S_oct | _S_hex, _S_floatfield = _S_scientific | _S_fixed, _S_ios_fmtflags_end = 1L << 16 }; inline constexpr _Ios_Fmtflags operator&(_Ios_Fmtflags __a, _Ios_Fmtflags __b) { return _Ios_Fmtflags(static_cast(__a) & static_cast(__b)); } inline constexpr _Ios_Fmtflags operator|(_Ios_Fmtflags __a, _Ios_Fmtflags __b) { return _Ios_Fmtflags(static_cast(__a) | static_cast(__b)); } inline constexpr _Ios_Fmtflags operator^(_Ios_Fmtflags __a, _Ios_Fmtflags __b) { return _Ios_Fmtflags(static_cast(__a) ^ static_cast(__b)); } inline constexpr _Ios_Fmtflags operator~(_Ios_Fmtflags __a) { return _Ios_Fmtflags(~static_cast(__a)); } inline const _Ios_Fmtflags& operator|=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b) { return __a = __a | __b; } inline const _Ios_Fmtflags& operator&=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b) { return __a = __a & __b; } inline const _Ios_Fmtflags& operator^=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b) { return __a = __a ^ __b; } enum _Ios_Openmode { _S_app = 1L << 0, _S_ate = 1L << 1, _S_bin = 1L << 2, _S_in = 1L << 3, _S_out = 1L << 4, _S_trunc = 1L << 5, _S_ios_openmode_end = 1L << 16 }; inline constexpr _Ios_Openmode operator&(_Ios_Openmode __a, _Ios_Openmode __b) { return _Ios_Openmode(static_cast(__a) & static_cast(__b)); } inline constexpr _Ios_Openmode operator|(_Ios_Openmode __a, _Ios_Openmode __b) { return _Ios_Openmode(static_cast(__a) | static_cast(__b)); } inline constexpr _Ios_Openmode operator^(_Ios_Openmode __a, _Ios_Openmode __b) { return _Ios_Openmode(static_cast(__a) ^ static_cast(__b)); } inline constexpr _Ios_Openmode operator~(_Ios_Openmode __a) { return _Ios_Openmode(~static_cast(__a)); } inline const _Ios_Openmode& operator|=(_Ios_Openmode& __a, _Ios_Openmode __b) { return __a = __a | __b; } inline const _Ios_Openmode& operator&=(_Ios_Openmode& __a, _Ios_Openmode __b) { return __a = __a & __b; } inline const _Ios_Openmode& operator^=(_Ios_Openmode& __a, _Ios_Openmode __b) { return __a = __a ^ __b; } enum _Ios_Iostate { _S_goodbit = 0, _S_badbit = 1L << 0, _S_eofbit = 1L << 1, _S_failbit = 1L << 2, _S_ios_iostate_end = 1L << 16 }; inline constexpr _Ios_Iostate operator&(_Ios_Iostate __a, _Ios_Iostate __b) { return _Ios_Iostate(static_cast(__a) & static_cast(__b)); } inline constexpr _Ios_Iostate operator|(_Ios_Iostate __a, _Ios_Iostate __b) { return _Ios_Iostate(static_cast(__a) | static_cast(__b)); } inline constexpr _Ios_Iostate operator^(_Ios_Iostate __a, _Ios_Iostate __b) { return _Ios_Iostate(static_cast(__a) ^ static_cast(__b)); } inline constexpr _Ios_Iostate operator~(_Ios_Iostate __a) { return _Ios_Iostate(~static_cast(__a)); } inline const _Ios_Iostate& operator|=(_Ios_Iostate& __a, _Ios_Iostate __b) { return __a = __a | __b; } inline const _Ios_Iostate& operator&=(_Ios_Iostate& __a, _Ios_Iostate __b) { return __a = __a & __b; } inline const _Ios_Iostate& operator^=(_Ios_Iostate& __a, _Ios_Iostate __b) { return __a = __a ^ __b; } enum _Ios_Seekdir { _S_beg = 0, _S_cur = 1, _S_end = 2, _S_ios_seekdir_end = 1L << 16 }; enum class io_errc { stream = 1 }; template <> struct is_error_code_enum : public true_type { }; const error_category& iostream_category() noexcept; inline error_code make_error_code(io_errc e) noexcept { return error_code(static_cast(e), iostream_category()); } inline error_condition make_error_condition(io_errc e) noexcept { return error_condition(static_cast(e), iostream_category()); } # 222 "/usr/include/c++/5.0.0/bits/ios_base.h" 3 class ios_base { # 240 "/usr/include/c++/5.0.0/bits/ios_base.h" 3 public: # 270 "/usr/include/c++/5.0.0/bits/ios_base.h" 3 class failure : public exception { public: explicit failure(const string& __str) throw(); virtual ~failure() throw(); virtual const char* what() const throw(); private: string _M_msg; }; # 317 "/usr/include/c++/5.0.0/bits/ios_base.h" 3 typedef _Ios_Fmtflags fmtflags; static const fmtflags boolalpha = _S_boolalpha; static const fmtflags dec = _S_dec; static const fmtflags fixed = _S_fixed; static const fmtflags hex = _S_hex; static const fmtflags internal = _S_internal; static const fmtflags left = _S_left; static const fmtflags oct = _S_oct; static const fmtflags right = _S_right; static const fmtflags scientific = _S_scientific; static const fmtflags showbase = _S_showbase; static const fmtflags showpoint = _S_showpoint; static const fmtflags showpos = _S_showpos; static const fmtflags skipws = _S_skipws; static const fmtflags unitbuf = _S_unitbuf; static const fmtflags uppercase = _S_uppercase; static const fmtflags adjustfield = _S_adjustfield; static const fmtflags basefield = _S_basefield; static const fmtflags floatfield = _S_floatfield; # 392 "/usr/include/c++/5.0.0/bits/ios_base.h" 3 typedef _Ios_Iostate iostate; static const iostate badbit = _S_badbit; static const iostate eofbit = _S_eofbit; static const iostate failbit = _S_failbit; static const iostate goodbit = _S_goodbit; # 423 "/usr/include/c++/5.0.0/bits/ios_base.h" 3 typedef _Ios_Openmode openmode; static const openmode app = _S_app; static const openmode ate = _S_ate; static const openmode binary = _S_bin; static const openmode in = _S_in; static const openmode out = _S_out; static const openmode trunc = _S_trunc; # 455 "/usr/include/c++/5.0.0/bits/ios_base.h" 3 typedef _Ios_Seekdir seekdir; static const seekdir beg = _S_beg; static const seekdir cur = _S_cur; static const seekdir end = _S_end; typedef int io_state; typedef int open_mode; typedef int seek_dir; typedef std::streampos streampos; typedef std::streamoff streamoff; # 481 "/usr/include/c++/5.0.0/bits/ios_base.h" 3 enum event { erase_event, imbue_event, copyfmt_event }; # 498 "/usr/include/c++/5.0.0/bits/ios_base.h" 3 typedef void (*event_callback) (event __e, ios_base& __b, int __i); # 510 "/usr/include/c++/5.0.0/bits/ios_base.h" 3 void register_callback(event_callback __fn, int __index); protected: streamsize _M_precision; streamsize _M_width; fmtflags _M_flags; iostate _M_exception; iostate _M_streambuf_state; struct _Callback_list { _Callback_list* _M_next; ios_base::event_callback _M_fn; int _M_index; _Atomic_word _M_refcount; _Callback_list(ios_base::event_callback __fn, int __index, _Callback_list* __cb) : _M_next(__cb), _M_fn(__fn), _M_index(__index), _M_refcount(0) { } void _M_add_reference() { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); } int _M_remove_reference() { ; int __res = __gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1); if (__res == 0) { ; } return __res; } }; _Callback_list* _M_callbacks; void _M_call_callbacks(event __ev) throw(); void _M_dispose_callbacks(void) throw(); struct _Words { void* _M_pword; long _M_iword; _Words() : _M_pword(0), _M_iword(0) { } }; _Words _M_word_zero; enum { _S_local_word_size = 8 }; _Words _M_local_word[_S_local_word_size]; int _M_word_size; _Words* _M_word; _Words& _M_grow_words(int __index, bool __iword); locale _M_ios_locale; void _M_init() throw(); public: class Init { friend class ios_base; public: Init(); ~Init(); private: static _Atomic_word _S_refcount; static bool _S_synced_with_stdio; }; fmtflags flags() const { return _M_flags; } # 623 "/usr/include/c++/5.0.0/bits/ios_base.h" 3 fmtflags flags(fmtflags __fmtfl) { fmtflags __old = _M_flags; _M_flags = __fmtfl; return __old; } # 639 "/usr/include/c++/5.0.0/bits/ios_base.h" 3 fmtflags setf(fmtflags __fmtfl) { fmtflags __old = _M_flags; _M_flags |= __fmtfl; return __old; } # 656 "/usr/include/c++/5.0.0/bits/ios_base.h" 3 fmtflags setf(fmtflags __fmtfl, fmtflags __mask) { fmtflags __old = _M_flags; _M_flags &= ~__mask; _M_flags |= (__fmtfl & __mask); return __old; } void unsetf(fmtflags __mask) { _M_flags &= ~__mask; } # 682 "/usr/include/c++/5.0.0/bits/ios_base.h" 3 streamsize precision() const { return _M_precision; } streamsize precision(streamsize __prec) { streamsize __old = _M_precision; _M_precision = __prec; return __old; } streamsize width() const { return _M_width; } streamsize width(streamsize __wide) { streamsize __old = _M_width; _M_width = __wide; return __old; } # 733 "/usr/include/c++/5.0.0/bits/ios_base.h" 3 static bool sync_with_stdio(bool __sync = true); # 745 "/usr/include/c++/5.0.0/bits/ios_base.h" 3 locale imbue(const locale& __loc) throw(); # 756 "/usr/include/c++/5.0.0/bits/ios_base.h" 3 locale getloc() const { return _M_ios_locale; } # 767 "/usr/include/c++/5.0.0/bits/ios_base.h" 3 const locale& _M_getloc() const { return _M_ios_locale; } # 786 "/usr/include/c++/5.0.0/bits/ios_base.h" 3 static int xalloc() throw(); # 802 "/usr/include/c++/5.0.0/bits/ios_base.h" 3 long& iword(int __ix) { _Words& __word = (__ix < _M_word_size) ? _M_word[__ix] : _M_grow_words(__ix, true); return __word._M_iword; } # 823 "/usr/include/c++/5.0.0/bits/ios_base.h" 3 void*& pword(int __ix) { _Words& __word = (__ix < _M_word_size) ? _M_word[__ix] : _M_grow_words(__ix, false); return __word._M_pword; } # 840 "/usr/include/c++/5.0.0/bits/ios_base.h" 3 virtual ~ios_base(); protected: ios_base() throw (); # 854 "/usr/include/c++/5.0.0/bits/ios_base.h" 3 public: ios_base(const ios_base&) = delete; ios_base& operator=(const ios_base&) = delete; protected: void _M_move(ios_base&) noexcept; void _M_swap(ios_base& __rhs) noexcept; }; inline ios_base& boolalpha(ios_base& __base) { __base.setf(ios_base::boolalpha); return __base; } inline ios_base& noboolalpha(ios_base& __base) { __base.unsetf(ios_base::boolalpha); return __base; } inline ios_base& showbase(ios_base& __base) { __base.setf(ios_base::showbase); return __base; } inline ios_base& noshowbase(ios_base& __base) { __base.unsetf(ios_base::showbase); return __base; } inline ios_base& showpoint(ios_base& __base) { __base.setf(ios_base::showpoint); return __base; } inline ios_base& noshowpoint(ios_base& __base) { __base.unsetf(ios_base::showpoint); return __base; } inline ios_base& showpos(ios_base& __base) { __base.setf(ios_base::showpos); return __base; } inline ios_base& noshowpos(ios_base& __base) { __base.unsetf(ios_base::showpos); return __base; } inline ios_base& skipws(ios_base& __base) { __base.setf(ios_base::skipws); return __base; } inline ios_base& noskipws(ios_base& __base) { __base.unsetf(ios_base::skipws); return __base; } inline ios_base& uppercase(ios_base& __base) { __base.setf(ios_base::uppercase); return __base; } inline ios_base& nouppercase(ios_base& __base) { __base.unsetf(ios_base::uppercase); return __base; } inline ios_base& unitbuf(ios_base& __base) { __base.setf(ios_base::unitbuf); return __base; } inline ios_base& nounitbuf(ios_base& __base) { __base.unsetf(ios_base::unitbuf); return __base; } inline ios_base& internal(ios_base& __base) { __base.setf(ios_base::internal, ios_base::adjustfield); return __base; } inline ios_base& left(ios_base& __base) { __base.setf(ios_base::left, ios_base::adjustfield); return __base; } inline ios_base& right(ios_base& __base) { __base.setf(ios_base::right, ios_base::adjustfield); return __base; } inline ios_base& dec(ios_base& __base) { __base.setf(ios_base::dec, ios_base::basefield); return __base; } inline ios_base& hex(ios_base& __base) { __base.setf(ios_base::hex, ios_base::basefield); return __base; } inline ios_base& oct(ios_base& __base) { __base.setf(ios_base::oct, ios_base::basefield); return __base; } inline ios_base& fixed(ios_base& __base) { __base.setf(ios_base::fixed, ios_base::floatfield); return __base; } inline ios_base& scientific(ios_base& __base) { __base.setf(ios_base::scientific, ios_base::floatfield); return __base; } inline ios_base& hexfloat(ios_base& __base) { __base.setf(ios_base::fixed | ios_base::scientific, ios_base::floatfield); return __base; } inline ios_base& defaultfloat(ios_base& __base) { __base.unsetf(ios_base::floatfield); return __base; } } # 43 "/usr/include/c++/5.0.0/ios" 2 3 # 1 "/usr/include/c++/5.0.0/streambuf" 1 3 # 36 "/usr/include/c++/5.0.0/streambuf" 3 # 37 "/usr/include/c++/5.0.0/streambuf" 3 # 45 "/usr/include/c++/5.0.0/streambuf" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template streamsize __copy_streambufs_eof(basic_streambuf<_CharT, _Traits>*, basic_streambuf<_CharT, _Traits>*, bool&); # 119 "/usr/include/c++/5.0.0/streambuf" 3 template class basic_streambuf { public: typedef _CharT char_type; typedef _Traits traits_type; typedef typename traits_type::int_type int_type; typedef typename traits_type::pos_type pos_type; typedef typename traits_type::off_type off_type; typedef basic_streambuf __streambuf_type; friend class basic_ios; friend class basic_istream; friend class basic_ostream; friend class istreambuf_iterator; friend class ostreambuf_iterator; friend streamsize __copy_streambufs_eof<>(basic_streambuf*, basic_streambuf*, bool&); template friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, _CharT2*>::__type __copy_move_a2(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>, _CharT2*); template friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, istreambuf_iterator<_CharT2> >::__type find(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>, const _CharT2&); template friend basic_istream<_CharT2, _Traits2>& operator>>(basic_istream<_CharT2, _Traits2>&, _CharT2*); template friend basic_istream<_CharT2, _Traits2>& operator>>(basic_istream<_CharT2, _Traits2>&, basic_string<_CharT2, _Traits2, _Alloc>&); template friend basic_istream<_CharT2, _Traits2>& getline(basic_istream<_CharT2, _Traits2>&, basic_string<_CharT2, _Traits2, _Alloc>&, _CharT2); protected: char_type* _M_in_beg; char_type* _M_in_cur; char_type* _M_in_end; char_type* _M_out_beg; char_type* _M_out_cur; char_type* _M_out_end; locale _M_buf_locale; public: virtual ~basic_streambuf() { } # 208 "/usr/include/c++/5.0.0/streambuf" 3 locale pubimbue(const locale& __loc) { locale __tmp(this->getloc()); this->imbue(__loc); _M_buf_locale = __loc; return __tmp; } # 225 "/usr/include/c++/5.0.0/streambuf" 3 locale getloc() const { return _M_buf_locale; } # 238 "/usr/include/c++/5.0.0/streambuf" 3 basic_streambuf* pubsetbuf(char_type* __s, streamsize __n) { return this->setbuf(__s, __n); } # 250 "/usr/include/c++/5.0.0/streambuf" 3 pos_type pubseekoff(off_type __off, ios_base::seekdir __way, ios_base::openmode __mode = ios_base::in | ios_base::out) { return this->seekoff(__off, __way, __mode); } # 262 "/usr/include/c++/5.0.0/streambuf" 3 pos_type pubseekpos(pos_type __sp, ios_base::openmode __mode = ios_base::in | ios_base::out) { return this->seekpos(__sp, __mode); } int pubsync() { return this->sync(); } # 283 "/usr/include/c++/5.0.0/streambuf" 3 streamsize in_avail() { const streamsize __ret = this->egptr() - this->gptr(); return __ret ? __ret : this->showmanyc(); } # 297 "/usr/include/c++/5.0.0/streambuf" 3 int_type snextc() { int_type __ret = traits_type::eof(); if (__builtin_expect(!traits_type::eq_int_type(this->sbumpc(), __ret), true)) __ret = this->sgetc(); return __ret; } # 315 "/usr/include/c++/5.0.0/streambuf" 3 int_type sbumpc() { int_type __ret; if (__builtin_expect(this->gptr() < this->egptr(), true)) { __ret = traits_type::to_int_type(*this->gptr()); this->gbump(1); } else __ret = this->uflow(); return __ret; } # 337 "/usr/include/c++/5.0.0/streambuf" 3 int_type sgetc() { int_type __ret; if (__builtin_expect(this->gptr() < this->egptr(), true)) __ret = traits_type::to_int_type(*this->gptr()); else __ret = this->underflow(); return __ret; } # 356 "/usr/include/c++/5.0.0/streambuf" 3 streamsize sgetn(char_type* __s, streamsize __n) { return this->xsgetn(__s, __n); } # 371 "/usr/include/c++/5.0.0/streambuf" 3 int_type sputbackc(char_type __c) { int_type __ret; const bool __testpos = this->eback() < this->gptr(); if (__builtin_expect(!__testpos || !traits_type::eq(__c, this->gptr()[-1]), false)) __ret = this->pbackfail(traits_type::to_int_type(__c)); else { this->gbump(-1); __ret = traits_type::to_int_type(*this->gptr()); } return __ret; } # 396 "/usr/include/c++/5.0.0/streambuf" 3 int_type sungetc() { int_type __ret; if (__builtin_expect(this->eback() < this->gptr(), true)) { this->gbump(-1); __ret = traits_type::to_int_type(*this->gptr()); } else __ret = this->pbackfail(); return __ret; } # 423 "/usr/include/c++/5.0.0/streambuf" 3 int_type sputc(char_type __c) { int_type __ret; if (__builtin_expect(this->pptr() < this->epptr(), true)) { *this->pptr() = __c; this->pbump(1); __ret = traits_type::to_int_type(__c); } else __ret = this->overflow(traits_type::to_int_type(__c)); return __ret; } # 449 "/usr/include/c++/5.0.0/streambuf" 3 streamsize sputn(const char_type* __s, streamsize __n) { return this->xsputn(__s, __n); } protected: # 463 "/usr/include/c++/5.0.0/streambuf" 3 basic_streambuf() : _M_in_beg(0), _M_in_cur(0), _M_in_end(0), _M_out_beg(0), _M_out_cur(0), _M_out_end(0), _M_buf_locale(locale()) { } # 481 "/usr/include/c++/5.0.0/streambuf" 3 char_type* eback() const { return _M_in_beg; } char_type* gptr() const { return _M_in_cur; } char_type* egptr() const { return _M_in_end; } # 497 "/usr/include/c++/5.0.0/streambuf" 3 void gbump(int __n) { _M_in_cur += __n; } # 508 "/usr/include/c++/5.0.0/streambuf" 3 void setg(char_type* __gbeg, char_type* __gnext, char_type* __gend) { _M_in_beg = __gbeg; _M_in_cur = __gnext; _M_in_end = __gend; } # 528 "/usr/include/c++/5.0.0/streambuf" 3 char_type* pbase() const { return _M_out_beg; } char_type* pptr() const { return _M_out_cur; } char_type* epptr() const { return _M_out_end; } # 544 "/usr/include/c++/5.0.0/streambuf" 3 void pbump(int __n) { _M_out_cur += __n; } # 554 "/usr/include/c++/5.0.0/streambuf" 3 void setp(char_type* __pbeg, char_type* __pend) { _M_out_beg = _M_out_cur = __pbeg; _M_out_end = __pend; } # 575 "/usr/include/c++/5.0.0/streambuf" 3 virtual void imbue(const locale& __loc) { } # 590 "/usr/include/c++/5.0.0/streambuf" 3 virtual basic_streambuf* setbuf(char_type*, streamsize) { return this; } # 601 "/usr/include/c++/5.0.0/streambuf" 3 virtual pos_type seekoff(off_type, ios_base::seekdir, ios_base::openmode = ios_base::in | ios_base::out) { return pos_type(off_type(-1)); } # 613 "/usr/include/c++/5.0.0/streambuf" 3 virtual pos_type seekpos(pos_type, ios_base::openmode = ios_base::in | ios_base::out) { return pos_type(off_type(-1)); } # 626 "/usr/include/c++/5.0.0/streambuf" 3 virtual int sync() { return 0; } # 648 "/usr/include/c++/5.0.0/streambuf" 3 virtual streamsize showmanyc() { return 0; } # 664 "/usr/include/c++/5.0.0/streambuf" 3 virtual streamsize xsgetn(char_type* __s, streamsize __n); # 686 "/usr/include/c++/5.0.0/streambuf" 3 virtual int_type underflow() { return traits_type::eof(); } # 699 "/usr/include/c++/5.0.0/streambuf" 3 virtual int_type uflow() { int_type __ret = traits_type::eof(); const bool __testeof = traits_type::eq_int_type(this->underflow(), __ret); if (!__testeof) { __ret = traits_type::to_int_type(*this->gptr()); this->gbump(1); } return __ret; } # 723 "/usr/include/c++/5.0.0/streambuf" 3 virtual int_type pbackfail(int_type __c = traits_type::eof()) { return traits_type::eof(); } # 741 "/usr/include/c++/5.0.0/streambuf" 3 virtual streamsize xsputn(const char_type* __s, streamsize __n); # 767 "/usr/include/c++/5.0.0/streambuf" 3 virtual int_type overflow(int_type __c = traits_type::eof()) { return traits_type::eof(); } public: # 782 "/usr/include/c++/5.0.0/streambuf" 3 void stossc() { if (this->gptr() < this->egptr()) this->gbump(1); else this->uflow(); } void __safe_gbump(streamsize __n) { _M_in_cur += __n; } void __safe_pbump(streamsize __n) { _M_out_cur += __n; } protected: basic_streambuf(const basic_streambuf&); basic_streambuf& operator=(const basic_streambuf&); void swap(basic_streambuf& __sb) { std::swap(_M_in_beg, __sb._M_in_beg); std::swap(_M_in_cur, __sb._M_in_cur); std::swap(_M_in_end, __sb._M_in_end); std::swap(_M_out_beg, __sb._M_out_beg); std::swap(_M_out_cur, __sb._M_out_cur); std::swap(_M_out_end, __sb._M_out_end); std::swap(_M_buf_locale, __sb._M_buf_locale); } }; template std::basic_streambuf<_CharT, _Traits>:: basic_streambuf(const basic_streambuf&) = default; template std::basic_streambuf<_CharT, _Traits>& std::basic_streambuf<_CharT, _Traits>:: operator=(const basic_streambuf&) = default; template<> streamsize __copy_streambufs_eof(basic_streambuf* __sbin, basic_streambuf* __sbout, bool& __ineof); template<> streamsize __copy_streambufs_eof(basic_streambuf* __sbin, basic_streambuf* __sbout, bool& __ineof); } # 1 "/usr/include/c++/5.0.0/bits/streambuf.tcc" 1 3 # 37 "/usr/include/c++/5.0.0/bits/streambuf.tcc" 3 # 38 "/usr/include/c++/5.0.0/bits/streambuf.tcc" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template streamsize basic_streambuf<_CharT, _Traits>:: xsgetn(char_type* __s, streamsize __n) { streamsize __ret = 0; while (__ret < __n) { const streamsize __buf_len = this->egptr() - this->gptr(); if (__buf_len) { const streamsize __remaining = __n - __ret; const streamsize __len = std::min(__buf_len, __remaining); traits_type::copy(__s, this->gptr(), __len); __ret += __len; __s += __len; this->__safe_gbump(__len); } if (__ret < __n) { const int_type __c = this->uflow(); if (!traits_type::eq_int_type(__c, traits_type::eof())) { traits_type::assign(*__s++, traits_type::to_char_type(__c)); ++__ret; } else break; } } return __ret; } template streamsize basic_streambuf<_CharT, _Traits>:: xsputn(const char_type* __s, streamsize __n) { streamsize __ret = 0; while (__ret < __n) { const streamsize __buf_len = this->epptr() - this->pptr(); if (__buf_len) { const streamsize __remaining = __n - __ret; const streamsize __len = std::min(__buf_len, __remaining); traits_type::copy(this->pptr(), __s, __len); __ret += __len; __s += __len; this->__safe_pbump(__len); } if (__ret < __n) { int_type __c = this->overflow(traits_type::to_int_type(*__s)); if (!traits_type::eq_int_type(__c, traits_type::eof())) { ++__ret; ++__s; } else break; } } return __ret; } template streamsize __copy_streambufs_eof(basic_streambuf<_CharT, _Traits>* __sbin, basic_streambuf<_CharT, _Traits>* __sbout, bool& __ineof) { streamsize __ret = 0; __ineof = true; typename _Traits::int_type __c = __sbin->sgetc(); while (!_Traits::eq_int_type(__c, _Traits::eof())) { __c = __sbout->sputc(_Traits::to_char_type(__c)); if (_Traits::eq_int_type(__c, _Traits::eof())) { __ineof = false; break; } ++__ret; __c = __sbin->snextc(); } return __ret; } template inline streamsize __copy_streambufs(basic_streambuf<_CharT, _Traits>* __sbin, basic_streambuf<_CharT, _Traits>* __sbout) { bool __ineof; return __copy_streambufs_eof(__sbin, __sbout, __ineof); } extern template class basic_streambuf; extern template streamsize __copy_streambufs(basic_streambuf*, basic_streambuf*); extern template streamsize __copy_streambufs_eof(basic_streambuf*, basic_streambuf*, bool&); extern template class basic_streambuf; extern template streamsize __copy_streambufs(basic_streambuf*, basic_streambuf*); extern template streamsize __copy_streambufs_eof(basic_streambuf*, basic_streambuf*, bool&); } # 851 "/usr/include/c++/5.0.0/streambuf" 2 3 # 44 "/usr/include/c++/5.0.0/ios" 2 3 # 1 "/usr/include/c++/5.0.0/bits/basic_ios.h" 1 3 # 33 "/usr/include/c++/5.0.0/bits/basic_ios.h" 3 # 34 "/usr/include/c++/5.0.0/bits/basic_ios.h" 3 # 1 "/usr/include/c++/5.0.0/bits/locale_facets.h" 1 3 # 37 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 # 38 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 # 1 "/usr/include/c++/5.0.0/cwctype" 1 3 # 39 "/usr/include/c++/5.0.0/cwctype" 3 # 40 "/usr/include/c++/5.0.0/cwctype" 3 # 50 "/usr/include/c++/5.0.0/cwctype" 3 # 1 "../../../dist/system_wrappers/wctype.h" 1 3 # 2 "../../../dist/system_wrappers/wctype.h" 3 #pragma GCC visibility push(default) # 1 "/usr/include/wctype.h" 1 3 4 # 25 "/usr/include/wctype.h" 3 4 # 1 "../../../dist/system_wrappers/features.h" 1 3 4 # 2 "../../../dist/system_wrappers/features.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 26 "/usr/include/wctype.h" 2 3 4 # 1 "../../../dist/system_wrappers/wchar.h" 1 3 4 # 2 "../../../dist/system_wrappers/wchar.h" 3 #pragma GCC visibility push(default) # 1 "/usr/include/wchar.h" 1 3 4 # 4 "../../../dist/system_wrappers/wchar.h" 2 3 #pragma GCC visibility pop # 34 "/usr/include/wctype.h" 2 3 4 # 49 "/usr/include/wctype.h" 3 4 typedef unsigned long int wctype_t; # 1 "../../../dist/system_wrappers/endian.h" 1 3 4 # 2 "../../../dist/system_wrappers/endian.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 61 "/usr/include/wctype.h" 2 3 4 # 71 "/usr/include/wctype.h" 3 4 enum { __ISwupper = 0, __ISwlower = 1, __ISwalpha = 2, __ISwdigit = 3, __ISwxdigit = 4, __ISwspace = 5, __ISwprint = 6, __ISwgraph = 7, __ISwblank = 8, __ISwcntrl = 9, __ISwpunct = 10, __ISwalnum = 11, _ISwupper = ((__ISwupper) < 8 ? (int) ((1UL << (__ISwupper)) << 24) : ((__ISwupper) < 16 ? (int) ((1UL << (__ISwupper)) << 8) : ((__ISwupper) < 24 ? (int) ((1UL << (__ISwupper)) >> 8) : (int) ((1UL << (__ISwupper)) >> 24)))), _ISwlower = ((__ISwlower) < 8 ? (int) ((1UL << (__ISwlower)) << 24) : ((__ISwlower) < 16 ? (int) ((1UL << (__ISwlower)) << 8) : ((__ISwlower) < 24 ? (int) ((1UL << (__ISwlower)) >> 8) : (int) ((1UL << (__ISwlower)) >> 24)))), _ISwalpha = ((__ISwalpha) < 8 ? (int) ((1UL << (__ISwalpha)) << 24) : ((__ISwalpha) < 16 ? (int) ((1UL << (__ISwalpha)) << 8) : ((__ISwalpha) < 24 ? (int) ((1UL << (__ISwalpha)) >> 8) : (int) ((1UL << (__ISwalpha)) >> 24)))), _ISwdigit = ((__ISwdigit) < 8 ? (int) ((1UL << (__ISwdigit)) << 24) : ((__ISwdigit) < 16 ? (int) ((1UL << (__ISwdigit)) << 8) : ((__ISwdigit) < 24 ? (int) ((1UL << (__ISwdigit)) >> 8) : (int) ((1UL << (__ISwdigit)) >> 24)))), _ISwxdigit = ((__ISwxdigit) < 8 ? (int) ((1UL << (__ISwxdigit)) << 24) : ((__ISwxdigit) < 16 ? (int) ((1UL << (__ISwxdigit)) << 8) : ((__ISwxdigit) < 24 ? (int) ((1UL << (__ISwxdigit)) >> 8) : (int) ((1UL << (__ISwxdigit)) >> 24)))), _ISwspace = ((__ISwspace) < 8 ? (int) ((1UL << (__ISwspace)) << 24) : ((__ISwspace) < 16 ? (int) ((1UL << (__ISwspace)) << 8) : ((__ISwspace) < 24 ? (int) ((1UL << (__ISwspace)) >> 8) : (int) ((1UL << (__ISwspace)) >> 24)))), _ISwprint = ((__ISwprint) < 8 ? (int) ((1UL << (__ISwprint)) << 24) : ((__ISwprint) < 16 ? (int) ((1UL << (__ISwprint)) << 8) : ((__ISwprint) < 24 ? (int) ((1UL << (__ISwprint)) >> 8) : (int) ((1UL << (__ISwprint)) >> 24)))), _ISwgraph = ((__ISwgraph) < 8 ? (int) ((1UL << (__ISwgraph)) << 24) : ((__ISwgraph) < 16 ? (int) ((1UL << (__ISwgraph)) << 8) : ((__ISwgraph) < 24 ? (int) ((1UL << (__ISwgraph)) >> 8) : (int) ((1UL << (__ISwgraph)) >> 24)))), _ISwblank = ((__ISwblank) < 8 ? (int) ((1UL << (__ISwblank)) << 24) : ((__ISwblank) < 16 ? (int) ((1UL << (__ISwblank)) << 8) : ((__ISwblank) < 24 ? (int) ((1UL << (__ISwblank)) >> 8) : (int) ((1UL << (__ISwblank)) >> 24)))), _ISwcntrl = ((__ISwcntrl) < 8 ? (int) ((1UL << (__ISwcntrl)) << 24) : ((__ISwcntrl) < 16 ? (int) ((1UL << (__ISwcntrl)) << 8) : ((__ISwcntrl) < 24 ? (int) ((1UL << (__ISwcntrl)) >> 8) : (int) ((1UL << (__ISwcntrl)) >> 24)))), _ISwpunct = ((__ISwpunct) < 8 ? (int) ((1UL << (__ISwpunct)) << 24) : ((__ISwpunct) < 16 ? (int) ((1UL << (__ISwpunct)) << 8) : ((__ISwpunct) < 24 ? (int) ((1UL << (__ISwpunct)) >> 8) : (int) ((1UL << (__ISwpunct)) >> 24)))), _ISwalnum = ((__ISwalnum) < 8 ? (int) ((1UL << (__ISwalnum)) << 24) : ((__ISwalnum) < 16 ? (int) ((1UL << (__ISwalnum)) << 8) : ((__ISwalnum) < 24 ? (int) ((1UL << (__ISwalnum)) >> 8) : (int) ((1UL << (__ISwalnum)) >> 24)))) }; extern "C" { extern int iswalnum (wint_t __wc) throw (); extern int iswalpha (wint_t __wc) throw (); extern int iswcntrl (wint_t __wc) throw (); extern int iswdigit (wint_t __wc) throw (); extern int iswgraph (wint_t __wc) throw (); extern int iswlower (wint_t __wc) throw (); extern int iswprint (wint_t __wc) throw (); extern int iswpunct (wint_t __wc) throw (); extern int iswspace (wint_t __wc) throw (); extern int iswupper (wint_t __wc) throw (); extern int iswxdigit (wint_t __wc) throw (); extern int iswblank (wint_t __wc) throw (); # 171 "/usr/include/wctype.h" 3 4 extern wctype_t wctype (const char *__property) throw (); extern int iswctype (wint_t __wc, wctype_t __desc) throw (); typedef const __int32_t *wctrans_t; extern wint_t towlower (wint_t __wc) throw (); extern wint_t towupper (wint_t __wc) throw (); } # 213 "/usr/include/wctype.h" 3 4 extern "C" { extern wctrans_t wctrans (const char *__property) throw (); extern wint_t towctrans (wint_t __wc, wctrans_t __desc) throw (); # 1 "../../../dist/system_wrappers/xlocale.h" 1 3 4 # 2 "../../../dist/system_wrappers/xlocale.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 227 "/usr/include/wctype.h" 2 3 4 extern int iswalnum_l (wint_t __wc, __locale_t __locale) throw (); extern int iswalpha_l (wint_t __wc, __locale_t __locale) throw (); extern int iswcntrl_l (wint_t __wc, __locale_t __locale) throw (); extern int iswdigit_l (wint_t __wc, __locale_t __locale) throw (); extern int iswgraph_l (wint_t __wc, __locale_t __locale) throw (); extern int iswlower_l (wint_t __wc, __locale_t __locale) throw (); extern int iswprint_l (wint_t __wc, __locale_t __locale) throw (); extern int iswpunct_l (wint_t __wc, __locale_t __locale) throw (); extern int iswspace_l (wint_t __wc, __locale_t __locale) throw (); extern int iswupper_l (wint_t __wc, __locale_t __locale) throw (); extern int iswxdigit_l (wint_t __wc, __locale_t __locale) throw (); extern int iswblank_l (wint_t __wc, __locale_t __locale) throw (); extern wctype_t wctype_l (const char *__property, __locale_t __locale) throw (); extern int iswctype_l (wint_t __wc, wctype_t __desc, __locale_t __locale) throw (); extern wint_t towlower_l (wint_t __wc, __locale_t __locale) throw (); extern wint_t towupper_l (wint_t __wc, __locale_t __locale) throw (); extern wctrans_t wctrans_l (const char *__property, __locale_t __locale) throw (); extern wint_t towctrans_l (wint_t __wc, wctrans_t __desc, __locale_t __locale) throw (); } # 4 "../../../dist/system_wrappers/wctype.h" 2 3 #pragma GCC visibility pop # 51 "/usr/include/c++/5.0.0/cwctype" 2 3 # 80 "/usr/include/c++/5.0.0/cwctype" 3 namespace std { using ::wctrans_t; using ::wctype_t; using ::wint_t; using ::iswalnum; using ::iswalpha; using ::iswblank; using ::iswcntrl; using ::iswctype; using ::iswdigit; using ::iswgraph; using ::iswlower; using ::iswprint; using ::iswpunct; using ::iswspace; using ::iswupper; using ::iswxdigit; using ::towctrans; using ::towlower; using ::towupper; using ::wctrans; using ::wctype; } # 40 "/usr/include/c++/5.0.0/bits/locale_facets.h" 2 3 # 1 "../../../dist/system_wrappers/cctype" 1 3 # 2 "../../../dist/system_wrappers/cctype" 3 #pragma GCC visibility push(default) # 1 "/usr/include/c++/5.0.0/cctype" 1 3 # 39 "/usr/include/c++/5.0.0/cctype" 3 # 40 "/usr/include/c++/5.0.0/cctype" 3 # 1 "../../../dist/system_wrappers/ctype.h" 1 3 # 2 "../../../dist/system_wrappers/ctype.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 43 "/usr/include/c++/5.0.0/cctype" 2 3 # 4 "../../../dist/system_wrappers/cctype" 2 3 #pragma GCC visibility pop # 41 "/usr/include/c++/5.0.0/bits/locale_facets.h" 2 3 # 1 "/usr/include/c++/5.0.0/i686-redhat-linux/bits/ctype_base.h" 1 3 # 36 "/usr/include/c++/5.0.0/i686-redhat-linux/bits/ctype_base.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { struct ctype_base { typedef const int* __to_type; typedef unsigned short mask; static const mask upper = _ISupper; static const mask lower = _ISlower; static const mask alpha = _ISalpha; static const mask digit = _ISdigit; static const mask xdigit = _ISxdigit; static const mask space = _ISspace; static const mask print = _ISprint; static const mask graph = _ISalpha | _ISdigit | _ISpunct; static const mask cntrl = _IScntrl; static const mask punct = _ISpunct; static const mask alnum = _ISalpha | _ISdigit; static const mask blank = _ISblank; }; } # 42 "/usr/include/c++/5.0.0/bits/locale_facets.h" 2 3 # 1 "/usr/include/c++/5.0.0/bits/streambuf_iterator.h" 1 3 # 33 "/usr/include/c++/5.0.0/bits/streambuf_iterator.h" 3 # 34 "/usr/include/c++/5.0.0/bits/streambuf_iterator.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 49 "/usr/include/c++/5.0.0/bits/streambuf_iterator.h" 3 template class istreambuf_iterator : public iterator { public: typedef _CharT char_type; typedef _Traits traits_type; typedef typename _Traits::int_type int_type; typedef basic_streambuf<_CharT, _Traits> streambuf_type; typedef basic_istream<_CharT, _Traits> istream_type; template friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, ostreambuf_iterator<_CharT2> >::__type copy(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>, ostreambuf_iterator<_CharT2>); template friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, _CharT2*>::__type __copy_move_a2(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>, _CharT2*); template friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, istreambuf_iterator<_CharT2> >::__type find(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>, const _CharT2&); private: mutable streambuf_type* _M_sbuf; mutable int_type _M_c; public: constexpr istreambuf_iterator() noexcept : _M_sbuf(0), _M_c(traits_type::eof()) { } istreambuf_iterator(const istreambuf_iterator&) noexcept = default; ~istreambuf_iterator() = default; istreambuf_iterator(istream_type& __s) noexcept : _M_sbuf(__s.rdbuf()), _M_c(traits_type::eof()) { } istreambuf_iterator(streambuf_type* __s) noexcept : _M_sbuf(__s), _M_c(traits_type::eof()) { } char_type operator*() const { return traits_type::to_char_type(_M_get()); } istreambuf_iterator& operator++() { ; if (_M_sbuf) { _M_sbuf->sbumpc(); _M_c = traits_type::eof(); } return *this; } istreambuf_iterator operator++(int) { ; istreambuf_iterator __old = *this; if (_M_sbuf) { __old._M_c = _M_sbuf->sbumpc(); _M_c = traits_type::eof(); } return __old; } bool equal(const istreambuf_iterator& __b) const { return _M_at_eof() == __b._M_at_eof(); } private: int_type _M_get() const { const int_type __eof = traits_type::eof(); int_type __ret = __eof; if (_M_sbuf) { if (!traits_type::eq_int_type(_M_c, __eof)) __ret = _M_c; else if (!traits_type::eq_int_type((__ret = _M_sbuf->sgetc()), __eof)) _M_c = __ret; else _M_sbuf = 0; } return __ret; } bool _M_at_eof() const { const int_type __eof = traits_type::eof(); return traits_type::eq_int_type(_M_get(), __eof); } }; template inline bool operator==(const istreambuf_iterator<_CharT, _Traits>& __a, const istreambuf_iterator<_CharT, _Traits>& __b) { return __a.equal(__b); } template inline bool operator!=(const istreambuf_iterator<_CharT, _Traits>& __a, const istreambuf_iterator<_CharT, _Traits>& __b) { return !__a.equal(__b); } template class ostreambuf_iterator : public iterator { public: typedef _CharT char_type; typedef _Traits traits_type; typedef basic_streambuf<_CharT, _Traits> streambuf_type; typedef basic_ostream<_CharT, _Traits> ostream_type; template friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, ostreambuf_iterator<_CharT2> >::__type copy(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>, ostreambuf_iterator<_CharT2>); private: streambuf_type* _M_sbuf; bool _M_failed; public: ostreambuf_iterator(ostream_type& __s) noexcept : _M_sbuf(__s.rdbuf()), _M_failed(!_M_sbuf) { } ostreambuf_iterator(streambuf_type* __s) noexcept : _M_sbuf(__s), _M_failed(!_M_sbuf) { } ostreambuf_iterator& operator=(_CharT __c) { if (!_M_failed && _Traits::eq_int_type(_M_sbuf->sputc(__c), _Traits::eof())) _M_failed = true; return *this; } ostreambuf_iterator& operator*() { return *this; } ostreambuf_iterator& operator++(int) { return *this; } ostreambuf_iterator& operator++() { return *this; } bool failed() const noexcept { return _M_failed; } ostreambuf_iterator& _M_put(const _CharT* __ws, streamsize __len) { if (__builtin_expect(!_M_failed, true) && __builtin_expect(this->_M_sbuf->sputn(__ws, __len) != __len, false)) _M_failed = true; return *this; } }; template typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, ostreambuf_iterator<_CharT> >::__type copy(istreambuf_iterator<_CharT> __first, istreambuf_iterator<_CharT> __last, ostreambuf_iterator<_CharT> __result) { if (__first._M_sbuf && !__last._M_sbuf && !__result._M_failed) { bool __ineof; __copy_streambufs_eof(__first._M_sbuf, __result._M_sbuf, __ineof); if (!__ineof) __result._M_failed = true; } return __result; } template typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, ostreambuf_iterator<_CharT> >::__type __copy_move_a2(_CharT* __first, _CharT* __last, ostreambuf_iterator<_CharT> __result) { const streamsize __num = __last - __first; if (__num > 0) __result._M_put(__first, __num); return __result; } template typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, ostreambuf_iterator<_CharT> >::__type __copy_move_a2(const _CharT* __first, const _CharT* __last, ostreambuf_iterator<_CharT> __result) { const streamsize __num = __last - __first; if (__num > 0) __result._M_put(__first, __num); return __result; } template typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, _CharT*>::__type __copy_move_a2(istreambuf_iterator<_CharT> __first, istreambuf_iterator<_CharT> __last, _CharT* __result) { typedef istreambuf_iterator<_CharT> __is_iterator_type; typedef typename __is_iterator_type::traits_type traits_type; typedef typename __is_iterator_type::streambuf_type streambuf_type; typedef typename traits_type::int_type int_type; if (__first._M_sbuf && !__last._M_sbuf) { streambuf_type* __sb = __first._M_sbuf; int_type __c = __sb->sgetc(); while (!traits_type::eq_int_type(__c, traits_type::eof())) { const streamsize __n = __sb->egptr() - __sb->gptr(); if (__n > 1) { traits_type::copy(__result, __sb->gptr(), __n); __sb->__safe_gbump(__n); __result += __n; __c = __sb->underflow(); } else { *__result++ = traits_type::to_char_type(__c); __c = __sb->snextc(); } } } return __result; } template typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, istreambuf_iterator<_CharT> >::__type find(istreambuf_iterator<_CharT> __first, istreambuf_iterator<_CharT> __last, const _CharT& __val) { typedef istreambuf_iterator<_CharT> __is_iterator_type; typedef typename __is_iterator_type::traits_type traits_type; typedef typename __is_iterator_type::streambuf_type streambuf_type; typedef typename traits_type::int_type int_type; if (__first._M_sbuf && !__last._M_sbuf) { const int_type __ival = traits_type::to_int_type(__val); streambuf_type* __sb = __first._M_sbuf; int_type __c = __sb->sgetc(); while (!traits_type::eq_int_type(__c, traits_type::eof()) && !traits_type::eq_int_type(__c, __ival)) { streamsize __n = __sb->egptr() - __sb->gptr(); if (__n > 1) { const _CharT* __p = traits_type::find(__sb->gptr(), __n, __val); if (__p) __n = __p - __sb->gptr(); __sb->__safe_gbump(__n); __c = __sb->sgetc(); } else __c = __sb->snextc(); } if (!traits_type::eq_int_type(__c, traits_type::eof())) __first._M_c = __c; else __first._M_sbuf = 0; } return __first; } } # 49 "/usr/include/c++/5.0.0/bits/locale_facets.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 71 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 template void __convert_to_v(const char*, _Tp&, ios_base::iostate&, const __c_locale&) throw(); template<> void __convert_to_v(const char*, float&, ios_base::iostate&, const __c_locale&) throw(); template<> void __convert_to_v(const char*, double&, ios_base::iostate&, const __c_locale&) throw(); template<> void __convert_to_v(const char*, long double&, ios_base::iostate&, const __c_locale&) throw(); template struct __pad { static void _S_pad(ios_base& __io, _CharT __fill, _CharT* __news, const _CharT* __olds, streamsize __newlen, streamsize __oldlen); }; template _CharT* __add_grouping(_CharT* __s, _CharT __sep, const char* __gbeg, size_t __gsize, const _CharT* __first, const _CharT* __last); template inline ostreambuf_iterator<_CharT> __write(ostreambuf_iterator<_CharT> __s, const _CharT* __ws, int __len) { __s._M_put(__ws, __len); return __s; } template inline _OutIter __write(_OutIter __s, const _CharT* __ws, int __len) { for (int __j = 0; __j < __len; __j++, ++__s) *__s = __ws[__j]; return __s; } # 149 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 template class __ctype_abstract_base : public locale::facet, public ctype_base { public: typedef _CharT char_type; # 168 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 bool is(mask __m, char_type __c) const { return this->do_is(__m, __c); } # 185 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 const char_type* is(const char_type *__lo, const char_type *__hi, mask *__vec) const { return this->do_is(__lo, __hi, __vec); } # 201 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 const char_type* scan_is(mask __m, const char_type* __lo, const char_type* __hi) const { return this->do_scan_is(__m, __lo, __hi); } # 217 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 const char_type* scan_not(mask __m, const char_type* __lo, const char_type* __hi) const { return this->do_scan_not(__m, __lo, __hi); } # 231 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 char_type toupper(char_type __c) const { return this->do_toupper(__c); } # 246 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 const char_type* toupper(char_type *__lo, const char_type* __hi) const { return this->do_toupper(__lo, __hi); } # 260 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 char_type tolower(char_type __c) const { return this->do_tolower(__c); } # 275 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 const char_type* tolower(char_type* __lo, const char_type* __hi) const { return this->do_tolower(__lo, __hi); } # 292 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 char_type widen(char __c) const { return this->do_widen(__c); } # 311 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 const char* widen(const char* __lo, const char* __hi, char_type* __to) const { return this->do_widen(__lo, __hi, __to); } # 330 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 char narrow(char_type __c, char __dfault) const { return this->do_narrow(__c, __dfault); } # 352 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 const char_type* narrow(const char_type* __lo, const char_type* __hi, char __dfault, char* __to) const { return this->do_narrow(__lo, __hi, __dfault, __to); } protected: explicit __ctype_abstract_base(size_t __refs = 0): facet(__refs) { } virtual ~__ctype_abstract_base() { } # 377 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 virtual bool do_is(mask __m, char_type __c) const = 0; # 396 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 virtual const char_type* do_is(const char_type* __lo, const char_type* __hi, mask* __vec) const = 0; # 415 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 virtual const char_type* do_scan_is(mask __m, const char_type* __lo, const char_type* __hi) const = 0; # 434 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 virtual const char_type* do_scan_not(mask __m, const char_type* __lo, const char_type* __hi) const = 0; # 452 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 virtual char_type do_toupper(char_type __c) const = 0; # 469 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 virtual const char_type* do_toupper(char_type* __lo, const char_type* __hi) const = 0; # 485 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 virtual char_type do_tolower(char_type __c) const = 0; # 502 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 virtual const char_type* do_tolower(char_type* __lo, const char_type* __hi) const = 0; # 521 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 virtual char_type do_widen(char __c) const = 0; # 542 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 virtual const char* do_widen(const char* __lo, const char* __hi, char_type* __to) const = 0; # 563 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 virtual char do_narrow(char_type __c, char __dfault) const = 0; # 588 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 virtual const char_type* do_narrow(const char_type* __lo, const char_type* __hi, char __dfault, char* __to) const = 0; }; # 611 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 template class ctype : public __ctype_abstract_base<_CharT> { public: typedef _CharT char_type; typedef typename __ctype_abstract_base<_CharT>::mask mask; static locale::id id; explicit ctype(size_t __refs = 0) : __ctype_abstract_base<_CharT>(__refs) { } protected: virtual ~ctype(); virtual bool do_is(mask __m, char_type __c) const; virtual const char_type* do_is(const char_type* __lo, const char_type* __hi, mask* __vec) const; virtual const char_type* do_scan_is(mask __m, const char_type* __lo, const char_type* __hi) const; virtual const char_type* do_scan_not(mask __m, const char_type* __lo, const char_type* __hi) const; virtual char_type do_toupper(char_type __c) const; virtual const char_type* do_toupper(char_type* __lo, const char_type* __hi) const; virtual char_type do_tolower(char_type __c) const; virtual const char_type* do_tolower(char_type* __lo, const char_type* __hi) const; virtual char_type do_widen(char __c) const; virtual const char* do_widen(const char* __lo, const char* __hi, char_type* __dest) const; virtual char do_narrow(char_type, char __dfault) const; virtual const char_type* do_narrow(const char_type* __lo, const char_type* __hi, char __dfault, char* __to) const; }; template locale::id ctype<_CharT>::id; # 680 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 template<> class ctype : public locale::facet, public ctype_base { public: typedef char char_type; protected: __c_locale _M_c_locale_ctype; bool _M_del; __to_type _M_toupper; __to_type _M_tolower; const mask* _M_table; mutable char _M_widen_ok; mutable char _M_widen[1 + static_cast(-1)]; mutable char _M_narrow[1 + static_cast(-1)]; mutable char _M_narrow_ok; public: static locale::id id; static const size_t table_size = 1 + static_cast(-1); # 717 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 explicit ctype(const mask* __table = 0, bool __del = false, size_t __refs = 0); # 730 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 explicit ctype(__c_locale __cloc, const mask* __table = 0, bool __del = false, size_t __refs = 0); # 743 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 inline bool is(mask __m, char __c) const; # 758 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 inline const char* is(const char* __lo, const char* __hi, mask* __vec) const; # 772 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 inline const char* scan_is(mask __m, const char* __lo, const char* __hi) const; # 786 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 inline const char* scan_not(mask __m, const char* __lo, const char* __hi) const; # 801 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 char_type toupper(char_type __c) const { return this->do_toupper(__c); } # 818 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 const char_type* toupper(char_type *__lo, const char_type* __hi) const { return this->do_toupper(__lo, __hi); } # 834 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 char_type tolower(char_type __c) const { return this->do_tolower(__c); } # 851 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 const char_type* tolower(char_type* __lo, const char_type* __hi) const { return this->do_tolower(__lo, __hi); } # 871 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 char_type widen(char __c) const { if (_M_widen_ok) return _M_widen[static_cast(__c)]; this->_M_widen_init(); return this->do_widen(__c); } # 898 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 const char* widen(const char* __lo, const char* __hi, char_type* __to) const { if (_M_widen_ok == 1) { __builtin_memcpy(__to, __lo, __hi - __lo); return __hi; } if (!_M_widen_ok) _M_widen_init(); return this->do_widen(__lo, __hi, __to); } # 929 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 char narrow(char_type __c, char __dfault) const { if (_M_narrow[static_cast(__c)]) return _M_narrow[static_cast(__c)]; const char __t = do_narrow(__c, __dfault); if (__t != __dfault) _M_narrow[static_cast(__c)] = __t; return __t; } # 962 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 const char_type* narrow(const char_type* __lo, const char_type* __hi, char __dfault, char* __to) const { if (__builtin_expect(_M_narrow_ok == 1, true)) { __builtin_memcpy(__to, __lo, __hi - __lo); return __hi; } if (!_M_narrow_ok) _M_narrow_init(); return this->do_narrow(__lo, __hi, __dfault, __to); } const mask* table() const throw() { return _M_table; } static const mask* classic_table() throw(); protected: virtual ~ctype(); # 1011 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 virtual char_type do_toupper(char_type __c) const; # 1028 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 virtual const char_type* do_toupper(char_type* __lo, const char_type* __hi) const; # 1044 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 virtual char_type do_tolower(char_type __c) const; # 1061 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 virtual const char_type* do_tolower(char_type* __lo, const char_type* __hi) const; # 1081 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 virtual char_type do_widen(char __c) const { return __c; } # 1104 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 virtual const char* do_widen(const char* __lo, const char* __hi, char_type* __to) const { __builtin_memcpy(__to, __lo, __hi - __lo); return __hi; } # 1130 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 virtual char do_narrow(char_type __c, char __dfault) const { return __c; } # 1156 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 virtual const char_type* do_narrow(const char_type* __lo, const char_type* __hi, char __dfault, char* __to) const { __builtin_memcpy(__to, __lo, __hi - __lo); return __hi; } private: void _M_narrow_init() const; void _M_widen_init() const; }; # 1181 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 template<> class ctype : public __ctype_abstract_base { public: typedef wchar_t char_type; typedef wctype_t __wmask_type; protected: __c_locale _M_c_locale_ctype; bool _M_narrow_ok; char _M_narrow[128]; wint_t _M_widen[1 + static_cast(-1)]; mask _M_bit[16]; __wmask_type _M_wmask[16]; public: static locale::id id; # 1214 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 explicit ctype(size_t __refs = 0); # 1225 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 explicit ctype(__c_locale __cloc, size_t __refs = 0); protected: __wmask_type _M_convert_to_wmask(const mask __m) const throw(); virtual ~ctype(); # 1249 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 virtual bool do_is(mask __m, char_type __c) const; # 1268 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 virtual const char_type* do_is(const char_type* __lo, const char_type* __hi, mask* __vec) const; # 1286 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 virtual const char_type* do_scan_is(mask __m, const char_type* __lo, const char_type* __hi) const; # 1304 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 virtual const char_type* do_scan_not(mask __m, const char_type* __lo, const char_type* __hi) const; # 1321 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 virtual char_type do_toupper(char_type __c) const; # 1338 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 virtual const char_type* do_toupper(char_type* __lo, const char_type* __hi) const; # 1354 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 virtual char_type do_tolower(char_type __c) const; # 1371 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 virtual const char_type* do_tolower(char_type* __lo, const char_type* __hi) const; # 1391 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 virtual char_type do_widen(char __c) const; # 1413 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 virtual const char* do_widen(const char* __lo, const char* __hi, char_type* __to) const; # 1436 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 virtual char do_narrow(char_type __c, char __dfault) const; # 1462 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 virtual const char_type* do_narrow(const char_type* __lo, const char_type* __hi, char __dfault, char* __to) const; void _M_initialize_ctype() throw(); }; template class ctype_byname : public ctype<_CharT> { public: typedef typename ctype<_CharT>::mask mask; explicit ctype_byname(const char* __s, size_t __refs = 0); explicit ctype_byname(const string& __s, size_t __refs = 0) : ctype_byname(__s.c_str(), __refs) { } protected: virtual ~ctype_byname() { }; }; template<> class ctype_byname : public ctype { public: explicit ctype_byname(const char* __s, size_t __refs = 0); explicit ctype_byname(const string& __s, size_t __refs = 0); protected: virtual ~ctype_byname(); }; template<> class ctype_byname : public ctype { public: explicit ctype_byname(const char* __s, size_t __refs = 0); explicit ctype_byname(const string& __s, size_t __refs = 0); protected: virtual ~ctype_byname(); }; } # 1 "/usr/include/c++/5.0.0/i686-redhat-linux/bits/ctype_inline.h" 1 3 # 37 "/usr/include/c++/5.0.0/i686-redhat-linux/bits/ctype_inline.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { bool ctype:: is(mask __m, char __c) const { return _M_table[static_cast(__c)] & __m; } const char* ctype:: is(const char* __low, const char* __high, mask* __vec) const { while (__low < __high) *__vec++ = _M_table[static_cast(*__low++)]; return __high; } const char* ctype:: scan_is(mask __m, const char* __low, const char* __high) const { while (__low < __high && !(_M_table[static_cast(*__low)] & __m)) ++__low; return __low; } const char* ctype:: scan_not(mask __m, const char* __low, const char* __high) const { while (__low < __high && (_M_table[static_cast(*__low)] & __m) != 0) ++__low; return __low; } } # 1535 "/usr/include/c++/5.0.0/bits/locale_facets.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { class __num_base { public: enum { _S_ominus, _S_oplus, _S_ox, _S_oX, _S_odigits, _S_odigits_end = _S_odigits + 16, _S_oudigits = _S_odigits_end, _S_oudigits_end = _S_oudigits + 16, _S_oe = _S_odigits + 14, _S_oE = _S_oudigits + 14, _S_oend = _S_oudigits_end }; static const char* _S_atoms_out; static const char* _S_atoms_in; enum { _S_iminus, _S_iplus, _S_ix, _S_iX, _S_izero, _S_ie = _S_izero + 14, _S_iE = _S_izero + 20, _S_iend = 26 }; static void _S_format_float(const ios_base& __io, char* __fptr, char __mod) throw(); }; template struct __numpunct_cache : public locale::facet { const char* _M_grouping; size_t _M_grouping_size; bool _M_use_grouping; const _CharT* _M_truename; size_t _M_truename_size; const _CharT* _M_falsename; size_t _M_falsename_size; _CharT _M_decimal_point; _CharT _M_thousands_sep; _CharT _M_atoms_out[__num_base::_S_oend]; _CharT _M_atoms_in[__num_base::_S_iend]; bool _M_allocated; __numpunct_cache(size_t __refs = 0) : facet(__refs), _M_grouping(0), _M_grouping_size(0), _M_use_grouping(false), _M_truename(0), _M_truename_size(0), _M_falsename(0), _M_falsename_size(0), _M_decimal_point(_CharT()), _M_thousands_sep(_CharT()), _M_allocated(false) { } ~__numpunct_cache(); void _M_cache(const locale& __loc); private: __numpunct_cache& operator=(const __numpunct_cache&); explicit __numpunct_cache(const __numpunct_cache&); }; template __numpunct_cache<_CharT>::~__numpunct_cache() { if (_M_allocated) { delete [] _M_grouping; delete [] _M_truename; delete [] _M_falsename; } } # 1665 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 template class numpunct : public locale::facet { public: typedef _CharT char_type; typedef basic_string<_CharT> string_type; typedef __numpunct_cache<_CharT> __cache_type; protected: __cache_type* _M_data; public: static locale::id id; explicit numpunct(size_t __refs = 0) : facet(__refs), _M_data(0) { _M_initialize_numpunct(); } # 1703 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 explicit numpunct(__cache_type* __cache, size_t __refs = 0) : facet(__refs), _M_data(__cache) { _M_initialize_numpunct(); } # 1717 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 explicit numpunct(__c_locale __cloc, size_t __refs = 0) : facet(__refs), _M_data(0) { _M_initialize_numpunct(__cloc); } # 1731 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 char_type decimal_point() const { return this->do_decimal_point(); } # 1744 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 char_type thousands_sep() const { return this->do_thousands_sep(); } # 1775 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 string grouping() const { return this->do_grouping(); } # 1788 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 string_type truename() const { return this->do_truename(); } # 1801 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 string_type falsename() const { return this->do_falsename(); } protected: virtual ~numpunct(); # 1818 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 virtual char_type do_decimal_point() const { return _M_data->_M_decimal_point; } # 1830 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 virtual char_type do_thousands_sep() const { return _M_data->_M_thousands_sep; } # 1843 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 virtual string do_grouping() const { return _M_data->_M_grouping; } # 1856 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 virtual string_type do_truename() const { return _M_data->_M_truename; } # 1869 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 virtual string_type do_falsename() const { return _M_data->_M_falsename; } void _M_initialize_numpunct(__c_locale __cloc = 0); }; template locale::id numpunct<_CharT>::id; template<> numpunct::~numpunct(); template<> void numpunct::_M_initialize_numpunct(__c_locale __cloc); template<> numpunct::~numpunct(); template<> void numpunct::_M_initialize_numpunct(__c_locale __cloc); template class numpunct_byname : public numpunct<_CharT> { public: typedef _CharT char_type; typedef basic_string<_CharT> string_type; explicit numpunct_byname(const char* __s, size_t __refs = 0) : numpunct<_CharT>(__refs) { if (__builtin_strcmp(__s, "C") != 0 && __builtin_strcmp(__s, "POSIX") != 0) { __c_locale __tmp; this->_S_create_c_locale(__tmp, __s); this->_M_initialize_numpunct(__tmp); this->_S_destroy_c_locale(__tmp); } } explicit numpunct_byname(const string& __s, size_t __refs = 0) : numpunct_byname(__s.c_str(), __refs) { } protected: virtual ~numpunct_byname() { } }; # 1947 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 template class num_get : public locale::facet { public: typedef _CharT char_type; typedef _InIter iter_type; static locale::id id; # 1968 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 explicit num_get(size_t __refs = 0) : facet(__refs) { } # 1994 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 iter_type get(iter_type __in, iter_type __end, ios_base& __io, ios_base::iostate& __err, bool& __v) const { return this->do_get(__in, __end, __io, __err, __v); } # 2031 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 iter_type get(iter_type __in, iter_type __end, ios_base& __io, ios_base::iostate& __err, long& __v) const { return this->do_get(__in, __end, __io, __err, __v); } iter_type get(iter_type __in, iter_type __end, ios_base& __io, ios_base::iostate& __err, unsigned short& __v) const { return this->do_get(__in, __end, __io, __err, __v); } iter_type get(iter_type __in, iter_type __end, ios_base& __io, ios_base::iostate& __err, unsigned int& __v) const { return this->do_get(__in, __end, __io, __err, __v); } iter_type get(iter_type __in, iter_type __end, ios_base& __io, ios_base::iostate& __err, unsigned long& __v) const { return this->do_get(__in, __end, __io, __err, __v); } iter_type get(iter_type __in, iter_type __end, ios_base& __io, ios_base::iostate& __err, long long& __v) const { return this->do_get(__in, __end, __io, __err, __v); } iter_type get(iter_type __in, iter_type __end, ios_base& __io, ios_base::iostate& __err, unsigned long long& __v) const { return this->do_get(__in, __end, __io, __err, __v); } # 2091 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 iter_type get(iter_type __in, iter_type __end, ios_base& __io, ios_base::iostate& __err, float& __v) const { return this->do_get(__in, __end, __io, __err, __v); } iter_type get(iter_type __in, iter_type __end, ios_base& __io, ios_base::iostate& __err, double& __v) const { return this->do_get(__in, __end, __io, __err, __v); } iter_type get(iter_type __in, iter_type __end, ios_base& __io, ios_base::iostate& __err, long double& __v) const { return this->do_get(__in, __end, __io, __err, __v); } # 2134 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 iter_type get(iter_type __in, iter_type __end, ios_base& __io, ios_base::iostate& __err, void*& __v) const { return this->do_get(__in, __end, __io, __err, __v); } protected: virtual ~num_get() { } iter_type _M_extract_float(iter_type, iter_type, ios_base&, ios_base::iostate&, string&) const; template iter_type _M_extract_int(iter_type, iter_type, ios_base&, ios_base::iostate&, _ValueT&) const; template typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, int>::__type _M_find(const _CharT2*, size_t __len, _CharT2 __c) const { int __ret = -1; if (__len <= 10) { if (__c >= _CharT2('0') && __c < _CharT2(_CharT2('0') + __len)) __ret = __c - _CharT2('0'); } else { if (__c >= _CharT2('0') && __c <= _CharT2('9')) __ret = __c - _CharT2('0'); else if (__c >= _CharT2('a') && __c <= _CharT2('f')) __ret = 10 + (__c - _CharT2('a')); else if (__c >= _CharT2('A') && __c <= _CharT2('F')) __ret = 10 + (__c - _CharT2('A')); } return __ret; } template typename __gnu_cxx::__enable_if::__value, int>::__type _M_find(const _CharT2* __zero, size_t __len, _CharT2 __c) const { int __ret = -1; const char_type* __q = char_traits<_CharT2>::find(__zero, __len, __c); if (__q) { __ret = __q - __zero; if (__ret > 15) __ret -= 6; } return __ret; } # 2207 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 virtual iter_type do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, bool&) const; virtual iter_type do_get(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, long& __v) const { return _M_extract_int(__beg, __end, __io, __err, __v); } virtual iter_type do_get(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, unsigned short& __v) const { return _M_extract_int(__beg, __end, __io, __err, __v); } virtual iter_type do_get(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, unsigned int& __v) const { return _M_extract_int(__beg, __end, __io, __err, __v); } virtual iter_type do_get(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, unsigned long& __v) const { return _M_extract_int(__beg, __end, __io, __err, __v); } virtual iter_type do_get(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, long long& __v) const { return _M_extract_int(__beg, __end, __io, __err, __v); } virtual iter_type do_get(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, unsigned long long& __v) const { return _M_extract_int(__beg, __end, __io, __err, __v); } virtual iter_type do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, float&) const; virtual iter_type do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, double&) const; virtual iter_type do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, long double&) const; virtual iter_type do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, void*&) const; # 2270 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 }; template locale::id num_get<_CharT, _InIter>::id; # 2288 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 template class num_put : public locale::facet { public: typedef _CharT char_type; typedef _OutIter iter_type; static locale::id id; # 2309 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 explicit num_put(size_t __refs = 0) : facet(__refs) { } # 2327 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 iter_type put(iter_type __s, ios_base& __io, char_type __fill, bool __v) const { return this->do_put(__s, __io, __fill, __v); } # 2369 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 iter_type put(iter_type __s, ios_base& __io, char_type __fill, long __v) const { return this->do_put(__s, __io, __fill, __v); } iter_type put(iter_type __s, ios_base& __io, char_type __fill, unsigned long __v) const { return this->do_put(__s, __io, __fill, __v); } iter_type put(iter_type __s, ios_base& __io, char_type __fill, long long __v) const { return this->do_put(__s, __io, __fill, __v); } iter_type put(iter_type __s, ios_base& __io, char_type __fill, unsigned long long __v) const { return this->do_put(__s, __io, __fill, __v); } # 2432 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 iter_type put(iter_type __s, ios_base& __io, char_type __fill, double __v) const { return this->do_put(__s, __io, __fill, __v); } iter_type put(iter_type __s, ios_base& __io, char_type __fill, long double __v) const { return this->do_put(__s, __io, __fill, __v); } # 2457 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 iter_type put(iter_type __s, ios_base& __io, char_type __fill, const void* __v) const { return this->do_put(__s, __io, __fill, __v); } protected: template iter_type _M_insert_float(iter_type, ios_base& __io, char_type __fill, char __mod, _ValueT __v) const; void _M_group_float(const char* __grouping, size_t __grouping_size, char_type __sep, const char_type* __p, char_type* __new, char_type* __cs, int& __len) const; template iter_type _M_insert_int(iter_type, ios_base& __io, char_type __fill, _ValueT __v) const; void _M_group_int(const char* __grouping, size_t __grouping_size, char_type __sep, ios_base& __io, char_type* __new, char_type* __cs, int& __len) const; void _M_pad(char_type __fill, streamsize __w, ios_base& __io, char_type* __new, const char_type* __cs, int& __len) const; virtual ~num_put() { }; # 2505 "/usr/include/c++/5.0.0/bits/locale_facets.h" 3 virtual iter_type do_put(iter_type __s, ios_base& __io, char_type __fill, bool __v) const; virtual iter_type do_put(iter_type __s, ios_base& __io, char_type __fill, long __v) const { return _M_insert_int(__s, __io, __fill, __v); } virtual iter_type do_put(iter_type __s, ios_base& __io, char_type __fill, unsigned long __v) const { return _M_insert_int(__s, __io, __fill, __v); } virtual iter_type do_put(iter_type __s, ios_base& __io, char_type __fill, long long __v) const { return _M_insert_int(__s, __io, __fill, __v); } virtual iter_type do_put(iter_type __s, ios_base& __io, char_type __fill, unsigned long long __v) const { return _M_insert_int(__s, __io, __fill, __v); } virtual iter_type do_put(iter_type, ios_base&, char_type, double) const; virtual iter_type do_put(iter_type, ios_base&, char_type, long double) const; virtual iter_type do_put(iter_type, ios_base&, char_type, const void*) const; }; template locale::id num_put<_CharT, _OutIter>::id; template inline bool isspace(_CharT __c, const locale& __loc) { return use_facet >(__loc).is(ctype_base::space, __c); } template inline bool isprint(_CharT __c, const locale& __loc) { return use_facet >(__loc).is(ctype_base::print, __c); } template inline bool iscntrl(_CharT __c, const locale& __loc) { return use_facet >(__loc).is(ctype_base::cntrl, __c); } template inline bool isupper(_CharT __c, const locale& __loc) { return use_facet >(__loc).is(ctype_base::upper, __c); } template inline bool islower(_CharT __c, const locale& __loc) { return use_facet >(__loc).is(ctype_base::lower, __c); } template inline bool isalpha(_CharT __c, const locale& __loc) { return use_facet >(__loc).is(ctype_base::alpha, __c); } template inline bool isdigit(_CharT __c, const locale& __loc) { return use_facet >(__loc).is(ctype_base::digit, __c); } template inline bool ispunct(_CharT __c, const locale& __loc) { return use_facet >(__loc).is(ctype_base::punct, __c); } template inline bool isxdigit(_CharT __c, const locale& __loc) { return use_facet >(__loc).is(ctype_base::xdigit, __c); } template inline bool isalnum(_CharT __c, const locale& __loc) { return use_facet >(__loc).is(ctype_base::alnum, __c); } template inline bool isgraph(_CharT __c, const locale& __loc) { return use_facet >(__loc).is(ctype_base::graph, __c); } template inline bool isblank(_CharT __c, const locale& __loc) { return use_facet >(__loc).is(ctype_base::blank, __c); } template inline _CharT toupper(_CharT __c, const locale& __loc) { return use_facet >(__loc).toupper(__c); } template inline _CharT tolower(_CharT __c, const locale& __loc) { return use_facet >(__loc).tolower(__c); } } # 1 "/usr/include/c++/5.0.0/bits/locale_facets.tcc" 1 3 # 33 "/usr/include/c++/5.0.0/bits/locale_facets.tcc" 3 # 34 "/usr/include/c++/5.0.0/bits/locale_facets.tcc" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template struct __use_cache { const _Facet* operator() (const locale& __loc) const; }; template struct __use_cache<__numpunct_cache<_CharT> > { const __numpunct_cache<_CharT>* operator() (const locale& __loc) const { const size_t __i = numpunct<_CharT>::id._M_id(); const locale::facet** __caches = __loc._M_impl->_M_caches; if (!__caches[__i]) { __numpunct_cache<_CharT>* __tmp = 0; if (true) { __tmp = new __numpunct_cache<_CharT>; __tmp->_M_cache(__loc); } if (false) { delete __tmp; ; } __loc._M_impl->_M_install_cache(__tmp, __i); } return static_cast*>(__caches[__i]); } }; template void __numpunct_cache<_CharT>::_M_cache(const locale& __loc) { const numpunct<_CharT>& __np = use_facet >(__loc); char* __grouping = 0; _CharT* __truename = 0; _CharT* __falsename = 0; if (true) { const string& __g = __np.grouping(); _M_grouping_size = __g.size(); __grouping = new char[_M_grouping_size]; __g.copy(__grouping, _M_grouping_size); _M_use_grouping = (_M_grouping_size && static_cast(__grouping[0]) > 0 && (__grouping[0] != __gnu_cxx::__numeric_traits::__max)); const basic_string<_CharT>& __tn = __np.truename(); _M_truename_size = __tn.size(); __truename = new _CharT[_M_truename_size]; __tn.copy(__truename, _M_truename_size); const basic_string<_CharT>& __fn = __np.falsename(); _M_falsename_size = __fn.size(); __falsename = new _CharT[_M_falsename_size]; __fn.copy(__falsename, _M_falsename_size); _M_decimal_point = __np.decimal_point(); _M_thousands_sep = __np.thousands_sep(); const ctype<_CharT>& __ct = use_facet >(__loc); __ct.widen(__num_base::_S_atoms_out, __num_base::_S_atoms_out + __num_base::_S_oend, _M_atoms_out); __ct.widen(__num_base::_S_atoms_in, __num_base::_S_atoms_in + __num_base::_S_iend, _M_atoms_in); _M_grouping = __grouping; _M_truename = __truename; _M_falsename = __falsename; _M_allocated = true; } if (false) { delete [] __grouping; delete [] __truename; delete [] __falsename; ; } } # 139 "/usr/include/c++/5.0.0/bits/locale_facets.tcc" 3 __attribute__ ((__pure__)) bool __verify_grouping(const char* __grouping, size_t __grouping_size, const string& __grouping_tmp) throw (); template _InIter num_get<_CharT, _InIter>:: _M_extract_float(_InIter __beg, _InIter __end, ios_base& __io, ios_base::iostate& __err, string& __xtrc) const { typedef char_traits<_CharT> __traits_type; typedef __numpunct_cache<_CharT> __cache_type; __use_cache<__cache_type> __uc; const locale& __loc = __io._M_getloc(); const __cache_type* __lc = __uc(__loc); const _CharT* __lit = __lc->_M_atoms_in; char_type __c = char_type(); bool __testeof = __beg == __end; if (!__testeof) { __c = *__beg; const bool __plus = __c == __lit[__num_base::_S_iplus]; if ((__plus || __c == __lit[__num_base::_S_iminus]) && !(__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) && !(__c == __lc->_M_decimal_point)) { __xtrc += __plus ? '+' : '-'; if (++__beg != __end) __c = *__beg; else __testeof = true; } } bool __found_mantissa = false; int __sep_pos = 0; while (!__testeof) { if ((__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) || __c == __lc->_M_decimal_point) break; else if (__c == __lit[__num_base::_S_izero]) { if (!__found_mantissa) { __xtrc += '0'; __found_mantissa = true; } ++__sep_pos; if (++__beg != __end) __c = *__beg; else __testeof = true; } else break; } bool __found_dec = false; bool __found_sci = false; string __found_grouping; if (__lc->_M_use_grouping) __found_grouping.reserve(32); const char_type* __lit_zero = __lit + __num_base::_S_izero; if (!__lc->_M_allocated) while (!__testeof) { const int __digit = _M_find(__lit_zero, 10, __c); if (__digit != -1) { __xtrc += '0' + __digit; __found_mantissa = true; } else if (__c == __lc->_M_decimal_point && !__found_dec && !__found_sci) { __xtrc += '.'; __found_dec = true; } else if ((__c == __lit[__num_base::_S_ie] || __c == __lit[__num_base::_S_iE]) && !__found_sci && __found_mantissa) { __xtrc += 'e'; __found_sci = true; if (++__beg != __end) { __c = *__beg; const bool __plus = __c == __lit[__num_base::_S_iplus]; if (__plus || __c == __lit[__num_base::_S_iminus]) __xtrc += __plus ? '+' : '-'; else continue; } else { __testeof = true; break; } } else break; if (++__beg != __end) __c = *__beg; else __testeof = true; } else while (!__testeof) { if (__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) { if (!__found_dec && !__found_sci) { if (__sep_pos) { __found_grouping += static_cast(__sep_pos); __sep_pos = 0; } else { __xtrc.clear(); break; } } else break; } else if (__c == __lc->_M_decimal_point) { if (!__found_dec && !__found_sci) { if (__found_grouping.size()) __found_grouping += static_cast(__sep_pos); __xtrc += '.'; __found_dec = true; } else break; } else { const char_type* __q = __traits_type::find(__lit_zero, 10, __c); if (__q) { __xtrc += '0' + (__q - __lit_zero); __found_mantissa = true; ++__sep_pos; } else if ((__c == __lit[__num_base::_S_ie] || __c == __lit[__num_base::_S_iE]) && !__found_sci && __found_mantissa) { if (__found_grouping.size() && !__found_dec) __found_grouping += static_cast(__sep_pos); __xtrc += 'e'; __found_sci = true; if (++__beg != __end) { __c = *__beg; const bool __plus = __c == __lit[__num_base::_S_iplus]; if ((__plus || __c == __lit[__num_base::_S_iminus]) && !(__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) && !(__c == __lc->_M_decimal_point)) __xtrc += __plus ? '+' : '-'; else continue; } else { __testeof = true; break; } } else break; } if (++__beg != __end) __c = *__beg; else __testeof = true; } if (__found_grouping.size()) { if (!__found_dec && !__found_sci) __found_grouping += static_cast(__sep_pos); if (!std::__verify_grouping(__lc->_M_grouping, __lc->_M_grouping_size, __found_grouping)) __err = ios_base::failbit; } return __beg; } template template _InIter num_get<_CharT, _InIter>:: _M_extract_int(_InIter __beg, _InIter __end, ios_base& __io, ios_base::iostate& __err, _ValueT& __v) const { typedef char_traits<_CharT> __traits_type; using __gnu_cxx::__add_unsigned; typedef typename __add_unsigned<_ValueT>::__type __unsigned_type; typedef __numpunct_cache<_CharT> __cache_type; __use_cache<__cache_type> __uc; const locale& __loc = __io._M_getloc(); const __cache_type* __lc = __uc(__loc); const _CharT* __lit = __lc->_M_atoms_in; char_type __c = char_type(); const ios_base::fmtflags __basefield = __io.flags() & ios_base::basefield; const bool __oct = __basefield == ios_base::oct; int __base = __oct ? 8 : (__basefield == ios_base::hex ? 16 : 10); bool __testeof = __beg == __end; bool __negative = false; if (!__testeof) { __c = *__beg; __negative = __c == __lit[__num_base::_S_iminus]; if ((__negative || __c == __lit[__num_base::_S_iplus]) && !(__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) && !(__c == __lc->_M_decimal_point)) { if (++__beg != __end) __c = *__beg; else __testeof = true; } } bool __found_zero = false; int __sep_pos = 0; while (!__testeof) { if ((__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) || __c == __lc->_M_decimal_point) break; else if (__c == __lit[__num_base::_S_izero] && (!__found_zero || __base == 10)) { __found_zero = true; ++__sep_pos; if (__basefield == 0) __base = 8; if (__base == 8) __sep_pos = 0; } else if (__found_zero && (__c == __lit[__num_base::_S_ix] || __c == __lit[__num_base::_S_iX])) { if (__basefield == 0) __base = 16; if (__base == 16) { __found_zero = false; __sep_pos = 0; } else break; } else break; if (++__beg != __end) { __c = *__beg; if (!__found_zero) break; } else __testeof = true; } const size_t __len = (__base == 16 ? __num_base::_S_iend - __num_base::_S_izero : __base); string __found_grouping; if (__lc->_M_use_grouping) __found_grouping.reserve(32); bool __testfail = false; bool __testoverflow = false; const __unsigned_type __max = (__negative && __gnu_cxx::__numeric_traits<_ValueT>::__is_signed) ? -__gnu_cxx::__numeric_traits<_ValueT>::__min : __gnu_cxx::__numeric_traits<_ValueT>::__max; const __unsigned_type __smax = __max / __base; __unsigned_type __result = 0; int __digit = 0; const char_type* __lit_zero = __lit + __num_base::_S_izero; if (!__lc->_M_allocated) while (!__testeof) { __digit = _M_find(__lit_zero, __len, __c); if (__digit == -1) break; if (__result > __smax) __testoverflow = true; else { __result *= __base; __testoverflow |= __result > __max - __digit; __result += __digit; ++__sep_pos; } if (++__beg != __end) __c = *__beg; else __testeof = true; } else while (!__testeof) { if (__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) { if (__sep_pos) { __found_grouping += static_cast(__sep_pos); __sep_pos = 0; } else { __testfail = true; break; } } else if (__c == __lc->_M_decimal_point) break; else { const char_type* __q = __traits_type::find(__lit_zero, __len, __c); if (!__q) break; __digit = __q - __lit_zero; if (__digit > 15) __digit -= 6; if (__result > __smax) __testoverflow = true; else { __result *= __base; __testoverflow |= __result > __max - __digit; __result += __digit; ++__sep_pos; } } if (++__beg != __end) __c = *__beg; else __testeof = true; } if (__found_grouping.size()) { __found_grouping += static_cast(__sep_pos); if (!std::__verify_grouping(__lc->_M_grouping, __lc->_M_grouping_size, __found_grouping)) __err = ios_base::failbit; } if ((!__sep_pos && !__found_zero && !__found_grouping.size()) || __testfail) { __v = 0; __err = ios_base::failbit; } else if (__testoverflow) { if (__negative && __gnu_cxx::__numeric_traits<_ValueT>::__is_signed) __v = __gnu_cxx::__numeric_traits<_ValueT>::__min; else __v = __gnu_cxx::__numeric_traits<_ValueT>::__max; __err = ios_base::failbit; } else __v = __negative ? -__result : __result; if (__testeof) __err |= ios_base::eofbit; return __beg; } template _InIter num_get<_CharT, _InIter>:: do_get(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, bool& __v) const { if (!(__io.flags() & ios_base::boolalpha)) { long __l = -1; __beg = _M_extract_int(__beg, __end, __io, __err, __l); if (__l == 0 || __l == 1) __v = bool(__l); else { __v = true; __err = ios_base::failbit; if (__beg == __end) __err |= ios_base::eofbit; } } else { typedef __numpunct_cache<_CharT> __cache_type; __use_cache<__cache_type> __uc; const locale& __loc = __io._M_getloc(); const __cache_type* __lc = __uc(__loc); bool __testf = true; bool __testt = true; bool __donef = __lc->_M_falsename_size == 0; bool __donet = __lc->_M_truename_size == 0; bool __testeof = false; size_t __n = 0; while (!__donef || !__donet) { if (__beg == __end) { __testeof = true; break; } const char_type __c = *__beg; if (!__donef) __testf = __c == __lc->_M_falsename[__n]; if (!__testf && __donet) break; if (!__donet) __testt = __c == __lc->_M_truename[__n]; if (!__testt && __donef) break; if (!__testt && !__testf) break; ++__n; ++__beg; __donef = !__testf || __n >= __lc->_M_falsename_size; __donet = !__testt || __n >= __lc->_M_truename_size; } if (__testf && __n == __lc->_M_falsename_size && __n) { __v = false; if (__testt && __n == __lc->_M_truename_size) __err = ios_base::failbit; else __err = __testeof ? ios_base::eofbit : ios_base::goodbit; } else if (__testt && __n == __lc->_M_truename_size && __n) { __v = true; __err = __testeof ? ios_base::eofbit : ios_base::goodbit; } else { __v = false; __err = ios_base::failbit; if (__testeof) __err |= ios_base::eofbit; } } return __beg; } template _InIter num_get<_CharT, _InIter>:: do_get(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, float& __v) const { string __xtrc; __xtrc.reserve(32); __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc); std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale()); if (__beg == __end) __err |= ios_base::eofbit; return __beg; } template _InIter num_get<_CharT, _InIter>:: do_get(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, double& __v) const { string __xtrc; __xtrc.reserve(32); __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc); std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale()); if (__beg == __end) __err |= ios_base::eofbit; return __beg; } # 735 "/usr/include/c++/5.0.0/bits/locale_facets.tcc" 3 template _InIter num_get<_CharT, _InIter>:: do_get(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, long double& __v) const { string __xtrc; __xtrc.reserve(32); __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc); std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale()); if (__beg == __end) __err |= ios_base::eofbit; return __beg; } template _InIter num_get<_CharT, _InIter>:: do_get(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, void*& __v) const { typedef ios_base::fmtflags fmtflags; const fmtflags __fmt = __io.flags(); __io.flags((__fmt & ~ios_base::basefield) | ios_base::hex); typedef __gnu_cxx::__conditional_type<(sizeof(void*) <= sizeof(unsigned long)), unsigned long, unsigned long long>::__type _UIntPtrType; _UIntPtrType __ul; __beg = _M_extract_int(__beg, __end, __io, __err, __ul); __io.flags(__fmt); __v = reinterpret_cast(__ul); return __beg; } template void num_put<_CharT, _OutIter>:: _M_pad(_CharT __fill, streamsize __w, ios_base& __io, _CharT* __new, const _CharT* __cs, int& __len) const { __pad<_CharT, char_traits<_CharT> >::_S_pad(__io, __fill, __new, __cs, __w, __len); __len = static_cast(__w); } template int __int_to_char(_CharT* __bufend, _ValueT __v, const _CharT* __lit, ios_base::fmtflags __flags, bool __dec) { _CharT* __buf = __bufend; if (__builtin_expect(__dec, true)) { do { *--__buf = __lit[(__v % 10) + __num_base::_S_odigits]; __v /= 10; } while (__v != 0); } else if ((__flags & ios_base::basefield) == ios_base::oct) { do { *--__buf = __lit[(__v & 0x7) + __num_base::_S_odigits]; __v >>= 3; } while (__v != 0); } else { const bool __uppercase = __flags & ios_base::uppercase; const int __case_offset = __uppercase ? __num_base::_S_oudigits : __num_base::_S_odigits; do { *--__buf = __lit[(__v & 0xf) + __case_offset]; __v >>= 4; } while (__v != 0); } return __bufend - __buf; } template void num_put<_CharT, _OutIter>:: _M_group_int(const char* __grouping, size_t __grouping_size, _CharT __sep, ios_base&, _CharT* __new, _CharT* __cs, int& __len) const { _CharT* __p = std::__add_grouping(__new, __sep, __grouping, __grouping_size, __cs, __cs + __len); __len = __p - __new; } template template _OutIter num_put<_CharT, _OutIter>:: _M_insert_int(_OutIter __s, ios_base& __io, _CharT __fill, _ValueT __v) const { using __gnu_cxx::__add_unsigned; typedef typename __add_unsigned<_ValueT>::__type __unsigned_type; typedef __numpunct_cache<_CharT> __cache_type; __use_cache<__cache_type> __uc; const locale& __loc = __io._M_getloc(); const __cache_type* __lc = __uc(__loc); const _CharT* __lit = __lc->_M_atoms_out; const ios_base::fmtflags __flags = __io.flags(); const int __ilen = 5 * sizeof(_ValueT); _CharT* __cs = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * __ilen)); const ios_base::fmtflags __basefield = __flags & ios_base::basefield; const bool __dec = (__basefield != ios_base::oct && __basefield != ios_base::hex); const __unsigned_type __u = ((__v > 0 || !__dec) ? __unsigned_type(__v) : -__unsigned_type(__v)); int __len = __int_to_char(__cs + __ilen, __u, __lit, __flags, __dec); __cs += __ilen - __len; if (__lc->_M_use_grouping) { _CharT* __cs2 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * (__len + 1) * 2)); _M_group_int(__lc->_M_grouping, __lc->_M_grouping_size, __lc->_M_thousands_sep, __io, __cs2 + 2, __cs, __len); __cs = __cs2 + 2; } if (__builtin_expect(__dec, true)) { if (__v >= 0) { if (bool(__flags & ios_base::showpos) && __gnu_cxx::__numeric_traits<_ValueT>::__is_signed) *--__cs = __lit[__num_base::_S_oplus], ++__len; } else *--__cs = __lit[__num_base::_S_ominus], ++__len; } else if (bool(__flags & ios_base::showbase) && __v) { if (__basefield == ios_base::oct) *--__cs = __lit[__num_base::_S_odigits], ++__len; else { const bool __uppercase = __flags & ios_base::uppercase; *--__cs = __lit[__num_base::_S_ox + __uppercase]; *--__cs = __lit[__num_base::_S_odigits]; __len += 2; } } const streamsize __w = __io.width(); if (__w > static_cast(__len)) { _CharT* __cs3 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * __w)); _M_pad(__fill, __w, __io, __cs3, __cs, __len); __cs = __cs3; } __io.width(0); return std::__write(__s, __cs, __len); } template void num_put<_CharT, _OutIter>:: _M_group_float(const char* __grouping, size_t __grouping_size, _CharT __sep, const _CharT* __p, _CharT* __new, _CharT* __cs, int& __len) const { const int __declen = __p ? __p - __cs : __len; _CharT* __p2 = std::__add_grouping(__new, __sep, __grouping, __grouping_size, __cs, __cs + __declen); int __newlen = __p2 - __new; if (__p) { char_traits<_CharT>::copy(__p2, __p, __len - __declen); __newlen += __len - __declen; } __len = __newlen; } # 971 "/usr/include/c++/5.0.0/bits/locale_facets.tcc" 3 template template _OutIter num_put<_CharT, _OutIter>:: _M_insert_float(_OutIter __s, ios_base& __io, _CharT __fill, char __mod, _ValueT __v) const { typedef __numpunct_cache<_CharT> __cache_type; __use_cache<__cache_type> __uc; const locale& __loc = __io._M_getloc(); const __cache_type* __lc = __uc(__loc); const streamsize __prec = __io.precision() < 0 ? 6 : __io.precision(); const int __max_digits = __gnu_cxx::__numeric_traits<_ValueT>::__digits10; int __len; char __fbuf[16]; __num_base::_S_format_float(__io, __fbuf, __mod); const bool __use_prec = (__io.flags() & ios_base::floatfield) != ios_base::floatfield; int __cs_size = __max_digits * 3; char* __cs = static_cast(__builtin_alloca(__cs_size)); if (__use_prec) __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size, __fbuf, __prec, __v); else __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size, __fbuf, __v); if (__len >= __cs_size) { __cs_size = __len + 1; __cs = static_cast(__builtin_alloca(__cs_size)); if (__use_prec) __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size, __fbuf, __prec, __v); else __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size, __fbuf, __v); } # 1044 "/usr/include/c++/5.0.0/bits/locale_facets.tcc" 3 const ctype<_CharT>& __ctype = use_facet >(__loc); _CharT* __ws = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * __len)); __ctype.widen(__cs, __cs + __len, __ws); _CharT* __wp = 0; const char* __p = char_traits::find(__cs, __len, '.'); if (__p) { __wp = __ws + (__p - __cs); *__wp = __lc->_M_decimal_point; } if (__lc->_M_use_grouping && (__wp || __len < 3 || (__cs[1] <= '9' && __cs[2] <= '9' && __cs[1] >= '0' && __cs[2] >= '0'))) { _CharT* __ws2 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * __len * 2)); streamsize __off = 0; if (__cs[0] == '-' || __cs[0] == '+') { __off = 1; __ws2[0] = __ws[0]; __len -= 1; } _M_group_float(__lc->_M_grouping, __lc->_M_grouping_size, __lc->_M_thousands_sep, __wp, __ws2 + __off, __ws + __off, __len); __len += __off; __ws = __ws2; } const streamsize __w = __io.width(); if (__w > static_cast(__len)) { _CharT* __ws3 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * __w)); _M_pad(__fill, __w, __io, __ws3, __ws, __len); __ws = __ws3; } __io.width(0); return std::__write(__s, __ws, __len); } template _OutIter num_put<_CharT, _OutIter>:: do_put(iter_type __s, ios_base& __io, char_type __fill, bool __v) const { const ios_base::fmtflags __flags = __io.flags(); if ((__flags & ios_base::boolalpha) == 0) { const long __l = __v; __s = _M_insert_int(__s, __io, __fill, __l); } else { typedef __numpunct_cache<_CharT> __cache_type; __use_cache<__cache_type> __uc; const locale& __loc = __io._M_getloc(); const __cache_type* __lc = __uc(__loc); const _CharT* __name = __v ? __lc->_M_truename : __lc->_M_falsename; int __len = __v ? __lc->_M_truename_size : __lc->_M_falsename_size; const streamsize __w = __io.width(); if (__w > static_cast(__len)) { const streamsize __plen = __w - __len; _CharT* __ps = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * __plen)); char_traits<_CharT>::assign(__ps, __plen, __fill); __io.width(0); if ((__flags & ios_base::adjustfield) == ios_base::left) { __s = std::__write(__s, __name, __len); __s = std::__write(__s, __ps, __plen); } else { __s = std::__write(__s, __ps, __plen); __s = std::__write(__s, __name, __len); } return __s; } __io.width(0); __s = std::__write(__s, __name, __len); } return __s; } template _OutIter num_put<_CharT, _OutIter>:: do_put(iter_type __s, ios_base& __io, char_type __fill, double __v) const { return _M_insert_float(__s, __io, __fill, char(), __v); } # 1169 "/usr/include/c++/5.0.0/bits/locale_facets.tcc" 3 template _OutIter num_put<_CharT, _OutIter>:: do_put(iter_type __s, ios_base& __io, char_type __fill, long double __v) const { return _M_insert_float(__s, __io, __fill, 'L', __v); } template _OutIter num_put<_CharT, _OutIter>:: do_put(iter_type __s, ios_base& __io, char_type __fill, const void* __v) const { const ios_base::fmtflags __flags = __io.flags(); const ios_base::fmtflags __fmt = ~(ios_base::basefield | ios_base::uppercase); __io.flags((__flags & __fmt) | (ios_base::hex | ios_base::showbase)); typedef __gnu_cxx::__conditional_type<(sizeof(const void*) <= sizeof(unsigned long)), unsigned long, unsigned long long>::__type _UIntPtrType; __s = _M_insert_int(__s, __io, __fill, reinterpret_cast<_UIntPtrType>(__v)); __io.flags(__flags); return __s; } # 1206 "/usr/include/c++/5.0.0/bits/locale_facets.tcc" 3 template void __pad<_CharT, _Traits>::_S_pad(ios_base& __io, _CharT __fill, _CharT* __news, const _CharT* __olds, streamsize __newlen, streamsize __oldlen) { const size_t __plen = static_cast(__newlen - __oldlen); const ios_base::fmtflags __adjust = __io.flags() & ios_base::adjustfield; if (__adjust == ios_base::left) { _Traits::copy(__news, __olds, __oldlen); _Traits::assign(__news + __oldlen, __plen, __fill); return; } size_t __mod = 0; if (__adjust == ios_base::internal) { const locale& __loc = __io._M_getloc(); const ctype<_CharT>& __ctype = use_facet >(__loc); if (__ctype.widen('-') == __olds[0] || __ctype.widen('+') == __olds[0]) { __news[0] = __olds[0]; __mod = 1; ++__news; } else if (__ctype.widen('0') == __olds[0] && __oldlen > 1 && (__ctype.widen('x') == __olds[1] || __ctype.widen('X') == __olds[1])) { __news[0] = __olds[0]; __news[1] = __olds[1]; __mod = 2; __news += 2; } } _Traits::assign(__news, __plen, __fill); _Traits::copy(__news + __plen, __olds + __mod, __oldlen - __mod); } template _CharT* __add_grouping(_CharT* __s, _CharT __sep, const char* __gbeg, size_t __gsize, const _CharT* __first, const _CharT* __last) { size_t __idx = 0; size_t __ctr = 0; while (__last - __first > __gbeg[__idx] && static_cast(__gbeg[__idx]) > 0 && __gbeg[__idx] != __gnu_cxx::__numeric_traits::__max) { __last -= __gbeg[__idx]; __idx < __gsize - 1 ? ++__idx : ++__ctr; } while (__first != __last) *__s++ = *__first++; while (__ctr--) { *__s++ = __sep; for (char __i = __gbeg[__idx]; __i > 0; --__i) *__s++ = *__first++; } while (__idx--) { *__s++ = __sep; for (char __i = __gbeg[__idx]; __i > 0; --__i) *__s++ = *__first++; } return __s; } extern template class numpunct; extern template class numpunct_byname; extern template class num_get; extern template class num_put; extern template class ctype_byname; extern template const ctype& use_facet >(const locale&); extern template const numpunct& use_facet >(const locale&); extern template const num_put& use_facet >(const locale&); extern template const num_get& use_facet >(const locale&); extern template bool has_facet >(const locale&); extern template bool has_facet >(const locale&); extern template bool has_facet >(const locale&); extern template bool has_facet >(const locale&); extern template class numpunct; extern template class numpunct_byname; extern template class num_get; extern template class num_put; extern template class ctype_byname; extern template const ctype& use_facet >(const locale&); extern template const numpunct& use_facet >(const locale&); extern template const num_put& use_facet >(const locale&); extern template const num_get& use_facet >(const locale&); extern template bool has_facet >(const locale&); extern template bool has_facet >(const locale&); extern template bool has_facet >(const locale&); extern template bool has_facet >(const locale&); } # 2652 "/usr/include/c++/5.0.0/bits/locale_facets.h" 2 3 # 38 "/usr/include/c++/5.0.0/bits/basic_ios.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { template inline const _Facet& __check_facet(const _Facet* __f) { if (!__f) __throw_bad_cast(); return *__f; } # 66 "/usr/include/c++/5.0.0/bits/basic_ios.h" 3 template class basic_ios : public ios_base { public: typedef _CharT char_type; typedef typename _Traits::int_type int_type; typedef typename _Traits::pos_type pos_type; typedef typename _Traits::off_type off_type; typedef _Traits traits_type; typedef ctype<_CharT> __ctype_type; typedef num_put<_CharT, ostreambuf_iterator<_CharT, _Traits> > __num_put_type; typedef num_get<_CharT, istreambuf_iterator<_CharT, _Traits> > __num_get_type; protected: basic_ostream<_CharT, _Traits>* _M_tie; mutable char_type _M_fill; mutable bool _M_fill_init; basic_streambuf<_CharT, _Traits>* _M_streambuf; const __ctype_type* _M_ctype; const __num_put_type* _M_num_put; const __num_get_type* _M_num_get; public: # 117 "/usr/include/c++/5.0.0/bits/basic_ios.h" 3 explicit operator bool() const { return !this->fail(); } bool operator!() const { return this->fail(); } # 136 "/usr/include/c++/5.0.0/bits/basic_ios.h" 3 iostate rdstate() const { return _M_streambuf_state; } # 147 "/usr/include/c++/5.0.0/bits/basic_ios.h" 3 void clear(iostate __state = goodbit); void setstate(iostate __state) { this->clear(this->rdstate() | __state); } void _M_setstate(iostate __state) { _M_streambuf_state |= __state; if (this->exceptions() & __state) ; } bool good() const { return this->rdstate() == 0; } bool eof() const { return (this->rdstate() & eofbit) != 0; } # 200 "/usr/include/c++/5.0.0/bits/basic_ios.h" 3 bool fail() const { return (this->rdstate() & (badbit | failbit)) != 0; } bool bad() const { return (this->rdstate() & badbit) != 0; } # 221 "/usr/include/c++/5.0.0/bits/basic_ios.h" 3 iostate exceptions() const { return _M_exception; } # 256 "/usr/include/c++/5.0.0/bits/basic_ios.h" 3 void exceptions(iostate __except) { _M_exception = __except; this->clear(_M_streambuf_state); } explicit basic_ios(basic_streambuf<_CharT, _Traits>* __sb) : ios_base(), _M_tie(0), _M_fill(), _M_fill_init(false), _M_streambuf(0), _M_ctype(0), _M_num_put(0), _M_num_get(0) { this->init(__sb); } virtual ~basic_ios() { } # 294 "/usr/include/c++/5.0.0/bits/basic_ios.h" 3 basic_ostream<_CharT, _Traits>* tie() const { return _M_tie; } # 306 "/usr/include/c++/5.0.0/bits/basic_ios.h" 3 basic_ostream<_CharT, _Traits>* tie(basic_ostream<_CharT, _Traits>* __tiestr) { basic_ostream<_CharT, _Traits>* __old = _M_tie; _M_tie = __tiestr; return __old; } basic_streambuf<_CharT, _Traits>* rdbuf() const { return _M_streambuf; } # 346 "/usr/include/c++/5.0.0/bits/basic_ios.h" 3 basic_streambuf<_CharT, _Traits>* rdbuf(basic_streambuf<_CharT, _Traits>* __sb); # 360 "/usr/include/c++/5.0.0/bits/basic_ios.h" 3 basic_ios& copyfmt(const basic_ios& __rhs); char_type fill() const { if (!_M_fill_init) { _M_fill = this->widen(' '); _M_fill_init = true; } return _M_fill; } # 389 "/usr/include/c++/5.0.0/bits/basic_ios.h" 3 char_type fill(char_type __ch) { char_type __old = this->fill(); _M_fill = __ch; return __old; } # 409 "/usr/include/c++/5.0.0/bits/basic_ios.h" 3 locale imbue(const locale& __loc); # 429 "/usr/include/c++/5.0.0/bits/basic_ios.h" 3 char narrow(char_type __c, char __dfault) const { return __check_facet(_M_ctype).narrow(__c, __dfault); } # 448 "/usr/include/c++/5.0.0/bits/basic_ios.h" 3 char_type widen(char __c) const { return __check_facet(_M_ctype).widen(__c); } protected: basic_ios() : ios_base(), _M_tie(0), _M_fill(char_type()), _M_fill_init(false), _M_streambuf(0), _M_ctype(0), _M_num_put(0), _M_num_get(0) { } void init(basic_streambuf<_CharT, _Traits>* __sb); basic_ios(const basic_ios&) = delete; basic_ios& operator=(const basic_ios&) = delete; void move(basic_ios& __rhs) { ios_base::_M_move(__rhs); _M_cache_locale(_M_ios_locale); this->tie(__rhs.tie(nullptr)); _M_fill = __rhs._M_fill; _M_fill_init = __rhs._M_fill_init; _M_streambuf = nullptr; } void move(basic_ios&& __rhs) { this->move(__rhs); } void swap(basic_ios& __rhs) noexcept { ios_base::_M_swap(__rhs); _M_cache_locale(_M_ios_locale); __rhs._M_cache_locale(__rhs._M_ios_locale); std::swap(_M_tie, __rhs._M_tie); std::swap(_M_fill, __rhs._M_fill); std::swap(_M_fill_init, __rhs._M_fill_init); } void set_rdbuf(basic_streambuf<_CharT, _Traits>* __sb) { _M_streambuf = __sb; } void _M_cache_locale(const locale& __loc); }; } # 1 "/usr/include/c++/5.0.0/bits/basic_ios.tcc" 1 3 # 33 "/usr/include/c++/5.0.0/bits/basic_ios.tcc" 3 # 34 "/usr/include/c++/5.0.0/bits/basic_ios.tcc" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template void basic_ios<_CharT, _Traits>::clear(iostate __state) { if (this->rdbuf()) _M_streambuf_state = __state; else _M_streambuf_state = __state | badbit; if (this->exceptions() & this->rdstate()) __throw_ios_failure(("basic_ios::clear")); } template basic_streambuf<_CharT, _Traits>* basic_ios<_CharT, _Traits>::rdbuf(basic_streambuf<_CharT, _Traits>* __sb) { basic_streambuf<_CharT, _Traits>* __old = _M_streambuf; _M_streambuf = __sb; this->clear(); return __old; } template basic_ios<_CharT, _Traits>& basic_ios<_CharT, _Traits>::copyfmt(const basic_ios& __rhs) { if (this != &__rhs) { _Words* __words = (__rhs._M_word_size <= _S_local_word_size) ? _M_local_word : new _Words[__rhs._M_word_size]; _Callback_list* __cb = __rhs._M_callbacks; if (__cb) __cb->_M_add_reference(); _M_call_callbacks(erase_event); if (_M_word != _M_local_word) { delete [] _M_word; _M_word = 0; } _M_dispose_callbacks(); _M_callbacks = __cb; for (int __i = 0; __i < __rhs._M_word_size; ++__i) __words[__i] = __rhs._M_word[__i]; _M_word = __words; _M_word_size = __rhs._M_word_size; this->flags(__rhs.flags()); this->width(__rhs.width()); this->precision(__rhs.precision()); this->tie(__rhs.tie()); this->fill(__rhs.fill()); _M_ios_locale = __rhs.getloc(); _M_cache_locale(_M_ios_locale); _M_call_callbacks(copyfmt_event); this->exceptions(__rhs.exceptions()); } return *this; } template locale basic_ios<_CharT, _Traits>::imbue(const locale& __loc) { locale __old(this->getloc()); ios_base::imbue(__loc); _M_cache_locale(__loc); if (this->rdbuf() != 0) this->rdbuf()->pubimbue(__loc); return __old; } template void basic_ios<_CharT, _Traits>::init(basic_streambuf<_CharT, _Traits>* __sb) { ios_base::_M_init(); _M_cache_locale(_M_ios_locale); # 146 "/usr/include/c++/5.0.0/bits/basic_ios.tcc" 3 _M_fill = _CharT(); _M_fill_init = false; _M_tie = 0; _M_exception = goodbit; _M_streambuf = __sb; _M_streambuf_state = __sb ? goodbit : badbit; } template void basic_ios<_CharT, _Traits>::_M_cache_locale(const locale& __loc) { if (__builtin_expect(has_facet<__ctype_type>(__loc), true)) _M_ctype = &use_facet<__ctype_type>(__loc); else _M_ctype = 0; if (__builtin_expect(has_facet<__num_put_type>(__loc), true)) _M_num_put = &use_facet<__num_put_type>(__loc); else _M_num_put = 0; if (__builtin_expect(has_facet<__num_get_type>(__loc), true)) _M_num_get = &use_facet<__num_get_type>(__loc); else _M_num_get = 0; } extern template class basic_ios; extern template class basic_ios; } # 517 "/usr/include/c++/5.0.0/bits/basic_ios.h" 2 3 # 45 "/usr/include/c++/5.0.0/ios" 2 3 # 4 "../../../dist/system_wrappers/ios" 2 3 #pragma GCC visibility pop # 56 "../../../dist/stl_wrappers/ios" 2 3 #pragma GCC visibility pop # 39 "/usr/include/c++/5.0.0/istream" 2 3 # 1 "../../../dist/stl_wrappers/ostream" 1 3 # 18 "../../../dist/stl_wrappers/ostream" 3 # 19 "../../../dist/stl_wrappers/ostream" 3 # 33 "../../../dist/stl_wrappers/ostream" 3 # 1 "../../../dist/system_wrappers/new" 1 3 # 2 "../../../dist/system_wrappers/new" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 34 "../../../dist/stl_wrappers/ostream" 2 3 # 54 "../../../dist/stl_wrappers/ostream" 3 #pragma GCC visibility push(default) # 1 "../../../dist/system_wrappers/ostream" 1 3 # 2 "../../../dist/system_wrappers/ostream" 3 #pragma GCC visibility push(default) # 1 "/usr/include/c++/5.0.0/ostream" 1 3 # 36 "/usr/include/c++/5.0.0/ostream" 3 # 37 "/usr/include/c++/5.0.0/ostream" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 57 "/usr/include/c++/5.0.0/ostream" 3 template class basic_ostream : virtual public basic_ios<_CharT, _Traits> { public: typedef _CharT char_type; typedef typename _Traits::int_type int_type; typedef typename _Traits::pos_type pos_type; typedef typename _Traits::off_type off_type; typedef _Traits traits_type; typedef basic_streambuf<_CharT, _Traits> __streambuf_type; typedef basic_ios<_CharT, _Traits> __ios_type; typedef basic_ostream<_CharT, _Traits> __ostream_type; typedef num_put<_CharT, ostreambuf_iterator<_CharT, _Traits> > __num_put_type; typedef ctype<_CharT> __ctype_type; # 83 "/usr/include/c++/5.0.0/ostream" 3 explicit basic_ostream(__streambuf_type* __sb) { this->init(__sb); } virtual ~basic_ostream() { } class sentry; friend class sentry; # 107 "/usr/include/c++/5.0.0/ostream" 3 __ostream_type& operator<<(__ostream_type& (*__pf)(__ostream_type&)) { return __pf(*this); } __ostream_type& operator<<(__ios_type& (*__pf)(__ios_type&)) { __pf(*this); return *this; } __ostream_type& operator<<(ios_base& (*__pf) (ios_base&)) { __pf(*this); return *this; } # 165 "/usr/include/c++/5.0.0/ostream" 3 __ostream_type& operator<<(long __n) { return _M_insert(__n); } __ostream_type& operator<<(unsigned long __n) { return _M_insert(__n); } __ostream_type& operator<<(bool __n) { return _M_insert(__n); } __ostream_type& operator<<(short __n); __ostream_type& operator<<(unsigned short __n) { return _M_insert(static_cast(__n)); } __ostream_type& operator<<(int __n); __ostream_type& operator<<(unsigned int __n) { return _M_insert(static_cast(__n)); } __ostream_type& operator<<(long long __n) { return _M_insert(__n); } __ostream_type& operator<<(unsigned long long __n) { return _M_insert(__n); } # 219 "/usr/include/c++/5.0.0/ostream" 3 __ostream_type& operator<<(double __f) { return _M_insert(__f); } __ostream_type& operator<<(float __f) { return _M_insert(static_cast(__f)); } __ostream_type& operator<<(long double __f) { return _M_insert(__f); } # 244 "/usr/include/c++/5.0.0/ostream" 3 __ostream_type& operator<<(const void* __p) { return _M_insert(__p); } # 269 "/usr/include/c++/5.0.0/ostream" 3 __ostream_type& operator<<(__streambuf_type* __sb); # 302 "/usr/include/c++/5.0.0/ostream" 3 __ostream_type& put(char_type __c); void _M_write(const char_type* __s, streamsize __n) { const streamsize __put = this->rdbuf()->sputn(__s, __n); if (__put != __n) this->setstate(ios_base::badbit); } # 334 "/usr/include/c++/5.0.0/ostream" 3 __ostream_type& write(const char_type* __s, streamsize __n); # 347 "/usr/include/c++/5.0.0/ostream" 3 __ostream_type& flush(); # 357 "/usr/include/c++/5.0.0/ostream" 3 pos_type tellp(); # 368 "/usr/include/c++/5.0.0/ostream" 3 __ostream_type& seekp(pos_type); # 380 "/usr/include/c++/5.0.0/ostream" 3 __ostream_type& seekp(off_type, ios_base::seekdir); protected: basic_ostream() { this->init(0); } basic_ostream(basic_iostream<_CharT, _Traits>&) { } basic_ostream(const basic_ostream&) = delete; basic_ostream(basic_ostream&& __rhs) : __ios_type() { __ios_type::move(__rhs); } basic_ostream& operator=(const basic_ostream&) = delete; basic_ostream& operator=(basic_ostream&& __rhs) { swap(__rhs); return *this; } void swap(basic_ostream& __rhs) { __ios_type::swap(__rhs); } template __ostream_type& _M_insert(_ValueT __v); }; # 425 "/usr/include/c++/5.0.0/ostream" 3 template class basic_ostream<_CharT, _Traits>::sentry { bool _M_ok; basic_ostream<_CharT, _Traits>& _M_os; public: # 444 "/usr/include/c++/5.0.0/ostream" 3 explicit sentry(basic_ostream<_CharT, _Traits>& __os); # 454 "/usr/include/c++/5.0.0/ostream" 3 ~sentry() { if (bool(_M_os.flags() & ios_base::unitbuf) && !uncaught_exception()) { if (_M_os.rdbuf() && _M_os.rdbuf()->pubsync() == -1) _M_os.setstate(ios_base::badbit); } } # 473 "/usr/include/c++/5.0.0/ostream" 3 explicit operator bool() const { return _M_ok; } }; # 495 "/usr/include/c++/5.0.0/ostream" 3 template inline basic_ostream<_CharT, _Traits>& operator<<(basic_ostream<_CharT, _Traits>& __out, _CharT __c) { return __ostream_insert(__out, &__c, 1); } template inline basic_ostream<_CharT, _Traits>& operator<<(basic_ostream<_CharT, _Traits>& __out, char __c) { return (__out << __out.widen(__c)); } template inline basic_ostream& operator<<(basic_ostream& __out, char __c) { return __ostream_insert(__out, &__c, 1); } template inline basic_ostream& operator<<(basic_ostream& __out, signed char __c) { return (__out << static_cast(__c)); } template inline basic_ostream& operator<<(basic_ostream& __out, unsigned char __c) { return (__out << static_cast(__c)); } # 537 "/usr/include/c++/5.0.0/ostream" 3 template inline basic_ostream<_CharT, _Traits>& operator<<(basic_ostream<_CharT, _Traits>& __out, const _CharT* __s) { if (!__s) __out.setstate(ios_base::badbit); else __ostream_insert(__out, __s, static_cast(_Traits::length(__s))); return __out; } template basic_ostream<_CharT, _Traits> & operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s); template inline basic_ostream& operator<<(basic_ostream& __out, const char* __s) { if (!__s) __out.setstate(ios_base::badbit); else __ostream_insert(__out, __s, static_cast(_Traits::length(__s))); return __out; } template inline basic_ostream& operator<<(basic_ostream& __out, const signed char* __s) { return (__out << reinterpret_cast(__s)); } template inline basic_ostream & operator<<(basic_ostream& __out, const unsigned char* __s) { return (__out << reinterpret_cast(__s)); } # 588 "/usr/include/c++/5.0.0/ostream" 3 template inline basic_ostream<_CharT, _Traits>& endl(basic_ostream<_CharT, _Traits>& __os) { return flush(__os.put(__os.widen('\n'))); } # 600 "/usr/include/c++/5.0.0/ostream" 3 template inline basic_ostream<_CharT, _Traits>& ends(basic_ostream<_CharT, _Traits>& __os) { return __os.put(_CharT()); } template inline basic_ostream<_CharT, _Traits>& flush(basic_ostream<_CharT, _Traits>& __os) { return __os.flush(); } # 626 "/usr/include/c++/5.0.0/ostream" 3 template inline basic_ostream<_CharT, _Traits>& operator<<(basic_ostream<_CharT, _Traits>&& __os, const _Tp& __x) { return (__os << __x); } } # 1 "/usr/include/c++/5.0.0/bits/ostream.tcc" 1 3 # 37 "/usr/include/c++/5.0.0/bits/ostream.tcc" 3 # 38 "/usr/include/c++/5.0.0/bits/ostream.tcc" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template basic_ostream<_CharT, _Traits>::sentry:: sentry(basic_ostream<_CharT, _Traits>& __os) : _M_ok(false), _M_os(__os) { if (__os.tie() && __os.good()) __os.tie()->flush(); if (__os.good()) _M_ok = true; else __os.setstate(ios_base::failbit); } template template basic_ostream<_CharT, _Traits>& basic_ostream<_CharT, _Traits>:: _M_insert(_ValueT __v) { sentry __cerb(*this); if (__cerb) { ios_base::iostate __err = ios_base::goodbit; if (true) { const __num_put_type& __np = __check_facet(this->_M_num_put); if (__np.put(*this, *this, this->fill(), __v).failed()) __err |= ios_base::badbit; } if (false) { this->_M_setstate(ios_base::badbit); ; } if (false) { this->_M_setstate(ios_base::badbit); } if (__err) this->setstate(__err); } return *this; } template basic_ostream<_CharT, _Traits>& basic_ostream<_CharT, _Traits>:: operator<<(short __n) { const ios_base::fmtflags __fmt = this->flags() & ios_base::basefield; if (__fmt == ios_base::oct || __fmt == ios_base::hex) return _M_insert(static_cast(static_cast(__n))); else return _M_insert(static_cast(__n)); } template basic_ostream<_CharT, _Traits>& basic_ostream<_CharT, _Traits>:: operator<<(int __n) { const ios_base::fmtflags __fmt = this->flags() & ios_base::basefield; if (__fmt == ios_base::oct || __fmt == ios_base::hex) return _M_insert(static_cast(static_cast(__n))); else return _M_insert(static_cast(__n)); } template basic_ostream<_CharT, _Traits>& basic_ostream<_CharT, _Traits>:: operator<<(__streambuf_type* __sbin) { ios_base::iostate __err = ios_base::goodbit; sentry __cerb(*this); if (__cerb && __sbin) { if (true) { if (!__copy_streambufs(__sbin, this->rdbuf())) __err |= ios_base::failbit; } if (false) { this->_M_setstate(ios_base::badbit); ; } if (false) { this->_M_setstate(ios_base::failbit); } } else if (!__sbin) __err |= ios_base::badbit; if (__err) this->setstate(__err); return *this; } template basic_ostream<_CharT, _Traits>& basic_ostream<_CharT, _Traits>:: put(char_type __c) { sentry __cerb(*this); if (__cerb) { ios_base::iostate __err = ios_base::goodbit; if (true) { const int_type __put = this->rdbuf()->sputc(__c); if (traits_type::eq_int_type(__put, traits_type::eof())) __err |= ios_base::badbit; } if (false) { this->_M_setstate(ios_base::badbit); ; } if (false) { this->_M_setstate(ios_base::badbit); } if (__err) this->setstate(__err); } return *this; } template basic_ostream<_CharT, _Traits>& basic_ostream<_CharT, _Traits>:: write(const _CharT* __s, streamsize __n) { sentry __cerb(*this); if (__cerb) { if (true) { _M_write(__s, __n); } if (false) { this->_M_setstate(ios_base::badbit); ; } if (false) { this->_M_setstate(ios_base::badbit); } } return *this; } template basic_ostream<_CharT, _Traits>& basic_ostream<_CharT, _Traits>:: flush() { ios_base::iostate __err = ios_base::goodbit; if (true) { if (this->rdbuf() && this->rdbuf()->pubsync() == -1) __err |= ios_base::badbit; } if (false) { this->_M_setstate(ios_base::badbit); ; } if (false) { this->_M_setstate(ios_base::badbit); } if (__err) this->setstate(__err); return *this; } template typename basic_ostream<_CharT, _Traits>::pos_type basic_ostream<_CharT, _Traits>:: tellp() { pos_type __ret = pos_type(-1); if (true) { if (!this->fail()) __ret = this->rdbuf()->pubseekoff(0, ios_base::cur, ios_base::out); } if (false) { this->_M_setstate(ios_base::badbit); ; } if (false) { this->_M_setstate(ios_base::badbit); } return __ret; } template basic_ostream<_CharT, _Traits>& basic_ostream<_CharT, _Traits>:: seekp(pos_type __pos) { ios_base::iostate __err = ios_base::goodbit; if (true) { if (!this->fail()) { const pos_type __p = this->rdbuf()->pubseekpos(__pos, ios_base::out); if (__p == pos_type(off_type(-1))) __err |= ios_base::failbit; } } if (false) { this->_M_setstate(ios_base::badbit); ; } if (false) { this->_M_setstate(ios_base::badbit); } if (__err) this->setstate(__err); return *this; } template basic_ostream<_CharT, _Traits>& basic_ostream<_CharT, _Traits>:: seekp(off_type __off, ios_base::seekdir __dir) { ios_base::iostate __err = ios_base::goodbit; if (true) { if (!this->fail()) { const pos_type __p = this->rdbuf()->pubseekoff(__off, __dir, ios_base::out); if (__p == pos_type(off_type(-1))) __err |= ios_base::failbit; } } if (false) { this->_M_setstate(ios_base::badbit); ; } if (false) { this->_M_setstate(ios_base::badbit); } if (__err) this->setstate(__err); return *this; } template basic_ostream<_CharT, _Traits>& operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s) { if (!__s) __out.setstate(ios_base::badbit); else { const size_t __clen = char_traits::length(__s); if (true) { struct __ptr_guard { _CharT *__p; __ptr_guard (_CharT *__ip): __p(__ip) { } ~__ptr_guard() { delete[] __p; } _CharT* __get() { return __p; } } __pg (new _CharT[__clen]); _CharT *__ws = __pg.__get(); for (size_t __i = 0; __i < __clen; ++__i) __ws[__i] = __out.widen(__s[__i]); __ostream_insert(__out, __ws, __clen); } if (false) { __out._M_setstate(ios_base::badbit); ; } if (false) { __out._M_setstate(ios_base::badbit); } } return __out; } extern template class basic_ostream; extern template ostream& endl(ostream&); extern template ostream& ends(ostream&); extern template ostream& flush(ostream&); extern template ostream& operator<<(ostream&, char); extern template ostream& operator<<(ostream&, unsigned char); extern template ostream& operator<<(ostream&, signed char); extern template ostream& operator<<(ostream&, const char*); extern template ostream& operator<<(ostream&, const unsigned char*); extern template ostream& operator<<(ostream&, const signed char*); extern template ostream& ostream::_M_insert(long); extern template ostream& ostream::_M_insert(unsigned long); extern template ostream& ostream::_M_insert(bool); extern template ostream& ostream::_M_insert(long long); extern template ostream& ostream::_M_insert(unsigned long long); extern template ostream& ostream::_M_insert(double); extern template ostream& ostream::_M_insert(long double); extern template ostream& ostream::_M_insert(const void*); extern template class basic_ostream; extern template wostream& endl(wostream&); extern template wostream& ends(wostream&); extern template wostream& flush(wostream&); extern template wostream& operator<<(wostream&, wchar_t); extern template wostream& operator<<(wostream&, char); extern template wostream& operator<<(wostream&, const wchar_t*); extern template wostream& operator<<(wostream&, const char*); extern template wostream& wostream::_M_insert(long); extern template wostream& wostream::_M_insert(unsigned long); extern template wostream& wostream::_M_insert(bool); extern template wostream& wostream::_M_insert(long long); extern template wostream& wostream::_M_insert(unsigned long long); extern template wostream& wostream::_M_insert(double); extern template wostream& wostream::_M_insert(long double); extern template wostream& wostream::_M_insert(const void*); } # 636 "/usr/include/c++/5.0.0/ostream" 2 3 # 4 "../../../dist/system_wrappers/ostream" 2 3 #pragma GCC visibility pop # 56 "../../../dist/stl_wrappers/ostream" 2 3 #pragma GCC visibility pop # 40 "/usr/include/c++/5.0.0/istream" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 57 "/usr/include/c++/5.0.0/istream" 3 template class basic_istream : virtual public basic_ios<_CharT, _Traits> { public: typedef _CharT char_type; typedef typename _Traits::int_type int_type; typedef typename _Traits::pos_type pos_type; typedef typename _Traits::off_type off_type; typedef _Traits traits_type; typedef basic_streambuf<_CharT, _Traits> __streambuf_type; typedef basic_ios<_CharT, _Traits> __ios_type; typedef basic_istream<_CharT, _Traits> __istream_type; typedef num_get<_CharT, istreambuf_iterator<_CharT, _Traits> > __num_get_type; typedef ctype<_CharT> __ctype_type; protected: streamsize _M_gcount; public: explicit basic_istream(__streambuf_type* __sb) : _M_gcount(streamsize(0)) { this->init(__sb); } virtual ~basic_istream() { _M_gcount = streamsize(0); } class sentry; friend class sentry; # 119 "/usr/include/c++/5.0.0/istream" 3 __istream_type& operator>>(__istream_type& (*__pf)(__istream_type&)) { return __pf(*this); } __istream_type& operator>>(__ios_type& (*__pf)(__ios_type&)) { __pf(*this); return *this; } __istream_type& operator>>(ios_base& (*__pf)(ios_base&)) { __pf(*this); return *this; } # 167 "/usr/include/c++/5.0.0/istream" 3 __istream_type& operator>>(bool& __n) { return _M_extract(__n); } __istream_type& operator>>(short& __n); __istream_type& operator>>(unsigned short& __n) { return _M_extract(__n); } __istream_type& operator>>(int& __n); __istream_type& operator>>(unsigned int& __n) { return _M_extract(__n); } __istream_type& operator>>(long& __n) { return _M_extract(__n); } __istream_type& operator>>(unsigned long& __n) { return _M_extract(__n); } __istream_type& operator>>(long long& __n) { return _M_extract(__n); } __istream_type& operator>>(unsigned long long& __n) { return _M_extract(__n); } # 213 "/usr/include/c++/5.0.0/istream" 3 __istream_type& operator>>(float& __f) { return _M_extract(__f); } __istream_type& operator>>(double& __f) { return _M_extract(__f); } __istream_type& operator>>(long double& __f) { return _M_extract(__f); } # 234 "/usr/include/c++/5.0.0/istream" 3 __istream_type& operator>>(void*& __p) { return _M_extract(__p); } # 258 "/usr/include/c++/5.0.0/istream" 3 __istream_type& operator>>(__streambuf_type* __sb); # 268 "/usr/include/c++/5.0.0/istream" 3 streamsize gcount() const { return _M_gcount; } # 301 "/usr/include/c++/5.0.0/istream" 3 int_type get(); # 315 "/usr/include/c++/5.0.0/istream" 3 __istream_type& get(char_type& __c); # 342 "/usr/include/c++/5.0.0/istream" 3 __istream_type& get(char_type* __s, streamsize __n, char_type __delim); # 353 "/usr/include/c++/5.0.0/istream" 3 __istream_type& get(char_type* __s, streamsize __n) { return this->get(__s, __n, this->widen('\n')); } # 376 "/usr/include/c++/5.0.0/istream" 3 __istream_type& get(__streambuf_type& __sb, char_type __delim); # 386 "/usr/include/c++/5.0.0/istream" 3 __istream_type& get(__streambuf_type& __sb) { return this->get(__sb, this->widen('\n')); } # 415 "/usr/include/c++/5.0.0/istream" 3 __istream_type& getline(char_type* __s, streamsize __n, char_type __delim); # 426 "/usr/include/c++/5.0.0/istream" 3 __istream_type& getline(char_type* __s, streamsize __n) { return this->getline(__s, __n, this->widen('\n')); } # 450 "/usr/include/c++/5.0.0/istream" 3 __istream_type& ignore(streamsize __n, int_type __delim); __istream_type& ignore(streamsize __n); __istream_type& ignore(); # 467 "/usr/include/c++/5.0.0/istream" 3 int_type peek(); # 485 "/usr/include/c++/5.0.0/istream" 3 __istream_type& read(char_type* __s, streamsize __n); # 504 "/usr/include/c++/5.0.0/istream" 3 streamsize readsome(char_type* __s, streamsize __n); # 521 "/usr/include/c++/5.0.0/istream" 3 __istream_type& putback(char_type __c); # 537 "/usr/include/c++/5.0.0/istream" 3 __istream_type& unget(); # 555 "/usr/include/c++/5.0.0/istream" 3 int sync(); # 570 "/usr/include/c++/5.0.0/istream" 3 pos_type tellg(); # 585 "/usr/include/c++/5.0.0/istream" 3 __istream_type& seekg(pos_type); # 601 "/usr/include/c++/5.0.0/istream" 3 __istream_type& seekg(off_type, ios_base::seekdir); protected: basic_istream() : _M_gcount(streamsize(0)) { this->init(0); } basic_istream(const basic_istream&) = delete; basic_istream(basic_istream&& __rhs) : __ios_type(), _M_gcount(__rhs._M_gcount) { __ios_type::move(__rhs); __rhs._M_gcount = 0; } basic_istream& operator=(const basic_istream&) = delete; basic_istream& operator=(basic_istream&& __rhs) { swap(__rhs); return *this; } void swap(basic_istream& __rhs) { __ios_type::swap(__rhs); std::swap(_M_gcount, __rhs._M_gcount); } template __istream_type& _M_extract(_ValueT& __v); }; template<> basic_istream& basic_istream:: getline(char_type* __s, streamsize __n, char_type __delim); template<> basic_istream& basic_istream:: ignore(streamsize __n); template<> basic_istream& basic_istream:: ignore(streamsize __n, int_type __delim); template<> basic_istream& basic_istream:: getline(char_type* __s, streamsize __n, char_type __delim); template<> basic_istream& basic_istream:: ignore(streamsize __n); template<> basic_istream& basic_istream:: ignore(streamsize __n, int_type __delim); # 685 "/usr/include/c++/5.0.0/istream" 3 template class basic_istream<_CharT, _Traits>::sentry { bool _M_ok; public: typedef _Traits traits_type; typedef basic_streambuf<_CharT, _Traits> __streambuf_type; typedef basic_istream<_CharT, _Traits> __istream_type; typedef typename __istream_type::__ctype_type __ctype_type; typedef typename _Traits::int_type __int_type; # 721 "/usr/include/c++/5.0.0/istream" 3 explicit sentry(basic_istream<_CharT, _Traits>& __is, bool __noskipws = false); # 732 "/usr/include/c++/5.0.0/istream" 3 explicit operator bool() const { return _M_ok; } }; # 750 "/usr/include/c++/5.0.0/istream" 3 template basic_istream<_CharT, _Traits>& operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c); template inline basic_istream& operator>>(basic_istream& __in, unsigned char& __c) { return (__in >> reinterpret_cast(__c)); } template inline basic_istream& operator>>(basic_istream& __in, signed char& __c) { return (__in >> reinterpret_cast(__c)); } # 792 "/usr/include/c++/5.0.0/istream" 3 template basic_istream<_CharT, _Traits>& operator>>(basic_istream<_CharT, _Traits>& __in, _CharT* __s); template<> basic_istream& operator>>(basic_istream& __in, char* __s); template inline basic_istream& operator>>(basic_istream& __in, unsigned char* __s) { return (__in >> reinterpret_cast(__s)); } template inline basic_istream& operator>>(basic_istream& __in, signed char* __s) { return (__in >> reinterpret_cast(__s)); } # 823 "/usr/include/c++/5.0.0/istream" 3 template class basic_iostream : public basic_istream<_CharT, _Traits>, public basic_ostream<_CharT, _Traits> { public: typedef _CharT char_type; typedef typename _Traits::int_type int_type; typedef typename _Traits::pos_type pos_type; typedef typename _Traits::off_type off_type; typedef _Traits traits_type; typedef basic_istream<_CharT, _Traits> __istream_type; typedef basic_ostream<_CharT, _Traits> __ostream_type; explicit basic_iostream(basic_streambuf<_CharT, _Traits>* __sb) : __istream_type(__sb), __ostream_type(__sb) { } virtual ~basic_iostream() { } protected: basic_iostream() : __istream_type(), __ostream_type() { } basic_iostream(const basic_iostream&) = delete; basic_iostream(basic_iostream&& __rhs) : __istream_type(std::move(__rhs)), __ostream_type(*this) { } basic_iostream& operator=(const basic_iostream&) = delete; basic_iostream& operator=(basic_iostream&& __rhs) { swap(__rhs); return *this; } void swap(basic_iostream& __rhs) { __istream_type::swap(__rhs); } }; # 906 "/usr/include/c++/5.0.0/istream" 3 template basic_istream<_CharT, _Traits>& ws(basic_istream<_CharT, _Traits>& __is); # 922 "/usr/include/c++/5.0.0/istream" 3 template inline basic_istream<_CharT, _Traits>& operator>>(basic_istream<_CharT, _Traits>&& __is, _Tp& __x) { return (__is >> __x); } } # 1 "/usr/include/c++/5.0.0/bits/istream.tcc" 1 3 # 37 "/usr/include/c++/5.0.0/bits/istream.tcc" 3 # 38 "/usr/include/c++/5.0.0/bits/istream.tcc" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template basic_istream<_CharT, _Traits>::sentry:: sentry(basic_istream<_CharT, _Traits>& __in, bool __noskip) : _M_ok(false) { ios_base::iostate __err = ios_base::goodbit; if (__in.good()) { if (__in.tie()) __in.tie()->flush(); if (!__noskip && bool(__in.flags() & ios_base::skipws)) { const __int_type __eof = traits_type::eof(); __streambuf_type* __sb = __in.rdbuf(); __int_type __c = __sb->sgetc(); const __ctype_type& __ct = __check_facet(__in._M_ctype); while (!traits_type::eq_int_type(__c, __eof) && __ct.is(ctype_base::space, traits_type::to_char_type(__c))) __c = __sb->snextc(); if (traits_type::eq_int_type(__c, __eof)) __err |= ios_base::eofbit; } } if (__in.good() && __err == ios_base::goodbit) _M_ok = true; else { __err |= ios_base::failbit; __in.setstate(__err); } } template template basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>:: _M_extract(_ValueT& __v) { sentry __cerb(*this, false); if (__cerb) { ios_base::iostate __err = ios_base::goodbit; if (true) { const __num_get_type& __ng = __check_facet(this->_M_num_get); __ng.get(*this, 0, *this, __err, __v); } if (false) { this->_M_setstate(ios_base::badbit); ; } if (false) { this->_M_setstate(ios_base::badbit); } if (__err) this->setstate(__err); } return *this; } template basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>:: operator>>(short& __n) { sentry __cerb(*this, false); if (__cerb) { ios_base::iostate __err = ios_base::goodbit; if (true) { long __l; const __num_get_type& __ng = __check_facet(this->_M_num_get); __ng.get(*this, 0, *this, __err, __l); if (__l < __gnu_cxx::__numeric_traits::__min) { __err |= ios_base::failbit; __n = __gnu_cxx::__numeric_traits::__min; } else if (__l > __gnu_cxx::__numeric_traits::__max) { __err |= ios_base::failbit; __n = __gnu_cxx::__numeric_traits::__max; } else __n = short(__l); } if (false) { this->_M_setstate(ios_base::badbit); ; } if (false) { this->_M_setstate(ios_base::badbit); } if (__err) this->setstate(__err); } return *this; } template basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>:: operator>>(int& __n) { sentry __cerb(*this, false); if (__cerb) { ios_base::iostate __err = ios_base::goodbit; if (true) { long __l; const __num_get_type& __ng = __check_facet(this->_M_num_get); __ng.get(*this, 0, *this, __err, __l); if (__l < __gnu_cxx::__numeric_traits::__min) { __err |= ios_base::failbit; __n = __gnu_cxx::__numeric_traits::__min; } else if (__l > __gnu_cxx::__numeric_traits::__max) { __err |= ios_base::failbit; __n = __gnu_cxx::__numeric_traits::__max; } else __n = int(__l); } if (false) { this->_M_setstate(ios_base::badbit); ; } if (false) { this->_M_setstate(ios_base::badbit); } if (__err) this->setstate(__err); } return *this; } template basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>:: operator>>(__streambuf_type* __sbout) { ios_base::iostate __err = ios_base::goodbit; sentry __cerb(*this, false); if (__cerb && __sbout) { if (true) { bool __ineof; if (!__copy_streambufs_eof(this->rdbuf(), __sbout, __ineof)) __err |= ios_base::failbit; if (__ineof) __err |= ios_base::eofbit; } if (false) { this->_M_setstate(ios_base::failbit); ; } if (false) { this->_M_setstate(ios_base::failbit); } } else if (!__sbout) __err |= ios_base::failbit; if (__err) this->setstate(__err); return *this; } template typename basic_istream<_CharT, _Traits>::int_type basic_istream<_CharT, _Traits>:: get(void) { const int_type __eof = traits_type::eof(); int_type __c = __eof; _M_gcount = 0; ios_base::iostate __err = ios_base::goodbit; sentry __cerb(*this, true); if (__cerb) { if (true) { __c = this->rdbuf()->sbumpc(); if (!traits_type::eq_int_type(__c, __eof)) _M_gcount = 1; else __err |= ios_base::eofbit; } if (false) { this->_M_setstate(ios_base::badbit); ; } if (false) { this->_M_setstate(ios_base::badbit); } } if (!_M_gcount) __err |= ios_base::failbit; if (__err) this->setstate(__err); return __c; } template basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>:: get(char_type& __c) { _M_gcount = 0; ios_base::iostate __err = ios_base::goodbit; sentry __cerb(*this, true); if (__cerb) { if (true) { const int_type __cb = this->rdbuf()->sbumpc(); if (!traits_type::eq_int_type(__cb, traits_type::eof())) { _M_gcount = 1; __c = traits_type::to_char_type(__cb); } else __err |= ios_base::eofbit; } if (false) { this->_M_setstate(ios_base::badbit); ; } if (false) { this->_M_setstate(ios_base::badbit); } } if (!_M_gcount) __err |= ios_base::failbit; if (__err) this->setstate(__err); return *this; } template basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>:: get(char_type* __s, streamsize __n, char_type __delim) { _M_gcount = 0; ios_base::iostate __err = ios_base::goodbit; sentry __cerb(*this, true); if (__cerb) { if (true) { const int_type __idelim = traits_type::to_int_type(__delim); const int_type __eof = traits_type::eof(); __streambuf_type* __sb = this->rdbuf(); int_type __c = __sb->sgetc(); while (_M_gcount + 1 < __n && !traits_type::eq_int_type(__c, __eof) && !traits_type::eq_int_type(__c, __idelim)) { *__s++ = traits_type::to_char_type(__c); ++_M_gcount; __c = __sb->snextc(); } if (traits_type::eq_int_type(__c, __eof)) __err |= ios_base::eofbit; } if (false) { this->_M_setstate(ios_base::badbit); ; } if (false) { this->_M_setstate(ios_base::badbit); } } if (__n > 0) *__s = char_type(); if (!_M_gcount) __err |= ios_base::failbit; if (__err) this->setstate(__err); return *this; } template basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>:: get(__streambuf_type& __sb, char_type __delim) { _M_gcount = 0; ios_base::iostate __err = ios_base::goodbit; sentry __cerb(*this, true); if (__cerb) { if (true) { const int_type __idelim = traits_type::to_int_type(__delim); const int_type __eof = traits_type::eof(); __streambuf_type* __this_sb = this->rdbuf(); int_type __c = __this_sb->sgetc(); char_type __c2 = traits_type::to_char_type(__c); while (!traits_type::eq_int_type(__c, __eof) && !traits_type::eq_int_type(__c, __idelim) && !traits_type::eq_int_type(__sb.sputc(__c2), __eof)) { ++_M_gcount; __c = __this_sb->snextc(); __c2 = traits_type::to_char_type(__c); } if (traits_type::eq_int_type(__c, __eof)) __err |= ios_base::eofbit; } if (false) { this->_M_setstate(ios_base::badbit); ; } if (false) { this->_M_setstate(ios_base::badbit); } } if (!_M_gcount) __err |= ios_base::failbit; if (__err) this->setstate(__err); return *this; } template basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>:: getline(char_type* __s, streamsize __n, char_type __delim) { _M_gcount = 0; ios_base::iostate __err = ios_base::goodbit; sentry __cerb(*this, true); if (__cerb) { if (true) { const int_type __idelim = traits_type::to_int_type(__delim); const int_type __eof = traits_type::eof(); __streambuf_type* __sb = this->rdbuf(); int_type __c = __sb->sgetc(); while (_M_gcount + 1 < __n && !traits_type::eq_int_type(__c, __eof) && !traits_type::eq_int_type(__c, __idelim)) { *__s++ = traits_type::to_char_type(__c); __c = __sb->snextc(); ++_M_gcount; } if (traits_type::eq_int_type(__c, __eof)) __err |= ios_base::eofbit; else { if (traits_type::eq_int_type(__c, __idelim)) { __sb->sbumpc(); ++_M_gcount; } else __err |= ios_base::failbit; } } if (false) { this->_M_setstate(ios_base::badbit); ; } if (false) { this->_M_setstate(ios_base::badbit); } } if (__n > 0) *__s = char_type(); if (!_M_gcount) __err |= ios_base::failbit; if (__err) this->setstate(__err); return *this; } template basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>:: ignore(void) { _M_gcount = 0; sentry __cerb(*this, true); if (__cerb) { ios_base::iostate __err = ios_base::goodbit; if (true) { const int_type __eof = traits_type::eof(); __streambuf_type* __sb = this->rdbuf(); if (traits_type::eq_int_type(__sb->sbumpc(), __eof)) __err |= ios_base::eofbit; else _M_gcount = 1; } if (false) { this->_M_setstate(ios_base::badbit); ; } if (false) { this->_M_setstate(ios_base::badbit); } if (__err) this->setstate(__err); } return *this; } template basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>:: ignore(streamsize __n) { _M_gcount = 0; sentry __cerb(*this, true); if (__cerb && __n > 0) { ios_base::iostate __err = ios_base::goodbit; if (true) { const int_type __eof = traits_type::eof(); __streambuf_type* __sb = this->rdbuf(); int_type __c = __sb->sgetc(); # 513 "/usr/include/c++/5.0.0/bits/istream.tcc" 3 bool __large_ignore = false; while (true) { while (_M_gcount < __n && !traits_type::eq_int_type(__c, __eof)) { ++_M_gcount; __c = __sb->snextc(); } if (__n == __gnu_cxx::__numeric_traits::__max && !traits_type::eq_int_type(__c, __eof)) { _M_gcount = __gnu_cxx::__numeric_traits::__min; __large_ignore = true; } else break; } if (__large_ignore) _M_gcount = __gnu_cxx::__numeric_traits::__max; if (traits_type::eq_int_type(__c, __eof)) __err |= ios_base::eofbit; } if (false) { this->_M_setstate(ios_base::badbit); ; } if (false) { this->_M_setstate(ios_base::badbit); } if (__err) this->setstate(__err); } return *this; } template basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>:: ignore(streamsize __n, int_type __delim) { _M_gcount = 0; sentry __cerb(*this, true); if (__cerb && __n > 0) { ios_base::iostate __err = ios_base::goodbit; if (true) { const int_type __eof = traits_type::eof(); __streambuf_type* __sb = this->rdbuf(); int_type __c = __sb->sgetc(); bool __large_ignore = false; while (true) { while (_M_gcount < __n && !traits_type::eq_int_type(__c, __eof) && !traits_type::eq_int_type(__c, __delim)) { ++_M_gcount; __c = __sb->snextc(); } if (__n == __gnu_cxx::__numeric_traits::__max && !traits_type::eq_int_type(__c, __eof) && !traits_type::eq_int_type(__c, __delim)) { _M_gcount = __gnu_cxx::__numeric_traits::__min; __large_ignore = true; } else break; } if (__large_ignore) _M_gcount = __gnu_cxx::__numeric_traits::__max; if (traits_type::eq_int_type(__c, __eof)) __err |= ios_base::eofbit; else if (traits_type::eq_int_type(__c, __delim)) { if (_M_gcount < __gnu_cxx::__numeric_traits::__max) ++_M_gcount; __sb->sbumpc(); } } if (false) { this->_M_setstate(ios_base::badbit); ; } if (false) { this->_M_setstate(ios_base::badbit); } if (__err) this->setstate(__err); } return *this; } template typename basic_istream<_CharT, _Traits>::int_type basic_istream<_CharT, _Traits>:: peek(void) { int_type __c = traits_type::eof(); _M_gcount = 0; sentry __cerb(*this, true); if (__cerb) { ios_base::iostate __err = ios_base::goodbit; if (true) { __c = this->rdbuf()->sgetc(); if (traits_type::eq_int_type(__c, traits_type::eof())) __err |= ios_base::eofbit; } if (false) { this->_M_setstate(ios_base::badbit); ; } if (false) { this->_M_setstate(ios_base::badbit); } if (__err) this->setstate(__err); } return __c; } template basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>:: read(char_type* __s, streamsize __n) { _M_gcount = 0; sentry __cerb(*this, true); if (__cerb) { ios_base::iostate __err = ios_base::goodbit; if (true) { _M_gcount = this->rdbuf()->sgetn(__s, __n); if (_M_gcount != __n) __err |= (ios_base::eofbit | ios_base::failbit); } if (false) { this->_M_setstate(ios_base::badbit); ; } if (false) { this->_M_setstate(ios_base::badbit); } if (__err) this->setstate(__err); } return *this; } template streamsize basic_istream<_CharT, _Traits>:: readsome(char_type* __s, streamsize __n) { _M_gcount = 0; sentry __cerb(*this, true); if (__cerb) { ios_base::iostate __err = ios_base::goodbit; if (true) { const streamsize __num = this->rdbuf()->in_avail(); if (__num > 0) _M_gcount = this->rdbuf()->sgetn(__s, std::min(__num, __n)); else if (__num == -1) __err |= ios_base::eofbit; } if (false) { this->_M_setstate(ios_base::badbit); ; } if (false) { this->_M_setstate(ios_base::badbit); } if (__err) this->setstate(__err); } return _M_gcount; } template basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>:: putback(char_type __c) { _M_gcount = 0; this->clear(this->rdstate() & ~ios_base::eofbit); sentry __cerb(*this, true); if (__cerb) { ios_base::iostate __err = ios_base::goodbit; if (true) { const int_type __eof = traits_type::eof(); __streambuf_type* __sb = this->rdbuf(); if (!__sb || traits_type::eq_int_type(__sb->sputbackc(__c), __eof)) __err |= ios_base::badbit; } if (false) { this->_M_setstate(ios_base::badbit); ; } if (false) { this->_M_setstate(ios_base::badbit); } if (__err) this->setstate(__err); } return *this; } template basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>:: unget(void) { _M_gcount = 0; this->clear(this->rdstate() & ~ios_base::eofbit); sentry __cerb(*this, true); if (__cerb) { ios_base::iostate __err = ios_base::goodbit; if (true) { const int_type __eof = traits_type::eof(); __streambuf_type* __sb = this->rdbuf(); if (!__sb || traits_type::eq_int_type(__sb->sungetc(), __eof)) __err |= ios_base::badbit; } if (false) { this->_M_setstate(ios_base::badbit); ; } if (false) { this->_M_setstate(ios_base::badbit); } if (__err) this->setstate(__err); } return *this; } template int basic_istream<_CharT, _Traits>:: sync(void) { int __ret = -1; sentry __cerb(*this, true); if (__cerb) { ios_base::iostate __err = ios_base::goodbit; if (true) { __streambuf_type* __sb = this->rdbuf(); if (__sb) { if (__sb->pubsync() == -1) __err |= ios_base::badbit; else __ret = 0; } } if (false) { this->_M_setstate(ios_base::badbit); ; } if (false) { this->_M_setstate(ios_base::badbit); } if (__err) this->setstate(__err); } return __ret; } template typename basic_istream<_CharT, _Traits>::pos_type basic_istream<_CharT, _Traits>:: tellg(void) { pos_type __ret = pos_type(-1); sentry __cerb(*this, true); if (__cerb) { if (true) { if (!this->fail()) __ret = this->rdbuf()->pubseekoff(0, ios_base::cur, ios_base::in); } if (false) { this->_M_setstate(ios_base::badbit); ; } if (false) { this->_M_setstate(ios_base::badbit); } } return __ret; } template basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>:: seekg(pos_type __pos) { this->clear(this->rdstate() & ~ios_base::eofbit); sentry __cerb(*this, true); if (__cerb) { ios_base::iostate __err = ios_base::goodbit; if (true) { if (!this->fail()) { const pos_type __p = this->rdbuf()->pubseekpos(__pos, ios_base::in); if (__p == pos_type(off_type(-1))) __err |= ios_base::failbit; } } if (false) { this->_M_setstate(ios_base::badbit); ; } if (false) { this->_M_setstate(ios_base::badbit); } if (__err) this->setstate(__err); } return *this; } template basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>:: seekg(off_type __off, ios_base::seekdir __dir) { this->clear(this->rdstate() & ~ios_base::eofbit); sentry __cerb(*this, true); if (__cerb) { ios_base::iostate __err = ios_base::goodbit; if (true) { if (!this->fail()) { const pos_type __p = this->rdbuf()->pubseekoff(__off, __dir, ios_base::in); if (__p == pos_type(off_type(-1))) __err |= ios_base::failbit; } } if (false) { this->_M_setstate(ios_base::badbit); ; } if (false) { this->_M_setstate(ios_base::badbit); } if (__err) this->setstate(__err); } return *this; } template basic_istream<_CharT, _Traits>& operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c) { typedef basic_istream<_CharT, _Traits> __istream_type; typedef typename __istream_type::int_type __int_type; typename __istream_type::sentry __cerb(__in, false); if (__cerb) { ios_base::iostate __err = ios_base::goodbit; if (true) { const __int_type __cb = __in.rdbuf()->sbumpc(); if (!_Traits::eq_int_type(__cb, _Traits::eof())) __c = _Traits::to_char_type(__cb); else __err |= (ios_base::eofbit | ios_base::failbit); } if (false) { __in._M_setstate(ios_base::badbit); ; } if (false) { __in._M_setstate(ios_base::badbit); } if (__err) __in.setstate(__err); } return __in; } template basic_istream<_CharT, _Traits>& operator>>(basic_istream<_CharT, _Traits>& __in, _CharT* __s) { typedef basic_istream<_CharT, _Traits> __istream_type; typedef basic_streambuf<_CharT, _Traits> __streambuf_type; typedef typename _Traits::int_type int_type; typedef _CharT char_type; typedef ctype<_CharT> __ctype_type; streamsize __extracted = 0; ios_base::iostate __err = ios_base::goodbit; typename __istream_type::sentry __cerb(__in, false); if (__cerb) { if (true) { streamsize __num = __in.width(); if (__num <= 0) __num = __gnu_cxx::__numeric_traits::__max; const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc()); const int_type __eof = _Traits::eof(); __streambuf_type* __sb = __in.rdbuf(); int_type __c = __sb->sgetc(); while (__extracted < __num - 1 && !_Traits::eq_int_type(__c, __eof) && !__ct.is(ctype_base::space, _Traits::to_char_type(__c))) { *__s++ = _Traits::to_char_type(__c); ++__extracted; __c = __sb->snextc(); } if (_Traits::eq_int_type(__c, __eof)) __err |= ios_base::eofbit; *__s = char_type(); __in.width(0); } if (false) { __in._M_setstate(ios_base::badbit); ; } if (false) { __in._M_setstate(ios_base::badbit); } } if (!__extracted) __err |= ios_base::failbit; if (__err) __in.setstate(__err); return __in; } template basic_istream<_CharT, _Traits>& ws(basic_istream<_CharT, _Traits>& __in) { typedef basic_istream<_CharT, _Traits> __istream_type; typedef basic_streambuf<_CharT, _Traits> __streambuf_type; typedef typename __istream_type::int_type __int_type; typedef ctype<_CharT> __ctype_type; const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc()); const __int_type __eof = _Traits::eof(); __streambuf_type* __sb = __in.rdbuf(); __int_type __c = __sb->sgetc(); while (!_Traits::eq_int_type(__c, __eof) && __ct.is(ctype_base::space, _Traits::to_char_type(__c))) __c = __sb->snextc(); if (_Traits::eq_int_type(__c, __eof)) __in.setstate(ios_base::eofbit); return __in; } extern template class basic_istream; extern template istream& ws(istream&); extern template istream& operator>>(istream&, char&); extern template istream& operator>>(istream&, char*); extern template istream& operator>>(istream&, unsigned char&); extern template istream& operator>>(istream&, signed char&); extern template istream& operator>>(istream&, unsigned char*); extern template istream& operator>>(istream&, signed char*); extern template istream& istream::_M_extract(unsigned short&); extern template istream& istream::_M_extract(unsigned int&); extern template istream& istream::_M_extract(long&); extern template istream& istream::_M_extract(unsigned long&); extern template istream& istream::_M_extract(bool&); extern template istream& istream::_M_extract(long long&); extern template istream& istream::_M_extract(unsigned long long&); extern template istream& istream::_M_extract(float&); extern template istream& istream::_M_extract(double&); extern template istream& istream::_M_extract(long double&); extern template istream& istream::_M_extract(void*&); extern template class basic_iostream; extern template class basic_istream; extern template wistream& ws(wistream&); extern template wistream& operator>>(wistream&, wchar_t&); extern template wistream& operator>>(wistream&, wchar_t*); extern template wistream& wistream::_M_extract(unsigned short&); extern template wistream& wistream::_M_extract(unsigned int&); extern template wistream& wistream::_M_extract(long&); extern template wistream& wistream::_M_extract(unsigned long&); extern template wistream& wistream::_M_extract(bool&); extern template wistream& wistream::_M_extract(long long&); extern template wistream& wistream::_M_extract(unsigned long long&); extern template wistream& wistream::_M_extract(float&); extern template wistream& wistream::_M_extract(double&); extern template wistream& wistream::_M_extract(long double&); extern template wistream& wistream::_M_extract(void*&); extern template class basic_iostream; } # 932 "/usr/include/c++/5.0.0/istream" 2 3 # 39 "/usr/include/c++/5.0.0/sstream" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 64 "/usr/include/c++/5.0.0/sstream" 3 template class basic_stringbuf : public basic_streambuf<_CharT, _Traits> { struct __xfer_bufptrs; public: typedef _CharT char_type; typedef _Traits traits_type; typedef _Alloc allocator_type; typedef typename traits_type::int_type int_type; typedef typename traits_type::pos_type pos_type; typedef typename traits_type::off_type off_type; typedef basic_streambuf __streambuf_type; typedef basic_string __string_type; typedef typename __string_type::size_type __size_type; protected: ios_base::openmode _M_mode; __string_type _M_string; public: # 99 "/usr/include/c++/5.0.0/sstream" 3 explicit basic_stringbuf(ios_base::openmode __mode = ios_base::in | ios_base::out) : __streambuf_type(), _M_mode(__mode), _M_string() { } # 112 "/usr/include/c++/5.0.0/sstream" 3 explicit basic_stringbuf(const __string_type& __str, ios_base::openmode __mode = ios_base::in | ios_base::out) : __streambuf_type(), _M_mode(), _M_string(__str.data(), __str.size()) { _M_stringbuf_init(__mode); } basic_stringbuf(const basic_stringbuf&) = delete; basic_stringbuf(basic_stringbuf&& __rhs) : basic_stringbuf(std::move(__rhs), __xfer_bufptrs(__rhs, this)) { __rhs._M_sync(const_cast(__rhs._M_string.data()), 0, 0); } basic_stringbuf& operator=(const basic_stringbuf&) = delete; basic_stringbuf& operator=(basic_stringbuf&& __rhs) { __xfer_bufptrs __st{__rhs, this}; const __streambuf_type& __base = __rhs; __streambuf_type::operator=(__base); this->pubimbue(__rhs.getloc()); _M_mode = __rhs._M_mode; _M_string = std::move(__rhs._M_string); __rhs._M_sync(const_cast(__rhs._M_string.data()), 0, 0); return *this; } void swap(basic_stringbuf& __rhs) { __xfer_bufptrs __l_st{*this, std::__addressof(__rhs)}; __xfer_bufptrs __r_st{__rhs, this}; __streambuf_type& __base = __rhs; __streambuf_type::swap(__base); __rhs.pubimbue(this->pubimbue(__rhs.getloc())); std::swap(_M_mode, __rhs._M_mode); std::swap(_M_string, __rhs._M_string); } # 165 "/usr/include/c++/5.0.0/sstream" 3 __string_type str() const { __string_type __ret; if (this->pptr()) { if (this->pptr() > this->egptr()) __ret = __string_type(this->pbase(), this->pptr()); else __ret = __string_type(this->pbase(), this->egptr()); } else __ret = _M_string; return __ret; } # 189 "/usr/include/c++/5.0.0/sstream" 3 void str(const __string_type& __s) { _M_string.assign(__s.data(), __s.size()); _M_stringbuf_init(_M_mode); } protected: void _M_stringbuf_init(ios_base::openmode __mode) { _M_mode = __mode; __size_type __len = 0; if (_M_mode & (ios_base::ate | ios_base::app)) __len = _M_string.size(); _M_sync(const_cast(_M_string.data()), 0, __len); } virtual streamsize showmanyc() { streamsize __ret = -1; if (_M_mode & ios_base::in) { _M_update_egptr(); __ret = this->egptr() - this->gptr(); } return __ret; } virtual int_type underflow(); virtual int_type pbackfail(int_type __c = traits_type::eof()); virtual int_type overflow(int_type __c = traits_type::eof()); # 242 "/usr/include/c++/5.0.0/sstream" 3 virtual __streambuf_type* setbuf(char_type* __s, streamsize __n) { if (__s && __n >= 0) { _M_string.clear(); _M_sync(__s, __n, 0); } return this; } virtual pos_type seekoff(off_type __off, ios_base::seekdir __way, ios_base::openmode __mode = ios_base::in | ios_base::out); virtual pos_type seekpos(pos_type __sp, ios_base::openmode __mode = ios_base::in | ios_base::out); void _M_sync(char_type* __base, __size_type __i, __size_type __o); void _M_update_egptr() { const bool __testin = _M_mode & ios_base::in; if (this->pptr() && this->pptr() > this->egptr()) { if (__testin) this->setg(this->eback(), this->gptr(), this->pptr()); else this->setg(this->pptr(), this->pptr(), this->pptr()); } } void _M_pbump(char_type* __pbeg, char_type* __pend, off_type __off); private: # 335 "/usr/include/c++/5.0.0/sstream" 3 struct __xfer_bufptrs { __xfer_bufptrs(const basic_stringbuf&, basic_stringbuf*) { } }; basic_stringbuf(basic_stringbuf&& __rhs, __xfer_bufptrs&&) : __streambuf_type(static_cast(__rhs)), _M_mode(__rhs._M_mode), _M_string(std::move(__rhs._M_string)) { } }; # 366 "/usr/include/c++/5.0.0/sstream" 3 template class basic_istringstream : public basic_istream<_CharT, _Traits> { public: typedef _CharT char_type; typedef _Traits traits_type; typedef _Alloc allocator_type; typedef typename traits_type::int_type int_type; typedef typename traits_type::pos_type pos_type; typedef typename traits_type::off_type off_type; typedef basic_string<_CharT, _Traits, _Alloc> __string_type; typedef basic_stringbuf<_CharT, _Traits, _Alloc> __stringbuf_type; typedef basic_istream __istream_type; private: __stringbuf_type _M_stringbuf; public: # 402 "/usr/include/c++/5.0.0/sstream" 3 explicit basic_istringstream(ios_base::openmode __mode = ios_base::in) : __istream_type(), _M_stringbuf(__mode | ios_base::in) { this->init(&_M_stringbuf); } # 420 "/usr/include/c++/5.0.0/sstream" 3 explicit basic_istringstream(const __string_type& __str, ios_base::openmode __mode = ios_base::in) : __istream_type(), _M_stringbuf(__str, __mode | ios_base::in) { this->init(&_M_stringbuf); } ~basic_istringstream() { } basic_istringstream(const basic_istringstream&) = delete; basic_istringstream(basic_istringstream&& __rhs) : __istream_type(std::move(__rhs)), _M_stringbuf(std::move(__rhs._M_stringbuf)) { __istream_type::set_rdbuf(&_M_stringbuf); } basic_istringstream& operator=(const basic_istringstream&) = delete; basic_istringstream& operator=(basic_istringstream&& __rhs) { __istream_type::operator=(std::move(__rhs)); _M_stringbuf = std::move(__rhs._M_stringbuf); return *this; } void swap(basic_istringstream& __rhs) { __istream_type::swap(__rhs); _M_stringbuf.swap(__rhs._M_stringbuf); } # 471 "/usr/include/c++/5.0.0/sstream" 3 __stringbuf_type* rdbuf() const { return const_cast<__stringbuf_type*>(&_M_stringbuf); } __string_type str() const { return _M_stringbuf.str(); } void str(const __string_type& __s) { _M_stringbuf.str(__s); } }; # 510 "/usr/include/c++/5.0.0/sstream" 3 template class basic_ostringstream : public basic_ostream<_CharT, _Traits> { public: typedef _CharT char_type; typedef _Traits traits_type; typedef _Alloc allocator_type; typedef typename traits_type::int_type int_type; typedef typename traits_type::pos_type pos_type; typedef typename traits_type::off_type off_type; typedef basic_string<_CharT, _Traits, _Alloc> __string_type; typedef basic_stringbuf<_CharT, _Traits, _Alloc> __stringbuf_type; typedef basic_ostream __ostream_type; private: __stringbuf_type _M_stringbuf; public: # 546 "/usr/include/c++/5.0.0/sstream" 3 explicit basic_ostringstream(ios_base::openmode __mode = ios_base::out) : __ostream_type(), _M_stringbuf(__mode | ios_base::out) { this->init(&_M_stringbuf); } # 564 "/usr/include/c++/5.0.0/sstream" 3 explicit basic_ostringstream(const __string_type& __str, ios_base::openmode __mode = ios_base::out) : __ostream_type(), _M_stringbuf(__str, __mode | ios_base::out) { this->init(&_M_stringbuf); } ~basic_ostringstream() { } basic_ostringstream(const basic_ostringstream&) = delete; basic_ostringstream(basic_ostringstream&& __rhs) : __ostream_type(std::move(__rhs)), _M_stringbuf(std::move(__rhs._M_stringbuf)) { __ostream_type::set_rdbuf(&_M_stringbuf); } basic_ostringstream& operator=(const basic_ostringstream&) = delete; basic_ostringstream& operator=(basic_ostringstream&& __rhs) { __ostream_type::operator=(std::move(__rhs)); _M_stringbuf = std::move(__rhs._M_stringbuf); return *this; } void swap(basic_ostringstream& __rhs) { __ostream_type::swap(__rhs); _M_stringbuf.swap(__rhs._M_stringbuf); } # 615 "/usr/include/c++/5.0.0/sstream" 3 __stringbuf_type* rdbuf() const { return const_cast<__stringbuf_type*>(&_M_stringbuf); } __string_type str() const { return _M_stringbuf.str(); } void str(const __string_type& __s) { _M_stringbuf.str(__s); } }; # 654 "/usr/include/c++/5.0.0/sstream" 3 template class basic_stringstream : public basic_iostream<_CharT, _Traits> { public: typedef _CharT char_type; typedef _Traits traits_type; typedef _Alloc allocator_type; typedef typename traits_type::int_type int_type; typedef typename traits_type::pos_type pos_type; typedef typename traits_type::off_type off_type; typedef basic_string<_CharT, _Traits, _Alloc> __string_type; typedef basic_stringbuf<_CharT, _Traits, _Alloc> __stringbuf_type; typedef basic_iostream __iostream_type; private: __stringbuf_type _M_stringbuf; public: # 689 "/usr/include/c++/5.0.0/sstream" 3 explicit basic_stringstream(ios_base::openmode __m = ios_base::out | ios_base::in) : __iostream_type(), _M_stringbuf(__m) { this->init(&_M_stringbuf); } # 705 "/usr/include/c++/5.0.0/sstream" 3 explicit basic_stringstream(const __string_type& __str, ios_base::openmode __m = ios_base::out | ios_base::in) : __iostream_type(), _M_stringbuf(__str, __m) { this->init(&_M_stringbuf); } ~basic_stringstream() { } basic_stringstream(const basic_stringstream&) = delete; basic_stringstream(basic_stringstream&& __rhs) : __iostream_type(std::move(__rhs)), _M_stringbuf(std::move(__rhs._M_stringbuf)) { __iostream_type::set_rdbuf(&_M_stringbuf); } basic_stringstream& operator=(const basic_stringstream&) = delete; basic_stringstream& operator=(basic_stringstream&& __rhs) { __iostream_type::operator=(std::move(__rhs)); _M_stringbuf = std::move(__rhs._M_stringbuf); return *this; } void swap(basic_stringstream& __rhs) { __iostream_type::swap(__rhs); _M_stringbuf.swap(__rhs._M_stringbuf); } # 756 "/usr/include/c++/5.0.0/sstream" 3 __stringbuf_type* rdbuf() const { return const_cast<__stringbuf_type*>(&_M_stringbuf); } __string_type str() const { return _M_stringbuf.str(); } void str(const __string_type& __s) { _M_stringbuf.str(__s); } }; template inline void swap(basic_stringbuf<_CharT, _Traits, _Allocator>& __x, basic_stringbuf<_CharT, _Traits, _Allocator>& __y) { __x.swap(__y); } template inline void swap(basic_istringstream<_CharT, _Traits, _Allocator>& __x, basic_istringstream<_CharT, _Traits, _Allocator>& __y) { __x.swap(__y); } template inline void swap(basic_ostringstream<_CharT, _Traits, _Allocator>& __x, basic_ostringstream<_CharT, _Traits, _Allocator>& __y) { __x.swap(__y); } template inline void swap(basic_stringstream<_CharT, _Traits, _Allocator>& __x, basic_stringstream<_CharT, _Traits, _Allocator>& __y) { __x.swap(__y); } } # 1 "/usr/include/c++/5.0.0/bits/sstream.tcc" 1 3 # 37 "/usr/include/c++/5.0.0/bits/sstream.tcc" 3 # 38 "/usr/include/c++/5.0.0/bits/sstream.tcc" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template typename basic_stringbuf<_CharT, _Traits, _Alloc>::int_type basic_stringbuf<_CharT, _Traits, _Alloc>:: pbackfail(int_type __c) { int_type __ret = traits_type::eof(); if (this->eback() < this->gptr()) { const bool __testeof = traits_type::eq_int_type(__c, __ret); if (!__testeof) { const bool __testeq = traits_type::eq(traits_type:: to_char_type(__c), this->gptr()[-1]); const bool __testout = this->_M_mode & ios_base::out; if (__testeq || __testout) { this->gbump(-1); if (!__testeq) *this->gptr() = traits_type::to_char_type(__c); __ret = __c; } } else { this->gbump(-1); __ret = traits_type::not_eof(__c); } } return __ret; } template typename basic_stringbuf<_CharT, _Traits, _Alloc>::int_type basic_stringbuf<_CharT, _Traits, _Alloc>:: overflow(int_type __c) { const bool __testout = this->_M_mode & ios_base::out; if (__builtin_expect(!__testout, false)) return traits_type::eof(); const bool __testeof = traits_type::eq_int_type(__c, traits_type::eof()); if (__builtin_expect(__testeof, false)) return traits_type::not_eof(__c); const __size_type __capacity = _M_string.capacity(); const __size_type __max_size = _M_string.max_size(); const bool __testput = this->pptr() < this->epptr(); if (__builtin_expect(!__testput && __capacity == __max_size, false)) return traits_type::eof(); const char_type __conv = traits_type::to_char_type(__c); if (!__testput) { # 110 "/usr/include/c++/5.0.0/bits/sstream.tcc" 3 const __size_type __opt_len = std::max(__size_type(2 * __capacity), __size_type(512)); const __size_type __len = std::min(__opt_len, __max_size); __string_type __tmp; __tmp.reserve(__len); if (this->pbase()) __tmp.assign(this->pbase(), this->epptr() - this->pbase()); __tmp.push_back(__conv); _M_string.swap(__tmp); _M_sync(const_cast(_M_string.data()), this->gptr() - this->eback(), this->pptr() - this->pbase()); } else *this->pptr() = __conv; this->pbump(1); return __c; } template typename basic_stringbuf<_CharT, _Traits, _Alloc>::int_type basic_stringbuf<_CharT, _Traits, _Alloc>:: underflow() { int_type __ret = traits_type::eof(); const bool __testin = this->_M_mode & ios_base::in; if (__testin) { _M_update_egptr(); if (this->gptr() < this->egptr()) __ret = traits_type::to_int_type(*this->gptr()); } return __ret; } template typename basic_stringbuf<_CharT, _Traits, _Alloc>::pos_type basic_stringbuf<_CharT, _Traits, _Alloc>:: seekoff(off_type __off, ios_base::seekdir __way, ios_base::openmode __mode) { pos_type __ret = pos_type(off_type(-1)); bool __testin = (ios_base::in & this->_M_mode & __mode) != 0; bool __testout = (ios_base::out & this->_M_mode & __mode) != 0; const bool __testboth = __testin && __testout && __way != ios_base::cur; __testin &= !(__mode & ios_base::out); __testout &= !(__mode & ios_base::in); const char_type* __beg = __testin ? this->eback() : this->pbase(); if ((__beg || !__off) && (__testin || __testout || __testboth)) { _M_update_egptr(); off_type __newoffi = __off; off_type __newoffo = __newoffi; if (__way == ios_base::cur) { __newoffi += this->gptr() - __beg; __newoffo += this->pptr() - __beg; } else if (__way == ios_base::end) __newoffo = __newoffi += this->egptr() - __beg; if ((__testin || __testboth) && __newoffi >= 0 && this->egptr() - __beg >= __newoffi) { this->setg(this->eback(), this->eback() + __newoffi, this->egptr()); __ret = pos_type(__newoffi); } if ((__testout || __testboth) && __newoffo >= 0 && this->egptr() - __beg >= __newoffo) { _M_pbump(this->pbase(), this->epptr(), __newoffo); __ret = pos_type(__newoffo); } } return __ret; } template typename basic_stringbuf<_CharT, _Traits, _Alloc>::pos_type basic_stringbuf<_CharT, _Traits, _Alloc>:: seekpos(pos_type __sp, ios_base::openmode __mode) { pos_type __ret = pos_type(off_type(-1)); const bool __testin = (ios_base::in & this->_M_mode & __mode) != 0; const bool __testout = (ios_base::out & this->_M_mode & __mode) != 0; const char_type* __beg = __testin ? this->eback() : this->pbase(); if ((__beg || !off_type(__sp)) && (__testin || __testout)) { _M_update_egptr(); const off_type __pos(__sp); const bool __testpos = (0 <= __pos && __pos <= this->egptr() - __beg); if (__testpos) { if (__testin) this->setg(this->eback(), this->eback() + __pos, this->egptr()); if (__testout) _M_pbump(this->pbase(), this->epptr(), __pos); __ret = __sp; } } return __ret; } template void basic_stringbuf<_CharT, _Traits, _Alloc>:: _M_sync(char_type* __base, __size_type __i, __size_type __o) { const bool __testin = _M_mode & ios_base::in; const bool __testout = _M_mode & ios_base::out; char_type* __endg = __base + _M_string.size(); char_type* __endp = __base + _M_string.capacity(); if (__base != _M_string.data()) { __endg += __i; __i = 0; __endp = __endg; } if (__testin) this->setg(__base, __base + __i, __endg); if (__testout) { _M_pbump(__base, __endp, __o); if (!__testin) this->setg(__endg, __endg, __endg); } } template void basic_stringbuf<_CharT, _Traits, _Alloc>:: _M_pbump(char_type* __pbeg, char_type* __pend, off_type __off) { this->setp(__pbeg, __pend); while (__off > __gnu_cxx::__numeric_traits::__max) { this->pbump(__gnu_cxx::__numeric_traits::__max); __off -= __gnu_cxx::__numeric_traits::__max; } this->pbump(__off); } extern template class basic_stringbuf; extern template class basic_istringstream; extern template class basic_ostringstream; extern template class basic_stringstream; extern template class basic_stringbuf; extern template class basic_istringstream; extern template class basic_ostringstream; extern template class basic_stringstream; } # 814 "/usr/include/c++/5.0.0/sstream" 2 3 # 4 "../../../dist/system_wrappers/sstream" 2 3 #pragma GCC visibility pop # 14 "../../../dist/include/mozilla/ToString.h" 2 # 15 "../../../dist/include/mozilla/ToString.h" namespace mozilla { template std::string ToString(const T& aValue) { std::ostringstream stream; stream << aValue; return stream.str(); } } # 12 "../../../dist/include/mozilla/gfx/BasePoint.h" 2 namespace mozilla { namespace gfx { template struct BasePoint { T x, y; constexpr BasePoint() : x(0), y(0) {} constexpr BasePoint(Coord aX, Coord aY) : x(aX), y(aY) {} void MoveTo(T aX, T aY) { x = aX; y = aY; } void MoveBy(T aDx, T aDy) { x += aDx; y += aDy; } bool operator==(const Sub& aPoint) const { return x == aPoint.x && y == aPoint.y; } bool operator!=(const Sub& aPoint) const { return x != aPoint.x || y != aPoint.y; } Sub operator+(const Sub& aPoint) const { return Sub(x + aPoint.x, y + aPoint.y); } Sub operator-(const Sub& aPoint) const { return Sub(x - aPoint.x, y - aPoint.y); } Sub& operator+=(const Sub& aPoint) { x += aPoint.x; y += aPoint.y; return *static_cast(this); } Sub& operator-=(const Sub& aPoint) { x -= aPoint.x; y -= aPoint.y; return *static_cast(this); } Sub operator*(T aScale) const { return Sub(x * aScale, y * aScale); } Sub operator/(T aScale) const { return Sub(x / aScale, y / aScale); } Sub operator-() const { return Sub(-x, -y); } T Length() const { return hypot(x, y); } Sub& Round() { x = Coord(floor(T(x) + T(0.5))); y = Coord(floor(T(y) + T(0.5))); return *static_cast(this); } friend std::ostream& operator<<(std::ostream& stream, const BasePoint& aPoint) { return stream << '(' << aPoint.x << ',' << aPoint.y << ')'; } }; } } # 14 "../../../dist/include/mozilla/gfx/Point.h" 2 # 1 "../../../dist/include/mozilla/gfx/BasePoint3D.h" 1 # 11 "../../../dist/include/mozilla/gfx/BasePoint3D.h" namespace mozilla { namespace gfx { template struct BasePoint3D { T x, y, z; BasePoint3D() : x(0), y(0), z(0) {} BasePoint3D(T aX, T aY, T aZ) : x(aX), y(aY), z(aZ) {} void MoveTo(T aX, T aY, T aZ) { x = aX; y = aY; z = aZ; } void MoveBy(T aDx, T aDy, T aDz) { x += aDx; y += aDy; z += aDz; } T& operator[](int aIndex) { do { } while (0); return *((&x)+aIndex); } const T& operator[](int aIndex) const { do { } while (0); return *((&x)+aIndex); } bool operator==(const Sub& aPoint) const { return x == aPoint.x && y == aPoint.y && z == aPoint.z; } bool operator!=(const Sub& aPoint) const { return x != aPoint.x || y != aPoint.y || z != aPoint.z; } Sub operator+(const Sub& aPoint) const { return Sub(x + aPoint.x, y + aPoint.y, z + aPoint.z); } Sub operator-(const Sub& aPoint) const { return Sub(x - aPoint.x, y - aPoint.y, z - aPoint.z); } Sub& operator+=(const Sub& aPoint) { x += aPoint.x; y += aPoint.y; z += aPoint.z; return *static_cast(this); } Sub& operator-=(const Sub& aPoint) { x -= aPoint.x; y -= aPoint.y; z -= aPoint.z; return *static_cast(this); } Sub operator*(T aScale) const { return Sub(x * aScale, y * aScale, z * aScale); } Sub operator/(T aScale) const { return Sub(x / aScale, y / aScale, z / aScale); } Sub& operator*=(T aScale) { x *= aScale; y *= aScale; z *= aScale; return *static_cast(this); } Sub& operator/=(T aScale) { x /= aScale; y /= aScale; z /= aScale; return *static_cast(this); } Sub operator-() const { return Sub(-x, -y, -z); } Sub CrossProduct(const Sub& aPoint) const { return Sub(y * aPoint.z - aPoint.y * z, z * aPoint.x - aPoint.z * x, x * aPoint.y - aPoint.x * y); } T DotProduct(const Sub& aPoint) const { return x * aPoint.x + y * aPoint.y + z * aPoint.z; } T Length() const { return sqrt(x*x + y*y + z*z); } void Normalize() { *this /= Length(); } }; } } # 15 "../../../dist/include/mozilla/gfx/Point.h" 2 # 1 "../../../dist/include/mozilla/gfx/BasePoint4D.h" 1 # 11 "../../../dist/include/mozilla/gfx/BasePoint4D.h" namespace mozilla { namespace gfx { template struct BasePoint4D { T x, y, z, w; BasePoint4D() : x(0), y(0), z(0), w(0) {} BasePoint4D(T aX, T aY, T aZ, T aW) : x(aX), y(aY), z(aZ), w(aW) {} void MoveTo(T aX, T aY, T aZ, T aW) { x = aX; y = aY; z = aZ; w = aW; } void MoveBy(T aDx, T aDy, T aDz, T aDw) { x += aDx; y += aDy; z += aDz; w += aDw; } bool operator==(const Sub& aPoint) const { return x == aPoint.x && y == aPoint.y && z == aPoint.z && w == aPoint.w; } bool operator!=(const Sub& aPoint) const { return x != aPoint.x || y != aPoint.y || z != aPoint.z || w != aPoint.w; } Sub operator+(const Sub& aPoint) const { return Sub(x + aPoint.x, y + aPoint.y, z + aPoint.z, w + aPoint.w); } Sub operator-(const Sub& aPoint) const { return Sub(x - aPoint.x, y - aPoint.y, z - aPoint.z, w - aPoint.w); } Sub& operator+=(const Sub& aPoint) { x += aPoint.x; y += aPoint.y; z += aPoint.z; w += aPoint.w; return *static_cast(this); } Sub& operator-=(const Sub& aPoint) { x -= aPoint.x; y -= aPoint.y; z -= aPoint.z; w -= aPoint.w; return *static_cast(this); } Sub operator*(T aScale) const { return Sub(x * aScale, y * aScale, z * aScale, w * aScale); } Sub operator/(T aScale) const { return Sub(x / aScale, y / aScale, z / aScale, w / aScale); } Sub& operator*=(T aScale) { x *= aScale; y *= aScale; z *= aScale; w *= aScale; return *static_cast(this); } Sub& operator/=(T aScale) { x /= aScale; y /= aScale; z /= aScale; w /= aScale; return *static_cast(this); } Sub operator-() const { return Sub(-x, -y, -z, -w); } T& operator[](int aIndex) { do { } while (0); return *((&x)+aIndex); } const T& operator[](int aIndex) const { do { } while (0); return *((&x)+aIndex); } T DotProduct(const Sub& aPoint) const { return x * aPoint.x + y * aPoint.y + z * aPoint.z + w * aPoint.w; } Sub CrossProduct(const Sub& aPoint) const { return Sub(y * aPoint.z - aPoint.y * z, z * aPoint.x - aPoint.z * x, x * aPoint.y - aPoint.x * y, 0); } T Length() const { return sqrt(x*x + y*y + z*z + w*w); } void Normalize() { *this /= Length(); } bool HasPositiveWCoord() { return w > 0; } }; } } # 16 "../../../dist/include/mozilla/gfx/Point.h" 2 # 1 "../../../dist/include/mozilla/gfx/BaseSize.h" 1 # 17 "../../../dist/include/mozilla/gfx/Point.h" 2 # 1 "/usr/include/c++/5.0.0/cmath" 1 3 # 39 "/usr/include/c++/5.0.0/cmath" 3 # 40 "/usr/include/c++/5.0.0/cmath" 3 # 1 "../../../dist/system_wrappers/math.h" 1 3 # 2 "../../../dist/system_wrappers/math.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 45 "/usr/include/c++/5.0.0/cmath" 2 3 # 20 "../../../dist/include/mozilla/gfx/Point.h" 2 namespace mozilla { template struct IsPixel; namespace gfx { struct UnknownUnits {}; } template<> struct IsPixel : TrueType {}; namespace gfx { template struct IntPointTyped : public BasePoint< int32_t, IntPointTyped, IntCoordTyped >, public units { static_assert(IsPixel::value, "'units' must be a coordinate system tag"); typedef IntCoordTyped Coord; typedef BasePoint< int32_t, IntPointTyped, IntCoordTyped > Super; constexpr IntPointTyped() : Super() {} constexpr IntPointTyped(int32_t aX, int32_t aY) : Super(Coord(aX), Coord(aY)) {} constexpr IntPointTyped(int32_t aX, Coord aY) : Super(Coord(aX), aY) {} constexpr IntPointTyped(Coord aX, int32_t aY) : Super(aX, Coord(aY)) {} constexpr IntPointTyped(Coord aX, Coord aY) : Super(aX, aY) {} static IntPointTyped FromUnknownPoint(const IntPointTyped& aPoint) { return IntPointTyped(aPoint.x, aPoint.y); } IntPointTyped ToUnknownPoint() const { return IntPointTyped(this->x, this->y); } }; typedef IntPointTyped IntPoint; template struct PointTyped : public BasePoint< Float, PointTyped, CoordTyped >, public units { static_assert(IsPixel::value, "'units' must be a coordinate system tag"); typedef CoordTyped Coord; typedef BasePoint< Float, PointTyped, CoordTyped > Super; constexpr PointTyped() : Super() {} constexpr PointTyped(Float aX, Float aY) : Super(Coord(aX), Coord(aY)) {} constexpr PointTyped(Float aX, Coord aY) : Super(Coord(aX), aY) {} constexpr PointTyped(Coord aX, Float aY) : Super(aX, Coord(aY)) {} constexpr PointTyped(Coord aX, Coord aY) : Super(aX.value, aY.value) {} constexpr PointTyped(const IntPointTyped& point) : Super(float(point.x), float(point.y)) {} static PointTyped FromUnknownPoint(const PointTyped& aPoint) { return PointTyped(aPoint.x, aPoint.y); } PointTyped ToUnknownPoint() const { return PointTyped(this->x, this->y); } }; typedef PointTyped Point; template IntPointTyped RoundedToInt(const PointTyped& aPoint) { return IntPointTyped(int32_t(floorf(aPoint.x + 0.5f)), int32_t(floorf(aPoint.y + 0.5f))); } template IntPointTyped TruncatedToInt(const PointTyped& aPoint) { return IntPointTyped(int32_t(aPoint.x), int32_t(aPoint.y)); } template struct Point3DTyped : public BasePoint3D< Float, Point3DTyped > { static_assert(IsPixel::value, "'units' must be a coordinate system tag"); typedef BasePoint3D< Float, Point3DTyped > Super; Point3DTyped() : Super() {} Point3DTyped(Float aX, Float aY, Float aZ) : Super(aX, aY, aZ) {} static Point3DTyped FromUnknownPoint(const Point3DTyped& aPoint) { return Point3DTyped(aPoint.x, aPoint.y, aPoint.z); } Point3DTyped ToUnknownPoint() const { return Point3DTyped(this->x, this->y, this->z); } }; typedef Point3DTyped Point3D; template struct Point4DTyped : public BasePoint4D< Float, Point4DTyped > { static_assert(IsPixel::value, "'units' must be a coordinate system tag"); typedef BasePoint4D< Float, Point4DTyped > Super; Point4DTyped() : Super() {} Point4DTyped(Float aX, Float aY, Float aZ, Float aW) : Super(aX, aY, aZ, aW) {} static Point4DTyped FromUnknownPoint(const Point4DTyped& aPoint) { return Point4DTyped(aPoint.x, aPoint.y, aPoint.z, aPoint.w); } Point4DTyped ToUnknownPoint() const { return Point4DTyped(this->x, this->y, this->z, this->w); } PointTyped As2DPoint() { return PointTyped(this->x / this->w, this->y / this->w); } }; typedef Point4DTyped Point4D; template struct IntSizeTyped : public BaseSize< int32_t, IntSizeTyped >, public units { static_assert(IsPixel::value, "'units' must be a coordinate system tag"); typedef BaseSize< int32_t, IntSizeTyped > Super; constexpr IntSizeTyped() : Super() {} constexpr IntSizeTyped(int32_t aWidth, int32_t aHeight) : Super(aWidth, aHeight) {} static IntSizeTyped FromUnknownSize(const IntSizeTyped& aSize) { return IntSizeTyped(aSize.width, aSize.height); } IntSizeTyped ToUnknownSize() const { return IntSizeTyped(this->width, this->height); } }; typedef IntSizeTyped IntSize; template struct SizeTyped : public BaseSize< Float, SizeTyped >, public units { static_assert(IsPixel::value, "'units' must be a coordinate system tag"); typedef BaseSize< Float, SizeTyped > Super; constexpr SizeTyped() : Super() {} constexpr SizeTyped(Float aWidth, Float aHeight) : Super(aWidth, aHeight) {} explicit SizeTyped(const IntSizeTyped& size) : Super(float(size.width), float(size.height)) {} static SizeTyped FromUnknownSize(const SizeTyped& aSize) { return SizeTyped(aSize.width, aSize.height); } SizeTyped ToUnknownSize() const { return SizeTyped(this->width, this->height); } }; typedef SizeTyped Size; template IntSizeTyped RoundedToInt(const SizeTyped& aSize) { return IntSizeTyped(int32_t(floorf(aSize.width + 0.5f)), int32_t(floorf(aSize.height + 0.5f))); } } } # 12 "../../../dist/include/nsSize.h" 2 struct nsIntSize; typedef nsIntSize gfxIntSize; struct nsSize : public mozilla::gfx::BaseSize { typedef mozilla::gfx::BaseSize Super; nsSize() : Super() {} nsSize(nscoord aWidth, nscoord aHeight) : Super(aWidth, aHeight) {} inline nsIntSize ScaleToNearestPixels(float aXScale, float aYScale, nscoord aAppUnitsPerPixel) const; inline nsIntSize ToNearestPixels(nscoord aAppUnitsPerPixel) const; inline nsSize ConvertAppUnits(int32_t aFromAPP, int32_t aToAPP) const; }; struct nsIntSize : public mozilla::gfx::BaseSize { typedef mozilla::gfx::BaseSize Super; nsIntSize() : Super() {} nsIntSize(int32_t aWidth, int32_t aHeight) : Super(aWidth, aHeight) {} inline nsSize ToAppUnits(nscoord aAppUnitsPerPixel) const; mozilla::gfx::IntSize ToIntSize() const { return mozilla::gfx::IntSize(width, height); }; }; inline nsIntSize nsSize::ScaleToNearestPixels(float aXScale, float aYScale, nscoord aAppUnitsPerPixel) const { return nsIntSize( NSToIntRoundUp(NSAppUnitsToDoublePixels(width, aAppUnitsPerPixel) * aXScale), NSToIntRoundUp(NSAppUnitsToDoublePixels(height, aAppUnitsPerPixel) * aYScale)); } inline nsIntSize nsSize::ToNearestPixels(nscoord aAppUnitsPerPixel) const { return ScaleToNearestPixels(1.0f, 1.0f, aAppUnitsPerPixel); } inline nsSize nsSize::ConvertAppUnits(int32_t aFromAPP, int32_t aToAPP) const { if (aFromAPP != aToAPP) { nsSize size; size.width = NSToCoordRound(NSCoordScale(width, aFromAPP, aToAPP)); size.height = NSToCoordRound(NSCoordScale(height, aFromAPP, aToAPP)); return size; } return *this; } inline nsSize nsIntSize::ToAppUnits(nscoord aAppUnitsPerPixel) const { return nsSize(NSIntPixelsToAppUnits(width, aAppUnitsPerPixel), NSIntPixelsToAppUnits(height, aAppUnitsPerPixel)); } # 10 "../../../dist/include/MediaInfo.h" 2 # 1 "../../../dist/include/nsRect.h" 1 # 10 "../../../dist/include/nsRect.h" # 1 "../../../dist/system_wrappers/stdio.h" 1 # 2 "../../../dist/system_wrappers/stdio.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 11 "../../../dist/include/nsRect.h" 2 # 1 "../../../dist/system_wrappers/stdint.h" 1 # 2 "../../../dist/system_wrappers/stdint.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 12 "../../../dist/include/nsRect.h" 2 # 1 "../../../dist/include/gfxCore.h" 1 # 15 "../../../dist/include/nsRect.h" 2 # 1 "../../../dist/include/mozilla/gfx/BaseRect.h" 1 # 10 "../../../dist/include/mozilla/gfx/BaseRect.h" # 1 "/usr/include/c++/5.0.0/cmath" 1 3 # 39 "/usr/include/c++/5.0.0/cmath" 3 # 40 "/usr/include/c++/5.0.0/cmath" 3 # 1 "../../../dist/system_wrappers/math.h" 1 3 # 2 "../../../dist/system_wrappers/math.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 45 "/usr/include/c++/5.0.0/cmath" 2 3 # 11 "../../../dist/include/mozilla/gfx/BaseRect.h" 2 # 1 "../../../dist/include/mozilla/FloatingPoint.h" 1 # 14 "../../../dist/include/mozilla/FloatingPoint.h" # 1 "../../../dist/include/mozilla/Casting.h" 1 # 15 "../../../dist/include/mozilla/Casting.h" # 1 "../../../dist/system_wrappers/limits.h" 1 # 2 "../../../dist/system_wrappers/limits.h" 3 #pragma GCC visibility push(default) # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/limits.h" 1 3 4 # 34 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/limits.h" 3 4 # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/syslimits.h" 1 3 4 # 1 "../../../dist/system_wrappers/limits.h" 1 3 4 # 2 "../../../dist/system_wrappers/limits.h" 3 #pragma GCC visibility push(default) # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/limits.h" 1 3 4 # 168 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/limits.h" 3 4 # 1 "/usr/include/limits.h" 1 3 4 # 25 "/usr/include/limits.h" 3 4 # 1 "../../../dist/system_wrappers/features.h" 1 3 4 # 2 "../../../dist/system_wrappers/features.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 26 "/usr/include/limits.h" 2 3 4 # 143 "/usr/include/limits.h" 3 4 # 1 "/usr/include/bits/posix1_lim.h" 1 3 4 # 160 "/usr/include/bits/posix1_lim.h" 3 4 # 1 "/usr/include/bits/local_lim.h" 1 3 4 # 38 "/usr/include/bits/local_lim.h" 3 4 # 1 "../../../dist/system_wrappers/linux/limits.h" 1 3 4 # 2 "../../../dist/system_wrappers/linux/limits.h" 3 #pragma GCC visibility push(default) # 1 "/usr/include/linux/limits.h" 1 3 4 # 4 "../../../dist/system_wrappers/linux/limits.h" 2 3 #pragma GCC visibility pop # 39 "/usr/include/bits/local_lim.h" 2 3 4 # 161 "/usr/include/bits/posix1_lim.h" 2 3 4 # 144 "/usr/include/limits.h" 2 3 4 # 1 "/usr/include/bits/posix2_lim.h" 1 3 4 # 148 "/usr/include/limits.h" 2 3 4 # 1 "/usr/include/bits/xopen_lim.h" 1 3 4 # 33 "/usr/include/bits/xopen_lim.h" 3 4 # 1 "/usr/include/bits/stdio_lim.h" 1 3 4 # 34 "/usr/include/bits/xopen_lim.h" 2 3 4 # 152 "/usr/include/limits.h" 2 3 4 # 169 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/limits.h" 2 3 4 # 4 "../../../dist/system_wrappers/limits.h" 2 3 #pragma GCC visibility pop # 8 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/syslimits.h" 2 3 4 # 35 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/limits.h" 2 3 4 # 4 "../../../dist/system_wrappers/limits.h" 2 3 #pragma GCC visibility pop # 16 "../../../dist/include/mozilla/Casting.h" 2 namespace mozilla { # 27 "../../../dist/include/mozilla/Casting.h" template inline To BitwiseCast(const From aFrom) { static_assert(sizeof(From) == sizeof(To), "To and From must have the same size"); union { From mFrom; To mTo; } u; u.mFrom = aFrom; return u.mTo; } namespace detail { enum ToSignedness { ToIsSigned, ToIsUnsigned }; enum FromSignedness { FromIsSigned, FromIsUnsigned }; template::value ? FromIsSigned : FromIsUnsigned, ToSignedness = IsSigned::value ? ToIsSigned : ToIsUnsigned> struct BoundsCheckImpl; enum UUComparison { FromIsBigger, FromIsNotBigger }; template sizeof(To)) ? FromIsBigger : FromIsNotBigger> struct UnsignedUnsignedCheck; template struct UnsignedUnsignedCheck { public: static bool checkBounds(const From aFrom) { return aFrom <= From(To(-1)); } }; template struct UnsignedUnsignedCheck { public: static bool checkBounds(const From aFrom) { return true; } }; template struct BoundsCheckImpl { public: static bool checkBounds(const From aFrom) { return UnsignedUnsignedCheck::checkBounds(aFrom); } }; template struct BoundsCheckImpl { public: static bool checkBounds(const From aFrom) { if (aFrom < 0) { return false; } if (sizeof(To) >= sizeof(From)) { return true; } return aFrom <= From(To(-1)); } }; enum USComparison { FromIsSmaller, FromIsNotSmaller }; template struct UnsignedSignedCheck; template struct UnsignedSignedCheck { public: static bool checkBounds(const From aFrom) { return true; } }; template struct UnsignedSignedCheck { public: static bool checkBounds(const From aFrom) { const To MaxValue = To((1ULL << (8 * sizeof(To) - 1)) - 1); return aFrom <= From(MaxValue); } }; template struct BoundsCheckImpl { public: static bool checkBounds(const From aFrom) { return UnsignedSignedCheck::checkBounds(aFrom); } }; template struct BoundsCheckImpl { public: static bool checkBounds(const From aFrom) { if (sizeof(From) <= sizeof(To)) { return true; } const To MaxValue = To((1ULL << (8 * sizeof(To) - 1)) - 1); const To MinValue = -MaxValue - To(1); return From(MinValue) <= aFrom && From(aFrom) <= From(MaxValue); } }; template::value && IsIntegral::value> class BoundsChecker; template class BoundsChecker { public: static bool checkBounds(const From aFrom) { return true; } }; template class BoundsChecker { public: static bool checkBounds(const From aFrom) { return BoundsCheckImpl::checkBounds(aFrom); } }; template inline bool IsInBounds(const From aFrom) { return BoundsChecker::checkBounds(aFrom); } } template inline To AssertedCast(const From aFrom) { do { } while (0); return static_cast(aFrom); } } # 15 "../../../dist/include/mozilla/FloatingPoint.h" 2 # 1 "../../../dist/include/mozilla/MathAlgorithms.h" 1 # 15 "../../../dist/include/mozilla/MathAlgorithms.h" # 1 "/usr/include/c++/5.0.0/cmath" 1 3 # 39 "/usr/include/c++/5.0.0/cmath" 3 # 40 "/usr/include/c++/5.0.0/cmath" 3 # 1 "../../../dist/system_wrappers/math.h" 1 3 # 2 "../../../dist/system_wrappers/math.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 45 "/usr/include/c++/5.0.0/cmath" 2 3 # 16 "../../../dist/include/mozilla/MathAlgorithms.h" 2 # 1 "../../../dist/system_wrappers/limits.h" 1 # 2 "../../../dist/system_wrappers/limits.h" 3 #pragma GCC visibility push(default) # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/limits.h" 1 3 4 # 4 "../../../dist/system_wrappers/limits.h" 2 3 #pragma GCC visibility pop # 17 "../../../dist/include/mozilla/MathAlgorithms.h" 2 # 1 "../../../dist/system_wrappers/stdint.h" 1 # 2 "../../../dist/system_wrappers/stdint.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 18 "../../../dist/include/mozilla/MathAlgorithms.h" 2 namespace mozilla { template __attribute__((always_inline)) inline IntegerType EuclidGCD(IntegerType aA, IntegerType aB) { do { } while (0); do { } while (0); while (aA != aB) { if (aA > aB) { aA = aA - aB; } else { aB = aB - aA; } } return aA; } template __attribute__((always_inline)) inline IntegerType EuclidLCM(IntegerType aA, IntegerType aB) { return (aA / EuclidGCD(aA, aB)) * aB; } namespace detail { template struct AllowDeprecatedAbsFixed : FalseType {}; template<> struct AllowDeprecatedAbsFixed : TrueType {}; template<> struct AllowDeprecatedAbsFixed : TrueType {}; template struct AllowDeprecatedAbs : AllowDeprecatedAbsFixed {}; template<> struct AllowDeprecatedAbs : TrueType {}; template<> struct AllowDeprecatedAbs : TrueType {}; } template inline typename mozilla::EnableIf::value, T>::Type DeprecatedAbs(const T aValue) { # 82 "../../../dist/include/mozilla/MathAlgorithms.h" do { } while (0) ; return aValue >= 0 ? aValue : -aValue; } namespace detail { template struct AbsReturnTypeFixed; template<> struct AbsReturnTypeFixed { typedef uint8_t Type; }; template<> struct AbsReturnTypeFixed { typedef uint16_t Type; }; template<> struct AbsReturnTypeFixed { typedef uint32_t Type; }; template<> struct AbsReturnTypeFixed { typedef uint64_t Type; }; template struct AbsReturnType : AbsReturnTypeFixed {}; template<> struct AbsReturnType : EnableIf {}; template<> struct AbsReturnType { typedef unsigned char Type; }; template<> struct AbsReturnType { typedef unsigned short Type; }; template<> struct AbsReturnType { typedef unsigned int Type; }; template<> struct AbsReturnType { typedef unsigned long Type; }; template<> struct AbsReturnType { typedef unsigned long long Type; }; template<> struct AbsReturnType { typedef float Type; }; template<> struct AbsReturnType { typedef double Type; }; template<> struct AbsReturnType { typedef long double Type; }; } template inline typename detail::AbsReturnType::Type Abs(const T aValue) { typedef typename detail::AbsReturnType::Type ReturnType; return aValue >= 0 ? ReturnType(aValue) : ~ReturnType(aValue) + 1; } template<> inline float Abs(const float aFloat) { return std::fabs(aFloat); } template<> inline double Abs(const double aDouble) { return std::fabs(aDouble); } template<> inline long double Abs(const long double aLongDouble) { return std::fabs(aLongDouble); } } # 163 "../../../dist/include/mozilla/MathAlgorithms.h" namespace mozilla { namespace detail { # 246 "../../../dist/include/mozilla/MathAlgorithms.h" inline uint_fast8_t CountLeadingZeroes32(uint32_t aValue) { return __builtin_clz(aValue); } inline uint_fast8_t CountTrailingZeroes32(uint32_t aValue) { return __builtin_ctz(aValue); } inline uint_fast8_t CountPopulation32(uint32_t aValue) { return __builtin_popcount(aValue); } inline uint_fast8_t CountPopulation64(uint64_t aValue) { return __builtin_popcountll(aValue); } inline uint_fast8_t CountLeadingZeroes64(uint64_t aValue) { return __builtin_clzll(aValue); } inline uint_fast8_t CountTrailingZeroes64(uint64_t aValue) { return __builtin_ctzll(aValue); } # 292 "../../../dist/include/mozilla/MathAlgorithms.h" } # 305 "../../../dist/include/mozilla/MathAlgorithms.h" inline uint_fast8_t CountLeadingZeroes32(uint32_t aValue) { do { } while (0); return detail::CountLeadingZeroes32(aValue); } # 323 "../../../dist/include/mozilla/MathAlgorithms.h" inline uint_fast8_t CountTrailingZeroes32(uint32_t aValue) { do { } while (0); return detail::CountTrailingZeroes32(aValue); } inline uint_fast8_t CountPopulation32(uint32_t aValue) { return detail::CountPopulation32(aValue); } inline uint_fast8_t CountPopulation64(uint64_t aValue) { return detail::CountPopulation64(aValue); } inline uint_fast8_t CountLeadingZeroes64(uint64_t aValue) { do { } while (0); return detail::CountLeadingZeroes64(aValue); } inline uint_fast8_t CountTrailingZeroes64(uint64_t aValue) { do { } while (0); return detail::CountTrailingZeroes64(aValue); } namespace detail { template class CeilingLog2; template class CeilingLog2 { public: static uint_fast8_t compute(const T aValue) { return aValue <= 1 ? 0u : 32u - CountLeadingZeroes32(aValue - 1); } }; template class CeilingLog2 { public: static uint_fast8_t compute(const T aValue) { return aValue <= 1 ? 0 : 64 - CountLeadingZeroes64(aValue - 1); } }; } # 400 "../../../dist/include/mozilla/MathAlgorithms.h" template inline uint_fast8_t CeilingLog2(const T aValue) { return detail::CeilingLog2::compute(aValue); } inline uint_fast8_t CeilingLog2Size(size_t aValue) { return CeilingLog2(aValue); } namespace detail { template class FloorLog2; template class FloorLog2 { public: static uint_fast8_t compute(const T aValue) { return 31u - CountLeadingZeroes32(aValue | 1); } }; template class FloorLog2 { public: static uint_fast8_t compute(const T aValue) { return 63u - CountLeadingZeroes64(aValue | 1); } }; } # 449 "../../../dist/include/mozilla/MathAlgorithms.h" template inline uint_fast8_t FloorLog2(const T aValue) { return detail::FloorLog2::compute(aValue); } inline uint_fast8_t FloorLog2Size(size_t aValue) { return FloorLog2(aValue); } inline size_t RoundUpPow2(size_t aValue) { do { } while (0) ; return size_t(1) << CeilingLog2(aValue); } template inline T RotateLeft(const T aValue, uint_fast8_t aShift) { do { } while (0); static_assert(IsUnsigned::value, "Rotates require unsigned values"); return (aValue << aShift) | (aValue >> (sizeof(T) * 8 - aShift)); } template inline T RotateRight(const T aValue, uint_fast8_t aShift) { do { } while (0); static_assert(IsUnsigned::value, "Rotates require unsigned values"); return (aValue >> aShift) | (aValue << (sizeof(T) * 8 - aShift)); } } # 16 "../../../dist/include/mozilla/FloatingPoint.h" 2 # 1 "../../../dist/system_wrappers/stdint.h" 1 # 2 "../../../dist/system_wrappers/stdint.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 19 "../../../dist/include/mozilla/FloatingPoint.h" 2 namespace mozilla { # 37 "../../../dist/include/mozilla/FloatingPoint.h" struct FloatTypeTraits { typedef uint32_t Bits; static const unsigned kExponentBias = 127; static const unsigned kExponentShift = 23; static const Bits kSignBit = 0x80000000UL; static const Bits kExponentBits = 0x7F800000UL; static const Bits kSignificandBits = 0x007FFFFFUL; }; struct DoubleTypeTraits { typedef uint64_t Bits; static const unsigned kExponentBias = 1023; static const unsigned kExponentShift = 52; static const Bits kSignBit = 0x8000000000000000ULL; static const Bits kExponentBits = 0x7ff0000000000000ULL; static const Bits kSignificandBits = 0x000fffffffffffffULL; }; template struct SelectTrait; template<> struct SelectTrait : public FloatTypeTraits {}; template<> struct SelectTrait : public DoubleTypeTraits {}; # 91 "../../../dist/include/mozilla/FloatingPoint.h" template struct FloatingPoint : public SelectTrait { typedef SelectTrait Base; typedef typename Base::Bits Bits; static_assert((Base::kSignBit & Base::kExponentBits) == 0, "sign bit shouldn't overlap exponent bits"); static_assert((Base::kSignBit & Base::kSignificandBits) == 0, "sign bit shouldn't overlap significand bits"); static_assert((Base::kExponentBits & Base::kSignificandBits) == 0, "exponent bits shouldn't overlap significand bits"); static_assert((Base::kSignBit | Base::kExponentBits | Base::kSignificandBits) == ~Bits(0), "all bits accounted for"); # 115 "../../../dist/include/mozilla/FloatingPoint.h" static_assert(sizeof(T) == sizeof(Bits), "Bits must be same size as T"); }; template static __attribute__((always_inline)) inline bool IsNaN(T aValue) { typedef FloatingPoint Traits; typedef typename Traits::Bits Bits; Bits bits = BitwiseCast(aValue); return (bits & Traits::kExponentBits) == Traits::kExponentBits && (bits & Traits::kSignificandBits) != 0; } template static __attribute__((always_inline)) inline bool IsInfinite(T aValue) { typedef FloatingPoint Traits; typedef typename Traits::Bits Bits; Bits bits = BitwiseCast(aValue); return (bits & ~Traits::kSignBit) == Traits::kExponentBits; } template static __attribute__((always_inline)) inline bool IsFinite(T aValue) { typedef FloatingPoint Traits; typedef typename Traits::Bits Bits; Bits bits = BitwiseCast(aValue); return (bits & Traits::kExponentBits) != Traits::kExponentBits; } template static __attribute__((always_inline)) inline bool IsNegative(T aValue) { do { } while (0); typedef FloatingPoint Traits; typedef typename Traits::Bits Bits; Bits bits = BitwiseCast(aValue); return (bits & Traits::kSignBit) != 0; } template static __attribute__((always_inline)) inline bool IsNegativeZero(T aValue) { typedef FloatingPoint Traits; typedef typename Traits::Bits Bits; Bits bits = BitwiseCast(aValue); return bits == Traits::kSignBit; } template static __attribute__((always_inline)) inline T ToZeroIfNonfinite(T aValue) { return IsFinite(aValue) ? aValue : 0; } template static __attribute__((always_inline)) inline int_fast16_t ExponentComponent(T aValue) { typedef FloatingPoint Traits; typedef typename Traits::Bits Bits; Bits bits = BitwiseCast(aValue); return int_fast16_t((bits & Traits::kExponentBits) >> Traits::kExponentShift) - int_fast16_t(Traits::kExponentBias); } template static __attribute__((always_inline)) inline T PositiveInfinity() { typedef FloatingPoint Traits; return BitwiseCast(Traits::kExponentBits); } template static __attribute__((always_inline)) inline T NegativeInfinity() { typedef FloatingPoint Traits; return BitwiseCast(Traits::kSignBit | Traits::kExponentBits); } template static __attribute__((always_inline)) inline T SpecificNaN(int signbit, typename FloatingPoint::Bits significand) { typedef FloatingPoint Traits; do { } while (0); do { } while (0); do { } while (0); T t = BitwiseCast((signbit ? Traits::kSignBit : 0) | Traits::kExponentBits | significand); do { } while (0); return t; } template static __attribute__((always_inline)) inline T MinNumberValue() { typedef FloatingPoint Traits; typedef typename Traits::Bits Bits; return BitwiseCast(Bits(1)); } # 283 "../../../dist/include/mozilla/FloatingPoint.h" template static __attribute__((always_inline)) inline bool NumberEqualsInt32(T aValue, int32_t* aInt32) { return aValue == (*aInt32 = int32_t(aValue)); } # 303 "../../../dist/include/mozilla/FloatingPoint.h" template static __attribute__((always_inline)) inline bool NumberIsInt32(T aValue, int32_t* aInt32) { return !IsNegativeZero(aValue) && NumberEqualsInt32(aValue, aInt32); } template static __attribute__((always_inline)) inline T UnspecifiedNaN() { typedef FloatingPoint Traits; return SpecificNaN(1, Traits::kSignificandBits); } template static inline bool NumbersAreIdentical(T aValue1, T aValue2) { typedef FloatingPoint Traits; typedef typename Traits::Bits Bits; if (IsNaN(aValue1)) { return IsNaN(aValue2); } return BitwiseCast(aValue1) == BitwiseCast(aValue2); } namespace detail { template struct FuzzyEqualsEpsilon; template<> struct FuzzyEqualsEpsilon { static float value() { return 1.0f / (1 << 17); } }; template<> struct FuzzyEqualsEpsilon { static double value() { return 1.0 / (1LL << 40); } }; } # 378 "../../../dist/include/mozilla/FloatingPoint.h" template static __attribute__((always_inline)) inline bool FuzzyEqualsAdditive(T aValue1, T aValue2, T aEpsilon = detail::FuzzyEqualsEpsilon::value()) { static_assert(IsFloatingPoint::value, "floating point type required"); return Abs(aValue1 - aValue2) <= aEpsilon; } # 399 "../../../dist/include/mozilla/FloatingPoint.h" template static __attribute__((always_inline)) inline bool FuzzyEqualsMultiplicative(T aValue1, T aValue2, T aEpsilon = detail::FuzzyEqualsEpsilon::value()) { static_assert(IsFloatingPoint::value, "floating point type required"); T smaller = Abs(aValue1) < Abs(aValue2) ? Abs(aValue1) : Abs(aValue2); return Abs(aValue1 - aValue2) <= aEpsilon * smaller; } # 418 "../../../dist/include/mozilla/FloatingPoint.h" __attribute__ ((warn_unused_result)) extern __attribute__((weak)) __attribute__((visibility("default"))) bool IsFloat32Representable(double aFloat32); } # 15 "../../../dist/include/mozilla/gfx/BaseRect.h" 2 namespace mozilla { namespace gfx { # 44 "../../../dist/include/mozilla/gfx/BaseRect.h" template struct BaseRect { T x, y, width, height; BaseRect() : x(0), y(0), width(0), height(0) {} BaseRect(const Point& aOrigin, const SizeT &aSize) : x(aOrigin.x), y(aOrigin.y), width(aSize.width), height(aSize.height) { } BaseRect(T aX, T aY, T aWidth, T aHeight) : x(aX), y(aY), width(aWidth), height(aHeight) { } bool IsEmpty() const { return height <= 0 || width <= 0; } void SetEmpty() { width = height = 0; } bool IsFinite() const { typedef typename mozilla::Conditional::value, float, double>::Type FloatType; return (mozilla::IsFinite(FloatType(x)) && mozilla::IsFinite(FloatType(y)) && mozilla::IsFinite(FloatType(width)) && mozilla::IsFinite(FloatType(height))); } bool Contains(const Sub& aRect) const { return aRect.IsEmpty() || (x <= aRect.x && aRect.XMost() <= XMost() && y <= aRect.y && aRect.YMost() <= YMost()); } bool Contains(T aX, T aY) const { return x <= aX && aX < XMost() && y <= aY && aY < YMost(); } bool Contains(const Point& aPoint) const { return Contains(aPoint.x, aPoint.y); } bool Intersects(const Sub& aRect) const { return !IsEmpty() && !aRect.IsEmpty() && x < aRect.XMost() && aRect.x < XMost() && y < aRect.YMost() && aRect.y < YMost(); } Sub Intersect(const Sub& aRect) const { Sub result; result.x = std::max(x, aRect.x); result.y = std::max(y, aRect.y); result.width = std::min(XMost(), aRect.XMost()) - result.x; result.height = std::min(YMost(), aRect.YMost()) - result.y; if (result.width < 0 || result.height < 0) { result.SizeTo(0, 0); } return result; } bool IntersectRect(const Sub& aRect1, const Sub& aRect2) { *static_cast(this) = aRect1.Intersect(aRect2); return !IsEmpty(); } Sub Union(const Sub& aRect) const { if (IsEmpty()) { return aRect; } else if (aRect.IsEmpty()) { return *static_cast(this); } else { return UnionEdges(aRect); } } Sub UnionEdges(const Sub& aRect) const { Sub result; result.x = std::min(x, aRect.x); result.y = std::min(y, aRect.y); result.width = std::max(XMost(), aRect.XMost()) - result.x; result.height = std::max(YMost(), aRect.YMost()) - result.y; return result; } void UnionRect(const Sub& aRect1, const Sub& aRect2) { *static_cast(this) = aRect1.Union(aRect2); } void UnionRectEdges(const Sub& aRect1, const Sub& aRect2) { *static_cast(this) = aRect1.UnionEdges(aRect2); } void ExpandToEnclose(const Point& aPoint) { if (aPoint.x < x) { width = XMost() - aPoint.x; x = aPoint.x; } else if (aPoint.x > XMost()) { width = aPoint.x - x; } if (aPoint.y < y) { height = YMost() - aPoint.y; y = aPoint.y; } else if (aPoint.y > YMost()) { height = aPoint.y - y; } } void SetRect(T aX, T aY, T aWidth, T aHeight) { x = aX; y = aY; width = aWidth; height = aHeight; } void SetRect(const Point& aPt, const SizeT& aSize) { SetRect(aPt.x, aPt.y, aSize.width, aSize.height); } void MoveTo(T aX, T aY) { x = aX; y = aY; } void MoveTo(const Point& aPoint) { x = aPoint.x; y = aPoint.y; } void MoveBy(T aDx, T aDy) { x += aDx; y += aDy; } void MoveBy(const Point& aPoint) { x += aPoint.x; y += aPoint.y; } void SizeTo(T aWidth, T aHeight) { width = aWidth; height = aHeight; } void SizeTo(const SizeT& aSize) { width = aSize.width; height = aSize.height; } void Inflate(T aD) { Inflate(aD, aD); } void Inflate(T aDx, T aDy) { x -= aDx; y -= aDy; width += 2 * aDx; height += 2 * aDy; } void Inflate(const MarginT& aMargin) { x -= aMargin.left; y -= aMargin.top; width += aMargin.LeftRight(); height += aMargin.TopBottom(); } void Inflate(const SizeT& aSize) { Inflate(aSize.width, aSize.height); } void InflateToMultiple(const SizeT& aMultiple) { T xMost = XMost(); T yMost = YMost(); x = static_cast(floor(x / aMultiple.width)) * aMultiple.width; y = static_cast(floor(y / aMultiple.height)) * aMultiple.height; xMost = static_cast(ceil(x / aMultiple.width)) * aMultiple.width; yMost = static_cast(ceil(y / aMultiple.height)) * aMultiple.height; width = xMost - x; height = yMost - y; } void Deflate(T aD) { Deflate(aD, aD); } void Deflate(T aDx, T aDy) { x += aDx; y += aDy; width = std::max(T(0), width - 2 * aDx); height = std::max(T(0), height - 2 * aDy); } void Deflate(const MarginT& aMargin) { x += aMargin.left; y += aMargin.top; width = std::max(T(0), width - aMargin.LeftRight()); height = std::max(T(0), height - aMargin.TopBottom()); } void Deflate(const SizeT& aSize) { Deflate(aSize.width, aSize.height); } bool IsEqualEdges(const Sub& aRect) const { return x == aRect.x && y == aRect.y && width == aRect.width && height == aRect.height; } bool IsEqualInterior(const Sub& aRect) const { return IsEqualEdges(aRect) || (IsEmpty() && aRect.IsEmpty()); } friend Sub operator+(Sub aSub, const Point& aPoint) { aSub += aPoint; return aSub; } friend Sub operator-(Sub aSub, const Point& aPoint) { aSub -= aPoint; return aSub; } friend Sub operator+(Sub aSub, const SizeT& aSize) { aSub += aSize; return aSub; } friend Sub operator-(Sub aSub, const SizeT& aSize) { aSub -= aSize; return aSub; } Sub& operator+=(const Point& aPoint) { MoveBy(aPoint); return *static_cast(this); } Sub& operator-=(const Point& aPoint) { MoveBy(-aPoint); return *static_cast(this); } Sub& operator+=(const SizeT& aSize) { width += aSize.width; height += aSize.height; return *static_cast(this); } Sub& operator-=(const SizeT& aSize) { width -= aSize.width; height -= aSize.height; return *static_cast(this); } MarginT operator-(const Sub& aRect) const { return MarginT(aRect.y - y, XMost() - aRect.XMost(), YMost() - aRect.YMost(), aRect.x - x); } Point TopLeft() const { return Point(x, y); } Point TopRight() const { return Point(XMost(), y); } Point BottomLeft() const { return Point(x, YMost()); } Point BottomRight() const { return Point(XMost(), YMost()); } Point AtCorner(int aCorner) const { switch (aCorner) { case RectCorner::TopLeft: return TopLeft(); case RectCorner::TopRight: return TopRight(); case RectCorner::BottomRight: return BottomRight(); case RectCorner::BottomLeft: return BottomLeft(); } do { *((volatile int*) # 339 "../../../dist/include/mozilla/gfx/BaseRect.h" 3 4 __null # 339 "../../../dist/include/mozilla/gfx/BaseRect.h" ) = 339; ::abort(); } while (0); } Point CCWCorner(mozilla::Side side) const { switch (side) { case mozilla::eSideTop: return TopLeft(); case mozilla::eSideRight: return TopRight(); case mozilla::eSideBottom: return BottomRight(); case mozilla::eSideLeft: return BottomLeft(); } do { *((volatile int*) # 348 "../../../dist/include/mozilla/gfx/BaseRect.h" 3 4 __null # 348 "../../../dist/include/mozilla/gfx/BaseRect.h" ) = 348; ::abort(); } while (0); } Point CWCorner(mozilla::Side side) const { switch (side) { case mozilla::eSideTop: return TopRight(); case mozilla::eSideRight: return BottomRight(); case mozilla::eSideBottom: return BottomLeft(); case mozilla::eSideLeft: return TopLeft(); } do { *((volatile int*) # 357 "../../../dist/include/mozilla/gfx/BaseRect.h" 3 4 __null # 357 "../../../dist/include/mozilla/gfx/BaseRect.h" ) = 357; ::abort(); } while (0); } Point Center() const { return Point(x, y) + Point(width, height)/2; } SizeT Size() const { return SizeT(width, height); } T X() const { return x; } T Y() const { return y; } T Width() const { return width; } T Height() const { return height; } T XMost() const { return x + width; } T YMost() const { return y + height; } void SetLeftEdge(T aX) { do { } while (0); width = XMost() - aX; x = aX; } void SetRightEdge(T aXMost) { do { } while (0); width = aXMost - x; } void SetTopEdge(T aY) { do { } while (0); height = YMost() - aY; y = aY; } void SetBottomEdge(T aYMost) { do { } while (0); height = aYMost - y; } # 401 "../../../dist/include/mozilla/gfx/BaseRect.h" void Round() { T x0 = static_cast(floor(T(X()) + 0.5)); T y0 = static_cast(floor(T(Y()) + 0.5)); T x1 = static_cast(floor(T(XMost()) + 0.5)); T y1 = static_cast(floor(T(YMost()) + 0.5)); x = x0; y = y0; width = x1 - x0; height = y1 - y0; } void RoundIn() { T x0 = static_cast(ceil(T(X()))); T y0 = static_cast(ceil(T(Y()))); T x1 = static_cast(floor(T(XMost()))); T y1 = static_cast(floor(T(YMost()))); x = x0; y = y0; width = x1 - x0; height = y1 - y0; } void RoundOut() { T x0 = static_cast(floor(T(X()))); T y0 = static_cast(floor(T(Y()))); T x1 = static_cast(ceil(T(XMost()))); T y1 = static_cast(ceil(T(YMost()))); x = x0; y = y0; width = x1 - x0; height = y1 - y0; } void Scale(T aScale) { Scale(aScale, aScale); } void Scale(T aXScale, T aYScale) { T right = XMost() * aXScale; T bottom = YMost() * aYScale; x = x * aXScale; y = y * aYScale; width = right - x; height = bottom - y; } void ScaleRoundOut(double aScale) { ScaleRoundOut(aScale, aScale); } void ScaleRoundOut(double aXScale, double aYScale) { T right = static_cast(ceil(double(XMost()) * aXScale)); T bottom = static_cast(ceil(double(YMost()) * aYScale)); x = static_cast(floor(double(x) * aXScale)); y = static_cast(floor(double(y) * aYScale)); width = right - x; height = bottom - y; } void ScaleRoundIn(double aScale) { ScaleRoundIn(aScale, aScale); } void ScaleRoundIn(double aXScale, double aYScale) { T right = static_cast(floor(double(XMost()) * aXScale)); T bottom = static_cast(floor(double(YMost()) * aYScale)); x = static_cast(ceil(double(x) * aXScale)); y = static_cast(ceil(double(y) * aYScale)); width = std::max(0, right - x); height = std::max(0, bottom - y); } void ScaleInverseRoundOut(double aScale) { ScaleInverseRoundOut(aScale, aScale); } void ScaleInverseRoundOut(double aXScale, double aYScale) { T right = static_cast(ceil(double(XMost()) / aXScale)); T bottom = static_cast(ceil(double(YMost()) / aYScale)); x = static_cast(floor(double(x) / aXScale)); y = static_cast(floor(double(y) / aYScale)); width = right - x; height = bottom - y; } void ScaleInverseRoundIn(double aScale) { ScaleInverseRoundIn(aScale, aScale); } void ScaleInverseRoundIn(double aXScale, double aYScale) { T right = static_cast(floor(double(XMost()) / aXScale)); T bottom = static_cast(floor(double(YMost()) / aYScale)); x = static_cast(ceil(double(x) / aXScale)); y = static_cast(ceil(double(y) / aYScale)); width = std::max(0, right - x); height = std::max(0, bottom - y); } Point ClampPoint(const Point& aPoint) const { return Point(std::max(x, std::min(XMost(), aPoint.x)), std::max(y, std::min(YMost(), aPoint.y))); } Sub ForceInside(const Sub& aRect) const { Sub rect(std::max(aRect.x, x), std::max(aRect.y, y), std::min(aRect.width, width), std::min(aRect.height, height)); rect.x = std::min(rect.XMost(), aRect.XMost()) - rect.width; rect.y = std::min(rect.YMost(), aRect.YMost()) - rect.height; return rect; } friend std::ostream& operator<<(std::ostream& stream, const BaseRect& aRect) { return stream << '(' << aRect.x << ',' << aRect.y << ',' << aRect.width << ',' << aRect.height << ')'; } private: bool operator==(const Sub& aRect) const { return false; } bool operator!=(const Sub& aRect) const { return false; } }; } } # 17 "../../../dist/include/nsRect.h" 2 # 1 "../../../dist/include/nsISupportsImpl.h" 1 # 13 "../../../dist/include/nsISupportsImpl.h" # 1 "../../../dist/include/nsISupportsBase.h" 1 # 16 "../../../dist/include/nsISupportsBase.h" # 1 "../../../dist/include/nsID.h" 1 # 10 "../../../dist/include/nsID.h" # 1 "../../../dist/system_wrappers/string.h" 1 # 2 "../../../dist/system_wrappers/string.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 11 "../../../dist/include/nsID.h" 2 # 20 "../../../dist/include/nsID.h" struct nsID { uint32_t m0; uint16_t m1; uint16_t m2; uint8_t m3[8]; # 43 "../../../dist/include/nsID.h" inline bool Equals(const nsID& aOther) const { return (((uint32_t*)&m0)[0] == ((uint32_t*)&aOther.m0)[0]) && (((uint32_t*)&m0)[1] == ((uint32_t*)&aOther.m0)[1]) && (((uint32_t*)&m0)[2] == ((uint32_t*)&aOther.m0)[2]) && (((uint32_t*)&m0)[3] == ((uint32_t*)&aOther.m0)[3]); } inline bool operator==(const nsID& aOther) const { return Equals(aOther); } bool Parse(const char* aIDStr); char* ToString() const; void ToProvidedString(char (&aDest)[39]) const; }; typedef nsID nsCID; # 104 "../../../dist/include/nsID.h" typedef nsID nsIID; # 17 "../../../dist/include/nsISupportsBase.h" 2 # 38 "../../../dist/include/nsISupportsBase.h" class nsISupports { public: template struct COMTypeInfo; # 59 "../../../dist/include/nsISupportsBase.h" virtual nsresult QueryInterface(const nsIID& aIID, void** aInstancePtr) = 0; virtual MozExternalRefCountType AddRef(void) = 0; # 76 "../../../dist/include/nsISupportsBase.h" virtual MozExternalRefCountType Release(void) = 0; }; template struct nsISupports::COMTypeInfo { static const nsIID kIID __attribute__ ((visibility ("hidden"))); }; template const nsIID nsISupports::COMTypeInfo::kIID __attribute__ ((visibility ("hidden"))) = { 0x00000000, 0x0000, 0x0000, {0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46} }; # 14 "../../../dist/include/nsISupportsImpl.h" 2 # 1 "../../../dist/include/nsISupportsUtils.h" 1 # 14 "../../../dist/include/nsISupportsUtils.h" # 1 "../../../dist/include/nsISupportsImpl.h" 1 # 15 "../../../dist/include/nsISupportsUtils.h" 2 # 1 "../../../dist/include/mozilla/TypeTraits.h" 1 # 16 "../../../dist/include/nsISupportsUtils.h" 2 # 34 "../../../dist/include/nsISupportsUtils.h" extern "C++" { template inline void ns_if_addref(T aExpr) { if (aExpr) { aExpr->AddRef(); } } } # 127 "../../../dist/include/nsISupportsUtils.h" template inline nsresult CallQueryInterface(T* aSource, DestinationType** aDestination) { static_assert(!mozilla::IsSame::value || mozilla::IsSame::value, "don't use CallQueryInterface for compile-time-determinable casts"); do { } while(0); do { } while(0); return aSource->QueryInterface((DestinationType::template COMTypeInfo::kIID), reinterpret_cast(aDestination)); } # 15 "../../../dist/include/nsISupportsImpl.h" 2 # 1 "../../../dist/system_wrappers/prthread.h" 1 # 2 "../../../dist/system_wrappers/prthread.h" 3 #pragma GCC visibility push(default) # 1 "/usr/include/nspr4/prthread.h" 1 3 # 46 "/usr/include/nspr4/prthread.h" 3 # 1 "/usr/include/nspr4/prtypes.h" 1 3 # 26 "/usr/include/nspr4/prtypes.h" 3 # 1 "/usr/include/nspr4/prcpucfg.h" 1 3 # 27 "/usr/include/nspr4/prtypes.h" 2 3 # 1 "../../../dist/system_wrappers/stddef.h" 1 3 # 2 "../../../dist/system_wrappers/stddef.h" 3 #pragma GCC visibility push(default) # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/stddef.h" 1 3 4 # 4 "../../../dist/system_wrappers/stddef.h" 2 3 #pragma GCC visibility pop # 30 "/usr/include/nspr4/prtypes.h" 2 3 # 206 "/usr/include/nspr4/prtypes.h" 3 # 206 "/usr/include/nspr4/prtypes.h" 3 extern "C" { # 246 "/usr/include/nspr4/prtypes.h" 3 typedef unsigned char PRUint8; # 260 "/usr/include/nspr4/prtypes.h" 3 typedef signed char PRInt8; # 285 "/usr/include/nspr4/prtypes.h" 3 typedef unsigned short PRUint16; typedef short PRInt16; # 310 "/usr/include/nspr4/prtypes.h" 3 typedef unsigned int PRUint32; typedef int PRInt32; # 375 "/usr/include/nspr4/prtypes.h" 3 typedef long long PRInt64; typedef unsigned long long PRUint64; # 410 "/usr/include/nspr4/prtypes.h" 3 typedef int PRIntn; typedef unsigned int PRUintn; # 421 "/usr/include/nspr4/prtypes.h" 3 typedef double PRFloat64; typedef size_t PRSize; typedef PRInt32 PROffset32; typedef PRInt64 PROffset64; typedef ptrdiff_t PRPtrdiff; # 456 "/usr/include/nspr4/prtypes.h" 3 typedef unsigned long PRUptrdiff; # 467 "/usr/include/nspr4/prtypes.h" 3 typedef PRIntn PRBool; # 477 "/usr/include/nspr4/prtypes.h" 3 typedef PRUint8 PRPackedBool; typedef enum { PR_FAILURE = -1, PR_SUCCESS = 0 } PRStatus; typedef PRUint16 PRUnichar; # 509 "/usr/include/nspr4/prtypes.h" 3 typedef long PRWord; typedef unsigned long PRUword; # 562 "/usr/include/nspr4/prtypes.h" 3 } # 47 "/usr/include/nspr4/prthread.h" 2 3 # 1 "/usr/include/nspr4/prinrval.h" 1 3 # 23 "/usr/include/nspr4/prinrval.h" 3 extern "C" { typedef PRUint32 PRIntervalTime; # 79 "/usr/include/nspr4/prinrval.h" 3 extern __attribute__((visibility("default"))) PRIntervalTime PR_IntervalNow(void); # 97 "/usr/include/nspr4/prinrval.h" 3 extern __attribute__((visibility("default"))) PRUint32 PR_TicksPerSecond(void); # 116 "/usr/include/nspr4/prinrval.h" 3 extern __attribute__((visibility("default"))) PRIntervalTime PR_SecondsToInterval(PRUint32 seconds); extern __attribute__((visibility("default"))) PRIntervalTime PR_MillisecondsToInterval(PRUint32 milli); extern __attribute__((visibility("default"))) PRIntervalTime PR_MicrosecondsToInterval(PRUint32 micro); # 137 "/usr/include/nspr4/prinrval.h" 3 extern __attribute__((visibility("default"))) PRUint32 PR_IntervalToSeconds(PRIntervalTime ticks); extern __attribute__((visibility("default"))) PRUint32 PR_IntervalToMilliseconds(PRIntervalTime ticks); extern __attribute__((visibility("default"))) PRUint32 PR_IntervalToMicroseconds(PRIntervalTime ticks); } # 48 "/usr/include/nspr4/prthread.h" 2 3 extern "C" { typedef struct PRThread PRThread; typedef struct PRThreadStack PRThreadStack; typedef enum PRThreadType { PR_USER_THREAD, PR_SYSTEM_THREAD } PRThreadType; typedef enum PRThreadScope { PR_LOCAL_THREAD, PR_GLOBAL_THREAD, PR_GLOBAL_BOUND_THREAD } PRThreadScope; typedef enum PRThreadState { PR_JOINABLE_THREAD, PR_UNJOINABLE_THREAD } PRThreadState; typedef enum PRThreadPriority { PR_PRIORITY_FIRST = 0, PR_PRIORITY_LOW = 0, PR_PRIORITY_NORMAL = 1, PR_PRIORITY_HIGH = 2, PR_PRIORITY_URGENT = 3, PR_PRIORITY_LAST = 3 } PRThreadPriority; # 105 "/usr/include/nspr4/prthread.h" 3 extern __attribute__((visibility("default"))) PRThread* PR_CreateThread(PRThreadType type, void ( *start)(void *arg), void *arg, PRThreadPriority priority, PRThreadScope scope, PRThreadState state, PRUint32 stackSize); # 126 "/usr/include/nspr4/prthread.h" 3 extern __attribute__((visibility("default"))) PRStatus PR_JoinThread(PRThread *thread); extern __attribute__((visibility("default"))) PRThread* PR_GetCurrentThread(void); extern __attribute__((visibility("default"))) PRThreadPriority PR_GetThreadPriority(const PRThread *thread); # 152 "/usr/include/nspr4/prthread.h" 3 extern __attribute__((visibility("default"))) void PR_SetThreadPriority(PRThread *thread, PRThreadPriority priority); extern __attribute__((visibility("default"))) PRStatus PR_SetCurrentThreadName(const char *name); extern __attribute__((visibility("default"))) const char * PR_GetThreadName(const PRThread *thread); # 189 "/usr/include/nspr4/prthread.h" 3 typedef void ( *PRThreadPrivateDTOR)(void *priv); extern __attribute__((visibility("default"))) PRStatus PR_NewThreadPrivateIndex( PRUintn *newIndex, PRThreadPrivateDTOR destructor); # 205 "/usr/include/nspr4/prthread.h" 3 extern __attribute__((visibility("default"))) PRStatus PR_SetThreadPrivate(PRUintn tpdIndex, void *priv); # 216 "/usr/include/nspr4/prthread.h" 3 extern __attribute__((visibility("default"))) void* PR_GetThreadPrivate(PRUintn tpdIndex); # 228 "/usr/include/nspr4/prthread.h" 3 extern __attribute__((visibility("default"))) PRStatus PR_Interrupt(PRThread *thread); extern __attribute__((visibility("default"))) void PR_ClearInterrupt(void); extern __attribute__((visibility("default"))) void PR_BlockInterrupt(void); extern __attribute__((visibility("default"))) void PR_UnblockInterrupt(void); # 253 "/usr/include/nspr4/prthread.h" 3 extern __attribute__((visibility("default"))) PRStatus PR_Sleep(PRIntervalTime ticks); extern __attribute__((visibility("default"))) PRThreadScope PR_GetThreadScope(const PRThread *thread); extern __attribute__((visibility("default"))) PRThreadType PR_GetThreadType(const PRThread *thread); extern __attribute__((visibility("default"))) PRThreadState PR_GetThreadState(const PRThread *thread); } # 4 "../../../dist/system_wrappers/prthread.h" 2 3 #pragma GCC visibility pop # 19 "../../../dist/include/nsISupportsImpl.h" 2 # 1 "../../../dist/include/mozilla/Atomics.h" 1 # 24 "../../../dist/include/mozilla/Atomics.h" # 1 "../../../dist/system_wrappers/stdint.h" 1 # 2 "../../../dist/system_wrappers/stdint.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 25 "../../../dist/include/mozilla/Atomics.h" 2 # 63 "../../../dist/include/mozilla/Atomics.h" # 63 "../../../dist/include/mozilla/Atomics.h" namespace mozilla { # 95 "../../../dist/include/mozilla/Atomics.h" enum MemoryOrdering { # 125 "../../../dist/include/mozilla/Atomics.h" Relaxed, # 147 "../../../dist/include/mozilla/Atomics.h" ReleaseAcquire, # 176 "../../../dist/include/mozilla/Atomics.h" SequentiallyConsistent, }; } # 1 "../../../dist/stl_wrappers/atomic" 1 # 18 "../../../dist/stl_wrappers/atomic" # 19 "../../../dist/stl_wrappers/atomic" 3 # 33 "../../../dist/stl_wrappers/atomic" 3 # 1 "../../../dist/system_wrappers/new" 1 3 # 2 "../../../dist/system_wrappers/new" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 34 "../../../dist/stl_wrappers/atomic" 2 3 # 54 "../../../dist/stl_wrappers/atomic" 3 #pragma GCC visibility push(default) # 1 "/usr/include/c++/5.0.0/atomic" 1 3 # 35 "/usr/include/c++/5.0.0/atomic" 3 # 36 "/usr/include/c++/5.0.0/atomic" 3 # 1 "/usr/include/c++/5.0.0/bits/atomic_base.h" 1 3 # 33 "/usr/include/c++/5.0.0/bits/atomic_base.h" 3 # 34 "/usr/include/c++/5.0.0/bits/atomic_base.h" 3 # 1 "../../../dist/system_wrappers/stdint.h" 1 3 # 2 "../../../dist/system_wrappers/stdint.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 37 "/usr/include/c++/5.0.0/bits/atomic_base.h" 2 3 # 43 "/usr/include/c++/5.0.0/bits/atomic_base.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 55 "/usr/include/c++/5.0.0/bits/atomic_base.h" 3 typedef enum memory_order { memory_order_relaxed, memory_order_consume, memory_order_acquire, memory_order_release, memory_order_acq_rel, memory_order_seq_cst } memory_order; enum __memory_order_modifier { __memory_order_mask = 0x0ffff, __memory_order_modifier_mask = 0xffff0000, __memory_order_hle_acquire = 0x10000, __memory_order_hle_release = 0x20000 }; constexpr memory_order operator|(memory_order __m, __memory_order_modifier __mod) { return memory_order(__m | int(__mod)); } constexpr memory_order operator&(memory_order __m, __memory_order_modifier __mod) { return memory_order(__m & int(__mod)); } constexpr memory_order __cmpexch_failure_order2(memory_order __m) noexcept { return __m == memory_order_acq_rel ? memory_order_acquire : __m == memory_order_release ? memory_order_relaxed : __m; } constexpr memory_order __cmpexch_failure_order(memory_order __m) noexcept { return memory_order(__cmpexch_failure_order2(__m & __memory_order_mask) | (__m & __memory_order_modifier_mask)); } inline __attribute__((__always_inline__)) void atomic_thread_fence(memory_order __m) noexcept { __atomic_thread_fence(__m); } inline __attribute__((__always_inline__)) void atomic_signal_fence(memory_order __m) noexcept { __atomic_signal_fence(__m); } template inline _Tp kill_dependency(_Tp __y) noexcept { _Tp __ret(__y); return __ret; } template struct __atomic_base; template struct atomic; template struct atomic<_Tp*>; typedef bool __atomic_flag_data_type; # 148 "/usr/include/c++/5.0.0/bits/atomic_base.h" 3 extern "C" { struct __atomic_flag_base { __atomic_flag_data_type _M_i; }; } struct atomic_flag : public __atomic_flag_base { atomic_flag() noexcept = default; ~atomic_flag() noexcept = default; atomic_flag(const atomic_flag&) = delete; atomic_flag& operator=(const atomic_flag&) = delete; atomic_flag& operator=(const atomic_flag&) volatile = delete; constexpr atomic_flag(bool __i) noexcept : __atomic_flag_base{ _S_init(__i) } { } inline __attribute__((__always_inline__)) bool test_and_set(memory_order __m = memory_order_seq_cst) noexcept { return __atomic_test_and_set (&_M_i, __m); } inline __attribute__((__always_inline__)) bool test_and_set(memory_order __m = memory_order_seq_cst) volatile noexcept { return __atomic_test_and_set (&_M_i, __m); } inline __attribute__((__always_inline__)) void clear(memory_order __m = memory_order_seq_cst) noexcept { memory_order __b = __m & __memory_order_mask; ; ; ; __atomic_clear (&_M_i, __m); } inline __attribute__((__always_inline__)) void clear(memory_order __m = memory_order_seq_cst) volatile noexcept { memory_order __b = __m & __memory_order_mask; ; ; ; __atomic_clear (&_M_i, __m); } private: static constexpr __atomic_flag_data_type _S_init(bool __i) { return __i ? 1 : 0; } }; # 237 "/usr/include/c++/5.0.0/bits/atomic_base.h" 3 template struct __atomic_base { private: typedef _ITp __int_type; __int_type _M_i; public: __atomic_base() noexcept = default; ~__atomic_base() noexcept = default; __atomic_base(const __atomic_base&) = delete; __atomic_base& operator=(const __atomic_base&) = delete; __atomic_base& operator=(const __atomic_base&) volatile = delete; constexpr __atomic_base(__int_type __i) noexcept : _M_i (__i) { } operator __int_type() const noexcept { return load(); } operator __int_type() const volatile noexcept { return load(); } __int_type operator=(__int_type __i) noexcept { store(__i); return __i; } __int_type operator=(__int_type __i) volatile noexcept { store(__i); return __i; } __int_type operator++(int) noexcept { return fetch_add(1); } __int_type operator++(int) volatile noexcept { return fetch_add(1); } __int_type operator--(int) noexcept { return fetch_sub(1); } __int_type operator--(int) volatile noexcept { return fetch_sub(1); } __int_type operator++() noexcept { return __atomic_add_fetch(&_M_i, 1, memory_order_seq_cst); } __int_type operator++() volatile noexcept { return __atomic_add_fetch(&_M_i, 1, memory_order_seq_cst); } __int_type operator--() noexcept { return __atomic_sub_fetch(&_M_i, 1, memory_order_seq_cst); } __int_type operator--() volatile noexcept { return __atomic_sub_fetch(&_M_i, 1, memory_order_seq_cst); } __int_type operator+=(__int_type __i) noexcept { return __atomic_add_fetch(&_M_i, __i, memory_order_seq_cst); } __int_type operator+=(__int_type __i) volatile noexcept { return __atomic_add_fetch(&_M_i, __i, memory_order_seq_cst); } __int_type operator-=(__int_type __i) noexcept { return __atomic_sub_fetch(&_M_i, __i, memory_order_seq_cst); } __int_type operator-=(__int_type __i) volatile noexcept { return __atomic_sub_fetch(&_M_i, __i, memory_order_seq_cst); } __int_type operator&=(__int_type __i) noexcept { return __atomic_and_fetch(&_M_i, __i, memory_order_seq_cst); } __int_type operator&=(__int_type __i) volatile noexcept { return __atomic_and_fetch(&_M_i, __i, memory_order_seq_cst); } __int_type operator|=(__int_type __i) noexcept { return __atomic_or_fetch(&_M_i, __i, memory_order_seq_cst); } __int_type operator|=(__int_type __i) volatile noexcept { return __atomic_or_fetch(&_M_i, __i, memory_order_seq_cst); } __int_type operator^=(__int_type __i) noexcept { return __atomic_xor_fetch(&_M_i, __i, memory_order_seq_cst); } __int_type operator^=(__int_type __i) volatile noexcept { return __atomic_xor_fetch(&_M_i, __i, memory_order_seq_cst); } bool is_lock_free() const noexcept { return __atomic_is_lock_free(sizeof(_M_i), nullptr); } bool is_lock_free() const volatile noexcept { return __atomic_is_lock_free(sizeof(_M_i), nullptr); } inline __attribute__((__always_inline__)) void store(__int_type __i, memory_order __m = memory_order_seq_cst) noexcept { memory_order __b = __m & __memory_order_mask; ; ; ; __atomic_store_n(&_M_i, __i, __m); } inline __attribute__((__always_inline__)) void store(__int_type __i, memory_order __m = memory_order_seq_cst) volatile noexcept { memory_order __b = __m & __memory_order_mask; ; ; ; __atomic_store_n(&_M_i, __i, __m); } inline __attribute__((__always_inline__)) __int_type load(memory_order __m = memory_order_seq_cst) const noexcept { memory_order __b = __m & __memory_order_mask; ; ; return __atomic_load_n(&_M_i, __m); } inline __attribute__((__always_inline__)) __int_type load(memory_order __m = memory_order_seq_cst) const volatile noexcept { memory_order __b = __m & __memory_order_mask; ; ; return __atomic_load_n(&_M_i, __m); } inline __attribute__((__always_inline__)) __int_type exchange(__int_type __i, memory_order __m = memory_order_seq_cst) noexcept { return __atomic_exchange_n(&_M_i, __i, __m); } inline __attribute__((__always_inline__)) __int_type exchange(__int_type __i, memory_order __m = memory_order_seq_cst) volatile noexcept { return __atomic_exchange_n(&_M_i, __i, __m); } inline __attribute__((__always_inline__)) bool compare_exchange_weak(__int_type& __i1, __int_type __i2, memory_order __m1, memory_order __m2) noexcept { memory_order __b2 = __m2 & __memory_order_mask; memory_order __b1 = __m1 & __memory_order_mask; ; ; ; return __atomic_compare_exchange_n(&_M_i, &__i1, __i2, 1, __m1, __m2); } inline __attribute__((__always_inline__)) bool compare_exchange_weak(__int_type& __i1, __int_type __i2, memory_order __m1, memory_order __m2) volatile noexcept { memory_order __b2 = __m2 & __memory_order_mask; memory_order __b1 = __m1 & __memory_order_mask; ; ; ; return __atomic_compare_exchange_n(&_M_i, &__i1, __i2, 1, __m1, __m2); } inline __attribute__((__always_inline__)) bool compare_exchange_weak(__int_type& __i1, __int_type __i2, memory_order __m = memory_order_seq_cst) noexcept { return compare_exchange_weak(__i1, __i2, __m, __cmpexch_failure_order(__m)); } inline __attribute__((__always_inline__)) bool compare_exchange_weak(__int_type& __i1, __int_type __i2, memory_order __m = memory_order_seq_cst) volatile noexcept { return compare_exchange_weak(__i1, __i2, __m, __cmpexch_failure_order(__m)); } inline __attribute__((__always_inline__)) bool compare_exchange_strong(__int_type& __i1, __int_type __i2, memory_order __m1, memory_order __m2) noexcept { memory_order __b2 = __m2 & __memory_order_mask; memory_order __b1 = __m1 & __memory_order_mask; ; ; ; return __atomic_compare_exchange_n(&_M_i, &__i1, __i2, 0, __m1, __m2); } inline __attribute__((__always_inline__)) bool compare_exchange_strong(__int_type& __i1, __int_type __i2, memory_order __m1, memory_order __m2) volatile noexcept { memory_order __b2 = __m2 & __memory_order_mask; memory_order __b1 = __m1 & __memory_order_mask; ; ; ; return __atomic_compare_exchange_n(&_M_i, &__i1, __i2, 0, __m1, __m2); } inline __attribute__((__always_inline__)) bool compare_exchange_strong(__int_type& __i1, __int_type __i2, memory_order __m = memory_order_seq_cst) noexcept { return compare_exchange_strong(__i1, __i2, __m, __cmpexch_failure_order(__m)); } inline __attribute__((__always_inline__)) bool compare_exchange_strong(__int_type& __i1, __int_type __i2, memory_order __m = memory_order_seq_cst) volatile noexcept { return compare_exchange_strong(__i1, __i2, __m, __cmpexch_failure_order(__m)); } inline __attribute__((__always_inline__)) __int_type fetch_add(__int_type __i, memory_order __m = memory_order_seq_cst) noexcept { return __atomic_fetch_add(&_M_i, __i, __m); } inline __attribute__((__always_inline__)) __int_type fetch_add(__int_type __i, memory_order __m = memory_order_seq_cst) volatile noexcept { return __atomic_fetch_add(&_M_i, __i, __m); } inline __attribute__((__always_inline__)) __int_type fetch_sub(__int_type __i, memory_order __m = memory_order_seq_cst) noexcept { return __atomic_fetch_sub(&_M_i, __i, __m); } inline __attribute__((__always_inline__)) __int_type fetch_sub(__int_type __i, memory_order __m = memory_order_seq_cst) volatile noexcept { return __atomic_fetch_sub(&_M_i, __i, __m); } inline __attribute__((__always_inline__)) __int_type fetch_and(__int_type __i, memory_order __m = memory_order_seq_cst) noexcept { return __atomic_fetch_and(&_M_i, __i, __m); } inline __attribute__((__always_inline__)) __int_type fetch_and(__int_type __i, memory_order __m = memory_order_seq_cst) volatile noexcept { return __atomic_fetch_and(&_M_i, __i, __m); } inline __attribute__((__always_inline__)) __int_type fetch_or(__int_type __i, memory_order __m = memory_order_seq_cst) noexcept { return __atomic_fetch_or(&_M_i, __i, __m); } inline __attribute__((__always_inline__)) __int_type fetch_or(__int_type __i, memory_order __m = memory_order_seq_cst) volatile noexcept { return __atomic_fetch_or(&_M_i, __i, __m); } inline __attribute__((__always_inline__)) __int_type fetch_xor(__int_type __i, memory_order __m = memory_order_seq_cst) noexcept { return __atomic_fetch_xor(&_M_i, __i, __m); } inline __attribute__((__always_inline__)) __int_type fetch_xor(__int_type __i, memory_order __m = memory_order_seq_cst) volatile noexcept { return __atomic_fetch_xor(&_M_i, __i, __m); } }; template struct __atomic_base<_PTp*> { private: typedef _PTp* __pointer_type; __pointer_type _M_p; constexpr ptrdiff_t _M_type_size(ptrdiff_t __d) const { return __d * sizeof(_PTp); } constexpr ptrdiff_t _M_type_size(ptrdiff_t __d) const volatile { return __d * sizeof(_PTp); } public: __atomic_base() noexcept = default; ~__atomic_base() noexcept = default; __atomic_base(const __atomic_base&) = delete; __atomic_base& operator=(const __atomic_base&) = delete; __atomic_base& operator=(const __atomic_base&) volatile = delete; constexpr __atomic_base(__pointer_type __p) noexcept : _M_p (__p) { } operator __pointer_type() const noexcept { return load(); } operator __pointer_type() const volatile noexcept { return load(); } __pointer_type operator=(__pointer_type __p) noexcept { store(__p); return __p; } __pointer_type operator=(__pointer_type __p) volatile noexcept { store(__p); return __p; } __pointer_type operator++(int) noexcept { return fetch_add(1); } __pointer_type operator++(int) volatile noexcept { return fetch_add(1); } __pointer_type operator--(int) noexcept { return fetch_sub(1); } __pointer_type operator--(int) volatile noexcept { return fetch_sub(1); } __pointer_type operator++() noexcept { return __atomic_add_fetch(&_M_p, _M_type_size(1), memory_order_seq_cst); } __pointer_type operator++() volatile noexcept { return __atomic_add_fetch(&_M_p, _M_type_size(1), memory_order_seq_cst); } __pointer_type operator--() noexcept { return __atomic_sub_fetch(&_M_p, _M_type_size(1), memory_order_seq_cst); } __pointer_type operator--() volatile noexcept { return __atomic_sub_fetch(&_M_p, _M_type_size(1), memory_order_seq_cst); } __pointer_type operator+=(ptrdiff_t __d) noexcept { return __atomic_add_fetch(&_M_p, _M_type_size(__d), memory_order_seq_cst); } __pointer_type operator+=(ptrdiff_t __d) volatile noexcept { return __atomic_add_fetch(&_M_p, _M_type_size(__d), memory_order_seq_cst); } __pointer_type operator-=(ptrdiff_t __d) noexcept { return __atomic_sub_fetch(&_M_p, _M_type_size(__d), memory_order_seq_cst); } __pointer_type operator-=(ptrdiff_t __d) volatile noexcept { return __atomic_sub_fetch(&_M_p, _M_type_size(__d), memory_order_seq_cst); } bool is_lock_free() const noexcept { return __atomic_is_lock_free(sizeof(__pointer_type), nullptr); } bool is_lock_free() const volatile noexcept { return __atomic_is_lock_free(sizeof(__pointer_type), nullptr); } inline __attribute__((__always_inline__)) void store(__pointer_type __p, memory_order __m = memory_order_seq_cst) noexcept { memory_order __b = __m & __memory_order_mask; ; ; ; __atomic_store_n(&_M_p, __p, __m); } inline __attribute__((__always_inline__)) void store(__pointer_type __p, memory_order __m = memory_order_seq_cst) volatile noexcept { memory_order __b = __m & __memory_order_mask; ; ; ; __atomic_store_n(&_M_p, __p, __m); } inline __attribute__((__always_inline__)) __pointer_type load(memory_order __m = memory_order_seq_cst) const noexcept { memory_order __b = __m & __memory_order_mask; ; ; return __atomic_load_n(&_M_p, __m); } inline __attribute__((__always_inline__)) __pointer_type load(memory_order __m = memory_order_seq_cst) const volatile noexcept { memory_order __b = __m & __memory_order_mask; ; ; return __atomic_load_n(&_M_p, __m); } inline __attribute__((__always_inline__)) __pointer_type exchange(__pointer_type __p, memory_order __m = memory_order_seq_cst) noexcept { return __atomic_exchange_n(&_M_p, __p, __m); } inline __attribute__((__always_inline__)) __pointer_type exchange(__pointer_type __p, memory_order __m = memory_order_seq_cst) volatile noexcept { return __atomic_exchange_n(&_M_p, __p, __m); } inline __attribute__((__always_inline__)) bool compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2, memory_order __m1, memory_order __m2) noexcept { memory_order __b2 = __m2 & __memory_order_mask; memory_order __b1 = __m1 & __memory_order_mask; ; ; ; return __atomic_compare_exchange_n(&_M_p, &__p1, __p2, 0, __m1, __m2); } inline __attribute__((__always_inline__)) bool compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2, memory_order __m1, memory_order __m2) volatile noexcept { memory_order __b2 = __m2 & __memory_order_mask; memory_order __b1 = __m1 & __memory_order_mask; ; ; ; return __atomic_compare_exchange_n(&_M_p, &__p1, __p2, 0, __m1, __m2); } inline __attribute__((__always_inline__)) __pointer_type fetch_add(ptrdiff_t __d, memory_order __m = memory_order_seq_cst) noexcept { return __atomic_fetch_add(&_M_p, _M_type_size(__d), __m); } inline __attribute__((__always_inline__)) __pointer_type fetch_add(ptrdiff_t __d, memory_order __m = memory_order_seq_cst) volatile noexcept { return __atomic_fetch_add(&_M_p, _M_type_size(__d), __m); } inline __attribute__((__always_inline__)) __pointer_type fetch_sub(ptrdiff_t __d, memory_order __m = memory_order_seq_cst) noexcept { return __atomic_fetch_sub(&_M_p, _M_type_size(__d), __m); } inline __attribute__((__always_inline__)) __pointer_type fetch_sub(ptrdiff_t __d, memory_order __m = memory_order_seq_cst) volatile noexcept { return __atomic_fetch_sub(&_M_p, _M_type_size(__d), __m); } }; } # 42 "/usr/include/c++/5.0.0/atomic" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { template struct atomic; template<> struct atomic { private: __atomic_base _M_base; public: atomic() noexcept = default; ~atomic() noexcept = default; atomic(const atomic&) = delete; atomic& operator=(const atomic&) = delete; atomic& operator=(const atomic&) volatile = delete; constexpr atomic(bool __i) noexcept : _M_base(__i) { } bool operator=(bool __i) noexcept { return _M_base.operator=(__i); } bool operator=(bool __i) volatile noexcept { return _M_base.operator=(__i); } operator bool() const noexcept { return _M_base.load(); } operator bool() const volatile noexcept { return _M_base.load(); } bool is_lock_free() const noexcept { return _M_base.is_lock_free(); } bool is_lock_free() const volatile noexcept { return _M_base.is_lock_free(); } void store(bool __i, memory_order __m = memory_order_seq_cst) noexcept { _M_base.store(__i, __m); } void store(bool __i, memory_order __m = memory_order_seq_cst) volatile noexcept { _M_base.store(__i, __m); } bool load(memory_order __m = memory_order_seq_cst) const noexcept { return _M_base.load(__m); } bool load(memory_order __m = memory_order_seq_cst) const volatile noexcept { return _M_base.load(__m); } bool exchange(bool __i, memory_order __m = memory_order_seq_cst) noexcept { return _M_base.exchange(__i, __m); } bool exchange(bool __i, memory_order __m = memory_order_seq_cst) volatile noexcept { return _M_base.exchange(__i, __m); } bool compare_exchange_weak(bool& __i1, bool __i2, memory_order __m1, memory_order __m2) noexcept { return _M_base.compare_exchange_weak(__i1, __i2, __m1, __m2); } bool compare_exchange_weak(bool& __i1, bool __i2, memory_order __m1, memory_order __m2) volatile noexcept { return _M_base.compare_exchange_weak(__i1, __i2, __m1, __m2); } bool compare_exchange_weak(bool& __i1, bool __i2, memory_order __m = memory_order_seq_cst) noexcept { return _M_base.compare_exchange_weak(__i1, __i2, __m); } bool compare_exchange_weak(bool& __i1, bool __i2, memory_order __m = memory_order_seq_cst) volatile noexcept { return _M_base.compare_exchange_weak(__i1, __i2, __m); } bool compare_exchange_strong(bool& __i1, bool __i2, memory_order __m1, memory_order __m2) noexcept { return _M_base.compare_exchange_strong(__i1, __i2, __m1, __m2); } bool compare_exchange_strong(bool& __i1, bool __i2, memory_order __m1, memory_order __m2) volatile noexcept { return _M_base.compare_exchange_strong(__i1, __i2, __m1, __m2); } bool compare_exchange_strong(bool& __i1, bool __i2, memory_order __m = memory_order_seq_cst) noexcept { return _M_base.compare_exchange_strong(__i1, __i2, __m); } bool compare_exchange_strong(bool& __i1, bool __i2, memory_order __m = memory_order_seq_cst) volatile noexcept { return _M_base.compare_exchange_strong(__i1, __i2, __m); } }; template struct atomic { private: _Tp _M_i; static_assert(__is_trivially_copyable(_Tp), "std::atomic requires a trivially copyable type"); static_assert(sizeof(_Tp) > 0, "Incomplete or zero-sized types are not supported"); public: atomic() noexcept = default; ~atomic() noexcept = default; atomic(const atomic&) = delete; atomic& operator=(const atomic&) = delete; atomic& operator=(const atomic&) volatile = delete; constexpr atomic(_Tp __i) noexcept : _M_i(__i) { } operator _Tp() const noexcept { return load(); } operator _Tp() const volatile noexcept { return load(); } _Tp operator=(_Tp __i) noexcept { store(__i); return __i; } _Tp operator=(_Tp __i) volatile noexcept { store(__i); return __i; } bool is_lock_free() const noexcept { return __atomic_is_lock_free(sizeof(_M_i), nullptr); } bool is_lock_free() const volatile noexcept { return __atomic_is_lock_free(sizeof(_M_i), nullptr); } void store(_Tp __i, memory_order __m = memory_order_seq_cst) noexcept { __atomic_store(&_M_i, &__i, __m); } void store(_Tp __i, memory_order __m = memory_order_seq_cst) volatile noexcept { __atomic_store(&_M_i, &__i, __m); } _Tp load(memory_order __m = memory_order_seq_cst) const noexcept { _Tp tmp; __atomic_load(&_M_i, &tmp, __m); return tmp; } _Tp load(memory_order __m = memory_order_seq_cst) const volatile noexcept { _Tp tmp; __atomic_load(&_M_i, &tmp, __m); return tmp; } _Tp exchange(_Tp __i, memory_order __m = memory_order_seq_cst) noexcept { _Tp tmp; __atomic_exchange(&_M_i, &__i, &tmp, __m); return tmp; } _Tp exchange(_Tp __i, memory_order __m = memory_order_seq_cst) volatile noexcept { _Tp tmp; __atomic_exchange(&_M_i, &__i, &tmp, __m); return tmp; } bool compare_exchange_weak(_Tp& __e, _Tp __i, memory_order __s, memory_order __f) noexcept { return __atomic_compare_exchange(&_M_i, &__e, &__i, true, __s, __f); } bool compare_exchange_weak(_Tp& __e, _Tp __i, memory_order __s, memory_order __f) volatile noexcept { return __atomic_compare_exchange(&_M_i, &__e, &__i, true, __s, __f); } bool compare_exchange_weak(_Tp& __e, _Tp __i, memory_order __m = memory_order_seq_cst) noexcept { return compare_exchange_weak(__e, __i, __m, __cmpexch_failure_order(__m)); } bool compare_exchange_weak(_Tp& __e, _Tp __i, memory_order __m = memory_order_seq_cst) volatile noexcept { return compare_exchange_weak(__e, __i, __m, __cmpexch_failure_order(__m)); } bool compare_exchange_strong(_Tp& __e, _Tp __i, memory_order __s, memory_order __f) noexcept { return __atomic_compare_exchange(&_M_i, &__e, &__i, false, __s, __f); } bool compare_exchange_strong(_Tp& __e, _Tp __i, memory_order __s, memory_order __f) volatile noexcept { return __atomic_compare_exchange(&_M_i, &__e, &__i, false, __s, __f); } bool compare_exchange_strong(_Tp& __e, _Tp __i, memory_order __m = memory_order_seq_cst) noexcept { return compare_exchange_strong(__e, __i, __m, __cmpexch_failure_order(__m)); } bool compare_exchange_strong(_Tp& __e, _Tp __i, memory_order __m = memory_order_seq_cst) volatile noexcept { return compare_exchange_strong(__e, __i, __m, __cmpexch_failure_order(__m)); } }; template struct atomic<_Tp*> { typedef _Tp* __pointer_type; typedef __atomic_base<_Tp*> __base_type; __base_type _M_b; atomic() noexcept = default; ~atomic() noexcept = default; atomic(const atomic&) = delete; atomic& operator=(const atomic&) = delete; atomic& operator=(const atomic&) volatile = delete; constexpr atomic(__pointer_type __p) noexcept : _M_b(__p) { } operator __pointer_type() const noexcept { return __pointer_type(_M_b); } operator __pointer_type() const volatile noexcept { return __pointer_type(_M_b); } __pointer_type operator=(__pointer_type __p) noexcept { return _M_b.operator=(__p); } __pointer_type operator=(__pointer_type __p) volatile noexcept { return _M_b.operator=(__p); } __pointer_type operator++(int) noexcept { return _M_b++; } __pointer_type operator++(int) volatile noexcept { return _M_b++; } __pointer_type operator--(int) noexcept { return _M_b--; } __pointer_type operator--(int) volatile noexcept { return _M_b--; } __pointer_type operator++() noexcept { return ++_M_b; } __pointer_type operator++() volatile noexcept { return ++_M_b; } __pointer_type operator--() noexcept { return --_M_b; } __pointer_type operator--() volatile noexcept { return --_M_b; } __pointer_type operator+=(ptrdiff_t __d) noexcept { return _M_b.operator+=(__d); } __pointer_type operator+=(ptrdiff_t __d) volatile noexcept { return _M_b.operator+=(__d); } __pointer_type operator-=(ptrdiff_t __d) noexcept { return _M_b.operator-=(__d); } __pointer_type operator-=(ptrdiff_t __d) volatile noexcept { return _M_b.operator-=(__d); } bool is_lock_free() const noexcept { return _M_b.is_lock_free(); } bool is_lock_free() const volatile noexcept { return _M_b.is_lock_free(); } void store(__pointer_type __p, memory_order __m = memory_order_seq_cst) noexcept { return _M_b.store(__p, __m); } void store(__pointer_type __p, memory_order __m = memory_order_seq_cst) volatile noexcept { return _M_b.store(__p, __m); } __pointer_type load(memory_order __m = memory_order_seq_cst) const noexcept { return _M_b.load(__m); } __pointer_type load(memory_order __m = memory_order_seq_cst) const volatile noexcept { return _M_b.load(__m); } __pointer_type exchange(__pointer_type __p, memory_order __m = memory_order_seq_cst) noexcept { return _M_b.exchange(__p, __m); } __pointer_type exchange(__pointer_type __p, memory_order __m = memory_order_seq_cst) volatile noexcept { return _M_b.exchange(__p, __m); } bool compare_exchange_weak(__pointer_type& __p1, __pointer_type __p2, memory_order __m1, memory_order __m2) noexcept { return _M_b.compare_exchange_strong(__p1, __p2, __m1, __m2); } bool compare_exchange_weak(__pointer_type& __p1, __pointer_type __p2, memory_order __m1, memory_order __m2) volatile noexcept { return _M_b.compare_exchange_strong(__p1, __p2, __m1, __m2); } bool compare_exchange_weak(__pointer_type& __p1, __pointer_type __p2, memory_order __m = memory_order_seq_cst) noexcept { return compare_exchange_weak(__p1, __p2, __m, __cmpexch_failure_order(__m)); } bool compare_exchange_weak(__pointer_type& __p1, __pointer_type __p2, memory_order __m = memory_order_seq_cst) volatile noexcept { return compare_exchange_weak(__p1, __p2, __m, __cmpexch_failure_order(__m)); } bool compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2, memory_order __m1, memory_order __m2) noexcept { return _M_b.compare_exchange_strong(__p1, __p2, __m1, __m2); } bool compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2, memory_order __m1, memory_order __m2) volatile noexcept { return _M_b.compare_exchange_strong(__p1, __p2, __m1, __m2); } bool compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2, memory_order __m = memory_order_seq_cst) noexcept { return _M_b.compare_exchange_strong(__p1, __p2, __m, __cmpexch_failure_order(__m)); } bool compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2, memory_order __m = memory_order_seq_cst) volatile noexcept { return _M_b.compare_exchange_strong(__p1, __p2, __m, __cmpexch_failure_order(__m)); } __pointer_type fetch_add(ptrdiff_t __d, memory_order __m = memory_order_seq_cst) noexcept { return _M_b.fetch_add(__d, __m); } __pointer_type fetch_add(ptrdiff_t __d, memory_order __m = memory_order_seq_cst) volatile noexcept { return _M_b.fetch_add(__d, __m); } __pointer_type fetch_sub(ptrdiff_t __d, memory_order __m = memory_order_seq_cst) noexcept { return _M_b.fetch_sub(__d, __m); } __pointer_type fetch_sub(ptrdiff_t __d, memory_order __m = memory_order_seq_cst) volatile noexcept { return _M_b.fetch_sub(__d, __m); } }; template<> struct atomic : __atomic_base { typedef char __integral_type; typedef __atomic_base __base_type; atomic() noexcept = default; ~atomic() noexcept = default; atomic(const atomic&) = delete; atomic& operator=(const atomic&) = delete; atomic& operator=(const atomic&) volatile = delete; constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } using __base_type::operator __integral_type; using __base_type::operator=; }; template<> struct atomic : __atomic_base { typedef signed char __integral_type; typedef __atomic_base __base_type; atomic() noexcept= default; ~atomic() noexcept = default; atomic(const atomic&) = delete; atomic& operator=(const atomic&) = delete; atomic& operator=(const atomic&) volatile = delete; constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } using __base_type::operator __integral_type; using __base_type::operator=; }; template<> struct atomic : __atomic_base { typedef unsigned char __integral_type; typedef __atomic_base __base_type; atomic() noexcept= default; ~atomic() noexcept = default; atomic(const atomic&) = delete; atomic& operator=(const atomic&) = delete; atomic& operator=(const atomic&) volatile = delete; constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } using __base_type::operator __integral_type; using __base_type::operator=; }; template<> struct atomic : __atomic_base { typedef short __integral_type; typedef __atomic_base __base_type; atomic() noexcept = default; ~atomic() noexcept = default; atomic(const atomic&) = delete; atomic& operator=(const atomic&) = delete; atomic& operator=(const atomic&) volatile = delete; constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } using __base_type::operator __integral_type; using __base_type::operator=; }; template<> struct atomic : __atomic_base { typedef unsigned short __integral_type; typedef __atomic_base __base_type; atomic() noexcept = default; ~atomic() noexcept = default; atomic(const atomic&) = delete; atomic& operator=(const atomic&) = delete; atomic& operator=(const atomic&) volatile = delete; constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } using __base_type::operator __integral_type; using __base_type::operator=; }; template<> struct atomic : __atomic_base { typedef int __integral_type; typedef __atomic_base __base_type; atomic() noexcept = default; ~atomic() noexcept = default; atomic(const atomic&) = delete; atomic& operator=(const atomic&) = delete; atomic& operator=(const atomic&) volatile = delete; constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } using __base_type::operator __integral_type; using __base_type::operator=; }; template<> struct atomic : __atomic_base { typedef unsigned int __integral_type; typedef __atomic_base __base_type; atomic() noexcept = default; ~atomic() noexcept = default; atomic(const atomic&) = delete; atomic& operator=(const atomic&) = delete; atomic& operator=(const atomic&) volatile = delete; constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } using __base_type::operator __integral_type; using __base_type::operator=; }; template<> struct atomic : __atomic_base { typedef long __integral_type; typedef __atomic_base __base_type; atomic() noexcept = default; ~atomic() noexcept = default; atomic(const atomic&) = delete; atomic& operator=(const atomic&) = delete; atomic& operator=(const atomic&) volatile = delete; constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } using __base_type::operator __integral_type; using __base_type::operator=; }; template<> struct atomic : __atomic_base { typedef unsigned long __integral_type; typedef __atomic_base __base_type; atomic() noexcept = default; ~atomic() noexcept = default; atomic(const atomic&) = delete; atomic& operator=(const atomic&) = delete; atomic& operator=(const atomic&) volatile = delete; constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } using __base_type::operator __integral_type; using __base_type::operator=; }; template<> struct atomic : __atomic_base { typedef long long __integral_type; typedef __atomic_base __base_type; atomic() noexcept = default; ~atomic() noexcept = default; atomic(const atomic&) = delete; atomic& operator=(const atomic&) = delete; atomic& operator=(const atomic&) volatile = delete; constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } using __base_type::operator __integral_type; using __base_type::operator=; }; template<> struct atomic : __atomic_base { typedef unsigned long long __integral_type; typedef __atomic_base __base_type; atomic() noexcept = default; ~atomic() noexcept = default; atomic(const atomic&) = delete; atomic& operator=(const atomic&) = delete; atomic& operator=(const atomic&) volatile = delete; constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } using __base_type::operator __integral_type; using __base_type::operator=; }; template<> struct atomic : __atomic_base { typedef wchar_t __integral_type; typedef __atomic_base __base_type; atomic() noexcept = default; ~atomic() noexcept = default; atomic(const atomic&) = delete; atomic& operator=(const atomic&) = delete; atomic& operator=(const atomic&) volatile = delete; constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } using __base_type::operator __integral_type; using __base_type::operator=; }; template<> struct atomic : __atomic_base { typedef char16_t __integral_type; typedef __atomic_base __base_type; atomic() noexcept = default; ~atomic() noexcept = default; atomic(const atomic&) = delete; atomic& operator=(const atomic&) = delete; atomic& operator=(const atomic&) volatile = delete; constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } using __base_type::operator __integral_type; using __base_type::operator=; }; template<> struct atomic : __atomic_base { typedef char32_t __integral_type; typedef __atomic_base __base_type; atomic() noexcept = default; ~atomic() noexcept = default; atomic(const atomic&) = delete; atomic& operator=(const atomic&) = delete; atomic& operator=(const atomic&) volatile = delete; constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { } using __base_type::operator __integral_type; using __base_type::operator=; }; typedef atomic atomic_bool; typedef atomic atomic_char; typedef atomic atomic_schar; typedef atomic atomic_uchar; typedef atomic atomic_short; typedef atomic atomic_ushort; typedef atomic atomic_int; typedef atomic atomic_uint; typedef atomic atomic_long; typedef atomic atomic_ulong; typedef atomic atomic_llong; typedef atomic atomic_ullong; typedef atomic atomic_wchar_t; typedef atomic atomic_char16_t; typedef atomic atomic_char32_t; typedef atomic atomic_int_least8_t; typedef atomic atomic_uint_least8_t; typedef atomic atomic_int_least16_t; typedef atomic atomic_uint_least16_t; typedef atomic atomic_int_least32_t; typedef atomic atomic_uint_least32_t; typedef atomic atomic_int_least64_t; typedef atomic atomic_uint_least64_t; typedef atomic atomic_int_fast8_t; typedef atomic atomic_uint_fast8_t; typedef atomic atomic_int_fast16_t; typedef atomic atomic_uint_fast16_t; typedef atomic atomic_int_fast32_t; typedef atomic atomic_uint_fast32_t; typedef atomic atomic_int_fast64_t; typedef atomic atomic_uint_fast64_t; typedef atomic atomic_intptr_t; typedef atomic atomic_uintptr_t; typedef atomic atomic_size_t; typedef atomic atomic_intmax_t; typedef atomic atomic_uintmax_t; typedef atomic atomic_ptrdiff_t; inline bool atomic_flag_test_and_set_explicit(atomic_flag* __a, memory_order __m) noexcept { return __a->test_and_set(__m); } inline bool atomic_flag_test_and_set_explicit(volatile atomic_flag* __a, memory_order __m) noexcept { return __a->test_and_set(__m); } inline void atomic_flag_clear_explicit(atomic_flag* __a, memory_order __m) noexcept { __a->clear(__m); } inline void atomic_flag_clear_explicit(volatile atomic_flag* __a, memory_order __m) noexcept { __a->clear(__m); } inline bool atomic_flag_test_and_set(atomic_flag* __a) noexcept { return atomic_flag_test_and_set_explicit(__a, memory_order_seq_cst); } inline bool atomic_flag_test_and_set(volatile atomic_flag* __a) noexcept { return atomic_flag_test_and_set_explicit(__a, memory_order_seq_cst); } inline void atomic_flag_clear(atomic_flag* __a) noexcept { atomic_flag_clear_explicit(__a, memory_order_seq_cst); } inline void atomic_flag_clear(volatile atomic_flag* __a) noexcept { atomic_flag_clear_explicit(__a, memory_order_seq_cst); } template inline bool atomic_is_lock_free(const atomic<_ITp>* __a) noexcept { return __a->is_lock_free(); } template inline bool atomic_is_lock_free(const volatile atomic<_ITp>* __a) noexcept { return __a->is_lock_free(); } template inline void atomic_init(atomic<_ITp>* __a, _ITp __i) noexcept { __a->store(__i, memory_order_relaxed); } template inline void atomic_init(volatile atomic<_ITp>* __a, _ITp __i) noexcept { __a->store(__i, memory_order_relaxed); } template inline void atomic_store_explicit(atomic<_ITp>* __a, _ITp __i, memory_order __m) noexcept { __a->store(__i, __m); } template inline void atomic_store_explicit(volatile atomic<_ITp>* __a, _ITp __i, memory_order __m) noexcept { __a->store(__i, __m); } template inline _ITp atomic_load_explicit(const atomic<_ITp>* __a, memory_order __m) noexcept { return __a->load(__m); } template inline _ITp atomic_load_explicit(const volatile atomic<_ITp>* __a, memory_order __m) noexcept { return __a->load(__m); } template inline _ITp atomic_exchange_explicit(atomic<_ITp>* __a, _ITp __i, memory_order __m) noexcept { return __a->exchange(__i, __m); } template inline _ITp atomic_exchange_explicit(volatile atomic<_ITp>* __a, _ITp __i, memory_order __m) noexcept { return __a->exchange(__i, __m); } template inline bool atomic_compare_exchange_weak_explicit(atomic<_ITp>* __a, _ITp* __i1, _ITp __i2, memory_order __m1, memory_order __m2) noexcept { return __a->compare_exchange_weak(*__i1, __i2, __m1, __m2); } template inline bool atomic_compare_exchange_weak_explicit(volatile atomic<_ITp>* __a, _ITp* __i1, _ITp __i2, memory_order __m1, memory_order __m2) noexcept { return __a->compare_exchange_weak(*__i1, __i2, __m1, __m2); } template inline bool atomic_compare_exchange_strong_explicit(atomic<_ITp>* __a, _ITp* __i1, _ITp __i2, memory_order __m1, memory_order __m2) noexcept { return __a->compare_exchange_strong(*__i1, __i2, __m1, __m2); } template inline bool atomic_compare_exchange_strong_explicit(volatile atomic<_ITp>* __a, _ITp* __i1, _ITp __i2, memory_order __m1, memory_order __m2) noexcept { return __a->compare_exchange_strong(*__i1, __i2, __m1, __m2); } template inline void atomic_store(atomic<_ITp>* __a, _ITp __i) noexcept { atomic_store_explicit(__a, __i, memory_order_seq_cst); } template inline void atomic_store(volatile atomic<_ITp>* __a, _ITp __i) noexcept { atomic_store_explicit(__a, __i, memory_order_seq_cst); } template inline _ITp atomic_load(const atomic<_ITp>* __a) noexcept { return atomic_load_explicit(__a, memory_order_seq_cst); } template inline _ITp atomic_load(const volatile atomic<_ITp>* __a) noexcept { return atomic_load_explicit(__a, memory_order_seq_cst); } template inline _ITp atomic_exchange(atomic<_ITp>* __a, _ITp __i) noexcept { return atomic_exchange_explicit(__a, __i, memory_order_seq_cst); } template inline _ITp atomic_exchange(volatile atomic<_ITp>* __a, _ITp __i) noexcept { return atomic_exchange_explicit(__a, __i, memory_order_seq_cst); } template inline bool atomic_compare_exchange_weak(atomic<_ITp>* __a, _ITp* __i1, _ITp __i2) noexcept { return atomic_compare_exchange_weak_explicit(__a, __i1, __i2, memory_order_seq_cst, memory_order_seq_cst); } template inline bool atomic_compare_exchange_weak(volatile atomic<_ITp>* __a, _ITp* __i1, _ITp __i2) noexcept { return atomic_compare_exchange_weak_explicit(__a, __i1, __i2, memory_order_seq_cst, memory_order_seq_cst); } template inline bool atomic_compare_exchange_strong(atomic<_ITp>* __a, _ITp* __i1, _ITp __i2) noexcept { return atomic_compare_exchange_strong_explicit(__a, __i1, __i2, memory_order_seq_cst, memory_order_seq_cst); } template inline bool atomic_compare_exchange_strong(volatile atomic<_ITp>* __a, _ITp* __i1, _ITp __i2) noexcept { return atomic_compare_exchange_strong_explicit(__a, __i1, __i2, memory_order_seq_cst, memory_order_seq_cst); } template inline _ITp atomic_fetch_add_explicit(__atomic_base<_ITp>* __a, _ITp __i, memory_order __m) noexcept { return __a->fetch_add(__i, __m); } template inline _ITp atomic_fetch_add_explicit(volatile __atomic_base<_ITp>* __a, _ITp __i, memory_order __m) noexcept { return __a->fetch_add(__i, __m); } template inline _ITp atomic_fetch_sub_explicit(__atomic_base<_ITp>* __a, _ITp __i, memory_order __m) noexcept { return __a->fetch_sub(__i, __m); } template inline _ITp atomic_fetch_sub_explicit(volatile __atomic_base<_ITp>* __a, _ITp __i, memory_order __m) noexcept { return __a->fetch_sub(__i, __m); } template inline _ITp atomic_fetch_and_explicit(__atomic_base<_ITp>* __a, _ITp __i, memory_order __m) noexcept { return __a->fetch_and(__i, __m); } template inline _ITp atomic_fetch_and_explicit(volatile __atomic_base<_ITp>* __a, _ITp __i, memory_order __m) noexcept { return __a->fetch_and(__i, __m); } template inline _ITp atomic_fetch_or_explicit(__atomic_base<_ITp>* __a, _ITp __i, memory_order __m) noexcept { return __a->fetch_or(__i, __m); } template inline _ITp atomic_fetch_or_explicit(volatile __atomic_base<_ITp>* __a, _ITp __i, memory_order __m) noexcept { return __a->fetch_or(__i, __m); } template inline _ITp atomic_fetch_xor_explicit(__atomic_base<_ITp>* __a, _ITp __i, memory_order __m) noexcept { return __a->fetch_xor(__i, __m); } template inline _ITp atomic_fetch_xor_explicit(volatile __atomic_base<_ITp>* __a, _ITp __i, memory_order __m) noexcept { return __a->fetch_xor(__i, __m); } template inline _ITp atomic_fetch_add(__atomic_base<_ITp>* __a, _ITp __i) noexcept { return atomic_fetch_add_explicit(__a, __i, memory_order_seq_cst); } template inline _ITp atomic_fetch_add(volatile __atomic_base<_ITp>* __a, _ITp __i) noexcept { return atomic_fetch_add_explicit(__a, __i, memory_order_seq_cst); } template inline _ITp atomic_fetch_sub(__atomic_base<_ITp>* __a, _ITp __i) noexcept { return atomic_fetch_sub_explicit(__a, __i, memory_order_seq_cst); } template inline _ITp atomic_fetch_sub(volatile __atomic_base<_ITp>* __a, _ITp __i) noexcept { return atomic_fetch_sub_explicit(__a, __i, memory_order_seq_cst); } template inline _ITp atomic_fetch_and(__atomic_base<_ITp>* __a, _ITp __i) noexcept { return atomic_fetch_and_explicit(__a, __i, memory_order_seq_cst); } template inline _ITp atomic_fetch_and(volatile __atomic_base<_ITp>* __a, _ITp __i) noexcept { return atomic_fetch_and_explicit(__a, __i, memory_order_seq_cst); } template inline _ITp atomic_fetch_or(__atomic_base<_ITp>* __a, _ITp __i) noexcept { return atomic_fetch_or_explicit(__a, __i, memory_order_seq_cst); } template inline _ITp atomic_fetch_or(volatile __atomic_base<_ITp>* __a, _ITp __i) noexcept { return atomic_fetch_or_explicit(__a, __i, memory_order_seq_cst); } template inline _ITp atomic_fetch_xor(__atomic_base<_ITp>* __a, _ITp __i) noexcept { return atomic_fetch_xor_explicit(__a, __i, memory_order_seq_cst); } template inline _ITp atomic_fetch_xor(volatile __atomic_base<_ITp>* __a, _ITp __i) noexcept { return atomic_fetch_xor_explicit(__a, __i, memory_order_seq_cst); } template inline _ITp* atomic_fetch_add_explicit(atomic<_ITp*>* __a, ptrdiff_t __d, memory_order __m) noexcept { return __a->fetch_add(__d, __m); } template inline _ITp* atomic_fetch_add_explicit(volatile atomic<_ITp*>* __a, ptrdiff_t __d, memory_order __m) noexcept { return __a->fetch_add(__d, __m); } template inline _ITp* atomic_fetch_add(volatile atomic<_ITp*>* __a, ptrdiff_t __d) noexcept { return __a->fetch_add(__d); } template inline _ITp* atomic_fetch_add(atomic<_ITp*>* __a, ptrdiff_t __d) noexcept { return __a->fetch_add(__d); } template inline _ITp* atomic_fetch_sub_explicit(volatile atomic<_ITp*>* __a, ptrdiff_t __d, memory_order __m) noexcept { return __a->fetch_sub(__d, __m); } template inline _ITp* atomic_fetch_sub_explicit(atomic<_ITp*>* __a, ptrdiff_t __d, memory_order __m) noexcept { return __a->fetch_sub(__d, __m); } template inline _ITp* atomic_fetch_sub(volatile atomic<_ITp*>* __a, ptrdiff_t __d) noexcept { return __a->fetch_sub(__d); } template inline _ITp* atomic_fetch_sub(atomic<_ITp*>* __a, ptrdiff_t __d) noexcept { return __a->fetch_sub(__d); } } # 56 "../../../dist/stl_wrappers/atomic" 2 3 #pragma GCC visibility pop # 185 "../../../dist/include/mozilla/Atomics.h" 2 # 186 "../../../dist/include/mozilla/Atomics.h" namespace mozilla { namespace detail { template struct AtomicOrderConstraints; template<> struct AtomicOrderConstraints { static const std::memory_order AtomicRMWOrder = std::memory_order_relaxed; static const std::memory_order LoadOrder = std::memory_order_relaxed; static const std::memory_order StoreOrder = std::memory_order_relaxed; static const std::memory_order CompareExchangeFailureOrder = std::memory_order_relaxed; }; template<> struct AtomicOrderConstraints { static const std::memory_order AtomicRMWOrder = std::memory_order_acq_rel; static const std::memory_order LoadOrder = std::memory_order_acquire; static const std::memory_order StoreOrder = std::memory_order_release; static const std::memory_order CompareExchangeFailureOrder = std::memory_order_acquire; }; template<> struct AtomicOrderConstraints { static const std::memory_order AtomicRMWOrder = std::memory_order_seq_cst; static const std::memory_order LoadOrder = std::memory_order_seq_cst; static const std::memory_order StoreOrder = std::memory_order_seq_cst; static const std::memory_order CompareExchangeFailureOrder = std::memory_order_seq_cst; }; template struct IntrinsicBase { typedef std::atomic ValueType; typedef AtomicOrderConstraints OrderedOp; }; template struct IntrinsicMemoryOps : public IntrinsicBase { typedef IntrinsicBase Base; static T load(const typename Base::ValueType& aPtr) { return aPtr.load(Base::OrderedOp::LoadOrder); } static void store(typename Base::ValueType& aPtr, T aVal) { aPtr.store(aVal, Base::OrderedOp::StoreOrder); } static T exchange(typename Base::ValueType& aPtr, T aVal) { return aPtr.exchange(aVal, Base::OrderedOp::AtomicRMWOrder); } static bool compareExchange(typename Base::ValueType& aPtr, T aOldVal, T aNewVal) { return aPtr.compare_exchange_strong(aOldVal, aNewVal, Base::OrderedOp::AtomicRMWOrder, Base::OrderedOp::CompareExchangeFailureOrder); } }; template struct IntrinsicAddSub : public IntrinsicBase { typedef IntrinsicBase Base; static T add(typename Base::ValueType& aPtr, T aVal) { return aPtr.fetch_add(aVal, Base::OrderedOp::AtomicRMWOrder); } static T sub(typename Base::ValueType& aPtr, T aVal) { return aPtr.fetch_sub(aVal, Base::OrderedOp::AtomicRMWOrder); } }; template struct IntrinsicAddSub : public IntrinsicBase { typedef IntrinsicBase Base; static T* add(typename Base::ValueType& aPtr, ptrdiff_t aVal) { return aPtr.fetch_add(fixupAddend(aVal), Base::OrderedOp::AtomicRMWOrder); } static T* sub(typename Base::ValueType& aPtr, ptrdiff_t aVal) { return aPtr.fetch_sub(fixupAddend(aVal), Base::OrderedOp::AtomicRMWOrder); } private: static ptrdiff_t fixupAddend(ptrdiff_t aVal) { return aVal; } }; template struct IntrinsicIncDec : public IntrinsicAddSub { typedef IntrinsicBase Base; static T inc(typename Base::ValueType& aPtr) { return IntrinsicAddSub::add(aPtr, 1); } static T dec(typename Base::ValueType& aPtr) { return IntrinsicAddSub::sub(aPtr, 1); } }; template struct AtomicIntrinsics : public IntrinsicMemoryOps, public IntrinsicIncDec { typedef IntrinsicBase Base; static T or_(typename Base::ValueType& aPtr, T aVal) { return aPtr.fetch_or(aVal, Base::OrderedOp::AtomicRMWOrder); } static T xor_(typename Base::ValueType& aPtr, T aVal) { return aPtr.fetch_xor(aVal, Base::OrderedOp::AtomicRMWOrder); } static T and_(typename Base::ValueType& aPtr, T aVal) { return aPtr.fetch_and(aVal, Base::OrderedOp::AtomicRMWOrder); } }; template struct AtomicIntrinsics : public IntrinsicMemoryOps, public IntrinsicIncDec { }; } } # 914 "../../../dist/include/mozilla/Atomics.h" namespace mozilla { namespace detail { template class AtomicBase { static_assert(sizeof(T) == 4 || (sizeof(uintptr_t) == 8 && sizeof(T) == 8), "mozilla/Atomics.h only supports 32-bit and pointer-sized types"); protected: typedef typename detail::AtomicIntrinsics Intrinsics; typename Intrinsics::ValueType mValue; public: constexpr AtomicBase() : mValue() {} explicit constexpr AtomicBase(T aInit) : mValue(aInit) {} T operator=(T aVal) { Intrinsics::store(mValue, aVal); return aVal; } T exchange(T aVal) { return Intrinsics::exchange(mValue, aVal); } # 965 "../../../dist/include/mozilla/Atomics.h" bool compareExchange(T aOldValue, T aNewValue) { return Intrinsics::compareExchange(mValue, aOldValue, aNewValue); } private: template AtomicBase(const AtomicBase& aCopy) = delete; }; template class AtomicBaseIncDec : public AtomicBase { typedef typename detail::AtomicBase Base; public: constexpr AtomicBaseIncDec() : Base() {} explicit constexpr AtomicBaseIncDec(T aInit) : Base(aInit) {} using Base::operator=; operator T() const { return Base::Intrinsics::load(Base::mValue); } T operator++(int) { return Base::Intrinsics::inc(Base::mValue); } T operator--(int) { return Base::Intrinsics::dec(Base::mValue); } T operator++() { return Base::Intrinsics::inc(Base::mValue) + 1; } T operator--() { return Base::Intrinsics::dec(Base::mValue) - 1; } private: template AtomicBaseIncDec(const AtomicBaseIncDec& aCopy) = delete; }; } # 1016 "../../../dist/include/mozilla/Atomics.h" template class Atomic; # 1029 "../../../dist/include/mozilla/Atomics.h" template class Atomic::value && !IsSame::value>::Type> : public detail::AtomicBaseIncDec { typedef typename detail::AtomicBaseIncDec Base; public: constexpr Atomic() : Base() {} explicit constexpr Atomic(T aInit) : Base(aInit) {} using Base::operator=; T operator+=(T aDelta) { return Base::Intrinsics::add(Base::mValue, aDelta) + aDelta; } T operator-=(T aDelta) { return Base::Intrinsics::sub(Base::mValue, aDelta) - aDelta; } T operator|=(T aVal) { return Base::Intrinsics::or_(Base::mValue, aVal) | aVal; } T operator^=(T aVal) { return Base::Intrinsics::xor_(Base::mValue, aVal) ^ aVal; } T operator&=(T aVal) { return Base::Intrinsics::and_(Base::mValue, aVal) & aVal; } private: Atomic(Atomic& aOther) = delete; }; # 1079 "../../../dist/include/mozilla/Atomics.h" template class Atomic : public detail::AtomicBaseIncDec { typedef typename detail::AtomicBaseIncDec Base; public: constexpr Atomic() : Base() {} explicit constexpr Atomic(T* aInit) : Base(aInit) {} using Base::operator=; T* operator+=(ptrdiff_t aDelta) { return Base::Intrinsics::add(Base::mValue, aDelta) + aDelta; } T* operator-=(ptrdiff_t aDelta) { return Base::Intrinsics::sub(Base::mValue, aDelta) - aDelta; } private: Atomic(Atomic& aOther) = delete; }; template class Atomic::value>::Type> : public detail::AtomicBase { typedef typename detail::AtomicBase Base; public: constexpr Atomic() : Base() {} explicit constexpr Atomic(T aInit) : Base(aInit) {} operator T() const { return Base::Intrinsics::load(Base::mValue); } using Base::operator=; private: Atomic(Atomic& aOther) = delete; }; # 1143 "../../../dist/include/mozilla/Atomics.h" template class Atomic : protected detail::AtomicBase { typedef typename detail::AtomicBase Base; public: constexpr Atomic() : Base() {} explicit constexpr Atomic(bool aInit) : Base(aInit) {} operator bool() const { return Base::Intrinsics::load(Base::mValue); } bool operator=(bool aVal) { return Base::operator=(aVal); } bool exchange(bool aVal) { return Base::exchange(aVal); } bool compareExchange(bool aOldValue, bool aNewValue) { return Base::compareExchange(aOldValue, aNewValue); } private: Atomic(Atomic& aOther) = delete; }; } # 25 "../../../dist/include/nsISupportsImpl.h" 2 # 1 "../../../dist/include/mozilla/Compiler.h" 1 # 29 "../../../dist/include/nsISupportsImpl.h" 2 # 1 "../../../dist/include/mozilla/MacroArgs.h" 1 # 31 "../../../dist/include/nsISupportsImpl.h" 2 # 1 "../../../dist/include/mozilla/MacroForEach.h" 1 # 32 "../../../dist/include/nsISupportsImpl.h" 2 namespace mozilla { template struct HasDangerousPublicDestructor { static const bool value = false; }; } # 105 "../../../dist/include/nsISupportsImpl.h" inline nsISupports* ToSupports(nsISupports* aSupports) { return aSupports; } inline nsISupports* ToCanonicalSupports(nsISupports* aSupports) { return nullptr; } # 228 "../../../dist/include/nsISupportsImpl.h" class nsCycleCollectingAutoRefCnt { public: nsCycleCollectingAutoRefCnt() : mRefCntAndFlags(0) {} explicit nsCycleCollectingAutoRefCnt(uintptr_t aValue) : mRefCntAndFlags(aValue << 2) { } __attribute__((always_inline)) inline uintptr_t incr(nsISupports* aOwner) { return incr(aOwner, nullptr); } __attribute__((always_inline)) inline uintptr_t incr(void* aOwner, nsCycleCollectionParticipant* aCp) { mRefCntAndFlags += (1 << 2); mRefCntAndFlags &= ~(1 << 1); if (!IsInPurpleBuffer()) { mRefCntAndFlags |= (1 << 0); do { } while (0); NS_CycleCollectorSuspect3(aOwner, aCp, this, nullptr); } return (mRefCntAndFlags >> 2); } __attribute__((always_inline)) inline void stabilizeForDeletion() { mRefCntAndFlags = (1 << 2) | (1 << 0); } __attribute__((always_inline)) inline uintptr_t decr(nsISupports* aOwner, bool* aShouldDelete = nullptr) { return decr(aOwner, nullptr, aShouldDelete); } __attribute__((always_inline)) inline uintptr_t decr(void* aOwner, nsCycleCollectionParticipant* aCp, bool* aShouldDelete = nullptr) { do { } while (0); if (!IsInPurpleBuffer()) { mRefCntAndFlags -= (1 << 2); mRefCntAndFlags |= ((1 << 0) | (1 << 1)); uintptr_t retval = (mRefCntAndFlags >> 2); NS_CycleCollectorSuspect3(aOwner, aCp, this, aShouldDelete); return retval; } mRefCntAndFlags -= (1 << 2); mRefCntAndFlags |= ((1 << 0) | (1 << 1)); return (mRefCntAndFlags >> 2); } __attribute__((always_inline)) inline void RemovePurple() { do { } while (0); mRefCntAndFlags &= ~(1 << 1); } __attribute__((always_inline)) inline void RemoveFromPurpleBuffer() { do { } while (0); mRefCntAndFlags &= ~((1 << 1) | (1 << 0)); } __attribute__((always_inline)) inline bool IsPurple() const { return !!(mRefCntAndFlags & (1 << 1)); } __attribute__((always_inline)) inline bool IsInPurpleBuffer() const { return !!(mRefCntAndFlags & (1 << 0)); } __attribute__((always_inline)) inline nsrefcnt get() const { return (mRefCntAndFlags >> 2); } __attribute__((always_inline)) inline operator nsrefcnt() const { return get(); } private: uintptr_t mRefCntAndFlags; }; class nsAutoRefCnt { public: nsAutoRefCnt() : mValue(0) {} explicit nsAutoRefCnt(nsrefcnt aValue) : mValue(aValue) {} nsrefcnt operator++() { return ++mValue; } nsrefcnt operator--() { return --mValue; } nsrefcnt operator=(nsrefcnt aValue) { return (mValue = aValue); } operator nsrefcnt() const { return mValue; } nsrefcnt get() const { return mValue; } static const bool isThreadSafe = false; private: nsrefcnt operator++(int) = delete; nsrefcnt operator--(int) = delete; nsrefcnt mValue; }; namespace mozilla { class ThreadSafeAutoRefCnt { public: ThreadSafeAutoRefCnt() : mValue(0) {} explicit ThreadSafeAutoRefCnt(nsrefcnt aValue) : mValue(aValue) {} __attribute__((always_inline)) inline nsrefcnt operator++() { return ++mValue; } __attribute__((always_inline)) inline nsrefcnt operator--() { return --mValue; } __attribute__((always_inline)) inline nsrefcnt operator=(nsrefcnt aValue) { return (mValue = aValue); } __attribute__((always_inline)) inline operator nsrefcnt() const { return mValue; } __attribute__((always_inline)) inline nsrefcnt get() const { return mValue; } static const bool isThreadSafe = true; private: nsrefcnt operator++(int) = delete; nsrefcnt operator--(int) = delete; Atomic mValue; }; } # 744 "../../../dist/include/nsISupportsImpl.h" struct QITableEntry { const nsIID* iid; int32_t offset; }; nsresult __attribute__ ((regparm (3), stdcall)) NS_TableDrivenQI(void* aThis, const nsIID& aIID, void** aInstancePtr, const QITableEntry* aEntries); # 19 "../../../dist/include/nsRect.h" 2 # 1 "../../../dist/include/nsPoint.h" 1 # 11 "../../../dist/include/nsPoint.h" # 1 "../../../dist/include/mozilla/gfx/BasePoint.h" 1 # 12 "../../../dist/include/nsPoint.h" 2 struct nsIntPoint; struct nsPoint : public mozilla::gfx::BasePoint { typedef mozilla::gfx::BasePoint Super; nsPoint() : Super() {} nsPoint(const nsPoint& aPoint) : Super(aPoint) {} nsPoint(nscoord aX, nscoord aY) : Super(aX, aY) {} inline nsIntPoint ScaleToNearestPixels(float aXScale, float aYScale, nscoord aAppUnitsPerPixel) const; inline nsIntPoint ToNearestPixels(nscoord aAppUnitsPerPixel) const; inline nsPoint ConvertAppUnits(int32_t aFromAPP, int32_t aToAPP) const; }; struct nsIntPoint : public mozilla::gfx::BasePoint { typedef mozilla::gfx::BasePoint Super; nsIntPoint() : Super() {} nsIntPoint(const nsIntPoint& aPoint) : Super(aPoint) {} nsIntPoint(int32_t aX, int32_t aY) : Super(aX, aY) {} inline nsPoint ToAppUnits(nscoord aAppUnitsPerPixel) const; }; inline nsIntPoint nsPoint::ScaleToNearestPixels(float aXScale, float aYScale, nscoord aAppUnitsPerPixel) const { return nsIntPoint( NSToIntRoundUp(NSAppUnitsToDoublePixels(x, aAppUnitsPerPixel) * aXScale), NSToIntRoundUp(NSAppUnitsToDoublePixels(y, aAppUnitsPerPixel) * aYScale)); } inline nsIntPoint nsPoint::ToNearestPixels(nscoord aAppUnitsPerPixel) const { return ScaleToNearestPixels(1.0f, 1.0f, aAppUnitsPerPixel); } inline nsPoint nsPoint::ConvertAppUnits(int32_t aFromAPP, int32_t aToAPP) const { if (aFromAPP != aToAPP) { nsPoint point; point.x = NSToCoordRound(NSCoordScale(x, aFromAPP, aToAPP)); point.y = NSToCoordRound(NSCoordScale(y, aFromAPP, aToAPP)); return point; } return *this; } inline nsPoint nsIntPoint::ToAppUnits(nscoord aAppUnitsPerPixel) const { return nsPoint(NSIntPixelsToAppUnits(x, aAppUnitsPerPixel), NSIntPixelsToAppUnits(y, aAppUnitsPerPixel)); } # 20 "../../../dist/include/nsRect.h" 2 struct nsIntRect; struct nsMargin; struct nsIntMargin; struct nsRect : public mozilla::gfx::BaseRect { typedef mozilla::gfx::BaseRect Super; static void VERIFY_COORD(nscoord aValue) { ::VERIFY_COORD(aValue); } nsRect() : Super() { ; } nsRect(const nsRect& aRect) : Super(aRect) { ; } nsRect(const nsPoint& aOrigin, const nsSize &aSize) : Super(aOrigin, aSize) { ; } nsRect(nscoord aX, nscoord aY, nscoord aWidth, nscoord aHeight) : Super(aX, aY, aWidth, aHeight) { ; } # 62 "../../../dist/include/nsRect.h" nsRect SaturatingUnion(const nsRect& aRect) const { if (IsEmpty()) { return aRect; } else if (aRect.IsEmpty()) { return *static_cast(this); } else { return SaturatingUnionEdges(aRect); } } nsRect SaturatingUnionEdges(const nsRect& aRect) const { nsRect result; result.x = std::min(aRect.x, x); int64_t w = std::max(int64_t(aRect.x) + aRect.width, int64_t(x) + width) - result.x; if ((__builtin_expect(!!(w > nscoord(1 << 30)), 0))) { do { } while(0); result.x = std::max(result.x, (-nscoord(1 << 30)) / 2); w = std::max(int64_t(aRect.x) + aRect.width, int64_t(x) + width) - result.x; if ((__builtin_expect(!!(w > nscoord(1 << 30)), 0))) { w = nscoord(1 << 30); } } result.width = nscoord(w); result.y = std::min(aRect.y, y); int64_t h = std::max(int64_t(aRect.y) + aRect.height, int64_t(y) + height) - result.y; if ((__builtin_expect(!!(h > nscoord(1 << 30)), 0))) { do { } while(0); result.y = std::max(result.y, (-nscoord(1 << 30)) / 2); h = std::max(int64_t(aRect.y) + aRect.height, int64_t(y) + height) - result.y; if ((__builtin_expect(!!(h > nscoord(1 << 30)), 0))) { h = nscoord(1 << 30); } } result.height = nscoord(h); return result; } nsRect UnionEdges(const nsRect& aRect) const { return SaturatingUnionEdges(aRect); } void UnionRectEdges(const nsRect& aRect1, const nsRect& aRect2) { *this = aRect1.UnionEdges(aRect2); } nsRect Union(const nsRect& aRect) const { return SaturatingUnion(aRect); } void UnionRect(const nsRect& aRect1, const nsRect& aRect2) { *this = aRect1.Union(aRect2); } void SaturatingUnionRect(const nsRect& aRect1, const nsRect& aRect2) { *this = aRect1.SaturatingUnion(aRect2); } void SaturatingUnionRectEdges(const nsRect& aRect1, const nsRect& aRect2) { *this = aRect1.SaturatingUnionEdges(aRect2); } inline nsRect ConvertAppUnitsRoundOut(int32_t aFromAPP, int32_t aToAPP) const; inline nsRect ConvertAppUnitsRoundIn(int32_t aFromAPP, int32_t aToAPP) const; inline nsIntRect ScaleToNearestPixels(float aXScale, float aYScale, nscoord aAppUnitsPerPixel) const; inline nsIntRect ToNearestPixels(nscoord aAppUnitsPerPixel) const; inline nsIntRect ScaleToOutsidePixels(float aXScale, float aYScale, nscoord aAppUnitsPerPixel) const; inline nsIntRect ToOutsidePixels(nscoord aAppUnitsPerPixel) const; inline nsIntRect ScaleToInsidePixels(float aXScale, float aYScale, nscoord aAppUnitsPerPixel) const; inline nsIntRect ToInsidePixels(nscoord aAppUnitsPerPixel) const; bool operator==(const nsRect& aRect) const { return IsEqualEdges(aRect); } }; struct nsIntRect : public mozilla::gfx::BaseRect { typedef mozilla::gfx::BaseRect Super; nsIntRect() : Super() { } nsIntRect(const nsIntRect& aRect) : Super(aRect) { } nsIntRect(const nsIntPoint& aOrigin, const nsIntSize &aSize) : Super(aOrigin, aSize) { } nsIntRect(int32_t aX, int32_t aY, int32_t aWidth, int32_t aHeight) : Super(aX, aY, aWidth, aHeight) { } inline nsRect ToAppUnits(nscoord aAppUnitsPerPixel) const; static const nsIntRect& GetMaxSizedIntRect() { static const nsIntRect r(0, 0, # 188 "../../../dist/include/nsRect.h" 3 4 (2147483647) # 188 "../../../dist/include/nsRect.h" , # 188 "../../../dist/include/nsRect.h" 3 4 (2147483647) # 188 "../../../dist/include/nsRect.h" ); return r; } bool operator==(const nsIntRect& aRect) const { return IsEqualEdges(aRect); } }; inline nsRect nsRect::ConvertAppUnitsRoundOut(int32_t aFromAPP, int32_t aToAPP) const { if (aFromAPP == aToAPP) { return *this; } nsRect rect; nscoord right = NSToCoordCeil(NSCoordScale(XMost(), aFromAPP, aToAPP)); nscoord bottom = NSToCoordCeil(NSCoordScale(YMost(), aFromAPP, aToAPP)); rect.x = NSToCoordFloor(NSCoordScale(x, aFromAPP, aToAPP)); rect.y = NSToCoordFloor(NSCoordScale(y, aFromAPP, aToAPP)); rect.width = (right - rect.x); rect.height = (bottom - rect.y); return rect; } inline nsRect nsRect::ConvertAppUnitsRoundIn(int32_t aFromAPP, int32_t aToAPP) const { if (aFromAPP == aToAPP) { return *this; } nsRect rect; nscoord right = NSToCoordFloor(NSCoordScale(XMost(), aFromAPP, aToAPP)); nscoord bottom = NSToCoordFloor(NSCoordScale(YMost(), aFromAPP, aToAPP)); rect.x = NSToCoordCeil(NSCoordScale(x, aFromAPP, aToAPP)); rect.y = NSToCoordCeil(NSCoordScale(y, aFromAPP, aToAPP)); rect.width = (right - rect.x); rect.height = (bottom - rect.y); return rect; } inline nsIntRect nsRect::ScaleToNearestPixels(float aXScale, float aYScale, nscoord aAppUnitsPerPixel) const { nsIntRect rect; rect.x = NSToIntRoundUp(NSAppUnitsToDoublePixels(x, aAppUnitsPerPixel) * aXScale); rect.y = NSToIntRoundUp(NSAppUnitsToDoublePixels(y, aAppUnitsPerPixel) * aYScale); rect.width = std::max(0, NSToIntRoundUp(NSAppUnitsToDoublePixels(XMost(), aAppUnitsPerPixel) * aXScale) - rect.x); rect.height = std::max(0, NSToIntRoundUp(NSAppUnitsToDoublePixels(YMost(), aAppUnitsPerPixel) * aYScale) - rect.y); return rect; } inline nsIntRect nsRect::ScaleToOutsidePixels(float aXScale, float aYScale, nscoord aAppUnitsPerPixel) const { nsIntRect rect; rect.x = NSToIntFloor(NSAppUnitsToFloatPixels(x, float(aAppUnitsPerPixel)) * aXScale); rect.y = NSToIntFloor(NSAppUnitsToFloatPixels(y, float(aAppUnitsPerPixel)) * aYScale); rect.width = std::max(0, NSToIntCeil(NSAppUnitsToFloatPixels(XMost(), float(aAppUnitsPerPixel)) * aXScale) - rect.x); rect.height = std::max(0, NSToIntCeil(NSAppUnitsToFloatPixels(YMost(), float(aAppUnitsPerPixel)) * aYScale) - rect.y); return rect; } inline nsIntRect nsRect::ScaleToInsidePixels(float aXScale, float aYScale, nscoord aAppUnitsPerPixel) const { nsIntRect rect; rect.x = NSToIntCeil(NSAppUnitsToFloatPixels(x, float(aAppUnitsPerPixel)) * aXScale); rect.y = NSToIntCeil(NSAppUnitsToFloatPixels(y, float(aAppUnitsPerPixel)) * aYScale); rect.width = std::max(0, NSToIntFloor(NSAppUnitsToFloatPixels(XMost(), float(aAppUnitsPerPixel)) * aXScale) - rect.x); rect.height = std::max(0, NSToIntFloor(NSAppUnitsToFloatPixels(YMost(), float(aAppUnitsPerPixel)) * aYScale) - rect.y); return rect; } inline nsIntRect nsRect::ToNearestPixels(nscoord aAppUnitsPerPixel) const { return ScaleToNearestPixels(1.0f, 1.0f, aAppUnitsPerPixel); } inline nsIntRect nsRect::ToOutsidePixels(nscoord aAppUnitsPerPixel) const { return ScaleToOutsidePixels(1.0f, 1.0f, aAppUnitsPerPixel); } inline nsIntRect nsRect::ToInsidePixels(nscoord aAppUnitsPerPixel) const { return ScaleToInsidePixels(1.0f, 1.0f, aAppUnitsPerPixel); } inline nsRect nsIntRect::ToAppUnits(nscoord aAppUnitsPerPixel) const { return nsRect(NSIntPixelsToAppUnits(x, aAppUnitsPerPixel), NSIntPixelsToAppUnits(y, aAppUnitsPerPixel), NSIntPixelsToAppUnits(width, aAppUnitsPerPixel), NSIntPixelsToAppUnits(height, aAppUnitsPerPixel)); } # 11 "../../../dist/include/MediaInfo.h" 2 # 1 "../../../dist/include/ImageTypes.h" 1 # 11 "../../../dist/include/ImageTypes.h" namespace mozilla { enum class ImageFormat { PLANAR_YCBCR, GRALLOC_PLANAR_YCBCR, SHARED_RGB, # 48 "../../../dist/include/ImageTypes.h" CAIRO_SURFACE, MAC_IOSURFACE, SURFACE_TEXTURE, EGLIMAGE, D3D9_RGB32_TEXTURE, OVERLAY_IMAGE }; enum class StereoMode { MONO, LEFT_RIGHT, RIGHT_LEFT, BOTTOM_TOP, TOP_BOTTOM }; } # 12 "../../../dist/include/MediaInfo.h" 2 # 1 "../../../dist/include/nsString.h" 1 # 12 "../../../dist/include/nsString.h" # 1 "../../../dist/include/nsSubstring.h" 1 # 10 "../../../dist/include/nsSubstring.h" # 1 "../../../dist/include/nsAString.h" 1 # 11 "../../../dist/include/nsAString.h" # 1 "../../../dist/include/nsStringFwd.h" 1 # 22 "../../../dist/include/nsStringFwd.h" class nsAString_internal; class nsSubstringTuple; class nsString; class nsAutoString; class nsDependentString; class nsDependentSubstring; class nsPromiseFlatString; class nsStringComparator; class nsDefaultStringComparator; class nsXPIDLString; class nsACString_internal; class nsCSubstringTuple; class nsCString; class nsAutoCString; class nsDependentCString; class nsDependentCSubstring; class nsPromiseFlatCString; class nsCStringComparator; class nsDefaultCStringComparator; class nsXPIDLCString; typedef nsAString_internal nsSubstring; typedef nsACString_internal nsCSubstring; typedef nsString nsAFlatString; typedef nsSubstring nsASingleFragmentString; typedef nsCString nsAFlatCString; typedef nsCSubstring nsASingleFragmentCString; # 12 "../../../dist/include/nsAString.h" 2 # 1 "../../../dist/include/nsStringIterator.h" 1 # 18 "../../../dist/include/nsStringIterator.h" template class nsReadingIterator { public: typedef nsReadingIterator self_type; typedef ptrdiff_t difference_type; typedef CharT value_type; typedef const CharT* pointer; typedef const CharT& reference; private: friend class nsAString_internal; friend class nsACString_internal; const CharT* mStart; const CharT* mEnd; const CharT* mPosition; public: nsReadingIterator() { } inline void normalize_forward() { } inline void normalize_backward() { } pointer start() const { return mStart; } pointer end() const { return mEnd; } pointer get() const { return mPosition; } CharT operator*() const { return *get(); } # 84 "../../../dist/include/nsStringIterator.h" self_type& operator++() { ++mPosition; return *this; } self_type operator++(int) { self_type result(*this); ++mPosition; return result; } self_type& operator--() { --mPosition; return *this; } self_type operator--(int) { self_type result(*this); --mPosition; return result; } difference_type size_forward() const { return mEnd - mPosition; } difference_type size_backward() const { return mPosition - mStart; } self_type& advance(difference_type aN) { if (aN > 0) { difference_type step = XPCOM_MIN(aN, size_forward()); do { } while(0) ; mPosition += step; } else if (aN < 0) { difference_type step = XPCOM_MAX(aN, -size_backward()); do { } while(0) ; mPosition += step; } return *this; } }; template class nsWritingIterator { public: typedef nsWritingIterator self_type; typedef ptrdiff_t difference_type; typedef CharT value_type; typedef CharT* pointer; typedef CharT& reference; private: friend class nsAString_internal; friend class nsACString_internal; CharT* mStart; CharT* mEnd; CharT* mPosition; public: nsWritingIterator() { } inline void normalize_forward() { } inline void normalize_backward() { } pointer start() const { return mStart; } pointer end() const { return mEnd; } pointer get() const { return mPosition; } reference operator*() const { return *get(); } # 212 "../../../dist/include/nsStringIterator.h" self_type& operator++() { ++mPosition; return *this; } self_type operator++(int) { self_type result(*this); ++mPosition; return result; } self_type& operator--() { --mPosition; return *this; } self_type operator--(int) { self_type result(*this); --mPosition; return result; } difference_type size_forward() const { return mEnd - mPosition; } difference_type size_backward() const { return mPosition - mStart; } self_type& advance(difference_type aN) { if (aN > 0) { difference_type step = XPCOM_MIN(aN, size_forward()); do { } while(0) ; mPosition += step; } else if (aN < 0) { difference_type step = XPCOM_MAX(aN, -size_backward()); do { } while(0) ; mPosition += step; } return *this; } void write(const value_type* aS, uint32_t aN) { do { } while(0) ; nsCharTraits::move(mPosition, aS, aN); advance(difference_type(aN)); } }; template inline bool operator==(const nsReadingIterator& aLhs, const nsReadingIterator& aRhs) { return aLhs.get() == aRhs.get(); } template inline bool operator!=(const nsReadingIterator& aLhs, const nsReadingIterator& aRhs) { return aLhs.get() != aRhs.get(); } template inline bool operator==(const nsWritingIterator& aLhs, const nsWritingIterator& aRhs) { return aLhs.get() == aRhs.get(); } template inline bool operator!=(const nsWritingIterator& aLhs, const nsWritingIterator& aRhs) { return aLhs.get() != aRhs.get(); } # 13 "../../../dist/include/nsAString.h" 2 # 1 "../../../dist/system_wrappers/string.h" 1 # 2 "../../../dist/system_wrappers/string.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 15 "../../../dist/include/nsAString.h" 2 # 1 "../../../dist/system_wrappers/stdarg.h" 1 # 2 "../../../dist/system_wrappers/stdarg.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 16 "../../../dist/include/nsAString.h" 2 # 1 "../../../dist/include/mozilla/fallible.h" 1 # 18 "../../../dist/include/nsAString.h" 2 # 1 "../../../dist/include/string-template-def-unichar.h" 1 # 23 "../../../dist/include/nsAString.h" 2 # 1 "../../../dist/include/nsTSubstring.h" 1 # 1 "../../../dist/include/mozilla/Casting.h" 1 # 9 "../../../dist/include/nsTSubstring.h" 2 # 1 "../../../dist/include/mozilla/MemoryReporting.h" 1 # 12 "../../../dist/include/mozilla/MemoryReporting.h" # 1 "../../../dist/system_wrappers/stddef.h" 1 # 2 "../../../dist/system_wrappers/stddef.h" 3 #pragma GCC visibility push(default) # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/stddef.h" 1 3 4 # 4 "../../../dist/system_wrappers/stddef.h" 2 3 #pragma GCC visibility pop # 13 "../../../dist/include/mozilla/MemoryReporting.h" 2 namespace mozilla { typedef size_t (*MallocSizeOf)(const void* p); } typedef size_t (*MozMallocSizeOf)(const void* p); # 10 "../../../dist/include/nsTSubstring.h" 2 # 18 "../../../dist/include/nsTSubstring.h" class nsStringComparator { public: typedef char16_t char_type; nsStringComparator() { } virtual int operator()(const char_type*, const char_type*, uint32_t, uint32_t) const = 0; }; class nsDefaultStringComparator : public nsStringComparator { public: typedef char16_t char_type; nsDefaultStringComparator() { } virtual int operator()(const char_type*, const char_type*, uint32_t, uint32_t) const; }; # 61 "../../../dist/include/nsTSubstring.h" class nsAString_internal { public: typedef mozilla::fallible_t fallible_t; typedef char16_t char_type; typedef nsCharTraits char_traits; typedef char_traits::incompatible_char_type incompatible_char_type; typedef nsAString_internal self_type; typedef self_type abstract_string_type; typedef self_type base_string_type; typedef self_type substring_type; typedef nsSubstringTuple substring_tuple_type; typedef nsString string_type; typedef nsReadingIterator const_iterator; typedef nsWritingIterator iterator; typedef nsStringComparator comparator_type; typedef char_type* char_iterator; typedef const char_type* const_char_iterator; typedef uint32_t size_type; typedef uint32_t index_type; public: ~nsAString_internal() { Finalize(); } const_char_iterator BeginReading() const { return mData; } const_char_iterator EndReading() const { return mData + mLength; } const_iterator& BeginReading(const_iterator& aIter) const { aIter.mStart = mData; aIter.mEnd = mData + mLength; aIter.mPosition = aIter.mStart; return aIter; } const_iterator& EndReading(const_iterator& aIter) const { aIter.mStart = mData; aIter.mEnd = mData + mLength; aIter.mPosition = aIter.mEnd; return aIter; } const_char_iterator& BeginReading(const_char_iterator& aIter) const { return aIter = mData; } const_char_iterator& EndReading(const_char_iterator& aIter) const { return aIter = mData + mLength; } char_iterator BeginWriting() { if (!EnsureMutable()) { AllocFailed(mLength); } return mData; } char_iterator BeginWriting(const fallible_t&) { return EnsureMutable() ? mData : char_iterator(0); } char_iterator EndWriting() { if (!EnsureMutable()) { AllocFailed(mLength); } return mData + mLength; } char_iterator EndWriting(const fallible_t&) { return EnsureMutable() ? (mData + mLength) : char_iterator(0); } char_iterator& BeginWriting(char_iterator& aIter) { return aIter = BeginWriting(); } char_iterator& BeginWriting(char_iterator& aIter, const fallible_t&) { return aIter = BeginWriting(fallible_t()); } char_iterator& EndWriting(char_iterator& aIter) { return aIter = EndWriting(); } char_iterator& EndWriting(char_iterator& aIter, const fallible_t&) { return aIter = EndWriting(fallible_t()); } iterator& BeginWriting(iterator& aIter) { char_type* data = BeginWriting(); aIter.mStart = data; aIter.mEnd = data + mLength; aIter.mPosition = aIter.mStart; return aIter; } iterator& EndWriting(iterator& aIter) { char_type* data = BeginWriting(); aIter.mStart = data; aIter.mEnd = data + mLength; aIter.mPosition = aIter.mEnd; return aIter; } # 224 "../../../dist/include/nsTSubstring.h" const char_type* Data() const { return mData; } size_type Length() const { return mLength; } uint32_t Flags() const { return mFlags; } bool IsEmpty() const { return mLength == 0; } bool IsLiteral() const { return (mFlags & F_LITERAL) != 0; } bool IsVoid() const { return (mFlags & F_VOIDED) != 0; } bool IsTerminated() const { return (mFlags & F_TERMINATED) != 0; } char_type CharAt(index_type aIndex) const { do { } while(0); return mData[aIndex]; } char_type operator[](index_type aIndex) const { return CharAt(aIndex); } char_type First() const { do { } while(0); return mData[0]; } inline char_type Last() const { do { } while(0); return mData[mLength - 1]; } size_type __attribute__ ((regparm (3), stdcall)) CountChar(char_type) const; int32_t __attribute__ ((regparm (3), stdcall)) FindChar(char_type, index_type aOffset = 0) const; bool __attribute__ ((regparm (3), stdcall)) Equals(const self_type&) const; bool __attribute__ ((regparm (3), stdcall)) Equals(const self_type&, const comparator_type&) const; bool __attribute__ ((regparm (3), stdcall)) Equals(const char_type* aData) const; bool __attribute__ ((regparm (3), stdcall)) Equals(const char_type* aData, const comparator_type& aComp) const; # 314 "../../../dist/include/nsTSubstring.h" bool __attribute__ ((regparm (3), stdcall)) EqualsASCII(const char* aData, size_type aLen) const; bool __attribute__ ((regparm (3), stdcall)) EqualsASCII(const char* aData) const; template inline bool EqualsLiteral(const char (&aStr)[N]) const { return EqualsASCII(aStr, N - 1); } bool __attribute__ ((regparm (3), stdcall)) LowerCaseEqualsASCII(const char* aData, size_type aLen) const; bool __attribute__ ((regparm (3), stdcall)) LowerCaseEqualsASCII(const char* aData) const; template inline bool LowerCaseEqualsLiteral(const char (&aStr)[N]) const { return LowerCaseEqualsASCII(aStr, N - 1); } void __attribute__ ((regparm (3), stdcall)) Assign(char_type aChar); __attribute__((warn_unused_result)) bool __attribute__ ((regparm (3), stdcall)) Assign(char_type aChar, const fallible_t&); void __attribute__ ((regparm (3), stdcall)) Assign(const char_type* aData); void __attribute__ ((regparm (3), stdcall)) Assign(const char_type* aData, size_type aLength); __attribute__((warn_unused_result)) bool __attribute__ ((regparm (3), stdcall)) Assign(const char_type* aData, size_type aLength, const fallible_t&); void __attribute__ ((regparm (3), stdcall)) Assign(const self_type&); __attribute__((warn_unused_result)) bool __attribute__ ((regparm (3), stdcall)) Assign(const self_type&, const fallible_t&); void __attribute__ ((regparm (3), stdcall)) Assign(const substring_tuple_type&); __attribute__((warn_unused_result)) bool __attribute__ ((regparm (3), stdcall)) Assign(const substring_tuple_type&, const fallible_t&); # 400 "../../../dist/include/nsTSubstring.h" void __attribute__ ((regparm (3), stdcall)) AssignASCII(const char* aData, size_type aLength); __attribute__((warn_unused_result)) bool __attribute__ ((regparm (3), stdcall)) AssignASCII(const char* aData, size_type aLength, const fallible_t&); void __attribute__ ((regparm (3), stdcall)) AssignASCII(const char* aData) { AssignASCII(aData, mozilla::AssertedCast(strlen(aData))); } __attribute__((warn_unused_result)) bool __attribute__ ((regparm (3), stdcall)) AssignASCII(const char* aData, const fallible_t&) { return AssignASCII(aData, mozilla::AssertedCast(strlen(aData)), fallible_t()); } template void AssignLiteral(const char_type (&aStr)[N]) { AssignLiteral(aStr, N - 1); } template void AssignLiteral(const char (&aStr)[N]) { AssignASCII(aStr, N - 1); } self_type& operator=(char_type aChar) { Assign(aChar); return *this; } self_type& operator=(const char_type* aData) { Assign(aData); return *this; } self_type& operator=(const self_type& aStr) { Assign(aStr); return *this; } self_type& operator=(const substring_tuple_type& aTuple) { Assign(aTuple); return *this; } void __attribute__ ((regparm (3), stdcall)) Adopt(char_type* aData, size_type aLength = size_type(-1)); void __attribute__ ((regparm (3), stdcall)) Replace(index_type aCutStart, size_type aCutLength, char_type aChar); __attribute__((warn_unused_result)) bool __attribute__ ((regparm (3), stdcall)) Replace(index_type aCutStart, size_type aCutLength, char_type aChar, const mozilla::fallible_t&); void __attribute__ ((regparm (3), stdcall)) Replace(index_type aCutStart, size_type aCutLength, const char_type* aData, size_type aLength = size_type(-1)); __attribute__((warn_unused_result)) bool __attribute__ ((regparm (3), stdcall)) Replace(index_type aCutStart, size_type aCutLength, const char_type* aData, size_type aLength, const mozilla::fallible_t&); void Replace(index_type aCutStart, size_type aCutLength, const self_type& aStr) { Replace(aCutStart, aCutLength, aStr.Data(), aStr.Length()); } __attribute__((warn_unused_result)) bool Replace(index_type aCutStart, size_type aCutLength, const self_type& aStr, const mozilla::fallible_t&) { return Replace(aCutStart, aCutLength, aStr.Data(), aStr.Length(), mozilla::fallible_t()); } void __attribute__ ((regparm (3), stdcall)) Replace(index_type aCutStart, size_type aCutLength, const substring_tuple_type& aTuple); void __attribute__ ((regparm (3), stdcall)) ReplaceASCII(index_type aCutStart, size_type aCutLength, const char* aData, size_type aLength = size_type(-1)); template void ReplaceLiteral(index_type aCutStart, size_type aCutLength, const char_type (&aStr)[N]) { ReplaceLiteral(aCutStart, aCutLength, aStr, N - 1); } void Append(char_type aChar) { Replace(mLength, 0, aChar); } __attribute__((warn_unused_result)) bool Append(char_type aChar, const mozilla::fallible_t&) { return Replace(mLength, 0, aChar, mozilla::fallible_t()); } void Append(const char_type* aData, size_type aLength = size_type(-1)) { Replace(mLength, 0, aData, aLength); } __attribute__((warn_unused_result)) bool Append(const char_type* aData, size_type aLength, const mozilla::fallible_t&) { return Replace(mLength, 0, aData, aLength, mozilla::fallible_t()); } # 541 "../../../dist/include/nsTSubstring.h" void Append(const self_type& aStr) { Replace(mLength, 0, aStr); } void Append(const substring_tuple_type& aTuple) { Replace(mLength, 0, aTuple); } void AppendASCII(const char* aData, size_type aLength = size_type(-1)) { ReplaceASCII(mLength, 0, aData, aLength); } void AppendPrintf(const char* aFormat, ...); void AppendPrintf(const char* aFormat, va_list aAp); void AppendInt(int32_t aInteger) { AppendPrintf("%d", aInteger); } void AppendInt(int32_t aInteger, int aRadix) { const char* fmt = aRadix == 10 ? "%d" : aRadix == 8 ? "%o" : "%x"; AppendPrintf(fmt, aInteger); } void AppendInt(uint32_t aInteger) { AppendPrintf("%u", aInteger); } void AppendInt(uint32_t aInteger, int aRadix) { const char* fmt = aRadix == 10 ? "%u" : aRadix == 8 ? "%o" : "%x"; AppendPrintf(fmt, aInteger); } void AppendInt(int64_t aInteger) { AppendPrintf("%lld", aInteger); } void AppendInt(int64_t aInteger, int aRadix) { const char* fmt = aRadix == 10 ? "%lld" : aRadix == 8 ? "%llo" : "%llx"; AppendPrintf(fmt, aInteger); } void AppendInt(uint64_t aInteger) { AppendPrintf("%llu", aInteger); } void AppendInt(uint64_t aInteger, int aRadix) { const char* fmt = aRadix == 10 ? "%llu" : aRadix == 8 ? "%llo" : "%llx"; AppendPrintf(fmt, aInteger); } void __attribute__ ((regparm (3), stdcall)) AppendFloat(float aFloat); void __attribute__ ((regparm (3), stdcall)) AppendFloat(double aFloat); public: template void AppendLiteral(const char_type (&aStr)[N]) { ReplaceLiteral(mLength, 0, aStr, N - 1); } template void AppendLiteral(const char (&aStr)[N]) { AppendASCII(aStr, N - 1); } self_type& operator+=(char_type aChar) { Append(aChar); return *this; } self_type& operator+=(const char_type* aData) { Append(aData); return *this; } self_type& operator+=(const self_type& aStr) { Append(aStr); return *this; } self_type& operator+=(const substring_tuple_type& aTuple) { Append(aTuple); return *this; } void Insert(char_type aChar, index_type aPos) { Replace(aPos, 0, aChar); } void Insert(const char_type* aData, index_type aPos, size_type aLength = size_type(-1)) { Replace(aPos, 0, aData, aLength); } void Insert(const self_type& aStr, index_type aPos) { Replace(aPos, 0, aStr); } void Insert(const substring_tuple_type& aTuple, index_type aPos) { Replace(aPos, 0, aTuple); } template void InsertLiteral(const char_type (&aStr)[N], index_type aPos) { ReplaceLiteral(aPos, 0, aStr, N - 1); } void Cut(index_type aCutStart, size_type aCutLength) { Replace(aCutStart, aCutLength, char_traits::sEmptyBuffer, 0); } # 700 "../../../dist/include/nsTSubstring.h" void __attribute__ ((regparm (3), stdcall)) SetCapacity(size_type aNewCapacity); __attribute__((warn_unused_result)) bool __attribute__ ((regparm (3), stdcall)) SetCapacity(size_type aNewCapacity, const fallible_t&); void __attribute__ ((regparm (3), stdcall)) SetLength(size_type aNewLength); __attribute__((warn_unused_result)) bool __attribute__ ((regparm (3), stdcall)) SetLength(size_type aNewLength, const fallible_t&); void Truncate(size_type aNewLength = 0) { do { } while(0); SetLength(aNewLength); } # 726 "../../../dist/include/nsTSubstring.h" inline size_type GetData(const char_type** aData) const { *aData = mData; return mLength; } # 742 "../../../dist/include/nsTSubstring.h" size_type GetMutableData(char_type** aData, size_type aNewLen = size_type(-1)) { if (!EnsureMutable(aNewLen)) { AllocFailed(aNewLen == size_type(-1) ? mLength : aNewLen); } *aData = mData; return mLength; } size_type GetMutableData(char_type** aData, size_type aNewLen, const fallible_t&) { if (!EnsureMutable(aNewLen)) { *aData = nullptr; return 0; } *aData = mData; return mLength; } # 782 "../../../dist/include/nsTSubstring.h" void __attribute__ ((regparm (3), stdcall)) SetIsVoid(bool); # 792 "../../../dist/include/nsTSubstring.h" void StripChar(char_type aChar, int32_t aOffset = 0); # 802 "../../../dist/include/nsTSubstring.h" void StripChars(const char_type* aChars, uint32_t aOffset = 0); void ForgetSharedBuffer() { if (mFlags & nsSubstring::F_SHARED) { mData = char_traits::sEmptyBuffer; mLength = 0; mFlags = F_TERMINATED; } } public: nsAString_internal(const substring_tuple_type& aTuple) : mData(nullptr) , mLength(0) , mFlags(F_NONE) { Assign(aTuple); } # 843 "../../../dist/include/nsTSubstring.h" nsAString_internal(char_type* aData, size_type aLength, uint32_t aFlags) : mData(aData) , mLength(aLength) , mFlags(aFlags) { } size_t SizeOfExcludingThisMustBeUnshared(mozilla::MallocSizeOf aMallocSizeOf) const; size_t SizeOfIncludingThisMustBeUnshared(mozilla::MallocSizeOf aMallocSizeOf) const; size_t SizeOfExcludingThisIfUnshared(mozilla::MallocSizeOf aMallocSizeOf) const; size_t SizeOfIncludingThisIfUnshared(mozilla::MallocSizeOf aMallocSizeOf) const; size_t SizeOfExcludingThisEvenIfShared(mozilla::MallocSizeOf aMallocSizeOf) const; size_t SizeOfIncludingThisEvenIfShared(mozilla::MallocSizeOf aMallocSizeOf) const; template void NS_ABORT_OOM(T) { struct never {}; static_assert(mozilla::IsSame::value, "In string classes, use AllocFailed to account for sizeof(char_type). " "Use the global ::NS_ABORT_OOM if you really have a count of bytes."); } __attribute__((always_inline)) inline void AllocFailed(size_t aLength) { ::NS_ABORT_OOM(aLength * sizeof(char_type)); } protected: friend class nsTObsoleteAStringThunk_CharT; friend class nsSubstringTuple; friend class nsPromiseFlatString; char_type* mData; size_type mLength; uint32_t mFlags; nsAString_internal() : mData(char_traits::sEmptyBuffer) , mLength(0) , mFlags(F_TERMINATED) { } explicit nsAString_internal(uint32_t aFlags) : mFlags(aFlags) { } nsAString_internal(const self_type& aStr) : mData(aStr.mData) , mLength(aStr.mLength) , mFlags(aStr.mFlags & (F_TERMINATED | F_VOIDED)) { } void __attribute__ ((regparm (3), stdcall)) Finalize(); # 947 "../../../dist/include/nsTSubstring.h" bool __attribute__ ((regparm (3), stdcall)) MutatePrep(size_type aCapacity, char_type** aOldData, uint32_t* aOldFlags); # 970 "../../../dist/include/nsTSubstring.h" __attribute__((warn_unused_result)) bool ReplacePrep(index_type aCutStart, size_type aCutLength, size_type aNewLength) { aCutLength = XPCOM_MIN(aCutLength, mLength - aCutStart); uint32_t newTotalLen = mLength - aCutLength + aNewLength; if (aCutStart == mLength && Capacity() > newTotalLen) { mFlags &= ~F_VOIDED; mData[newTotalLen] = char_type(0); mLength = newTotalLen; return true; } return ReplacePrepInternal(aCutStart, aCutLength, aNewLength, newTotalLen); } __attribute__((warn_unused_result)) bool __attribute__ ((regparm (3), stdcall)) ReplacePrepInternal( index_type aCutStart, size_type aCutLength, size_type aNewFragLength, size_type aNewTotalLength); # 998 "../../../dist/include/nsTSubstring.h" size_type __attribute__ ((regparm (3), stdcall)) Capacity() const; __attribute__((warn_unused_result)) bool __attribute__ ((regparm (3), stdcall)) EnsureMutable( size_type aNewLen = size_type(-1)); bool IsDependentOn(const char_type* aStart, const char_type* aEnd) const { # 1020 "../../../dist/include/nsTSubstring.h" return (aStart < (mData + mLength) && aEnd > mData); } void SetDataFlags(uint32_t aDataFlags) { do { } while(0); mFlags = aDataFlags | (mFlags & 0xFFFF0000); } void __attribute__ ((regparm (3), stdcall)) ReplaceLiteral(index_type aCutStart, size_type aCutLength, const char_type* aData, size_type aLength); static int AppendFunc(void* aArg, const char* aStr, uint32_t aLen); public: void __attribute__ ((regparm (3), stdcall)) AssignLiteral(const char_type* aData, size_type aLength); enum { F_NONE = 0, F_TERMINATED = 1 << 0, F_VOIDED = 1 << 1, F_SHARED = 1 << 2, F_OWNED = 1 << 3, F_FIXED = 1 << 4, F_LITERAL = 1 << 5, F_CLASS_FIXED = 1 << 16 }; # 1098 "../../../dist/include/nsTSubstring.h" }; int __attribute__ ((regparm (3), stdcall)) Compare(const nsAString_internal::base_string_type& aLhs, const nsAString_internal::base_string_type& aRhs, const nsStringComparator& = nsDefaultStringComparator()); inline bool operator!=(const nsAString_internal::base_string_type& aLhs, const nsAString_internal::base_string_type& aRhs) { return !aLhs.Equals(aRhs); } inline bool operator<(const nsAString_internal::base_string_type& aLhs, const nsAString_internal::base_string_type& aRhs) { return Compare(aLhs, aRhs) < 0; } inline bool operator<=(const nsAString_internal::base_string_type& aLhs, const nsAString_internal::base_string_type& aRhs) { return Compare(aLhs, aRhs) <= 0; } inline bool operator==(const nsAString_internal::base_string_type& aLhs, const nsAString_internal::base_string_type& aRhs) { return aLhs.Equals(aRhs); } inline bool operator==(const nsAString_internal::base_string_type& aLhs, const nsAString_internal::char_type* aRhs) { return aLhs.Equals(aRhs); } inline bool operator>=(const nsAString_internal::base_string_type& aLhs, const nsAString_internal::base_string_type& aRhs) { return Compare(aLhs, aRhs) >= 0; } inline bool operator>(const nsAString_internal::base_string_type& aLhs, const nsAString_internal::base_string_type& aRhs) { return Compare(aLhs, aRhs) > 0; } # 24 "../../../dist/include/nsAString.h" 2 # 1 "../../../dist/include/string-template-undef.h" 1 # 25 "../../../dist/include/nsAString.h" 2 # 1 "../../../dist/include/string-template-def-char.h" 1 # 28 "../../../dist/include/nsAString.h" 2 # 1 "../../../dist/include/nsTSubstring.h" 1 # 18 "../../../dist/include/nsTSubstring.h" class nsCStringComparator { public: typedef char char_type; nsCStringComparator() { } virtual int operator()(const char_type*, const char_type*, uint32_t, uint32_t) const = 0; }; class nsDefaultCStringComparator : public nsCStringComparator { public: typedef char char_type; nsDefaultCStringComparator() { } virtual int operator()(const char_type*, const char_type*, uint32_t, uint32_t) const; }; # 61 "../../../dist/include/nsTSubstring.h" class nsACString_internal { public: typedef mozilla::fallible_t fallible_t; typedef char char_type; typedef nsCharTraits char_traits; typedef char_traits::incompatible_char_type incompatible_char_type; typedef nsACString_internal self_type; typedef self_type abstract_string_type; typedef self_type base_string_type; typedef self_type substring_type; typedef nsCSubstringTuple substring_tuple_type; typedef nsCString string_type; typedef nsReadingIterator const_iterator; typedef nsWritingIterator iterator; typedef nsCStringComparator comparator_type; typedef char_type* char_iterator; typedef const char_type* const_char_iterator; typedef uint32_t size_type; typedef uint32_t index_type; public: ~nsACString_internal() { Finalize(); } const_char_iterator BeginReading() const { return mData; } const_char_iterator EndReading() const { return mData + mLength; } const_iterator& BeginReading(const_iterator& aIter) const { aIter.mStart = mData; aIter.mEnd = mData + mLength; aIter.mPosition = aIter.mStart; return aIter; } const_iterator& EndReading(const_iterator& aIter) const { aIter.mStart = mData; aIter.mEnd = mData + mLength; aIter.mPosition = aIter.mEnd; return aIter; } const_char_iterator& BeginReading(const_char_iterator& aIter) const { return aIter = mData; } const_char_iterator& EndReading(const_char_iterator& aIter) const { return aIter = mData + mLength; } char_iterator BeginWriting() { if (!EnsureMutable()) { AllocFailed(mLength); } return mData; } char_iterator BeginWriting(const fallible_t&) { return EnsureMutable() ? mData : char_iterator(0); } char_iterator EndWriting() { if (!EnsureMutable()) { AllocFailed(mLength); } return mData + mLength; } char_iterator EndWriting(const fallible_t&) { return EnsureMutable() ? (mData + mLength) : char_iterator(0); } char_iterator& BeginWriting(char_iterator& aIter) { return aIter = BeginWriting(); } char_iterator& BeginWriting(char_iterator& aIter, const fallible_t&) { return aIter = BeginWriting(fallible_t()); } char_iterator& EndWriting(char_iterator& aIter) { return aIter = EndWriting(); } char_iterator& EndWriting(char_iterator& aIter, const fallible_t&) { return aIter = EndWriting(fallible_t()); } iterator& BeginWriting(iterator& aIter) { char_type* data = BeginWriting(); aIter.mStart = data; aIter.mEnd = data + mLength; aIter.mPosition = aIter.mStart; return aIter; } iterator& EndWriting(iterator& aIter) { char_type* data = BeginWriting(); aIter.mStart = data; aIter.mEnd = data + mLength; aIter.mPosition = aIter.mEnd; return aIter; } # 224 "../../../dist/include/nsTSubstring.h" const char_type* Data() const { return mData; } size_type Length() const { return mLength; } uint32_t Flags() const { return mFlags; } bool IsEmpty() const { return mLength == 0; } bool IsLiteral() const { return (mFlags & F_LITERAL) != 0; } bool IsVoid() const { return (mFlags & F_VOIDED) != 0; } bool IsTerminated() const { return (mFlags & F_TERMINATED) != 0; } char_type CharAt(index_type aIndex) const { do { } while(0); return mData[aIndex]; } char_type operator[](index_type aIndex) const { return CharAt(aIndex); } char_type First() const { do { } while(0); return mData[0]; } inline char_type Last() const { do { } while(0); return mData[mLength - 1]; } size_type __attribute__ ((regparm (3), stdcall)) CountChar(char_type) const; int32_t __attribute__ ((regparm (3), stdcall)) FindChar(char_type, index_type aOffset = 0) const; bool __attribute__ ((regparm (3), stdcall)) Equals(const self_type&) const; bool __attribute__ ((regparm (3), stdcall)) Equals(const self_type&, const comparator_type&) const; bool __attribute__ ((regparm (3), stdcall)) Equals(const char_type* aData) const; bool __attribute__ ((regparm (3), stdcall)) Equals(const char_type* aData, const comparator_type& aComp) const; # 314 "../../../dist/include/nsTSubstring.h" bool __attribute__ ((regparm (3), stdcall)) EqualsASCII(const char* aData, size_type aLen) const; bool __attribute__ ((regparm (3), stdcall)) EqualsASCII(const char* aData) const; template inline bool EqualsLiteral(const char (&aStr)[N]) const { return EqualsASCII(aStr, N - 1); } bool __attribute__ ((regparm (3), stdcall)) LowerCaseEqualsASCII(const char* aData, size_type aLen) const; bool __attribute__ ((regparm (3), stdcall)) LowerCaseEqualsASCII(const char* aData) const; template inline bool LowerCaseEqualsLiteral(const char (&aStr)[N]) const { return LowerCaseEqualsASCII(aStr, N - 1); } void __attribute__ ((regparm (3), stdcall)) Assign(char_type aChar); __attribute__((warn_unused_result)) bool __attribute__ ((regparm (3), stdcall)) Assign(char_type aChar, const fallible_t&); void __attribute__ ((regparm (3), stdcall)) Assign(const char_type* aData); void __attribute__ ((regparm (3), stdcall)) Assign(const char_type* aData, size_type aLength); __attribute__((warn_unused_result)) bool __attribute__ ((regparm (3), stdcall)) Assign(const char_type* aData, size_type aLength, const fallible_t&); void __attribute__ ((regparm (3), stdcall)) Assign(const self_type&); __attribute__((warn_unused_result)) bool __attribute__ ((regparm (3), stdcall)) Assign(const self_type&, const fallible_t&); void __attribute__ ((regparm (3), stdcall)) Assign(const substring_tuple_type&); __attribute__((warn_unused_result)) bool __attribute__ ((regparm (3), stdcall)) Assign(const substring_tuple_type&, const fallible_t&); # 400 "../../../dist/include/nsTSubstring.h" void __attribute__ ((regparm (3), stdcall)) AssignASCII(const char* aData, size_type aLength); __attribute__((warn_unused_result)) bool __attribute__ ((regparm (3), stdcall)) AssignASCII(const char* aData, size_type aLength, const fallible_t&); void __attribute__ ((regparm (3), stdcall)) AssignASCII(const char* aData) { AssignASCII(aData, mozilla::AssertedCast(strlen(aData))); } __attribute__((warn_unused_result)) bool __attribute__ ((regparm (3), stdcall)) AssignASCII(const char* aData, const fallible_t&) { return AssignASCII(aData, mozilla::AssertedCast(strlen(aData)), fallible_t()); } template void AssignLiteral(const char_type (&aStr)[N]) { AssignLiteral(aStr, N - 1); } # 436 "../../../dist/include/nsTSubstring.h" self_type& operator=(char_type aChar) { Assign(aChar); return *this; } self_type& operator=(const char_type* aData) { Assign(aData); return *this; } self_type& operator=(const self_type& aStr) { Assign(aStr); return *this; } self_type& operator=(const substring_tuple_type& aTuple) { Assign(aTuple); return *this; } void __attribute__ ((regparm (3), stdcall)) Adopt(char_type* aData, size_type aLength = size_type(-1)); void __attribute__ ((regparm (3), stdcall)) Replace(index_type aCutStart, size_type aCutLength, char_type aChar); __attribute__((warn_unused_result)) bool __attribute__ ((regparm (3), stdcall)) Replace(index_type aCutStart, size_type aCutLength, char_type aChar, const mozilla::fallible_t&); void __attribute__ ((regparm (3), stdcall)) Replace(index_type aCutStart, size_type aCutLength, const char_type* aData, size_type aLength = size_type(-1)); __attribute__((warn_unused_result)) bool __attribute__ ((regparm (3), stdcall)) Replace(index_type aCutStart, size_type aCutLength, const char_type* aData, size_type aLength, const mozilla::fallible_t&); void Replace(index_type aCutStart, size_type aCutLength, const self_type& aStr) { Replace(aCutStart, aCutLength, aStr.Data(), aStr.Length()); } __attribute__((warn_unused_result)) bool Replace(index_type aCutStart, size_type aCutLength, const self_type& aStr, const mozilla::fallible_t&) { return Replace(aCutStart, aCutLength, aStr.Data(), aStr.Length(), mozilla::fallible_t()); } void __attribute__ ((regparm (3), stdcall)) Replace(index_type aCutStart, size_type aCutLength, const substring_tuple_type& aTuple); void __attribute__ ((regparm (3), stdcall)) ReplaceASCII(index_type aCutStart, size_type aCutLength, const char* aData, size_type aLength = size_type(-1)); template void ReplaceLiteral(index_type aCutStart, size_type aCutLength, const char_type (&aStr)[N]) { ReplaceLiteral(aCutStart, aCutLength, aStr, N - 1); } void Append(char_type aChar) { Replace(mLength, 0, aChar); } __attribute__((warn_unused_result)) bool Append(char_type aChar, const mozilla::fallible_t&) { return Replace(mLength, 0, aChar, mozilla::fallible_t()); } void Append(const char_type* aData, size_type aLength = size_type(-1)) { Replace(mLength, 0, aData, aLength); } __attribute__((warn_unused_result)) bool Append(const char_type* aData, size_type aLength, const mozilla::fallible_t&) { return Replace(mLength, 0, aData, aLength, mozilla::fallible_t()); } # 541 "../../../dist/include/nsTSubstring.h" void Append(const self_type& aStr) { Replace(mLength, 0, aStr); } void Append(const substring_tuple_type& aTuple) { Replace(mLength, 0, aTuple); } void AppendASCII(const char* aData, size_type aLength = size_type(-1)) { ReplaceASCII(mLength, 0, aData, aLength); } void AppendPrintf(const char* aFormat, ...); void AppendPrintf(const char* aFormat, va_list aAp); void AppendInt(int32_t aInteger) { AppendPrintf("%d", aInteger); } void AppendInt(int32_t aInteger, int aRadix) { const char* fmt = aRadix == 10 ? "%d" : aRadix == 8 ? "%o" : "%x"; AppendPrintf(fmt, aInteger); } void AppendInt(uint32_t aInteger) { AppendPrintf("%u", aInteger); } void AppendInt(uint32_t aInteger, int aRadix) { const char* fmt = aRadix == 10 ? "%u" : aRadix == 8 ? "%o" : "%x"; AppendPrintf(fmt, aInteger); } void AppendInt(int64_t aInteger) { AppendPrintf("%lld", aInteger); } void AppendInt(int64_t aInteger, int aRadix) { const char* fmt = aRadix == 10 ? "%lld" : aRadix == 8 ? "%llo" : "%llx"; AppendPrintf(fmt, aInteger); } void AppendInt(uint64_t aInteger) { AppendPrintf("%llu", aInteger); } void AppendInt(uint64_t aInteger, int aRadix) { const char* fmt = aRadix == 10 ? "%llu" : aRadix == 8 ? "%llo" : "%llx"; AppendPrintf(fmt, aInteger); } void __attribute__ ((regparm (3), stdcall)) AppendFloat(float aFloat); void __attribute__ ((regparm (3), stdcall)) AppendFloat(double aFloat); public: template void AppendLiteral(const char_type (&aStr)[N]) { ReplaceLiteral(mLength, 0, aStr, N - 1); } # 621 "../../../dist/include/nsTSubstring.h" self_type& operator+=(char_type aChar) { Append(aChar); return *this; } self_type& operator+=(const char_type* aData) { Append(aData); return *this; } self_type& operator+=(const self_type& aStr) { Append(aStr); return *this; } self_type& operator+=(const substring_tuple_type& aTuple) { Append(aTuple); return *this; } void Insert(char_type aChar, index_type aPos) { Replace(aPos, 0, aChar); } void Insert(const char_type* aData, index_type aPos, size_type aLength = size_type(-1)) { Replace(aPos, 0, aData, aLength); } void Insert(const self_type& aStr, index_type aPos) { Replace(aPos, 0, aStr); } void Insert(const substring_tuple_type& aTuple, index_type aPos) { Replace(aPos, 0, aTuple); } template void InsertLiteral(const char_type (&aStr)[N], index_type aPos) { ReplaceLiteral(aPos, 0, aStr, N - 1); } void Cut(index_type aCutStart, size_type aCutLength) { Replace(aCutStart, aCutLength, char_traits::sEmptyBuffer, 0); } # 700 "../../../dist/include/nsTSubstring.h" void __attribute__ ((regparm (3), stdcall)) SetCapacity(size_type aNewCapacity); __attribute__((warn_unused_result)) bool __attribute__ ((regparm (3), stdcall)) SetCapacity(size_type aNewCapacity, const fallible_t&); void __attribute__ ((regparm (3), stdcall)) SetLength(size_type aNewLength); __attribute__((warn_unused_result)) bool __attribute__ ((regparm (3), stdcall)) SetLength(size_type aNewLength, const fallible_t&); void Truncate(size_type aNewLength = 0) { do { } while(0); SetLength(aNewLength); } # 726 "../../../dist/include/nsTSubstring.h" inline size_type GetData(const char_type** aData) const { *aData = mData; return mLength; } # 742 "../../../dist/include/nsTSubstring.h" size_type GetMutableData(char_type** aData, size_type aNewLen = size_type(-1)) { if (!EnsureMutable(aNewLen)) { AllocFailed(aNewLen == size_type(-1) ? mLength : aNewLen); } *aData = mData; return mLength; } size_type GetMutableData(char_type** aData, size_type aNewLen, const fallible_t&) { if (!EnsureMutable(aNewLen)) { *aData = nullptr; return 0; } *aData = mData; return mLength; } # 782 "../../../dist/include/nsTSubstring.h" void __attribute__ ((regparm (3), stdcall)) SetIsVoid(bool); # 792 "../../../dist/include/nsTSubstring.h" void StripChar(char_type aChar, int32_t aOffset = 0); # 802 "../../../dist/include/nsTSubstring.h" void StripChars(const char_type* aChars, uint32_t aOffset = 0); void ForgetSharedBuffer() { if (mFlags & nsSubstring::F_SHARED) { mData = char_traits::sEmptyBuffer; mLength = 0; mFlags = F_TERMINATED; } } public: nsACString_internal(const substring_tuple_type& aTuple) : mData(nullptr) , mLength(0) , mFlags(F_NONE) { Assign(aTuple); } # 843 "../../../dist/include/nsTSubstring.h" nsACString_internal(char_type* aData, size_type aLength, uint32_t aFlags) : mData(aData) , mLength(aLength) , mFlags(aFlags) { } size_t SizeOfExcludingThisMustBeUnshared(mozilla::MallocSizeOf aMallocSizeOf) const; size_t SizeOfIncludingThisMustBeUnshared(mozilla::MallocSizeOf aMallocSizeOf) const; size_t SizeOfExcludingThisIfUnshared(mozilla::MallocSizeOf aMallocSizeOf) const; size_t SizeOfIncludingThisIfUnshared(mozilla::MallocSizeOf aMallocSizeOf) const; size_t SizeOfExcludingThisEvenIfShared(mozilla::MallocSizeOf aMallocSizeOf) const; size_t SizeOfIncludingThisEvenIfShared(mozilla::MallocSizeOf aMallocSizeOf) const; template void NS_ABORT_OOM(T) { struct never {}; static_assert(mozilla::IsSame::value, "In string classes, use AllocFailed to account for sizeof(char_type). " "Use the global ::NS_ABORT_OOM if you really have a count of bytes."); } __attribute__((always_inline)) inline void AllocFailed(size_t aLength) { ::NS_ABORT_OOM(aLength * sizeof(char_type)); } protected: friend class nsTObsoleteAStringThunk_CharT; friend class nsCSubstringTuple; friend class nsPromiseFlatCString; char_type* mData; size_type mLength; uint32_t mFlags; nsACString_internal() : mData(char_traits::sEmptyBuffer) , mLength(0) , mFlags(F_TERMINATED) { } explicit nsACString_internal(uint32_t aFlags) : mFlags(aFlags) { } nsACString_internal(const self_type& aStr) : mData(aStr.mData) , mLength(aStr.mLength) , mFlags(aStr.mFlags & (F_TERMINATED | F_VOIDED)) { } void __attribute__ ((regparm (3), stdcall)) Finalize(); # 947 "../../../dist/include/nsTSubstring.h" bool __attribute__ ((regparm (3), stdcall)) MutatePrep(size_type aCapacity, char_type** aOldData, uint32_t* aOldFlags); # 970 "../../../dist/include/nsTSubstring.h" __attribute__((warn_unused_result)) bool ReplacePrep(index_type aCutStart, size_type aCutLength, size_type aNewLength) { aCutLength = XPCOM_MIN(aCutLength, mLength - aCutStart); uint32_t newTotalLen = mLength - aCutLength + aNewLength; if (aCutStart == mLength && Capacity() > newTotalLen) { mFlags &= ~F_VOIDED; mData[newTotalLen] = char_type(0); mLength = newTotalLen; return true; } return ReplacePrepInternal(aCutStart, aCutLength, aNewLength, newTotalLen); } __attribute__((warn_unused_result)) bool __attribute__ ((regparm (3), stdcall)) ReplacePrepInternal( index_type aCutStart, size_type aCutLength, size_type aNewFragLength, size_type aNewTotalLength); # 998 "../../../dist/include/nsTSubstring.h" size_type __attribute__ ((regparm (3), stdcall)) Capacity() const; __attribute__((warn_unused_result)) bool __attribute__ ((regparm (3), stdcall)) EnsureMutable( size_type aNewLen = size_type(-1)); bool IsDependentOn(const char_type* aStart, const char_type* aEnd) const { # 1020 "../../../dist/include/nsTSubstring.h" return (aStart < (mData + mLength) && aEnd > mData); } void SetDataFlags(uint32_t aDataFlags) { do { } while(0); mFlags = aDataFlags | (mFlags & 0xFFFF0000); } void __attribute__ ((regparm (3), stdcall)) ReplaceLiteral(index_type aCutStart, size_type aCutLength, const char_type* aData, size_type aLength); static int AppendFunc(void* aArg, const char* aStr, uint32_t aLen); public: void __attribute__ ((regparm (3), stdcall)) AssignLiteral(const char_type* aData, size_type aLength); enum { F_NONE = 0, F_TERMINATED = 1 << 0, F_VOIDED = 1 << 1, F_SHARED = 1 << 2, F_OWNED = 1 << 3, F_FIXED = 1 << 4, F_LITERAL = 1 << 5, F_CLASS_FIXED = 1 << 16 }; # 1098 "../../../dist/include/nsTSubstring.h" }; int __attribute__ ((regparm (3), stdcall)) Compare(const nsACString_internal::base_string_type& aLhs, const nsACString_internal::base_string_type& aRhs, const nsCStringComparator& = nsDefaultCStringComparator()); inline bool operator!=(const nsACString_internal::base_string_type& aLhs, const nsACString_internal::base_string_type& aRhs) { return !aLhs.Equals(aRhs); } inline bool operator<(const nsACString_internal::base_string_type& aLhs, const nsACString_internal::base_string_type& aRhs) { return Compare(aLhs, aRhs) < 0; } inline bool operator<=(const nsACString_internal::base_string_type& aLhs, const nsACString_internal::base_string_type& aRhs) { return Compare(aLhs, aRhs) <= 0; } inline bool operator==(const nsACString_internal::base_string_type& aLhs, const nsACString_internal::base_string_type& aRhs) { return aLhs.Equals(aRhs); } inline bool operator==(const nsACString_internal::base_string_type& aLhs, const nsACString_internal::char_type* aRhs) { return aLhs.Equals(aRhs); } inline bool operator>=(const nsACString_internal::base_string_type& aLhs, const nsACString_internal::base_string_type& aRhs) { return Compare(aLhs, aRhs) >= 0; } inline bool operator>(const nsACString_internal::base_string_type& aLhs, const nsACString_internal::base_string_type& aRhs) { return Compare(aLhs, aRhs) > 0; } # 29 "../../../dist/include/nsAString.h" 2 # 1 "../../../dist/include/string-template-undef.h" 1 # 30 "../../../dist/include/nsAString.h" 2 class nsCaseInsensitiveCStringComparator : public nsCStringComparator { public: nsCaseInsensitiveCStringComparator() { } typedef char char_type; virtual int operator()(const char_type*, const char_type*, uint32_t, uint32_t) const; }; class nsCaseInsensitiveCStringArrayComparator { public: template bool Equals(const A& aStrA, const B& aStrB) const { return aStrA.Equals(aStrB, nsCaseInsensitiveCStringComparator()); } }; # 1 "../../../dist/include/nsSubstringTuple.h" 1 # 10 "../../../dist/include/nsSubstringTuple.h" # 1 "../../../dist/include/nsSubstring.h" 1 # 11 "../../../dist/include/nsSubstringTuple.h" 2 # 1 "../../../dist/include/string-template-def-unichar.h" 1 # 14 "../../../dist/include/nsSubstringTuple.h" 2 # 1 "../../../dist/include/nsTSubstringTuple.h" 1 # 17 "../../../dist/include/nsTSubstringTuple.h" class nsSubstringTuple { public: typedef char16_t char_type; typedef nsCharTraits char_traits; typedef nsSubstringTuple self_type; typedef nsAString_internal substring_type; typedef nsAString_internal base_string_type; typedef uint32_t size_type; public: nsSubstringTuple(const base_string_type* aStrA, const base_string_type* aStrB) : mHead(nullptr) , mFragA(aStrA) , mFragB(aStrB) { } nsSubstringTuple(const self_type& aHead, const base_string_type* aStrB) : mHead(&aHead) , mFragA(nullptr) , mFragB(aStrB) { } size_type Length() const; void WriteTo(char_type* aBuf, uint32_t aBufLen) const; bool IsDependentOn(const char_type* aStart, const char_type* aEnd) const; private: const self_type* mHead; const base_string_type* mFragA; const base_string_type* mFragB; }; inline const nsSubstringTuple operator+(const nsSubstringTuple::base_string_type& aStrA, const nsSubstringTuple::base_string_type& aStrB) { return nsSubstringTuple(&aStrA, &aStrB); } inline const nsSubstringTuple operator+(const nsSubstringTuple& aHead, const nsSubstringTuple::base_string_type& aStrB) { return nsSubstringTuple(aHead, &aStrB); } # 15 "../../../dist/include/nsSubstringTuple.h" 2 # 1 "../../../dist/include/string-template-undef.h" 1 # 16 "../../../dist/include/nsSubstringTuple.h" 2 # 1 "../../../dist/include/string-template-def-char.h" 1 # 19 "../../../dist/include/nsSubstringTuple.h" 2 # 1 "../../../dist/include/nsTSubstringTuple.h" 1 # 17 "../../../dist/include/nsTSubstringTuple.h" class nsCSubstringTuple { public: typedef char char_type; typedef nsCharTraits char_traits; typedef nsCSubstringTuple self_type; typedef nsACString_internal substring_type; typedef nsACString_internal base_string_type; typedef uint32_t size_type; public: nsCSubstringTuple(const base_string_type* aStrA, const base_string_type* aStrB) : mHead(nullptr) , mFragA(aStrA) , mFragB(aStrB) { } nsCSubstringTuple(const self_type& aHead, const base_string_type* aStrB) : mHead(&aHead) , mFragA(nullptr) , mFragB(aStrB) { } size_type Length() const; void WriteTo(char_type* aBuf, uint32_t aBufLen) const; bool IsDependentOn(const char_type* aStart, const char_type* aEnd) const; private: const self_type* mHead; const base_string_type* mFragA; const base_string_type* mFragB; }; inline const nsCSubstringTuple operator+(const nsCSubstringTuple::base_string_type& aStrA, const nsCSubstringTuple::base_string_type& aStrB) { return nsCSubstringTuple(&aStrA, &aStrB); } inline const nsCSubstringTuple operator+(const nsCSubstringTuple& aHead, const nsCSubstringTuple::base_string_type& aStrB) { return nsCSubstringTuple(aHead, &aStrB); } # 20 "../../../dist/include/nsSubstringTuple.h" 2 # 1 "../../../dist/include/string-template-undef.h" 1 # 21 "../../../dist/include/nsSubstringTuple.h" 2 # 62 "../../../dist/include/nsAString.h" 2 # 11 "../../../dist/include/nsSubstring.h" 2 # 13 "../../../dist/include/nsString.h" 2 # 1 "../../../dist/include/nsDependentSubstring.h" 1 # 13 "../../../dist/include/nsDependentSubstring.h" # 1 "../../../dist/include/string-template-def-unichar.h" 1 # 14 "../../../dist/include/nsDependentSubstring.h" 2 # 1 "../../../dist/include/nsTDependentSubstring.h" 1 # 19 "../../../dist/include/nsTDependentSubstring.h" class nsDependentSubstring : public nsAString_internal { public: typedef nsDependentSubstring self_type; public: void Rebind(const substring_type&, uint32_t aStartPos, uint32_t aLength = size_type(-1)); void Rebind(const char_type* aData, size_type aLength); void Rebind(const char_type* aStart, const char_type* aEnd) { Rebind(aStart, size_type(aEnd - aStart)); } nsDependentSubstring(const substring_type& aStr, uint32_t aStartPos, uint32_t aLength = size_type(-1)) : substring_type() { Rebind(aStr, aStartPos, aLength); } nsDependentSubstring(const char_type* aData, size_type aLength) : substring_type(const_cast(aData), aLength, F_NONE) { } nsDependentSubstring(const char_type* aStart, const char_type* aEnd) : substring_type(const_cast(aStart), uint32_t(aEnd - aStart), F_NONE) { } # 68 "../../../dist/include/nsTDependentSubstring.h" nsDependentSubstring(const const_iterator& aStart, const const_iterator& aEnd) : substring_type(const_cast(aStart.get()), uint32_t(aEnd.get() - aStart.get()), F_NONE) { } nsDependentSubstring() : substring_type() { } private: void operator=(const self_type&); }; inline const nsDependentSubstring Substring(const nsAString_internal& aStr, uint32_t aStartPos, uint32_t aLength = uint32_t(-1)) { return nsDependentSubstring(aStr, aStartPos, aLength); } inline const nsDependentSubstring Substring(const nsReadingIterator& aStart, const nsReadingIterator& aEnd) { return nsDependentSubstring(aStart.get(), aEnd.get()); } inline const nsDependentSubstring Substring(const char16_t* aData, uint32_t aLength) { return nsDependentSubstring(aData, aLength); } inline const nsDependentSubstring Substring(const char16_t* aStart, const char16_t* aEnd) { return nsDependentSubstring(aStart, aEnd); } inline const nsDependentSubstring StringHead(const nsAString_internal& aStr, uint32_t aCount) { return nsDependentSubstring(aStr, 0, aCount); } inline const nsDependentSubstring StringTail(const nsAString_internal& aStr, uint32_t aCount) { return nsDependentSubstring(aStr, aStr.Length() - aCount, aCount); } # 15 "../../../dist/include/nsDependentSubstring.h" 2 # 1 "../../../dist/include/string-template-undef.h" 1 # 16 "../../../dist/include/nsDependentSubstring.h" 2 # 1 "../../../dist/include/string-template-def-char.h" 1 # 19 "../../../dist/include/nsDependentSubstring.h" 2 # 1 "../../../dist/include/nsTDependentSubstring.h" 1 # 19 "../../../dist/include/nsTDependentSubstring.h" class nsDependentCSubstring : public nsACString_internal { public: typedef nsDependentCSubstring self_type; public: void Rebind(const substring_type&, uint32_t aStartPos, uint32_t aLength = size_type(-1)); void Rebind(const char_type* aData, size_type aLength); void Rebind(const char_type* aStart, const char_type* aEnd) { Rebind(aStart, size_type(aEnd - aStart)); } nsDependentCSubstring(const substring_type& aStr, uint32_t aStartPos, uint32_t aLength = size_type(-1)) : substring_type() { Rebind(aStr, aStartPos, aLength); } nsDependentCSubstring(const char_type* aData, size_type aLength) : substring_type(const_cast(aData), aLength, F_NONE) { } nsDependentCSubstring(const char_type* aStart, const char_type* aEnd) : substring_type(const_cast(aStart), uint32_t(aEnd - aStart), F_NONE) { } # 68 "../../../dist/include/nsTDependentSubstring.h" nsDependentCSubstring(const const_iterator& aStart, const const_iterator& aEnd) : substring_type(const_cast(aStart.get()), uint32_t(aEnd.get() - aStart.get()), F_NONE) { } nsDependentCSubstring() : substring_type() { } private: void operator=(const self_type&); }; inline const nsDependentCSubstring Substring(const nsACString_internal& aStr, uint32_t aStartPos, uint32_t aLength = uint32_t(-1)) { return nsDependentCSubstring(aStr, aStartPos, aLength); } inline const nsDependentCSubstring Substring(const nsReadingIterator& aStart, const nsReadingIterator& aEnd) { return nsDependentCSubstring(aStart.get(), aEnd.get()); } inline const nsDependentCSubstring Substring(const char* aData, uint32_t aLength) { return nsDependentCSubstring(aData, aLength); } inline const nsDependentCSubstring Substring(const char* aStart, const char* aEnd) { return nsDependentCSubstring(aStart, aEnd); } inline const nsDependentCSubstring StringHead(const nsACString_internal& aStr, uint32_t aCount) { return nsDependentCSubstring(aStr, 0, aCount); } inline const nsDependentCSubstring StringTail(const nsACString_internal& aStr, uint32_t aCount) { return nsDependentCSubstring(aStr, aStr.Length() - aCount, aCount); } # 20 "../../../dist/include/nsDependentSubstring.h" 2 # 1 "../../../dist/include/string-template-undef.h" 1 # 21 "../../../dist/include/nsDependentSubstring.h" 2 # 14 "../../../dist/include/nsString.h" 2 # 1 "../../../dist/include/nsReadableUtils.h" 1 # 19 "../../../dist/include/nsReadableUtils.h" # 1 "../../../dist/include/nsTArrayForwardDeclare.h" 1 # 22 "../../../dist/include/nsTArrayForwardDeclare.h" # 1 "../../../dist/system_wrappers/stddef.h" 1 # 2 "../../../dist/system_wrappers/stddef.h" 3 #pragma GCC visibility push(default) # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/stddef.h" 1 3 4 # 4 "../../../dist/system_wrappers/stddef.h" 2 3 #pragma GCC visibility pop # 23 "../../../dist/include/nsTArrayForwardDeclare.h" 2 template class nsTArray; template class FallibleTArray; template class nsAutoTArray; template class AutoFallibleTArray; # 20 "../../../dist/include/nsReadableUtils.h" 2 inline size_t Distance(const nsReadingIterator& aStart, const nsReadingIterator& aEnd) { do { } while (0); return static_cast(aEnd.get() - aStart.get()); } inline size_t Distance(const nsReadingIterator& aStart, const nsReadingIterator& aEnd) { do { } while (0); return static_cast(aEnd.get() - aStart.get()); } void LossyCopyUTF16toASCII(const nsAString_internal& aSource, nsACString_internal& aDest); void CopyASCIItoUTF16(const nsACString_internal& aSource, nsAString_internal& aDest); void LossyCopyUTF16toASCII(const char16_t* aSource, nsACString_internal& aDest); void CopyASCIItoUTF16(const char* aSource, nsAString_internal& aDest); void CopyUTF16toUTF8(const nsAString_internal& aSource, nsACString_internal& aDest); void CopyUTF8toUTF16(const nsACString_internal& aSource, nsAString_internal& aDest); void CopyUTF16toUTF8(const char16_t* aSource, nsACString_internal& aDest); void CopyUTF8toUTF16(const char* aSource, nsAString_internal& aDest); void LossyAppendUTF16toASCII(const nsAString_internal& aSource, nsACString_internal& aDest); void AppendASCIItoUTF16(const nsACString_internal& aSource, nsAString_internal& aDest); __attribute__((warn_unused_result)) bool AppendASCIItoUTF16(const nsACString_internal& aSource, nsAString_internal& aDest, const mozilla::fallible_t&); void LossyAppendUTF16toASCII(const char16_t* aSource, nsACString_internal& aDest); void AppendASCIItoUTF16(const char* aSource, nsAString_internal& aDest); void AppendUTF16toUTF8(const nsAString_internal& aSource, nsACString_internal& aDest); __attribute__((warn_unused_result)) bool AppendUTF16toUTF8(const nsAString_internal& aSource, nsACString_internal& aDest, const mozilla::fallible_t&); void AppendUTF8toUTF16(const nsACString_internal& aSource, nsAString_internal& aDest); __attribute__((warn_unused_result)) bool AppendUTF8toUTF16(const nsACString_internal& aSource, nsAString_internal& aDest, const mozilla::fallible_t&); void AppendUTF16toUTF8(const char16_t* aSource, nsACString_internal& aDest); void AppendUTF8toUTF16(const char* aSource, nsAString_internal& aDest); # 87 "../../../dist/include/nsReadableUtils.h" char* ToNewCString(const nsAString_internal& aSource); # 99 "../../../dist/include/nsReadableUtils.h" char* ToNewCString(const nsACString_internal& aSource); # 116 "../../../dist/include/nsReadableUtils.h" char* ToNewUTF8String(const nsAString_internal& aSource, uint32_t* aUTF8Count = nullptr); # 131 "../../../dist/include/nsReadableUtils.h" char16_t* ToNewUnicode(const nsAString_internal& aSource); # 145 "../../../dist/include/nsReadableUtils.h" char16_t* ToNewUnicode(const nsACString_internal& aSource); # 155 "../../../dist/include/nsReadableUtils.h" uint32_t CalcUTF8ToUnicodeLength(const nsACString_internal& aSource); # 175 "../../../dist/include/nsReadableUtils.h" char16_t* UTF8ToUnicodeBuffer(const nsACString_internal& aSource, char16_t* aBuffer, uint32_t* aUTF16Count = nullptr); # 194 "../../../dist/include/nsReadableUtils.h" char16_t* UTF8ToNewUnicode(const nsACString_internal& aSource, uint32_t* aUTF16Count = nullptr); # 209 "../../../dist/include/nsReadableUtils.h" char16_t* CopyUnicodeTo(const nsAString_internal& aSource, uint32_t aSrcOffset, char16_t* aDest, uint32_t aLength); # 226 "../../../dist/include/nsReadableUtils.h" void CopyUnicodeTo(const nsAString_internal::const_iterator& aSrcStart, const nsAString_internal::const_iterator& aSrcEnd, nsAString_internal& aDest); # 240 "../../../dist/include/nsReadableUtils.h" void AppendUnicodeTo(const nsAString_internal::const_iterator& aSrcStart, const nsAString_internal::const_iterator& aSrcEnd, nsAString_internal& aDest); bool IsASCII(const nsAString_internal& aString); bool IsASCII(const nsACString_internal& aString); # 289 "../../../dist/include/nsReadableUtils.h" bool IsUTF8(const nsACString_internal& aString, bool aRejectNonChar = true); bool ParseString(const nsACString_internal& aAstring, char aDelimiter, nsTArray& aArray); void ToUpperCase(nsACString_internal&); void ToLowerCase(nsACString_internal&); void ToUpperCase(nsCSubstring&); void ToLowerCase(nsCSubstring&); void ToUpperCase(const nsACString_internal& aSource, nsACString_internal& aDest); void ToLowerCase(const nsACString_internal& aSource, nsACString_internal& aDest); # 322 "../../../dist/include/nsReadableUtils.h" bool FindInReadable(const nsAString_internal& aPattern, nsAString_internal::const_iterator&, nsAString_internal::const_iterator&, const nsStringComparator& = nsDefaultStringComparator()); bool FindInReadable(const nsACString_internal& aPattern, nsACString_internal::const_iterator&, nsACString_internal::const_iterator&, const nsCStringComparator& = nsDefaultCStringComparator()); inline bool FindInReadable(const nsAString_internal& aPattern, const nsAString_internal& aSource, const nsStringComparator& aCompare = nsDefaultStringComparator()) { nsAString_internal::const_iterator start, end; aSource.BeginReading(start); aSource.EndReading(end); return FindInReadable(aPattern, start, end, aCompare); } inline bool FindInReadable(const nsACString_internal& aPattern, const nsACString_internal& aSource, const nsCStringComparator& aCompare = nsDefaultCStringComparator()) { nsACString_internal::const_iterator start, end; aSource.BeginReading(start); aSource.EndReading(end); return FindInReadable(aPattern, start, end, aCompare); } bool CaseInsensitiveFindInReadable(const nsACString_internal& aPattern, nsACString_internal::const_iterator&, nsACString_internal::const_iterator&); bool RFindInReadable(const nsAString_internal& aPattern, nsAString_internal::const_iterator&, nsAString_internal::const_iterator&, const nsStringComparator& = nsDefaultStringComparator()); bool RFindInReadable(const nsACString_internal& aPattern, nsACString_internal::const_iterator&, nsACString_internal::const_iterator&, const nsCStringComparator& = nsDefaultCStringComparator()); # 377 "../../../dist/include/nsReadableUtils.h" bool FindCharInReadable(char16_t aChar, nsAString_internal::const_iterator& aSearchStart, const nsAString_internal::const_iterator& aSearchEnd); bool FindCharInReadable(char aChar, nsACString_internal::const_iterator& aSearchStart, const nsACString_internal::const_iterator& aSearchEnd); uint32_t CountCharInReadable(const nsAString_internal& aStr, char16_t aChar); uint32_t CountCharInReadable(const nsACString_internal& aStr, char aChar); bool StringBeginsWith(const nsAString_internal& aSource, const nsAString_internal& aSubstring, const nsStringComparator& aComparator = nsDefaultStringComparator()); bool StringBeginsWith(const nsACString_internal& aSource, const nsACString_internal& aSubstring, const nsCStringComparator& aComparator = nsDefaultCStringComparator()); bool StringEndsWith(const nsAString_internal& aSource, const nsAString_internal& aSubstring, const nsStringComparator& aComparator = nsDefaultStringComparator()); bool StringEndsWith(const nsACString_internal& aSource, const nsACString_internal& aSubstring, const nsCStringComparator& aComparator = nsDefaultCStringComparator()); const nsAFlatString& EmptyString(); const nsAFlatCString& EmptyCString(); const nsAFlatString& NullString(); const nsAFlatCString& NullCString(); # 417 "../../../dist/include/nsReadableUtils.h" int32_t CompareUTF8toUTF16(const nsASingleFragmentCString& aUTF8String, const nsASingleFragmentString& aUTF16String); void AppendUCS4ToUTF16(const uint32_t aSource, nsAString_internal& aDest); template inline bool EnsureStringLength(T& aStr, uint32_t aLen) { aStr.SetLength(aLen); return (aStr.Length() == aLen); } # 15 "../../../dist/include/nsString.h" 2 # 34 "../../../dist/include/nsString.h" # 1 "../../../dist/include/string-template-def-unichar.h" 1 # 35 "../../../dist/include/nsString.h" 2 # 1 "../../../dist/include/nsTString.h" 1 # 20 "../../../dist/include/nsTString.h" class nsString : public nsAString_internal { public: typedef nsString self_type; public: nsString() : substring_type() { } explicit nsString(const char_type* aData, size_type aLength = size_type(-1)) : substring_type() { Assign(aData, aLength); } # 53 "../../../dist/include/nsTString.h" nsString(const self_type& aStr) : substring_type() { Assign(aStr); } nsString(const substring_tuple_type& aTuple) : substring_type() { Assign(aTuple); } explicit nsString(const substring_type& aReadable) : substring_type() { Assign(aReadable); } self_type& operator=(char_type aChar) { Assign(aChar); return *this; } self_type& operator=(const char_type* aData) { Assign(aData); return *this; } self_type& operator=(const self_type& aStr) { Assign(aStr); return *this; } self_type& operator=(const substring_type& aStr) { Assign(aStr); return *this; } self_type& operator=(const substring_tuple_type& aTuple) { Assign(aTuple); return *this; } # 114 "../../../dist/include/nsTString.h" const char_type* get() const { return mData; } # 128 "../../../dist/include/nsTString.h" char_type CharAt(index_type aIndex) const { do { } while(0); return mData[aIndex]; } char_type operator[](index_type aIndex) const { return CharAt(aIndex); } # 154 "../../../dist/include/nsTString.h" int32_t Find(const nsCString& aString, bool aIgnoreCase = false, int32_t aOffset = 0, int32_t aCount = -1) const; int32_t Find(const char* aString, bool aIgnoreCase = false, int32_t aOffset = 0, int32_t aCount = -1) const; int32_t Find(const nsAFlatString& aString, int32_t aOffset = 0, int32_t aCount = -1) const; int32_t Find(const char16_t* aString, int32_t aOffset = 0, int32_t aCount = -1) const; # 186 "../../../dist/include/nsTString.h" int32_t RFind(const nsCString& aString, bool aIgnoreCase = false, int32_t aOffset = -1, int32_t aCount = -1) const; int32_t RFind(const char* aCString, bool aIgnoreCase = false, int32_t aOffset = -1, int32_t aCount = -1) const; int32_t RFind(const nsAFlatString& aString, int32_t aOffset = -1, int32_t aCount = -1) const; int32_t RFind(const char16_t* aString, int32_t aOffset = -1, int32_t aCount = -1) const; # 210 "../../../dist/include/nsTString.h" int32_t RFindChar(char16_t aChar, int32_t aOffset = -1, int32_t aCount = -1) const; # 224 "../../../dist/include/nsTString.h" int32_t FindCharInSet(const char* aString, int32_t aOffset = 0) const; int32_t FindCharInSet(const self_type& aString, int32_t aOffset = 0) const { return FindCharInSet(aString.get(), aOffset); } int32_t FindCharInSet(const char16_t* aString, int32_t aOffset = 0) const; # 245 "../../../dist/include/nsTString.h" int32_t RFindCharInSet(const char_type* aString, int32_t aOffset = -1) const; int32_t RFindCharInSet(const self_type& aString, int32_t aOffset = -1) const { return RFindCharInSet(aString.get(), aOffset); } # 281 "../../../dist/include/nsTString.h" bool EqualsIgnoreCase(const char* aString, int32_t aCount = -1) const; # 292 "../../../dist/include/nsTString.h" double ToDouble(nsresult* aErrorCode) const; float ToFloat(nsresult* aErrorCode) const { return (float)ToDouble(aErrorCode); } # 312 "../../../dist/include/nsTString.h" int32_t ToInteger(nsresult* aErrorCode, uint32_t aRadix = (10)) const; int64_t ToInteger64(nsresult* aErrorCode, uint32_t aRadix = (10)) const; # 340 "../../../dist/include/nsTString.h" size_type Mid(self_type& aResult, uint32_t aStartPos, uint32_t aCount) const; size_type Left(self_type& aResult, size_type aCount) const { return Mid(aResult, 0, aCount); } size_type Right(self_type& aResult, size_type aCount) const { aCount = XPCOM_MIN(mLength, aCount); return Mid(aResult, mLength - aCount, aCount); } # 362 "../../../dist/include/nsTString.h" bool SetCharAt(char16_t aChar, uint32_t aIndex); # 371 "../../../dist/include/nsTString.h" void StripChars(const char* aSet); void StripWhitespace(); void ReplaceChar(char_type aOldChar, char_type aNewChar); void ReplaceChar(const char* aSet, char_type aNewChar); void ReplaceChar(const char16_t* aSet, char16_t aNewChar); void ReplaceSubstring(const self_type& aTarget, const self_type& aNewValue); void ReplaceSubstring(const char_type* aTarget, const char_type* aNewValue); # 403 "../../../dist/include/nsTString.h" void Trim(const char* aSet, bool aEliminateLeading = true, bool aEliminateTrailing = true, bool aIgnoreQuotes = false); # 414 "../../../dist/include/nsTString.h" void CompressWhitespace(bool aEliminateLeading = true, bool aEliminateTrailing = true); void AssignWithConversion(const nsACString_internal& aString); void AssignWithConversion(const incompatible_char_type* aData, int32_t aLength = -1); # 433 "../../../dist/include/nsTString.h" void Rebind(const char_type* aData, size_type aLength); void AssertValidDepedentString() { do { } while(0); do { } while(0); do { } while(0) ; } protected: explicit nsString(uint32_t aFlags) : substring_type(aFlags) { } nsString(char_type* aData, size_type aLength, uint32_t aFlags) : substring_type(aData, aLength, aFlags) { } }; class nsFixedString : public nsString { public: typedef nsFixedString self_type; typedef nsFixedString fixed_string_type; public: # 483 "../../../dist/include/nsTString.h" nsFixedString(char_type* aData, size_type aStorageSize) : string_type(aData, uint32_t(char_traits::length(aData)), F_TERMINATED | F_FIXED | F_CLASS_FIXED) , mFixedCapacity(aStorageSize - 1) , mFixedBuf(aData) { } nsFixedString(char_type* aData, size_type aStorageSize, size_type aLength) : string_type(aData, aLength, F_TERMINATED | F_FIXED | F_CLASS_FIXED) , mFixedCapacity(aStorageSize - 1) , mFixedBuf(aData) { mFixedBuf[aLength] = char_type(0); } self_type& operator=(char_type aChar) { Assign(aChar); return *this; } self_type& operator=(const char_type* aData) { Assign(aData); return *this; } self_type& operator=(const substring_type& aStr) { Assign(aStr); return *this; } self_type& operator=(const substring_tuple_type& aTuple) { Assign(aTuple); return *this; } protected: friend class nsAString_internal; size_type mFixedCapacity; char_type* mFixedBuf; }; # 544 "../../../dist/include/nsTString.h" class nsAutoString : public nsFixedString { public: typedef nsAutoString self_type; public: nsAutoString() : fixed_string_type(mStorage, kDefaultStorageSize, 0) { } explicit nsAutoString(char_type aChar) : fixed_string_type(mStorage, kDefaultStorageSize, 0) { Assign(aChar); } explicit nsAutoString(const char_type* aData, size_type aLength = size_type(-1)) : fixed_string_type(mStorage, kDefaultStorageSize, 0) { Assign(aData, aLength); } # 583 "../../../dist/include/nsTString.h" nsAutoString(const self_type& aStr) : fixed_string_type(mStorage, kDefaultStorageSize, 0) { Assign(aStr); } explicit nsAutoString(const substring_type& aStr) : fixed_string_type(mStorage, kDefaultStorageSize, 0) { Assign(aStr); } nsAutoString(const substring_tuple_type& aTuple) : fixed_string_type(mStorage, kDefaultStorageSize, 0) { Assign(aTuple); } self_type& operator=(char_type aChar) { Assign(aChar); return *this; } self_type& operator=(const char_type* aData) { Assign(aData); return *this; } self_type& operator=(const self_type& aStr) { Assign(aStr); return *this; } self_type& operator=(const substring_type& aStr) { Assign(aStr); return *this; } self_type& operator=(const substring_tuple_type& aTuple) { Assign(aTuple); return *this; } enum { kDefaultStorageSize = 64 }; private: char_type mStorage[kDefaultStorageSize]; }; template class nsTArrayElementTraits; template<> class nsTArrayElementTraits { public: template struct Dont_Instantiate_nsTArray_of; template struct Instead_Use_nsTArray_of; static Dont_Instantiate_nsTArray_of* Construct(Instead_Use_nsTArray_of* aE) { return 0; } template static Dont_Instantiate_nsTArray_of* Construct(Instead_Use_nsTArray_of* aE, const A& aArg) { return 0; } static Dont_Instantiate_nsTArray_of* Destruct(Instead_Use_nsTArray_of* aE) { return 0; } }; # 690 "../../../dist/include/nsTString.h" class nsXPIDLString : public nsString { public: typedef nsXPIDLString self_type; public: nsXPIDLString() : string_type(char_traits::sEmptyBuffer, 0, F_TERMINATED | F_VOIDED) { } nsXPIDLString(const self_type& aStr) : string_type(char_traits::sEmptyBuffer, 0, F_TERMINATED | F_VOIDED) { Assign(aStr); } const char_type* get() const { return (mFlags & F_VOIDED) ? nullptr : mData; } operator const char_type*() const { return get(); } char_type operator[](int32_t aIndex) const { return CharAt(index_type(aIndex)); } self_type& operator=(char_type aChar) { Assign(aChar); return *this; } self_type& operator=(const char_type* aStr) { Assign(aStr); return *this; } self_type& operator=(const self_type& aStr) { Assign(aStr); return *this; } self_type& operator=(const substring_type& aStr) { Assign(aStr); return *this; } self_type& operator=(const substring_tuple_type& aTuple) { Assign(aTuple); return *this; } }; # 774 "../../../dist/include/nsTString.h" class nsGetterCopies { public: typedef char16_t char_type; explicit nsGetterCopies(nsAString_internal& aStr) : mString(aStr) , mData(nullptr) { } ~nsGetterCopies() { mString.Adopt(mData); } operator char_type**() { return &mData; } private: nsAString_internal& mString; char_type* mData; }; inline nsGetterCopies getter_Copies(nsAString_internal& aString) { return nsGetterCopies(aString); } # 815 "../../../dist/include/nsTString.h" class nsAdoptingString : public nsXPIDLString { public: typedef nsAdoptingString self_type; public: explicit nsAdoptingString() { } explicit nsAdoptingString(char_type* aStr, size_type aLength = size_type(-1)) { Adopt(aStr, aLength); } nsAdoptingString(const self_type& aStr) { *this = aStr; } self_type& operator=(const substring_type& aStr) { Assign(aStr); return *this; } self_type& operator=(const substring_tuple_type& aTuple) { Assign(aTuple); return *this; } self_type& operator=(const self_type& aStr); private: self_type& operator=(const char_type* aData) = delete; self_type& operator=(char_type* aData) = delete; }; # 36 "../../../dist/include/nsString.h" 2 # 1 "../../../dist/include/string-template-undef.h" 1 # 37 "../../../dist/include/nsString.h" 2 # 1 "../../../dist/include/string-template-def-char.h" 1 # 40 "../../../dist/include/nsString.h" 2 # 1 "../../../dist/include/nsTString.h" 1 # 20 "../../../dist/include/nsTString.h" class nsCString : public nsACString_internal { public: typedef nsCString self_type; public: nsCString() : substring_type() { } explicit nsCString(const char_type* aData, size_type aLength = size_type(-1)) : substring_type() { Assign(aData, aLength); } # 53 "../../../dist/include/nsTString.h" nsCString(const self_type& aStr) : substring_type() { Assign(aStr); } nsCString(const substring_tuple_type& aTuple) : substring_type() { Assign(aTuple); } explicit nsCString(const substring_type& aReadable) : substring_type() { Assign(aReadable); } self_type& operator=(char_type aChar) { Assign(aChar); return *this; } self_type& operator=(const char_type* aData) { Assign(aData); return *this; } self_type& operator=(const self_type& aStr) { Assign(aStr); return *this; } self_type& operator=(const substring_type& aStr) { Assign(aStr); return *this; } self_type& operator=(const substring_tuple_type& aTuple) { Assign(aTuple); return *this; } # 114 "../../../dist/include/nsTString.h" const char_type* get() const { return mData; } # 128 "../../../dist/include/nsTString.h" char_type CharAt(index_type aIndex) const { do { } while(0); return mData[aIndex]; } char_type operator[](index_type aIndex) const { return CharAt(aIndex); } # 154 "../../../dist/include/nsTString.h" int32_t Find(const nsCString& aString, bool aIgnoreCase = false, int32_t aOffset = 0, int32_t aCount = -1) const; int32_t Find(const char* aString, bool aIgnoreCase = false, int32_t aOffset = 0, int32_t aCount = -1) const; # 186 "../../../dist/include/nsTString.h" int32_t RFind(const nsCString& aString, bool aIgnoreCase = false, int32_t aOffset = -1, int32_t aCount = -1) const; int32_t RFind(const char* aCString, bool aIgnoreCase = false, int32_t aOffset = -1, int32_t aCount = -1) const; # 210 "../../../dist/include/nsTString.h" int32_t RFindChar(char16_t aChar, int32_t aOffset = -1, int32_t aCount = -1) const; # 224 "../../../dist/include/nsTString.h" int32_t FindCharInSet(const char* aString, int32_t aOffset = 0) const; int32_t FindCharInSet(const self_type& aString, int32_t aOffset = 0) const { return FindCharInSet(aString.get(), aOffset); } # 245 "../../../dist/include/nsTString.h" int32_t RFindCharInSet(const char_type* aString, int32_t aOffset = -1) const; int32_t RFindCharInSet(const self_type& aString, int32_t aOffset = -1) const { return RFindCharInSet(aString.get(), aOffset); } # 262 "../../../dist/include/nsTString.h" int32_t Compare(const char* aString, bool aIgnoreCase = false, int32_t aCount = -1) const; # 276 "../../../dist/include/nsTString.h" bool EqualsIgnoreCase(const char* aString, int32_t aCount = -1) const { return Compare(aString, true, aCount) == 0; } # 292 "../../../dist/include/nsTString.h" double ToDouble(nsresult* aErrorCode) const; float ToFloat(nsresult* aErrorCode) const { return (float)ToDouble(aErrorCode); } # 312 "../../../dist/include/nsTString.h" int32_t ToInteger(nsresult* aErrorCode, uint32_t aRadix = (10)) const; int64_t ToInteger64(nsresult* aErrorCode, uint32_t aRadix = (10)) const; # 340 "../../../dist/include/nsTString.h" size_type Mid(self_type& aResult, uint32_t aStartPos, uint32_t aCount) const; size_type Left(self_type& aResult, size_type aCount) const { return Mid(aResult, 0, aCount); } size_type Right(self_type& aResult, size_type aCount) const { aCount = XPCOM_MIN(mLength, aCount); return Mid(aResult, mLength - aCount, aCount); } # 362 "../../../dist/include/nsTString.h" bool SetCharAt(char16_t aChar, uint32_t aIndex); # 371 "../../../dist/include/nsTString.h" void StripChars(const char* aSet); void StripWhitespace(); void ReplaceChar(char_type aOldChar, char_type aNewChar); void ReplaceChar(const char* aSet, char_type aNewChar); void ReplaceSubstring(const self_type& aTarget, const self_type& aNewValue); void ReplaceSubstring(const char_type* aTarget, const char_type* aNewValue); # 403 "../../../dist/include/nsTString.h" void Trim(const char* aSet, bool aEliminateLeading = true, bool aEliminateTrailing = true, bool aIgnoreQuotes = false); # 414 "../../../dist/include/nsTString.h" void CompressWhitespace(bool aEliminateLeading = true, bool aEliminateTrailing = true); void AssignWithConversion(const nsAString_internal& aString); void AssignWithConversion(const incompatible_char_type* aData, int32_t aLength = -1); # 433 "../../../dist/include/nsTString.h" void Rebind(const char_type* aData, size_type aLength); void AssertValidDepedentString() { do { } while(0); do { } while(0); do { } while(0) ; } protected: explicit nsCString(uint32_t aFlags) : substring_type(aFlags) { } nsCString(char_type* aData, size_type aLength, uint32_t aFlags) : substring_type(aData, aLength, aFlags) { } }; class nsFixedCString : public nsCString { public: typedef nsFixedCString self_type; typedef nsFixedCString fixed_string_type; public: # 483 "../../../dist/include/nsTString.h" nsFixedCString(char_type* aData, size_type aStorageSize) : string_type(aData, uint32_t(char_traits::length(aData)), F_TERMINATED | F_FIXED | F_CLASS_FIXED) , mFixedCapacity(aStorageSize - 1) , mFixedBuf(aData) { } nsFixedCString(char_type* aData, size_type aStorageSize, size_type aLength) : string_type(aData, aLength, F_TERMINATED | F_FIXED | F_CLASS_FIXED) , mFixedCapacity(aStorageSize - 1) , mFixedBuf(aData) { mFixedBuf[aLength] = char_type(0); } self_type& operator=(char_type aChar) { Assign(aChar); return *this; } self_type& operator=(const char_type* aData) { Assign(aData); return *this; } self_type& operator=(const substring_type& aStr) { Assign(aStr); return *this; } self_type& operator=(const substring_tuple_type& aTuple) { Assign(aTuple); return *this; } protected: friend class nsACString_internal; size_type mFixedCapacity; char_type* mFixedBuf; }; # 544 "../../../dist/include/nsTString.h" class nsAutoCString : public nsFixedCString { public: typedef nsAutoCString self_type; public: nsAutoCString() : fixed_string_type(mStorage, kDefaultStorageSize, 0) { } explicit nsAutoCString(char_type aChar) : fixed_string_type(mStorage, kDefaultStorageSize, 0) { Assign(aChar); } explicit nsAutoCString(const char_type* aData, size_type aLength = size_type(-1)) : fixed_string_type(mStorage, kDefaultStorageSize, 0) { Assign(aData, aLength); } # 583 "../../../dist/include/nsTString.h" nsAutoCString(const self_type& aStr) : fixed_string_type(mStorage, kDefaultStorageSize, 0) { Assign(aStr); } explicit nsAutoCString(const substring_type& aStr) : fixed_string_type(mStorage, kDefaultStorageSize, 0) { Assign(aStr); } nsAutoCString(const substring_tuple_type& aTuple) : fixed_string_type(mStorage, kDefaultStorageSize, 0) { Assign(aTuple); } self_type& operator=(char_type aChar) { Assign(aChar); return *this; } self_type& operator=(const char_type* aData) { Assign(aData); return *this; } self_type& operator=(const self_type& aStr) { Assign(aStr); return *this; } self_type& operator=(const substring_type& aStr) { Assign(aStr); return *this; } self_type& operator=(const substring_tuple_type& aTuple) { Assign(aTuple); return *this; } enum { kDefaultStorageSize = 64 }; private: char_type mStorage[kDefaultStorageSize]; }; template class nsTArrayElementTraits; template<> class nsTArrayElementTraits { public: template struct Dont_Instantiate_nsTArray_of; template struct Instead_Use_nsTArray_of; static Dont_Instantiate_nsTArray_of* Construct(Instead_Use_nsTArray_of* aE) { return 0; } template static Dont_Instantiate_nsTArray_of* Construct(Instead_Use_nsTArray_of* aE, const A& aArg) { return 0; } static Dont_Instantiate_nsTArray_of* Destruct(Instead_Use_nsTArray_of* aE) { return 0; } }; # 690 "../../../dist/include/nsTString.h" class nsXPIDLCString : public nsCString { public: typedef nsXPIDLCString self_type; public: nsXPIDLCString() : string_type(char_traits::sEmptyBuffer, 0, F_TERMINATED | F_VOIDED) { } nsXPIDLCString(const self_type& aStr) : string_type(char_traits::sEmptyBuffer, 0, F_TERMINATED | F_VOIDED) { Assign(aStr); } const char_type* get() const { return (mFlags & F_VOIDED) ? nullptr : mData; } operator const char_type*() const { return get(); } char_type operator[](int32_t aIndex) const { return CharAt(index_type(aIndex)); } self_type& operator=(char_type aChar) { Assign(aChar); return *this; } self_type& operator=(const char_type* aStr) { Assign(aStr); return *this; } self_type& operator=(const self_type& aStr) { Assign(aStr); return *this; } self_type& operator=(const substring_type& aStr) { Assign(aStr); return *this; } self_type& operator=(const substring_tuple_type& aTuple) { Assign(aTuple); return *this; } }; # 774 "../../../dist/include/nsTString.h" class nsCGetterCopies { public: typedef char char_type; explicit nsCGetterCopies(nsACString_internal& aStr) : mString(aStr) , mData(nullptr) { } ~nsCGetterCopies() { mString.Adopt(mData); } operator char_type**() { return &mData; } private: nsACString_internal& mString; char_type* mData; }; inline nsCGetterCopies getter_Copies(nsACString_internal& aString) { return nsCGetterCopies(aString); } # 815 "../../../dist/include/nsTString.h" class nsAdoptingCString : public nsXPIDLCString { public: typedef nsAdoptingCString self_type; public: explicit nsAdoptingCString() { } explicit nsAdoptingCString(char_type* aStr, size_type aLength = size_type(-1)) { Adopt(aStr, aLength); } nsAdoptingCString(const self_type& aStr) { *this = aStr; } self_type& operator=(const substring_type& aStr) { Assign(aStr); return *this; } self_type& operator=(const substring_tuple_type& aTuple) { Assign(aTuple); return *this; } self_type& operator=(const self_type& aStr); private: self_type& operator=(const char_type* aData) = delete; self_type& operator=(char_type* aData) = delete; }; # 41 "../../../dist/include/nsString.h" 2 # 1 "../../../dist/include/string-template-undef.h" 1 # 42 "../../../dist/include/nsString.h" 2 static_assert(sizeof(char16_t) == 2, "size of char16_t must be 2"); static_assert(sizeof(nsString::char_type) == 2, "size of nsString::char_type must be 2"); static_assert(nsString::char_type(-1) > nsString::char_type(0), "nsString::char_type must be unsigned"); static_assert(sizeof(nsCString::char_type) == 1, "size of nsCString::char_type must be 1"); class NS_LossyConvertUTF16toASCII : public nsAutoCString { public: explicit NS_LossyConvertUTF16toASCII(const char16_t* aString) { LossyAppendUTF16toASCII(aString, *this); } NS_LossyConvertUTF16toASCII(const char16_t* aString, uint32_t aLength) { LossyAppendUTF16toASCII(Substring(aString, aLength), *this); } # 80 "../../../dist/include/nsString.h" explicit NS_LossyConvertUTF16toASCII(const nsAString_internal& aString) { LossyAppendUTF16toASCII(aString, *this); } private: NS_LossyConvertUTF16toASCII(char) = delete; }; class NS_ConvertASCIItoUTF16 : public nsAutoString { public: explicit NS_ConvertASCIItoUTF16(const char* aCString) { AppendASCIItoUTF16(aCString, *this); } NS_ConvertASCIItoUTF16(const char* aCString, uint32_t aLength) { AppendASCIItoUTF16(Substring(aCString, aLength), *this); } explicit NS_ConvertASCIItoUTF16(const nsACString_internal& aCString) { AppendASCIItoUTF16(aCString, *this); } private: NS_ConvertASCIItoUTF16(char16_t) = delete; }; class NS_ConvertUTF16toUTF8 : public nsAutoCString { public: explicit NS_ConvertUTF16toUTF8(const char16_t* aString) { AppendUTF16toUTF8(aString, *this); } NS_ConvertUTF16toUTF8(const char16_t* aString, uint32_t aLength) { AppendUTF16toUTF8(Substring(aString, aLength), *this); } # 143 "../../../dist/include/nsString.h" explicit NS_ConvertUTF16toUTF8(const nsAString_internal& aString) { AppendUTF16toUTF8(aString, *this); } private: NS_ConvertUTF16toUTF8(char) = delete; }; class NS_ConvertUTF8toUTF16 : public nsAutoString { public: explicit NS_ConvertUTF8toUTF16(const char* aCString) { AppendUTF8toUTF16(aCString, *this); } NS_ConvertUTF8toUTF16(const char* aCString, uint32_t aLength) { AppendUTF8toUTF16(Substring(aCString, aLength), *this); } explicit NS_ConvertUTF8toUTF16(const nsACString_internal& aCString) { AppendUTF8toUTF16(aCString, *this); } private: NS_ConvertUTF8toUTF16(char16_t) = delete; }; # 194 "../../../dist/include/nsString.h" inline char16_t* wwc(char16_t* aStr) { return aStr; } typedef nsAutoString nsVoidableString; # 1 "../../../dist/include/nsDependentString.h" 1 # 10 "../../../dist/include/nsDependentString.h" # 1 "../../../dist/include/nsString.h" 1 # 11 "../../../dist/include/nsDependentString.h" 2 # 1 "../../../dist/include/string-template-def-unichar.h" 1 # 15 "../../../dist/include/nsDependentString.h" 2 # 1 "../../../dist/include/nsTDependentString.h" 1 # 19 "../../../dist/include/nsTDependentString.h" class nsDependentString : public nsString { public: typedef nsDependentString self_type; public: nsDependentString(const char_type* aStart, const char_type* aEnd) : string_type(const_cast(aStart), uint32_t(aEnd - aStart), F_TERMINATED) { AssertValidDepedentString(); } nsDependentString(const char_type* aData, uint32_t aLength) : string_type(const_cast(aData), aLength, F_TERMINATED) { AssertValidDepedentString(); } # 51 "../../../dist/include/nsTDependentString.h" explicit nsDependentString(const char_type* aData) : string_type(const_cast(aData), uint32_t(char_traits::length(aData)), F_TERMINATED) { AssertValidDepedentString(); } # 67 "../../../dist/include/nsTDependentString.h" nsDependentString(const string_type& aStr, uint32_t aStartPos) : string_type() { Rebind(aStr, aStartPos); } nsDependentString() : string_type() { } # 89 "../../../dist/include/nsTDependentString.h" using nsString::Rebind; void Rebind(const char_type* aData) { Rebind(aData, uint32_t(char_traits::length(aData))); } void Rebind(const char_type* aStart, const char_type* aEnd) { Rebind(aStart, uint32_t(aEnd - aStart)); } void Rebind(const string_type&, uint32_t aStartPos); private: nsDependentString(const substring_tuple_type&) = delete; }; # 16 "../../../dist/include/nsDependentString.h" 2 # 1 "../../../dist/include/string-template-undef.h" 1 # 17 "../../../dist/include/nsDependentString.h" 2 # 1 "../../../dist/include/string-template-def-char.h" 1 # 20 "../../../dist/include/nsDependentString.h" 2 # 1 "../../../dist/include/nsTDependentString.h" 1 # 19 "../../../dist/include/nsTDependentString.h" class nsDependentCString : public nsCString { public: typedef nsDependentCString self_type; public: nsDependentCString(const char_type* aStart, const char_type* aEnd) : string_type(const_cast(aStart), uint32_t(aEnd - aStart), F_TERMINATED) { AssertValidDepedentString(); } nsDependentCString(const char_type* aData, uint32_t aLength) : string_type(const_cast(aData), aLength, F_TERMINATED) { AssertValidDepedentString(); } # 51 "../../../dist/include/nsTDependentString.h" explicit nsDependentCString(const char_type* aData) : string_type(const_cast(aData), uint32_t(char_traits::length(aData)), F_TERMINATED) { AssertValidDepedentString(); } # 67 "../../../dist/include/nsTDependentString.h" nsDependentCString(const string_type& aStr, uint32_t aStartPos) : string_type() { Rebind(aStr, aStartPos); } nsDependentCString() : string_type() { } # 89 "../../../dist/include/nsTDependentString.h" using nsCString::Rebind; void Rebind(const char_type* aData) { Rebind(aData, uint32_t(char_traits::length(aData))); } void Rebind(const char_type* aStart, const char_type* aEnd) { Rebind(aStart, uint32_t(aEnd - aStart)); } void Rebind(const string_type&, uint32_t aStartPos); private: nsDependentCString(const substring_tuple_type&) = delete; }; # 21 "../../../dist/include/nsDependentString.h" 2 # 1 "../../../dist/include/string-template-undef.h" 1 # 22 "../../../dist/include/nsDependentString.h" 2 # 206 "../../../dist/include/nsString.h" 2 # 1 "../../../dist/include/nsLiteralString.h" 1 # 14 "../../../dist/include/nsLiteralString.h" # 1 "../../../dist/include/string-template-def-unichar.h" 1 # 15 "../../../dist/include/nsLiteralString.h" 2 # 1 "../../../dist/include/nsTLiteralString.h" 1 # 18 "../../../dist/include/nsTLiteralString.h" class nsLiteralString : public nsString { public: typedef nsLiteralString self_type; public: template nsLiteralString(const char_type (&aStr)[N]) : string_type(const_cast(aStr), N - 1, F_TERMINATED | F_LITERAL) { } private: template nsLiteralString(char_type (&aStr)[N]) = delete; }; # 16 "../../../dist/include/nsLiteralString.h" 2 # 1 "../../../dist/include/string-template-undef.h" 1 # 17 "../../../dist/include/nsLiteralString.h" 2 # 1 "../../../dist/include/string-template-def-char.h" 1 # 20 "../../../dist/include/nsLiteralString.h" 2 # 1 "../../../dist/include/nsTLiteralString.h" 1 # 18 "../../../dist/include/nsTLiteralString.h" class nsLiteralCString : public nsCString { public: typedef nsLiteralCString self_type; public: template nsLiteralCString(const char_type (&aStr)[N]) : string_type(const_cast(aStr), N - 1, F_TERMINATED | F_LITERAL) { } private: template nsLiteralCString(char_type (&aStr)[N]) = delete; }; # 21 "../../../dist/include/nsLiteralString.h" 2 # 1 "../../../dist/include/string-template-undef.h" 1 # 22 "../../../dist/include/nsLiteralString.h" 2 # 1 "../../../dist/include/mozilla/Char16.h" 1 # 24 "../../../dist/include/nsLiteralString.h" 2 # 207 "../../../dist/include/nsString.h" 2 # 1 "../../../dist/include/nsPromiseFlatString.h" 1 # 13 "../../../dist/include/nsPromiseFlatString.h" # 1 "../../../dist/include/string-template-def-unichar.h" 1 # 14 "../../../dist/include/nsPromiseFlatString.h" 2 # 1 "../../../dist/include/nsTPromiseFlatString.h" 1 # 67 "../../../dist/include/nsTPromiseFlatString.h" class nsPromiseFlatString : public nsString { public: typedef nsPromiseFlatString self_type; private: void Init(const substring_type&); void operator=(const self_type&) = delete; nsPromiseFlatString() = delete; nsPromiseFlatString(const string_type& aStr) = delete; public: explicit nsPromiseFlatString(const substring_type& aStr) : string_type() { Init(aStr); } explicit nsPromiseFlatString(const substring_tuple_type& aTuple) : string_type() { Assign(aTuple); } }; template const nsPromiseFlatString PromiseFlatString(const T& aString) { return nsPromiseFlatString(aString); } # 15 "../../../dist/include/nsPromiseFlatString.h" 2 # 1 "../../../dist/include/string-template-undef.h" 1 # 16 "../../../dist/include/nsPromiseFlatString.h" 2 # 1 "../../../dist/include/string-template-def-char.h" 1 # 19 "../../../dist/include/nsPromiseFlatString.h" 2 # 1 "../../../dist/include/nsTPromiseFlatString.h" 1 # 67 "../../../dist/include/nsTPromiseFlatString.h" class nsPromiseFlatCString : public nsCString { public: typedef nsPromiseFlatCString self_type; private: void Init(const substring_type&); void operator=(const self_type&) = delete; nsPromiseFlatCString() = delete; nsPromiseFlatCString(const string_type& aStr) = delete; public: explicit nsPromiseFlatCString(const substring_type& aStr) : string_type() { Init(aStr); } explicit nsPromiseFlatCString(const substring_tuple_type& aTuple) : string_type() { Assign(aTuple); } }; template const nsPromiseFlatCString PromiseFlatCString(const T& aString) { return nsPromiseFlatCString(aString); } # 20 "../../../dist/include/nsPromiseFlatString.h" 2 # 1 "../../../dist/include/string-template-undef.h" 1 # 21 "../../../dist/include/nsPromiseFlatString.h" 2 # 208 "../../../dist/include/nsString.h" 2 # 1 "../../../dist/include/nsMemory.h" 1 # 12 "../../../dist/include/nsMemory.h" class nsIMemory; # 33 "../../../dist/include/nsMemory.h" class nsMemory { public: static __attribute__ ((visibility ("hidden"))) void* Alloc(size_t aSize) { return NS_Alloc(aSize); } static __attribute__ ((visibility ("hidden"))) void* Realloc(void* aPtr, size_t aSize) { return NS_Realloc(aPtr, aSize); } static __attribute__ ((visibility ("hidden"))) void Free(void* aPtr) { NS_Free(aPtr); } static nsresult HeapMinimize(bool aImmediate); static void* Clone(const void* aPtr, size_t aSize); static nsIMemory* GetGlobalMemoryService(); }; # 130 "../../../dist/include/nsMemory.h" namespace mozilla { template struct AlignmentTestStruct { char c; T t; }; } enum nsAssignmentType { NS_ASSIGNMENT_COPY, NS_ASSIGNMENT_DEPEND, NS_ASSIGNMENT_ADOPT }; # 211 "../../../dist/include/nsString.h" 2 # 1 "../../../dist/system_wrappers/string.h" 1 # 2 "../../../dist/system_wrappers/string.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 212 "../../../dist/include/nsString.h" 2 # 1 "../../../dist/system_wrappers/stdio.h" 1 # 2 "../../../dist/system_wrappers/stdio.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 213 "../../../dist/include/nsString.h" 2 # 1 "../../../dist/system_wrappers/plhash.h" 1 # 2 "../../../dist/system_wrappers/plhash.h" 3 #pragma GCC visibility push(default) # 1 "/usr/include/nspr4/plhash.h" 1 3 # 11 "/usr/include/nspr4/plhash.h" 3 # 1 "../../../dist/system_wrappers/stdio.h" 1 3 # 2 "../../../dist/system_wrappers/stdio.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 12 "/usr/include/nspr4/plhash.h" 2 3 # 14 "/usr/include/nspr4/plhash.h" 3 extern "C" { typedef struct PLHashEntry PLHashEntry; typedef struct PLHashTable PLHashTable; typedef PRUint32 PLHashNumber; typedef PLHashNumber ( *PLHashFunction)(const void *key); typedef PRIntn ( *PLHashComparator)(const void *v1, const void *v2); typedef PRIntn ( *PLHashEnumerator)(PLHashEntry *he, PRIntn i, void *arg); typedef struct PLHashAllocOps { void * ( *allocTable)(void *pool, PRSize size); void ( *freeTable)(void *pool, void *item); PLHashEntry * ( *allocEntry)(void *pool, const void *key); void ( *freeEntry)(void *pool, PLHashEntry *he, PRUintn flag); } PLHashAllocOps; struct PLHashEntry { PLHashEntry *next; PLHashNumber keyHash; const void *key; void *value; }; struct PLHashTable { PLHashEntry **buckets; PRUint32 nentries; PRUint32 shift; PLHashFunction keyHash; PLHashComparator keyCompare; PLHashComparator valueCompare; const PLHashAllocOps *allocOps; void *allocPriv; }; extern __attribute__((visibility("default"))) PLHashTable * PL_NewHashTable(PRUint32 numBuckets, PLHashFunction keyHash, PLHashComparator keyCompare, PLHashComparator valueCompare, const PLHashAllocOps *allocOps, void *allocPriv); extern __attribute__((visibility("default"))) void PL_HashTableDestroy(PLHashTable *ht); extern __attribute__((visibility("default"))) PLHashEntry * PL_HashTableAdd(PLHashTable *ht, const void *key, void *value); extern __attribute__((visibility("default"))) PRBool PL_HashTableRemove(PLHashTable *ht, const void *key); extern __attribute__((visibility("default"))) void * PL_HashTableLookup(PLHashTable *ht, const void *key); extern __attribute__((visibility("default"))) void * PL_HashTableLookupConst(PLHashTable *ht, const void *key); extern __attribute__((visibility("default"))) PRIntn PL_HashTableEnumerateEntries(PLHashTable *ht, PLHashEnumerator f, void *arg); extern __attribute__((visibility("default"))) PLHashNumber PL_HashString(const void *key); extern __attribute__((visibility("default"))) PRIntn PL_CompareStrings(const void *v1, const void *v2); extern __attribute__((visibility("default"))) PRIntn PL_CompareValues(const void *v1, const void *v2); extern __attribute__((visibility("default"))) PLHashEntry ** PL_HashTableRawLookup(PLHashTable *ht, PLHashNumber keyHash, const void *key); extern __attribute__((visibility("default"))) PLHashEntry ** PL_HashTableRawLookupConst(PLHashTable *ht, PLHashNumber keyHash, const void *key); extern __attribute__((visibility("default"))) PLHashEntry * PL_HashTableRawAdd(PLHashTable *ht, PLHashEntry **hep, PLHashNumber keyHash, const void *key, void *value); extern __attribute__((visibility("default"))) void PL_HashTableRawRemove(PLHashTable *ht, PLHashEntry **hep, PLHashEntry *he); extern __attribute__((visibility("default"))) PRIntn PL_HashTableDump(PLHashTable *ht, PLHashEnumerator dump, FILE *fp); } # 4 "../../../dist/system_wrappers/plhash.h" 2 3 #pragma GCC visibility pop # 214 "../../../dist/include/nsString.h" 2 # 13 "../../../dist/include/MediaInfo.h" 2 # 14 "../../../dist/include/MediaInfo.h" namespace mozilla { struct TrackInfo { void Init(const nsAString_internal& aId, const nsAString_internal& aKind, const nsAString_internal& aLabel, const nsAString_internal& aLanguage, bool aEnabled) { mId = aId; mKind = aKind; mLabel = aLabel; mLanguage = aLanguage; mEnabled = aEnabled; } nsString mId; nsString mKind; nsString mLabel; nsString mLanguage; bool mEnabled; }; class VideoInfo { public: VideoInfo() : mDisplay(0,0) , mStereoMode(StereoMode::MONO) , mHasVideo(false) { mTrackInfo.Init(static_cast(nsLiteralString(u"2")), static_cast(nsLiteralString(u"main")), EmptyString(), EmptyString(), true); } nsIntSize mDisplay; StereoMode mStereoMode; bool mHasVideo; TrackInfo mTrackInfo; }; class AudioInfo { public: AudioInfo() : mRate(44100) , mChannels(2) , mHasAudio(false) { mTrackInfo.Init(static_cast(nsLiteralString(u"1")), static_cast(nsLiteralString(u"main")), EmptyString(), EmptyString(), true); } uint32_t mRate; uint32_t mChannels; bool mHasAudio; TrackInfo mTrackInfo; }; class MediaInfo { public: bool HasVideo() const { return mVideo.mHasVideo; } bool HasAudio() const { return mAudio.mHasAudio; } bool HasValidMedia() const { return HasVideo() || HasAudio(); } VideoInfo mVideo; AudioInfo mAudio; }; } # 12 "../../../dist/include/AbstractMediaDecoder.h" 2 # 1 "../../../dist/include/nsISupports.h" 1 # 10 "../../../dist/include/nsISupports.h" # 1 "../../../dist/include/nsrootidl.h" 1 # 14 "../../../dist/include/nsrootidl.h" typedef int64_t PRTime; class nsAString_internal; class nsACString_internal; # 11 "../../../dist/include/nsISupports.h" 2 # 13 "../../../dist/include/AbstractMediaDecoder.h" 2 # 1 "../../../dist/include/nsDataHashtable.h" 1 # 10 "../../../dist/include/nsDataHashtable.h" # 1 "../../../dist/include/nsHashKeys.h" 1 # 12 "../../../dist/include/nsHashKeys.h" # 1 "../../../dist/include/nsIHashable.h" 1 # 25 "../../../dist/include/nsIHashable.h" class nsIHashable : public nsISupports { public: template struct COMTypeInfo; virtual nsresult Equals(nsIHashable *aOther, bool *_retval) = 0; virtual nsresult GetHashCode(uint32_t *aHashCode) = 0; }; template struct nsIHashable::COMTypeInfo { static const nsIID kIID __attribute__ ((visibility ("hidden"))); }; template const nsIID nsIHashable::COMTypeInfo::kIID __attribute__ ((visibility ("hidden"))) = {0x17e595fa, 0xb57a, 0x4933, { 0xbd, 0x0f, 0xb1, 0x81, 0x2e, 0x8a, 0xb1, 0x88 }}; # 13 "../../../dist/include/nsHashKeys.h" 2 # 1 "../../../dist/include/nsAutoPtr.h" 1 # 10 "../../../dist/include/nsAutoPtr.h" # 1 "../../../dist/include/nsCOMPtr.h" 1 # 25 "../../../dist/include/nsCOMPtr.h" # 1 "../../../dist/include/mozilla/Move.h" 1 # 14 "../../../dist/include/mozilla/Move.h" namespace mozilla { # 211 "../../../dist/include/mozilla/Move.h" template inline typename RemoveReference::Type&& Move(T&& aX) { return static_cast::Type&&>(aX); } template inline T&& Forward(typename RemoveReference::Type& aX) { return static_cast(aX); } template inline T&& Forward(typename RemoveReference::Type&& aX) { static_assert(!IsLvalueReference::value, "misuse of Forward detected! try the other overload"); return static_cast(aX); } template inline void Swap(T& aX, T& aY) { T tmp(Move(aX)); aX = Move(aY); aY = Move(tmp); } } # 26 "../../../dist/include/nsCOMPtr.h" 2 # 1 "../../../dist/include/AlreadyAddRefed.h" 1 # 17 "../../../dist/include/AlreadyAddRefed.h" namespace mozilla { struct unused_t; } template struct already_AddRefed { # 57 "../../../dist/include/AlreadyAddRefed.h" already_AddRefed() : mRawPtr(nullptr) {} typedef void (already_AddRefed::* MatchNullptr)(double, float); already_AddRefed(MatchNullptr aRawPtr) : mRawPtr(nullptr) {} explicit already_AddRefed(T* aRawPtr) : mRawPtr(aRawPtr) {} already_AddRefed(const already_AddRefed& aOther) = delete; already_AddRefed(already_AddRefed&& aOther) : mRawPtr(aOther.take()) {} ~already_AddRefed() { do { } while (0); } friend void operator<<(const mozilla::unused_t& aUnused, const already_AddRefed& aRhs) { auto mutableAlreadyAddRefed = const_cast*>(&aRhs); aUnused << mutableAlreadyAddRefed->take(); } __attribute__ ((warn_unused_result)) T* take() { T* rawPtr = mRawPtr; mRawPtr = nullptr; return rawPtr; } # 105 "../../../dist/include/AlreadyAddRefed.h" template operator already_AddRefed() { U* tmp = mRawPtr; mRawPtr = nullptr; return already_AddRefed(tmp); } # 131 "../../../dist/include/AlreadyAddRefed.h" template already_AddRefed downcast() { U* tmp = static_cast(mRawPtr); mRawPtr = nullptr; return already_AddRefed(tmp); } private: T* mRawPtr; }; # 30 "../../../dist/include/nsCOMPtr.h" 2 # 1 "../../../dist/include/nsCycleCollectionNoteChild.h" 1 # 13 "../../../dist/include/nsCycleCollectionNoteChild.h" # 1 "../../../dist/include/nsCycleCollectionTraversalCallback.h" 1 # 12 "../../../dist/include/nsCycleCollectionTraversalCallback.h" class nsCycleCollectionParticipant; class nsCycleCollectionTraversalCallback { public: virtual void DescribeRefCountedNode(nsrefcnt aRefcount, const char* aObjName) = 0; virtual void DescribeGCedNode(bool aIsMarked, const char* aObjName, uint64_t aCompartmentAddress = 0) = 0; virtual void NoteXPCOMChild(nsISupports* aChild) = 0; virtual void NoteJSChild(void* aChild) = 0; virtual void NoteNativeChild(void* aChild, nsCycleCollectionParticipant* aHelper) = 0; virtual void NoteNextEdgeName(const char* aName) = 0; enum { WANT_DEBUG_INFO = (1 << 0), WANT_ALL_TRACES = (1 << 1) }; uint32_t Flags() const { return mFlags; } bool WantDebugInfo() const { return (mFlags & WANT_DEBUG_INFO) != 0; } bool WantAllTraces() const { return (mFlags & WANT_ALL_TRACES) != 0; } protected: nsCycleCollectionTraversalCallback() : mFlags(0) {} uint32_t mFlags; }; # 14 "../../../dist/include/nsCycleCollectionNoteChild.h" 2 enum { CycleCollectionEdgeNameArrayFlag = 1 }; void CycleCollectionNoteEdgeNameImpl(nsCycleCollectionTraversalCallback& aCallback, const char* aName, uint32_t aFlags = 0); __attribute__((always_inline)) inline void CycleCollectionNoteEdgeName(nsCycleCollectionTraversalCallback& aCallback, const char* aName, uint32_t aFlags = 0) { if ((__builtin_expect(!!(aCallback.WantDebugInfo()), 0))) { CycleCollectionNoteEdgeNameImpl(aCallback, aName, aFlags); } } # 48 "../../../dist/include/nsCycleCollectionNoteChild.h" template nsISupports* ToSupports(T* aPtr, typename T::cycleCollection* aDummy = 0) { return T::cycleCollection::Upcast(aPtr); } template::value> struct CycleCollectionNoteChildImpl { }; template struct CycleCollectionNoteChildImpl { static void Run(nsCycleCollectionTraversalCallback& aCallback, T* aChild) { aCallback.NoteXPCOMChild(ToSupports(aChild)); } }; template struct CycleCollectionNoteChildImpl { static void Run(nsCycleCollectionTraversalCallback& aCallback, T* aChild) { aCallback.NoteNativeChild(aChild, T::cycleCollection::GetParticipant()); } }; template inline void CycleCollectionNoteChild(nsCycleCollectionTraversalCallback& aCallback, T* aChild, const char* aName, uint32_t aFlags) { CycleCollectionNoteEdgeName(aCallback, aName, aFlags); CycleCollectionNoteChildImpl::Run(aCallback, aChild); } template inline void CycleCollectionNoteChild(nsCycleCollectionTraversalCallback& aCallback, T* aChild, const char* aName) { CycleCollectionNoteChild(aCallback, aChild, aName, 0); } # 34 "../../../dist/include/nsCOMPtr.h" 2 # 112 "../../../dist/include/nsCOMPtr.h" namespace mozilla { struct unused_t; } template inline already_AddRefed dont_AddRef(T* aRawPtr) { return already_AddRefed(aRawPtr); } template inline already_AddRefed&& dont_AddRef(already_AddRefed&& aAlreadyAddRefedPtr) { return mozilla::Move(aAlreadyAddRefedPtr); } # 149 "../../../dist/include/nsCOMPtr.h" class nsCOMPtr_helper { public: virtual nsresult __attribute__ ((regparm (3), stdcall)) operator()(const nsIID&, void**) const = 0; }; class nsQueryInterface final { public: explicit nsQueryInterface(nsISupports* aRawPtr) : mRawPtr(aRawPtr) {} nsresult __attribute__ ((regparm (3), stdcall)) operator()(const nsIID& aIID, void**) const; private: nsISupports* mRawPtr; }; class nsQueryInterfaceWithError { public: nsQueryInterfaceWithError(nsISupports* aRawPtr, nsresult* aError) : mRawPtr(aRawPtr) , mErrorPtr(aError) { } nsresult __attribute__ ((regparm (3), stdcall)) operator()(const nsIID& aIID, void**) const; private: nsISupports* mRawPtr; nsresult* mErrorPtr; }; inline nsQueryInterface do_QueryInterface(nsISupports* aRawPtr) { return nsQueryInterface(aRawPtr); } inline nsQueryInterfaceWithError do_QueryInterface(nsISupports* aRawPtr, nsresult* aError) { return nsQueryInterfaceWithError(aRawPtr, aError); } template inline void do_QueryInterface(already_AddRefed&) { } template inline void do_QueryInterface(already_AddRefed&, nsresult*) { } class nsGetServiceByCID { public: explicit nsGetServiceByCID(const nsCID& aCID) : mCID(aCID) {} nsresult __attribute__ ((regparm (3), stdcall)) operator()(const nsIID&, void**) const; private: const nsCID& mCID; }; class nsGetServiceByCIDWithError { public: nsGetServiceByCIDWithError(const nsCID& aCID, nsresult* aErrorPtr) : mCID(aCID) , mErrorPtr(aErrorPtr) { } nsresult __attribute__ ((regparm (3), stdcall)) operator()(const nsIID&, void**) const; private: const nsCID& mCID; nsresult* mErrorPtr; }; class nsGetServiceByContractID { public: explicit nsGetServiceByContractID(const char* aContractID) : mContractID(aContractID) { } nsresult __attribute__ ((regparm (3), stdcall)) operator()(const nsIID&, void**) const; private: const char* mContractID; }; class nsGetServiceByContractIDWithError { public: nsGetServiceByContractIDWithError(const char* aContractID, nsresult* aErrorPtr) : mContractID(aContractID) , mErrorPtr(aErrorPtr) { } nsresult __attribute__ ((regparm (3), stdcall)) operator()(const nsIID&, void**) const; private: const char* mContractID; nsresult* mErrorPtr; }; # 288 "../../../dist/include/nsCOMPtr.h" class nsCOMPtr_base { public: explicit nsCOMPtr_base(nsISupports* aRawPtr = 0) : mRawPtr(aRawPtr) {} __attribute__ ((regparm (3), stdcall)) ~nsCOMPtr_base() { ; if (mRawPtr) { (mRawPtr)->Release(); } } void __attribute__ ((regparm (3), stdcall)) assign_with_AddRef(nsISupports*); void __attribute__ ((regparm (3), stdcall)) assign_from_qi(const nsQueryInterface, const nsIID&); void __attribute__ ((regparm (3), stdcall)) assign_from_qi_with_error(const nsQueryInterfaceWithError&, const nsIID&); void __attribute__ ((regparm (3), stdcall)) assign_from_gs_cid(const nsGetServiceByCID, const nsIID&); void __attribute__ ((regparm (3), stdcall)) assign_from_gs_cid_with_error(const nsGetServiceByCIDWithError&, const nsIID&); void __attribute__ ((regparm (3), stdcall)) assign_from_gs_contractid(const nsGetServiceByContractID, const nsIID&); void __attribute__ ((regparm (3), stdcall)) assign_from_gs_contractid_with_error(const nsGetServiceByContractIDWithError&, const nsIID&); void __attribute__ ((regparm (3), stdcall)) assign_from_helper(const nsCOMPtr_helper&, const nsIID&); void** __attribute__ ((regparm (3), stdcall)) begin_assignment(); protected: nsISupports* __attribute__((__may_alias__)) mRawPtr; void assign_assuming_AddRef(nsISupports* aNewPtr) { nsISupports* oldPtr = mRawPtr; mRawPtr = aNewPtr; ; ; if (oldPtr) { (oldPtr)->Release(); } } }; template class nsCOMPtr final : private nsCOMPtr_base { # 384 "../../../dist/include/nsCOMPtr.h" public: typedef T element_type; # 414 "../../../dist/include/nsCOMPtr.h" nsCOMPtr() : nsCOMPtr_base(0) { ; } nsCOMPtr(const nsCOMPtr& aSmartPtr) : nsCOMPtr_base(aSmartPtr.mRawPtr) { if (mRawPtr) { (mRawPtr)->AddRef(); } ; } nsCOMPtr(T* aRawPtr) : nsCOMPtr_base(aRawPtr) { if (mRawPtr) { (mRawPtr)->AddRef(); } ; ; } nsCOMPtr(already_AddRefed& aSmartPtr) : nsCOMPtr_base(aSmartPtr.take()) { ; ; } nsCOMPtr(already_AddRefed&& aSmartPtr) : nsCOMPtr_base(aSmartPtr.take()) { ; ; } template nsCOMPtr(already_AddRefed& aSmartPtr) : nsCOMPtr_base(static_cast(aSmartPtr.take())) { static_assert(mozilla::IsBaseOf::value, "U is not a subclass of T"); ; ; } template nsCOMPtr(already_AddRefed&& aSmartPtr) : nsCOMPtr_base(static_cast(aSmartPtr.take())) { static_assert(mozilla::IsBaseOf::value, "U is not a subclass of T"); ; ; } nsCOMPtr(const nsQueryInterface aQI) : nsCOMPtr_base(0) { ; assign_from_qi(aQI, (T::template COMTypeInfo::kIID)); } nsCOMPtr(const nsQueryInterfaceWithError& aQI) : nsCOMPtr_base(0) { ; assign_from_qi_with_error(aQI, (T::template COMTypeInfo::kIID)); } nsCOMPtr(const nsGetServiceByCID aGS) : nsCOMPtr_base(0) { ; assign_from_gs_cid(aGS, (T::template COMTypeInfo::kIID)); } nsCOMPtr(const nsGetServiceByCIDWithError& aGS) : nsCOMPtr_base(0) { ; assign_from_gs_cid_with_error(aGS, (T::template COMTypeInfo::kIID)); } nsCOMPtr(const nsGetServiceByContractID aGS) : nsCOMPtr_base(0) { ; assign_from_gs_contractid(aGS, (T::template COMTypeInfo::kIID)); } nsCOMPtr(const nsGetServiceByContractIDWithError& aGS) : nsCOMPtr_base(0) { ; assign_from_gs_contractid_with_error(aGS, (T::template COMTypeInfo::kIID)); } nsCOMPtr(const nsCOMPtr_helper& aHelper) : nsCOMPtr_base(0) { ; assign_from_helper(aHelper, (T::template COMTypeInfo::kIID)); ; } nsCOMPtr& operator=(const nsCOMPtr& aRhs) { assign_with_AddRef(aRhs.mRawPtr); return *this; } nsCOMPtr& operator=(T* aRhs) { assign_with_AddRef(aRhs); ; return *this; } template nsCOMPtr& operator=(already_AddRefed& aRhs) { static_assert(mozilla::IsBaseOf::value, "U is not a subclass of T"); assign_assuming_AddRef(static_cast(aRhs.take())); ; return *this; } template nsCOMPtr& operator=(already_AddRefed&& aRhs) { static_assert(mozilla::IsBaseOf::value, "U is not a subclass of T"); assign_assuming_AddRef(static_cast(aRhs.take())); ; return *this; } nsCOMPtr& operator=(const nsQueryInterface aRhs) { assign_from_qi(aRhs, (T::template COMTypeInfo::kIID)); return *this; } nsCOMPtr& operator=(const nsQueryInterfaceWithError& aRhs) { assign_from_qi_with_error(aRhs, (T::template COMTypeInfo::kIID)); return *this; } nsCOMPtr& operator=(const nsGetServiceByCID aRhs) { assign_from_gs_cid(aRhs, (T::template COMTypeInfo::kIID)); return *this; } nsCOMPtr& operator=(const nsGetServiceByCIDWithError& aRhs) { assign_from_gs_cid_with_error(aRhs, (T::template COMTypeInfo::kIID)); return *this; } nsCOMPtr& operator=(const nsGetServiceByContractID aRhs) { assign_from_gs_contractid(aRhs, (T::template COMTypeInfo::kIID)); return *this; } nsCOMPtr& operator=(const nsGetServiceByContractIDWithError& aRhs) { assign_from_gs_contractid_with_error(aRhs, (T::template COMTypeInfo::kIID)); return *this; } nsCOMPtr& operator=(const nsCOMPtr_helper& aRhs) { assign_from_helper(aRhs, (T::template COMTypeInfo::kIID)); ; return *this; } void swap(nsCOMPtr& aRhs) { nsISupports* temp = aRhs.mRawPtr; ; ; ; ; aRhs.mRawPtr = mRawPtr; mRawPtr = temp; } void swap(T*& aRhs) { nsISupports* temp = aRhs; ; ; aRhs = reinterpret_cast(mRawPtr); mRawPtr = temp; ; } already_AddRefed forget() { T* temp = 0; swap(temp); return already_AddRefed(temp); } template void forget(I** aRhs) { do { } while(0); ; *aRhs = get(); mRawPtr = 0; } T* get() const { return reinterpret_cast(mRawPtr); } operator T*() const { return get(); } T* operator->() const { do { } while(0) ; return get(); } nsCOMPtr* get_address() { return this; } const nsCOMPtr* get_address() const { return this; } public: T& operator*() const { do { } while(0) ; return *get(); } T** StartAssignment() { return reinterpret_cast(begin_assignment()); } }; # 736 "../../../dist/include/nsCOMPtr.h" template<> class nsCOMPtr : private nsCOMPtr_base { public: typedef nsISupports element_type; nsCOMPtr() : nsCOMPtr_base(0) { ; } nsCOMPtr(const nsCOMPtr& aSmartPtr) : nsCOMPtr_base(aSmartPtr.mRawPtr) { if (mRawPtr) { (mRawPtr)->AddRef(); } ; } nsCOMPtr(nsISupports* aRawPtr) : nsCOMPtr_base(aRawPtr) { if (mRawPtr) { (mRawPtr)->AddRef(); } ; } nsCOMPtr(already_AddRefed& aSmartPtr) : nsCOMPtr_base(aSmartPtr.take()) { ; } nsCOMPtr(already_AddRefed&& aSmartPtr) : nsCOMPtr_base(aSmartPtr.take()) { ; } nsCOMPtr(const nsQueryInterface aQI) : nsCOMPtr_base(0) { ; assign_from_qi(aQI, (nsISupports::COMTypeInfo::kIID)); } nsCOMPtr(const nsQueryInterfaceWithError& aQI) : nsCOMPtr_base(0) { ; assign_from_qi_with_error(aQI, (nsISupports::COMTypeInfo::kIID)); } nsCOMPtr(const nsGetServiceByCID aGS) : nsCOMPtr_base(0) { ; assign_from_gs_cid(aGS, (nsISupports::COMTypeInfo::kIID)); } nsCOMPtr(const nsGetServiceByCIDWithError& aGS) : nsCOMPtr_base(0) { ; assign_from_gs_cid_with_error(aGS, (nsISupports::COMTypeInfo::kIID)); } nsCOMPtr(const nsGetServiceByContractID aGS) : nsCOMPtr_base(0) { ; assign_from_gs_contractid(aGS, (nsISupports::COMTypeInfo::kIID)); } nsCOMPtr(const nsGetServiceByContractIDWithError& aGS) : nsCOMPtr_base(0) { ; assign_from_gs_contractid_with_error(aGS, (nsISupports::COMTypeInfo::kIID)); } nsCOMPtr(const nsCOMPtr_helper& aHelper) : nsCOMPtr_base(0) { ; assign_from_helper(aHelper, (nsISupports::COMTypeInfo::kIID)); } nsCOMPtr& operator=(const nsCOMPtr& aRhs) { assign_with_AddRef(aRhs.mRawPtr); return *this; } nsCOMPtr& operator=(nsISupports* aRhs) { assign_with_AddRef(aRhs); return *this; } nsCOMPtr& operator=(already_AddRefed& aRhs) { assign_assuming_AddRef(aRhs.take()); return *this; } nsCOMPtr& operator=(already_AddRefed&& aRhs) { assign_assuming_AddRef(aRhs.take()); return *this; } nsCOMPtr& operator=(const nsQueryInterface aRhs) { assign_from_qi(aRhs, (nsISupports::COMTypeInfo::kIID)); return *this; } nsCOMPtr& operator=(const nsQueryInterfaceWithError& aRhs) { assign_from_qi_with_error(aRhs, (nsISupports::COMTypeInfo::kIID)); return *this; } nsCOMPtr& operator=(const nsGetServiceByCID aRhs) { assign_from_gs_cid(aRhs, (nsISupports::COMTypeInfo::kIID)); return *this; } nsCOMPtr& operator=(const nsGetServiceByCIDWithError& aRhs) { assign_from_gs_cid_with_error(aRhs, (nsISupports::COMTypeInfo::kIID)); return *this; } nsCOMPtr& operator=(const nsGetServiceByContractID aRhs) { assign_from_gs_contractid(aRhs, (nsISupports::COMTypeInfo::kIID)); return *this; } nsCOMPtr& operator=(const nsGetServiceByContractIDWithError& aRhs) { assign_from_gs_contractid_with_error(aRhs, (nsISupports::COMTypeInfo::kIID)); return *this; } nsCOMPtr& operator=(const nsCOMPtr_helper& aRhs) { assign_from_helper(aRhs, (nsISupports::COMTypeInfo::kIID)); return *this; } void swap(nsCOMPtr& aRhs) { nsISupports* temp = aRhs.mRawPtr; ; ; ; ; aRhs.mRawPtr = mRawPtr; mRawPtr = temp; } void swap(nsISupports*& aRhs) { nsISupports* temp = aRhs; ; ; aRhs = mRawPtr; mRawPtr = temp; } already_AddRefed forget() { nsISupports* temp = 0; swap(temp); return already_AddRefed(temp); } void forget(nsISupports** aRhs) { do { } while(0); *aRhs = 0; swap(*aRhs); } nsISupports* get() const { return reinterpret_cast(mRawPtr); } operator nsISupports* () const { return get(); } nsISupports* operator->() const { do { } while(0) ; return get(); } nsCOMPtr* get_address() { return this; } const nsCOMPtr* get_address() const { return this; } public: nsISupports& operator*() const { do { } while(0) ; return *get(); } nsISupports** StartAssignment() { return reinterpret_cast(begin_assignment()); } }; template inline void ImplCycleCollectionUnlink(nsCOMPtr& aField) { aField = nullptr; } template inline void ImplCycleCollectionTraverse(nsCycleCollectionTraversalCallback& aCallback, nsCOMPtr& aField, const char* aName, uint32_t aFlags = 0) { CycleCollectionNoteChild(aCallback, aField.get(), aName, aFlags); } # 1130 "../../../dist/include/nsCOMPtr.h" template inline nsCOMPtr* address_of(nsCOMPtr& aPtr) { return aPtr.get_address(); } template inline const nsCOMPtr* address_of(const nsCOMPtr& aPtr) { return aPtr.get_address(); } # 1159 "../../../dist/include/nsCOMPtr.h" template class nsGetterAddRefs { public: explicit nsGetterAddRefs(nsCOMPtr& aSmartPtr) : mTargetSmartPtr(aSmartPtr) { } # 1182 "../../../dist/include/nsCOMPtr.h" operator void**() { return reinterpret_cast(mTargetSmartPtr.StartAssignment()); } operator T**() { return mTargetSmartPtr.StartAssignment(); } T*& operator*() { return *(mTargetSmartPtr.StartAssignment()); } private: nsCOMPtr& mTargetSmartPtr; }; template<> class nsGetterAddRefs { public: explicit nsGetterAddRefs(nsCOMPtr& aSmartPtr) : mTargetSmartPtr(aSmartPtr) { } # 1212 "../../../dist/include/nsCOMPtr.h" operator void**() { return reinterpret_cast(mTargetSmartPtr.StartAssignment()); } operator nsISupports**() { return mTargetSmartPtr.StartAssignment(); } nsISupports*& operator*() { return *(mTargetSmartPtr.StartAssignment()); } private: nsCOMPtr& mTargetSmartPtr; }; template inline nsGetterAddRefs getter_AddRefs(nsCOMPtr& aSmartPtr) { return nsGetterAddRefs(aSmartPtr); } template inline nsresult CallQueryInterface(T* aSource, nsGetterAddRefs aDestination) { return CallQueryInterface(aSource, static_cast(aDestination)); } template inline bool operator==(const nsCOMPtr& aLhs, const nsCOMPtr& aRhs) { return static_cast(aLhs.get()) == static_cast(aRhs.get()); } template inline bool operator!=(const nsCOMPtr& aLhs, const nsCOMPtr& aRhs) { return static_cast(aLhs.get()) != static_cast(aRhs.get()); } template inline bool operator==(const nsCOMPtr& aLhs, const U* aRhs) { return static_cast(aLhs.get()) == aRhs; } template inline bool operator==(const U* aLhs, const nsCOMPtr& aRhs) { return aLhs == static_cast(aRhs.get()); } template inline bool operator!=(const nsCOMPtr& aLhs, const U* aRhs) { return static_cast(aLhs.get()) != aRhs; } template inline bool operator!=(const U* aLhs, const nsCOMPtr& aRhs) { return aLhs != static_cast(aRhs.get()); } template inline bool operator==(const nsCOMPtr& aLhs, U* aRhs) { return static_cast(aLhs.get()) == const_cast(aRhs); } template inline bool operator==(U* aLhs, const nsCOMPtr& aRhs) { return const_cast(aLhs) == static_cast(aRhs.get()); } template inline bool operator!=(const nsCOMPtr& aLhs, U* aRhs) { return static_cast(aLhs.get()) != const_cast(aRhs); } template inline bool operator!=(U* aLhs, const nsCOMPtr& aRhs) { return const_cast(aLhs) != static_cast(aRhs.get()); } class NSCAP_Zero; template inline bool operator==(const nsCOMPtr& aLhs, NSCAP_Zero* aRhs) { return static_cast(aLhs.get()) == reinterpret_cast(aRhs); } template inline bool operator==(NSCAP_Zero* aLhs, const nsCOMPtr& aRhs) { return reinterpret_cast(aLhs) == static_cast(aRhs.get()); } template inline bool operator!=(const nsCOMPtr& aLhs, NSCAP_Zero* aRhs) { return static_cast(aLhs.get()) != reinterpret_cast(aRhs); } template inline bool operator!=(NSCAP_Zero* aLhs, const nsCOMPtr& aRhs) { return reinterpret_cast(aLhs) != static_cast(aRhs.get()); } inline bool SameCOMIdentity(nsISupports* aLhs, nsISupports* aRhs) { return nsCOMPtr(do_QueryInterface(aLhs)) == nsCOMPtr(do_QueryInterface(aRhs)); } template inline nsresult CallQueryInterface(nsCOMPtr& aSourcePtr, DestinationType** aDestPtr) { return CallQueryInterface(aSourcePtr.get(), aDestPtr); } # 11 "../../../dist/include/nsAutoPtr.h" 2 # 1 "../../../dist/include/nsRefPtr.h" 1 # 18 "../../../dist/include/nsRefPtr.h" class nsCOMPtr_helper; template class nsRefPtr { private: void assign_with_AddRef(T* aRawPtr) { if (aRawPtr) { aRawPtr->AddRef(); } assign_assuming_AddRef(aRawPtr); } void** begin_assignment() { assign_assuming_AddRef(0); return reinterpret_cast(&mRawPtr); } void assign_assuming_AddRef(T* aNewPtr) { T* oldPtr = mRawPtr; mRawPtr = aNewPtr; if (oldPtr) { oldPtr->Release(); } } private: T* mRawPtr; public: typedef T element_type; ~nsRefPtr() { if (mRawPtr) { mRawPtr->Release(); } } nsRefPtr() : mRawPtr(0) { } nsRefPtr(const nsRefPtr& aSmartPtr) : mRawPtr(aSmartPtr.mRawPtr) { if (mRawPtr) { mRawPtr->AddRef(); } } nsRefPtr(nsRefPtr&& aRefPtr) : mRawPtr(aRefPtr.mRawPtr) { aRefPtr.mRawPtr = nullptr; } nsRefPtr(T* aRawPtr) : mRawPtr(aRawPtr) { if (mRawPtr) { mRawPtr->AddRef(); } } template nsRefPtr(already_AddRefed& aSmartPtr) : mRawPtr(aSmartPtr.take()) { } template nsRefPtr(already_AddRefed&& aSmartPtr) : mRawPtr(aSmartPtr.take()) { } nsRefPtr(const nsCOMPtr_helper& aHelper); nsRefPtr& operator=(const nsRefPtr& aRhs) { assign_with_AddRef(aRhs.mRawPtr); return *this; } nsRefPtr& operator=(T* aRhs) { assign_with_AddRef(aRhs); return *this; } template nsRefPtr& operator=(already_AddRefed& aRhs) { assign_assuming_AddRef(aRhs.take()); return *this; } template nsRefPtr& operator=(already_AddRefed && aRhs) { assign_assuming_AddRef(aRhs.take()); return *this; } nsRefPtr& operator=(const nsCOMPtr_helper& aHelper); nsRefPtr& operator=(nsRefPtr && aRefPtr) { assign_assuming_AddRef(aRefPtr.mRawPtr); aRefPtr.mRawPtr = nullptr; return *this; } void swap(nsRefPtr& aRhs) { T* temp = aRhs.mRawPtr; aRhs.mRawPtr = mRawPtr; mRawPtr = temp; } void swap(T*& aRhs) { T* temp = aRhs; aRhs = mRawPtr; mRawPtr = temp; } already_AddRefed forget() { T* temp = 0; swap(temp); return already_AddRefed(temp); } template void forget(I** aRhs) { do { } while(0); *aRhs = mRawPtr; mRawPtr = 0; } T* get() const { return const_cast(mRawPtr); } operator T*() const # 220 "../../../dist/include/nsRefPtr.h" { return get(); } T* operator->() const { do { } while(0) ; return get(); } template U& operator->*(U V::* aMember) { do { } while(0) ; return get()->*aMember; } nsRefPtr* get_address() { return this; } const nsRefPtr* get_address() const { return this; } public: T& operator*() const { do { } while(0) ; return *get(); } T** StartAssignment() { assign_assuming_AddRef(0); return reinterpret_cast(&mRawPtr); } }; template nsRefPtr::nsRefPtr(const nsCOMPtr_helper& aHelper) { void* newRawPtr; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(aHelper((T::template COMTypeInfo::kIID), &newRawPtr))), 0)))) { newRawPtr = 0; } mRawPtr = static_cast(newRawPtr); } template nsRefPtr& nsRefPtr::operator=(const nsCOMPtr_helper& aHelper) { void* newRawPtr; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(aHelper((T::template COMTypeInfo::kIID), &newRawPtr))), 0)))) { newRawPtr = 0; } assign_assuming_AddRef(static_cast(newRawPtr)); return *this; } class nsCycleCollectionTraversalCallback; template void CycleCollectionNoteChild(nsCycleCollectionTraversalCallback& aCallback, T* aChild, const char* aName, uint32_t aFlags); template inline void ImplCycleCollectionUnlink(nsRefPtr& aField) { aField = nullptr; } template inline void ImplCycleCollectionTraverse(nsCycleCollectionTraversalCallback& aCallback, nsRefPtr& aField, const char* aName, uint32_t aFlags = 0) { CycleCollectionNoteChild(aCallback, aField.get(), aName, aFlags); } template inline nsRefPtr* address_of(nsRefPtr& aPtr) { return aPtr.get_address(); } template inline const nsRefPtr* address_of(const nsRefPtr& aPtr) { return aPtr.get_address(); } template class nsRefPtrGetterAddRefs # 357 "../../../dist/include/nsRefPtr.h" { public: explicit nsRefPtrGetterAddRefs(nsRefPtr& aSmartPtr) : mTargetSmartPtr(aSmartPtr) { } operator void**() { return reinterpret_cast(mTargetSmartPtr.StartAssignment()); } operator T**() { return mTargetSmartPtr.StartAssignment(); } T*& operator*() { return *(mTargetSmartPtr.StartAssignment()); } private: nsRefPtr& mTargetSmartPtr; }; template inline nsRefPtrGetterAddRefs getter_AddRefs(nsRefPtr& aSmartPtr) { return nsRefPtrGetterAddRefs(aSmartPtr); } template inline bool operator==(const nsRefPtr& aLhs, const nsRefPtr& aRhs) { return static_cast(aLhs.get()) == static_cast(aRhs.get()); } template inline bool operator!=(const nsRefPtr& aLhs, const nsRefPtr& aRhs) { return static_cast(aLhs.get()) != static_cast(aRhs.get()); } template inline bool operator==(const nsRefPtr& aLhs, const U* aRhs) { return static_cast(aLhs.get()) == static_cast(aRhs); } template inline bool operator==(const U* aLhs, const nsRefPtr& aRhs) { return static_cast(aLhs) == static_cast(aRhs.get()); } template inline bool operator!=(const nsRefPtr& aLhs, const U* aRhs) { return static_cast(aLhs.get()) != static_cast(aRhs); } template inline bool operator!=(const U* aLhs, const nsRefPtr& aRhs) { return static_cast(aLhs) != static_cast(aRhs.get()); } template inline bool operator==(const nsRefPtr& aLhs, U* aRhs) { return static_cast(aLhs.get()) == const_cast(aRhs); } template inline bool operator==(U* aLhs, const nsRefPtr& aRhs) { return const_cast(aLhs) == static_cast(aRhs.get()); } template inline bool operator!=(const nsRefPtr& aLhs, U* aRhs) { return static_cast(aLhs.get()) != const_cast(aRhs); } template inline bool operator!=(U* aLhs, const nsRefPtr& aRhs) { return const_cast(aLhs) != static_cast(aRhs.get()); } namespace detail { class nsRefPtrZero; } template inline bool operator==(const nsRefPtr& aLhs, ::detail::nsRefPtrZero* aRhs) { return static_cast(aLhs.get()) == reinterpret_cast(aRhs); } template inline bool operator==(::detail::nsRefPtrZero* aLhs, const nsRefPtr& aRhs) { return reinterpret_cast(aLhs) == static_cast(aRhs.get()); } template inline bool operator!=(const nsRefPtr& aLhs, ::detail::nsRefPtrZero* aRhs) { return static_cast(aLhs.get()) != reinterpret_cast(aRhs); } template inline bool operator!=(::detail::nsRefPtrZero* aLhs, const nsRefPtr& aRhs) { return reinterpret_cast(aLhs) != static_cast(aRhs.get()); } template inline nsresult CallQueryInterface(nsRefPtr& aSourcePtr, DestinationType** aDestPtr) { return CallQueryInterface(aSourcePtr.get(), aDestPtr); } # 12 "../../../dist/include/nsAutoPtr.h" 2 # 20 "../../../dist/include/nsAutoPtr.h" template class nsAutoPtr { private: void** begin_assignment() { assign(0); return reinterpret_cast(&mRawPtr); } void assign(T* aNewPtr) { T* oldPtr = mRawPtr; if (aNewPtr && aNewPtr == oldPtr) { NS_DebugBreak(NS_DEBUG_ABORT, "Logic flaw in the caller", nullptr, "../../../dist/include/nsAutoPtr.h", 37); } mRawPtr = aNewPtr; delete oldPtr; } class Ptr { public: Ptr(T* aPtr) : mPtr(aPtr) { } operator T*() const { return mPtr; } private: T* mPtr; }; private: T* mRawPtr; public: typedef T element_type; ~nsAutoPtr() { delete mRawPtr; } nsAutoPtr() : mRawPtr(0) { } nsAutoPtr(Ptr aRawPtr) : mRawPtr(aRawPtr) { } nsAutoPtr(nsAutoPtr& aSmartPtr) : mRawPtr(aSmartPtr.forget()) { } nsAutoPtr(nsAutoPtr&& aSmartPtr) : mRawPtr(aSmartPtr.forget()) { } nsAutoPtr& operator=(T* aRhs) { assign(aRhs); return *this; } nsAutoPtr& operator=(nsAutoPtr& aRhs) { assign(aRhs.forget()); return *this; } nsAutoPtr& operator=(nsAutoPtr&& aRhs) { assign(aRhs.forget()); return *this; } T* get() const { return mRawPtr; } operator T*() const # 151 "../../../dist/include/nsAutoPtr.h" { return get(); } T* forget() { T* temp = mRawPtr; mRawPtr = 0; return temp; } T* operator->() const { do { } while(0) ; return get(); } template U& operator->*(U V::* aMember) { do { } while(0) ; return get()->*aMember; } nsAutoPtr* get_address() { return this; } const nsAutoPtr* get_address() const { return this; } public: T& operator*() const { do { } while(0) ; return *get(); } T** StartAssignment() { return reinterpret_cast(begin_assignment()); } }; template inline nsAutoPtr* address_of(nsAutoPtr& aPtr) { return aPtr.get_address(); } template inline const nsAutoPtr* address_of(const nsAutoPtr& aPtr) { return aPtr.get_address(); } template class nsAutoPtrGetterTransfers # 255 "../../../dist/include/nsAutoPtr.h" { public: explicit nsAutoPtrGetterTransfers(nsAutoPtr& aSmartPtr) : mTargetSmartPtr(aSmartPtr) { } operator void**() { return reinterpret_cast(mTargetSmartPtr.StartAssignment()); } operator T**() { return mTargetSmartPtr.StartAssignment(); } T*& operator*() { return *(mTargetSmartPtr.StartAssignment()); } private: nsAutoPtr& mTargetSmartPtr; }; template inline nsAutoPtrGetterTransfers getter_Transfers(nsAutoPtr& aSmartPtr) { return nsAutoPtrGetterTransfers(aSmartPtr); } template inline bool operator==(const nsAutoPtr& aLhs, const nsAutoPtr& aRhs) { return static_cast(aLhs.get()) == static_cast(aRhs.get()); } template inline bool operator!=(const nsAutoPtr& aLhs, const nsAutoPtr& aRhs) { return static_cast(aLhs.get()) != static_cast(aRhs.get()); } template inline bool operator==(const nsAutoPtr& aLhs, const U* aRhs) { return static_cast(aLhs.get()) == static_cast(aRhs); } template inline bool operator==(const U* aLhs, const nsAutoPtr& aRhs) { return static_cast(aLhs) == static_cast(aRhs.get()); } template inline bool operator!=(const nsAutoPtr& aLhs, const U* aRhs) { return static_cast(aLhs.get()) != static_cast(aRhs); } template inline bool operator!=(const U* aLhs, const nsAutoPtr& aRhs) { return static_cast(aLhs) != static_cast(aRhs.get()); } template inline bool operator==(const nsAutoPtr& aLhs, U* aRhs) { return static_cast(aLhs.get()) == const_cast(aRhs); } template inline bool operator==(U* aLhs, const nsAutoPtr& aRhs) { return const_cast(aLhs) == static_cast(aRhs.get()); } template inline bool operator!=(const nsAutoPtr& aLhs, U* aRhs) { return static_cast(aLhs.get()) != const_cast(aRhs); } template inline bool operator!=(U* aLhs, const nsAutoPtr& aRhs) { return const_cast(aLhs) != static_cast(aRhs.get()); } template inline bool operator==(const nsAutoPtr& aLhs, NSCAP_Zero* aRhs) { return static_cast(aLhs.get()) == reinterpret_cast(aRhs); } template inline bool operator==(NSCAP_Zero* aLhs, const nsAutoPtr& aRhs) { return reinterpret_cast(aLhs) == static_cast(aRhs.get()); } template inline bool operator!=(const nsAutoPtr& aLhs, NSCAP_Zero* aRhs) { return static_cast(aLhs.get()) != reinterpret_cast(aRhs); } template inline bool operator!=(NSCAP_Zero* aLhs, const nsAutoPtr& aRhs) { return reinterpret_cast(aLhs) != static_cast(aRhs.get()); } template class nsAutoArrayPtr { private: void** begin_assignment() { assign(0); return reinterpret_cast(&mRawPtr); } void assign(T* aNewPtr) { T* oldPtr = mRawPtr; mRawPtr = aNewPtr; delete [] oldPtr; } private: T* mRawPtr; public: typedef T element_type; ~nsAutoArrayPtr() { delete [] mRawPtr; } nsAutoArrayPtr() : mRawPtr(0) { } nsAutoArrayPtr(T* aRawPtr) : mRawPtr(aRawPtr) { } nsAutoArrayPtr(nsAutoArrayPtr& aSmartPtr) : mRawPtr(aSmartPtr.forget()) { } nsAutoArrayPtr& operator=(T* aRhs) { assign(aRhs); return *this; } nsAutoArrayPtr& operator=(nsAutoArrayPtr& aRhs) { assign(aRhs.forget()); return *this; } T* get() const { return mRawPtr; } operator T*() const # 505 "../../../dist/include/nsAutoPtr.h" { return get(); } T* forget() { T* temp = mRawPtr; mRawPtr = 0; return temp; } T* operator->() const { do { } while(0) ; return get(); } nsAutoArrayPtr* get_address() { return this; } const nsAutoArrayPtr* get_address() const { return this; } public: T& operator*() const { do { } while(0) ; return *get(); } T** StartAssignment() { return reinterpret_cast(begin_assignment()); } size_t SizeOfExcludingThis(mozilla::MallocSizeOf aMallocSizeOf) const { return aMallocSizeOf(mRawPtr); } size_t SizeOfIncludingThis(mozilla::MallocSizeOf aMallocSizeOf) const { return aMallocSizeOf(this) + SizeOfExcludingThis(aMallocSizeOf); } }; template inline nsAutoArrayPtr* address_of(nsAutoArrayPtr& aPtr) { return aPtr.get_address(); } template inline const nsAutoArrayPtr* address_of(const nsAutoArrayPtr& aPtr) { return aPtr.get_address(); } template class nsAutoArrayPtrGetterTransfers # 607 "../../../dist/include/nsAutoPtr.h" { public: explicit nsAutoArrayPtrGetterTransfers(nsAutoArrayPtr& aSmartPtr) : mTargetSmartPtr(aSmartPtr) { } operator void**() { return reinterpret_cast(mTargetSmartPtr.StartAssignment()); } operator T**() { return mTargetSmartPtr.StartAssignment(); } T*& operator*() { return *(mTargetSmartPtr.StartAssignment()); } private: nsAutoArrayPtr& mTargetSmartPtr; }; template inline nsAutoArrayPtrGetterTransfers getter_Transfers(nsAutoArrayPtr& aSmartPtr) { return nsAutoArrayPtrGetterTransfers(aSmartPtr); } template inline bool operator==(const nsAutoArrayPtr& aLhs, const nsAutoArrayPtr& aRhs) { return static_cast(aLhs.get()) == static_cast(aRhs.get()); } template inline bool operator!=(const nsAutoArrayPtr& aLhs, const nsAutoArrayPtr& aRhs) { return static_cast(aLhs.get()) != static_cast(aRhs.get()); } template inline bool operator==(const nsAutoArrayPtr& aLhs, const U* aRhs) { return static_cast(aLhs.get()) == static_cast(aRhs); } template inline bool operator==(const U* aLhs, const nsAutoArrayPtr& aRhs) { return static_cast(aLhs) == static_cast(aRhs.get()); } template inline bool operator!=(const nsAutoArrayPtr& aLhs, const U* aRhs) { return static_cast(aLhs.get()) != static_cast(aRhs); } template inline bool operator!=(const U* aLhs, const nsAutoArrayPtr& aRhs) { return static_cast(aLhs) != static_cast(aRhs.get()); } template inline bool operator==(const nsAutoArrayPtr& aLhs, U* aRhs) { return static_cast(aLhs.get()) == const_cast(aRhs); } template inline bool operator==(U* aLhs, const nsAutoArrayPtr& aRhs) { return const_cast(aLhs) == static_cast(aRhs.get()); } template inline bool operator!=(const nsAutoArrayPtr& aLhs, U* aRhs) { return static_cast(aLhs.get()) != const_cast(aRhs); } template inline bool operator!=(U* aLhs, const nsAutoArrayPtr& aRhs) { return const_cast(aLhs) != static_cast(aRhs.get()); } template inline bool operator==(const nsAutoArrayPtr& aLhs, NSCAP_Zero* aRhs) { return static_cast(aLhs.get()) == reinterpret_cast(aRhs); } template inline bool operator==(NSCAP_Zero* aLhs, const nsAutoArrayPtr& aRhs) { return reinterpret_cast(aLhs) == static_cast(aRhs.get()); } template inline bool operator!=(const nsAutoArrayPtr& aLhs, NSCAP_Zero* aRhs) { return static_cast(aLhs.get()) != reinterpret_cast(aRhs); } template inline bool operator!=(NSCAP_Zero* aLhs, const nsAutoArrayPtr& aRhs) { return reinterpret_cast(aLhs) != static_cast(aRhs.get()); } template class nsQueryObject : public nsCOMPtr_helper { public: explicit nsQueryObject(T* aRawPtr) : mRawPtr(aRawPtr) { } virtual nsresult __attribute__ ((regparm (3), stdcall)) operator()(const nsIID& aIID, void** aResult) const { nsresult status = mRawPtr ? mRawPtr->QueryInterface(aIID, aResult) : nsresult::NS_ERROR_NULL_POINTER; return status; } private: T* mRawPtr; }; template class nsQueryObjectWithError : public nsCOMPtr_helper { public: nsQueryObjectWithError(T* aRawPtr, nsresult* aErrorPtr) : mRawPtr(aRawPtr), mErrorPtr(aErrorPtr) { } virtual nsresult __attribute__ ((regparm (3), stdcall)) operator()(const nsIID& aIID, void** aResult) const { nsresult status = mRawPtr ? mRawPtr->QueryInterface(aIID, aResult) : nsresult::NS_ERROR_NULL_POINTER; if (mErrorPtr) { *mErrorPtr = status; } return status; } private: T* mRawPtr; nsresult* mErrorPtr; }; template inline nsQueryObject do_QueryObject(T* aRawPtr) { return nsQueryObject(aRawPtr); } template inline nsQueryObject do_QueryObject(nsCOMPtr& aRawPtr) { return nsQueryObject(aRawPtr); } template inline nsQueryObject do_QueryObject(nsRefPtr& aRawPtr) { return nsQueryObject(aRawPtr); } template inline nsQueryObjectWithError do_QueryObject(T* aRawPtr, nsresult* aErrorPtr) { return nsQueryObjectWithError(aRawPtr, aErrorPtr); } template inline nsQueryObjectWithError do_QueryObject(nsCOMPtr& aRawPtr, nsresult* aErrorPtr) { return nsQueryObjectWithError(aRawPtr, aErrorPtr); } template inline nsQueryObjectWithError do_QueryObject(nsRefPtr& aRawPtr, nsresult* aErrorPtr) { return nsQueryObjectWithError(aRawPtr, aErrorPtr); } # 14 "../../../dist/include/nsHashKeys.h" 2 # 1 "../../../dist/include/pldhash.h" 1 # 14 "../../../dist/include/pldhash.h" # 1 "../../../dist/include/mozilla/Types.h" 1 # 15 "../../../dist/include/pldhash.h" 2 # 57 "../../../dist/include/pldhash.h" typedef uint32_t PLDHashNumber; typedef struct PLDHashEntryHdr PLDHashEntryHdr; typedef struct PLDHashEntryStub PLDHashEntryStub; typedef struct PLDHashTable PLDHashTable; typedef struct PLDHashTableOps PLDHashTableOps; # 87 "../../../dist/include/pldhash.h" struct PLDHashEntryHdr { PLDHashNumber keyHash; }; __attribute__((always_inline)) inline bool PL_DHASH_ENTRY_IS_FREE(PLDHashEntryHdr* aEntry) { return aEntry->keyHash == 0; } __attribute__((always_inline)) inline bool PL_DHASH_ENTRY_IS_BUSY(PLDHashEntryHdr* aEntry) { return !PL_DHASH_ENTRY_IS_FREE(aEntry); } typedef enum PLDHashOperator { PL_DHASH_LOOKUP = 0, PL_DHASH_ADD = 1, PL_DHASH_REMOVE = 2, PL_DHASH_NEXT = 0, PL_DHASH_STOP = 1 } PLDHashOperator; # 158 "../../../dist/include/pldhash.h" typedef PLDHashOperator (*PLDHashEnumerator)(PLDHashTable* aTable, PLDHashEntryHdr* aHdr, uint32_t aNumber, void* aArg); typedef size_t (*PLDHashSizeOfEntryExcludingThisFun)( PLDHashEntryHdr* aHdr, mozilla::MallocSizeOf aMallocSizeOf, void* aArg); # 179 "../../../dist/include/pldhash.h" struct PLDHashTable { const PLDHashTableOps* ops; void* data; private: int16_t mHashShift; mutable uint16_t mRecursionLevel; uint32_t mEntrySize; uint32_t mEntryCount; uint32_t mRemovedCount; uint32_t mGeneration; char* mEntryStore; # 227 "../../../dist/include/pldhash.h" public: uint32_t Capacity() const { return ((uint32_t)1 << (32 - mHashShift)); } uint32_t EntrySize() const { return mEntrySize; } uint32_t EntryCount() const { return mEntryCount; } uint32_t Generation() const { return mGeneration; } bool Init(const PLDHashTableOps* aOps, void* aData, uint32_t aEntrySize, const mozilla::fallible_t&, uint32_t aLength); void Finish(); PLDHashEntryHdr* Operate(const void* aKey, PLDHashOperator aOp); void RawRemove(PLDHashEntryHdr* aEntry); uint32_t Enumerate(PLDHashEnumerator aEtor, void* aArg); size_t SizeOfIncludingThis( PLDHashSizeOfEntryExcludingThisFun aSizeOfEntryExcludingThis, mozilla::MallocSizeOf aMallocSizeOf, void* aArg = nullptr) const; size_t SizeOfExcludingThis( PLDHashSizeOfEntryExcludingThisFun aSizeOfEntryExcludingThis, mozilla::MallocSizeOf aMallocSizeOf, void* aArg = nullptr) const; void MoveEntryStub(const PLDHashEntryHdr* aFrom, PLDHashEntryHdr* aTo); void ClearEntryStub(PLDHashEntryHdr* aEntry); void FreeStringKey(PLDHashEntryHdr* aEntry); # 280 "../../../dist/include/pldhash.h" class Iterator { public: explicit Iterator(const PLDHashTable* aTable); Iterator(const Iterator& aIterator); ~Iterator(); bool HasMoreEntries() const; PLDHashEntryHdr* NextEntry(); private: const PLDHashTable* mTable; char* mEntryAddr; uint32_t mEntryOffset; }; Iterator Iterate() const { return Iterator(this); } private: PLDHashEntryHdr* __attribute__ ((regparm (3),stdcall)) SearchTable(const void* aKey, PLDHashNumber aKeyHash, PLDHashOperator aOp); PLDHashEntryHdr* __attribute__ ((regparm (3),stdcall)) FindFreeEntry(PLDHashNumber aKeyHash); bool ChangeTable(int aDeltaLog2); }; typedef void* (*PLDHashAllocTable)(PLDHashTable* aTable, uint32_t aNBytes); typedef void (*PLDHashFreeTable)(PLDHashTable* aTable, void* aPtr); typedef PLDHashNumber (*PLDHashHashKey)(PLDHashTable* aTable, const void* aKey); typedef bool (*PLDHashMatchEntry)(PLDHashTable* aTable, const PLDHashEntryHdr* aEntry, const void* aKey); typedef void (*PLDHashMoveEntry)(PLDHashTable* aTable, const PLDHashEntryHdr* aFrom, PLDHashEntryHdr* aTo); typedef void (*PLDHashClearEntry)(PLDHashTable* aTable, PLDHashEntryHdr* aEntry); typedef void (*PLDHashFinalize)(PLDHashTable* aTable); # 361 "../../../dist/include/pldhash.h" typedef bool (*PLDHashInitEntry)(PLDHashTable* aTable, PLDHashEntryHdr* aEntry, const void* aKey); # 391 "../../../dist/include/pldhash.h" struct PLDHashTableOps { PLDHashAllocTable allocTable; PLDHashFreeTable freeTable; PLDHashHashKey hashKey; PLDHashMatchEntry matchEntry; PLDHashMoveEntry moveEntry; PLDHashClearEntry clearEntry; PLDHashFinalize finalize; PLDHashInitEntry initEntry; }; void* PL_DHashAllocTable(PLDHashTable* aTable, uint32_t aNBytes); void PL_DHashFreeTable(PLDHashTable* aTable, void* aPtr); PLDHashNumber PL_DHashStringKey(PLDHashTable* aTable, const void* aKey); struct PLDHashEntryStub { PLDHashEntryHdr hdr; const void* key; }; PLDHashNumber PL_DHashVoidPtrKeyStub(PLDHashTable* aTable, const void* aKey); bool PL_DHashMatchEntryStub(PLDHashTable* aTable, const PLDHashEntryHdr* aEntry, const void* aKey); bool PL_DHashMatchStringKey(PLDHashTable* aTable, const PLDHashEntryHdr* aEntry, const void* aKey); void PL_DHashMoveEntryStub(PLDHashTable* aTable, const PLDHashEntryHdr* aFrom, PLDHashEntryHdr* aTo); void PL_DHashClearEntryStub(PLDHashTable* aTable, PLDHashEntryHdr* aEntry); void PL_DHashFreeStringKey(PLDHashTable* aTable, PLDHashEntryHdr* aEntry); void PL_DHashFinalizeStub(PLDHashTable* aTable); const PLDHashTableOps* PL_DHashGetStubOps(void); PLDHashTable* PL_NewDHashTable( const PLDHashTableOps* aOps, void* aData, uint32_t aEntrySize, uint32_t aLength = 4); void PL_DHashTableDestroy(PLDHashTable* aTable); # 475 "../../../dist/include/pldhash.h" void PL_DHashTableInit( PLDHashTable* aTable, const PLDHashTableOps* aOps, void* aData, uint32_t aEntrySize, uint32_t aLength = 4); __attribute__ ((warn_unused_result)) bool PL_DHashTableInit( PLDHashTable* aTable, const PLDHashTableOps* aOps, void* aData, uint32_t aEntrySize, const mozilla::fallible_t&, uint32_t aLength = 4); void PL_DHashTableFinish(PLDHashTable* aTable); # 526 "../../../dist/include/pldhash.h" PLDHashEntryHdr* __attribute__ ((regparm (3),stdcall)) PL_DHashTableOperate(PLDHashTable* aTable, const void* aKey, PLDHashOperator aOp); # 539 "../../../dist/include/pldhash.h" void PL_DHashTableRawRemove(PLDHashTable* aTable, PLDHashEntryHdr* aEntry); uint32_t PL_DHashTableEnumerate(PLDHashTable* aTable, PLDHashEnumerator aEtor, void* aArg); size_t PL_DHashTableSizeOfExcludingThis( const PLDHashTable* aTable, PLDHashSizeOfEntryExcludingThisFun aSizeOfEntryExcludingThis, mozilla::MallocSizeOf aMallocSizeOf, void* aArg = nullptr); size_t PL_DHashTableSizeOfIncludingThis( const PLDHashTable* aTable, PLDHashSizeOfEntryExcludingThisFun aSizeOfEntryExcludingThis, mozilla::MallocSizeOf aMallocSizeOf, void* aArg = nullptr); # 16 "../../../dist/include/nsHashKeys.h" 2 # 1 "../../../dist/include/nsStringGlue.h" 1 # 19 "../../../dist/include/nsHashKeys.h" 2 # 1 "../../../dist/include/nsCRTGlue.h" 1 # 20 "../../../dist/include/nsCRTGlue.h" const char* NS_strspnp(const char* aDelims, const char* aStr); # 38 "../../../dist/include/nsCRTGlue.h" char* NS_strtok(const char* aDelims, char** aStr); uint32_t NS_strlen(const char16_t* aString); int NS_strcmp(const char16_t* aStrA, const char16_t* aStrB); char16_t* NS_strdup(const char16_t* aString); char* NS_strdup(const char* aString); char16_t* NS_strndup(const char16_t* aString, uint32_t aLen); class nsLowerUpperUtils { public: static const unsigned char kLower2Upper[256]; static const unsigned char kUpper2Lower[256]; }; inline char NS_ToUpper(char aChar) { return (char)nsLowerUpperUtils::kLower2Upper[(unsigned char)aChar]; } inline char NS_ToLower(char aChar) { return (char)nsLowerUpperUtils::kUpper2Lower[(unsigned char)aChar]; } bool NS_IsUpper(char aChar); bool NS_IsLower(char aChar); bool NS_IsAscii(char16_t aChar); bool NS_IsAscii(const char16_t* aString); bool NS_IsAsciiAlpha(char16_t aChar); bool NS_IsAsciiDigit(char16_t aChar); bool NS_IsAsciiWhitespace(char16_t aChar); bool NS_IsAscii(const char* aString); bool NS_IsAscii(const char* aString, uint32_t aLength); void NS_MakeRandomString(char* aBuf, int32_t aBufLen); # 20 "../../../dist/include/nsHashKeys.h" 2 # 1 "../../../dist/include/nsUnicharUtils.h" 1 # 19 "../../../dist/include/nsUnicharUtils.h" void ToLowerCase(nsAString_internal&); void ToUpperCase(nsAString_internal&); void ToLowerCase(const nsAString_internal& aSource, nsAString_internal& aDest); void ToUpperCase(const nsAString_internal& aSource, nsAString_internal& aDest); uint32_t ToLowerCase(uint32_t); uint32_t ToUpperCase(uint32_t); uint32_t ToTitleCase(uint32_t); void ToLowerCase(const char16_t*, char16_t*, uint32_t); void ToUpperCase(const char16_t*, char16_t*, uint32_t); inline bool IsUpperCase(uint32_t c) { return ToLowerCase(c) != c; } inline bool IsLowerCase(uint32_t c) { return ToUpperCase(c) != c; } class nsCaseInsensitiveStringComparator : public nsStringComparator { public: virtual int32_t operator() (const char16_t*, const char16_t*, uint32_t, uint32_t) const; }; class nsCaseInsensitiveUTF8StringComparator : public nsCStringComparator { public: virtual int32_t operator() (const char*, const char*, uint32_t, uint32_t) const; }; class nsCaseInsensitiveStringArrayComparator { public: template bool Equals(const A& a, const B& b) const { return a.Equals(b, nsCaseInsensitiveStringComparator()); } }; class nsASCIICaseInsensitiveStringComparator : public nsStringComparator { public: nsASCIICaseInsensitiveStringComparator() {} virtual int operator() (const char16_t*, const char16_t*, uint32_t, uint32_t) const; }; inline bool CaseInsensitiveFindInReadable(const nsAString_internal& aPattern, nsAString_internal::const_iterator& aSearchStart, nsAString_internal::const_iterator& aSearchEnd) { return FindInReadable(aPattern, aSearchStart, aSearchEnd, nsCaseInsensitiveStringComparator()); } inline bool CaseInsensitiveFindInReadable(const nsAString_internal& aPattern, const nsAString_internal& aHay) { nsAString_internal::const_iterator searchBegin, searchEnd; return FindInReadable(aPattern, aHay.BeginReading(searchBegin), aHay.EndReading(searchEnd), nsCaseInsensitiveStringComparator()); } int32_t CaseInsensitiveCompare(const char16_t *a, const char16_t *b, uint32_t len); int32_t CaseInsensitiveCompare(const char* aLeft, const char* aRight, uint32_t aLeftBytes, uint32_t aRightBytes); # 126 "../../../dist/include/nsUnicharUtils.h" bool CaseInsensitiveUTF8CharsEqual(const char* aLeft, const char* aRight, const char* aLeftEnd, const char* aRightEnd, const char** aLeftNext, const char** aRightNext, bool* aErr); namespace mozilla { # 142 "../../../dist/include/nsUnicharUtils.h" uint32_t HashUTF8AsUTF16(const char* aUTF8, uint32_t aLength, bool* aErr); } # 21 "../../../dist/include/nsHashKeys.h" 2 # 1 "../../../dist/system_wrappers/stdlib.h" 1 # 2 "../../../dist/system_wrappers/stdlib.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 23 "../../../dist/include/nsHashKeys.h" 2 # 1 "../../../dist/system_wrappers/string.h" 1 # 2 "../../../dist/system_wrappers/string.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 24 "../../../dist/include/nsHashKeys.h" 2 # 1 "../../../dist/include/mozilla/HashFunctions.h" 1 # 55 "../../../dist/include/mozilla/HashFunctions.h" # 1 "../../../dist/system_wrappers/stdint.h" 1 # 2 "../../../dist/system_wrappers/stdint.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 56 "../../../dist/include/mozilla/HashFunctions.h" 2 namespace mozilla { static const uint32_t kGoldenRatioU32 = 0x9E3779B9U; inline uint32_t RotateBitsLeft32(uint32_t aValue, uint8_t aBits) { do { } while (0); return (aValue << aBits) | (aValue >> (32 - aBits)); } namespace detail { inline uint32_t AddU32ToHash(uint32_t aHash, uint32_t aValue) { # 116 "../../../dist/include/mozilla/HashFunctions.h" return kGoldenRatioU32 * (RotateBitsLeft32(aHash, 5) ^ aValue); } template inline uint32_t AddUintptrToHash(uint32_t aHash, uintptr_t aValue); template<> inline uint32_t AddUintptrToHash<4>(uint32_t aHash, uintptr_t aValue) { return AddU32ToHash(aHash, static_cast(aValue)); } template<> inline uint32_t AddUintptrToHash<8>(uint32_t aHash, uintptr_t aValue) { uint32_t v1 = static_cast(aValue); uint32_t v2 = static_cast(static_cast(aValue) >> 32); return AddU32ToHash(AddU32ToHash(aHash, v1), v2); } } # 158 "../../../dist/include/mozilla/HashFunctions.h" template __attribute__ ((warn_unused_result)) inline uint32_t AddToHash(uint32_t aHash, A aA) { return detail::AddU32ToHash(aHash, aA); } template __attribute__ ((warn_unused_result)) inline uint32_t AddToHash(uint32_t aHash, A* aA) { static_assert(sizeof(aA) == sizeof(uintptr_t), "Strange pointer!"); return detail::AddUintptrToHash(aHash, uintptr_t(aA)); } template<> __attribute__ ((warn_unused_result)) inline uint32_t AddToHash(uint32_t aHash, uintptr_t aA) { return detail::AddUintptrToHash(aHash, aA); } template __attribute__ ((warn_unused_result)) uint32_t AddToHash(uint32_t aHash, A aA, B aB) { return AddToHash(AddToHash(aHash, aA), aB); } template __attribute__ ((warn_unused_result)) uint32_t AddToHash(uint32_t aHash, A aA, B aB, C aC) { return AddToHash(AddToHash(aHash, aA, aB), aC); } template __attribute__ ((warn_unused_result)) uint32_t AddToHash(uint32_t aHash, A aA, B aB, C aC, D aD) { return AddToHash(AddToHash(aHash, aA, aB, aC), aD); } template __attribute__ ((warn_unused_result)) uint32_t AddToHash(uint32_t aHash, A aA, B aB, C aC, D aD, E aE) { return AddToHash(AddToHash(aHash, aA, aB, aC, aD), aE); } # 225 "../../../dist/include/mozilla/HashFunctions.h" template __attribute__ ((warn_unused_result)) inline uint32_t HashGeneric(A aA) { return AddToHash(0, aA); } template __attribute__ ((warn_unused_result)) inline uint32_t HashGeneric(A aA, B aB) { return AddToHash(0, aA, aB); } template __attribute__ ((warn_unused_result)) inline uint32_t HashGeneric(A aA, B aB, C aC) { return AddToHash(0, aA, aB, aC); } template __attribute__ ((warn_unused_result)) inline uint32_t HashGeneric(A aA, B aB, C aC, D aD) { return AddToHash(0, aA, aB, aC, aD); } template __attribute__ ((warn_unused_result)) inline uint32_t HashGeneric(A aA, B aB, C aC, D aD, E aE) { return AddToHash(0, aA, aB, aC, aD, aE); } namespace detail { template uint32_t HashUntilZero(const T* aStr) { uint32_t hash = 0; for (T c; (c = *aStr); aStr++) { hash = AddToHash(hash, c); } return hash; } template uint32_t HashKnownLength(const T* aStr, size_t aLength) { uint32_t hash = 0; for (size_t i = 0; i < aLength; i++) { hash = AddToHash(hash, aStr[i]); } return hash; } } __attribute__ ((warn_unused_result)) inline uint32_t HashString(const char* aStr) { return detail::HashUntilZero(reinterpret_cast(aStr)); } __attribute__ ((warn_unused_result)) inline uint32_t HashString(const char* aStr, size_t aLength) { return detail::HashKnownLength(reinterpret_cast(aStr), aLength); } __attribute__ ((warn_unused_result)) inline uint32_t HashString(const unsigned char* aStr, size_t aLength) { return detail::HashKnownLength(aStr, aLength); } __attribute__ ((warn_unused_result)) inline uint32_t HashString(const uint16_t* aStr) { return detail::HashUntilZero(aStr); } __attribute__ ((warn_unused_result)) inline uint32_t HashString(const uint16_t* aStr, size_t aLength) { return detail::HashKnownLength(aStr, aLength); } __attribute__ ((warn_unused_result)) inline uint32_t HashString(const char16_t* aStr) { return detail::HashUntilZero(aStr); } __attribute__ ((warn_unused_result)) inline uint32_t HashString(const char16_t* aStr, size_t aLength) { return detail::HashKnownLength(aStr, aLength); } # 361 "../../../dist/include/mozilla/HashFunctions.h" __attribute__ ((warn_unused_result)) extern __attribute__((weak)) __attribute__((visibility("default"))) uint32_t HashBytes(const void* bytes, size_t aLength); } # 26 "../../../dist/include/nsHashKeys.h" 2 namespace mozilla { inline uint32_t HashString(const nsAString_internal& aStr) { return HashString(aStr.BeginReading(), aStr.Length()); } inline uint32_t HashString(const nsACString_internal& aStr) { return HashString(aStr.BeginReading(), aStr.Length()); } } # 74 "../../../dist/include/nsHashKeys.h" class nsStringHashKey : public PLDHashEntryHdr { public: typedef const nsAString_internal& KeyType; typedef const nsAString_internal* KeyTypePointer; explicit nsStringHashKey(KeyTypePointer aStr) : mStr(*aStr) {} nsStringHashKey(const nsStringHashKey& aToCopy) : mStr(aToCopy.mStr) {} ~nsStringHashKey() {} KeyType GetKey() const { return mStr; } bool KeyEquals(const KeyTypePointer aKey) const { return mStr.Equals(*aKey); } static KeyTypePointer KeyToPointer(KeyType aKey) { return &aKey; } static PLDHashNumber HashKey(const KeyTypePointer aKey) { return mozilla::HashString(*aKey); } size_t SizeOfExcludingThis(mozilla::MallocSizeOf aMallocSizeOf) const { return GetKey().SizeOfExcludingThisMustBeUnshared(aMallocSizeOf); } enum { ALLOW_MEMMOVE = true }; private: const nsString mStr; }; # 120 "../../../dist/include/nsHashKeys.h" class nsStringCaseInsensitiveHashKey : public PLDHashEntryHdr { public: typedef const nsAString_internal& KeyType; typedef const nsAString_internal* KeyTypePointer; explicit nsStringCaseInsensitiveHashKey(KeyTypePointer aStr) : mStr(*aStr) { } nsStringCaseInsensitiveHashKey(const nsStringCaseInsensitiveHashKey& aToCopy) : mStr(aToCopy.mStr) { } ~nsStringCaseInsensitiveHashKey() {} KeyType GetKey() const { return mStr; } bool KeyEquals(const KeyTypePointer aKey) const { return mStr.Equals(*aKey, nsCaseInsensitiveStringComparator()); } static KeyTypePointer KeyToPointer(KeyType aKey) { return &aKey; } static PLDHashNumber HashKey(const KeyTypePointer aKey) { nsAutoString tmKey(*aKey); ToLowerCase(tmKey); return mozilla::HashString(tmKey); } enum { ALLOW_MEMMOVE = true }; size_t SizeOfExcludingThis(mozilla::MallocSizeOf aMallocSizeOf) const { return GetKey().SizeOfExcludingThisMustBeUnshared(aMallocSizeOf); } private: const nsString mStr; }; # 169 "../../../dist/include/nsHashKeys.h" class nsCStringHashKey : public PLDHashEntryHdr { public: typedef const nsACString_internal& KeyType; typedef const nsACString_internal* KeyTypePointer; explicit nsCStringHashKey(const nsACString_internal* aStr) : mStr(*aStr) {} nsCStringHashKey(const nsCStringHashKey& aToCopy) : mStr(aToCopy.mStr) {} ~nsCStringHashKey() {} KeyType GetKey() const { return mStr; } bool KeyEquals(KeyTypePointer aKey) const { return mStr.Equals(*aKey); } static KeyTypePointer KeyToPointer(KeyType aKey) { return &aKey; } static PLDHashNumber HashKey(KeyTypePointer aKey) { return mozilla::HashString(*aKey); } size_t SizeOfExcludingThis(mozilla::MallocSizeOf aMallocSizeOf) const { return GetKey().SizeOfExcludingThisMustBeUnshared(aMallocSizeOf); } enum { ALLOW_MEMMOVE = true }; private: const nsCString mStr; }; class nsUint32HashKey : public PLDHashEntryHdr { public: typedef const uint32_t& KeyType; typedef const uint32_t* KeyTypePointer; explicit nsUint32HashKey(KeyTypePointer aKey) : mValue(*aKey) {} nsUint32HashKey(const nsUint32HashKey& aToCopy) : mValue(aToCopy.mValue) {} ~nsUint32HashKey() {} KeyType GetKey() const { return mValue; } bool KeyEquals(KeyTypePointer aKey) const { return *aKey == mValue; } static KeyTypePointer KeyToPointer(KeyType aKey) { return &aKey; } static PLDHashNumber HashKey(KeyTypePointer aKey) { return *aKey; } enum { ALLOW_MEMMOVE = true }; private: const uint32_t mValue; }; class nsUint64HashKey : public PLDHashEntryHdr { public: typedef const uint64_t& KeyType; typedef const uint64_t* KeyTypePointer; explicit nsUint64HashKey(KeyTypePointer aKey) : mValue(*aKey) {} nsUint64HashKey(const nsUint64HashKey& aToCopy) : mValue(aToCopy.mValue) {} ~nsUint64HashKey() {} KeyType GetKey() const { return mValue; } bool KeyEquals(KeyTypePointer aKey) const { return *aKey == mValue; } static KeyTypePointer KeyToPointer(KeyType aKey) { return &aKey; } static PLDHashNumber HashKey(KeyTypePointer aKey) { return PLDHashNumber(*aKey); } enum { ALLOW_MEMMOVE = true }; private: const uint64_t mValue; }; class nsFloatHashKey : public PLDHashEntryHdr { public: typedef const float& KeyType; typedef const float* KeyTypePointer; explicit nsFloatHashKey(KeyTypePointer aKey) : mValue(*aKey) {} nsFloatHashKey(const nsFloatHashKey& aToCopy) : mValue(aToCopy.mValue) {} ~nsFloatHashKey() {} KeyType GetKey() const { return mValue; } bool KeyEquals(KeyTypePointer aKey) const { return *aKey == mValue; } static KeyTypePointer KeyToPointer(KeyType aKey) { return &aKey; } static PLDHashNumber HashKey(KeyTypePointer aKey) { return *reinterpret_cast(aKey); } enum { ALLOW_MEMMOVE = true }; private: const float mValue; }; class nsISupportsHashKey : public PLDHashEntryHdr { public: typedef nsISupports* KeyType; typedef const nsISupports* KeyTypePointer; explicit nsISupportsHashKey(const nsISupports* aKey) : mSupports(const_cast(aKey)) { } nsISupportsHashKey(const nsISupportsHashKey& aToCopy) : mSupports(aToCopy.mSupports) { } ~nsISupportsHashKey() {} KeyType GetKey() const { return mSupports; } bool KeyEquals(KeyTypePointer aKey) const { return aKey == mSupports; } static KeyTypePointer KeyToPointer(KeyType aKey) { return aKey; } static PLDHashNumber HashKey(KeyTypePointer aKey) { return ((uint32_t)(intptr_t)(aKey)) >> 2; } enum { ALLOW_MEMMOVE = true }; private: nsCOMPtr mSupports; }; template class nsRefPtrHashKey : public PLDHashEntryHdr { public: typedef T* KeyType; typedef const T* KeyTypePointer; explicit nsRefPtrHashKey(const T* aKey) : mKey(const_cast(aKey)) {} nsRefPtrHashKey(const nsRefPtrHashKey& aToCopy) : mKey(aToCopy.mKey) {} ~nsRefPtrHashKey() {} KeyType GetKey() const { return mKey; } bool KeyEquals(KeyTypePointer aKey) const { return aKey == mKey; } static KeyTypePointer KeyToPointer(KeyType aKey) { return aKey; } static PLDHashNumber HashKey(KeyTypePointer aKey) { return ((uint32_t)(intptr_t)(aKey)) >> 2; } enum { ALLOW_MEMMOVE = true }; private: nsRefPtr mKey; }; template inline void ImplCycleCollectionTraverse(nsCycleCollectionTraversalCallback& aCallback, nsRefPtrHashKey& aField, const char* aName, uint32_t aFlags = 0) { CycleCollectionNoteChild(aCallback, aField.GetKey(), aName, aFlags); } template class nsPtrHashKey : public PLDHashEntryHdr { public: typedef T* KeyType; typedef const T* KeyTypePointer; explicit nsPtrHashKey(const T* aKey) : mKey(const_cast(aKey)) {} nsPtrHashKey(const nsPtrHashKey& aToCopy) : mKey(aToCopy.mKey) {} ~nsPtrHashKey() {} KeyType GetKey() const { return mKey; } bool KeyEquals(KeyTypePointer aKey) const { return aKey == mKey; } static KeyTypePointer KeyToPointer(KeyType aKey) { return aKey; } static PLDHashNumber HashKey(KeyTypePointer aKey) { return ((uint32_t)(intptr_t)(aKey)) >> 2; } enum { ALLOW_MEMMOVE = true }; protected: T* mKey; }; # 399 "../../../dist/include/nsHashKeys.h" template class nsClearingPtrHashKey : public nsPtrHashKey { public: explicit nsClearingPtrHashKey(const T* aKey) : nsPtrHashKey(aKey) {} nsClearingPtrHashKey(const nsClearingPtrHashKey& aToCopy) : nsPtrHashKey(aToCopy) { } ~nsClearingPtrHashKey() { nsPtrHashKey::mKey = nullptr; } }; typedef nsPtrHashKey nsVoidPtrHashKey; typedef nsClearingPtrHashKey nsClearingVoidPtrHashKey; template class nsFuncPtrHashKey : public PLDHashEntryHdr { public: typedef T& KeyType; typedef const T* KeyTypePointer; explicit nsFuncPtrHashKey(const T* aKey) : mKey(*const_cast(aKey)) {} nsFuncPtrHashKey(const nsFuncPtrHashKey& aToCopy) : mKey(aToCopy.mKey) {} ~nsFuncPtrHashKey() {} KeyType GetKey() const { return const_cast(mKey); } bool KeyEquals(KeyTypePointer aKey) const { return *aKey == mKey; } static KeyTypePointer KeyToPointer(KeyType aKey) { return &aKey; } static PLDHashNumber HashKey(KeyTypePointer aKey) { return ((uint32_t)(intptr_t)(*aKey)) >> 2; } enum { ALLOW_MEMMOVE = true }; protected: T mKey; }; class nsIDHashKey : public PLDHashEntryHdr { public: typedef const nsID& KeyType; typedef const nsID* KeyTypePointer; explicit nsIDHashKey(const nsID* aInID) : mID(*aInID) {} nsIDHashKey(const nsIDHashKey& aToCopy) : mID(aToCopy.mID) {} ~nsIDHashKey() {} KeyType GetKey() const { return mID; } bool KeyEquals(KeyTypePointer aKey) const { return aKey->Equals(mID); } static KeyTypePointer KeyToPointer(KeyType aKey) { return &aKey; } static PLDHashNumber HashKey(KeyTypePointer aKey) { return mozilla::HashBytes(aKey, sizeof(KeyType)); } enum { ALLOW_MEMMOVE = true }; private: const nsID mID; }; # 485 "../../../dist/include/nsHashKeys.h" class nsDepCharHashKey : public PLDHashEntryHdr { public: typedef const char* KeyType; typedef const char* KeyTypePointer; explicit nsDepCharHashKey(const char* aKey) : mKey(aKey) {} nsDepCharHashKey(const nsDepCharHashKey& aToCopy) : mKey(aToCopy.mKey) {} ~nsDepCharHashKey() {} const char* GetKey() const { return mKey; } bool KeyEquals(const char* aKey) const { return !strcmp(mKey, aKey); } static const char* KeyToPointer(const char* aKey) { return aKey; } static PLDHashNumber HashKey(const char* aKey) { return mozilla::HashString(aKey); } enum { ALLOW_MEMMOVE = true }; private: const char* mKey; }; class nsCharPtrHashKey : public PLDHashEntryHdr { public: typedef const char* KeyType; typedef const char* KeyTypePointer; explicit nsCharPtrHashKey(const char* aKey) : mKey(strdup(aKey)) {} nsCharPtrHashKey(const nsCharPtrHashKey& aToCopy) : mKey(strdup(aToCopy.mKey)) { } nsCharPtrHashKey(nsCharPtrHashKey&& aOther) : mKey(aOther.mKey) { aOther.mKey = nullptr; } ~nsCharPtrHashKey() { if (mKey) { free(const_cast(mKey)); } } const char* GetKey() const { return mKey; } bool KeyEquals(KeyTypePointer aKey) const { return !strcmp(mKey, aKey); } static KeyTypePointer KeyToPointer(KeyType aKey) { return aKey; } static PLDHashNumber HashKey(KeyTypePointer aKey) { return mozilla::HashString(aKey); } size_t SizeOfExcludingThis(mozilla::MallocSizeOf aMallocSizeOf) const { return aMallocSizeOf(mKey); } enum { ALLOW_MEMMOVE = true }; private: const char* mKey; }; class nsUnicharPtrHashKey : public PLDHashEntryHdr { public: typedef const char16_t* KeyType; typedef const char16_t* KeyTypePointer; explicit nsUnicharPtrHashKey(const char16_t* aKey) : mKey(NS_strdup(aKey)) {} nsUnicharPtrHashKey(const nsUnicharPtrHashKey& aToCopy) : mKey(NS_strdup(aToCopy.mKey)) { } nsUnicharPtrHashKey(nsUnicharPtrHashKey&& aOther) : mKey(aOther.mKey) { aOther.mKey = nullptr; } ~nsUnicharPtrHashKey() { if (mKey) { NS_Free(const_cast(mKey)); } } const char16_t* GetKey() const { return mKey; } bool KeyEquals(KeyTypePointer aKey) const { return !NS_strcmp(mKey, aKey); } static KeyTypePointer KeyToPointer(KeyType aKey) { return aKey; } static PLDHashNumber HashKey(KeyTypePointer aKey) { return mozilla::HashString(aKey); } size_t SizeOfExcludingThis(mozilla::MallocSizeOf aMallocSizeOf) const { return aMallocSizeOf(mKey); } enum { ALLOW_MEMMOVE = true }; private: const char16_t* mKey; }; class nsHashableHashKey : public PLDHashEntryHdr { public: typedef nsIHashable* KeyType; typedef const nsIHashable* KeyTypePointer; explicit nsHashableHashKey(const nsIHashable* aKey) : mKey(const_cast(aKey)) { } nsHashableHashKey(const nsHashableHashKey& aToCopy) : mKey(aToCopy.mKey) {} ~nsHashableHashKey() {} nsIHashable* GetKey() const { return mKey; } bool KeyEquals(const nsIHashable* aKey) const { bool eq; if (((bool)(__builtin_expect(!!(!NS_FAILED_impl(mKey->Equals(const_cast(aKey), &eq))), 1)))) { return eq; } return false; } static const nsIHashable* KeyToPointer(nsIHashable* aKey) { return aKey; } static PLDHashNumber HashKey(const nsIHashable* aKey) { uint32_t code = 8888; const_cast(aKey)->GetHashCode(&code); do { } while(0); return code; } enum { ALLOW_MEMMOVE = true }; private: nsCOMPtr mKey; }; template class nsGenericHashKey : public PLDHashEntryHdr { public: typedef const T& KeyType; typedef const T* KeyTypePointer; explicit nsGenericHashKey(KeyTypePointer aKey) : mKey(*aKey) {} nsGenericHashKey(const nsGenericHashKey& aOther) : mKey(aOther.mKey) {} KeyType GetKey() const { return mKey; } bool KeyEquals(KeyTypePointer aKey) const { return *aKey == mKey; } static KeyTypePointer KeyToPointer(KeyType aKey) { return &aKey; } static PLDHashNumber HashKey(KeyTypePointer aKey) { return aKey->Hash(); } enum { ALLOW_MEMMOVE = true }; private: T mKey; }; # 11 "../../../dist/include/nsDataHashtable.h" 2 # 1 "../../../dist/include/nsBaseHashtable.h" 1 # 12 "../../../dist/include/nsBaseHashtable.h" # 1 "../../../dist/include/nsTHashtable.h" 1 # 13 "../../../dist/include/nsTHashtable.h" # 1 "../../../dist/include/mozilla/MemoryChecking.h" 1 # 14 "../../../dist/include/nsTHashtable.h" 2 # 1 "../../../dist/include/mozilla/PodOperations.h" 1 # 18 "../../../dist/include/mozilla/PodOperations.h" # 1 "../../../dist/include/mozilla/Array.h" 1 # 15 "../../../dist/include/mozilla/Array.h" # 1 "../../../dist/system_wrappers/stddef.h" 1 # 2 "../../../dist/system_wrappers/stddef.h" 3 #pragma GCC visibility push(default) # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/stddef.h" 1 3 4 # 4 "../../../dist/system_wrappers/stddef.h" 2 3 #pragma GCC visibility pop # 16 "../../../dist/include/mozilla/Array.h" 2 namespace mozilla { template class Array { T mArr[Length]; public: T& operator[](size_t aIndex) { do { } while (0); return mArr[aIndex]; } const T& operator[](size_t aIndex) const { do { } while (0); return mArr[aIndex]; } }; template class Array { public: T& operator[](size_t aIndex) { do { *((volatile int*) # 44 "../../../dist/include/mozilla/Array.h" 3 4 __null # 44 "../../../dist/include/mozilla/Array.h" ) = 44; ::abort(); } while (0); } const T& operator[](size_t aIndex) const { do { *((volatile int*) # 49 "../../../dist/include/mozilla/Array.h" 3 4 __null # 49 "../../../dist/include/mozilla/Array.h" ) = 49; ::abort(); } while (0); } }; } # 19 "../../../dist/include/mozilla/PodOperations.h" 2 # 1 "../../../dist/include/mozilla/ArrayUtils.h" 1 # 17 "../../../dist/include/mozilla/ArrayUtils.h" # 1 "../../../dist/system_wrappers/stddef.h" 1 # 2 "../../../dist/system_wrappers/stddef.h" 3 #pragma GCC visibility push(default) # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/stddef.h" 1 3 4 # 4 "../../../dist/system_wrappers/stddef.h" 2 3 #pragma GCC visibility pop # 18 "../../../dist/include/mozilla/ArrayUtils.h" 2 # 1 "../../../dist/include/mozilla/Alignment.h" 1 # 12 "../../../dist/include/mozilla/Alignment.h" # 1 "../../../dist/system_wrappers/stddef.h" 1 # 2 "../../../dist/system_wrappers/stddef.h" 3 #pragma GCC visibility push(default) # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/stddef.h" 1 3 4 # 4 "../../../dist/system_wrappers/stddef.h" 2 3 #pragma GCC visibility pop # 13 "../../../dist/include/mozilla/Alignment.h" 2 # 1 "../../../dist/system_wrappers/stdint.h" 1 # 2 "../../../dist/system_wrappers/stdint.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 14 "../../../dist/include/mozilla/Alignment.h" 2 namespace mozilla { template class AlignmentFinder { struct Aligner { char mChar; T mT; }; public: static const size_t alignment = sizeof(Aligner) - sizeof(T); }; # 63 "../../../dist/include/mozilla/Alignment.h" template struct AlignedElem; template<> struct AlignedElem<1> { uint8_t elem __attribute__((aligned(1))); }; template<> struct AlignedElem<2> { uint8_t elem __attribute__((aligned(2))); }; template<> struct AlignedElem<4> { uint8_t elem __attribute__((aligned(4))); }; template<> struct AlignedElem<8> { uint8_t elem __attribute__((aligned(8))); }; template<> struct AlignedElem<16> { uint8_t elem __attribute__((aligned(16))); }; # 111 "../../../dist/include/mozilla/Alignment.h" template struct AlignedStorage { union U { char mBytes[Nbytes]; uint64_t mDummy; } u; const void* addr() const { return u.mBytes; } void* addr() { return u.mBytes; } }; template struct AlignedStorage2 { union U { char mBytes[sizeof(T)]; uint64_t mDummy; } u; const T* addr() const { return reinterpret_cast(u.mBytes); } T* addr() { return static_cast(static_cast(u.mBytes)); } }; } # 22 "../../../dist/include/mozilla/ArrayUtils.h" 2 namespace mozilla { # 39 "../../../dist/include/mozilla/ArrayUtils.h" template __attribute__((always_inline)) inline size_t PointerRangeSize(T* aBegin, T* aEnd) { do { } while (0); return (size_t(aEnd) - size_t(aBegin)) / sizeof(T); } template constexpr size_t ArrayLength(T (&aArr)[N]) { return N; } template constexpr size_t ArrayLength(const Array& aArr) { return N; } template constexpr T* ArrayEnd(T (&aArr)[N]) { return aArr + ArrayLength(aArr); } template constexpr T* ArrayEnd(Array& aArr) { return &aArr[0] + ArrayLength(aArr); } template constexpr const T* ArrayEnd(const Array& aArr) { return &aArr[0] + ArrayLength(aArr); } namespace detail { template struct AlignedChecker { static void test(Pointee* aPtr) { do { } while (0) ; } }; template struct AlignedChecker { static void test(Pointee* aPtr) { } }; } # 130 "../../../dist/include/mozilla/ArrayUtils.h" template inline typename EnableIf::value || IsBaseOf::value || IsVoid::value, bool>::Type IsInRange(T* aPtr, U* aBegin, U* aEnd) { do { } while (0); detail::AlignedChecker::test(aPtr); detail::AlignedChecker::test(aBegin); detail::AlignedChecker::test(aEnd); return aBegin <= static_cast(aPtr) && static_cast(aPtr) < aEnd; } template inline bool IsInRange(T* aPtr, uintptr_t aBegin, uintptr_t aEnd) { return IsInRange(aPtr, reinterpret_cast(aBegin), reinterpret_cast(aEnd)); } namespace detail { template char (&ArrayLengthHelper(T (&array)[N]))[N]; } } # 20 "../../../dist/include/mozilla/PodOperations.h" 2 # 1 "../../../dist/system_wrappers/stdint.h" 1 # 2 "../../../dist/system_wrappers/stdint.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 23 "../../../dist/include/mozilla/PodOperations.h" 2 # 1 "../../../dist/system_wrappers/string.h" 1 # 2 "../../../dist/system_wrappers/string.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 24 "../../../dist/include/mozilla/PodOperations.h" 2 namespace mozilla { template static __attribute__((always_inline)) inline void PodZero(T* aT) { memset(aT, 0, sizeof(T)); } template static __attribute__((always_inline)) inline void PodZero(T* aT, size_t aNElem) { for (T* end = aT + aNElem; aT < end; aT++) { memset(aT, 0, sizeof(T)); } } # 57 "../../../dist/include/mozilla/PodOperations.h" template static void PodZero(T (&aT)[N]) = delete; template static void PodZero(T (&aT)[N], size_t aNElem) = delete; template static __attribute__((always_inline)) inline void PodArrayZero(T (&aT)[N]) { memset(aT, 0, N * sizeof(T)); } template static __attribute__((always_inline)) inline void PodArrayZero(Array& aArr) { memset(&aArr[0], 0, N * sizeof(T)); } template static __attribute__((always_inline)) inline void PodAssign(T* aDst, const T* aSrc) { do { } while (0) ; memcpy(reinterpret_cast(aDst), reinterpret_cast(aSrc), sizeof(T)); } template static __attribute__((always_inline)) inline void PodCopy(T* aDst, const T* aSrc, size_t aNElem) { do { } while (0) ; if (aNElem < 128) { for (const T* srcend = aSrc + aNElem; aSrc < srcend; aSrc++, aDst++) { PodAssign(aDst, aSrc); } } else { memcpy(aDst, aSrc, aNElem * sizeof(T)); } } template static __attribute__((always_inline)) inline void PodCopy(volatile T* aDst, const volatile T* aSrc, size_t aNElem) { do { } while (0) ; for (const volatile T* srcend = aSrc + aNElem; aSrc < srcend; aSrc++, aDst++) { *aDst = *aSrc; } } template static __attribute__((always_inline)) inline void PodArrayCopy(T (&aDst)[N], const T (&aSrc)[N]) { PodCopy(aDst, aSrc, N); } template static __attribute__((always_inline)) inline void PodMove(T* aDst, const T* aSrc, size_t aNElem) { do { } while (0) ; memmove(aDst, aSrc, aNElem * sizeof(T)); } template static __attribute__((always_inline)) inline bool PodEqual(const T* one, const T* two, size_t len) { if (len < 128) { const T* p1end = one + len; const T* p1 = one; const T* p2 = two; for (; p1 < p1end; p1++, p2++) { if (*p1 != *p2) { return false; } } return true; } return !memcmp(one, two, len * sizeof(T)); } } # 18 "../../../dist/include/nsTHashtable.h" 2 PLDHashOperator PL_DHashStubEnumRemove(PLDHashTable* aTable, PLDHashEntryHdr* aEntry, uint32_t aOrdinal, void* aUserArg); # 80 "../../../dist/include/nsTHashtable.h" template class nsTHashtable { typedef mozilla::fallible_t fallible_t; public: nsTHashtable() { Init(4); } explicit nsTHashtable(uint32_t aInitLength) { Init(aInitLength); } ~nsTHashtable(); nsTHashtable(nsTHashtable&& aOther); uint32_t GetGeneration() const { return mTable.Generation(); } typedef typename EntryType::KeyType KeyType; typedef typename EntryType::KeyTypePointer KeyTypePointer; uint32_t Count() const { return mTable.EntryCount(); } EntryType* GetEntry(KeyType aKey) const { do { } while(0); EntryType* entry = reinterpret_cast( PL_DHashTableOperate(const_cast(&mTable), EntryType::KeyToPointer(aKey), PL_DHASH_LOOKUP)); return PL_DHASH_ENTRY_IS_BUSY(entry) ? entry : nullptr; } bool Contains(KeyType aKey) const { return !!GetEntry(aKey); } EntryType* PutEntry(KeyType aKey) { EntryType* e = PutEntry(aKey, fallible_t()); if (!e) { NS_ABORT_OOM(mTable.EntrySize() * mTable.EntryCount()); } return e; } EntryType* PutEntry(KeyType aKey, const fallible_t&) __attribute__((warn_unused_result)) { do { } while(0); return static_cast(PL_DHashTableOperate( &mTable, EntryType::KeyToPointer(aKey), PL_DHASH_ADD)); } void RemoveEntry(KeyType aKey) { do { } while(0); PL_DHashTableOperate(&mTable, EntryType::KeyToPointer(aKey), PL_DHASH_REMOVE); } # 186 "../../../dist/include/nsTHashtable.h" void RawRemoveEntry(EntryType* aEntry) { PL_DHashTableRawRemove(&mTable, aEntry); } # 201 "../../../dist/include/nsTHashtable.h" typedef PLDHashOperator (*Enumerator)(EntryType* aEntry, void* userArg); # 210 "../../../dist/include/nsTHashtable.h" uint32_t EnumerateEntries(Enumerator aEnumFunc, void* aUserArg) { do { } while(0); s_EnumArgs args = { aEnumFunc, aUserArg }; return PL_DHashTableEnumerate(&mTable, s_EnumStub, &args); } void Clear() { do { } while(0); PL_DHashTableEnumerate(&mTable, PL_DHashStubEnumRemove, nullptr); } # 236 "../../../dist/include/nsTHashtable.h" typedef size_t (*SizeOfEntryExcludingThisFun)(EntryType* aEntry, mozilla::MallocSizeOf aMallocSizeOf, void* aArg); # 252 "../../../dist/include/nsTHashtable.h" size_t SizeOfExcludingThis(SizeOfEntryExcludingThisFun aSizeOfEntryExcludingThis, mozilla::MallocSizeOf aMallocSizeOf, void* aUserArg = nullptr) const { if (aSizeOfEntryExcludingThis) { s_SizeOfArgs args = { aSizeOfEntryExcludingThis, aUserArg }; return PL_DHashTableSizeOfExcludingThis(&mTable, s_SizeOfStub, aMallocSizeOf, &args); } return PL_DHashTableSizeOfExcludingThis(&mTable, nullptr, aMallocSizeOf); } size_t SizeOfExcludingThis(mozilla::MallocSizeOf aMallocSizeOf) const { return SizeOfExcludingThis(BasicSizeOfEntryExcludingThisFun, aMallocSizeOf); } size_t SizeOfIncludingThis(SizeOfEntryExcludingThisFun aSizeOfEntryExcludingThis, mozilla::MallocSizeOf aMallocSizeOf, void* aUserArg = nullptr) const { return aMallocSizeOf(this) + SizeOfExcludingThis(aSizeOfEntryExcludingThis, aMallocSizeOf, aUserArg); } size_t SizeOfIncludingThis(mozilla::MallocSizeOf aMallocSizeOf) const { return SizeOfIncludingThis(BasicSizeOfEntryExcludingThisFun, aMallocSizeOf); } # 308 "../../../dist/include/nsTHashtable.h" protected: PLDHashTable mTable; static const void* s_GetKey(PLDHashTable* aTable, PLDHashEntryHdr* aEntry); static PLDHashNumber s_HashKey(PLDHashTable* aTable, const void* aKey); static bool s_MatchEntry(PLDHashTable* aTable, const PLDHashEntryHdr* aEntry, const void* aKey); static void s_CopyEntry(PLDHashTable* aTable, const PLDHashEntryHdr* aFrom, PLDHashEntryHdr* aTo); static void s_ClearEntry(PLDHashTable* aTable, PLDHashEntryHdr* aEntry); static bool s_InitEntry(PLDHashTable* aTable, PLDHashEntryHdr* aEntry, const void* aKey); # 333 "../../../dist/include/nsTHashtable.h" struct s_EnumArgs { Enumerator userFunc; void* userArg; }; static PLDHashOperator s_EnumStub(PLDHashTable* aTable, PLDHashEntryHdr* aEntry, uint32_t aNumber, void* aArg); # 350 "../../../dist/include/nsTHashtable.h" struct s_SizeOfArgs { SizeOfEntryExcludingThisFun userFunc; void* userArg; }; static size_t s_SizeOfStub(PLDHashEntryHdr* aEntry, mozilla::MallocSizeOf aMallocSizeOf, void* aArg); private: nsTHashtable(nsTHashtable& aToCopy) = delete; void Init(uint32_t aInitLength); static size_t BasicSizeOfEntryExcludingThisFun(EntryType* aEntry, mozilla::MallocSizeOf aMallocSizeOf, void*); nsTHashtable& operator=(nsTHashtable& aToEqual) = delete; }; template nsTHashtable::nsTHashtable(nsTHashtable&& aOther) : mTable(mozilla::Move(aOther.mTable)) { do {} while (0); aOther.mTable.ops = nullptr; } template nsTHashtable::~nsTHashtable() { if (mTable.ops) { PL_DHashTableFinish(&mTable); } } template void nsTHashtable::Init(uint32_t aInitLength) { static const PLDHashTableOps sOps = { ::PL_DHashAllocTable, ::PL_DHashFreeTable, s_HashKey, s_MatchEntry, EntryType::ALLOW_MEMMOVE ? ::PL_DHashMoveEntryStub : s_CopyEntry, s_ClearEntry, ::PL_DHashFinalizeStub, s_InitEntry }; PL_DHashTableInit(&mTable, &sOps, nullptr, sizeof(EntryType), aInitLength); } template size_t nsTHashtable::BasicSizeOfEntryExcludingThisFun(EntryType* aEntry, mozilla::MallocSizeOf aMallocSizeOf, void*) { return aEntry->SizeOfExcludingThis(aMallocSizeOf); } template PLDHashNumber nsTHashtable::s_HashKey(PLDHashTable* aTable, const void* aKey) { return EntryType::HashKey(reinterpret_cast(aKey)); } template bool nsTHashtable::s_MatchEntry(PLDHashTable* aTable, const PLDHashEntryHdr* aEntry, const void* aKey) { return ((const EntryType*)aEntry)->KeyEquals( reinterpret_cast(aKey)); } template void nsTHashtable::s_CopyEntry(PLDHashTable* aTable, const PLDHashEntryHdr* aFrom, PLDHashEntryHdr* aTo) { EntryType* fromEntry = const_cast(reinterpret_cast(aFrom)); new (aTo) EntryType(mozilla::Move(*fromEntry)); fromEntry->~EntryType(); } template void nsTHashtable::s_ClearEntry(PLDHashTable* aTable, PLDHashEntryHdr* aEntry) { reinterpret_cast(aEntry)->~EntryType(); } template bool nsTHashtable::s_InitEntry(PLDHashTable* aTable, PLDHashEntryHdr* aEntry, const void* aKey) { new (aEntry) EntryType(reinterpret_cast(aKey)); return true; } template PLDHashOperator nsTHashtable::s_EnumStub(PLDHashTable* aTable, PLDHashEntryHdr* aEntry, uint32_t aNumber, void* aArg) { return (*reinterpret_cast(aArg)->userFunc)( reinterpret_cast(aEntry), reinterpret_cast(aArg)->userArg); } template size_t nsTHashtable::s_SizeOfStub(PLDHashEntryHdr* aEntry, mozilla::MallocSizeOf aMallocSizeOf, void* aArg) { return (*reinterpret_cast(aArg)->userFunc)( reinterpret_cast(aEntry), aMallocSizeOf, reinterpret_cast(aArg)->userArg); } class nsCycleCollectionTraversalCallback; struct nsTHashtableCCTraversalData { nsTHashtableCCTraversalData(nsCycleCollectionTraversalCallback& aCallback, const char* aName, uint32_t aFlags) : mCallback(aCallback) , mName(aName) , mFlags(aFlags) { } nsCycleCollectionTraversalCallback& mCallback; const char* mName; uint32_t mFlags; }; template PLDHashOperator ImplCycleCollectionTraverse_EnumFunc(EntryType* aEntry, void* aUserData) { auto userData = static_cast(aUserData); ImplCycleCollectionTraverse(userData->mCallback, *aEntry, userData->mName, userData->mFlags); return PL_DHASH_NEXT; } template inline void ImplCycleCollectionUnlink(nsTHashtable& aField) { aField.Clear(); } template inline void ImplCycleCollectionTraverse(nsCycleCollectionTraversalCallback& aCallback, nsTHashtable& aField, const char* aName, uint32_t aFlags = 0) { nsTHashtableCCTraversalData userData(aCallback, aName, aFlags); aField.EnumerateEntries(ImplCycleCollectionTraverse_EnumFunc, &userData); } # 13 "../../../dist/include/nsBaseHashtable.h" 2 # 1 "../../../dist/system_wrappers/prlock.h" 1 # 2 "../../../dist/system_wrappers/prlock.h" 3 #pragma GCC visibility push(default) # 1 "/usr/include/nspr4/prlock.h" 1 3 # 21 "/usr/include/nspr4/prlock.h" 3 # 21 "/usr/include/nspr4/prlock.h" 3 extern "C" { # 34 "/usr/include/nspr4/prlock.h" 3 typedef struct PRLock PRLock; # 51 "/usr/include/nspr4/prlock.h" 3 extern __attribute__((visibility("default"))) PRLock* PR_NewLock(void); # 62 "/usr/include/nspr4/prlock.h" 3 extern __attribute__((visibility("default"))) void PR_DestroyLock(PRLock *lock); # 73 "/usr/include/nspr4/prlock.h" 3 extern __attribute__((visibility("default"))) void PR_Lock(PRLock *lock); # 85 "/usr/include/nspr4/prlock.h" 3 extern __attribute__((visibility("default"))) PRStatus PR_Unlock(PRLock *lock); # 105 "/usr/include/nspr4/prlock.h" 3 extern __attribute__((visibility("default"))) void PR_AssertCurrentThreadOwnsLock(PRLock *lock); } # 4 "../../../dist/system_wrappers/prlock.h" 2 3 #pragma GCC visibility pop # 14 "../../../dist/include/nsBaseHashtable.h" 2 # 16 "../../../dist/include/nsBaseHashtable.h" template class nsBaseHashtable; template class nsBaseHashtableET : public KeyClass { public: DataType mData; friend class nsTHashtable>; private: typedef typename KeyClass::KeyType KeyType; typedef typename KeyClass::KeyTypePointer KeyTypePointer; explicit nsBaseHashtableET(KeyTypePointer aKey); nsBaseHashtableET(nsBaseHashtableET&& aToMove); ~nsBaseHashtableET(); }; # 52 "../../../dist/include/nsBaseHashtable.h" template class nsBaseHashtable : protected nsTHashtable> { typedef mozilla::fallible_t fallible_t; public: typedef typename KeyClass::KeyType KeyType; typedef nsBaseHashtableET EntryType; using nsTHashtable::Contains; nsBaseHashtable() {} explicit nsBaseHashtable(uint32_t aInitLength) : nsTHashtable(aInitLength) { } uint32_t Count() const { return nsTHashtable::Count(); } # 85 "../../../dist/include/nsBaseHashtable.h" bool Get(KeyType aKey, UserDataType* aData) const { EntryType* ent = this->GetEntry(aKey); if (!ent) { return false; } if (aData) { *aData = ent->mData; } return true; } # 108 "../../../dist/include/nsBaseHashtable.h" UserDataType Get(KeyType aKey) const { EntryType* ent = this->GetEntry(aKey); if (!ent) { return 0; } return ent->mData; } void Put(KeyType aKey, const UserDataType& aData) { if (!Put(aKey, aData, fallible_t())) { NS_ABORT_OOM(this->mTable.EntrySize() * this->mTable.EntryCount()); } } __attribute__((warn_unused_result)) bool Put(KeyType aKey, const UserDataType& aData, const fallible_t&) { EntryType* ent = this->PutEntry(aKey); if (!ent) { return false; } ent->mData = aData; return true; } void Remove(KeyType aKey) { this->RemoveEntry(aKey); } # 159 "../../../dist/include/nsBaseHashtable.h" typedef PLDHashOperator (*EnumReadFunction)(KeyType aKey, UserDataType aData, void* aUserArg); uint32_t EnumerateRead(EnumReadFunction aEnumFunc, void* aUserArg) const { do { } while(0) ; s_EnumReadArgs enumData = { aEnumFunc, aUserArg }; return PL_DHashTableEnumerate(const_cast(&this->mTable), s_EnumReadStub, &enumData); } # 190 "../../../dist/include/nsBaseHashtable.h" typedef PLDHashOperator (*EnumFunction)(KeyType aKey, DataType& aData, void* aUserArg); uint32_t Enumerate(EnumFunction aEnumFunc, void* aUserArg) { do { } while(0) ; s_EnumArgs enumData = { aEnumFunc, aUserArg }; return PL_DHashTableEnumerate(&this->mTable, s_EnumStub, &enumData); } void Clear() { nsTHashtable::Clear(); } # 225 "../../../dist/include/nsBaseHashtable.h" typedef size_t (*SizeOfEntryExcludingThisFun)(KeyType aKey, const DataType& aData, mozilla::MallocSizeOf aMallocSizeOf, void* aUserArg); # 243 "../../../dist/include/nsBaseHashtable.h" size_t SizeOfIncludingThis(SizeOfEntryExcludingThisFun aSizeOfEntryExcludingThis, mozilla::MallocSizeOf aMallocSizeOf, void* aUserArg = nullptr) { return aMallocSizeOf(this) + this->SizeOfExcludingThis(aSizeOfEntryExcludingThis, aMallocSizeOf, aUserArg); } # 264 "../../../dist/include/nsBaseHashtable.h" size_t SizeOfExcludingThis(SizeOfEntryExcludingThisFun aSizeOfEntryExcludingThis, mozilla::MallocSizeOf aMallocSizeOf, void* aUserArg = nullptr) const { if (aSizeOfEntryExcludingThis) { s_SizeOfArgs args = { aSizeOfEntryExcludingThis, aUserArg }; return PL_DHashTableSizeOfExcludingThis(&this->mTable, s_SizeOfStub, aMallocSizeOf, &args); } return PL_DHashTableSizeOfExcludingThis(&this->mTable, nullptr, aMallocSizeOf); } protected: struct s_EnumReadArgs { EnumReadFunction func; void* userArg; }; static PLDHashOperator s_EnumReadStub(PLDHashTable* aTable, PLDHashEntryHdr* aHdr, uint32_t aNumber, void* aArg); struct s_EnumArgs { EnumFunction func; void* userArg; }; static PLDHashOperator s_EnumStub(PLDHashTable* aTable, PLDHashEntryHdr* aHdr, uint32_t aNumber, void* aArg); struct s_SizeOfArgs { SizeOfEntryExcludingThisFun func; void* userArg; }; static size_t s_SizeOfStub(PLDHashEntryHdr* aEntry, mozilla::MallocSizeOf aMallocSizeOf, void* aArg); }; class nsCycleCollectionTraversalCallback; struct nsBaseHashtableCCTraversalData { nsBaseHashtableCCTraversalData(nsCycleCollectionTraversalCallback& aCallback, const char* aName, uint32_t aFlags) : mCallback(aCallback) , mName(aName) , mFlags(aFlags) { } nsCycleCollectionTraversalCallback& mCallback; const char* mName; uint32_t mFlags; }; template PLDHashOperator ImplCycleCollectionTraverse_EnumFunc(K aKey, T aData, void* aUserData) { nsBaseHashtableCCTraversalData* userData = static_cast(aUserData); CycleCollectionNoteChild(userData->mCallback, aData, userData->mName, userData->mFlags); return PL_DHASH_NEXT; } template nsBaseHashtableET::nsBaseHashtableET(KeyTypePointer aKey) : KeyClass(aKey) { } template nsBaseHashtableET::nsBaseHashtableET( nsBaseHashtableET&& aToMove) : KeyClass(mozilla::Move(aToMove)) , mData(mozilla::Move(aToMove.mData)) { } template nsBaseHashtableET::~nsBaseHashtableET() { } template PLDHashOperator nsBaseHashtable::s_EnumReadStub( PLDHashTable* aTable, PLDHashEntryHdr* aHdr, uint32_t aNumber, void* aArg) { EntryType* ent = static_cast(aHdr); s_EnumReadArgs* eargs = (s_EnumReadArgs*)aArg; PLDHashOperator res = (eargs->func)(ent->GetKey(), ent->mData, eargs->userArg); do { } while(0) ; if (res & PL_DHASH_STOP) { return PL_DHASH_STOP; } return PL_DHASH_NEXT; } template PLDHashOperator nsBaseHashtable::s_EnumStub( PLDHashTable* aTable, PLDHashEntryHdr* aHdr, uint32_t aNumber, void* aArg) { EntryType* ent = static_cast(aHdr); s_EnumArgs* eargs = (s_EnumArgs*)aArg; return (eargs->func)(ent->GetKey(), ent->mData, eargs->userArg); } template size_t nsBaseHashtable::s_SizeOfStub( PLDHashEntryHdr* aHdr, mozilla::MallocSizeOf aMallocSizeOf, void* aArg) { EntryType* ent = static_cast(aHdr); s_SizeOfArgs* eargs = static_cast(aArg); return (eargs->func)(ent->GetKey(), ent->mData, aMallocSizeOf, eargs->userArg); } # 12 "../../../dist/include/nsDataHashtable.h" 2 # 21 "../../../dist/include/nsDataHashtable.h" template class nsDataHashtable : public nsBaseHashtable { public: nsDataHashtable() {} explicit nsDataHashtable(uint32_t aInitLength) : nsBaseHashtable(aInitLength) { } }; # 14 "../../../dist/include/AbstractMediaDecoder.h" 2 # 1 "../../../dist/include/nsThreadUtils.h" 1 # 10 "../../../dist/include/nsThreadUtils.h" # 1 "../../../dist/system_wrappers/prthread.h" 1 # 2 "../../../dist/system_wrappers/prthread.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 11 "../../../dist/include/nsThreadUtils.h" 2 # 1 "../../../dist/system_wrappers/prinrval.h" 1 # 2 "../../../dist/system_wrappers/prinrval.h" 3 #pragma GCC visibility push(default) # 1 "/usr/include/nspr4/prinrval.h" 1 3 # 4 "../../../dist/system_wrappers/prinrval.h" 2 3 #pragma GCC visibility pop # 12 "../../../dist/include/nsThreadUtils.h" 2 # 1 "../../../dist/include/MainThreadUtils.h" 1 # 11 "../../../dist/include/MainThreadUtils.h" # 1 "../../../dist/include/mozilla/threads/nsThreadIDs.h" 1 # 10 "../../../dist/include/mozilla/threads/nsThreadIDs.h" namespace mozilla { namespace threads { enum ID { Generic = 0, Main = 1, }; } } # 12 "../../../dist/include/MainThreadUtils.h" 2 class nsIThread; extern nsresult NS_GetMainThread(nsIThread** aResult); extern nsIThread* NS_GetCurrentThread(); bool NS_IsMainThread(); # 13 "../../../dist/include/nsThreadUtils.h" 2 # 1 "../../../dist/include/nsIThreadManager.h" 1 # 17 "../../../dist/include/nsIThreadManager.h" class nsIThread; # 27 "../../../dist/include/nsIThreadManager.h" class nsIThreadManager : public nsISupports { public: template struct COMTypeInfo; enum { DEFAULT_STACK_SIZE = 0U }; virtual nsresult NewThread(uint32_t creationFlags, uint32_t stackSize, nsIThread * *_retval) = 0; virtual nsresult GetThreadFromPRThread(PRThread *prthread, nsIThread * *_retval) = 0; virtual nsresult GetMainThread(nsIThread * *aMainThread) = 0; virtual nsresult GetCurrentThread(nsIThread * *aCurrentThread) = 0; virtual nsresult GetIsMainThread(bool *aIsMainThread) = 0; }; template struct nsIThreadManager::COMTypeInfo { static const nsIID kIID __attribute__ ((visibility ("hidden"))); }; template const nsIID nsIThreadManager::COMTypeInfo::kIID __attribute__ ((visibility ("hidden"))) = {0x1be89eca, 0xe2f7, 0x453b, { 0x8d, 0x38, 0xc1, 0x1b, 0xa2, 0x47, 0xf6, 0xf3 }}; # 14 "../../../dist/include/nsThreadUtils.h" 2 # 1 "../../../dist/include/nsIThread.h" 1 # 10 "../../../dist/include/nsIThread.h" # 1 "../../../dist/include/nsIEventTarget.h" 1 # 17 "../../../dist/include/nsIEventTarget.h" class nsIRunnable; # 27 "../../../dist/include/nsIEventTarget.h" class nsIEventTarget : public nsISupports { public: template struct COMTypeInfo; virtual nsresult Dispatch(nsIRunnable *event, uint32_t flags) = 0; enum { DISPATCH_NORMAL = 0U, DISPATCH_SYNC = 1U }; virtual nsresult IsOnCurrentThread(bool *_retval) = 0; }; template struct nsIEventTarget::COMTypeInfo { static const nsIID kIID __attribute__ ((visibility ("hidden"))); }; template const nsIID nsIEventTarget::COMTypeInfo::kIID __attribute__ ((visibility ("hidden"))) = {0x4e8febe4, 0x6631, 0x49dc, { 0x8a, 0xc9, 0x30, 0x8c, 0x1c, 0xb9, 0xb0, 0x9c }}; # 11 "../../../dist/include/nsIThread.h" 2 # 25 "../../../dist/include/nsIThread.h" class nsIThread : public nsIEventTarget { public: template struct COMTypeInfo; virtual nsresult GetPRThread(PRThread **aPRThread) = 0; virtual nsresult Shutdown(void) = 0; virtual nsresult HasPendingEvents(bool *_retval) = 0; virtual nsresult ProcessNextEvent(bool mayWait, bool *_retval) = 0; }; template struct nsIThread::COMTypeInfo { static const nsIID kIID __attribute__ ((visibility ("hidden"))); }; template const nsIID nsIThread::COMTypeInfo::kIID __attribute__ ((visibility ("hidden"))) = {0x9c889946, 0xa73a, 0x4af3, { 0xae, 0x9a, 0xea, 0x64, 0xf7, 0xd4, 0xe3, 0xca }}; # 15 "../../../dist/include/nsThreadUtils.h" 2 # 1 "../../../dist/include/nsIRunnable.h" 1 # 25 "../../../dist/include/nsIRunnable.h" class nsIRunnable : public nsISupports { public: template struct COMTypeInfo; virtual nsresult Run(void) = 0; }; template struct nsIRunnable::COMTypeInfo { static const nsIID kIID __attribute__ ((visibility ("hidden"))); }; template const nsIID nsIRunnable::COMTypeInfo::kIID __attribute__ ((visibility ("hidden"))) = {0x4a2abaf0, 0x6886, 0x11d3, { 0x93, 0x82, 0x00, 0x10, 0x4b, 0xa0, 0xfd, 0x40 }}; # 16 "../../../dist/include/nsThreadUtils.h" 2 # 1 "../../../dist/include/nsICancelableRunnable.h" 1 # 25 "../../../dist/include/nsICancelableRunnable.h" class nsICancelableRunnable : public nsIRunnable { public: template struct COMTypeInfo; virtual nsresult Cancel(void) = 0; }; template struct nsICancelableRunnable::COMTypeInfo { static const nsIID kIID __attribute__ ((visibility ("hidden"))); }; template const nsIID nsICancelableRunnable::COMTypeInfo::kIID __attribute__ ((visibility ("hidden"))) = {0xde93dc4c, 0x5eea, 0x4eb7, { 0xb6, 0xd1, 0xdb, 0xf1, 0xe0, 0xce, 0xf6, 0x5c }}; # 17 "../../../dist/include/nsThreadUtils.h" 2 # 29 "../../../dist/include/nsThreadUtils.h" extern void NS_SetThreadName(nsIThread* aThread, const nsACString_internal& aName); template inline void NS_SetThreadName(nsIThread* aThread, const char (&aName)[LEN]) { static_assert(LEN <= 16, "Thread name must be no more than 16 characters"); NS_SetThreadName(aThread, nsDependentCString(aName)); } # 57 "../../../dist/include/nsThreadUtils.h" extern nsresult NS_NewThread(nsIThread** aResult, nsIRunnable* aInitialEvent = nullptr, uint32_t aStackSize = nsIThreadManager::DEFAULT_STACK_SIZE); template inline nsresult NS_NewNamedThread(const char (&aName)[LEN], nsIThread** aResult, nsIRunnable* aInitialEvent = nullptr, uint32_t aStackSize = nsIThreadManager::DEFAULT_STACK_SIZE) { nsCOMPtr thread; nsresult rv = NS_NewThread(getter_AddRefs(thread), nullptr, aStackSize); if ((bool)(((bool)(__builtin_expect(!!(NS_FAILED_impl(rv)), 0))))) { return rv; } NS_SetThreadName(thread, aName); if (aInitialEvent) { rv = thread->Dispatch(aInitialEvent, nsIEventTarget::DISPATCH_NORMAL); do { } while(0); } *aResult = nullptr; thread.swap(*aResult); return rv; } extern nsresult NS_GetCurrentThread(nsIThread** aResult); # 106 "../../../dist/include/nsThreadUtils.h" extern nsresult NS_DispatchToCurrentThread(nsIRunnable* aEvent); # 119 "../../../dist/include/nsThreadUtils.h" extern nsresult NS_DispatchToMainThread(nsIRunnable* aEvent, uint32_t aDispatchFlags = nsIEventTarget::DISPATCH_NORMAL); # 139 "../../../dist/include/nsThreadUtils.h" extern nsresult NS_ProcessPendingEvents(nsIThread* aThread, PRIntervalTime aTimeout = # 141 "../../../dist/include/nsThreadUtils.h" 3 0xffffffffUL # 141 "../../../dist/include/nsThreadUtils.h" ); # 158 "../../../dist/include/nsThreadUtils.h" extern bool NS_HasPendingEvents(nsIThread* aThread = nullptr); # 177 "../../../dist/include/nsThreadUtils.h" extern bool NS_ProcessNextEvent(nsIThread* aThread = nullptr, bool aMayWait = true); inline already_AddRefed do_GetCurrentThread() { nsIThread* thread = nullptr; NS_GetCurrentThread(&thread); return already_AddRefed(thread); } inline already_AddRefed do_GetMainThread() { nsIThread* thread = nullptr; NS_GetMainThread(&thread); return already_AddRefed(thread); } # 206 "../../../dist/include/nsThreadUtils.h" extern nsIThread* NS_GetCurrentThread(); class nsRunnable : public nsIRunnable { public: public: virtual nsresult QueryInterface(const nsIID& aIID, void** aInstancePtr); virtual MozExternalRefCountType AddRef(void); virtual MozExternalRefCountType Release(void); protected: ::mozilla::ThreadSafeAutoRefCnt mRefCnt; public: virtual nsresult Run(void) override; nsRunnable() {} protected: virtual ~nsRunnable() {} }; class nsCancelableRunnable : public nsICancelableRunnable { public: public: virtual nsresult QueryInterface(const nsIID& aIID, void** aInstancePtr); virtual MozExternalRefCountType AddRef(void); virtual MozExternalRefCountType Release(void); protected: ::mozilla::ThreadSafeAutoRefCnt mRefCnt; public: virtual nsresult Run(void) override; virtual nsresult Cancel(void) override; nsCancelableRunnable() {} protected: virtual ~nsCancelableRunnable() {} }; template class nsRunnableMethod : public nsRunnable { public: virtual void Revoke() = 0; template class ReturnTypeEnforcer { public: typedef int ReturnTypeIsSafe; }; template class ReturnTypeEnforcer> { }; typedef typename ReturnTypeEnforcer::ReturnTypeIsSafe check; }; template struct nsRunnableMethodReceiver { ClassType* mObj; Arg mArg; nsRunnableMethodReceiver(ClassType* aObj, Arg aArg) : mObj(aObj) , mArg(aArg) { ns_if_addref(mObj); } ~nsRunnableMethodReceiver() { Revoke(); } void Revoke() { do { if (mObj) { (mObj)->Release(); (mObj) = 0; } } while (0); } }; template struct nsRunnableMethodReceiver { ClassType* mObj; explicit nsRunnableMethodReceiver(ClassType* aObj) : mObj(aObj) { ns_if_addref(mObj); } ~nsRunnableMethodReceiver() { Revoke(); } void Revoke() { do { if (mObj) { (mObj)->Release(); (mObj) = 0; } } while (0); } }; template struct nsRunnableMethodReceiver { ClassType* mObj; explicit nsRunnableMethodReceiver(ClassType* aObj) : mObj(aObj) {} void Revoke() { mObj = nullptr; } }; template struct nsRunnableMethodTraits; template struct nsRunnableMethodTraits { typedef C class_type; typedef R return_type; typedef A arg_type; typedef nsRunnableMethod base_type; }; template struct nsRunnableMethodTraits { typedef C class_type; typedef R return_type; typedef void arg_type; typedef nsRunnableMethod base_type; }; # 347 "../../../dist/include/nsThreadUtils.h" template class nsRunnableMethodImpl : public nsRunnableMethodTraits::base_type { typedef typename nsRunnableMethodTraits::class_type ClassType; nsRunnableMethodReceiver mReceiver; Method mMethod; public: nsRunnableMethodImpl(ClassType* aObj, Method aMethod, Arg aArg) : mReceiver(aObj, aArg) , mMethod(aMethod) { } virtual nsresult Run() { if ((__builtin_expect(!!(mReceiver.mObj), 1))) { ((*mReceiver.mObj).*mMethod)(mReceiver.mArg); } return nsresult::NS_OK; } void Revoke() { mReceiver.Revoke(); } }; template class nsRunnableMethodImpl : public nsRunnableMethodTraits::base_type { typedef typename nsRunnableMethodTraits::class_type ClassType; nsRunnableMethodReceiver mReceiver; Method mMethod; public: nsRunnableMethodImpl(ClassType* aObj, Method aMethod) : mReceiver(aObj) , mMethod(aMethod) { } virtual nsresult Run() { if ((__builtin_expect(!!(mReceiver.mObj), 1))) { ((*mReceiver.mObj).*mMethod)(); } return nsresult::NS_OK; } void Revoke() { mReceiver.Revoke(); } }; # 406 "../../../dist/include/nsThreadUtils.h" template typename nsRunnableMethodTraits::base_type* NS_NewRunnableMethod(PtrType aPtr, Method aMethod) { return new nsRunnableMethodImpl(aPtr, aMethod); } template struct dependent_type { typedef T type; }; template typename nsRunnableMethodTraits::base_type* NS_NewRunnableMethodWithArg(PtrType&& aPtr, Method aMethod, typename dependent_type::type aArg) { return new nsRunnableMethodImpl(aPtr, aMethod, aArg); } template typename nsRunnableMethodTraits::base_type* NS_NewNonOwningRunnableMethod(PtrType&& aPtr, Method aMethod) { return new nsRunnableMethodImpl(aPtr, aMethod); } # 486 "../../../dist/include/nsThreadUtils.h" template class nsRevocableEventPtr { public: nsRevocableEventPtr() : mEvent(nullptr) {} ~nsRevocableEventPtr() { Revoke(); } const nsRevocableEventPtr& operator=(T* aEvent) { if (mEvent != aEvent) { Revoke(); mEvent = aEvent; } return *this; } void Revoke() { if (mEvent) { mEvent->Revoke(); mEvent = nullptr; } } void Forget() { mEvent = nullptr; } bool IsPending() { return mEvent != nullptr; } T* get() { return mEvent; } private: nsRevocableEventPtr(const nsRevocableEventPtr&); nsRevocableEventPtr& operator=(const nsRevocableEventPtr&); nsRefPtr mEvent; }; class nsThreadPoolNaming { public: nsThreadPoolNaming() : mCounter(0) {} void SetThreadPoolName(const nsACString_internal& aPoolName, nsIThread* aThread = nullptr); private: volatile uint32_t mCounter; nsThreadPoolNaming(const nsThreadPoolNaming&) = delete; void operator=(const nsThreadPoolNaming&) = delete; }; class nsAutoLowPriorityIO { public: nsAutoLowPriorityIO(); ~nsAutoLowPriorityIO(); private: bool lowIOPrioritySet; }; void NS_SetMainThread(); # 15 "../../../dist/include/AbstractMediaDecoder.h" 2 namespace mozilla { namespace layers { class ImageContainer; } class MediaResource; class ReentrantMonitor; class VideoFrameContainer; class TimedMetadata; class MediaDecoderOwner; class CDMProxy; typedef nsDataHashtable MetadataTags; static inline bool IsCurrentThread(nsIThread* aThread) { return NS_GetCurrentThread() == aThread; } class AbstractMediaDecoder : public nsISupports { public: virtual ReentrantMonitor& GetReentrantMonitor() = 0; virtual bool IsShutdown() const = 0; virtual bool OnStateMachineThread() const = 0; virtual bool OnDecodeThread() const = 0; virtual MediaResource* GetResource() const = 0; virtual void NotifyBytesConsumed(int64_t aBytes, int64_t aOffset) = 0; virtual void NotifyDecodedFrames(uint32_t aParsed, uint32_t aDecoded) = 0; virtual int64_t GetTimestampOffset() const { return 0; } virtual int64_t GetMediaDuration() = 0; virtual void SetMediaDuration(int64_t aDuration) = 0; virtual void UpdateEstimatedMediaDuration(int64_t aDuration) = 0; virtual void SetMediaSeekable(bool aMediaSeekable) = 0; virtual VideoFrameContainer* GetVideoFrameContainer() = 0; virtual mozilla::layers::ImageContainer* GetImageContainer() = 0; virtual bool IsTransportSeekable() = 0; virtual bool IsMediaSeekable() = 0; virtual void MetadataLoaded(nsAutoPtr aInfo, nsAutoPtr aTags, bool aRestoredFromDromant) = 0; virtual void QueueMetadata(int64_t aTime, nsAutoPtr aInfo, nsAutoPtr aTags) = 0; virtual void FirstFrameLoaded(nsAutoPtr aInfo, bool aRestoredFromDromant) = 0; virtual void RemoveMediaTracks() = 0; virtual void SetMediaEndTime(int64_t aTime) = 0; virtual void UpdatePlaybackPosition(int64_t aTime) = 0; virtual void OnReadMetadataCompleted() = 0; virtual MediaDecoderOwner* GetOwner() = 0; virtual void NotifyWaitingForResourcesStatusChanged() = 0; virtual void NotifyDataArrived(const char* aBuffer, uint32_t aLength, int64_t aOffset) = 0; virtual void SetPlatformCanOffloadAudio(bool aCanOffloadAudio) {} virtual bool CheckDecoderCanOffloadAudio() { return false; } virtual void SetElementVisibility(bool aIsVisible) {} virtual bool HasInitializationData() { return false; } class AutoNotifyDecoded { public: AutoNotifyDecoded(AbstractMediaDecoder* aDecoder, uint32_t& aParsed, uint32_t& aDecoded) : mDecoder(aDecoder), mParsed(aParsed), mDecoded(aDecoded) {} ~AutoNotifyDecoded() { if (mDecoder) { mDecoder->NotifyDecodedFrames(mParsed, mDecoded); } } private: AbstractMediaDecoder* mDecoder; uint32_t& mParsed; uint32_t& mDecoded; }; virtual nsresult SetCDMProxy(CDMProxy* aProxy) { return nsresult::NS_ERROR_NOT_IMPLEMENTED; } virtual CDMProxy* GetCDMProxy() { return nullptr; } }; class MetadataContainer { protected: MetadataContainer(AbstractMediaDecoder* aDecoder, nsAutoPtr aInfo, nsAutoPtr aTags, bool aRestoredFromDromant) : mDecoder(aDecoder), mInfo(aInfo), mTags(aTags), mRestoredFromDromant(aRestoredFromDromant) {} nsRefPtr mDecoder; nsAutoPtr mInfo; nsAutoPtr mTags; bool mRestoredFromDromant; }; class MetadataEventRunner : public nsRunnable, private MetadataContainer { public: MetadataEventRunner(AbstractMediaDecoder* aDecoder, nsAutoPtr aInfo, nsAutoPtr aTags, bool aRestoredFromDromant = false) : MetadataContainer(aDecoder, aInfo, aTags, aRestoredFromDromant) {} virtual nsresult Run() override { mDecoder->MetadataLoaded(mInfo, mTags, mRestoredFromDromant); return nsresult::NS_OK; } }; class FirstFrameLoadedEventRunner : public nsRunnable, private MetadataContainer { public: FirstFrameLoadedEventRunner(AbstractMediaDecoder* aDecoder, nsAutoPtr aInfo, bool aRestoredFromDromant = false) : MetadataContainer(aDecoder, aInfo, nsAutoPtr(nullptr), aRestoredFromDromant) {} virtual nsresult Run() override { mDecoder->FirstFrameLoaded(mInfo, mRestoredFromDromant); return nsresult::NS_OK; } }; class MetadataUpdatedEventRunner : public nsRunnable, private MetadataContainer { public: MetadataUpdatedEventRunner(AbstractMediaDecoder* aDecoder, nsAutoPtr aInfo, nsAutoPtr aTags, bool aRestoredFromDromant = false) : MetadataContainer(aDecoder, aInfo, aTags, aRestoredFromDromant) {} virtual nsresult Run() override { nsAutoPtr info(new MediaInfo()); *info = *mInfo; mDecoder->MetadataLoaded(info, mTags, mRestoredFromDromant); mDecoder->FirstFrameLoaded(mInfo, mRestoredFromDromant); return nsresult::NS_OK; } }; class RemoveMediaTracksEventRunner : public nsRunnable { public: explicit RemoveMediaTracksEventRunner(AbstractMediaDecoder* aDecoder) : mDecoder(aDecoder) {} virtual nsresult Run() override { do { } while (0); mDecoder->RemoveMediaTracks(); return nsresult::NS_OK; } private: nsRefPtr mDecoder; }; } # 10 "../../../dist/include/MediaDecoderReader.h" 2 # 1 "../../../dist/include/MediaData.h" 1 # 10 "../../../dist/include/MediaData.h" # 1 "../../../dist/include/mozilla/gfx/Rect.h" 1 # 9 "../../../dist/include/mozilla/gfx/Rect.h" # 1 "../../../dist/include/mozilla/gfx/BaseRect.h" 1 # 10 "../../../dist/include/mozilla/gfx/Rect.h" 2 # 1 "../../../dist/include/mozilla/gfx/BaseMargin.h" 1 # 11 "../../../dist/include/mozilla/gfx/BaseMargin.h" namespace mozilla { struct Sides final { Sides() : mBits(0) {} explicit Sides(SideBits aSideBits) { do { } while (0); mBits = aSideBits; } bool IsEmpty() const { return mBits == 0; } bool Top() const { return mBits & eSideBitsTop; } bool Right() const { return mBits & eSideBitsRight; } bool Bottom() const { return mBits & eSideBitsBottom; } bool Left() const { return mBits & eSideBitsLeft; } bool Contains(SideBits aSideBits) const { do { } while (0); return (mBits & aSideBits) == aSideBits; } Sides operator|(Sides aOther) const { return Sides(SideBits(mBits | aOther.mBits)); } Sides operator|(SideBits aSideBits) const { return *this | Sides(aSideBits); } Sides& operator|=(Sides aOther) { mBits |= aOther.mBits; return *this; } Sides& operator|=(SideBits aSideBits) { return *this |= Sides(aSideBits); } bool operator==(Sides aOther) const { return mBits == aOther.mBits; } bool operator!=(Sides aOther) const { return !(*this == aOther); } private: uint8_t mBits; }; namespace gfx { template struct BaseMargin { typedef mozilla::Side SideT; T top, right, bottom, left; BaseMargin() : top(0), right(0), bottom(0), left(0) {} BaseMargin(T aTop, T aRight, T aBottom, T aLeft) : top(aTop), right(aRight), bottom(aBottom), left(aLeft) {} void SizeTo(T aTop, T aRight, T aBottom, T aLeft) { top = aTop; right = aRight; bottom = aBottom; left = aLeft; } T LeftRight() const { return left + right; } T TopBottom() const { return top + bottom; } T& Side(SideT aSide) { return *(&top + T(aSide)); } T Side(SideT aSide) const { return *(&top + T(aSide)); } void ApplySkipSides(Sides aSkipSides) { if (aSkipSides.Top()) { top = 0; } if (aSkipSides.Right()) { right = 0; } if (aSkipSides.Bottom()) { bottom = 0; } if (aSkipSides.Left()) { left = 0; } } bool operator==(const Sub& aMargin) const { return top == aMargin.top && right == aMargin.right && bottom == aMargin.bottom && left == aMargin.left; } bool operator!=(const Sub& aMargin) const { return !(*this == aMargin); } Sub operator+(const Sub& aMargin) const { return Sub(top + aMargin.top, right + aMargin.right, bottom + aMargin.bottom, left + aMargin.left); } Sub operator-(const Sub& aMargin) const { return Sub(top - aMargin.top, right - aMargin.right, bottom - aMargin.bottom, left - aMargin.left); } Sub& operator+=(const Sub& aMargin) { top += aMargin.top; right += aMargin.right; bottom += aMargin.bottom; left += aMargin.left; return *static_cast(this); } }; } } # 11 "../../../dist/include/mozilla/gfx/Rect.h" 2 # 1 "../../../dist/include/mozilla/gfx/Point.h" 1 # 12 "../../../dist/include/mozilla/gfx/Rect.h" 2 # 1 "../../../dist/include/mozilla/gfx/Tools.h" 1 # 9 "../../../dist/include/mozilla/gfx/Tools.h" # 1 "../../../dist/include/mozilla/CheckedInt.h" 1 # 12 "../../../dist/include/mozilla/CheckedInt.h" # 1 "../../../dist/system_wrappers/stdint.h" 1 # 2 "../../../dist/system_wrappers/stdint.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 13 "../../../dist/include/mozilla/CheckedInt.h" 2 # 1 "../../../dist/include/mozilla/IntegerTypeTraits.h" 1 # 13 "../../../dist/include/mozilla/IntegerTypeTraits.h" # 1 "../../../dist/system_wrappers/stdint.h" 1 # 2 "../../../dist/system_wrappers/stdint.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 14 "../../../dist/include/mozilla/IntegerTypeTraits.h" 2 namespace mozilla { namespace detail { template struct StdintTypeForSizeAndSignedness; template<> struct StdintTypeForSizeAndSignedness<1, true> { typedef int8_t Type; }; template<> struct StdintTypeForSizeAndSignedness<1, false> { typedef uint8_t Type; }; template<> struct StdintTypeForSizeAndSignedness<2, true> { typedef int16_t Type; }; template<> struct StdintTypeForSizeAndSignedness<2, false> { typedef uint16_t Type; }; template<> struct StdintTypeForSizeAndSignedness<4, true> { typedef int32_t Type; }; template<> struct StdintTypeForSizeAndSignedness<4, false> { typedef uint32_t Type; }; template<> struct StdintTypeForSizeAndSignedness<8, true> { typedef int64_t Type; }; template<> struct StdintTypeForSizeAndSignedness<8, false> { typedef uint64_t Type; }; } template struct UnsignedStdintTypeForSize : detail::StdintTypeForSizeAndSignedness {}; template struct PositionOfSignBit { static_assert(IsIntegral::value, "PositionOfSignBit is only for integral types"); static const size_t value = 8 * sizeof(IntegerType) - 1; }; template struct MinValue { private: static_assert(IsIntegral::value, "MinValue is only for integral types"); typedef typename MakeUnsigned::Type UnsignedIntegerType; static const size_t PosOfSignBit = PositionOfSignBit::value; public: static const IntegerType value = IsSigned::value ? IntegerType(UnsignedIntegerType(1) << PosOfSignBit) : IntegerType(0); }; template struct MaxValue { static_assert(IsIntegral::value, "MaxValue is only for integral types"); static const IntegerType value = ~MinValue::value; }; } # 15 "../../../dist/include/mozilla/CheckedInt.h" 2 namespace mozilla { template class CheckedInt; namespace detail { # 33 "../../../dist/include/mozilla/CheckedInt.h" struct UnsupportedType {}; template struct IsSupportedPass2 { static const bool value = false; }; template struct IsSupported { static const bool value = IsSupportedPass2::value; }; template<> struct IsSupported { static const bool value = true; }; template<> struct IsSupported { static const bool value = true; }; template<> struct IsSupported { static const bool value = true; }; template<> struct IsSupported { static const bool value = true; }; template<> struct IsSupported { static const bool value = true; }; template<> struct IsSupported { static const bool value = true; }; template<> struct IsSupported { static const bool value = true; }; template<> struct IsSupported { static const bool value = true; }; template<> struct IsSupportedPass2 { static const bool value = true; }; template<> struct IsSupportedPass2 { static const bool value = true; }; template<> struct IsSupportedPass2 { static const bool value = true; }; template<> struct IsSupportedPass2 { static const bool value = true; }; template<> struct IsSupportedPass2 { static const bool value = true; }; template<> struct IsSupportedPass2 { static const bool value = true; }; template<> struct IsSupportedPass2 { static const bool value = true; }; template<> struct IsSupportedPass2 { static const bool value = true; }; template<> struct IsSupportedPass2 { static const bool value = true; }; template<> struct IsSupportedPass2 { static const bool value = true; }; template<> struct IsSupportedPass2 { static const bool value = true; }; template struct TwiceBiggerType { typedef typename detail::StdintTypeForSizeAndSignedness< sizeof(IntegerType) * 2, IsSigned::value >::Type Type; }; template struct TwiceBiggerType { typedef UnsupportedType Type; }; template inline bool HasSignBit(T aX) { return bool(typename MakeUnsigned::Type(aX) >> PositionOfSignBit::value); } template inline T BinaryComplement(T aX) { return ~aX; } template::value, bool IsUSigned = IsSigned::value> struct DoesRangeContainRange { }; template struct DoesRangeContainRange { static const bool value = sizeof(T) >= sizeof(U); }; template struct DoesRangeContainRange { static const bool value = sizeof(T) > sizeof(U); }; template struct DoesRangeContainRange { static const bool value = false; }; template::value, bool IsUSigned = IsSigned::value, bool DoesTRangeContainURange = DoesRangeContainRange::value> struct IsInRangeImpl {}; template struct IsInRangeImpl { static bool run(U) { return true; } }; template struct IsInRangeImpl { static bool run(U aX) { return aX <= MaxValue::value && aX >= MinValue::value; } }; template struct IsInRangeImpl { static bool run(U aX) { return aX <= MaxValue::value; } }; template struct IsInRangeImpl { static bool run(U aX) { return sizeof(T) > sizeof(U) || aX <= U(MaxValue::value); } }; template struct IsInRangeImpl { static bool run(U aX) { return sizeof(T) >= sizeof(U) ? aX >= 0 : aX >= 0 && aX <= U(MaxValue::value); } }; template inline bool IsInRange(U aX) { return IsInRangeImpl::run(aX); } template inline bool IsAddValid(T aX, T aY) { typename MakeUnsigned::Type ux = aX; typename MakeUnsigned::Type uy = aY; typename MakeUnsigned::Type result = ux + uy; return IsSigned::value ? HasSignBit(BinaryComplement(T((result ^ aX) & (result ^ aY)))) : BinaryComplement(aX) >= aY; } template inline bool IsSubValid(T aX, T aY) { typename MakeUnsigned::Type ux = aX; typename MakeUnsigned::Type uy = aY; typename MakeUnsigned::Type result = ux - uy; return IsSigned::value ? HasSignBit(BinaryComplement(T((result ^ aX) & (aX ^ aY)))) : aX >= aY; } template::value, bool TwiceBiggerTypeIsSupported = IsSupported::Type>::value> struct IsMulValidImpl {}; template struct IsMulValidImpl { static bool run(T aX, T aY) { typedef typename TwiceBiggerType::Type TwiceBiggerType; TwiceBiggerType product = TwiceBiggerType(aX) * TwiceBiggerType(aY); return IsInRange(product); } }; template struct IsMulValidImpl { static bool run(T aX, T aY) { const T max = MaxValue::value; const T min = MinValue::value; if (aX == 0 || aY == 0) { return true; } if (aX > 0) { return aY > 0 ? aX <= max / aY : aY >= min / aX; } return aY > 0 ? aX >= min / aY : aY >= max / aX; } }; template struct IsMulValidImpl { static bool run(T aX, T aY) { return aY == 0 || aX <= MaxValue::value / aY; } }; template inline bool IsMulValid(T aX, T aY) { return IsMulValidImpl::run(aX, aY); } template inline bool IsDivValid(T aX, T aY) { return aY != 0 && !(IsSigned::value && aX == MinValue::value && aY == T(-1)); } template::value> struct IsModValidImpl; template inline bool IsModValid(T aX, T aY) { return IsModValidImpl::run(aX, aY); } # 375 "../../../dist/include/mozilla/CheckedInt.h" template struct IsModValidImpl { static inline bool run(T aX, T aY) { return aY >= 1; } }; template struct IsModValidImpl { static inline bool run(T aX, T aY) { if (aX < 0) { return false; } return aY >= 1; } }; template::value> struct NegateImpl; template struct NegateImpl { static CheckedInt negate(const CheckedInt& aVal) { return CheckedInt(0, aVal.isValid() && aVal.mValue == 0); } }; template struct NegateImpl { static CheckedInt negate(const CheckedInt& aVal) { if (!aVal.isValid() || aVal.mValue == MinValue::value) { return CheckedInt(aVal.mValue, false); } return CheckedInt(-aVal.mValue, true); } }; } # 498 "../../../dist/include/mozilla/CheckedInt.h" template class CheckedInt { protected: T mValue; bool mIsValid; template CheckedInt(U aValue, bool aIsValid) : mValue(aValue), mIsValid(aIsValid) { static_assert(detail::IsSupported::value && detail::IsSupported::value, "This type is not supported by CheckedInt"); } friend struct detail::NegateImpl; public: # 527 "../../../dist/include/mozilla/CheckedInt.h" template CheckedInt(U aValue) : mValue(T(aValue)), mIsValid(detail::IsInRange(aValue)) { static_assert(detail::IsSupported::value && detail::IsSupported::value, "This type is not supported by CheckedInt"); } template friend class CheckedInt; template CheckedInt toChecked() const { CheckedInt ret(mValue); ret.mIsValid = ret.mIsValid && mIsValid; return ret; } CheckedInt() : mValue(0), mIsValid(true) { static_assert(detail::IsSupported::value, "This type is not supported by CheckedInt"); } T value() const { do { } while (0); return mValue; } bool isValid() const { return mIsValid; } template friend CheckedInt operator +(const CheckedInt& aLhs, const CheckedInt& aRhs); template CheckedInt& operator +=(U aRhs); CheckedInt& operator +=(const CheckedInt& aRhs); template friend CheckedInt operator -(const CheckedInt& aLhs, const CheckedInt& aRhs); template CheckedInt& operator -=(U aRhs); CheckedInt& operator -=(const CheckedInt& aRhs); template friend CheckedInt operator *(const CheckedInt& aLhs, const CheckedInt& aRhs); template CheckedInt& operator *=(U aRhs); CheckedInt& operator *=(const CheckedInt& aRhs); template friend CheckedInt operator /(const CheckedInt& aLhs, const CheckedInt& aRhs); template CheckedInt& operator /=(U aRhs); CheckedInt& operator /=(const CheckedInt& aRhs); template friend CheckedInt operator %(const CheckedInt& aLhs, const CheckedInt& aRhs); template CheckedInt& operator %=(U aRhs); CheckedInt& operator %=(const CheckedInt& aRhs); CheckedInt operator -() const { return detail::NegateImpl::negate(*this); } # 630 "../../../dist/include/mozilla/CheckedInt.h" bool operator ==(const CheckedInt& aOther) const { return mIsValid && aOther.mIsValid && mValue == aOther.mValue; } CheckedInt& operator++() { *this += 1; return *this; } CheckedInt operator++(int) { CheckedInt tmp = *this; *this += 1; return tmp; } CheckedInt& operator--() { *this -= 1; return *this; } CheckedInt operator--(int) { CheckedInt tmp = *this; *this -= 1; return tmp; } private: template bool operator !=(U aOther) const = delete; template bool operator < (U aOther) const = delete; template bool operator <=(U aOther) const = delete; template bool operator > (U aOther) const = delete; template bool operator >=(U aOther) const = delete; }; # 689 "../../../dist/include/mozilla/CheckedInt.h" template inline CheckedInt operator +(const CheckedInt& aLhs, const CheckedInt& aRhs) { if (!detail::IsAddValid(aLhs.mValue, aRhs.mValue)) { return CheckedInt(0, false); } return CheckedInt(aLhs.mValue + aRhs.mValue, aLhs.mIsValid && aRhs.mIsValid); } template inline CheckedInt operator -(const CheckedInt& aLhs, const CheckedInt& aRhs) { if (!detail::IsSubValid(aLhs.mValue, aRhs.mValue)) { return CheckedInt(0, false); } return CheckedInt(aLhs.mValue - aRhs.mValue, aLhs.mIsValid && aRhs.mIsValid); } template inline CheckedInt operator *(const CheckedInt& aLhs, const CheckedInt& aRhs) { if (!detail::IsMulValid(aLhs.mValue, aRhs.mValue)) { return CheckedInt(0, false); } return CheckedInt(aLhs.mValue * aRhs.mValue, aLhs.mIsValid && aRhs.mIsValid); } template inline CheckedInt operator /(const CheckedInt& aLhs, const CheckedInt& aRhs) { if (!detail::IsDivValid(aLhs.mValue, aRhs.mValue)) { return CheckedInt(0, false); } return CheckedInt(aLhs.mValue / aRhs.mValue, aLhs.mIsValid && aRhs.mIsValid); } template inline CheckedInt operator %(const CheckedInt& aLhs, const CheckedInt& aRhs) { if (!detail::IsModValid(aLhs.mValue, aRhs.mValue)) { return CheckedInt(0, false); } return CheckedInt(aLhs.mValue % aRhs.mValue, aLhs.mIsValid && aRhs.mIsValid); } # 703 "../../../dist/include/mozilla/CheckedInt.h" namespace detail { template struct CastToCheckedIntImpl { typedef CheckedInt ReturnType; static CheckedInt run(U aU) { return aU; } }; template struct CastToCheckedIntImpl > { typedef const CheckedInt& ReturnType; static const CheckedInt& run(const CheckedInt& aU) { return aU; } }; } template inline typename detail::CastToCheckedIntImpl::ReturnType castToCheckedInt(U aU) { static_assert(detail::IsSupported::value && detail::IsSupported::value, "This type is not supported by CheckedInt"); return detail::CastToCheckedIntImpl::run(aU); } # 756 "../../../dist/include/mozilla/CheckedInt.h" template template CheckedInt& CheckedInt::operator +=(U aRhs) { *this = *this + castToCheckedInt(aRhs); return *this; } template CheckedInt& CheckedInt::operator +=(const CheckedInt& aRhs) { *this = *this + aRhs; return *this; } template inline CheckedInt operator +(const CheckedInt& aLhs, U aRhs) { return aLhs + castToCheckedInt(aRhs); } template inline CheckedInt operator +(U aLhs, const CheckedInt& aRhs) { return castToCheckedInt(aLhs) + aRhs; } template template CheckedInt& CheckedInt::operator *=(U aRhs) { *this = *this * castToCheckedInt(aRhs); return *this; } template CheckedInt& CheckedInt::operator *=(const CheckedInt& aRhs) { *this = *this * aRhs; return *this; } template inline CheckedInt operator *(const CheckedInt& aLhs, U aRhs) { return aLhs * castToCheckedInt(aRhs); } template inline CheckedInt operator *(U aLhs, const CheckedInt& aRhs) { return castToCheckedInt(aLhs) * aRhs; } template template CheckedInt& CheckedInt::operator -=(U aRhs) { *this = *this - castToCheckedInt(aRhs); return *this; } template CheckedInt& CheckedInt::operator -=(const CheckedInt& aRhs) { *this = *this - aRhs; return *this; } template inline CheckedInt operator -(const CheckedInt& aLhs, U aRhs) { return aLhs - castToCheckedInt(aRhs); } template inline CheckedInt operator -(U aLhs, const CheckedInt& aRhs) { return castToCheckedInt(aLhs) - aRhs; } template template CheckedInt& CheckedInt::operator /=(U aRhs) { *this = *this / castToCheckedInt(aRhs); return *this; } template CheckedInt& CheckedInt::operator /=(const CheckedInt& aRhs) { *this = *this / aRhs; return *this; } template inline CheckedInt operator /(const CheckedInt& aLhs, U aRhs) { return aLhs / castToCheckedInt(aRhs); } template inline CheckedInt operator /(U aLhs, const CheckedInt& aRhs) { return castToCheckedInt(aLhs) / aRhs; } template template CheckedInt& CheckedInt::operator %=(U aRhs) { *this = *this % castToCheckedInt(aRhs); return *this; } template CheckedInt& CheckedInt::operator %=(const CheckedInt& aRhs) { *this = *this % aRhs; return *this; } template inline CheckedInt operator %(const CheckedInt& aLhs, U aRhs) { return aLhs % castToCheckedInt(aRhs); } template inline CheckedInt operator %(U aLhs, const CheckedInt& aRhs) { return castToCheckedInt(aLhs) % aRhs; } template inline bool operator ==(const CheckedInt& aLhs, U aRhs) { return aLhs == castToCheckedInt(aRhs); } template inline bool operator ==(U aLhs, const CheckedInt& aRhs) { return castToCheckedInt(aLhs) == aRhs; } typedef CheckedInt CheckedInt8; typedef CheckedInt CheckedUint8; typedef CheckedInt CheckedInt16; typedef CheckedInt CheckedUint16; typedef CheckedInt CheckedInt32; typedef CheckedInt CheckedUint32; typedef CheckedInt CheckedInt64; typedef CheckedInt CheckedUint64; } # 10 "../../../dist/include/mozilla/gfx/Tools.h" 2 # 1 "../../../dist/include/mozilla/Move.h" 1 # 11 "../../../dist/include/mozilla/gfx/Tools.h" 2 # 1 "../../../dist/system_wrappers/math.h" 1 # 2 "../../../dist/system_wrappers/math.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 15 "../../../dist/include/mozilla/gfx/Tools.h" 2 namespace mozilla { namespace gfx { static inline bool IsOperatorBoundByMask(CompositionOp aOp) { switch (aOp) { case CompositionOp::OP_IN: case CompositionOp::OP_OUT: case CompositionOp::OP_DEST_IN: case CompositionOp::OP_DEST_ATOP: case CompositionOp::OP_SOURCE: return false; default: return true; } } template struct ClassStorage { char bytes[sizeof(T)]; const T *addr() const { return (const T *)bytes; } T *addr() { return (T *)(void *)bytes; } }; static inline bool FuzzyEqual(Float aA, Float aB, Float aErr) { if ((aA + aErr >= aB) && (aA - aErr <= aB)) { return true; } return false; } static inline void NudgeToInteger(float *aVal) { float r = floorf(*aVal + 0.5f); if (FuzzyEqual(r, *aVal, r == 0.0f ? 1e-6f : fabs(r*1e-6f))) { *aVal = r; } } static inline void NudgeToInteger(float *aVal, float aErr) { float r = floorf(*aVal + 0.5f); if (FuzzyEqual(r, *aVal, aErr)) { *aVal = r; } } static inline Float Distance(Point aA, Point aB) { return hypotf(aB.x - aA.x, aB.y - aA.y); } static inline int BytesPerPixel(SurfaceFormat aFormat) { switch (aFormat) { case SurfaceFormat::A8: return 1; case SurfaceFormat::R5G6B5: return 2; default: return 4; } } template struct AlignedArray { typedef T value_type; AlignedArray() : mPtr(nullptr) , mStorage(nullptr) { } explicit __attribute__((always_inline)) inline AlignedArray(size_t aCount, bool aZero = false) : mStorage(nullptr) , mCount(0) { Realloc(aCount, aZero); } __attribute__((always_inline)) inline ~AlignedArray() { Dealloc(); } void Dealloc() { static_assert(mozilla::IsPod::value, "Destructors must be invoked for this type"); # 137 "../../../dist/include/mozilla/gfx/Tools.h" moz_free(mStorage); mStorage = nullptr; mPtr = nullptr; } __attribute__((always_inline)) inline void Realloc(size_t aCount, bool aZero = false) { moz_free(mStorage); CheckedInt32 storageByteCount = CheckedInt32(sizeof(T)) * aCount + (alignment - 1); if (!storageByteCount.isValid()) { mStorage = nullptr; mPtr = nullptr; mCount = 0; return; } if (aZero) { mStorage = static_cast(moz_calloc(1, storageByteCount.value())); } else { mStorage = static_cast(moz_malloc(storageByteCount.value())); } if (!mStorage) { mStorage = nullptr; mPtr = nullptr; mCount = 0; return; } if (uintptr_t(mStorage) % alignment) { mPtr = (T*)(uintptr_t(mStorage) + alignment - (uintptr_t(mStorage) % alignment)); } else { mPtr = (T*)(mStorage); } mPtr = new (mPtr) T[aCount]; mCount = aCount; } void Swap(AlignedArray& aOther) { mozilla::Swap(mPtr, aOther.mPtr); mozilla::Swap(mStorage, aOther.mStorage); mozilla::Swap(mCount, aOther.mCount); } __attribute__((always_inline)) inline operator T*() { return mPtr; } T *mPtr; private: uint8_t *mStorage; size_t mCount; }; # 209 "../../../dist/include/mozilla/gfx/Tools.h" template int32_t GetAlignedStride(int32_t aStride) { static_assert(alignment > 0 && (alignment & (alignment-1)) == 0, "This implementation currently require power-of-two alignment"); const int32_t mask = alignment - 1; return (aStride + mask) & ~mask; } } } # 13 "../../../dist/include/mozilla/gfx/Rect.h" 2 # 1 "/usr/include/c++/5.0.0/cmath" 1 3 # 39 "/usr/include/c++/5.0.0/cmath" 3 # 40 "/usr/include/c++/5.0.0/cmath" 3 # 1 "../../../dist/system_wrappers/math.h" 1 3 # 2 "../../../dist/system_wrappers/math.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 45 "/usr/include/c++/5.0.0/cmath" 2 3 # 15 "../../../dist/include/mozilla/gfx/Rect.h" 2 namespace mozilla { template struct IsPixel; namespace gfx { template struct IntMarginTyped: public BaseMargin >, public units { static_assert(IsPixel::value, "'units' must be a coordinate system tag"); typedef BaseMargin > Super; IntMarginTyped() : Super() {} IntMarginTyped(int32_t aTop, int32_t aRight, int32_t aBottom, int32_t aLeft) : Super(aTop, aRight, aBottom, aLeft) {} }; typedef IntMarginTyped IntMargin; template struct MarginTyped: public BaseMargin >, public units { static_assert(IsPixel::value, "'units' must be a coordinate system tag"); typedef BaseMargin > Super; MarginTyped() : Super() {} MarginTyped(Float aTop, Float aRight, Float aBottom, Float aLeft) : Super(aTop, aRight, aBottom, aLeft) {} explicit MarginTyped(const IntMarginTyped& aMargin) : Super(float(aMargin.top), float(aMargin.right), float(aMargin.bottom), float(aMargin.left)) {} }; typedef MarginTyped Margin; template IntMarginTyped RoundedToInt(const MarginTyped& aMargin) { return IntMarginTyped(int32_t(floorf(aMargin.top + 0.5f)), int32_t(floorf(aMargin.right + 0.5f)), int32_t(floorf(aMargin.bottom + 0.5f)), int32_t(floorf(aMargin.left + 0.5f))); } template struct IntRectTyped : public BaseRect, IntPointTyped, IntSizeTyped, IntMarginTyped >, public units { static_assert(IsPixel::value, "'units' must be a coordinate system tag"); typedef BaseRect, IntPointTyped, IntSizeTyped, IntMarginTyped > Super; IntRectTyped() : Super() {} IntRectTyped(const IntPointTyped& aPos, const IntSizeTyped& aSize) : Super(aPos, aSize) {} IntRectTyped(int32_t _x, int32_t _y, int32_t _width, int32_t _height) : Super(_x, _y, _width, _height) {} void Round() {} void RoundIn() {} void RoundOut() {} static IntRectTyped FromUnknownRect(const IntRectTyped& rect) { return IntRectTyped(rect.x, rect.y, rect.width, rect.height); } IntRectTyped ToUnknownRect() const { return IntRectTyped(this->x, this->y, this->width, this->height); } }; typedef IntRectTyped IntRect; template struct RectTyped : public BaseRect, PointTyped, SizeTyped, MarginTyped >, public units { static_assert(IsPixel::value, "'units' must be a coordinate system tag"); typedef BaseRect, PointTyped, SizeTyped, MarginTyped > Super; RectTyped() : Super() {} RectTyped(const PointTyped& aPos, const SizeTyped& aSize) : Super(aPos, aSize) {} RectTyped(Float _x, Float _y, Float _width, Float _height) : Super(_x, _y, _width, _height) {} explicit RectTyped(const IntRectTyped& rect) : Super(float(rect.x), float(rect.y), float(rect.width), float(rect.height)) {} void NudgeToIntegers() { NudgeToInteger(&(this->x)); NudgeToInteger(&(this->y)); NudgeToInteger(&(this->width)); NudgeToInteger(&(this->height)); } bool ToIntRect(IntRectTyped *aOut) const { *aOut = IntRectTyped(int32_t(this->X()), int32_t(this->Y()), int32_t(this->Width()), int32_t(this->Height())); return RectTyped(Float(aOut->x), Float(aOut->y), Float(aOut->width), Float(aOut->height)) .IsEqualEdges(*this); } static RectTyped FromUnknownRect(const RectTyped& rect) { return RectTyped(rect.x, rect.y, rect.width, rect.height); } RectTyped ToUnknownRect() const { return RectTyped(this->x, this->y, this->width, this->height); } bool operator==(const RectTyped& aRect) const { return RectTyped::IsEqualEdges(aRect); } }; typedef RectTyped Rect; template IntRectTyped RoundedToInt(const RectTyped& aRect) { return IntRectTyped(int32_t(floorf(aRect.x + 0.5f)), int32_t(floorf(aRect.y + 0.5f)), int32_t(floorf(aRect.width + 0.5f)), int32_t(floorf(aRect.height + 0.5f))); } template IntRectTyped RoundedIn(const RectTyped& aRect) { RectTyped copy(aRect); copy.RoundIn(); return IntRectTyped(int32_t(copy.x), int32_t(copy.y), int32_t(copy.width), int32_t(copy.height)); } template IntRectTyped RoundedOut(const RectTyped& aRect) { RectTyped copy(aRect); copy.RoundOut(); return IntRectTyped(int32_t(copy.x), int32_t(copy.y), int32_t(copy.width), int32_t(copy.height)); } } } # 11 "../../../dist/include/MediaData.h" 2 # 1 "../../../dist/include/AudioSampleFormat.h" 1 # 12 "../../../dist/include/AudioSampleFormat.h" namespace mozilla { # 21 "../../../dist/include/AudioSampleFormat.h" enum AudioSampleFormat { AUDIO_FORMAT_S16, AUDIO_FORMAT_FLOAT32, AUDIO_FORMAT_SILENCE, AUDIO_OUTPUT_FORMAT = AUDIO_FORMAT_FLOAT32 }; enum { MAX_AUDIO_SAMPLE_SIZE = sizeof(float) }; template class AudioSampleTraits; template <> class AudioSampleTraits { public: typedef float Type; }; template <> class AudioSampleTraits { public: typedef int16_t Type; }; typedef AudioSampleTraits::Type AudioDataValue; template class AudioSampleTypeToFormat; template <> class AudioSampleTypeToFormat { public: static const AudioSampleFormat Format = AUDIO_FORMAT_FLOAT32; }; template <> class AudioSampleTypeToFormat { public: static const AudioSampleFormat Format = AUDIO_FORMAT_S16; }; # 73 "../../../dist/include/AudioSampleFormat.h" inline float AudioSampleToFloat(float aValue) { return aValue; } inline float AudioSampleToFloat(int16_t aValue) { return aValue/32768.0f; } template T FloatToAudioSample(float aValue); template <> inline float FloatToAudioSample(float aValue) { return aValue; } template <> inline int16_t FloatToAudioSample(float aValue) { float v = aValue*32768.0f; float clamped = std::max(-32768.0f, std::min(32767.0f, v)); return int16_t(clamped); } template inline void ConvertAudioSamples(const From* aFrom, To* aTo, int aCount) { for (int i = 0; i < aCount; ++i) { aTo[i] = FloatToAudioSample(AudioSampleToFloat(aFrom[i])); } } inline void ConvertAudioSamples(const int16_t* aFrom, int16_t* aTo, int aCount) { memcpy(aTo, aFrom, sizeof(*aTo)*aCount); } inline void ConvertAudioSamples(const float* aFrom, float* aTo, int aCount) { memcpy(aTo, aFrom, sizeof(*aTo)*aCount); } template inline void ConvertAudioSamplesWithScale(const From* aFrom, To* aTo, int aCount, float aScale) { if (aScale == 1.0f) { ConvertAudioSamples(aFrom, aTo, aCount); return; } for (int i = 0; i < aCount; ++i) { aTo[i] = FloatToAudioSample(AudioSampleToFloat(aFrom[i])*aScale); } } inline void ConvertAudioSamplesWithScale(const int16_t* aFrom, int16_t* aTo, int aCount, float aScale) { if (aScale == 1.0f) { ConvertAudioSamples(aFrom, aTo, aCount); return; } if (0.0f <= aScale && aScale < 1.0f) { int32_t scale = int32_t((1 << 16) * aScale); for (int i = 0; i < aCount; ++i) { aTo[i] = int16_t((int32_t(aFrom[i]) * scale) >> 16); } return; } for (int i = 0; i < aCount; ++i) { aTo[i] = FloatToAudioSample(AudioSampleToFloat(aFrom[i])*aScale); } } inline void ScaleAudioSamples(float* aBuffer, int aCount, float aScale) { for (int32_t i = 0; i < aCount; ++i) { aBuffer[i] *= aScale; } } inline void ScaleAudioSamples(short* aBuffer, int aCount, float aScale) { int32_t volume = int32_t((1 << 16) * aScale); for (int32_t i = 0; i < aCount; ++i) { aBuffer[i] = short((int32_t(aBuffer[i]) * volume) >> 16); } } inline const void* AddAudioSampleOffset(const void* aBase, AudioSampleFormat aFormat, int32_t aOffset) { static_assert(AUDIO_FORMAT_S16 == 0, "Bad constant"); static_assert(AUDIO_FORMAT_FLOAT32 == 1, "Bad constant"); do { } while(0) ; return static_cast(aBase) + (aFormat + 1)*2*aOffset; } } # 13 "../../../dist/include/MediaData.h" 2 # 1 "../../../dist/include/nsIMemoryReporter.h" 1 # 14 "../../../dist/include/nsIMemoryReporter.h" # 1 "../../../dist/include/mozilla/DebugOnly.h" 1 # 15 "../../../dist/include/nsIMemoryReporter.h" 2 # 1 "../../../dist/system_wrappers/stdio.h" 1 # 2 "../../../dist/system_wrappers/stdio.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 21 "../../../dist/include/nsIMemoryReporter.h" 2 class nsIDOMWindow; class nsIRunnable; class nsISimpleEnumerator; # 35 "../../../dist/include/nsIMemoryReporter.h" class nsIMemoryReporterCallback : public nsISupports { public: template struct COMTypeInfo; virtual nsresult Callback(const nsACString_internal & process, const nsACString_internal & path, int32_t kind, int32_t units, int64_t amount, const nsACString_internal & description, nsISupports *data) = 0; }; template struct nsIMemoryReporterCallback::COMTypeInfo { static const nsIID kIID __attribute__ ((visibility ("hidden"))); }; template const nsIID nsIMemoryReporterCallback::COMTypeInfo::kIID __attribute__ ((visibility ("hidden"))) = {0x62ef0e1c, 0xdbd6, 0x11e3, { 0xaa, 0x75, 0x3c, 0x97, 0x0e, 0x9f, 0x42, 0x38 }}; # 108 "../../../dist/include/nsIMemoryReporter.h" class nsIMemoryReporter : public nsISupports { public: template struct COMTypeInfo; virtual nsresult CollectReports(nsIMemoryReporterCallback *callback, nsISupports *data, bool anonymize) = 0; enum { KIND_NONHEAP = 0, KIND_HEAP = 1, KIND_OTHER = 2, UNITS_BYTES = 0, UNITS_COUNT = 1, UNITS_COUNT_CUMULATIVE = 2, UNITS_PERCENTAGE = 3 }; }; template struct nsIMemoryReporter::COMTypeInfo { static const nsIID kIID __attribute__ ((visibility ("hidden"))); }; template const nsIID nsIMemoryReporter::COMTypeInfo::kIID __attribute__ ((visibility ("hidden"))) = {0x92a36db1, 0x46bd, 0x4fe6, { 0x98, 0x8e, 0x47, 0xdb, 0x47, 0x23, 0x6d, 0x8b }}; # 191 "../../../dist/include/nsIMemoryReporter.h" class nsIFinishReportingCallback : public nsISupports { public: template struct COMTypeInfo; virtual nsresult Callback(nsISupports *data) = 0; }; template struct nsIFinishReportingCallback::COMTypeInfo { static const nsIID kIID __attribute__ ((visibility ("hidden"))); }; template const nsIID nsIFinishReportingCallback::COMTypeInfo::kIID __attribute__ ((visibility ("hidden"))) = {0x548b3909, 0xc04d, 0x4ca6, { 0x84, 0x66, 0xb8, 0xbe, 0xe3, 0x83, 0x74, 0x57 }}; # 264 "../../../dist/include/nsIMemoryReporter.h" class nsIMemoryReporterManager : public nsISupports { public: template struct COMTypeInfo; virtual nsresult Init(void) = 0; virtual nsresult RegisterStrongReporter(nsIMemoryReporter *reporter) = 0; virtual nsresult RegisterWeakReporter(nsIMemoryReporter *reporter) = 0; virtual nsresult UnregisterStrongReporter(nsIMemoryReporter *reporter) = 0; virtual nsresult UnregisterWeakReporter(nsIMemoryReporter *reporter) = 0; virtual nsresult BlockRegistrationAndHideExistingReporters(void) = 0; virtual nsresult UnblockRegistrationAndRestoreOriginalReporters(void) = 0; virtual nsresult RegisterStrongReporterEvenIfBlocked(nsIMemoryReporter *aReporter) = 0; virtual nsresult GetReports(nsIMemoryReporterCallback *handleReport, nsISupports *handleReportData, nsIFinishReportingCallback *finishReporting, nsISupports *finishReportingData, bool anonymize) = 0; virtual nsresult GetReportsExtended(nsIMemoryReporterCallback *handleReport, nsISupports *handleReportData, nsIFinishReportingCallback *finishReporting, nsISupports *finishReportingData, bool anonymize, bool minimizeMemoryUsage, const nsAString_internal & DMDDumpIdent) = 0; virtual nsresult GetReportsForThisProcess(nsIMemoryReporterCallback *handleReport, nsISupports *handleReportData, bool anonymize) = 0; virtual nsresult GetReportsForThisProcessExtended(nsIMemoryReporterCallback *handleReport, nsISupports *handleReportData, bool anonymize, FILE *DMDFile) = 0; virtual nsresult GetExplicit(int64_t *aExplicit) = 0; virtual nsresult GetVsize(int64_t *aVsize) = 0; virtual nsresult GetVsizeMaxContiguous(int64_t *aVsizeMaxContiguous) = 0; virtual nsresult GetResident(int64_t *aResident) = 0; virtual nsresult GetResidentFast(int64_t *aResidentFast) = 0; virtual nsresult GetResidentUnique(int64_t *aResidentUnique) = 0; virtual nsresult GetHeapAllocated(int64_t *aHeapAllocated) = 0; virtual nsresult GetHeapOverheadRatio(int64_t *aHeapOverheadRatio) = 0; virtual nsresult GetJSMainRuntimeGCHeap(int64_t *aJSMainRuntimeGCHeap) = 0; virtual nsresult GetJSMainRuntimeTemporaryPeak(int64_t *aJSMainRuntimeTemporaryPeak) = 0; virtual nsresult GetJSMainRuntimeCompartmentsSystem(int64_t *aJSMainRuntimeCompartmentsSystem) = 0; virtual nsresult GetJSMainRuntimeCompartmentsUser(int64_t *aJSMainRuntimeCompartmentsUser) = 0; virtual nsresult GetImagesContentUsedUncompressed(int64_t *aImagesContentUsedUncompressed) = 0; virtual nsresult GetStorageSQLite(int64_t *aStorageSQLite) = 0; virtual nsresult GetLowMemoryEventsVirtual(int64_t *aLowMemoryEventsVirtual) = 0; virtual nsresult GetLowMemoryEventsPhysical(int64_t *aLowMemoryEventsPhysical) = 0; virtual nsresult GetGhostWindows(int64_t *aGhostWindows) = 0; virtual nsresult GetPageFaultsHard(int64_t *aPageFaultsHard) = 0; virtual nsresult GetHasMozMallocUsableSize(bool *aHasMozMallocUsableSize) = 0; inline bool GetHasMozMallocUsableSize() { bool result; mozilla::DebugOnly rv = GetHasMozMallocUsableSize(&result); do { } while (0); return result; } virtual nsresult GetIsDMDEnabled(bool *aIsDMDEnabled) = 0; inline bool GetIsDMDEnabled() { bool result; mozilla::DebugOnly rv = GetIsDMDEnabled(&result); do { } while (0); return result; } virtual nsresult GetIsDMDRunning(bool *aIsDMDRunning) = 0; inline bool GetIsDMDRunning() { bool result; mozilla::DebugOnly rv = GetIsDMDRunning(&result); do { } while (0); return result; } virtual nsresult MinimizeMemoryUsage(nsIRunnable *callback) = 0; virtual nsresult SizeOfTab(nsIDOMWindow *window, int64_t *jsObjectsSize, int64_t *jsStringsSize, int64_t *jsOtherSize, int64_t *domSize, int64_t *styleSize, int64_t *otherSize, int64_t *totalSize, double *jsMilliseconds, double *nonJSMilliseconds) = 0; }; template struct nsIMemoryReporterManager::COMTypeInfo { static const nsIID kIID __attribute__ ((visibility ("hidden"))); }; template const nsIID nsIMemoryReporterManager::COMTypeInfo::kIID __attribute__ ((visibility ("hidden"))) = {0x51e17609, 0xe98a, 0x47cc, { 0x9f, 0x95, 0x09, 0x5e, 0xf3, 0xc3, 0x82, 0x3e }}; # 765 "../../../dist/include/nsIMemoryReporter.h" # 1 "../../../dist/include/js/TypeDecls.h" 1 # 20 "../../../dist/include/js/TypeDecls.h" # 1 "../../../dist/system_wrappers/stddef.h" 1 # 2 "../../../dist/system_wrappers/stddef.h" 3 #pragma GCC visibility push(default) # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/stddef.h" 1 3 4 # 4 "../../../dist/system_wrappers/stddef.h" 2 3 #pragma GCC visibility pop # 21 "../../../dist/include/js/TypeDecls.h" 2 # 1 "../../../dist/system_wrappers/stdint.h" 1 # 2 "../../../dist/system_wrappers/stdint.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 22 "../../../dist/include/js/TypeDecls.h" 2 # 1 "../../../dist/include/js-config.h" 1 # 24 "../../../dist/include/js/TypeDecls.h" 2 struct JSContext; class JSFunction; class JSObject; class JSScript; class JSString; class JSAddonId; struct jsid; namespace JS { typedef unsigned char Latin1Char; class Symbol; class Value; template class Handle; template class MutableHandle; template class Rooted; template class PersistentRooted; typedef Handle HandleFunction; typedef Handle HandleId; typedef Handle HandleObject; typedef Handle HandleScript; typedef Handle HandleString; typedef Handle HandleSymbol; typedef Handle HandleValue; typedef MutableHandle MutableHandleFunction; typedef MutableHandle MutableHandleId; typedef MutableHandle MutableHandleObject; typedef MutableHandle MutableHandleScript; typedef MutableHandle MutableHandleString; typedef MutableHandle MutableHandleSymbol; typedef MutableHandle MutableHandleValue; typedef Rooted RootedObject; typedef Rooted RootedFunction; typedef Rooted RootedScript; typedef Rooted RootedString; typedef Rooted RootedSymbol; typedef Rooted RootedId; typedef Rooted RootedValue; typedef PersistentRooted PersistentRootedFunction; typedef PersistentRooted PersistentRootedId; typedef PersistentRooted PersistentRootedObject; typedef PersistentRooted PersistentRootedScript; typedef PersistentRooted PersistentRootedString; typedef PersistentRooted PersistentRootedSymbol; typedef PersistentRooted PersistentRootedValue; } # 766 "../../../dist/include/nsIMemoryReporter.h" 2 # 1 "../../../dist/include/nsTArray.h" 1 # 11 "../../../dist/include/nsTArray.h" # 1 "../../../dist/include/mozilla/Alignment.h" 1 # 12 "../../../dist/include/nsTArray.h" 2 # 1 "../../../dist/include/mozilla/BinarySearch.h" 1 # 12 "../../../dist/include/mozilla/BinarySearch.h" # 1 "../../../dist/system_wrappers/stddef.h" 1 # 2 "../../../dist/system_wrappers/stddef.h" 3 #pragma GCC visibility push(default) # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/stddef.h" 1 3 4 # 4 "../../../dist/system_wrappers/stddef.h" 2 3 #pragma GCC visibility pop # 13 "../../../dist/include/mozilla/BinarySearch.h" 2 namespace mozilla { # 66 "../../../dist/include/mozilla/BinarySearch.h" template bool BinarySearchIf(const Container& aContainer, size_t aBegin, size_t aEnd, const Comparator& aCompare, size_t* aMatchOrInsertionPoint) { do { } while (0); size_t low = aBegin; size_t high = aEnd; while (high != low) { size_t middle = low + (high - low) / 2; const int result = aCompare(aContainer[middle]); if (result == 0) { *aMatchOrInsertionPoint = middle; return true; } if (result < 0) { high = middle; } else { low = middle + 1; } } *aMatchOrInsertionPoint = low; return false; } namespace detail { template class BinarySearchDefaultComparator { public: explicit BinarySearchDefaultComparator(const T& aTarget) : mTarget(aTarget) {} template int operator()(const U& val) const { if (mTarget == val) { return 0; } if (mTarget < val) { return -1; } return 1; } private: const T& mTarget; }; } template bool BinarySearch(const Container& aContainer, size_t aBegin, size_t aEnd, T aTarget, size_t* aMatchOrInsertionPoint) { return BinarySearchIf(aContainer, aBegin, aEnd, detail::BinarySearchDefaultComparator(aTarget), aMatchOrInsertionPoint); } } # 14 "../../../dist/include/nsTArray.h" 2 # 1 "../../../dist/include/mozilla/MathAlgorithms.h" 1 # 15 "../../../dist/include/nsTArray.h" 2 # 1 "../../../dist/system_wrappers/string.h" 1 # 2 "../../../dist/system_wrappers/string.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 20 "../../../dist/include/nsTArray.h" 2 # 1 "../../../dist/include/nsQuickSort.h" 1 # 18 "../../../dist/include/nsQuickSort.h" extern "C" { # 33 "../../../dist/include/nsQuickSort.h" void NS_QuickSort(void*, unsigned int, unsigned int, int (*)(const void*, const void*, void*), void*); } # 25 "../../../dist/include/nsTArray.h" 2 namespace JS { template class Heap; } class nsRegion; class nsIntRegion; namespace mozilla { namespace layers { struct TileClient; } } # 109 "../../../dist/include/nsTArray.h" struct nsTArrayFallibleResult { nsTArrayFallibleResult(bool aResult) : mResult(aResult) {} operator bool() { return mResult; } private: bool mResult; }; struct nsTArrayInfallibleResult { }; struct nsTArrayFallibleAllocatorBase { typedef bool ResultType; typedef nsTArrayFallibleResult ResultTypeProxy; static ResultType Result(ResultTypeProxy aResult) { return aResult; } static bool Successful(ResultTypeProxy aResult) { return aResult; } static ResultTypeProxy SuccessResult() { return true; } static ResultTypeProxy FailureResult() { return false; } static ResultType ConvertBoolToResultType(bool aValue) { return aValue; } }; struct nsTArrayInfallibleAllocatorBase { typedef void ResultType; typedef nsTArrayInfallibleResult ResultTypeProxy; static ResultType Result(ResultTypeProxy aResult) {} static bool Successful(ResultTypeProxy) { return true; } static ResultTypeProxy SuccessResult() { return ResultTypeProxy(); } static ResultTypeProxy FailureResult() { NS_DebugBreak(NS_DEBUG_ABORT, "Infallible nsTArray should never fail", nullptr, "../../../dist/include/nsTArray.h", 152); return ResultTypeProxy(); } static ResultType ConvertBoolToResultType(bool aValue) { if (!aValue) { NS_DebugBreak(NS_DEBUG_ABORT, "infallible nsTArray should never convert false to ResultType", nullptr, "../../../dist/include/nsTArray.h", 159); } } }; # 1 "../../../dist/include/mozilla/mozalloc_abort.h" 1 # 166 "../../../dist/include/nsTArray.h" 2 struct nsTArrayFallibleAllocator : nsTArrayFallibleAllocatorBase { static void* Malloc(size_t aSize) { return moz_malloc(aSize); } static void* Realloc(void* aPtr, size_t aSize) { return moz_realloc(aPtr, aSize); } static void Free(void* aPtr) { moz_free(aPtr); } static void SizeTooBig(size_t) {} }; struct nsTArrayInfallibleAllocator : nsTArrayInfallibleAllocatorBase { static void* Malloc(size_t aSize) { return moz_xmalloc(aSize); } static void* Realloc(void* aPtr, size_t aSize) { return moz_xrealloc(aPtr, aSize); } static void Free(void* aPtr) { moz_free(aPtr); } static void SizeTooBig(size_t aSize) { NS_ABORT_OOM(aSize); } }; # 232 "../../../dist/include/nsTArray.h" struct nsTArrayHeader { static nsTArrayHeader sEmptyHdr; uint32_t mLength; uint32_t mCapacity : 31; uint32_t mIsAutoArray : 1; }; template struct nsTArray_SafeElementAtHelper { typedef E* elem_type; typedef size_t index_type; elem_type& SafeElementAt(index_type aIndex); const elem_type& SafeElementAt(index_type aIndex) const; }; template struct nsTArray_SafeElementAtHelper { typedef E* elem_type; typedef size_t index_type; elem_type SafeElementAt(index_type aIndex) { return static_cast(this)->SafeElementAt(aIndex, nullptr); } const elem_type SafeElementAt(index_type aIndex) const { return static_cast(this)->SafeElementAt(aIndex, nullptr); } }; template struct nsTArray_SafeElementAtSmartPtrHelper { typedef E* elem_type; typedef size_t index_type; elem_type SafeElementAt(index_type aIndex) { return static_cast(this)->SafeElementAt(aIndex, nullptr); } const elem_type SafeElementAt(index_type aIndex) const { return static_cast(this)->SafeElementAt(aIndex, nullptr); } }; template class nsCOMPtr; template struct nsTArray_SafeElementAtHelper, Derived> : public nsTArray_SafeElementAtSmartPtrHelper { }; template class nsRefPtr; template struct nsTArray_SafeElementAtHelper, Derived> : public nsTArray_SafeElementAtSmartPtrHelper { }; template class nsTArray_base { template friend class nsTArray_base; protected: typedef nsTArrayHeader Header; public: typedef size_t size_type; typedef size_t index_type; size_type Length() const { return mHdr->mLength; } bool IsEmpty() const { return Length() == 0; } size_type Capacity() const { return mHdr->mCapacity; } protected: nsTArray_base(); ~nsTArray_base(); typename Alloc::ResultTypeProxy EnsureCapacity(size_type aCapacity, size_type aElemSize); void ShrinkCapacity(size_type aElemSize, size_t aElemAlign); # 369 "../../../dist/include/nsTArray.h" void ShiftData(index_type aStart, size_type aOldLen, size_type aNewLen, size_type aElemSize, size_t aElemAlign); void IncrementLength(size_t aNum) { if (mHdr == EmptyHdr()) { if ((__builtin_expect(!!(aNum != 0), 0))) { do { *((volatile int*) # 381 "../../../dist/include/nsTArray.h" 3 4 __null # 381 "../../../dist/include/nsTArray.h" ) = 381; ::abort(); } while (0); } } else { mHdr->mLength += aNum; } } bool InsertSlotsAt(index_type aIndex, size_type aCount, size_type aElementSize, size_t aElemAlign); protected: template typename Alloc::ResultTypeProxy SwapArrayElements(nsTArray_base& aOther, size_type aElemSize, size_t aElemAlign); class IsAutoArrayRestorer { public: IsAutoArrayRestorer(nsTArray_base& aArray, size_t aElemAlign); ~IsAutoArrayRestorer(); private: nsTArray_base& mArray; size_t mElemAlign; bool mIsAuto; }; bool EnsureNotUsingAutoArrayBuffer(size_type aElemSize); bool IsAutoArray() const { return mHdr->mIsAutoArray; } Header* GetAutoArrayBuffer(size_t aElemAlign) { do { } while (0); return GetAutoArrayBufferUnsafe(aElemAlign); } const Header* GetAutoArrayBuffer(size_t aElemAlign) const { do { } while (0); return GetAutoArrayBufferUnsafe(aElemAlign); } Header* GetAutoArrayBufferUnsafe(size_t aElemAlign) { return const_cast(static_cast*>( this)->GetAutoArrayBufferUnsafe(aElemAlign)); } const Header* GetAutoArrayBufferUnsafe(size_t aElemAlign) const; bool UsesAutoArrayBuffer() const; Header* mHdr; Header* Hdr() const { return mHdr; } Header** PtrToHdr() { return &mHdr; } static Header* EmptyHdr() { return &Header::sEmptyHdr; } }; template class nsTArrayElementTraits { public: static inline void Construct(E* aE) { new (static_cast(aE)) E; } template static inline void Construct(E* aE, A&& aArg) { typedef typename mozilla::RemoveCV::Type E_NoCV; typedef typename mozilla::RemoveCV::Type A_NoCV; static_assert(!mozilla::IsSame::value, "For safety, we disallow constructing nsTArray elements " "from E* pointers. See bug 960591."); new (static_cast(aE)) E(mozilla::Forward(aArg)); } static inline void Destruct(E* aE) { aE->~E(); } }; template class nsDefaultComparator { public: bool Equals(const A& aA, const B& aB) const { return aA == aB; } bool LessThan(const A& aA, const B& aB) const { return aA < aB; } }; template class nsTArray; template class FallibleTArray; template struct AssignRangeAlgorithm { template static void implementation(ElemType* aElements, IndexType aStart, SizeType aCount, const Item* aValues) { ElemType* iter = aElements + aStart; ElemType* end = iter + aCount; for (; iter != end; ++iter, ++aValues) { nsTArrayElementTraits::Construct(iter, *aValues); } } }; template<> struct AssignRangeAlgorithm { template static void implementation(ElemType* aElements, IndexType aStart, SizeType aCount, const Item* aValues) { memcpy(aElements + aStart, aValues, aCount * sizeof(ElemType)); } }; # 539 "../../../dist/include/nsTArray.h" struct nsTArray_CopyWithMemutils { const static bool allowRealloc = true; static void CopyElements(void* aDest, const void* aSrc, size_t aCount, size_t aElemSize) { memcpy(aDest, aSrc, aCount * aElemSize); } static void CopyHeaderAndElements(void* aDest, const void* aSrc, size_t aCount, size_t aElemSize) { memcpy(aDest, aSrc, sizeof(nsTArrayHeader) + aCount * aElemSize); } static void MoveElements(void* aDest, const void* aSrc, size_t aCount, size_t aElemSize) { memmove(aDest, aSrc, aCount * aElemSize); } }; template struct nsTArray_CopyWithConstructors { typedef nsTArrayElementTraits traits; const static bool allowRealloc = false; static void CopyElements(void* aDest, void* aSrc, size_t aCount, size_t aElemSize) { ElemType* destElem = static_cast(aDest); ElemType* srcElem = static_cast(aSrc); ElemType* destElemEnd = destElem + aCount; while (destElem != destElemEnd) { traits::Construct(destElem, *srcElem); traits::Destruct(srcElem); ++destElem; ++srcElem; } } static void CopyHeaderAndElements(void* aDest, void* aSrc, size_t aCount, size_t aElemSize) { nsTArrayHeader* destHeader = static_cast(aDest); nsTArrayHeader* srcHeader = static_cast(aSrc); *destHeader = *srcHeader; CopyElements(static_cast(aDest) + sizeof(nsTArrayHeader), static_cast(aSrc) + sizeof(nsTArrayHeader), aCount, aElemSize); } static void MoveElements(void* aDest, void* aSrc, size_t aCount, size_t aElemSize) { ElemType* destElem = static_cast(aDest); ElemType* srcElem = static_cast(aSrc); ElemType* destElemEnd = destElem + aCount; ElemType* srcElemEnd = srcElem + aCount; if (destElem == srcElem) { return; } else if (srcElemEnd > destElem && srcElemEnd < destElemEnd) { while (destElemEnd != destElem) { --destElemEnd; --srcElemEnd; traits::Construct(destElemEnd, *srcElemEnd); traits::Destruct(srcElem); } } else { CopyElements(aDest, aSrc, aCount, aElemSize); } } }; template struct nsTArray_CopyChooser { typedef nsTArray_CopyWithMemutils Type; }; template struct nsTArray_CopyChooser> { typedef nsTArray_CopyWithConstructors> Type; }; template<> struct nsTArray_CopyChooser { typedef nsTArray_CopyWithConstructors Type; }; template<> struct nsTArray_CopyChooser { typedef nsTArray_CopyWithConstructors Type; }; template<> struct nsTArray_CopyChooser { typedef nsTArray_CopyWithConstructors Type; }; template struct nsTArray_TypedBase : public nsTArray_SafeElementAtHelper { }; # 683 "../../../dist/include/nsTArray.h" template struct nsTArray_TypedBase, Derived> : public nsTArray_SafeElementAtHelper, Derived> { operator const nsTArray&() { static_assert(sizeof(E) == sizeof(JS::Heap), "JS::Heap must be binary compatible with E."); Derived* self = static_cast(this); return *reinterpret_cast *>(self); } operator const FallibleTArray&() { Derived* self = static_cast(this); return *reinterpret_cast *>(self); } }; namespace detail { template struct ItemComparatorEq { const Item& mItem; const Comparator& mComp; ItemComparatorEq(const Item& aItem, const Comparator& aComp) : mItem(aItem) , mComp(aComp) {} template int operator()(const T& aElement) const { if (mComp.Equals(aElement, mItem)) { return 0; } return mComp.LessThan(aElement, mItem) ? 1 : -1; } }; template struct ItemComparatorFirstElementGT { const Item& mItem; const Comparator& mComp; ItemComparatorFirstElementGT(const Item& aItem, const Comparator& aComp) : mItem(aItem) , mComp(aComp) {} template int operator()(const T& aElement) const { if (mComp.LessThan(aElement, mItem) || mComp.Equals(aElement, mItem)) { return 1; } else { return -1; } } }; } # 757 "../../../dist/include/nsTArray.h" template class nsTArray_Impl : public nsTArray_base::Type> , public nsTArray_TypedBase> { public: typedef typename nsTArray_CopyChooser::Type copy_type; typedef nsTArray_base base_type; typedef typename base_type::size_type size_type; typedef typename base_type::index_type index_type; typedef E elem_type; typedef nsTArray_Impl self_type; typedef nsTArrayElementTraits elem_traits; typedef nsTArray_SafeElementAtHelper safeelementat_helper_type; using safeelementat_helper_type::SafeElementAt; using base_type::EmptyHdr; static const index_type NoIndex = index_type(-1); using base_type::Length; ~nsTArray_Impl() { Clear(); } nsTArray_Impl() {} explicit nsTArray_Impl(size_type aCapacity) { SetCapacity(aCapacity); } template explicit nsTArray_Impl(nsTArray_Impl&& aOther) { SwapElements(aOther); } # 819 "../../../dist/include/nsTArray.h" explicit nsTArray_Impl(const self_type& aOther) { AppendElements(aOther); } template operator const nsTArray_Impl&() const { return *reinterpret_cast*>(this); } operator const nsTArray&() const { return *reinterpret_cast*>(this); } operator const FallibleTArray&() const { return *reinterpret_cast*>(this); } self_type& operator=(const self_type& aOther) { ReplaceElementsAt(0, Length(), aOther.Elements(), aOther.Length()); return *this; } self_type& operator=(self_type&& aOther) { Clear(); SwapElements(aOther); return *this; } template bool operator==(const nsTArray_Impl& aOther) const { size_type len = Length(); if (len != aOther.Length()) { return false; } for (index_type i = 0; i < len; ++i) { if (!(operator[](i) == aOther[i])) { return false; } } return true; } bool operator!=(const self_type& aOther) const { return !operator==(aOther); } template self_type& operator=(const nsTArray_Impl& aOther) { ReplaceElementsAt(0, Length(), aOther.Elements(), aOther.Length()); return *this; } template self_type& operator=(nsTArray_Impl&& aOther) { Clear(); SwapElements(aOther); return *this; } size_t SizeOfExcludingThis(mozilla::MallocSizeOf aMallocSizeOf) const { if (this->UsesAutoArrayBuffer() || Hdr() == EmptyHdr()) { return 0; } return aMallocSizeOf(this->Hdr()); } size_t SizeOfIncludingThis(mozilla::MallocSizeOf aMallocSizeOf) const { return aMallocSizeOf(this) + SizeOfExcludingThis(aMallocSizeOf); } # 920 "../../../dist/include/nsTArray.h" elem_type* Elements() { return reinterpret_cast(Hdr() + 1); } const elem_type* Elements() const { return reinterpret_cast(Hdr() + 1); } elem_type& ElementAt(index_type aIndex) { do { } while (0); return Elements()[aIndex]; } const elem_type& ElementAt(index_type aIndex) const { do { } while (0); return Elements()[aIndex]; } elem_type& SafeElementAt(index_type aIndex, elem_type& aDef) { return aIndex < Length() ? Elements()[aIndex] : aDef; } const elem_type& SafeElementAt(index_type aIndex, const elem_type& aDef) const { return aIndex < Length() ? Elements()[aIndex] : aDef; } elem_type& operator[](index_type aIndex) { return ElementAt(aIndex); } const elem_type& operator[](index_type aIndex) const { return ElementAt(aIndex); } elem_type& LastElement() { return ElementAt(Length() - 1); } const elem_type& LastElement() const { return ElementAt(Length() - 1); } elem_type& SafeLastElement(elem_type& aDef) { return SafeElementAt(Length() - 1, aDef); } const elem_type& SafeLastElement(const elem_type& aDef) const { return SafeElementAt(Length() - 1, aDef); } # 1003 "../../../dist/include/nsTArray.h" template bool Contains(const Item& aItem, const Comparator& aComp) const { return IndexOf(aItem, 0, aComp) != NoIndex; } template bool Contains(const Item& aItem) const { return IndexOf(aItem) != NoIndex; } template index_type IndexOf(const Item& aItem, index_type aStart, const Comparator& aComp) const { const elem_type* iter = Elements() + aStart, *end = Elements() + Length(); for (; iter != end; ++iter) { if (aComp.Equals(*iter, aItem)) { return index_type(iter - Elements()); } } return NoIndex; } template index_type IndexOf(const Item& aItem, index_type aStart = 0) const { return IndexOf(aItem, aStart, nsDefaultComparator()); } # 1058 "../../../dist/include/nsTArray.h" template index_type LastIndexOf(const Item& aItem, index_type aStart, const Comparator& aComp) const { size_type endOffset = aStart >= Length() ? Length() : aStart + 1; const elem_type* end = Elements() - 1, *iter = end + endOffset; for (; iter != end; --iter) { if (aComp.Equals(*iter, aItem)) { return index_type(iter - Elements()); } } return NoIndex; } # 1079 "../../../dist/include/nsTArray.h" template index_type LastIndexOf(const Item& aItem, index_type aStart = NoIndex) const { return LastIndexOf(aItem, aStart, nsDefaultComparator()); } # 1093 "../../../dist/include/nsTArray.h" template index_type BinaryIndexOf(const Item& aItem, const Comparator& aComp) const { using mozilla::BinarySearchIf; typedef ::detail::ItemComparatorEq Cmp; size_t index; bool found = BinarySearchIf(*this, 0, Length(), Cmp(aItem, aComp), &index); return found ? index : NoIndex; } template index_type BinaryIndexOf(const Item& aItem) const { return BinaryIndexOf(aItem, nsDefaultComparator()); } # 1123 "../../../dist/include/nsTArray.h" void ClearAndRetainStorage() { if (base_type::mHdr == EmptyHdr()) { return; } DestructRange(0, Length()); base_type::mHdr->mLength = 0; } # 1141 "../../../dist/include/nsTArray.h" void SetLengthAndRetainStorage(size_type aNewLen) { do { } while (0); size_type oldLen = Length(); if (aNewLen > oldLen) { InsertElementsAt(oldLen, aNewLen - oldLen); return; } if (aNewLen < oldLen) { DestructRange(aNewLen, oldLen - aNewLen); base_type::mHdr->mLength = aNewLen; } } # 1165 "../../../dist/include/nsTArray.h" template elem_type* ReplaceElementsAt(index_type aStart, size_type aCount, const Item* aArray, size_type aArrayLen) { if (!Alloc::Successful(this->EnsureCapacity(Length() + aArrayLen - aCount, sizeof(elem_type)))) { return nullptr; } DestructRange(aStart, aCount); this->ShiftData(aStart, aCount, aArrayLen, sizeof(elem_type), mozilla::AlignmentFinder::alignment); AssignRange(aStart, aArrayLen, aArray); return Elements() + aStart; } template elem_type* ReplaceElementsAt(index_type aStart, size_type aCount, const nsTArray& aArray) { return ReplaceElementsAt(aStart, aCount, aArray.Elements(), aArray.Length()); } template elem_type* ReplaceElementsAt(index_type aStart, size_type aCount, const Item& aItem) { return ReplaceElementsAt(aStart, aCount, &aItem, 1); } template elem_type* ReplaceElementAt(index_type aIndex, const Item& aItem) { return ReplaceElementsAt(aIndex, 1, &aItem, 1); } template elem_type* InsertElementsAt(index_type aIndex, const Item* aArray, size_type aArrayLen) { return ReplaceElementsAt(aIndex, 0, aArray, aArrayLen); } template elem_type* InsertElementsAt(index_type aIndex, const nsTArray_Impl& aArray) { return ReplaceElementsAt(aIndex, 0, aArray.Elements(), aArray.Length()); } elem_type* InsertElementAt(index_type aIndex) { if (!Alloc::Successful(this->EnsureCapacity(Length() + 1, sizeof(elem_type)))) { return nullptr; } this->ShiftData(aIndex, 0, 1, sizeof(elem_type), mozilla::AlignmentFinder::alignment); elem_type* elem = Elements() + aIndex; elem_traits::Construct(elem); return elem; } template elem_type* InsertElementAt(index_type aIndex, Item&& aItem) { if (!Alloc::Successful(this->EnsureCapacity(Length() + 1, sizeof(elem_type)))) { return nullptr; } this->ShiftData(aIndex, 0, 1, sizeof(elem_type), mozilla::AlignmentFinder::alignment); elem_type* elem = Elements() + aIndex; elem_traits::Construct(elem, mozilla::Forward(aItem)); return elem; } # 1264 "../../../dist/include/nsTArray.h" template index_type IndexOfFirstElementGt(const Item& aItem, const Comparator& aComp) const { using mozilla::BinarySearchIf; typedef ::detail::ItemComparatorFirstElementGT Cmp; size_t index; BinarySearchIf(*this, 0, Length(), Cmp(aItem, aComp), &index); return index; } template index_type IndexOfFirstElementGt(const Item& aItem) const { return IndexOfFirstElementGt(aItem, nsDefaultComparator()); } template elem_type* InsertElementSorted(const Item& aItem, const Comparator& aComp) { index_type index = IndexOfFirstElementGt(aItem, aComp); return InsertElementAt(index, aItem); } template elem_type* InsertElementSorted(const Item& aItem) { return InsertElementSorted(aItem, nsDefaultComparator()); } template elem_type* AppendElements(const Item* aArray, size_type aArrayLen) { if (!Alloc::Successful(this->EnsureCapacity(Length() + aArrayLen, sizeof(elem_type)))) { return nullptr; } index_type len = Length(); AssignRange(len, aArrayLen, aArray); this->IncrementLength(aArrayLen); return Elements() + len; } template elem_type* AppendElements(const nsTArray_Impl& aArray) { return AppendElements(aArray.Elements(), aArray.Length()); } template elem_type* AppendElement(Item&& aItem) { if (!Alloc::Successful(this->EnsureCapacity(Length() + 1, sizeof(elem_type)))) { return nullptr; } elem_type* elem = Elements() + Length(); elem_traits::Construct(elem, mozilla::Forward(aItem)); this->IncrementLength(1); return elem; } elem_type* AppendElements(size_type aCount) { if (!Alloc::Successful(this->EnsureCapacity(Length() + aCount, sizeof(elem_type)))) { return nullptr; } elem_type* elems = Elements() + Length(); size_type i; for (i = 0; i < aCount; ++i) { elem_traits::Construct(elems + i); } this->IncrementLength(aCount); return elems; } elem_type* AppendElement() { return AppendElements(1); } template elem_type* MoveElementsFrom(nsTArray_Impl& aArray) { do { } while (0); index_type len = Length(); index_type otherLen = aArray.Length(); if (!Alloc::Successful(this->EnsureCapacity(len + otherLen, sizeof(elem_type)))) { return nullptr; } copy_type::CopyElements(Elements() + len, aArray.Elements(), otherLen, sizeof(elem_type)); this->IncrementLength(otherLen); aArray.ShiftData(0, otherLen, 0, sizeof(elem_type), mozilla::AlignmentFinder::alignment); return Elements() + len; } template elem_type* MoveElementsFrom(nsTArray_Impl&& aArray) { return MoveElementsFrom(aArray); } void RemoveElementsAt(index_type aStart, size_type aCount) { do { } while (0); do { } while (0); do { } while (0); DestructRange(aStart, aCount); this->ShiftData(aStart, aCount, 0, sizeof(elem_type), mozilla::AlignmentFinder::alignment); } void RemoveElementAt(index_type aIndex) { RemoveElementsAt(aIndex, 1); } void Clear() { RemoveElementsAt(0, Length()); } template bool RemoveElement(const Item& aItem, const Comparator& aComp) { index_type i = IndexOf(aItem, 0, aComp); if (i == NoIndex) { return false; } RemoveElementAt(i); return true; } template bool RemoveElement(const Item& aItem) { return RemoveElement(aItem, nsDefaultComparator()); } template bool RemoveElementSorted(const Item& aItem, const Comparator& aComp) { index_type index = IndexOfFirstElementGt(aItem, aComp); if (index > 0 && aComp.Equals(ElementAt(index - 1), aItem)) { RemoveElementAt(index - 1); return true; } return false; } template bool RemoveElementSorted(const Item& aItem) { return RemoveElementSorted(aItem, nsDefaultComparator()); } template typename Alloc::ResultType SwapElements(nsTArray_Impl& aOther) { return Alloc::Result(this->SwapArrayElements(aOther, sizeof(elem_type), mozilla::AlignmentFinder::alignment)); } # 1476 "../../../dist/include/nsTArray.h" typename Alloc::ResultType SetCapacity(size_type aCapacity) { return Alloc::Result(this->EnsureCapacity(aCapacity, sizeof(elem_type))); } # 1489 "../../../dist/include/nsTArray.h" typename Alloc::ResultType SetLength(size_type aNewLen) { size_type oldLen = Length(); if (aNewLen > oldLen) { return Alloc::ConvertBoolToResultType( InsertElementsAt(oldLen, aNewLen - oldLen) != nullptr); } TruncateLength(aNewLen); return Alloc::ConvertBoolToResultType(true); } void TruncateLength(size_type aNewLen) { size_type oldLen = Length(); do { } while(0) ; RemoveElementsAt(aNewLen, oldLen - aNewLen); } typename Alloc::ResultType EnsureLengthAtLeast(size_type aMinLen) { size_type oldLen = Length(); if (aMinLen > oldLen) { return Alloc::ConvertBoolToResultType(!!InsertElementsAt(oldLen, aMinLen - oldLen)); } return Alloc::ConvertBoolToResultType(true); } elem_type* InsertElementsAt(index_type aIndex, size_type aCount) { if (!base_type::InsertSlotsAt(aIndex, aCount, sizeof(elem_type), mozilla::AlignmentFinder::alignment)) { return nullptr; } elem_type* iter = Elements() + aIndex, *end = iter + aCount; for (; iter != end; ++iter) { elem_traits::Construct(iter); } return Elements() + aIndex; } # 1559 "../../../dist/include/nsTArray.h" template elem_type* InsertElementsAt(index_type aIndex, size_type aCount, const Item& aItem) { if (!base_type::InsertSlotsAt(aIndex, aCount, sizeof(elem_type), mozilla::AlignmentFinder::alignment)) { return nullptr; } elem_type* iter = Elements() + aIndex, *end = iter + aCount; for (; iter != end; ++iter) { elem_traits::Construct(iter, aItem); } return Elements() + aIndex; } void Compact() { ShrinkCapacity(sizeof(elem_type), mozilla::AlignmentFinder::alignment); } # 1590 "../../../dist/include/nsTArray.h" template static int Compare(const void* aE1, const void* aE2, void* aData) { const Comparator* c = reinterpret_cast(aData); const elem_type* a = static_cast(aE1); const elem_type* b = static_cast(aE2); return c->LessThan(*a, *b) ? -1 : (c->Equals(*a, *b) ? 0 : 1); } template void Sort(const Comparator& aComp) { NS_QuickSort(Elements(), Length(), sizeof(elem_type), Compare, const_cast(&aComp)); } void Sort() { Sort(nsDefaultComparator()); } template void MakeHeap(const Comparator& aComp) { if (!Length()) { return; } index_type index = (Length() - 1) / 2; do { SiftDown(index, aComp); } while (index--); } void MakeHeap() { MakeHeap(nsDefaultComparator()); } template elem_type* PushHeap(const Item& aItem, const Comparator& aComp) { if (!base_type::InsertSlotsAt(Length(), 1, sizeof(elem_type), mozilla::AlignmentFinder::alignment)) { return nullptr; } elem_type* elem = Elements(); index_type index = Length() - 1; index_type parent_index = (index - 1) / 2; while (index && aComp.LessThan(elem[parent_index], aItem)) { elem[index] = elem[parent_index]; index = parent_index; parent_index = (index - 1) / 2; } elem[index] = aItem; return &elem[index]; } template elem_type* PushHeap(const Item& aItem) { return PushHeap(aItem, nsDefaultComparator()); } template void PopHeap(const Comparator& aComp) { if (!Length()) { return; } index_type last_index = Length() - 1; elem_type* elem = Elements(); elem[0] = elem[last_index]; TruncateLength(last_index); if (Length()) { SiftDown(0, aComp); } } void PopHeap() { PopHeap(nsDefaultComparator()); } protected: using base_type::Hdr; using base_type::ShrinkCapacity; void DestructRange(index_type aStart, size_type aCount) { elem_type* iter = Elements() + aStart, *end = iter + aCount; for (; iter != end; ++iter) { elem_traits::Destruct(iter); } } template void AssignRange(index_type aStart, size_type aCount, const Item* aValues) { AssignRangeAlgorithm::value, mozilla::IsSame::value> ::implementation(Elements(), aStart, aCount, aValues); } template void SiftDown(index_type aIndex, const Comparator& aComp) { elem_type* elem = Elements(); elem_type item = elem[aIndex]; index_type end = Length() - 1; while ((aIndex * 2) < end) { const index_type left = (aIndex * 2) + 1; const index_type right = (aIndex * 2) + 2; const index_type parent_index = aIndex; if (aComp.LessThan(item, elem[left])) { if (left < end && aComp.LessThan(elem[left], elem[right])) { aIndex = right; } else { aIndex = left; } } else if (left < end && aComp.LessThan(item, elem[right])) { aIndex = right; } else { break; } elem[parent_index] = elem[aIndex]; } elem[aIndex] = item; } }; template inline void ImplCycleCollectionUnlink(nsTArray_Impl& aField) { aField.Clear(); } template inline void ImplCycleCollectionTraverse(nsCycleCollectionTraversalCallback& aCallback, nsTArray_Impl& aField, const char* aName, uint32_t aFlags = 0) { aFlags |= CycleCollectionEdgeNameArrayFlag; size_t length = aField.Length(); for (size_t i = 0; i < length; ++i) { ImplCycleCollectionTraverse(aCallback, aField[i], aName, aFlags); } } template class nsTArray : public nsTArray_Impl { public: typedef nsTArray_Impl base_type; typedef nsTArray self_type; typedef typename base_type::size_type size_type; nsTArray() {} explicit nsTArray(size_type aCapacity) : base_type(aCapacity) {} explicit nsTArray(const nsTArray& aOther) : base_type(aOther) {} explicit nsTArray(nsTArray&& aOther) : base_type(mozilla::Move(aOther)) {} template explicit nsTArray(const nsTArray_Impl& aOther) : base_type(aOther) { } template nsTArray(nsTArray_Impl&& aOther) : base_type(mozilla::Move(aOther)) { } self_type& operator=(const self_type& aOther) { base_type::operator=(aOther); return *this; } template self_type& operator=(const nsTArray_Impl& aOther) { base_type::operator=(aOther); return *this; } self_type& operator=(self_type&& aOther) { base_type::operator=(mozilla::Move(aOther)); return *this; } template self_type& operator=(nsTArray_Impl&& aOther) { base_type::operator=(mozilla::Move(aOther)); return *this; } }; template class FallibleTArray : public nsTArray_Impl { public: typedef nsTArray_Impl base_type; typedef FallibleTArray self_type; typedef typename base_type::size_type size_type; FallibleTArray() {} explicit FallibleTArray(size_type aCapacity) : base_type(aCapacity) {} explicit FallibleTArray(const FallibleTArray& aOther) : base_type(aOther) {} explicit FallibleTArray(FallibleTArray&& aOther) : base_type(mozilla::Move(aOther)) { } template explicit FallibleTArray(const nsTArray_Impl& aOther) : base_type(aOther) { } template explicit FallibleTArray(nsTArray_Impl&& aOther) : base_type(mozilla::Move(aOther)) { } self_type& operator=(const self_type& aOther) { base_type::operator=(aOther); return *this; } template self_type& operator=(const nsTArray_Impl& aOther) { base_type::operator=(aOther); return *this; } self_type& operator=(self_type&& aOther) { base_type::operator=(mozilla::Move(aOther)); return *this; } template self_type& operator=(nsTArray_Impl&& aOther) { base_type::operator=(mozilla::Move(aOther)); return *this; } }; template class nsAutoArrayBase : public TArrayBase { static_assert(N != 0, "nsAutoArrayBase should be specialized"); public: typedef nsAutoArrayBase self_type; typedef TArrayBase base_type; typedef typename base_type::Header Header; typedef typename base_type::elem_type elem_type; template self_type& operator=(const nsTArray_Impl& aOther) { base_type::operator=(aOther); return *this; } protected: nsAutoArrayBase() { Init(); } nsAutoArrayBase(const self_type& aOther) { Init(); this->AppendElements(aOther); } explicit nsAutoArrayBase(const TArrayBase &aOther) { Init(); this->AppendElements(aOther); } template nsAutoArrayBase(nsTArray_Impl&& aOther) { Init(); this->SwapElements(aOther); } private: template friend class nsTArray_base; void Init() { static_assert(mozilla::AlignmentFinder::alignment <= 8, "can't handle alignments greater than 8, " "see nsTArray_base::UsesAutoArrayBuffer()"); Header** phdr = base_type::PtrToHdr(); *phdr = reinterpret_cast(&mAutoBuf); (*phdr)->mLength = 0; (*phdr)->mCapacity = N; (*phdr)->mIsAutoArray = 1; do { } while (0) ; } union { char mAutoBuf[sizeof(nsTArrayHeader) + N * sizeof(elem_type)]; mozilla::AlignedElem<(mozilla::AlignmentFinder
::alignment > mozilla::AlignmentFinder::alignment) ? mozilla::AlignmentFinder
::alignment : mozilla::AlignmentFinder::alignment> mAlign; }; }; # 1973 "../../../dist/include/nsTArray.h" template class nsAutoArrayBase : public TArrayBase { }; # 1986 "../../../dist/include/nsTArray.h" template class nsAutoTArray : public nsAutoArrayBase, N> { typedef nsAutoTArray self_type; typedef nsAutoArrayBase, N> Base; public: nsAutoTArray() {} template explicit nsAutoTArray(const nsTArray_Impl& aOther) { Base::AppendElements(aOther); } template explicit nsAutoTArray(nsTArray_Impl&& aOther) : Base(mozilla::Move(aOther)) { } template self_type& operator=(const nsTArray_Impl& other) { Base::operator=(other); return *this; } operator const AutoFallibleTArray&() const { return *reinterpret_cast*>(this); } }; template class AutoFallibleTArray : public nsAutoArrayBase, N> { typedef AutoFallibleTArray self_type; typedef nsAutoArrayBase, N> Base; public: AutoFallibleTArray() {} template explicit AutoFallibleTArray(const nsTArray_Impl& aOther) { Base::AppendElements(aOther); } template explicit AutoFallibleTArray(nsTArray_Impl&& aOther) : Base(mozilla::Move(aOther)) { } template self_type& operator=(const nsTArray_Impl& other) { Base::operator=(other); return *this; } operator const nsAutoTArray&() const { return *reinterpret_cast*>(this); } }; # 2069 "../../../dist/include/nsTArray.h" static_assert(sizeof(nsAutoTArray) == sizeof(void*) + sizeof(nsTArrayHeader) + sizeof(uint32_t) * 2, "nsAutoTArray shouldn't contain any extra padding, " "see the comment"); # 1 "../../../dist/include/nsTArray-inl.h" 1 # 11 "../../../dist/include/nsTArray-inl.h" template nsTArray_base::nsTArray_base() : mHdr(EmptyHdr()) { ; } template nsTArray_base::~nsTArray_base() { if (mHdr != EmptyHdr() && !UsesAutoArrayBuffer()) { Alloc::Free(mHdr); } ; } template const nsTArrayHeader* nsTArray_base::GetAutoArrayBufferUnsafe(size_t aElemAlign) const { const void* autoBuf = &reinterpret_cast, 1>*>(this)->mAutoBuf; static_assert(sizeof(void*) != 4 || (mozilla::AlignmentFinder >::alignment == 8 && sizeof(nsAutoTArray, 1>) == sizeof(void*) + sizeof(nsTArrayHeader) + 4 + sizeof(mozilla::AlignedElem<8>)), "auto array padding wasn't what we expected"); do { } while(0) ; if (sizeof(void*) == 4 && aElemAlign == 8) { autoBuf = reinterpret_cast(autoBuf) + 4; } return reinterpret_cast(autoBuf); } template bool nsTArray_base::UsesAutoArrayBuffer() const { if (!mHdr->mIsAutoArray) { return false; } # 94 "../../../dist/include/nsTArray-inl.h" static_assert(sizeof(nsTArrayHeader) > 4, "see comment above"); # 104 "../../../dist/include/nsTArray-inl.h" return mHdr == GetAutoArrayBuffer(4) || mHdr == GetAutoArrayBuffer(8); } bool IsTwiceTheRequiredBytesRepresentableAsUint32(size_t aCapacity, size_t aElemSize); template typename Alloc::ResultTypeProxy nsTArray_base::EnsureCapacity(size_type aCapacity, size_type aElemSize) { if (aCapacity <= mHdr->mCapacity) { return Alloc::SuccessResult(); } if (!IsTwiceTheRequiredBytesRepresentableAsUint32(aCapacity, aElemSize)) { Alloc::SizeTooBig((size_t)aCapacity * aElemSize); return Alloc::FailureResult(); } size_t reqSize = sizeof(Header) + aCapacity * aElemSize; if (mHdr == EmptyHdr()) { Header* header = static_cast(Alloc::Malloc(reqSize)); if (!header) { return Alloc::FailureResult(); } header->mLength = 0; header->mCapacity = aCapacity; header->mIsAutoArray = 0; mHdr = header; return Alloc::SuccessResult(); } const size_t slowGrowthThreshold = 8 * 1024 * 1024; size_t bytesToAlloc; if (reqSize >= slowGrowthThreshold) { size_t currSize = sizeof(Header) + Capacity() * aElemSize; size_t minNewSize = currSize + (currSize >> 3); bytesToAlloc = reqSize > minNewSize ? reqSize : minNewSize; const size_t MiB = 1 << 20; bytesToAlloc = MiB * ((bytesToAlloc + MiB - 1) / MiB); } else { bytesToAlloc = mozilla::RoundUpPow2(reqSize); } Header* header; if (UsesAutoArrayBuffer() || !Copy::allowRealloc) { header = static_cast(Alloc::Malloc(bytesToAlloc)); if (!header) { return Alloc::FailureResult(); } Copy::CopyHeaderAndElements(header, mHdr, Length(), aElemSize); if (!UsesAutoArrayBuffer()) { Alloc::Free(mHdr); } } else { header = static_cast(Alloc::Realloc(mHdr, bytesToAlloc)); if (!header) { return Alloc::FailureResult(); } } size_t newCapacity = (bytesToAlloc - sizeof(Header)) / aElemSize; do { } while (0); header->mCapacity = newCapacity; mHdr = header; return Alloc::SuccessResult(); } template void nsTArray_base::ShrinkCapacity(size_type aElemSize, size_t aElemAlign) { if (mHdr == EmptyHdr() || UsesAutoArrayBuffer()) { return; } if (mHdr->mLength >= mHdr->mCapacity) { return; } size_type length = Length(); if (IsAutoArray() && GetAutoArrayBuffer(aElemAlign)->mCapacity >= length) { Header* header = GetAutoArrayBuffer(aElemAlign); header->mLength = length; Copy::CopyElements(header + 1, mHdr + 1, length, aElemSize); Alloc::Free(mHdr); mHdr = header; return; } if (length == 0) { do { } while (0); Alloc::Free(mHdr); mHdr = EmptyHdr(); return; } size_type size = sizeof(Header) + length * aElemSize; void* ptr = Alloc::Realloc(mHdr, size); if (!ptr) { return; } mHdr = static_cast(ptr); mHdr->mCapacity = length; } template void nsTArray_base::ShiftData(index_type aStart, size_type aOldLen, size_type aNewLen, size_type aElemSize, size_t aElemAlign) { if (aOldLen == aNewLen) { return; } size_type num = mHdr->mLength - (aStart + aOldLen); mHdr->mLength += aNewLen - aOldLen; if (mHdr->mLength == 0) { ShrinkCapacity(aElemSize, aElemAlign); } else { if (num == 0) { return; } aStart *= aElemSize; aNewLen *= aElemSize; aOldLen *= aElemSize; char* base = reinterpret_cast(mHdr + 1) + aStart; Copy::MoveElements(base + aNewLen, base + aOldLen, num, aElemSize); } } template bool nsTArray_base::InsertSlotsAt(index_type aIndex, size_type aCount, size_type aElemSize, size_t aElemAlign) { do { } while (0); size_type newLen = Length() + aCount; EnsureCapacity(newLen, aElemSize); if (Capacity() < newLen) { return false; } ShiftData(aIndex, 0, aCount, aElemSize, aElemAlign); return true; } # 303 "../../../dist/include/nsTArray-inl.h" template nsTArray_base::IsAutoArrayRestorer::IsAutoArrayRestorer( nsTArray_base& aArray, size_t aElemAlign) : mArray(aArray) , mElemAlign(aElemAlign) , mIsAuto(aArray.IsAutoArray()) { } template nsTArray_base::IsAutoArrayRestorer::~IsAutoArrayRestorer() { if (mIsAuto && mArray.mHdr == mArray.EmptyHdr()) { mArray.mHdr = mArray.GetAutoArrayBufferUnsafe(mElemAlign); mArray.mHdr->mLength = 0; } else if (mArray.mHdr != mArray.EmptyHdr()) { mArray.mHdr->mIsAutoArray = mIsAuto; } } template template typename Alloc::ResultTypeProxy nsTArray_base::SwapArrayElements(nsTArray_base& aOther, size_type aElemSize, size_t aElemAlign) { IsAutoArrayRestorer ourAutoRestorer(*this, aElemAlign); typename nsTArray_base::IsAutoArrayRestorer otherAutoRestorer(aOther, aElemAlign); if ((!UsesAutoArrayBuffer() || Capacity() < aOther.Length()) && (!aOther.UsesAutoArrayBuffer() || aOther.Capacity() < Length())) { if (!EnsureNotUsingAutoArrayBuffer(aElemSize) || !aOther.EnsureNotUsingAutoArrayBuffer(aElemSize)) { return Alloc::FailureResult(); } Header* temp = mHdr; mHdr = aOther.mHdr; aOther.mHdr = temp; return Alloc::SuccessResult(); } # 374 "../../../dist/include/nsTArray-inl.h" if (!Alloc::Successful(EnsureCapacity(aOther.Length(), aElemSize)) || !Allocator::Successful(aOther.EnsureCapacity(Length(), aElemSize))) { return Alloc::FailureResult(); } do { } while(0) ; size_type smallerLength = XPCOM_MIN(Length(), aOther.Length()); size_type largerLength = XPCOM_MAX(Length(), aOther.Length()); void* smallerElements; void* largerElements; if (Length() <= aOther.Length()) { smallerElements = Hdr() + 1; largerElements = aOther.Hdr() + 1; } else { smallerElements = aOther.Hdr() + 1; largerElements = Hdr() + 1; } nsAutoArrayBase, 64> temp; if (!Alloc::Successful(temp.EnsureCapacity(smallerLength, aElemSize))) { return Alloc::FailureResult(); } Copy::CopyElements(temp.Elements(), smallerElements, smallerLength, aElemSize); Copy::CopyElements(smallerElements, largerElements, largerLength, aElemSize); Copy::CopyElements(largerElements, temp.Elements(), smallerLength, aElemSize); do { } while(0) ; size_type tempLength = Length(); mHdr->mLength = aOther.Length(); aOther.mHdr->mLength = tempLength; return Alloc::SuccessResult(); } template bool nsTArray_base::EnsureNotUsingAutoArrayBuffer(size_type aElemSize) { if (UsesAutoArrayBuffer()) { if (Length() == 0) { mHdr = EmptyHdr(); return true; } size_type size = sizeof(Header) + Length() * aElemSize; Header* header = static_cast(Alloc::Malloc(size)); if (!header) { return false; } Copy::CopyHeaderAndElements(header, mHdr, Length(), aElemSize); header->mCapacity = Length(); mHdr = header; } return true; } # 2076 "../../../dist/include/nsTArray.h" 2 # 768 "../../../dist/include/nsIMemoryReporter.h" 2 class nsPIDOMWindow; typedef nsIMemoryReporterCallback nsIHandleReportCallback; namespace mozilla { extern "C" __attribute__ ((visibility ("default"))) nsresult RegisterStrongMemoryReporter(nsIMemoryReporter* aReporter); extern "C" __attribute__ ((visibility ("default"))) nsresult RegisterWeakMemoryReporter(nsIMemoryReporter* aReporter); extern "C" __attribute__ ((visibility ("default"))) nsresult UnregisterWeakMemoryReporter(nsIMemoryReporter* aReporter); typedef int64_t (*InfallibleAmountFn)(); typedef nsresult (*FallibleAmountFn)(int64_t* aAmount); nsresult RegisterJSMainRuntimeGCHeapDistinguishedAmount(InfallibleAmountFn aAmountFn); nsresult RegisterJSMainRuntimeTemporaryPeakDistinguishedAmount(InfallibleAmountFn aAmountFn); nsresult RegisterJSMainRuntimeCompartmentsSystemDistinguishedAmount(InfallibleAmountFn aAmountFn); nsresult RegisterJSMainRuntimeCompartmentsUserDistinguishedAmount(InfallibleAmountFn aAmountFn); nsresult RegisterImagesContentUsedUncompressedDistinguishedAmount(InfallibleAmountFn aAmountFn); nsresult RegisterStorageSQLiteDistinguishedAmount(InfallibleAmountFn aAmountFn); nsresult UnregisterStorageSQLiteDistinguishedAmount(); nsresult RegisterLowMemoryEventsVirtualDistinguishedAmount(InfallibleAmountFn aAmountFn); nsresult RegisterLowMemoryEventsPhysicalDistinguishedAmount(InfallibleAmountFn aAmountFn); nsresult RegisterGhostWindowsDistinguishedAmount(InfallibleAmountFn aAmountFn); typedef nsresult (*JSSizeOfTabFn)(JSObject* aObj, size_t* aJsObjectsSize, size_t* aJsStringSize, size_t* aJsPrivateSize, size_t* aJsOtherSize); typedef nsresult (*NonJSSizeOfTabFn)(nsPIDOMWindow* aWindow, size_t* aDomSize, size_t* aStyleSize, size_t* aOtherSize); nsresult RegisterJSSizeOfTab(JSSizeOfTabFn aSizeOfTabFn); nsresult RegisterNonJSSizeOfTab(NonJSSizeOfTabFn aSizeOfTabFn); } # 14 "../../../dist/include/MediaData.h" 2 # 1 "../../../dist/include/SharedBuffer.h" 1 # 9 "../../../dist/include/SharedBuffer.h" # 1 "../../../dist/include/mozilla/CheckedInt.h" 1 # 10 "../../../dist/include/SharedBuffer.h" 2 namespace mozilla { class ThreadSharedObject { public: public: MozExternalRefCountType AddRef(void) { static_assert(!(std::is_destructible::value) || mozilla::HasDangerousPublicDestructor::value, "Reference-counted class " "ThreadSharedObject" " should not have a public destructor. " "Try to make this class's destructor non-public. If that is really " "not possible, you can whitelist this class by providing a " "HasDangerousPublicDestructor specialization for it."); static_assert(!mozilla::HasDangerousPublicDestructor::value || (std::is_destructible::value), "Class " "ThreadSharedObject" " has no public destructor. That's good! So please " "remove the HasDangerousPublicDestructor specialization for it."); do { } while (0); nsrefcnt count = ++mRefCnt; ; return (nsrefcnt) count; } MozExternalRefCountType Release(void) { do { } while (0); nsrefcnt count = --mRefCnt; ; if (count == 0) { delete (this); return 0; } return count; } protected: ::mozilla::ThreadSafeAutoRefCnt mRefCnt; public: bool IsShared() { return mRefCnt.get() > 1; } virtual size_t SizeOfExcludingThis(MallocSizeOf aMallocSizeOf) const { return 0; } virtual size_t SizeOfIncludingThis(MallocSizeOf aMallocSizeOf) const { return aMallocSizeOf(this) + SizeOfExcludingThis(aMallocSizeOf); } protected: virtual ~ThreadSharedObject() {} }; # 48 "../../../dist/include/SharedBuffer.h" class SharedBuffer : public ThreadSharedObject { public: void* Data() { return this + 1; } static already_AddRefed Create(size_t aSize) { CheckedInt size = sizeof(SharedBuffer); size += aSize; if (!size.isValid()) { do { *((volatile int*) # 57 "../../../dist/include/SharedBuffer.h" 3 4 __null # 57 "../../../dist/include/SharedBuffer.h" ) = 57; ::abort(); } while (0); } void* m = moz_xmalloc(size.value()); nsRefPtr p = new (m) SharedBuffer(); do { } while(0) ; return p.forget(); } virtual size_t SizeOfIncludingThis(MallocSizeOf aMallocSizeOf) const override { return aMallocSizeOf(this) + SizeOfExcludingThis(aMallocSizeOf); } private: SharedBuffer() {} }; } # 15 "../../../dist/include/MediaData.h" 2 namespace mozilla { namespace layers { class Image; class ImageContainer; } class MediaData { public: public: MozExternalRefCountType AddRef(void) { static_assert(!(std::is_destructible::value) || mozilla::HasDangerousPublicDestructor::value, "Reference-counted class " "MediaData" " should not have a public destructor. " "Try to make this class's destructor non-public. If that is really " "not possible, you can whitelist this class by providing a " "HasDangerousPublicDestructor specialization for it."); static_assert(!mozilla::HasDangerousPublicDestructor::value || (std::is_destructible::value), "Class " "MediaData" " has no public destructor. That's good! So please " "remove the HasDangerousPublicDestructor specialization for it."); do { } while (0); nsrefcnt count = ++mRefCnt; ; return (nsrefcnt) count; } MozExternalRefCountType Release(void) { do { } while (0); nsrefcnt count = --mRefCnt; ; if (count == 0) { delete (this); return 0; } return count; } protected: ::mozilla::ThreadSafeAutoRefCnt mRefCnt; public: enum Type { AUDIO_DATA = 0, VIDEO_DATA }; MediaData(Type aType, int64_t aOffset, int64_t aTimestamp, int64_t aDuration) : mType(aType) , mOffset(aOffset) , mTime(aTimestamp) , mDuration(aDuration) , mDiscontinuity(false) {} const Type mType; const int64_t mOffset; const int64_t mTime; const int64_t mDuration; bool mDiscontinuity; int64_t GetEndTime() const { return mTime + mDuration; } protected: virtual ~MediaData() {} }; class AudioData : public MediaData { public: AudioData(int64_t aOffset, int64_t aTime, int64_t aDuration, uint32_t aFrames, AudioDataValue* aData, uint32_t aChannels, uint32_t aRate) : MediaData(AUDIO_DATA, aOffset, aTime, aDuration) , mFrames(aFrames) , mChannels(aChannels) , mRate(aRate) , mAudioData(aData) {} size_t SizeOfIncludingThis(MallocSizeOf aMallocSizeOf) const; void EnsureAudioBuffer(); const uint32_t mFrames; const uint32_t mChannels; const uint32_t mRate; nsRefPtr mAudioBuffer; nsAutoArrayPtr mAudioData; protected: ~AudioData() {} }; namespace layers { class TextureClient; class PlanarYCbCrImage; } class VideoInfo; class VideoData : public MediaData { public: typedef gfx::IntRect IntRect; typedef gfx::IntSize IntSize; typedef layers::ImageContainer ImageContainer; typedef layers::Image Image; typedef layers::PlanarYCbCrImage PlanarYCbCrImage; struct YCbCrBuffer { struct Plane { uint8_t* mData; uint32_t mWidth; uint32_t mHeight; uint32_t mStride; uint32_t mOffset; uint32_t mSkip; }; Plane mPlanes[3]; }; # 146 "../../../dist/include/MediaData.h" static already_AddRefed Create(VideoInfo& aInfo, ImageContainer* aContainer, Image* aImage, int64_t aOffset, int64_t aTime, int64_t aDuration, const YCbCrBuffer &aBuffer, bool aKeyframe, int64_t aTimecode, const IntRect& aPicture); static already_AddRefed Create(VideoInfo& aInfo, ImageContainer* aContainer, int64_t aOffset, int64_t aTime, int64_t aDuration, const YCbCrBuffer &aBuffer, bool aKeyframe, int64_t aTimecode, const IntRect& aPicture); static already_AddRefed Create(VideoInfo& aInfo, Image* aImage, int64_t aOffset, int64_t aTime, int64_t aDuration, const YCbCrBuffer &aBuffer, bool aKeyframe, int64_t aTimecode, const IntRect& aPicture); static already_AddRefed Create(VideoInfo& aInfo, ImageContainer* aContainer, int64_t aOffset, int64_t aTime, int64_t aDuration, layers::TextureClient* aBuffer, bool aKeyframe, int64_t aTimecode, const IntRect& aPicture); static already_AddRefed CreateFromImage(VideoInfo& aInfo, ImageContainer* aContainer, int64_t aOffset, int64_t aTime, int64_t aDuration, const nsRefPtr& aImage, bool aKeyframe, int64_t aTimecode, const IntRect& aPicture); # 206 "../../../dist/include/MediaData.h" static already_AddRefed ShallowCopyUpdateDuration(VideoData* aOther, int64_t aDuration); static already_AddRefed ShallowCopyUpdateTimestamp(VideoData* aOther, int64_t aTimestamp); static already_AddRefed ShallowCopyUpdateTimestampAndDuration(VideoData* aOther, int64_t aTimestamp, int64_t aDuration); static void SetVideoDataToImage(PlanarYCbCrImage* aVideoImage, VideoInfo& aInfo, const YCbCrBuffer &aBuffer, const IntRect& aPicture, bool aCopyData); static already_AddRefed CreateDuplicate(int64_t aOffset, int64_t aTime, int64_t aDuration, int64_t aTimecode) { nsRefPtr rv = new VideoData(aOffset, aTime, aDuration, aTimecode); return rv.forget(); } size_t SizeOfIncludingThis(MallocSizeOf aMallocSizeOf) const; const IntSize mDisplay; const int64_t mTimecode; nsRefPtr mImage; const bool mDuplicate; const bool mKeyframe; VideoData(int64_t aOffset, int64_t aTime, int64_t aDuration, int64_t aTimecode); VideoData(int64_t aOffset, int64_t aTime, int64_t aDuration, bool aKeyframe, int64_t aTimecode, IntSize aDisplay); protected: ~VideoData(); }; class LargeDataBuffer : public FallibleTArray { public: MozExternalRefCountType AddRef(void) { static_assert(!(std::is_destructible::value) || mozilla::HasDangerousPublicDestructor::value, "Reference-counted class " "LargeDataBuffer" " should not have a public destructor. " "Try to make this class's destructor non-public. If that is really " "not possible, you can whitelist this class by providing a " "HasDangerousPublicDestructor specialization for it."); static_assert(!mozilla::HasDangerousPublicDestructor::value || (std::is_destructible::value), "Class " "LargeDataBuffer" " has no public destructor. That's good! So please " "remove the HasDangerousPublicDestructor specialization for it."); do { } while (0); nsrefcnt count = ++mRefCnt; ; return (nsrefcnt) count; } MozExternalRefCountType Release(void) { do { } while (0); nsrefcnt count = --mRefCnt; ; if (count == 0) { delete (this); return 0; } return count; } protected: ::mozilla::ThreadSafeAutoRefCnt mRefCnt; public:; private: ~LargeDataBuffer() {} }; } # 12 "../../../dist/include/MediaDecoderReader.h" 2 # 1 "../../../dist/include/MediaPromise.h" 1 # 10 "../../../dist/include/MediaPromise.h" # 1 "../../../dist/system_wrappers/prlog.h" 1 # 2 "../../../dist/system_wrappers/prlog.h" 3 #pragma GCC visibility push(default) # 1 "/usr/include/nspr4/prlog.h" 1 3 # 11 "/usr/include/nspr4/prlog.h" 3 # 11 "/usr/include/nspr4/prlog.h" 3 extern "C" { # 106 "/usr/include/nspr4/prlog.h" 3 typedef enum PRLogModuleLevel { PR_LOG_NONE = 0, PR_LOG_ALWAYS = 1, PR_LOG_ERROR = 2, PR_LOG_WARNING = 3, PR_LOG_DEBUG = 4, PR_LOG_NOTICE = PR_LOG_DEBUG, PR_LOG_WARN = PR_LOG_WARNING, PR_LOG_MIN = PR_LOG_DEBUG, PR_LOG_MAX = PR_LOG_DEBUG } PRLogModuleLevel; typedef struct PRLogModuleInfo { const char *name; PRLogModuleLevel level; struct PRLogModuleInfo *next; } PRLogModuleInfo; extern __attribute__((visibility("default"))) PRLogModuleInfo* PR_NewLogModule(const char *name); extern __attribute__((visibility("default"))) PRBool PR_SetLogFile(const char *name); extern __attribute__((visibility("default"))) void PR_SetLogBuffering(PRIntn buffer_size); extern __attribute__((visibility("default"))) void PR_LogPrint(const char *fmt, ...); extern __attribute__((visibility("default"))) void PR_LogFlush(void); extern __attribute__((visibility("default"))) void PR_Assert(const char *s, const char *file, PRIntn ln); # 219 "/usr/include/nspr4/prlog.h" 3 } # 4 "../../../dist/system_wrappers/prlog.h" 2 3 #pragma GCC visibility pop # 11 "../../../dist/include/MediaPromise.h" 2 # 1 "../../../dist/include/mozilla/Maybe.h" 1 # 20 "../../../dist/include/mozilla/Maybe.h" # 20 "../../../dist/include/mozilla/Maybe.h" namespace mozilla { struct Nothing { }; # 82 "../../../dist/include/mozilla/Maybe.h" template class Maybe { typedef void (Maybe::* ConvertibleToBool)(float*****, double*****); void nonNull(float*****, double*****) {} bool mIsSome; AlignedStorage2 mStorage; public: typedef T ValueType; Maybe() : mIsSome(false) { } ~Maybe() { reset(); } Maybe(Nothing) : mIsSome(false) { } Maybe(const Maybe& aOther) : mIsSome(false) { if (aOther.mIsSome) { emplace(*aOther); } } Maybe(Maybe&& aOther) : mIsSome(false) { if (aOther.mIsSome) { emplace(Move(*aOther)); aOther.reset(); } } Maybe& operator=(const Maybe& aOther) { if (&aOther != this) { if (aOther.mIsSome) { if (mIsSome) { reset(); emplace(*aOther); } else { emplace(*aOther); } } else { reset(); } } return *this; } Maybe& operator=(Maybe&& aOther) { do { } while (0); if (aOther.mIsSome) { if (mIsSome) { ref() = Move(aOther.ref()); } else { emplace(Move(*aOther)); } aOther.reset(); } else { reset(); } return *this; } operator ConvertibleToBool() const { return mIsSome ? &Maybe::nonNull : 0; } bool isSome() const { return mIsSome; } bool isNothing() const { return !mIsSome; } T value() const { do { } while (0); return ref(); } template T valueOr(V&& aDefault) const { if (isSome()) { return ref(); } return Forward(aDefault); } template T valueOrFrom(F&& aFunc) const { if (isSome()) { return ref(); } return aFunc(); } T* ptr() { do { } while (0); return &ref(); } const T* ptr() const { do { } while (0); return &ref(); } T* ptrOr(T* aDefault) { if (isSome()) { return ptr(); } return aDefault; } const T* ptrOr(const T* aDefault) const { if (isSome()) { return ptr(); } return aDefault; } template T* ptrOrFrom(F&& aFunc) { if (isSome()) { return ptr(); } return aFunc(); } template const T* ptrOrFrom(F&& aFunc) const { if (isSome()) { return ptr(); } return aFunc(); } T* operator->() { do { } while (0); return ptr(); } const T* operator->() const { do { } while (0); return ptr(); } T& ref() { do { } while (0); return *mStorage.addr(); } const T& ref() const { do { } while (0); return *mStorage.addr(); } T& refOr(T& aDefault) { if (isSome()) { return ref(); } return aDefault; } const T& refOr(const T& aDefault) const { if (isSome()) { return ref(); } return aDefault; } template T& refOrFrom(F&& aFunc) { if (isSome()) { return ref(); } return aFunc(); } template const T& refOrFrom(F&& aFunc) const { if (isSome()) { return ref(); } return aFunc(); } T& operator*() { do { } while (0); return ref(); } const T& operator*() const { do { } while (0); return ref(); } template void apply(F&& aFunc) { if (isSome()) { aFunc(ref()); } } template void apply(F&& aFunc) const { if (isSome()) { aFunc(ref()); } } template void apply(F&& aFunc, A&& aArg) { if (isSome()) { aFunc(ref(), Forward(aArg)); } } template void apply(F&& aFunc, A&& aArg) const { if (isSome()) { aFunc(ref(), Forward(aArg)); } } template Maybe map(R(*aFunc)(T&)) { if (isSome()) { Maybe val; val.emplace(aFunc(ref())); return val; } return Maybe(); } template Maybe map(R(*aFunc)(const T&)) const { if (isSome()) { Maybe val; val.emplace(aFunc(ref())); return val; } return Maybe(); } template Maybe map(R(*aFunc)(T&, FA), A&& aArg) { if (isSome()) { Maybe val; val.emplace(aFunc(ref(), Forward(aArg))); return val; } return Maybe(); } template Maybe map(R(*aFunc)(const T&, FA), A&& aArg) const { if (isSome()) { Maybe val; val.emplace(aFunc(ref(), Forward(aArg))); return val; } return Maybe(); } void reset() { if (isSome()) { ref().~T(); mIsSome = false; } } # 428 "../../../dist/include/mozilla/Maybe.h" void emplace() { do { } while (0); ::new (mStorage.addr()) T(); mIsSome = true; } template void emplace(T1&& t1) { do { } while (0); ::new (mStorage.addr()) T(Forward(t1)); mIsSome = true; } template void emplace(T1&& t1, T2&& t2) { do { } while (0); ::new (mStorage.addr()) T(Forward(t1), Forward(t2)); mIsSome = true; } template void emplace(T1&& t1, T2&& t2, T3&& t3) { do { } while (0); ::new (mStorage.addr()) T(Forward(t1), Forward(t2), Forward(t3)); mIsSome = true; } template void emplace(T1&& t1, T2&& t2, T3&& t3, T4&& t4) { do { } while (0); ::new (mStorage.addr()) T(Forward(t1), Forward(t2), Forward(t3), Forward(t4)); mIsSome = true; } template void emplace(T1&& t1, T2&& t2, T3&& t3, T4&& t4, T5&& t5) { do { } while (0); ::new (mStorage.addr()) T(Forward(t1), Forward(t2), Forward(t3), Forward(t4), Forward(t5)); mIsSome = true; } template void emplace(T1&& t1, T2&& t2, T3&& t3, T4&& t4, T5&& t5, T6&& t6) { do { } while (0); ::new (mStorage.addr()) T(Forward(t1), Forward(t2), Forward(t3), Forward(t4), Forward(t5), Forward(t6)); mIsSome = true; } template void emplace(T1&& t1, T2&& t2, T3&& t3, T4&& t4, T5&& t5, T6&& t6, T7&& t7) { do { } while (0); ::new (mStorage.addr()) T(Forward(t1), Forward(t2), Forward(t3), Forward(t4), Forward(t5), Forward(t6), Forward(t7)); mIsSome = true; } template void emplace(T1&& t1, T2&& t2, T3&& t3, T4&& t4, T5&& t5, T6&& t6, T7&& t7, T8&& t8) { do { } while (0); ::new (mStorage.addr()) T(Forward(t1), Forward(t2), Forward(t3), Forward(t4), Forward(t5), Forward(t6), Forward(t7), Forward(t8)); mIsSome = true; } template void emplace(T1&& t1, T2&& t2, T3&& t3, T4&& t4, T5&& t5, T6&& t6, T7&& t7, T8&& t8, T9&& t9) { do { } while (0); ::new (mStorage.addr()) T(Forward(t1), Forward(t2), Forward(t3), Forward(t4), Forward(t5), Forward(t6), Forward(t7), Forward(t8), Forward(t9)); mIsSome = true; } template void emplace(T1&& t1, T2&& t2, T3&& t3, T4&& t4, T5&& t5, T6&& t6, T7&& t7, T8&& t8, T9&& t9, T10&& t10) { do { } while (0); ::new (mStorage.addr()) T(Forward(t1), Forward(t2), Forward(t3), Forward(t4), Forward(t5), Forward(t6), Forward(t7), Forward(t8), Forward(t9), Forward(t10)); mIsSome = true; } }; # 547 "../../../dist/include/mozilla/Maybe.h" template Maybe::Type>::Type> Some(T&& aValue) { typedef typename RemoveCV::Type>::Type U; Maybe value; value.emplace(Forward(aValue)); return value; } template Maybe::Type>::Type> ToMaybe(T* aPtr) { if (aPtr) { return Some(*aPtr); } return Nothing(); } template bool operator==(const Maybe& aLHS, const Maybe& aRHS) { if (aLHS.isNothing() != aRHS.isNothing()) { return false; } return aLHS.isNothing() || *aLHS == *aRHS; } template bool operator!=(const Maybe& aLHS, const Maybe& aRHS) { return !(aLHS == aRHS); } template bool operator==(const Maybe& aLHS, const Nothing& aRHS) { return aLHS.isNothing(); } template bool operator!=(const Maybe& aLHS, const Nothing& aRHS) { return !(aLHS == aRHS); } template bool operator==(const Nothing& aLHS, const Maybe& aRHS) { return aRHS.isNothing(); } template bool operator!=(const Nothing& aLHS, const Maybe& aRHS) { return !(aLHS == aRHS); } template bool operator<(const Maybe& aLHS, const Maybe& aRHS) { if (aLHS.isNothing()) { return aRHS.isSome(); } if (aRHS.isNothing()) { return false; } return *aLHS < *aRHS; } template bool operator>(const Maybe& aLHS, const Maybe& aRHS) { return !(aLHS < aRHS || aLHS == aRHS); } template bool operator<=(const Maybe& aLHS, const Maybe& aRHS) { return aLHS < aRHS || aLHS == aRHS; } template bool operator>=(const Maybe& aLHS, const Maybe& aRHS) { return !(aLHS < aRHS); } } # 17 "../../../dist/include/MediaPromise.h" 2 # 1 "../../../dist/include/mozilla/Mutex.h" 1 # 10 "../../../dist/include/mozilla/Mutex.h" # 1 "../../../dist/system_wrappers/prlock.h" 1 # 2 "../../../dist/system_wrappers/prlock.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 11 "../../../dist/include/mozilla/Mutex.h" 2 # 1 "../../../dist/include/mozilla/BlockingResourceBase.h" 1 # 11 "../../../dist/include/mozilla/BlockingResourceBase.h" # 1 "../../../dist/system_wrappers/prlog.h" 1 # 2 "../../../dist/system_wrappers/prlog.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 12 "../../../dist/include/mozilla/BlockingResourceBase.h" 2 # 1 "../../../dist/include/nscore.h" 1 # 14 "../../../dist/include/mozilla/BlockingResourceBase.h" 2 # 1 "../../../dist/include/nsError.h" 1 # 16 "../../../dist/include/mozilla/BlockingResourceBase.h" 2 # 1 "../../../dist/include/nsISupportsImpl.h" 1 # 17 "../../../dist/include/mozilla/BlockingResourceBase.h" 2 # 38 "../../../dist/include/mozilla/BlockingResourceBase.h" namespace mozilla { # 49 "../../../dist/include/mozilla/BlockingResourceBase.h" class BlockingResourceBase { public: enum BlockingResourceType { eMutex, eReentrantMonitor, eCondVar }; static const char* const kResourceTypeName[]; # 333 "../../../dist/include/mozilla/BlockingResourceBase.h" BlockingResourceBase(const char* aName, BlockingResourceType aType) {} ~BlockingResourceBase() {} }; } # 13 "../../../dist/include/mozilla/Mutex.h" 2 # 1 "../../../dist/include/mozilla/GuardObjects.h" 1 # 14 "../../../dist/include/mozilla/Mutex.h" 2 # 30 "../../../dist/include/mozilla/Mutex.h" namespace mozilla { class OffTheBooksMutex : BlockingResourceBase { public: explicit OffTheBooksMutex(const char* aName) : BlockingResourceBase(aName, eMutex) { mLock = PR_NewLock(); if (!mLock) { NS_DebugBreak(NS_DEBUG_ABORT, "Can't allocate mozilla::Mutex", nullptr, "../../../dist/include/mozilla/Mutex.h", 51); } } ~OffTheBooksMutex() { do { } while(0) ; PR_DestroyLock(mLock); mLock = 0; } void Lock() { PR_Lock(mLock); } void Unlock() { PR_Unlock(mLock); } void AssertCurrentThreadOwns() const {} void AssertNotCurrentThreadOwns() const {} # 105 "../../../dist/include/mozilla/Mutex.h" private: OffTheBooksMutex(); OffTheBooksMutex(const OffTheBooksMutex&); OffTheBooksMutex& operator=(const OffTheBooksMutex&); PRLock* mLock; friend class CondVar; }; class Mutex : public OffTheBooksMutex { public: explicit Mutex(const char* aName) : OffTheBooksMutex(aName) { ; } ~Mutex() { ; } private: Mutex(); Mutex(const Mutex&); Mutex& operator=(const Mutex&); }; # 147 "../../../dist/include/mozilla/Mutex.h" template class BaseAutoLock { public: # 159 "../../../dist/include/mozilla/Mutex.h" explicit BaseAutoLock(T& aLock ) : mLock(&aLock) { do { } while (0); do { } while(0); mLock->Lock(); } ~BaseAutoLock(void) { mLock->Unlock(); } private: BaseAutoLock(); BaseAutoLock(BaseAutoLock&); BaseAutoLock& operator=(BaseAutoLock&); static void* operator new(size_t) throw(); T* mLock; }; typedef BaseAutoLock MutexAutoLock; typedef BaseAutoLock OffTheBooksMutexAutoLock; # 192 "../../../dist/include/mozilla/Mutex.h" template class BaseAutoUnlock { public: explicit BaseAutoUnlock(T& aLock ) : mLock(&aLock) { do { } while (0); do { } while(0); mLock->Unlock(); } ~BaseAutoUnlock() { mLock->Lock(); } private: BaseAutoUnlock(); BaseAutoUnlock(BaseAutoUnlock&); BaseAutoUnlock& operator=(BaseAutoUnlock&); static void* operator new(size_t) throw(); T* mLock; }; typedef BaseAutoUnlock MutexAutoUnlock; typedef BaseAutoUnlock OffTheBooksMutexAutoUnlock; } # 18 "../../../dist/include/MediaPromise.h" 2 # 1 "../../../dist/include/mozilla/Monitor.h" 1 # 10 "../../../dist/include/mozilla/Monitor.h" # 1 "../../../dist/include/mozilla/CondVar.h" 1 # 10 "../../../dist/include/mozilla/CondVar.h" # 1 "../../../dist/system_wrappers/prcvar.h" 1 # 2 "../../../dist/system_wrappers/prcvar.h" 3 #pragma GCC visibility push(default) # 1 "/usr/include/nspr4/prcvar.h" 1 3 # 9 "/usr/include/nspr4/prcvar.h" 3 # 1 "/usr/include/nspr4/prlock.h" 1 3 # 10 "/usr/include/nspr4/prcvar.h" 2 3 # 12 "/usr/include/nspr4/prcvar.h" 3 extern "C" { typedef struct PRCondVar PRCondVar; # 27 "/usr/include/nspr4/prcvar.h" 3 extern __attribute__((visibility("default"))) PRCondVar* PR_NewCondVar(PRLock *lock); extern __attribute__((visibility("default"))) void PR_DestroyCondVar(PRCondVar *cvar); # 65 "/usr/include/nspr4/prcvar.h" 3 extern __attribute__((visibility("default"))) PRStatus PR_WaitCondVar(PRCondVar *cvar, PRIntervalTime timeout); # 80 "/usr/include/nspr4/prcvar.h" 3 extern __attribute__((visibility("default"))) PRStatus PR_NotifyCondVar(PRCondVar *cvar); # 90 "/usr/include/nspr4/prcvar.h" 3 extern __attribute__((visibility("default"))) PRStatus PR_NotifyAllCondVar(PRCondVar *cvar); } # 4 "../../../dist/system_wrappers/prcvar.h" 2 3 #pragma GCC visibility pop # 11 "../../../dist/include/mozilla/CondVar.h" 2 # 1 "../../../dist/include/mozilla/Mutex.h" 1 # 14 "../../../dist/include/mozilla/CondVar.h" 2 # 1 "../../../dist/include/GeckoProfiler.h" 1 # 55 "../../../dist/include/GeckoProfiler.h" # 55 "../../../dist/include/GeckoProfiler.h" namespace mozilla { class TimeStamp; } enum TracingMetadata { TRACING_DEFAULT, TRACING_INTERVAL_START, TRACING_INTERVAL_END, TRACING_EVENT, TRACING_EVENT_BACKTRACE }; # 206 "../../../dist/include/GeckoProfiler.h" # 1 "../../../dist/include/GeckoProfilerImpl.h" 1 # 10 "../../../dist/include/GeckoProfilerImpl.h" # 1 "../../../dist/system_wrappers/stdlib.h" 1 # 2 "../../../dist/system_wrappers/stdlib.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 11 "../../../dist/include/GeckoProfilerImpl.h" 2 # 1 "../../../dist/system_wrappers/signal.h" 1 # 2 "../../../dist/system_wrappers/signal.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 12 "../../../dist/include/GeckoProfilerImpl.h" 2 # 1 "../../../dist/system_wrappers/stdarg.h" 1 # 2 "../../../dist/system_wrappers/stdarg.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 13 "../../../dist/include/GeckoProfilerImpl.h" 2 # 1 "../../../dist/include/mozilla/ThreadLocal.h" 1 # 26 "../../../dist/include/mozilla/ThreadLocal.h" # 1 "../../../dist/system_wrappers/pthread.h" 1 # 2 "../../../dist/system_wrappers/pthread.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 27 "../../../dist/include/mozilla/ThreadLocal.h" 2 # 1 "../../../dist/system_wrappers/signal.h" 1 # 2 "../../../dist/system_wrappers/signal.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 28 "../../../dist/include/mozilla/ThreadLocal.h" 2 namespace mozilla { typedef sig_atomic_t sig_safe_t; # 73 "../../../dist/include/mozilla/ThreadLocal.h" template class ThreadLocal { typedef pthread_key_t key_t; template struct Helper { typedef uintptr_t Type; }; template struct Helper { typedef S *Type; }; public: __attribute__ ((warn_unused_result)) inline bool init(); inline T get() const; inline void set(const T aValue); bool initialized() const { return mInited; } private: key_t mKey; bool mInited; }; template inline bool ThreadLocal::init() { static_assert(mozilla::IsPointer::value || mozilla::IsIntegral::value, "mozilla::ThreadLocal must be used with a pointer or " "integral type"); static_assert(sizeof(T) <= sizeof(void*), "mozilla::ThreadLocal can't be used for types larger than " "a pointer"); do { } while (0); mInited = !pthread_key_create(&mKey, nullptr); return mInited; } template inline T ThreadLocal::get() const { do { } while (0); void* h; h = pthread_getspecific(mKey); return static_cast(reinterpret_cast::Type>(h)); } template inline void ThreadLocal::set(const T aValue) { do { } while (0); void* h = reinterpret_cast(static_cast::Type>(aValue)); bool succeeded = !pthread_setspecific(mKey, h); if (!succeeded) { do { *((volatile int*) # 158 "../../../dist/include/mozilla/ThreadLocal.h" 3 4 __null # 158 "../../../dist/include/mozilla/ThreadLocal.h" ) = 158; ::abort(); } while (0); } } } # 14 "../../../dist/include/GeckoProfilerImpl.h" 2 # 1 "../../../dist/include/GeckoProfilerFunc.h" 1 # 11 "../../../dist/include/GeckoProfilerFunc.h" # 1 "../../../dist/include/js/ProfilingStack.h" 1 # 13 "../../../dist/include/js/ProfilingStack.h" # 1 "../../../dist/include/jsbytecode.h" 1 # 10 "../../../dist/include/jsbytecode.h" # 1 "../../../dist/system_wrappers/stdint.h" 1 # 2 "../../../dist/system_wrappers/stdint.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 11 "../../../dist/include/jsbytecode.h" 2 typedef uint8_t jsbytecode; # 14 "../../../dist/include/js/ProfilingStack.h" 2 # 1 "../../../dist/include/jstypes.h" 1 # 34 "../../../dist/include/jstypes.h" # 1 "../../../dist/include/js-config.h" 1 # 35 "../../../dist/include/jstypes.h" 2 # 1 "../../../dist/include/jsversion.h" 1 # 36 "../../../dist/include/jstypes.h" 2 # 133 "../../../dist/include/jstypes.h" # 1 "../../../dist/include/jscpucfg.h" 1 # 40 "../../../dist/include/jscpucfg.h" # 1 "../../../dist/system_wrappers/endian.h" 1 # 2 "../../../dist/system_wrappers/endian.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 41 "../../../dist/include/jscpucfg.h" 2 # 134 "../../../dist/include/jstypes.h" 2 # 15 "../../../dist/include/js/ProfilingStack.h" 2 # 1 "../../../dist/include/js/Utility.h" 1 # 15 "../../../dist/include/js/Utility.h" # 1 "../../../dist/include/mozilla/Scoped.h" 1 # 63 "../../../dist/include/mozilla/Scoped.h" namespace mozilla { # 80 "../../../dist/include/mozilla/Scoped.h" template class Scoped { public: typedef typename Traits::type Resource; explicit Scoped() : mValue(Traits::empty()) { do { } while (0); } explicit Scoped(const Resource& aValue ) : mValue(aValue) { do { } while (0); } explicit Scoped(Scoped&& aOther ) : mValue(Move(aOther.mValue)) { do { } while (0); aOther.mValue = Traits::empty(); } ~Scoped() { Traits::release(mValue); } operator const Resource&() const { return mValue; } const Resource& operator->() const { return mValue; } const Resource& get() const { return mValue; } Resource& rwget() { return mValue; } # 126 "../../../dist/include/mozilla/Scoped.h" Resource forget() { Resource tmp = mValue; mValue = Traits::empty(); return tmp; } void dispose() { Traits::release(mValue); mValue = Traits::empty(); } bool operator==(const Resource& aOther) const { return mValue == aOther; } # 154 "../../../dist/include/mozilla/Scoped.h" Scoped& operator=(const Resource& aOther) { return reset(aOther); } Scoped& reset(const Resource& aOther) { Traits::release(mValue); mValue = aOther; return *this; } Scoped& operator=(Scoped&& aRhs) { do { } while (0); this->~Scoped(); new(this) Scoped(Move(aRhs)); return *this; } private: explicit Scoped(const Scoped& aValue) = delete; Scoped& operator=(const Scoped& aValue) = delete; private: Resource mValue; }; # 230 "../../../dist/include/mozilla/Scoped.h" template struct ScopedFreePtrTraits { typedef T* type; static T* empty() { return nullptr; } static void release(T* aPtr) { free(aPtr); } }; template struct ScopedFreePtr : public mozilla::Scoped > { typedef mozilla::Scoped > Super; typedef typename Super::Resource Resource; ScopedFreePtr& operator=(Resource aRhs) { Super::operator=(aRhs); return *this; } ScopedFreePtr& operator=(ScopedFreePtr&& aRhs) { Super::operator=(Move(aRhs)); return *this; } explicit ScopedFreePtr() : Super() {} explicit ScopedFreePtr(Resource aRhs ) : Super(aRhs ) {} explicit ScopedFreePtr(ScopedFreePtr&& aRhs ) : Super(Move(aRhs) ) {} private: explicit ScopedFreePtr(ScopedFreePtr&) = delete; ScopedFreePtr& operator=(ScopedFreePtr&) = delete; }; template struct ScopedDeletePtrTraits : public ScopedFreePtrTraits { static void release(T* aPtr) { delete aPtr; } }; template struct ScopedDeletePtr : public mozilla::Scoped > { typedef mozilla::Scoped > Super; typedef typename Super::Resource Resource; ScopedDeletePtr& operator=(Resource aRhs) { Super::operator=(aRhs); return *this; } ScopedDeletePtr& operator=(ScopedDeletePtr&& aRhs) { Super::operator=(Move(aRhs)); return *this; } explicit ScopedDeletePtr() : Super() {} explicit ScopedDeletePtr(Resource aRhs ) : Super(aRhs ) {} explicit ScopedDeletePtr(ScopedDeletePtr&& aRhs ) : Super(Move(aRhs) ) {} private: explicit ScopedDeletePtr(ScopedDeletePtr&) = delete; ScopedDeletePtr& operator=(ScopedDeletePtr&) = delete; }; # 278 "../../../dist/include/mozilla/Scoped.h" template void TypeSpecificDelete(T* aValue); template struct TypeSpecificScopedPointerTraits { typedef T* type; static type empty() { return nullptr; } static void release(type aValue) { if (aValue) { TypeSpecificDelete(aValue); } } }; template struct TypeSpecificScopedPointer : public mozilla::Scoped > { typedef mozilla::Scoped > Super; typedef typename Super::Resource Resource; TypeSpecificScopedPointer& operator=(Resource aRhs) { Super::operator=(aRhs); return *this; } TypeSpecificScopedPointer& operator=(TypeSpecificScopedPointer&& aRhs) { Super::operator=(Move(aRhs)); return *this; } explicit TypeSpecificScopedPointer() : Super() {} explicit TypeSpecificScopedPointer(Resource aRhs ) : Super(aRhs ) {} explicit TypeSpecificScopedPointer(TypeSpecificScopedPointer&& aRhs ) : Super(Move(aRhs) ) {} private: explicit TypeSpecificScopedPointer(TypeSpecificScopedPointer&) = delete; TypeSpecificScopedPointer& operator=(TypeSpecificScopedPointer&) = delete; }; } # 16 "../../../dist/include/js/Utility.h" 2 # 1 "../../../dist/include/mozilla/TemplateLib.h" 1 # 20 "../../../dist/include/mozilla/TemplateLib.h" # 1 "../../../dist/system_wrappers/limits.h" 1 # 2 "../../../dist/system_wrappers/limits.h" 3 #pragma GCC visibility push(default) # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/limits.h" 1 3 4 # 4 "../../../dist/system_wrappers/limits.h" 2 3 #pragma GCC visibility pop # 21 "../../../dist/include/mozilla/TemplateLib.h" 2 # 1 "../../../dist/system_wrappers/stddef.h" 1 # 2 "../../../dist/system_wrappers/stddef.h" 3 #pragma GCC visibility push(default) # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/stddef.h" 1 3 4 # 4 "../../../dist/system_wrappers/stddef.h" 2 3 #pragma GCC visibility pop # 22 "../../../dist/include/mozilla/TemplateLib.h" 2 namespace mozilla { namespace tl { template struct Min { static const size_t value = I < J ? I : J; }; template struct Max { static const size_t value = I > J ? I : J; }; template struct FloorLog2 { static const size_t value = 1 + FloorLog2::value; }; template<> struct FloorLog2<0> { }; template<> struct FloorLog2<1> { static const size_t value = 0; }; template struct CeilingLog2 { static const size_t value = FloorLog2<2 * I - 1>::value; }; template struct RoundUpPow2 { static const size_t value = size_t(1) << CeilingLog2::value; }; template<> struct RoundUpPow2<0> { static const size_t value = 1; }; template struct BitSize { static const size_t value = sizeof(T) * 8; }; template struct NBitMask { static const size_t checkPrecondition = 0 / size_t(N < BitSize::value); static const size_t value = (size_t(1) << N) - 1 + checkPrecondition; }; template<> struct NBitMask::value> { static const size_t value = size_t(-1); }; template struct MulOverflowMask { static const size_t value = ~NBitMask::value - CeilingLog2::value>::value; }; template<> struct MulOverflowMask<0> { }; template<> struct MulOverflowMask<1> { static const size_t value = 0; }; } } # 17 "../../../dist/include/js/Utility.h" 2 # 1 "../../../dist/include/mozilla/UniquePtr.h" 1 # 17 "../../../dist/include/mozilla/UniquePtr.h" # 1 "../../../dist/include/mozilla/Pair.h" 1 # 16 "../../../dist/include/mozilla/Pair.h" namespace mozilla { namespace detail { enum StorageType { AsBase, AsMember }; # 29 "../../../dist/include/mozilla/Pair.h" template::value ? detail::AsBase : detail::AsMember, detail::StorageType = IsEmpty::value && !IsBaseOf::value && !IsBaseOf::value ? detail::AsBase : detail::AsMember> struct PairHelper; template struct PairHelper { protected: template PairHelper(AArg&& aA, BArg&& aB) : mFirstA(Forward(aA)), mSecondB(Forward(aB)) {} A& first() { return mFirstA; } const A& first() const { return mFirstA; } B& second() { return mSecondB; } const B& second() const { return mSecondB; } void swap(PairHelper& aOther) { Swap(mFirstA, aOther.mFirstA); Swap(mSecondB, aOther.mSecondB); } private: A mFirstA; B mSecondB; }; template struct PairHelper : private B { protected: template PairHelper(AArg&& aA, BArg&& aB) : B(Forward(aB)), mFirstA(Forward(aA)) {} A& first() { return mFirstA; } const A& first() const { return mFirstA; } B& second() { return *this; } const B& second() const { return *this; } void swap(PairHelper& aOther) { Swap(mFirstA, aOther.mFirstA); Swap(static_cast(*this), static_cast(aOther)); } private: A mFirstA; }; template struct PairHelper : private A { protected: template PairHelper(AArg&& aA, BArg&& aB) : A(Forward(aA)), mSecondB(Forward(aB)) {} A& first() { return *this; } const A& first() const { return *this; } B& second() { return mSecondB; } const B& second() const { return mSecondB; } void swap(PairHelper& aOther) { Swap(static_cast(*this), static_cast(aOther)); Swap(mSecondB, aOther.mSecondB); } private: B mSecondB; }; template struct PairHelper : private A, private B { protected: template PairHelper(AArg&& aA, BArg&& aB) : A(Forward(aA)), B(Forward(aB)) {} A& first() { return static_cast(*this); } const A& first() const { return static_cast(*this); } B& second() { return static_cast(*this); } const B& second() const { return static_cast(*this); } void swap(PairHelper& aOther) { Swap(static_cast(*this), static_cast(aOther)); Swap(static_cast(*this), static_cast(aOther)); } }; } # 151 "../../../dist/include/mozilla/Pair.h" template struct Pair : private detail::PairHelper { typedef typename detail::PairHelper Base; public: template Pair(AArg&& aA, BArg&& aB) : Base(Forward(aA), Forward(aB)) {} using Base::first; using Base::second; void swap(Pair& aOther) { Base::swap(aOther); } private: Pair(const Pair&) = delete; }; template void Swap(Pair& aX, Pair& aY) { aX.swap(aY); } } # 18 "../../../dist/include/mozilla/UniquePtr.h" 2 namespace mozilla { template class DefaultDelete; template> class UniquePtr; } namespace mozilla { # 154 "../../../dist/include/mozilla/UniquePtr.h" template class UniquePtr { public: typedef T* Pointer; typedef T ElementType; typedef D DeleterType; private: Pair mTuple; Pointer& ptr() { return mTuple.first(); } const Pointer& ptr() const { return mTuple.first(); } DeleterType& del() { return mTuple.second(); } const DeleterType& del() const { return mTuple.second(); } public: constexpr UniquePtr() : mTuple(static_cast(nullptr), DeleterType()) { static_assert(!IsPointer::value, "must provide a deleter instance"); static_assert(!IsReference::value, "must provide a deleter instance"); } explicit UniquePtr(Pointer aPtr) : mTuple(aPtr, DeleterType()) { static_assert(!IsPointer::value, "must provide a deleter instance"); static_assert(!IsReference::value, "must provide a deleter instance"); } UniquePtr(Pointer aPtr, typename Conditional::value, D, const D&>::Type aD1) : mTuple(aPtr, aD1) {} # 221 "../../../dist/include/mozilla/UniquePtr.h" UniquePtr(Pointer aPtr, typename RemoveReference::Type&& aD2) : mTuple(aPtr, Move(aD2)) { static_assert(!IsReference::value, "rvalue deleter can't be stored by reference"); } UniquePtr(UniquePtr&& aOther) : mTuple(aOther.release(), Forward(aOther.getDeleter())) {} template UniquePtr(N, typename EnableIf::value, int>::Type aDummy = 0) : mTuple(static_cast(nullptr), DeleterType()) { static_assert(!IsPointer::value, "must provide a deleter instance"); static_assert(!IsReference::value, "must provide a deleter instance"); } template UniquePtr(UniquePtr&& aOther, typename EnableIf::Pointer, Pointer>::value && !IsArray::value && (IsReference::value ? IsSame::value : IsConvertible::value), int>::Type aDummy = 0) : mTuple(aOther.release(), Forward(aOther.getDeleter())) { } ~UniquePtr() { reset(nullptr); } UniquePtr& operator=(UniquePtr&& aOther) { reset(aOther.release()); getDeleter() = Forward(aOther.getDeleter()); return *this; } template UniquePtr& operator=(UniquePtr&& aOther) { static_assert(IsConvertible::Pointer, Pointer>::value, "incompatible UniquePtr pointees"); static_assert(!IsArray::value, "can't assign from UniquePtr holding an array"); reset(aOther.release()); getDeleter() = Forward(aOther.getDeleter()); return *this; } UniquePtr& operator=(NullptrT aNull) { do { } while (0); reset(nullptr); return *this; } T& operator*() const { return *get(); } Pointer operator->() const { do { } while (0); return get(); } Pointer get() const { return ptr(); } DeleterType& getDeleter() { return del(); } const DeleterType& getDeleter() const { return del(); } private: typedef void (UniquePtr::* ConvertibleToBool)(double, char); void nonNull(double, char) {} public: operator ConvertibleToBool() const { return get() != nullptr ? &UniquePtr::nonNull : nullptr; } Pointer release() { Pointer p = ptr(); ptr() = nullptr; return p; } void reset(Pointer aPtr = Pointer()) { Pointer old = ptr(); ptr() = aPtr; if (old != nullptr) { getDeleter()(old); } } void swap(UniquePtr& aOther) { mTuple.swap(aOther.mTuple); } private: UniquePtr(const UniquePtr& aOther) = delete; void operator=(const UniquePtr& aOther) = delete; }; template class UniquePtr { public: typedef T* Pointer; typedef T ElementType; typedef D DeleterType; private: Pair mTuple; public: constexpr UniquePtr() : mTuple(static_cast(nullptr), DeleterType()) { static_assert(!IsPointer::value, "must provide a deleter instance"); static_assert(!IsReference::value, "must provide a deleter instance"); } explicit UniquePtr(Pointer aPtr) : mTuple(aPtr, DeleterType()) { static_assert(!IsPointer::value, "must provide a deleter instance"); static_assert(!IsReference::value, "must provide a deleter instance"); } private: template UniquePtr(U&& aU, typename EnableIf::value && IsConvertible::value, int>::Type aDummy = 0) = delete; public: UniquePtr(Pointer aPtr, typename Conditional::value, D, const D&>::Type aD1) : mTuple(aPtr, aD1) {} UniquePtr(Pointer aPtr, typename RemoveReference::Type&& aD2) : mTuple(aPtr, Move(aD2)) { static_assert(!IsReference::value, "rvalue deleter can't be stored by reference"); } private: template UniquePtr(U&& aU, V&& aV, typename EnableIf::value && IsConvertible::value, int>::Type aDummy = 0) = delete; public: UniquePtr(UniquePtr&& aOther) : mTuple(aOther.release(), Forward(aOther.getDeleter())) {} template UniquePtr(N, typename EnableIf::value, int>::Type aDummy = 0) : mTuple(static_cast(nullptr), DeleterType()) { static_assert(!IsPointer::value, "must provide a deleter instance"); static_assert(!IsReference::value, "must provide a deleter instance"); } ~UniquePtr() { reset(nullptr); } UniquePtr& operator=(UniquePtr&& aOther) { reset(aOther.release()); getDeleter() = Forward(aOther.getDeleter()); return *this; } UniquePtr& operator=(NullptrT) { reset(); return *this; } T& operator[](decltype(sizeof(int)) aIndex) const { return get()[aIndex]; } Pointer get() const { return mTuple.first(); } DeleterType& getDeleter() { return mTuple.second(); } const DeleterType& getDeleter() const { return mTuple.second(); } private: typedef void (UniquePtr::* ConvertibleToBool)(double, char); void nonNull(double, char) {} public: operator ConvertibleToBool() const { return get() != nullptr ? &UniquePtr::nonNull : nullptr; } Pointer release() { Pointer p = mTuple.first(); mTuple.first() = nullptr; return p; } void reset(Pointer aPtr = Pointer()) { Pointer old = mTuple.first(); mTuple.first() = aPtr; if (old != nullptr) { mTuple.second()(old); } } private: template void reset(U, typename EnableIf::value && !IsSame::Type>::value, int>::Type aDummy = 0) = delete; public: void swap(UniquePtr& aOther) { mTuple.swap(aOther.mTuple); } private: UniquePtr(const UniquePtr& aOther) = delete; void operator=(const UniquePtr& aOther) = delete; }; template class DefaultDelete { public: constexpr DefaultDelete() {} template DefaultDelete(const DefaultDelete& aOther, typename EnableIf::value, int>::Type aDummy = 0) {} void operator()(T* aPtr) const { static_assert(sizeof(T) > 0, "T must be complete"); delete aPtr; } }; template class DefaultDelete { public: constexpr DefaultDelete() {} void operator()(T* aPtr) const { static_assert(sizeof(T) > 0, "T must be complete"); delete[] aPtr; } private: template void operator()(U* aPtr) const = delete; }; template void Swap(UniquePtr& aX, UniquePtr& aY) { aX.swap(aY); } template bool operator==(const UniquePtr& aX, const UniquePtr& aY) { return aX.get() == aY.get(); } template bool operator!=(const UniquePtr& aX, const UniquePtr& aY) { return aX.get() != aY.get(); } template bool operator==(const UniquePtr& aX, NullptrT aNull) { do { } while (0); return !aX; } template bool operator==(NullptrT aNull, const UniquePtr& aX) { do { } while (0); return !aX; } template bool operator!=(const UniquePtr& aX, NullptrT aNull) { do { } while (0); return bool(aX); } template bool operator!=(NullptrT aNull, const UniquePtr& aX) { do { } while (0); return bool(aX); } namespace detail { template struct UniqueSelector { typedef UniquePtr SingleObject; }; template struct UniqueSelector { typedef UniquePtr UnknownBound; }; template struct UniqueSelector { typedef UniquePtr KnownBound; }; } # 672 "../../../dist/include/mozilla/UniquePtr.h" template typename detail::UniqueSelector::SingleObject MakeUnique() { return UniquePtr(new T()); } template typename detail::UniqueSelector::SingleObject MakeUnique(A1&& aA1) { return UniquePtr(new T(Forward(aA1))); } template typename detail::UniqueSelector::SingleObject MakeUnique(A1&& aA1, A2&& aA2) { return UniquePtr(new T(Forward(aA1), Forward(aA2))); } template typename detail::UniqueSelector::SingleObject MakeUnique(A1&& aA1, A2&& aA2, A3&& aA3) { return UniquePtr(new T(Forward(aA1), Forward(aA2), Forward(aA3))); } template typename detail::UniqueSelector::SingleObject MakeUnique(A1&& aA1, A2&& aA2, A3&& aA3, A4&& aA4) { return UniquePtr(new T(Forward(aA1), Forward(aA2), Forward(aA3), Forward(aA4))); } template typename detail::UniqueSelector::SingleObject MakeUnique(A1&& aA1, A2&& aA2, A3&& aA3, A4&& aA4, A5&& aA5) { return UniquePtr(new T(Forward(aA1), Forward(aA2), Forward(aA3), Forward(aA4), Forward(aA5))); } template typename detail::UniqueSelector::SingleObject MakeUnique(A1&& a1, A2&& a2, A3&& a3, A4&& a4, A5&& a5, A6&& a6) { return UniquePtr(new T(Forward(a1), Forward(a2), Forward(a3), Forward(a4), Forward(a5), Forward(a6))); } template typename detail::UniqueSelector::SingleObject MakeUnique(A1&& a1, A2&& a2, A3&& a3, A4&& a4, A5&& a5, A6&& a6, A7&& a7) { return UniquePtr(new T(Forward(a1), Forward(a2), Forward(a3), Forward(a4), Forward(a5), Forward(a6), Forward(a7))); } template typename detail::UniqueSelector::SingleObject MakeUnique(A1&& a1, A2&& a2, A3&& a3, A4&& a4, A5&& a5, A6&& a6, A7&& a7, A8&& a8) { return UniquePtr(new T(Forward(a1), Forward(a2), Forward(a3), Forward(a4), Forward(a5), Forward(a6), Forward(a7), Forward(a8))); } template typename detail::UniqueSelector::UnknownBound MakeUnique(decltype(sizeof(int)) aN) { typedef typename RemoveExtent::Type ArrayType; return UniquePtr(new ArrayType[aN]()); } template typename detail::UniqueSelector::KnownBound MakeUnique() = delete; template typename detail::UniqueSelector::KnownBound MakeUnique(A1&& aA1) = delete; template typename detail::UniqueSelector::KnownBound MakeUnique(A1&& aA1, A2&& aA2) = delete; template typename detail::UniqueSelector::KnownBound MakeUnique(A1&& aA1, A2&& aA2, A3&& aA3) = delete; template typename detail::UniqueSelector::KnownBound MakeUnique(A1&& aA1, A2&& aA2, A3&& aA3, A4&& aA4) = delete; template typename detail::UniqueSelector::KnownBound MakeUnique(A1&& aA1, A2&& aA2, A3&& aA3, A4&& aA4, A5&& aA5) = delete; template typename detail::UniqueSelector::KnownBound MakeUnique(A1&& a1, A2&& a2, A3&& a3, A4&& a4, A5&& a5, A6&& a6) = delete; template typename detail::UniqueSelector::KnownBound MakeUnique(A1&& a1, A2&& a2, A3&& a3, A4&& a4, A5&& a5, A6&& a6, A7&& a7) = delete; template typename detail::UniqueSelector::KnownBound MakeUnique(A1&& a1, A2&& a2, A3&& a3, A4&& a4, A5&& a5, A6&& a6, A7&& a7, A8&& a8) = delete; } # 18 "../../../dist/include/js/Utility.h" 2 # 1 "../../../dist/system_wrappers/stdlib.h" 1 # 2 "../../../dist/system_wrappers/stdlib.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 20 "../../../dist/include/js/Utility.h" 2 # 1 "../../../dist/system_wrappers/string.h" 1 # 2 "../../../dist/system_wrappers/string.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 21 "../../../dist/include/js/Utility.h" 2 # 30 "../../../dist/include/js/Utility.h" namespace JS {} namespace mozilla {} namespace js {} # 58 "../../../dist/include/js/Utility.h" extern __attribute__((noreturn)) __attribute__((visibility("default"))) void JS_Assert(const char *s, const char *file, int ln); # 96 "../../../dist/include/js/Utility.h" static inline void* js_malloc(size_t bytes) { do {} while(0); return malloc(bytes); } static inline void* js_calloc(size_t bytes) { do {} while(0); return calloc(bytes, 1); } static inline void* js_calloc(size_t nmemb, size_t size) { do {} while(0); return calloc(nmemb, size); } static inline void* js_realloc(void* p, size_t bytes) { do {} while(0); return realloc(p, bytes); } static inline void js_free(void* p) { free(p); } static inline char* js_strdup(const char* s) { do {} while(0); return strdup(s); } # 517 "../../../dist/include/js/Utility.h" template static __attribute__((always_inline)) inline T *js_new() { void *memory = js_malloc(sizeof(T)); return memory ? new(memory) T () : nullptr; } template static __attribute__((always_inline)) inline T *js_new(P1 &&p1) { void *memory = js_malloc(sizeof(T)); return memory ? new(memory) T (mozilla::Forward(p1)) : nullptr; } template static __attribute__((always_inline)) inline T *js_new(P1 &&p1, P2 &&p2) { void *memory = js_malloc(sizeof(T)); return memory ? new(memory) T (mozilla::Forward(p1), mozilla::Forward(p2)) : nullptr; } template static __attribute__((always_inline)) inline T *js_new(P1 &&p1, P2 &&p2, P3 &&p3) { void *memory = js_malloc(sizeof(T)); return memory ? new(memory) T (mozilla::Forward(p1), mozilla::Forward(p2), mozilla::Forward(p3)) : nullptr; } template static __attribute__((always_inline)) inline T *js_new(P1 &&p1, P2 &&p2, P3 &&p3, P4 &&p4) { void *memory = js_malloc(sizeof(T)); return memory ? new(memory) T (mozilla::Forward(p1), mozilla::Forward(p2), mozilla::Forward(p3), mozilla::Forward(p4)) : nullptr; } template static __attribute__((always_inline)) inline T *js_new(P1 &&p1, P2 &&p2, P3 &&p3, P4 &&p4, P5 &&p5) { void *memory = js_malloc(sizeof(T)); return memory ? new(memory) T (mozilla::Forward(p1), mozilla::Forward(p2), mozilla::Forward(p3), mozilla::Forward(p4), mozilla::Forward(p5)) : nullptr; } template static __attribute__((always_inline)) inline T *js_new(P1 &&p1, P2 &&p2, P3 &&p3, P4 &&p4, P5 &&p5, P6 &&p6) { void *memory = js_malloc(sizeof(T)); return memory ? new(memory) T (mozilla::Forward(p1), mozilla::Forward(p2), mozilla::Forward(p3), mozilla::Forward(p4), mozilla::Forward(p5), mozilla::Forward(p6)) : nullptr; } template static __attribute__((always_inline)) inline T *js_new(P1 &&p1, P2 &&p2, P3 &&p3, P4 &&p4, P5 &&p5, P6 &&p6, P7 &&p7) { void *memory = js_malloc(sizeof(T)); return memory ? new(memory) T (mozilla::Forward(p1), mozilla::Forward(p2), mozilla::Forward(p3), mozilla::Forward(p4), mozilla::Forward(p5), mozilla::Forward(p6), mozilla::Forward(p7)) : nullptr; } template static __attribute__((always_inline)) inline T *js_new(P1 &&p1, P2 &&p2, P3 &&p3, P4 &&p4, P5 &&p5, P6 &&p6, P7 &&p7, P8 &&p8) { void *memory = js_malloc(sizeof(T)); return memory ? new(memory) T (mozilla::Forward(p1), mozilla::Forward(p2), mozilla::Forward(p3), mozilla::Forward(p4), mozilla::Forward(p5), mozilla::Forward(p6), mozilla::Forward(p7), mozilla::Forward(p8)) : nullptr; } template static __attribute__((always_inline)) inline T *js_new(P1 &&p1, P2 &&p2, P3 &&p3, P4 &&p4, P5 &&p5, P6 &&p6, P7 &&p7, P8 &&p8, P9 &&p9) { void *memory = js_malloc(sizeof(T)); return memory ? new(memory) T (mozilla::Forward(p1), mozilla::Forward(p2), mozilla::Forward(p3), mozilla::Forward(p4), mozilla::Forward(p5), mozilla::Forward(p6), mozilla::Forward(p7), mozilla::Forward(p8), mozilla::Forward(p9)) : nullptr; } template static __attribute__((always_inline)) inline T *js_new(P1 &&p1, P2 &&p2, P3 &&p3, P4 &&p4, P5 &&p5, P6 &&p6, P7 &&p7, P8 &&p8, P9 &&p9, P10 &&p10) { void *memory = js_malloc(sizeof(T)); return memory ? new(memory) T (mozilla::Forward(p1), mozilla::Forward(p2), mozilla::Forward(p3), mozilla::Forward(p4), mozilla::Forward(p5), mozilla::Forward(p6), mozilla::Forward(p7), mozilla::Forward(p8), mozilla::Forward(p9), mozilla::Forward(p10)) : nullptr; } template static __attribute__((always_inline)) inline T *js_new(P1 &&p1, P2 &&p2, P3 &&p3, P4 &&p4, P5 &&p5, P6 &&p6, P7 &&p7, P8 &&p8, P9 &&p9, P10 &&p10, P11 &&p11) { void *memory = js_malloc(sizeof(T)); return memory ? new(memory) T (mozilla::Forward(p1), mozilla::Forward(p2), mozilla::Forward(p3), mozilla::Forward(p4), mozilla::Forward(p5), mozilla::Forward(p6), mozilla::Forward(p7), mozilla::Forward(p8), mozilla::Forward(p9), mozilla::Forward(p10), mozilla::Forward(p11)) : nullptr; } template static __attribute__((always_inline)) inline T *js_new(P1 &&p1, P2 &&p2, P3 &&p3, P4 &&p4, P5 &&p5, P6 &&p6, P7 &&p7, P8 &&p8, P9 &&p9, P10 &&p10, P11 &&p11, P12 &&p12) { void *memory = js_malloc(sizeof(T)); return memory ? new(memory) T (mozilla::Forward(p1), mozilla::Forward(p2), mozilla::Forward(p3), mozilla::Forward(p4), mozilla::Forward(p5), mozilla::Forward(p6), mozilla::Forward(p7), mozilla::Forward(p8), mozilla::Forward(p9), mozilla::Forward(p10), mozilla::Forward(p11), mozilla::Forward(p12)) : nullptr; } template static __attribute__((always_inline)) inline void js_delete(T *p) { if (p) { p->~T(); js_free(p); } } template static __attribute__((always_inline)) inline void js_delete_poison(T *p) { if (p) { p->~T(); memset(p, 0x3B, sizeof(T)); js_free(p); } } template static __attribute__((always_inline)) inline T * js_pod_malloc() { return (T *)js_malloc(sizeof(T)); } template static __attribute__((always_inline)) inline T * js_pod_calloc() { return (T *)js_calloc(sizeof(T)); } template static __attribute__((always_inline)) inline T * js_pod_malloc(size_t numElems) { if (numElems & mozilla::tl::MulOverflowMask::value) return nullptr; return (T *)js_malloc(numElems * sizeof(T)); } template static __attribute__((always_inline)) inline T * js_pod_calloc(size_t numElems) { if (numElems & mozilla::tl::MulOverflowMask::value) return nullptr; return (T *)js_calloc(numElems * sizeof(T)); } template static __attribute__((always_inline)) inline T * js_pod_realloc(T *prior, size_t oldSize, size_t newSize) { do { } while (0); if (newSize & mozilla::tl::MulOverflowMask::value) return nullptr; return (T *)js_realloc(prior, newSize * sizeof(T)); } namespace js { template struct ScopedFreePtrTraits { typedef T* type; static T* empty() { return nullptr; } static void release(T* ptr) { js_free(ptr); } }; template struct ScopedJSFreePtr : public mozilla::Scoped > { typedef mozilla::Scoped > Super; typedef typename Super::Resource Resource; ScopedJSFreePtr& operator=(Resource aRhs) { Super::operator=(aRhs); return *this; } ScopedJSFreePtr& operator=(ScopedJSFreePtr&& aRhs) { Super::operator=(Move(aRhs)); return *this; } explicit ScopedJSFreePtr() : Super() {} explicit ScopedJSFreePtr(Resource aRhs ) : Super(aRhs ) {} explicit ScopedJSFreePtr(ScopedJSFreePtr&& aRhs ) : Super(Move(aRhs) ) {} private: explicit ScopedJSFreePtr(ScopedJSFreePtr&) = delete; ScopedJSFreePtr& operator=(ScopedJSFreePtr&) = delete; }; template struct ScopedDeletePtrTraits : public ScopedFreePtrTraits { static void release(T *ptr) { js_delete(ptr); } }; template struct ScopedJSDeletePtr : public mozilla::Scoped > { typedef mozilla::Scoped > Super; typedef typename Super::Resource Resource; ScopedJSDeletePtr& operator=(Resource aRhs) { Super::operator=(aRhs); return *this; } ScopedJSDeletePtr& operator=(ScopedJSDeletePtr&& aRhs) { Super::operator=(Move(aRhs)); return *this; } explicit ScopedJSDeletePtr() : Super() {} explicit ScopedJSDeletePtr(Resource aRhs ) : Super(aRhs ) {} explicit ScopedJSDeletePtr(ScopedJSDeletePtr&& aRhs ) : Super(Move(aRhs) ) {} private: explicit ScopedJSDeletePtr(ScopedJSDeletePtr&) = delete; ScopedJSDeletePtr& operator=(ScopedJSDeletePtr&) = delete; }; template struct ScopedReleasePtrTraits : public ScopedFreePtrTraits { static void release(T *ptr) { if (ptr) ptr->release(); } }; template struct ScopedReleasePtr : public mozilla::Scoped > { typedef mozilla::Scoped > Super; typedef typename Super::Resource Resource; ScopedReleasePtr& operator=(Resource aRhs) { Super::operator=(aRhs); return *this; } ScopedReleasePtr& operator=(ScopedReleasePtr&& aRhs) { Super::operator=(Move(aRhs)); return *this; } explicit ScopedReleasePtr() : Super() {} explicit ScopedReleasePtr(Resource aRhs ) : Super(aRhs ) {} explicit ScopedReleasePtr(ScopedReleasePtr&& aRhs ) : Super(Move(aRhs) ) {} private: explicit ScopedReleasePtr(ScopedReleasePtr&) = delete; ScopedReleasePtr& operator=(ScopedReleasePtr&) = delete; }; } namespace JS { template struct DeletePolicy { void operator()(T* ptr) { js_delete(ptr); } }; struct FreePolicy { void operator()(void* ptr) { js_free(ptr); } }; } namespace js { typedef uint32_t HashNumber; const unsigned HashNumberSizeBits = 32; typedef mozilla::UniquePtr UniqueChars; static inline UniqueChars make_string_copy(const char* str) { return UniqueChars(js_strdup(str)); } namespace detail { # 658 "../../../dist/include/js/Utility.h" inline HashNumber ScrambleHashCode(HashNumber h) { # 676 "../../../dist/include/js/Utility.h" static const HashNumber goldenRatio = 0x9E3779B9U; return h * goldenRatio; } } } namespace JS { # 697 "../../../dist/include/js/Utility.h" inline void PoisonPtr(void *v) { } template inline bool IsPoisonedPtr(T *v) { return false; } } # 17 "../../../dist/include/js/ProfilingStack.h" 2 struct JSRuntime; namespace js { class ProfileEntry { # 41 "../../../dist/include/js/ProfilingStack.h" const char * volatile string; void * volatile spOrScript; int32_t volatile lineOrPc; uint32_t volatile flags_; public: enum Flags { IS_CPP_ENTRY = 0x01, FRAME_LABEL_COPY = 0x02, ASMJS = 0x04, CATEGORY_MASK = ~IS_CPP_ENTRY & ~FRAME_LABEL_COPY & ~ASMJS }; enum class Category : uint32_t { OTHER = 0x08, CSS = 0x10, JS = 0x20, GC = 0x40, CC = 0x80, NETWORK = 0x100, GRAPHICS = 0x200, STORAGE = 0x400, EVENTS = 0x800, FIRST = OTHER, LAST = EVENTS }; bool isCpp() const volatile { return hasFlag(IS_CPP_ENTRY); } bool isJs() const volatile { return !isCpp(); } bool isCopyLabel() const volatile { return hasFlag(FRAME_LABEL_COPY); } void setLabel(const char *aString) volatile { string = aString; } const char *label() const volatile { return string; } void setJsFrame(JSScript *aScript, jsbytecode *aPc) volatile { flags_ = 0; spOrScript = aScript; setPC(aPc); } void setCppFrame(void *aSp, uint32_t aLine) volatile { flags_ = IS_CPP_ENTRY; spOrScript = aSp; lineOrPc = static_cast(aLine); } void setFlag(uint32_t flag) volatile { do { } while (0); flags_ |= flag; } void unsetFlag(uint32_t flag) volatile { do { } while (0); flags_ &= ~flag; } bool hasFlag(uint32_t flag) const volatile { return bool(flags_ & flag); } uint32_t flags() const volatile { return flags_; } uint32_t category() const volatile { return flags_ & CATEGORY_MASK; } void *stackAddress() const volatile { do { } while (0); return spOrScript; } JSScript *script() const volatile { do { } while (0); return (JSScript *)spOrScript; } uint32_t line() const volatile { do { } while (0); return static_cast(lineOrPc); } __attribute__((visibility("default"))) jsbytecode * pc() const volatile; __attribute__((visibility("default"))) void setPC(jsbytecode *pc) volatile; static const int32_t NullPCOffset = -1; static size_t offsetOfLabel() { return # 152 "../../../dist/include/js/ProfilingStack.h" 3 4 __builtin_offsetof ( # 152 "../../../dist/include/js/ProfilingStack.h" ProfileEntry # 152 "../../../dist/include/js/ProfilingStack.h" 3 4 , # 152 "../../../dist/include/js/ProfilingStack.h" string # 152 "../../../dist/include/js/ProfilingStack.h" 3 4 ) # 152 "../../../dist/include/js/ProfilingStack.h" ; } static size_t offsetOfSpOrScript() { return # 153 "../../../dist/include/js/ProfilingStack.h" 3 4 __builtin_offsetof ( # 153 "../../../dist/include/js/ProfilingStack.h" ProfileEntry # 153 "../../../dist/include/js/ProfilingStack.h" 3 4 , # 153 "../../../dist/include/js/ProfilingStack.h" spOrScript # 153 "../../../dist/include/js/ProfilingStack.h" 3 4 ) # 153 "../../../dist/include/js/ProfilingStack.h" ; } static size_t offsetOfLineOrPc() { return # 154 "../../../dist/include/js/ProfilingStack.h" 3 4 __builtin_offsetof ( # 154 "../../../dist/include/js/ProfilingStack.h" ProfileEntry # 154 "../../../dist/include/js/ProfilingStack.h" 3 4 , # 154 "../../../dist/include/js/ProfilingStack.h" lineOrPc # 154 "../../../dist/include/js/ProfilingStack.h" 3 4 ) # 154 "../../../dist/include/js/ProfilingStack.h" ; } static size_t offsetOfFlags() { return # 155 "../../../dist/include/js/ProfilingStack.h" 3 4 __builtin_offsetof ( # 155 "../../../dist/include/js/ProfilingStack.h" ProfileEntry # 155 "../../../dist/include/js/ProfilingStack.h" 3 4 , # 155 "../../../dist/include/js/ProfilingStack.h" flags_ # 155 "../../../dist/include/js/ProfilingStack.h" 3 4 ) # 155 "../../../dist/include/js/ProfilingStack.h" ; } }; __attribute__((visibility("default"))) void SetRuntimeProfilingStack(JSRuntime *rt, ProfileEntry *stack, uint32_t *size, uint32_t max); __attribute__((visibility("default"))) void EnableRuntimeProfilingStack(JSRuntime *rt, bool enabled); __attribute__((visibility("default"))) void RegisterRuntimeProfilingEventMarker(JSRuntime *rt, void (*fn)(const char *)); __attribute__((visibility("default"))) jsbytecode* ProfilingGetPC(JSRuntime *rt, JSScript *script, void *ip); } # 12 "../../../dist/include/GeckoProfilerFunc.h" 2 # 1 "../../../dist/system_wrappers/stdint.h" 1 # 2 "../../../dist/system_wrappers/stdint.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 13 "../../../dist/include/GeckoProfilerFunc.h" 2 namespace mozilla { class TimeStamp; } class ProfilerBacktrace; class ProfilerMarkerPayload; inline void* mozilla_sampler_call_enter(const char *aInfo, js::ProfileEntry::Category aCategory, void *aFrameAddress = nullptr, bool aCopy = false, uint32_t line = 0); inline void mozilla_sampler_call_exit(void* handle); void mozilla_sampler_add_marker(const char *aInfo, ProfilerMarkerPayload *aPayload = nullptr); void mozilla_sampler_start(int aEntries, double aInterval, const char** aFeatures, uint32_t aFeatureCount, const char** aThreadNameFilters, uint32_t aFilterCount); void mozilla_sampler_stop(); bool mozilla_sampler_is_paused(); void mozilla_sampler_pause(); void mozilla_sampler_resume(); ProfilerBacktrace* mozilla_sampler_get_backtrace(); void mozilla_sampler_free_backtrace(ProfilerBacktrace* aBacktrace); bool mozilla_sampler_is_active(); bool mozilla_sampler_feature_active(const char* aName); void mozilla_sampler_responsiveness(const mozilla::TimeStamp& time); void mozilla_sampler_frame_number(int frameNumber); const double* mozilla_sampler_get_responsiveness(); void mozilla_sampler_save(); char* mozilla_sampler_get_profile(); JSObject *mozilla_sampler_get_profile_data(JSContext *aCx); void mozilla_sampler_save_profile_to_file(const char* aFilename); const char** mozilla_sampler_get_features(); void mozilla_sampler_init(void* stackTop); void mozilla_sampler_shutdown(); void mozilla_sampler_print_location1(); void mozilla_sampler_print_location2(); void mozilla_sampler_lock(); void mozilla_sampler_unlock(); bool mozilla_sampler_register_thread(const char* name, void* stackTop); void mozilla_sampler_unregister_thread(); void mozilla_sampler_sleep_start(); void mozilla_sampler_sleep_end(); double mozilla_sampler_time(); double mozilla_sampler_time(const mozilla::TimeStamp& aTime); extern bool sps_version2(); void mozilla_sampler_tracing(const char* aCategory, const char* aInfo, TracingMetadata aMetaData); void mozilla_sampler_tracing(const char* aCategory, const char* aInfo, ProfilerBacktrace* aCause, TracingMetadata aMetaData); # 17 "../../../dist/include/GeckoProfilerImpl.h" 2 # 1 "../../../dist/include/PseudoStack.h" 1 # 9 "../../../dist/include/PseudoStack.h" # 1 "../../../dist/include/mozilla/ArrayUtils.h" 1 # 10 "../../../dist/include/PseudoStack.h" 2 # 1 "../../../dist/system_wrappers/stdint.h" 1 # 2 "../../../dist/system_wrappers/stdint.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 12 "../../../dist/include/PseudoStack.h" 2 # 1 "../../../dist/system_wrappers/stdlib.h" 1 # 2 "../../../dist/system_wrappers/stdlib.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 14 "../../../dist/include/PseudoStack.h" 2 # 74 "../../../dist/include/PseudoStack.h" static inline uint32_t sMin(uint32_t l, uint32_t r) { return l < r ? l : r; } # 86 "../../../dist/include/PseudoStack.h" class StackEntry : public js::ProfileEntry { }; class ProfilerMarkerPayload; template class ProfilerLinkedList; class JSStreamWriter; class JSCustomArray; class ThreadProfile; class ProfilerMarker { friend class ProfilerLinkedList; public: explicit ProfilerMarker(const char* aMarkerName, ProfilerMarkerPayload* aPayload = nullptr, float aTime = 0); ~ProfilerMarker(); const char* GetMarkerName() const { return mMarkerName; } void StreamJSObject(JSStreamWriter& b) const; void SetGeneration(int aGenID); bool HasExpired(int aGenID) const { return mGenID + 2 <= aGenID; } float GetTime(); private: char* mMarkerName; ProfilerMarkerPayload* mPayload; ProfilerMarker* mNext; float mTime; int mGenID; }; typedef struct _UnwinderThreadBuffer UnwinderThreadBuffer; struct LinkedUWTBuffer { LinkedUWTBuffer() :mNext(nullptr) {} virtual ~LinkedUWTBuffer() {} virtual UnwinderThreadBuffer* GetBuffer() = 0; LinkedUWTBuffer* mNext; }; template class ProfilerLinkedList { public: ProfilerLinkedList() : mHead(nullptr) , mTail(nullptr) {} void insert(T* elem) { if (!mTail) { mHead = elem; mTail = elem; } else { mTail->mNext = elem; mTail = elem; } elem->mNext = nullptr; } T* popHead() { if (!mHead) { do { } while (0); return nullptr; } T* head = mHead; mHead = head->mNext; if (!mHead) { mTail = nullptr; } return head; } const T* peek() { return mHead; } private: T* mHead; T* mTail; }; typedef ProfilerLinkedList ProfilerMarkerLinkedList; typedef ProfilerLinkedList UWTBufferLinkedList; class PendingMarkers { public: PendingMarkers() : mSignalLock(false) {} ~PendingMarkers(); void addMarker(ProfilerMarker *aMarker); void updateGeneration(int aGenID); void addStoredMarker(ProfilerMarker *aStoredMarker); ProfilerMarkerLinkedList* getPendingMarkers() { if (mSignalLock) { return nullptr; } return &mPendingMarkers; } void clearMarkers() { while (mPendingMarkers.peek()) { delete mPendingMarkers.popHead(); } while (mStoredMarkers.peek()) { delete mStoredMarkers.popHead(); } } private: ProfilerMarkerLinkedList mPendingMarkers; ProfilerMarkerLinkedList mStoredMarkers; volatile bool mSignalLock; volatile mozilla::sig_safe_t mGenID; }; class PendingUWTBuffers { public: PendingUWTBuffers() : mSignalLock(false) { } void addLinkedUWTBuffer(LinkedUWTBuffer* aBuff) { do { } while (0); mSignalLock = true; asm volatile("" ::: "memory");; mPendingUWTBuffers.insert(aBuff); asm volatile("" ::: "memory");; mSignalLock = false; } UWTBufferLinkedList* getLinkedUWTBuffers() { if (mSignalLock) { return nullptr; } return &mPendingUWTBuffers; } private: UWTBufferLinkedList mPendingUWTBuffers; volatile bool mSignalLock; }; void ProfilerJSEventMarker(const char *event); struct PseudoStack { public: PseudoStack() : mStackPointer(0) , mSleepId(0) , mSleepIdObserved(0) , mSleeping(false) , mRuntime(nullptr) , mStartJSSampling(false) , mPrivacyMode(false) { } ~PseudoStack() { if (mStackPointer != 0) { abort(); } } void reinitializeOnResume() { mSleepId++; } void addLinkedUWTBuffer(LinkedUWTBuffer* aBuff) { mPendingUWTBuffers.addLinkedUWTBuffer(aBuff); } UWTBufferLinkedList* getLinkedUWTBuffers() { return mPendingUWTBuffers.getLinkedUWTBuffers(); } void addMarker(const char *aMarkerStr, ProfilerMarkerPayload *aPayload, float aTime) { ProfilerMarker* marker = new ProfilerMarker(aMarkerStr, aPayload, aTime); mPendingMarkers.addMarker(marker); } void addStoredMarker(ProfilerMarker *aStoredMarker) { mPendingMarkers.addStoredMarker(aStoredMarker); } void updateGeneration(int aGenID) { mPendingMarkers.updateGeneration(aGenID); } ProfilerMarkerLinkedList* getPendingMarkers() { return mPendingMarkers.getPendingMarkers(); } void push(const char *aName, js::ProfileEntry::Category aCategory, uint32_t line) { push(aName, aCategory, nullptr, false, line); } void push(const char *aName, js::ProfileEntry::Category aCategory, void *aStackAddress, bool aCopy, uint32_t line) { if (size_t(mStackPointer) >= mozilla::ArrayLength(mStack)) { mStackPointer++; return; } volatile StackEntry &entry = mStack[mStackPointer]; entry.setLabel(aName); entry.setCppFrame(aStackAddress, line); do { } while (0); uint32_t uint_category = static_cast(aCategory); do { } while (0) ; entry.setFlag(uint_category); if (aCopy) entry.setFlag(js::ProfileEntry::FRAME_LABEL_COPY); else entry.unsetFlag(js::ProfileEntry::FRAME_LABEL_COPY); asm volatile("" ::: "memory");; mStackPointer++; } void pop() { mStackPointer--; } bool isEmpty() { return mStackPointer == 0; } uint32_t stackSize() const { return sMin(mStackPointer, mozilla::sig_safe_t(mozilla::ArrayLength(mStack))); } void sampleRuntime(JSRuntime *runtime) { mRuntime = runtime; if (!runtime) { return; } static_assert(sizeof(mStack[0]) == sizeof(js::ProfileEntry), "mStack must be binary compatible with js::ProfileEntry."); js::SetRuntimeProfilingStack(runtime, (js::ProfileEntry*) mStack, (uint32_t*) &mStackPointer, uint32_t(mozilla::ArrayLength(mStack))); if (mStartJSSampling) enableJSSampling(); } void enableJSSampling() { if (mRuntime) { js::EnableRuntimeProfilingStack(mRuntime, true); js::RegisterRuntimeProfilingEventMarker(mRuntime, &ProfilerJSEventMarker); mStartJSSampling = false; } else { mStartJSSampling = true; } } void jsOperationCallback() { if (mStartJSSampling) enableJSSampling(); } void disableJSSampling() { mStartJSSampling = false; if (mRuntime) js::EnableRuntimeProfilingStack(mRuntime, false); } StackEntry volatile mStack[1024]; private: PendingMarkers mPendingMarkers; PendingUWTBuffers mPendingUWTBuffers; mozilla::sig_safe_t mStackPointer; int mSleepId; mozilla::Atomic mSleepIdObserved; mozilla::Atomic mSleeping; public: JSRuntime *mRuntime; bool mStartJSSampling; bool mPrivacyMode; enum SleepState {NOT_SLEEPING, SLEEPING_FIRST, SLEEPING_AGAIN}; SleepState observeSleeping() { if (mSleeping != 0) { if (mSleepIdObserved == mSleepId) { return SLEEPING_AGAIN; } else { mSleepIdObserved = mSleepId; return SLEEPING_FIRST; } } else { return NOT_SLEEPING; } } void setSleeping(int sleeping) { do { } while (0); mSleepId++; mSleeping = sleeping; } }; # 18 "../../../dist/include/GeckoProfilerImpl.h" 2 # 36 "../../../dist/include/GeckoProfilerImpl.h" class TableTicker; class JSCustomObject; namespace mozilla { class TimeStamp; } extern mozilla::ThreadLocal tlsPseudoStack; extern mozilla::ThreadLocal tlsTicker; extern mozilla::ThreadLocal tlsStackTop; extern bool stack_key_initialized; # 58 "../../../dist/include/GeckoProfilerImpl.h" static inline void profiler_init(void* stackTop) { mozilla_sampler_init(stackTop); } static inline void profiler_shutdown() { mozilla_sampler_shutdown(); } static inline void profiler_start(int aProfileEntries, int aInterval, const char** aFeatures, uint32_t aFeatureCount, const char** aThreadNameFilters, uint32_t aFilterCount) { mozilla_sampler_start(aProfileEntries, aInterval, aFeatures, aFeatureCount, aThreadNameFilters, aFilterCount); } static inline void profiler_stop() { mozilla_sampler_stop(); } static inline bool profiler_is_paused() { return mozilla_sampler_is_paused(); } static inline void profiler_pause() { mozilla_sampler_pause(); } static inline void profiler_resume() { mozilla_sampler_resume(); } static inline ProfilerBacktrace* profiler_get_backtrace() { return mozilla_sampler_get_backtrace(); } static inline void profiler_free_backtrace(ProfilerBacktrace* aBacktrace) { mozilla_sampler_free_backtrace(aBacktrace); } static inline bool profiler_is_active() { return mozilla_sampler_is_active(); } static inline bool profiler_feature_active(const char* aName) { return mozilla_sampler_feature_active(aName); } static inline void profiler_responsiveness(const mozilla::TimeStamp& aTime) { mozilla_sampler_responsiveness(aTime); } static inline void profiler_set_frame_number(int frameNumber) { return mozilla_sampler_frame_number(frameNumber); } static inline char* profiler_get_profile() { return mozilla_sampler_get_profile(); } static inline JSObject* profiler_get_profile_jsobject(JSContext* aCx) { return mozilla_sampler_get_profile_data(aCx); } static inline void profiler_save_profile_to_file(const char* aFilename) { return mozilla_sampler_save_profile_to_file(aFilename); } static inline const char** profiler_get_features() { return mozilla_sampler_get_features(); } static inline void profiler_print_location() { if (!sps_version2()) { return mozilla_sampler_print_location1(); } else { return mozilla_sampler_print_location2(); } } static inline void profiler_lock() { return mozilla_sampler_lock(); } static inline void profiler_unlock() { return mozilla_sampler_unlock(); } static inline void profiler_register_thread(const char* name, void* stackTop) { mozilla_sampler_register_thread(name, stackTop); } static inline void profiler_unregister_thread() { mozilla_sampler_unregister_thread(); } static inline void profiler_sleep_start() { mozilla_sampler_sleep_start(); } static inline void profiler_sleep_end() { mozilla_sampler_sleep_end(); } static inline void profiler_js_operation_callback() { PseudoStack *stack = tlsPseudoStack.get(); if (!stack) { return; } stack->jsOperationCallback(); } static inline double profiler_time() { return mozilla_sampler_time(); } static inline double profiler_time(const mozilla::TimeStamp& aTime) { return mozilla_sampler_time(aTime); } static inline bool profiler_in_privacy_mode() { PseudoStack *stack = tlsPseudoStack.get(); if (!stack) { return false; } return stack->mPrivacyMode; } static inline void profiler_tracing(const char* aCategory, const char* aInfo, ProfilerBacktrace* aCause, TracingMetadata aMetaData = TRACING_DEFAULT) { if (!stack_key_initialized) return; if (!profiler_is_active()) { return; } mozilla_sampler_tracing(aCategory, aInfo, aCause, aMetaData); } static inline void profiler_tracing(const char* aCategory, const char* aInfo, TracingMetadata aMetaData = TRACING_DEFAULT) { if (!stack_key_initialized) return; if (!profiler_is_active()) { return; } mozilla_sampler_tracing(aCategory, aInfo, aMetaData); } # 366 "../../../dist/include/GeckoProfilerImpl.h" namespace mozilla { class SamplerStackFrameRAII { public: SamplerStackFrameRAII(const char *aInfo, js::ProfileEntry::Category aCategory, uint32_t line) { mHandle = mozilla_sampler_call_enter(aInfo, aCategory, this, false, line); } ~SamplerStackFrameRAII() { mozilla_sampler_call_exit(mHandle); } private: void* mHandle; }; static const int SAMPLER_MAX_STRING = 128; class SamplerStackFramePrintfRAII { public: SamplerStackFramePrintfRAII(const char *aInfo, js::ProfileEntry::Category aCategory, uint32_t line, const char *aFormat, ...) { if (profiler_is_active() && !profiler_in_privacy_mode()) { va_list args; # 392 "../../../dist/include/GeckoProfilerImpl.h" 3 4 __builtin_va_start( # 392 "../../../dist/include/GeckoProfilerImpl.h" args # 392 "../../../dist/include/GeckoProfilerImpl.h" 3 4 , # 392 "../../../dist/include/GeckoProfilerImpl.h" aFormat # 392 "../../../dist/include/GeckoProfilerImpl.h" 3 4 ) # 392 "../../../dist/include/GeckoProfilerImpl.h" ; char buff[SAMPLER_MAX_STRING]; ::vsnprintf(buff, SAMPLER_MAX_STRING, aFormat, args); ::snprintf(mDest, SAMPLER_MAX_STRING, "%s %s", aInfo, buff); mHandle = mozilla_sampler_call_enter(mDest, aCategory, this, true, line); # 405 "../../../dist/include/GeckoProfilerImpl.h" 3 4 __builtin_va_end( # 405 "../../../dist/include/GeckoProfilerImpl.h" args # 405 "../../../dist/include/GeckoProfilerImpl.h" 3 4 ) # 405 "../../../dist/include/GeckoProfilerImpl.h" ; } else { mHandle = mozilla_sampler_call_enter(aInfo, aCategory, this, false, line); } } ~SamplerStackFramePrintfRAII() { mozilla_sampler_call_exit(mHandle); } private: char mDest[SAMPLER_MAX_STRING]; void* mHandle; }; } inline PseudoStack* mozilla_get_pseudo_stack(void) { if (!stack_key_initialized) return nullptr; return tlsPseudoStack.get(); } inline void* mozilla_sampler_call_enter(const char *aInfo, js::ProfileEntry::Category aCategory, void *aFrameAddress, bool aCopy, uint32_t line) { if (!stack_key_initialized) return nullptr; PseudoStack *stack = tlsPseudoStack.get(); if (!stack) { return stack; } stack->push(aInfo, aCategory, aFrameAddress, aCopy, line); return stack; } inline void mozilla_sampler_call_exit(void *aHandle) { if (!aHandle) return; PseudoStack *stack = (PseudoStack*)aHandle; stack->pop(); } void mozilla_sampler_add_marker(const char *aMarker, ProfilerMarkerPayload *aPayload); # 207 "../../../dist/include/GeckoProfiler.h" 2 class GeckoProfilerInitRAII { public: explicit GeckoProfilerInitRAII(void* stackTop) { profiler_init(stackTop); } ~GeckoProfilerInitRAII() { profiler_shutdown(); } }; class GeckoProfilerSleepRAII { public: GeckoProfilerSleepRAII() { profiler_sleep_start(); } ~GeckoProfilerSleepRAII() { profiler_sleep_end(); } }; # 17 "../../../dist/include/mozilla/CondVar.h" 2 namespace mozilla { class CondVar : BlockingResourceBase { public: # 41 "../../../dist/include/mozilla/CondVar.h" CondVar(Mutex& aLock, const char* aName) : BlockingResourceBase(aName, eCondVar) , mLock(&aLock) { ; mCvar = PR_NewCondVar(mLock->mLock); if (!mCvar) { NS_DebugBreak(NS_DEBUG_ABORT, "Can't allocate mozilla::CondVar", nullptr, "../../../dist/include/mozilla/CondVar.h", 49); } } ~CondVar() { do { } while(0) ; PR_DestroyCondVar(mCvar); mCvar = 0; mLock = 0; ; } nsresult Wait(PRIntervalTime aInterval = # 72 "../../../dist/include/mozilla/CondVar.h" 3 0xffffffffUL # 72 "../../../dist/include/mozilla/CondVar.h" ) { GeckoProfilerSleepRAII profiler_sleep; return PR_WaitCondVar(mCvar, aInterval) == PR_SUCCESS ? nsresult::NS_OK : nsresult::NS_ERROR_FAILURE; } # 90 "../../../dist/include/mozilla/CondVar.h" nsresult Notify() { return PR_NotifyCondVar(mCvar) == PR_SUCCESS ? nsresult::NS_OK : nsresult::NS_ERROR_FAILURE; } nsresult NotifyAll() { return PR_NotifyAllCondVar(mCvar) == PR_SUCCESS ? nsresult::NS_OK : nsresult::NS_ERROR_FAILURE; } # 126 "../../../dist/include/mozilla/CondVar.h" void AssertCurrentThreadOwnsMutex() {} void AssertNotCurrentThreadOwnsMutex() {} private: CondVar(); CondVar(CondVar&); CondVar& operator=(CondVar&); Mutex* mLock; PRCondVar* mCvar; }; } # 11 "../../../dist/include/mozilla/Monitor.h" 2 namespace mozilla { # 24 "../../../dist/include/mozilla/Monitor.h" class Monitor { public: explicit Monitor(const char* aName) : mMutex(aName) , mCondVar(mMutex, "[Monitor.mCondVar]") { } ~Monitor() {} void Lock() { mMutex.Lock(); } void Unlock() { mMutex.Unlock(); } nsresult Wait(PRIntervalTime aInterval = # 38 "../../../dist/include/mozilla/Monitor.h" 3 0xffffffffUL # 38 "../../../dist/include/mozilla/Monitor.h" ) { return mCondVar.Wait(aInterval); } nsresult Notify() { return mCondVar.Notify(); } nsresult NotifyAll() { return mCondVar.NotifyAll(); } void AssertCurrentThreadOwns() const { mMutex.AssertCurrentThreadOwns(); } void AssertNotCurrentThreadOwns() const { mMutex.AssertNotCurrentThreadOwns(); } private: Monitor(); Monitor(const Monitor&); Monitor& operator=(const Monitor&); Mutex mMutex; CondVar mCondVar; }; # 72 "../../../dist/include/mozilla/Monitor.h" class MonitorAutoLock { public: explicit MonitorAutoLock(Monitor& aMonitor) : mMonitor(&aMonitor) { mMonitor->Lock(); } ~MonitorAutoLock() { mMonitor->Unlock(); } nsresult Wait(PRIntervalTime aInterval = # 86 "../../../dist/include/mozilla/Monitor.h" 3 0xffffffffUL # 86 "../../../dist/include/mozilla/Monitor.h" ) { return mMonitor->Wait(aInterval); } nsresult Notify() { return mMonitor->Notify(); } nsresult NotifyAll() { return mMonitor->NotifyAll(); } private: MonitorAutoLock(); MonitorAutoLock(const MonitorAutoLock&); MonitorAutoLock& operator=(const MonitorAutoLock&); static void* operator new(size_t) throw(); Monitor* mMonitor; }; # 110 "../../../dist/include/mozilla/Monitor.h" class MonitorAutoUnlock { public: explicit MonitorAutoUnlock(Monitor& aMonitor) : mMonitor(&aMonitor) { mMonitor->Unlock(); } ~MonitorAutoUnlock() { mMonitor->Lock(); } private: MonitorAutoUnlock(); MonitorAutoUnlock(const MonitorAutoUnlock&); MonitorAutoUnlock& operator=(const MonitorAutoUnlock&); static void* operator new(size_t) throw(); Monitor* mMonitor; }; } # 19 "../../../dist/include/MediaPromise.h" 2 class nsIEventTarget; namespace mozilla { extern PRLogModuleInfo* gMediaPromiseLog; class MediaTaskQueue; namespace detail { nsresult DispatchMediaPromiseRunnable(MediaTaskQueue* aQueue, nsIRunnable* aRunnable); nsresult DispatchMediaPromiseRunnable(nsIEventTarget* aTarget, nsIRunnable* aRunnable); } # 56 "../../../dist/include/MediaPromise.h" template class MediaPromiseHolder; template class MediaPromise { public: typedef ResolveValueT ResolveValueType; typedef RejectValueT RejectValueType; public: MozExternalRefCountType AddRef(void) { static_assert(!(std::is_destructible::value) || mozilla::HasDangerousPublicDestructor::value, "Reference-counted class " "MediaPromise" " should not have a public destructor. " "Try to make this class's destructor non-public. If that is really " "not possible, you can whitelist this class by providing a " "HasDangerousPublicDestructor specialization for it."); static_assert(!mozilla::HasDangerousPublicDestructor::value || (std::is_destructible::value), "Class " "MediaPromise" " has no public destructor. That's good! So please " "remove the HasDangerousPublicDestructor specialization for it."); do { } while (0); nsrefcnt count = ++mRefCnt; ; return (nsrefcnt) count; } MozExternalRefCountType Release(void) { do { } while (0); nsrefcnt count = --mRefCnt; ; if (count == 0) { delete (this); return 0; } return count; } protected: ::mozilla::ThreadSafeAutoRefCnt mRefCnt; public: explicit MediaPromise(const char* aCreationSite) : mCreationSite(aCreationSite) , mMutex("MediaPromise Mutex") { do { } while (0); # 69 "../../../dist/include/MediaPromise.h" 3 do { if ((( # 69 "../../../dist/include/MediaPromise.h" gMediaPromiseLog # 69 "../../../dist/include/MediaPromise.h" 3 )->level >= ( # 69 "../../../dist/include/MediaPromise.h" PR_LOG_DEBUG # 69 "../../../dist/include/MediaPromise.h" 3 ))) { PR_LogPrint # 69 "../../../dist/include/MediaPromise.h" ("%s creating MediaPromise (%p)", mCreationSite, this) # 69 "../../../dist/include/MediaPromise.h" 3 ; } } while (0) # 69 "../../../dist/include/MediaPromise.h" ; } static nsRefPtr> CreateAndResolve(ResolveValueType aResolveValue, const char* aResolveSite) { nsRefPtr> p = new MediaPromise(aResolveSite); p->Resolve(aResolveValue, aResolveSite); return p; } static nsRefPtr> CreateAndReject(RejectValueType aRejectValue, const char* aRejectSite) { nsRefPtr> p = new MediaPromise(aRejectSite); p->Reject(aRejectValue, aRejectSite); return p; } class Consumer { public: public: MozExternalRefCountType AddRef(void) { static_assert(!(std::is_destructible::value) || mozilla::HasDangerousPublicDestructor::value, "Reference-counted class " "Consumer" " should not have a public destructor. " "Try to make this class's destructor non-public. If that is really " "not possible, you can whitelist this class by providing a " "HasDangerousPublicDestructor specialization for it."); static_assert(!mozilla::HasDangerousPublicDestructor::value || (std::is_destructible::value), "Class " "Consumer" " has no public destructor. That's good! So please " "remove the HasDangerousPublicDestructor specialization for it."); do { } while (0); nsrefcnt count = ++mRefCnt; ; return (nsrefcnt) count; } MozExternalRefCountType Release(void) { do { } while (0); nsrefcnt count = --mRefCnt; ; if (count == 0) { delete (this); return 0; } return count; } protected: ::mozilla::ThreadSafeAutoRefCnt mRefCnt; public: void Disconnect() { AssertOnDispatchThread(); do { static_assert(mozilla::detail::AssertionConditionType::isValid, "invalid assertion condition"); if ((__builtin_expect(!!(!(!mComplete)), 0))) { MOZ_ReportAssertionFailure("!mComplete", "../../../dist/include/MediaPromise.h", 98); do { *((volatile int*) # 98 "../../../dist/include/MediaPromise.h" 3 4 __null # 98 "../../../dist/include/MediaPromise.h" ) = 98; ::abort(); } while (0); } } while (0); mDisconnected = true; } void AssertOnDispatchThread() {} protected: Consumer() : mComplete(false), mDisconnected(false) {} virtual ~Consumer() {} bool mComplete; bool mDisconnected; }; protected: class ThenValueBase : public Consumer { public: class ResolveRunnable : public nsRunnable { public: ResolveRunnable(ThenValueBase* aThenValue, ResolveValueType aResolveValue) : mThenValue(aThenValue) , mResolveValue(aResolveValue) {} ~ResolveRunnable() { do { } while (0); } nsresult Run() { do { } while (0); # 141 "../../../dist/include/MediaPromise.h" 3 do { if ((( # 141 "../../../dist/include/MediaPromise.h" gMediaPromiseLog # 141 "../../../dist/include/MediaPromise.h" 3 )->level >= ( # 141 "../../../dist/include/MediaPromise.h" PR_LOG_DEBUG # 141 "../../../dist/include/MediaPromise.h" 3 ))) { PR_LogPrint # 141 "../../../dist/include/MediaPromise.h" ("ResolveRunnable::Run() [this=%p]", this) # 141 "../../../dist/include/MediaPromise.h" 3 ; } } while (0) # 141 "../../../dist/include/MediaPromise.h" ; mThenValue->DoResolve(mResolveValue); mThenValue = nullptr; return nsresult::NS_OK; } private: nsRefPtr mThenValue; ResolveValueType mResolveValue; }; class RejectRunnable : public nsRunnable { public: RejectRunnable(ThenValueBase* aThenValue, RejectValueType aRejectValue) : mThenValue(aThenValue) , mRejectValue(aRejectValue) {} ~RejectRunnable() { do { } while (0); } nsresult Run() { do { } while (0); # 166 "../../../dist/include/MediaPromise.h" 3 do { if ((( # 166 "../../../dist/include/MediaPromise.h" gMediaPromiseLog # 166 "../../../dist/include/MediaPromise.h" 3 )->level >= ( # 166 "../../../dist/include/MediaPromise.h" PR_LOG_DEBUG # 166 "../../../dist/include/MediaPromise.h" 3 ))) { PR_LogPrint # 166 "../../../dist/include/MediaPromise.h" ("RejectRunnable::Run() [this=%p]", this) # 166 "../../../dist/include/MediaPromise.h" 3 ; } } while (0) # 166 "../../../dist/include/MediaPromise.h" ; mThenValue->DoReject(mRejectValue); mThenValue = nullptr; return nsresult::NS_OK; } private: nsRefPtr mThenValue; RejectValueType mRejectValue; }; explicit ThenValueBase(const char* aCallSite) : mCallSite(aCallSite) {} virtual void Dispatch(MediaPromise *aPromise) = 0; protected: virtual void DoResolve(ResolveValueType aResolveValue) = 0; virtual void DoReject(RejectValueType aRejectValue) = 0; const char* mCallSite; }; # 195 "../../../dist/include/MediaPromise.h" template struct NonDeduced { typedef T type; }; template static void InvokeCallbackMethod(ThisType* aThisVal, void(ThisType::*aMethod)(ValueType), typename NonDeduced::type aValue) { ((*aThisVal).*aMethod)(aValue); } template static void InvokeCallbackMethod(ThisType* aThisVal, void(ThisType::*aMethod)(), ValueType aValue) { ((*aThisVal).*aMethod)(); } template class ThenValue : public ThenValueBase { public: ThenValue(TargetType* aResponseTarget, ThisType* aThisVal, ResolveMethodType aResolveMethod, RejectMethodType aRejectMethod, const char* aCallSite) : ThenValueBase(aCallSite) , mResponseTarget(aResponseTarget) , mThisVal(aThisVal) , mResolveMethod(aResolveMethod) , mRejectMethod(aRejectMethod) {} void Dispatch(MediaPromise *aPromise) override { aPromise->mMutex.AssertCurrentThreadOwns(); do { } while (0); bool resolved = aPromise->mResolveValue.isSome(); nsRefPtr runnable = resolved ? static_cast(new (typename ThenValueBase::ResolveRunnable)(this, aPromise->mResolveValue.ref())) : static_cast(new (typename ThenValueBase::RejectRunnable)(this, aPromise->mRejectValue.ref())); do { } while (0); # 236 "../../../dist/include/MediaPromise.h" 3 do { if ((( # 236 "../../../dist/include/MediaPromise.h" gMediaPromiseLog # 236 "../../../dist/include/MediaPromise.h" 3 )->level >= ( # 236 "../../../dist/include/MediaPromise.h" PR_LOG_DEBUG # 236 "../../../dist/include/MediaPromise.h" 3 ))) { PR_LogPrint # 236 "../../../dist/include/MediaPromise.h" ("%s Then() call made from %s [Runnable=%p, Promise=%p, ThenValue=%p]", resolved ? "Resolving" : "Rejecting", ThenValueBase::mCallSite, runnable.get(), aPromise, this) # 236 "../../../dist/include/MediaPromise.h" 3 ; } } while (0) # 238 "../../../dist/include/MediaPromise.h" ; DebugOnly rv = detail::DispatchMediaPromiseRunnable(mResponseTarget, runnable); do { } while (0); } # 251 "../../../dist/include/MediaPromise.h" protected: virtual void DoResolve(ResolveValueType aResolveValue) override { Consumer::mComplete = true; if (Consumer::mDisconnected) { do { } while (0); # 256 "../../../dist/include/MediaPromise.h" 3 do { if ((( # 256 "../../../dist/include/MediaPromise.h" gMediaPromiseLog # 256 "../../../dist/include/MediaPromise.h" 3 )->level >= ( # 256 "../../../dist/include/MediaPromise.h" PR_LOG_DEBUG # 256 "../../../dist/include/MediaPromise.h" 3 ))) { PR_LogPrint # 256 "../../../dist/include/MediaPromise.h" ("ThenValue::DoResolve disconnected - bailing out [this=%p]", this) # 256 "../../../dist/include/MediaPromise.h" 3 ; } } while (0) # 256 "../../../dist/include/MediaPromise.h" ; return; } InvokeCallbackMethod(mThisVal.get(), mResolveMethod, aResolveValue); mResponseTarget = nullptr; mThisVal = nullptr; } virtual void DoReject(RejectValueType aRejectValue) override { Consumer::mComplete = true; if (Consumer::mDisconnected) { do { } while (0); # 273 "../../../dist/include/MediaPromise.h" 3 do { if ((( # 273 "../../../dist/include/MediaPromise.h" gMediaPromiseLog # 273 "../../../dist/include/MediaPromise.h" 3 )->level >= ( # 273 "../../../dist/include/MediaPromise.h" PR_LOG_DEBUG # 273 "../../../dist/include/MediaPromise.h" 3 ))) { PR_LogPrint # 273 "../../../dist/include/MediaPromise.h" ("ThenValue::DoReject disconnected - bailing out [this=%p]", this) # 273 "../../../dist/include/MediaPromise.h" 3 ; } } while (0) # 273 "../../../dist/include/MediaPromise.h" ; return; } InvokeCallbackMethod(mThisVal.get(), mRejectMethod, aRejectValue); mResponseTarget = nullptr; mThisVal = nullptr; } private: nsRefPtr mResponseTarget; nsRefPtr mThisVal; ResolveMethodType mResolveMethod; RejectMethodType mRejectMethod; }; public: template already_AddRefed RefableThen(TargetType* aResponseTarget, const char* aCallSite, ThisType* aThisVal, ResolveMethodType aResolveMethod, RejectMethodType aRejectMethod) { MutexAutoLock lock(mMutex); nsRefPtr thenValue = new ThenValue(aResponseTarget, aThisVal, aResolveMethod, aRejectMethod, aCallSite); do { } while (0); # 304 "../../../dist/include/MediaPromise.h" 3 do { if ((( # 304 "../../../dist/include/MediaPromise.h" gMediaPromiseLog # 304 "../../../dist/include/MediaPromise.h" 3 )->level >= ( # 304 "../../../dist/include/MediaPromise.h" PR_LOG_DEBUG # 304 "../../../dist/include/MediaPromise.h" 3 ))) { PR_LogPrint # 304 "../../../dist/include/MediaPromise.h" ("%s invoking Then() [this=%p, thenValue=%p, aThisVal=%p, isPending=%d]", aCallSite, this, thenValue.get(), aThisVal, (int) IsPending()) # 304 "../../../dist/include/MediaPromise.h" 3 ; } } while (0) # 305 "../../../dist/include/MediaPromise.h" ; if (!IsPending()) { thenValue->Dispatch(this); } else { mThenValues.AppendElement(thenValue); } return thenValue.forget(); } template void Then(TargetType* aResponseTarget, const char* aCallSite, ThisType* aThisVal, ResolveMethodType aResolveMethod, RejectMethodType aRejectMethod) { nsRefPtr c = RefableThen(aResponseTarget, aCallSite, aThisVal, aResolveMethod, aRejectMethod); return; } void ChainTo(already_AddRefed aChainedPromise, const char* aCallSite) { MutexAutoLock lock(mMutex); nsRefPtr chainedPromise = aChainedPromise; do { } while (0); # 329 "../../../dist/include/MediaPromise.h" 3 do { if ((( # 329 "../../../dist/include/MediaPromise.h" gMediaPromiseLog # 329 "../../../dist/include/MediaPromise.h" 3 )->level >= ( # 329 "../../../dist/include/MediaPromise.h" PR_LOG_DEBUG # 329 "../../../dist/include/MediaPromise.h" 3 ))) { PR_LogPrint # 329 "../../../dist/include/MediaPromise.h" ("%s invoking Chain() [this=%p, chainedPromise=%p, isPending=%d]", aCallSite, this, chainedPromise.get(), (int) IsPending()) # 329 "../../../dist/include/MediaPromise.h" 3 ; } } while (0) # 330 "../../../dist/include/MediaPromise.h" ; if (!IsPending()) { ForwardTo(chainedPromise); } else { mChainedPromises.AppendElement(chainedPromise); } } void Resolve(ResolveValueType aResolveValue, const char* aResolveSite) { MutexAutoLock lock(mMutex); do { } while (0); do { } while (0); # 342 "../../../dist/include/MediaPromise.h" 3 do { if ((( # 342 "../../../dist/include/MediaPromise.h" gMediaPromiseLog # 342 "../../../dist/include/MediaPromise.h" 3 )->level >= ( # 342 "../../../dist/include/MediaPromise.h" PR_LOG_DEBUG # 342 "../../../dist/include/MediaPromise.h" 3 ))) { PR_LogPrint # 342 "../../../dist/include/MediaPromise.h" ("%s resolving MediaPromise (%p created at %s)", aResolveSite, this, mCreationSite) # 342 "../../../dist/include/MediaPromise.h" 3 ; } } while (0) # 342 "../../../dist/include/MediaPromise.h" ; mResolveValue.emplace(aResolveValue); DispatchAll(); } void Reject(RejectValueType aRejectValue, const char* aRejectSite) { MutexAutoLock lock(mMutex); do { } while (0); do { } while (0); # 351 "../../../dist/include/MediaPromise.h" 3 do { if ((( # 351 "../../../dist/include/MediaPromise.h" gMediaPromiseLog # 351 "../../../dist/include/MediaPromise.h" 3 )->level >= ( # 351 "../../../dist/include/MediaPromise.h" PR_LOG_DEBUG # 351 "../../../dist/include/MediaPromise.h" 3 ))) { PR_LogPrint # 351 "../../../dist/include/MediaPromise.h" ("%s rejecting MediaPromise (%p created at %s)", aRejectSite, this, mCreationSite) # 351 "../../../dist/include/MediaPromise.h" 3 ; } } while (0) # 351 "../../../dist/include/MediaPromise.h" ; mRejectValue.emplace(aRejectValue); DispatchAll(); } protected: bool IsPending() { return mResolveValue.isNothing() && mRejectValue.isNothing(); } void DispatchAll() { mMutex.AssertCurrentThreadOwns(); for (size_t i = 0; i < mThenValues.Length(); ++i) { mThenValues[i]->Dispatch(this); } mThenValues.Clear(); for (size_t i = 0; i < mChainedPromises.Length(); ++i) { ForwardTo(mChainedPromises[i]); } mChainedPromises.Clear(); } void ForwardTo(MediaPromise* aOther) { do { } while (0); if (mResolveValue.isSome()) { aOther->Resolve(mResolveValue.ref(), ""); } else { aOther->Reject(mRejectValue.ref(), ""); } } ~MediaPromise() { do { } while (0); # 384 "../../../dist/include/MediaPromise.h" 3 do { if ((( # 384 "../../../dist/include/MediaPromise.h" gMediaPromiseLog # 384 "../../../dist/include/MediaPromise.h" 3 )->level >= ( # 384 "../../../dist/include/MediaPromise.h" PR_LOG_DEBUG # 384 "../../../dist/include/MediaPromise.h" 3 ))) { PR_LogPrint # 384 "../../../dist/include/MediaPromise.h" ("MediaPromise::~MediaPromise [this=%p]", this) # 384 "../../../dist/include/MediaPromise.h" 3 ; } } while (0) # 384 "../../../dist/include/MediaPromise.h" ; do { } while (0); do { } while (0); do { } while (0); }; const char* mCreationSite; Mutex mMutex; Maybe mResolveValue; Maybe mRejectValue; nsTArray> mThenValues; nsTArray> mChainedPromises; }; template class MediaPromiseHolder { public: MediaPromiseHolder() : mMonitor(nullptr) {} ~MediaPromiseHolder() { do { } while (0); } already_AddRefed Ensure(const char* aMethodName) { if (mMonitor) { mMonitor->AssertCurrentThreadOwns(); } if (!mPromise) { mPromise = new PromiseType(aMethodName); } nsRefPtr p = mPromise; return p.forget(); } void SetMonitor(Monitor* aMonitor) { mMonitor = aMonitor; } bool IsEmpty() { if (mMonitor) { mMonitor->AssertCurrentThreadOwns(); } return !mPromise; } already_AddRefed Steal() { if (mMonitor) { mMonitor->AssertCurrentThreadOwns(); } nsRefPtr p = mPromise; mPromise = nullptr; return p.forget(); } void Resolve(typename PromiseType::ResolveValueType aResolveValue, const char* aMethodName) { if (mMonitor) { mMonitor->AssertCurrentThreadOwns(); } do { } while (0); mPromise->Resolve(aResolveValue, aMethodName); mPromise = nullptr; } void ResolveIfExists(typename PromiseType::ResolveValueType aResolveValue, const char* aMethodName) { if (!IsEmpty()) { Resolve(aResolveValue, aMethodName); } } void Reject(typename PromiseType::RejectValueType aRejectValue, const char* aMethodName) { if (mMonitor) { mMonitor->AssertCurrentThreadOwns(); } do { } while (0); mPromise->Reject(aRejectValue, aMethodName); mPromise = nullptr; } void RejectIfExists(typename PromiseType::RejectValueType aRejectValue, const char* aMethodName) { if (!IsEmpty()) { Reject(aRejectValue, aMethodName); } } private: Monitor* mMonitor; nsRefPtr mPromise; }; template class MediaPromiseConsumerHolder { public: MediaPromiseConsumerHolder() {} ~MediaPromiseConsumerHolder() { do { } while (0); } void Begin(already_AddRefed aConsumer) { do { static_assert(mozilla::detail::AssertionConditionType::isValid, "invalid assertion condition"); if ((__builtin_expect(!!(!(!Exists())), 0))) { MOZ_ReportAssertionFailure("!Exists()", "../../../dist/include/MediaPromise.h", 500); do { *((volatile int*) # 500 "../../../dist/include/MediaPromise.h" 3 4 __null # 500 "../../../dist/include/MediaPromise.h" ) = 500; ::abort(); } while (0); } } while (0); mConsumer = aConsumer; } void Complete() { do { static_assert(mozilla::detail::AssertionConditionType::isValid, "invalid assertion condition"); if ((__builtin_expect(!!(!(Exists())), 0))) { MOZ_ReportAssertionFailure("Exists()", "../../../dist/include/MediaPromise.h", 506); do { *((volatile int*) # 506 "../../../dist/include/MediaPromise.h" 3 4 __null # 506 "../../../dist/include/MediaPromise.h" ) = 506; ::abort(); } while (0); } } while (0); mConsumer = nullptr; } void Disconnect() { do { } while (0); mConsumer->Disconnect(); mConsumer = nullptr; } void DisconnectIfExists() { if (Exists()) { Disconnect(); } } bool Exists() { return !!mConsumer; } private: nsRefPtr mConsumer; }; } # 13 "../../../dist/include/MediaDecoderReader.h" 2 # 1 "../../../dist/include/MediaQueue.h" 1 # 9 "../../../dist/include/MediaQueue.h" # 1 "../../../dist/include/nsDeque.h" 1 # 41 "../../../dist/include/nsDeque.h" class nsDequeFunctor { public: virtual void* operator()(void* aObject) = 0; virtual ~nsDequeFunctor() {} }; # 62 "../../../dist/include/nsDeque.h" class nsDequeIterator; class nsDeque { friend class nsDequeIterator; typedef mozilla::fallible_t fallible_t; public: explicit nsDeque(nsDequeFunctor* aDeallocator = nullptr); ~nsDeque(); inline int32_t GetSize() const { return mSize; } void Push(void* aItem) { if (!Push(aItem, fallible_t())) { NS_ABORT_OOM(mSize * sizeof(void*)); } } __attribute__((warn_unused_result)) bool Push(void* aItem, const fallible_t&); void PushFront(void* aItem) { if (!PushFront(aItem, fallible_t())) { NS_ABORT_OOM(mSize * sizeof(void*)); } } __attribute__((warn_unused_result)) bool PushFront(void* aItem, const fallible_t&); void* Pop(); void* PopFront(); void* Peek(); void* PeekFront(); void* ObjectAt(int aIndex) const; void* RemoveObjectAt(int aIndex); void Empty(); void Erase(); nsDequeIterator Begin() const; nsDequeIterator End() const; void* Last() const; # 189 "../../../dist/include/nsDeque.h" void ForEach(nsDequeFunctor& aFunctor) const; # 200 "../../../dist/include/nsDeque.h" const void* FirstThat(nsDequeFunctor& aFunctor) const; void SetDeallocator(nsDequeFunctor* aDeallocator); size_t SizeOfExcludingThis(mozilla::MallocSizeOf aMallocSizeOf) const; size_t SizeOfIncludingThis(mozilla::MallocSizeOf aMallocSizeOf) const; protected: int32_t mSize; int32_t mCapacity; int32_t mOrigin; nsDequeFunctor* mDeallocator; void* mBuffer[8]; void** mData; private: nsDeque(const nsDeque& aOther); nsDeque& operator=(const nsDeque& aOther); bool GrowCapacity(); }; class nsDequeIterator { public: # 259 "../../../dist/include/nsDeque.h" explicit nsDequeIterator(const nsDeque& aQueue, int aIndex = 0); nsDequeIterator(const nsDequeIterator& aCopy); nsDequeIterator& First(); nsDequeIterator& operator=(const nsDequeIterator& aCopy); # 288 "../../../dist/include/nsDeque.h" bool operator!=(nsDequeIterator& aIter); # 299 "../../../dist/include/nsDeque.h" bool operator<(nsDequeIterator& aIter); bool operator==(nsDequeIterator& aIter); # 318 "../../../dist/include/nsDeque.h" bool operator>=(nsDequeIterator& aIter); void* operator++(); # 335 "../../../dist/include/nsDeque.h" void* operator++(int); void* operator--(); # 352 "../../../dist/include/nsDeque.h" void* operator--(int); # 369 "../../../dist/include/nsDeque.h" void* GetCurrent(); # 379 "../../../dist/include/nsDeque.h" void ForEach(nsDequeFunctor& aFunctor) const; # 390 "../../../dist/include/nsDeque.h" const void* FirstThat(nsDequeFunctor& aFunctor) const; protected: int32_t mIndex; const nsDeque& mDeque; }; # 10 "../../../dist/include/MediaQueue.h" 2 # 1 "../../../dist/include/mozilla/ReentrantMonitor.h" 1 # 10 "../../../dist/include/mozilla/ReentrantMonitor.h" # 1 "../../../dist/system_wrappers/prmon.h" 1 # 2 "../../../dist/system_wrappers/prmon.h" 3 #pragma GCC visibility push(default) # 1 "/usr/include/nspr4/prmon.h" 1 3 # 12 "/usr/include/nspr4/prmon.h" 3 # 12 "/usr/include/nspr4/prmon.h" 3 extern "C" { typedef struct PRMonitor PRMonitor; # 23 "/usr/include/nspr4/prmon.h" 3 extern __attribute__((visibility("default"))) PRMonitor* PR_NewMonitor(void); extern __attribute__((visibility("default"))) void PR_DestroyMonitor(PRMonitor *mon); extern __attribute__((visibility("default"))) void PR_EnterMonitor(PRMonitor *mon); extern __attribute__((visibility("default"))) PRStatus PR_ExitMonitor(PRMonitor *mon); # 63 "/usr/include/nspr4/prmon.h" 3 extern __attribute__((visibility("default"))) PRStatus PR_Wait(PRMonitor *mon, PRIntervalTime ticks); extern __attribute__((visibility("default"))) PRStatus PR_Notify(PRMonitor *mon); extern __attribute__((visibility("default"))) PRStatus PR_NotifyAll(PRMonitor *mon); # 92 "/usr/include/nspr4/prmon.h" 3 extern __attribute__((visibility("default"))) void PR_AssertCurrentThreadInMonitor(PRMonitor *mon); } # 4 "../../../dist/system_wrappers/prmon.h" 2 3 #pragma GCC visibility pop # 11 "../../../dist/include/mozilla/ReentrantMonitor.h" 2 # 28 "../../../dist/include/mozilla/ReentrantMonitor.h" # 28 "../../../dist/include/mozilla/ReentrantMonitor.h" namespace mozilla { # 37 "../../../dist/include/mozilla/ReentrantMonitor.h" class ReentrantMonitor : BlockingResourceBase { public: explicit ReentrantMonitor(const char* aName) : BlockingResourceBase(aName, eReentrantMonitor) { ; mReentrantMonitor = PR_NewMonitor(); if (!mReentrantMonitor) { NS_DebugBreak(NS_DEBUG_ABORT, "Can't allocate mozilla::ReentrantMonitor", nullptr, "../../../dist/include/mozilla/ReentrantMonitor.h", 53); } } ~ReentrantMonitor() { do { } while(0) ; PR_DestroyMonitor(mReentrantMonitor); mReentrantMonitor = 0; ; } void Enter() { PR_EnterMonitor(mReentrantMonitor); } void Exit() { PR_ExitMonitor(mReentrantMonitor); } nsresult Wait(PRIntervalTime aInterval = # 86 "../../../dist/include/mozilla/ReentrantMonitor.h" 3 0xffffffffUL # 86 "../../../dist/include/mozilla/ReentrantMonitor.h" ) { GeckoProfilerSleepRAII profiler_sleep; return PR_Wait(mReentrantMonitor, aInterval) == PR_SUCCESS ? nsresult::NS_OK : nsresult::NS_ERROR_FAILURE; } # 106 "../../../dist/include/mozilla/ReentrantMonitor.h" nsresult Notify() { return PR_Notify(mReentrantMonitor) == PR_SUCCESS ? nsresult::NS_OK : nsresult::NS_ERROR_FAILURE; } nsresult NotifyAll() { return PR_NotifyAll(mReentrantMonitor) == PR_SUCCESS ? nsresult::NS_OK : nsresult::NS_ERROR_FAILURE; } # 142 "../../../dist/include/mozilla/ReentrantMonitor.h" void AssertCurrentThreadIn() {} void AssertNotCurrentThreadIn() {} private: ReentrantMonitor(); ReentrantMonitor(const ReentrantMonitor&); ReentrantMonitor& operator=(const ReentrantMonitor&); PRMonitor* mReentrantMonitor; }; # 166 "../../../dist/include/mozilla/ReentrantMonitor.h" class ReentrantMonitorAutoEnter { public: explicit ReentrantMonitorAutoEnter(mozilla::ReentrantMonitor& aReentrantMonitor) : mReentrantMonitor(&aReentrantMonitor) { do { } while(0); mReentrantMonitor->Enter(); } ~ReentrantMonitorAutoEnter(void) { mReentrantMonitor->Exit(); } nsresult Wait(PRIntervalTime aInterval = # 188 "../../../dist/include/mozilla/ReentrantMonitor.h" 3 0xffffffffUL # 188 "../../../dist/include/mozilla/ReentrantMonitor.h" ) { return mReentrantMonitor->Wait(aInterval); } nsresult Notify() { return mReentrantMonitor->Notify(); } nsresult NotifyAll() { return mReentrantMonitor->NotifyAll(); } private: ReentrantMonitorAutoEnter(); ReentrantMonitorAutoEnter(const ReentrantMonitorAutoEnter&); ReentrantMonitorAutoEnter& operator=(const ReentrantMonitorAutoEnter&); static void* operator new(size_t) throw(); mozilla::ReentrantMonitor* mReentrantMonitor; }; # 212 "../../../dist/include/mozilla/ReentrantMonitor.h" class ReentrantMonitorAutoExit { public: # 224 "../../../dist/include/mozilla/ReentrantMonitor.h" explicit ReentrantMonitorAutoExit(ReentrantMonitor& aReentrantMonitor) : mReentrantMonitor(&aReentrantMonitor) { do { } while(0); mReentrantMonitor->AssertCurrentThreadIn(); mReentrantMonitor->Exit(); } ~ReentrantMonitorAutoExit(void) { mReentrantMonitor->Enter(); } private: ReentrantMonitorAutoExit(); ReentrantMonitorAutoExit(const ReentrantMonitorAutoExit&); ReentrantMonitorAutoExit& operator=(const ReentrantMonitorAutoExit&); static void* operator new(size_t) throw(); ReentrantMonitor* mReentrantMonitor; }; } # 12 "../../../dist/include/MediaQueue.h" 2 # 1 "../../../dist/include/mozilla/RefPtr.h" 1 # 13 "../../../dist/include/mozilla/RefPtr.h" # 1 "../../../dist/include/mozilla/Atomics.h" 1 # 14 "../../../dist/include/mozilla/RefPtr.h" 2 # 1 "../../../dist/include/mozilla/RefCountType.h" 1 # 17 "../../../dist/include/mozilla/RefPtr.h" 2 # 1 "../../../dist/include/nsXPCOM.h" 1 # 20 "../../../dist/include/mozilla/RefPtr.h" 2 namespace mozilla { template class RefCounted; template class RefPtr; template class TemporaryRef; template class OutParamRef; template OutParamRef byRef(RefPtr&); # 60 "../../../dist/include/mozilla/RefPtr.h" namespace detail { # 89 "../../../dist/include/mozilla/RefPtr.h" enum RefCountAtomicity { AtomicRefCount, NonAtomicRefCount }; template class RefCounted { friend class RefPtr; protected: RefCounted() : mRefCnt(0) {} ~RefCounted() { do { } while (0); } public: void AddRef() const { do { } while (0); ++mRefCnt; } void Release() const { do { } while (0); MozRefCountType cnt = --mRefCnt; # 135 "../../../dist/include/mozilla/RefPtr.h" if (0 == cnt) { delete static_cast(this); } } void ref() { AddRef(); } void deref() { Release(); } MozRefCountType refCount() const { return mRefCnt; } bool hasOneRef() const { do { } while (0); return mRefCnt == 1; } private: mutable typename Conditional, MozRefCountType>::Type mRefCnt; }; # 178 "../../../dist/include/mozilla/RefPtr.h" } template class RefCounted : public detail::RefCounted { public: ~RefCounted() { static_assert(IsBaseOf::value, "T must derive from RefCounted"); } }; namespace external { # 200 "../../../dist/include/mozilla/RefPtr.h" template class AtomicRefCounted : public mozilla::detail::RefCounted { public: ~AtomicRefCounted() { static_assert(IsBaseOf::value, "T must derive from AtomicRefCounted"); } }; } # 224 "../../../dist/include/mozilla/RefPtr.h" template class RefPtr { friend class TemporaryRef; friend class OutParamRef; struct DontRef {}; public: RefPtr() : mPtr(0) {} RefPtr(const RefPtr& aOther) : mPtr(ref(aOther.mPtr)) {} RefPtr(const TemporaryRef& aOther) : mPtr(aOther.drop()) {} RefPtr(T* aVal) : mPtr(ref(aVal)) {} template RefPtr(const RefPtr& aOther) : mPtr(ref(aOther.get())) {} ~RefPtr() { unref(mPtr); } RefPtr& operator=(const RefPtr& aOther) { assign(ref(aOther.mPtr)); return *this; } RefPtr& operator=(const TemporaryRef& aOther) { assign(aOther.drop()); return *this; } RefPtr& operator=(T* aVal) { assign(ref(aVal)); return *this; } template RefPtr& operator=(const RefPtr& aOther) { assign(ref(aOther.get())); return *this; } TemporaryRef forget() { T* tmp = mPtr; mPtr = nullptr; return TemporaryRef(tmp, DontRef()); } T* get() const { return mPtr; } operator T*() const { return mPtr; } T* operator->() const { return mPtr; } T& operator*() const { return *mPtr; } template operator TemporaryRef() { return TemporaryRef(mPtr); } private: void assign(T* aVal) { unref(mPtr); mPtr = aVal; } T* mPtr; static __attribute__((always_inline)) inline T* ref(T* aVal) { if (aVal) { aVal->AddRef(); } return aVal; } static __attribute__((always_inline)) inline void unref(T* aVal) { if (aVal) { aVal->Release(); } } }; template class TemporaryRef { friend class RefPtr; typedef typename RefPtr::DontRef DontRef; public: TemporaryRef(T* aVal) : mPtr(RefPtr::ref(aVal)) {} TemporaryRef(const TemporaryRef& aOther) : mPtr(aOther.drop()) {} template TemporaryRef(const TemporaryRef& aOther) : mPtr(aOther.drop()) {} ~TemporaryRef() { RefPtr::unref(mPtr); } T* drop() const { T* tmp = mPtr; mPtr = nullptr; return tmp; } private: TemporaryRef(T* aVal, const DontRef&) : mPtr(aVal) {} mutable T* mPtr; TemporaryRef() = delete; void operator=(const TemporaryRef&) = delete; }; # 359 "../../../dist/include/mozilla/RefPtr.h" template class OutParamRef { friend OutParamRef byRef(RefPtr&); public: ~OutParamRef() { RefPtr::unref(mRefPtr.mPtr); mRefPtr.mPtr = mTmp; } operator T**() { return &mTmp; } private: explicit OutParamRef(RefPtr& p) : mRefPtr(p), mTmp(p.get()) {} RefPtr& mRefPtr; T* mTmp; OutParamRef() = delete; OutParamRef& operator=(const OutParamRef&) = delete; }; template OutParamRef byRef(RefPtr& aPtr) { return OutParamRef(aPtr); } } # 13 "../../../dist/include/MediaQueue.h" 2 # 1 "../../../dist/include/MediaTaskQueue.h" 1 # 10 "../../../dist/include/MediaTaskQueue.h" # 1 "../../../dist/system_wrappers/queue" 1 # 2 "../../../dist/system_wrappers/queue" 3 #pragma GCC visibility push(default) # 1 "/usr/include/c++/5.0.0/queue" 1 3 # 58 "/usr/include/c++/5.0.0/queue" 3 # 59 "/usr/include/c++/5.0.0/queue" 3 # 1 "../../../dist/stl_wrappers/deque" 1 3 # 18 "../../../dist/stl_wrappers/deque" 3 # 19 "../../../dist/stl_wrappers/deque" 3 # 33 "../../../dist/stl_wrappers/deque" 3 # 1 "../../../dist/system_wrappers/new" 1 3 # 2 "../../../dist/system_wrappers/new" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 34 "../../../dist/stl_wrappers/deque" 2 3 # 54 "../../../dist/stl_wrappers/deque" 3 #pragma GCC visibility push(default) # 1 "../../../dist/system_wrappers/deque" 1 3 # 2 "../../../dist/system_wrappers/deque" 3 #pragma GCC visibility push(default) # 1 "/usr/include/c++/5.0.0/deque" 1 3 # 58 "/usr/include/c++/5.0.0/deque" 3 # 59 "/usr/include/c++/5.0.0/deque" 3 # 1 "/usr/include/c++/5.0.0/bits/stl_deque.h" 1 3 # 66 "/usr/include/c++/5.0.0/bits/stl_deque.h" 3 # 66 "/usr/include/c++/5.0.0/bits/stl_deque.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 88 "/usr/include/c++/5.0.0/bits/stl_deque.h" 3 constexpr inline size_t __deque_buf_size(size_t __size) { return (__size < 512 ? size_t(512 / __size) : size_t(1)); } # 105 "/usr/include/c++/5.0.0/bits/stl_deque.h" 3 template struct _Deque_iterator { private: template using __ptr_to = typename pointer_traits<_Ptr>::template rebind<_Up>; template using __iter = _Deque_iterator<_Tp, _CvTp&, __ptr_to<_CvTp>>; public: typedef __iter<_Tp> iterator; typedef __iter const_iterator; typedef __ptr_to<_Tp> _Elt_pointer; typedef __ptr_to<_Elt_pointer> _Map_pointer; static size_t _S_buffer_size() noexcept { return __deque_buf_size(sizeof(_Tp)); } typedef std::random_access_iterator_tag iterator_category; typedef _Tp value_type; typedef _Ptr pointer; typedef _Ref reference; typedef size_t size_type; typedef ptrdiff_t difference_type; typedef _Deque_iterator _Self; _Elt_pointer _M_cur; _Elt_pointer _M_first; _Elt_pointer _M_last; _Map_pointer _M_node; _Deque_iterator(_Elt_pointer __x, _Map_pointer __y) noexcept : _M_cur(__x), _M_first(*__y), _M_last(*__y + _S_buffer_size()), _M_node(__y) { } _Deque_iterator() noexcept : _M_cur(), _M_first(), _M_last(), _M_node() { } _Deque_iterator(const iterator& __x) noexcept : _M_cur(__x._M_cur), _M_first(__x._M_first), _M_last(__x._M_last), _M_node(__x._M_node) { } iterator _M_const_cast() const noexcept { return iterator(_M_cur, _M_node); } reference operator*() const noexcept { return *_M_cur; } pointer operator->() const noexcept { return _M_cur; } _Self& operator++() noexcept { ++_M_cur; if (_M_cur == _M_last) { _M_set_node(_M_node + 1); _M_cur = _M_first; } return *this; } _Self operator++(int) noexcept { _Self __tmp = *this; ++*this; return __tmp; } _Self& operator--() noexcept { if (_M_cur == _M_first) { _M_set_node(_M_node - 1); _M_cur = _M_last; } --_M_cur; return *this; } _Self operator--(int) noexcept { _Self __tmp = *this; --*this; return __tmp; } _Self& operator+=(difference_type __n) noexcept { const difference_type __offset = __n + (_M_cur - _M_first); if (__offset >= 0 && __offset < difference_type(_S_buffer_size())) _M_cur += __n; else { const difference_type __node_offset = __offset > 0 ? __offset / difference_type(_S_buffer_size()) : -difference_type((-__offset - 1) / _S_buffer_size()) - 1; _M_set_node(_M_node + __node_offset); _M_cur = _M_first + (__offset - __node_offset * difference_type(_S_buffer_size())); } return *this; } _Self operator+(difference_type __n) const noexcept { _Self __tmp = *this; return __tmp += __n; } _Self& operator-=(difference_type __n) noexcept { return *this += -__n; } _Self operator-(difference_type __n) const noexcept { _Self __tmp = *this; return __tmp -= __n; } reference operator[](difference_type __n) const noexcept { return *(*this + __n); } void _M_set_node(_Map_pointer __new_node) noexcept { _M_node = __new_node; _M_first = *__new_node; _M_last = _M_first + difference_type(_S_buffer_size()); } }; template inline bool operator==(const _Deque_iterator<_Tp, _Ref, _Ptr>& __x, const _Deque_iterator<_Tp, _Ref, _Ptr>& __y) noexcept { return __x._M_cur == __y._M_cur; } template inline bool operator==(const _Deque_iterator<_Tp, _RefL, _PtrL>& __x, const _Deque_iterator<_Tp, _RefR, _PtrR>& __y) noexcept { return __x._M_cur == __y._M_cur; } template inline bool operator!=(const _Deque_iterator<_Tp, _Ref, _Ptr>& __x, const _Deque_iterator<_Tp, _Ref, _Ptr>& __y) noexcept { return !(__x == __y); } template inline bool operator!=(const _Deque_iterator<_Tp, _RefL, _PtrL>& __x, const _Deque_iterator<_Tp, _RefR, _PtrR>& __y) noexcept { return !(__x == __y); } template inline bool operator<(const _Deque_iterator<_Tp, _Ref, _Ptr>& __x, const _Deque_iterator<_Tp, _Ref, _Ptr>& __y) noexcept { return (__x._M_node == __y._M_node) ? (__x._M_cur < __y._M_cur) : (__x._M_node < __y._M_node); } template inline bool operator<(const _Deque_iterator<_Tp, _RefL, _PtrL>& __x, const _Deque_iterator<_Tp, _RefR, _PtrR>& __y) noexcept { return (__x._M_node == __y._M_node) ? (__x._M_cur < __y._M_cur) : (__x._M_node < __y._M_node); } template inline bool operator>(const _Deque_iterator<_Tp, _Ref, _Ptr>& __x, const _Deque_iterator<_Tp, _Ref, _Ptr>& __y) noexcept { return __y < __x; } template inline bool operator>(const _Deque_iterator<_Tp, _RefL, _PtrL>& __x, const _Deque_iterator<_Tp, _RefR, _PtrR>& __y) noexcept { return __y < __x; } template inline bool operator<=(const _Deque_iterator<_Tp, _Ref, _Ptr>& __x, const _Deque_iterator<_Tp, _Ref, _Ptr>& __y) noexcept { return !(__y < __x); } template inline bool operator<=(const _Deque_iterator<_Tp, _RefL, _PtrL>& __x, const _Deque_iterator<_Tp, _RefR, _PtrR>& __y) noexcept { return !(__y < __x); } template inline bool operator>=(const _Deque_iterator<_Tp, _Ref, _Ptr>& __x, const _Deque_iterator<_Tp, _Ref, _Ptr>& __y) noexcept { return !(__x < __y); } template inline bool operator>=(const _Deque_iterator<_Tp, _RefL, _PtrL>& __x, const _Deque_iterator<_Tp, _RefR, _PtrR>& __y) noexcept { return !(__x < __y); } template inline typename _Deque_iterator<_Tp, _Ref, _Ptr>::difference_type operator-(const _Deque_iterator<_Tp, _Ref, _Ptr>& __x, const _Deque_iterator<_Tp, _Ref, _Ptr>& __y) noexcept { return typename _Deque_iterator<_Tp, _Ref, _Ptr>::difference_type (_Deque_iterator<_Tp, _Ref, _Ptr>::_S_buffer_size()) * (__x._M_node - __y._M_node - 1) + (__x._M_cur - __x._M_first) + (__y._M_last - __y._M_cur); } template inline typename _Deque_iterator<_Tp, _RefL, _PtrL>::difference_type operator-(const _Deque_iterator<_Tp, _RefL, _PtrL>& __x, const _Deque_iterator<_Tp, _RefR, _PtrR>& __y) noexcept { return typename _Deque_iterator<_Tp, _RefL, _PtrL>::difference_type (_Deque_iterator<_Tp, _RefL, _PtrL>::_S_buffer_size()) * (__x._M_node - __y._M_node - 1) + (__x._M_cur - __x._M_first) + (__y._M_last - __y._M_cur); } template inline _Deque_iterator<_Tp, _Ref, _Ptr> operator+(ptrdiff_t __n, const _Deque_iterator<_Tp, _Ref, _Ptr>& __x) noexcept { return __x + __n; } template void fill(const _Deque_iterator<_Tp, _Tp&, _Tp*>&, const _Deque_iterator<_Tp, _Tp&, _Tp*>&, const _Tp&); template _Deque_iterator<_Tp, _Tp&, _Tp*> copy(_Deque_iterator<_Tp, const _Tp&, const _Tp*>, _Deque_iterator<_Tp, const _Tp&, const _Tp*>, _Deque_iterator<_Tp, _Tp&, _Tp*>); template inline _Deque_iterator<_Tp, _Tp&, _Tp*> copy(_Deque_iterator<_Tp, _Tp&, _Tp*> __first, _Deque_iterator<_Tp, _Tp&, _Tp*> __last, _Deque_iterator<_Tp, _Tp&, _Tp*> __result) { return std::copy(_Deque_iterator<_Tp, const _Tp&, const _Tp*>(__first), _Deque_iterator<_Tp, const _Tp&, const _Tp*>(__last), __result); } template _Deque_iterator<_Tp, _Tp&, _Tp*> copy_backward(_Deque_iterator<_Tp, const _Tp&, const _Tp*>, _Deque_iterator<_Tp, const _Tp&, const _Tp*>, _Deque_iterator<_Tp, _Tp&, _Tp*>); template inline _Deque_iterator<_Tp, _Tp&, _Tp*> copy_backward(_Deque_iterator<_Tp, _Tp&, _Tp*> __first, _Deque_iterator<_Tp, _Tp&, _Tp*> __last, _Deque_iterator<_Tp, _Tp&, _Tp*> __result) { return std::copy_backward(_Deque_iterator<_Tp, const _Tp&, const _Tp*>(__first), _Deque_iterator<_Tp, const _Tp&, const _Tp*>(__last), __result); } template _Deque_iterator<_Tp, _Tp&, _Tp*> move(_Deque_iterator<_Tp, const _Tp&, const _Tp*>, _Deque_iterator<_Tp, const _Tp&, const _Tp*>, _Deque_iterator<_Tp, _Tp&, _Tp*>); template inline _Deque_iterator<_Tp, _Tp&, _Tp*> move(_Deque_iterator<_Tp, _Tp&, _Tp*> __first, _Deque_iterator<_Tp, _Tp&, _Tp*> __last, _Deque_iterator<_Tp, _Tp&, _Tp*> __result) { return std::move(_Deque_iterator<_Tp, const _Tp&, const _Tp*>(__first), _Deque_iterator<_Tp, const _Tp&, const _Tp*>(__last), __result); } template _Deque_iterator<_Tp, _Tp&, _Tp*> move_backward(_Deque_iterator<_Tp, const _Tp&, const _Tp*>, _Deque_iterator<_Tp, const _Tp&, const _Tp*>, _Deque_iterator<_Tp, _Tp&, _Tp*>); template inline _Deque_iterator<_Tp, _Tp&, _Tp*> move_backward(_Deque_iterator<_Tp, _Tp&, _Tp*> __first, _Deque_iterator<_Tp, _Tp&, _Tp*> __last, _Deque_iterator<_Tp, _Tp&, _Tp*> __result) { return std::move_backward(_Deque_iterator<_Tp, const _Tp&, const _Tp*>(__first), _Deque_iterator<_Tp, const _Tp&, const _Tp*>(__last), __result); } # 457 "/usr/include/c++/5.0.0/bits/stl_deque.h" 3 template class _Deque_base { protected: typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template rebind<_Tp>::other _Tp_alloc_type; typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Alloc_traits; typedef typename _Alloc_traits::pointer _Ptr; typedef typename _Alloc_traits::const_pointer _Ptr_const; typedef typename _Alloc_traits::template rebind<_Ptr>::other _Map_alloc_type; typedef __gnu_cxx::__alloc_traits<_Map_alloc_type> _Map_alloc_traits; public: typedef _Alloc allocator_type; typedef typename _Alloc_traits::size_type size_type; allocator_type get_allocator() const noexcept { return allocator_type(_M_get_Tp_allocator()); } typedef _Deque_iterator<_Tp, _Tp&, _Ptr> iterator; typedef _Deque_iterator<_Tp, const _Tp&, _Ptr_const> const_iterator; _Deque_base() : _M_impl() { _M_initialize_map(0); } _Deque_base(size_t __num_elements) : _M_impl() { _M_initialize_map(__num_elements); } _Deque_base(const allocator_type& __a, size_t __num_elements) : _M_impl(__a) { _M_initialize_map(__num_elements); } _Deque_base(const allocator_type& __a) : _M_impl(__a) { } _Deque_base(_Deque_base&& __x, false_type) : _M_impl(__x._M_move_impl()) { } _Deque_base(_Deque_base&& __x, true_type) : _M_impl(std::move(__x._M_get_Tp_allocator())) { _M_initialize_map(0); if (__x._M_impl._M_map) this->_M_impl._M_swap_data(__x._M_impl); } _Deque_base(_Deque_base&& __x) : _Deque_base(std::move(__x), __gnu_cxx::__allocator_always_compares_equal<_Alloc>{}) { } _Deque_base(_Deque_base&& __x, const allocator_type& __a, size_type __n) : _M_impl(__a) { if (__x.get_allocator() == __a) { if (__x._M_impl._M_map) { _M_initialize_map(0); this->_M_impl._M_swap_data(__x._M_impl); } } else { _M_initialize_map(__n); } } ~_Deque_base() noexcept; protected: typedef typename iterator::_Map_pointer _Map_pointer; struct _Deque_impl : public _Tp_alloc_type { _Map_pointer _M_map; size_t _M_map_size; iterator _M_start; iterator _M_finish; _Deque_impl() : _Tp_alloc_type(), _M_map(), _M_map_size(0), _M_start(), _M_finish() { } _Deque_impl(const _Tp_alloc_type& __a) noexcept : _Tp_alloc_type(__a), _M_map(), _M_map_size(0), _M_start(), _M_finish() { } _Deque_impl(_Deque_impl&&) = default; _Deque_impl(_Tp_alloc_type&& __a) noexcept : _Tp_alloc_type(std::move(__a)), _M_map(), _M_map_size(0), _M_start(), _M_finish() { } void _M_swap_data(_Deque_impl& __x) noexcept { using std::swap; swap(this->_M_start, __x._M_start); swap(this->_M_finish, __x._M_finish); swap(this->_M_map, __x._M_map); swap(this->_M_map_size, __x._M_map_size); } }; _Tp_alloc_type& _M_get_Tp_allocator() noexcept { return *static_cast<_Tp_alloc_type*>(&this->_M_impl); } const _Tp_alloc_type& _M_get_Tp_allocator() const noexcept { return *static_cast(&this->_M_impl); } _Map_alloc_type _M_get_map_allocator() const noexcept { return _Map_alloc_type(_M_get_Tp_allocator()); } _Ptr _M_allocate_node() { typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Traits; return _Traits::allocate(_M_impl, __deque_buf_size(sizeof(_Tp))); } void _M_deallocate_node(_Ptr __p) noexcept { typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Traits; _Traits::deallocate(_M_impl, __p, __deque_buf_size(sizeof(_Tp))); } _Map_pointer _M_allocate_map(size_t __n) { _Map_alloc_type __map_alloc = _M_get_map_allocator(); return _Map_alloc_traits::allocate(__map_alloc, __n); } void _M_deallocate_map(_Map_pointer __p, size_t __n) noexcept { _Map_alloc_type __map_alloc = _M_get_map_allocator(); _Map_alloc_traits::deallocate(__map_alloc, __p, __n); } protected: void _M_initialize_map(size_t); void _M_create_nodes(_Map_pointer __nstart, _Map_pointer __nfinish); void _M_destroy_nodes(_Map_pointer __nstart, _Map_pointer __nfinish) noexcept; enum { _S_initial_map_size = 8 }; _Deque_impl _M_impl; private: _Deque_impl _M_move_impl() { if (!_M_impl._M_map) return std::move(_M_impl); _Tp_alloc_type __alloc{_M_get_Tp_allocator()}; _Tp_alloc_type __sink __attribute((__unused__)) {std::move(__alloc)}; _Deque_base __empty{__alloc}; _Deque_impl __ret{std::move(_M_get_Tp_allocator())}; _M_impl._M_swap_data(__ret); _M_impl._M_swap_data(__empty._M_impl); return __ret; } }; template _Deque_base<_Tp, _Alloc>:: ~_Deque_base() noexcept { if (this->_M_impl._M_map) { _M_destroy_nodes(this->_M_impl._M_start._M_node, this->_M_impl._M_finish._M_node + 1); _M_deallocate_map(this->_M_impl._M_map, this->_M_impl._M_map_size); } } # 677 "/usr/include/c++/5.0.0/bits/stl_deque.h" 3 template void _Deque_base<_Tp, _Alloc>:: _M_initialize_map(size_t __num_elements) { const size_t __num_nodes = (__num_elements/ __deque_buf_size(sizeof(_Tp)) + 1); this->_M_impl._M_map_size = std::max((size_t) _S_initial_map_size, size_t(__num_nodes + 2)); this->_M_impl._M_map = _M_allocate_map(this->_M_impl._M_map_size); _Map_pointer __nstart = (this->_M_impl._M_map + (this->_M_impl._M_map_size - __num_nodes) / 2); _Map_pointer __nfinish = __nstart + __num_nodes; if (true) { _M_create_nodes(__nstart, __nfinish); } if (false) { _M_deallocate_map(this->_M_impl._M_map, this->_M_impl._M_map_size); this->_M_impl._M_map = _Map_pointer(); this->_M_impl._M_map_size = 0; ; } this->_M_impl._M_start._M_set_node(__nstart); this->_M_impl._M_finish._M_set_node(__nfinish - 1); this->_M_impl._M_start._M_cur = _M_impl._M_start._M_first; this->_M_impl._M_finish._M_cur = (this->_M_impl._M_finish._M_first + __num_elements % __deque_buf_size(sizeof(_Tp))); } template void _Deque_base<_Tp, _Alloc>:: _M_create_nodes(_Map_pointer __nstart, _Map_pointer __nfinish) { _Map_pointer __cur; if (true) { for (__cur = __nstart; __cur < __nfinish; ++__cur) *__cur = this->_M_allocate_node(); } if (false) { _M_destroy_nodes(__nstart, __cur); ; } } template void _Deque_base<_Tp, _Alloc>:: _M_destroy_nodes(_Map_pointer __nstart, _Map_pointer __nfinish) noexcept { for (_Map_pointer __n = __nstart; __n < __nfinish; ++__n) _M_deallocate_node(*__n); } # 828 "/usr/include/c++/5.0.0/bits/stl_deque.h" 3 template > class deque : protected _Deque_base<_Tp, _Alloc> { typedef typename _Alloc::value_type _Alloc_value_type; typedef _Deque_base<_Tp, _Alloc> _Base; typedef typename _Base::_Tp_alloc_type _Tp_alloc_type; typedef typename _Base::_Alloc_traits _Alloc_traits; typedef typename _Base::_Map_pointer _Map_pointer; public: typedef _Tp value_type; typedef typename _Alloc_traits::pointer pointer; typedef typename _Alloc_traits::const_pointer const_pointer; typedef typename _Alloc_traits::reference reference; typedef typename _Alloc_traits::const_reference const_reference; typedef typename _Base::iterator iterator; typedef typename _Base::const_iterator const_iterator; typedef std::reverse_iterator const_reverse_iterator; typedef std::reverse_iterator reverse_iterator; typedef size_t size_type; typedef ptrdiff_t difference_type; typedef _Alloc allocator_type; protected: static size_t _S_buffer_size() noexcept { return __deque_buf_size(sizeof(_Tp)); } using _Base::_M_initialize_map; using _Base::_M_create_nodes; using _Base::_M_destroy_nodes; using _Base::_M_allocate_node; using _Base::_M_deallocate_node; using _Base::_M_allocate_map; using _Base::_M_deallocate_map; using _Base::_M_get_Tp_allocator; using _Base::_M_impl; public: deque() : _Base() { } explicit deque(const allocator_type& __a) : _Base(__a, 0) { } # 900 "/usr/include/c++/5.0.0/bits/stl_deque.h" 3 explicit deque(size_type __n, const allocator_type& __a = allocator_type()) : _Base(__a, __n) { _M_default_initialize(); } # 913 "/usr/include/c++/5.0.0/bits/stl_deque.h" 3 deque(size_type __n, const value_type& __value, const allocator_type& __a = allocator_type()) : _Base(__a, __n) { _M_fill_initialize(__value); } # 940 "/usr/include/c++/5.0.0/bits/stl_deque.h" 3 deque(const deque& __x) : _Base(_Alloc_traits::_S_select_on_copy(__x._M_get_Tp_allocator()), __x.size()) { std::__uninitialized_copy_a(__x.begin(), __x.end(), this->_M_impl._M_start, _M_get_Tp_allocator()); } # 955 "/usr/include/c++/5.0.0/bits/stl_deque.h" 3 deque(deque&& __x) : _Base(std::move(__x)) { } deque(const deque& __x, const allocator_type& __a) : _Base(__a, __x.size()) { std::__uninitialized_copy_a(__x.begin(), __x.end(), this->_M_impl._M_start, _M_get_Tp_allocator()); } deque(deque&& __x, const allocator_type& __a) : _Base(std::move(__x), __a, __x.size()) { if (__x.get_allocator() != __a) { std::__uninitialized_move_a(__x.begin(), __x.end(), this->_M_impl._M_start, _M_get_Tp_allocator()); __x.clear(); } } # 989 "/usr/include/c++/5.0.0/bits/stl_deque.h" 3 deque(initializer_list __l, const allocator_type& __a = allocator_type()) : _Base(__a) { _M_range_initialize(__l.begin(), __l.end(), random_access_iterator_tag()); } # 1014 "/usr/include/c++/5.0.0/bits/stl_deque.h" 3 template> deque(_InputIterator __first, _InputIterator __last, const allocator_type& __a = allocator_type()) : _Base(__a) { _M_initialize_dispatch(__first, __last, __false_type()); } # 1037 "/usr/include/c++/5.0.0/bits/stl_deque.h" 3 ~deque() { _M_destroy_data(begin(), end(), _M_get_Tp_allocator()); } # 1047 "/usr/include/c++/5.0.0/bits/stl_deque.h" 3 deque& operator=(const deque& __x); # 1059 "/usr/include/c++/5.0.0/bits/stl_deque.h" 3 deque& operator=(deque&& __x) noexcept(_Alloc_traits::_S_always_equal()) { constexpr bool __always_equal = _Alloc_traits::_S_always_equal(); _M_move_assign1(std::move(__x), integral_constant()); return *this; } # 1079 "/usr/include/c++/5.0.0/bits/stl_deque.h" 3 deque& operator=(initializer_list __l) { this->assign(__l.begin(), __l.end()); return *this; } # 1097 "/usr/include/c++/5.0.0/bits/stl_deque.h" 3 void assign(size_type __n, const value_type& __val) { _M_fill_assign(__n, __val); } # 1114 "/usr/include/c++/5.0.0/bits/stl_deque.h" 3 template> void assign(_InputIterator __first, _InputIterator __last) { _M_assign_dispatch(__first, __last, __false_type()); } # 1141 "/usr/include/c++/5.0.0/bits/stl_deque.h" 3 void assign(initializer_list __l) { this->assign(__l.begin(), __l.end()); } allocator_type get_allocator() const noexcept { return _Base::get_allocator(); } iterator begin() noexcept { return this->_M_impl._M_start; } const_iterator begin() const noexcept { return this->_M_impl._M_start; } iterator end() noexcept { return this->_M_impl._M_finish; } const_iterator end() const noexcept { return this->_M_impl._M_finish; } reverse_iterator rbegin() noexcept { return reverse_iterator(this->_M_impl._M_finish); } const_reverse_iterator rbegin() const noexcept { return const_reverse_iterator(this->_M_impl._M_finish); } reverse_iterator rend() noexcept { return reverse_iterator(this->_M_impl._M_start); } const_reverse_iterator rend() const noexcept { return const_reverse_iterator(this->_M_impl._M_start); } const_iterator cbegin() const noexcept { return this->_M_impl._M_start; } const_iterator cend() const noexcept { return this->_M_impl._M_finish; } const_reverse_iterator crbegin() const noexcept { return const_reverse_iterator(this->_M_impl._M_finish); } const_reverse_iterator crend() const noexcept { return const_reverse_iterator(this->_M_impl._M_start); } size_type size() const noexcept { return this->_M_impl._M_finish - this->_M_impl._M_start; } size_type max_size() const noexcept { return _Alloc_traits::max_size(_M_get_Tp_allocator()); } # 1280 "/usr/include/c++/5.0.0/bits/stl_deque.h" 3 void resize(size_type __new_size) { const size_type __len = size(); if (__new_size > __len) _M_default_append(__new_size - __len); else if (__new_size < __len) _M_erase_at_end(this->_M_impl._M_start + difference_type(__new_size)); } # 1302 "/usr/include/c++/5.0.0/bits/stl_deque.h" 3 void resize(size_type __new_size, const value_type& __x) { const size_type __len = size(); if (__new_size > __len) insert(this->_M_impl._M_finish, __new_size - __len, __x); else if (__new_size < __len) _M_erase_at_end(this->_M_impl._M_start + difference_type(__new_size)); } # 1338 "/usr/include/c++/5.0.0/bits/stl_deque.h" 3 void shrink_to_fit() noexcept { _M_shrink_to_fit(); } bool empty() const noexcept { return this->_M_impl._M_finish == this->_M_impl._M_start; } # 1363 "/usr/include/c++/5.0.0/bits/stl_deque.h" 3 reference operator[](size_type __n) noexcept { return this->_M_impl._M_start[difference_type(__n)]; } # 1378 "/usr/include/c++/5.0.0/bits/stl_deque.h" 3 const_reference operator[](size_type __n) const noexcept { return this->_M_impl._M_start[difference_type(__n)]; } protected: void _M_range_check(size_type __n) const { if (__n >= this->size()) __throw_out_of_range_fmt(("deque::_M_range_check: __n " "(which is %zu)>= this->size() " "(which is %zu)") , __n, this->size()); } public: # 1406 "/usr/include/c++/5.0.0/bits/stl_deque.h" 3 reference at(size_type __n) { _M_range_check(__n); return (*this)[__n]; } # 1424 "/usr/include/c++/5.0.0/bits/stl_deque.h" 3 const_reference at(size_type __n) const { _M_range_check(__n); return (*this)[__n]; } reference front() noexcept { return *begin(); } const_reference front() const noexcept { return *begin(); } reference back() noexcept { iterator __tmp = end(); --__tmp; return *__tmp; } const_reference back() const noexcept { const_iterator __tmp = end(); --__tmp; return *__tmp; } # 1481 "/usr/include/c++/5.0.0/bits/stl_deque.h" 3 void push_front(const value_type& __x) { if (this->_M_impl._M_start._M_cur != this->_M_impl._M_start._M_first) { _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_start._M_cur - 1, __x); --this->_M_impl._M_start._M_cur; } else _M_push_front_aux(__x); } void push_front(value_type&& __x) { emplace_front(std::move(__x)); } template void emplace_front(_Args&&... __args); # 1514 "/usr/include/c++/5.0.0/bits/stl_deque.h" 3 void push_back(const value_type& __x) { if (this->_M_impl._M_finish._M_cur != this->_M_impl._M_finish._M_last - 1) { _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish._M_cur, __x); ++this->_M_impl._M_finish._M_cur; } else _M_push_back_aux(__x); } void push_back(value_type&& __x) { emplace_back(std::move(__x)); } template void emplace_back(_Args&&... __args); # 1546 "/usr/include/c++/5.0.0/bits/stl_deque.h" 3 void pop_front() noexcept { if (this->_M_impl._M_start._M_cur != this->_M_impl._M_start._M_last - 1) { _Alloc_traits::destroy(this->_M_impl, this->_M_impl._M_start._M_cur); ++this->_M_impl._M_start._M_cur; } else _M_pop_front_aux(); } # 1568 "/usr/include/c++/5.0.0/bits/stl_deque.h" 3 void pop_back() noexcept { if (this->_M_impl._M_finish._M_cur != this->_M_impl._M_finish._M_first) { --this->_M_impl._M_finish._M_cur; _Alloc_traits::destroy(this->_M_impl, this->_M_impl._M_finish._M_cur); } else _M_pop_back_aux(); } # 1592 "/usr/include/c++/5.0.0/bits/stl_deque.h" 3 template iterator emplace(const_iterator __position, _Args&&... __args); # 1605 "/usr/include/c++/5.0.0/bits/stl_deque.h" 3 iterator insert(const_iterator __position, const value_type& __x); # 1631 "/usr/include/c++/5.0.0/bits/stl_deque.h" 3 iterator insert(const_iterator __position, value_type&& __x) { return emplace(__position, std::move(__x)); } # 1644 "/usr/include/c++/5.0.0/bits/stl_deque.h" 3 iterator insert(const_iterator __p, initializer_list __l) { return this->insert(__p, __l.begin(), __l.end()); } # 1660 "/usr/include/c++/5.0.0/bits/stl_deque.h" 3 iterator insert(const_iterator __position, size_type __n, const value_type& __x) { difference_type __offset = __position - cbegin(); _M_fill_insert(__position._M_const_cast(), __n, __x); return begin() + __offset; } # 1694 "/usr/include/c++/5.0.0/bits/stl_deque.h" 3 template> iterator insert(const_iterator __position, _InputIterator __first, _InputIterator __last) { difference_type __offset = __position - cbegin(); _M_insert_dispatch(__position._M_const_cast(), __first, __last, __false_type()); return begin() + __offset; } # 1740 "/usr/include/c++/5.0.0/bits/stl_deque.h" 3 iterator erase(const_iterator __position) { return _M_erase(__position._M_const_cast()); } # 1764 "/usr/include/c++/5.0.0/bits/stl_deque.h" 3 iterator erase(const_iterator __first, const_iterator __last) { return _M_erase(__first._M_const_cast(), __last._M_const_cast()); } # 1781 "/usr/include/c++/5.0.0/bits/stl_deque.h" 3 void swap(deque& __x) noexcept(_Alloc_traits::_S_nothrow_swap()) { _M_impl._M_swap_data(__x._M_impl); _Alloc_traits::_S_on_swap(_M_get_Tp_allocator(), __x._M_get_Tp_allocator()); } void clear() noexcept { _M_erase_at_end(begin()); } protected: template void _M_initialize_dispatch(_Integer __n, _Integer __x, __true_type) { _M_initialize_map(static_cast(__n)); _M_fill_initialize(__x); } template void _M_initialize_dispatch(_InputIterator __first, _InputIterator __last, __false_type) { typedef typename std::iterator_traits<_InputIterator>:: iterator_category _IterCategory; _M_range_initialize(__first, __last, _IterCategory()); } # 1840 "/usr/include/c++/5.0.0/bits/stl_deque.h" 3 template void _M_range_initialize(_InputIterator __first, _InputIterator __last, std::input_iterator_tag); template void _M_range_initialize(_ForwardIterator __first, _ForwardIterator __last, std::forward_iterator_tag); # 1862 "/usr/include/c++/5.0.0/bits/stl_deque.h" 3 void _M_fill_initialize(const value_type& __value); void _M_default_initialize(); # 1878 "/usr/include/c++/5.0.0/bits/stl_deque.h" 3 template void _M_assign_dispatch(_Integer __n, _Integer __val, __true_type) { _M_fill_assign(__n, __val); } template void _M_assign_dispatch(_InputIterator __first, _InputIterator __last, __false_type) { typedef typename std::iterator_traits<_InputIterator>:: iterator_category _IterCategory; _M_assign_aux(__first, __last, _IterCategory()); } template void _M_assign_aux(_InputIterator __first, _InputIterator __last, std::input_iterator_tag); template void _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last, std::forward_iterator_tag) { const size_type __len = std::distance(__first, __last); if (__len > size()) { _ForwardIterator __mid = __first; std::advance(__mid, size()); std::copy(__first, __mid, begin()); insert(end(), __mid, __last); } else _M_erase_at_end(std::copy(__first, __last, begin())); } void _M_fill_assign(size_type __n, const value_type& __val) { if (__n > size()) { std::fill(begin(), end(), __val); insert(end(), __n - size(), __val); } else { _M_erase_at_end(begin() + difference_type(__n)); std::fill(begin(), end(), __val); } } # 1942 "/usr/include/c++/5.0.0/bits/stl_deque.h" 3 template void _M_push_back_aux(_Args&&... __args); template void _M_push_front_aux(_Args&&... __args); void _M_pop_back_aux(); void _M_pop_front_aux(); # 1961 "/usr/include/c++/5.0.0/bits/stl_deque.h" 3 template void _M_insert_dispatch(iterator __pos, _Integer __n, _Integer __x, __true_type) { _M_fill_insert(__pos, __n, __x); } template void _M_insert_dispatch(iterator __pos, _InputIterator __first, _InputIterator __last, __false_type) { typedef typename std::iterator_traits<_InputIterator>:: iterator_category _IterCategory; _M_range_insert_aux(__pos, __first, __last, _IterCategory()); } template void _M_range_insert_aux(iterator __pos, _InputIterator __first, _InputIterator __last, std::input_iterator_tag); template void _M_range_insert_aux(iterator __pos, _ForwardIterator __first, _ForwardIterator __last, std::forward_iterator_tag); void _M_fill_insert(iterator __pos, size_type __n, const value_type& __x); template iterator _M_insert_aux(iterator __pos, _Args&&... __args); void _M_insert_aux(iterator __pos, size_type __n, const value_type& __x); template void _M_insert_aux(iterator __pos, _ForwardIterator __first, _ForwardIterator __last, size_type __n); void _M_destroy_data_aux(iterator __first, iterator __last); template void _M_destroy_data(iterator __first, iterator __last, const _Alloc1&) { _M_destroy_data_aux(__first, __last); } void _M_destroy_data(iterator __first, iterator __last, const std::allocator<_Tp>&) { if (!__has_trivial_destructor(value_type)) _M_destroy_data_aux(__first, __last); } void _M_erase_at_begin(iterator __pos) { _M_destroy_data(begin(), __pos, _M_get_Tp_allocator()); _M_destroy_nodes(this->_M_impl._M_start._M_node, __pos._M_node); this->_M_impl._M_start = __pos; } void _M_erase_at_end(iterator __pos) { _M_destroy_data(__pos, end(), _M_get_Tp_allocator()); _M_destroy_nodes(__pos._M_node + 1, this->_M_impl._M_finish._M_node + 1); this->_M_impl._M_finish = __pos; } iterator _M_erase(iterator __pos); iterator _M_erase(iterator __first, iterator __last); void _M_default_append(size_type __n); bool _M_shrink_to_fit(); iterator _M_reserve_elements_at_front(size_type __n) { const size_type __vacancies = this->_M_impl._M_start._M_cur - this->_M_impl._M_start._M_first; if (__n > __vacancies) _M_new_elements_at_front(__n - __vacancies); return this->_M_impl._M_start - difference_type(__n); } iterator _M_reserve_elements_at_back(size_type __n) { const size_type __vacancies = (this->_M_impl._M_finish._M_last - this->_M_impl._M_finish._M_cur) - 1; if (__n > __vacancies) _M_new_elements_at_back(__n - __vacancies); return this->_M_impl._M_finish + difference_type(__n); } void _M_new_elements_at_front(size_type __new_elements); void _M_new_elements_at_back(size_type __new_elements); # 2112 "/usr/include/c++/5.0.0/bits/stl_deque.h" 3 void _M_reserve_map_at_back(size_type __nodes_to_add = 1) { if (__nodes_to_add + 1 > this->_M_impl._M_map_size - (this->_M_impl._M_finish._M_node - this->_M_impl._M_map)) _M_reallocate_map(__nodes_to_add, false); } void _M_reserve_map_at_front(size_type __nodes_to_add = 1) { if (__nodes_to_add > size_type(this->_M_impl._M_start._M_node - this->_M_impl._M_map)) _M_reallocate_map(__nodes_to_add, true); } void _M_reallocate_map(size_type __nodes_to_add, bool __add_at_front); void _M_move_assign1(deque&& __x, true_type) noexcept { this->_M_impl._M_swap_data(__x._M_impl); __x.clear(); std::__alloc_on_move(_M_get_Tp_allocator(), __x._M_get_Tp_allocator()); } void _M_move_assign1(deque&& __x, false_type) { constexpr bool __move_storage = _Alloc_traits::_S_propagate_on_move_assign(); _M_move_assign2(std::move(__x), integral_constant()); } template void _M_replace_map(_Args&&... __args) { deque __newobj(std::forward<_Args>(__args)...); clear(); _M_deallocate_node(*begin()._M_node); _M_deallocate_map(this->_M_impl._M_map, this->_M_impl._M_map_size); this->_M_impl._M_map = nullptr; this->_M_impl._M_map_size = 0; this->_M_impl._M_swap_data(__newobj._M_impl); } void _M_move_assign2(deque&& __x, true_type) { auto __alloc = __x._M_get_Tp_allocator(); _M_replace_map(std::move(__x)); _M_get_Tp_allocator() = std::move(__alloc); } void _M_move_assign2(deque&& __x, false_type) { if (__x._M_get_Tp_allocator() == this->_M_get_Tp_allocator()) { _M_replace_map(std::move(__x), __x.get_allocator()); } else { this->assign(std::__make_move_if_noexcept_iterator(__x.begin()), std::__make_move_if_noexcept_iterator(__x.end())); __x.clear(); } } }; # 2217 "/usr/include/c++/5.0.0/bits/stl_deque.h" 3 template inline bool operator==(const deque<_Tp, _Alloc>& __x, const deque<_Tp, _Alloc>& __y) { return __x.size() == __y.size() && std::equal(__x.begin(), __x.end(), __y.begin()); } # 2235 "/usr/include/c++/5.0.0/bits/stl_deque.h" 3 template inline bool operator<(const deque<_Tp, _Alloc>& __x, const deque<_Tp, _Alloc>& __y) { return std::lexicographical_compare(__x.begin(), __x.end(), __y.begin(), __y.end()); } template inline bool operator!=(const deque<_Tp, _Alloc>& __x, const deque<_Tp, _Alloc>& __y) { return !(__x == __y); } template inline bool operator>(const deque<_Tp, _Alloc>& __x, const deque<_Tp, _Alloc>& __y) { return __y < __x; } template inline bool operator<=(const deque<_Tp, _Alloc>& __x, const deque<_Tp, _Alloc>& __y) { return !(__y < __x); } template inline bool operator>=(const deque<_Tp, _Alloc>& __x, const deque<_Tp, _Alloc>& __y) { return !(__x < __y); } template inline void swap(deque<_Tp,_Alloc>& __x, deque<_Tp,_Alloc>& __y) { __x.swap(__y); } } # 65 "/usr/include/c++/5.0.0/deque" 2 3 # 1 "/usr/include/c++/5.0.0/bits/deque.tcc" 1 3 # 59 "/usr/include/c++/5.0.0/bits/deque.tcc" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template void deque<_Tp, _Alloc>:: _M_default_initialize() { _Map_pointer __cur; if (true) { for (__cur = this->_M_impl._M_start._M_node; __cur < this->_M_impl._M_finish._M_node; ++__cur) std::__uninitialized_default_a(*__cur, *__cur + _S_buffer_size(), _M_get_Tp_allocator()); std::__uninitialized_default_a(this->_M_impl._M_finish._M_first, this->_M_impl._M_finish._M_cur, _M_get_Tp_allocator()); } if (false) { std::_Destroy(this->_M_impl._M_start, iterator(*__cur, __cur), _M_get_Tp_allocator()); ; } } template deque<_Tp, _Alloc>& deque<_Tp, _Alloc>:: operator=(const deque& __x) { if (&__x != this) { if (_Alloc_traits::_S_propagate_on_copy_assign()) { if (!_Alloc_traits::_S_always_equal() && _M_get_Tp_allocator() != __x._M_get_Tp_allocator()) { _M_replace_map(__x, __x.get_allocator()); std::__alloc_on_copy(_M_get_Tp_allocator(), __x._M_get_Tp_allocator()); return *this; } std::__alloc_on_copy(_M_get_Tp_allocator(), __x._M_get_Tp_allocator()); } const size_type __len = size(); if (__len >= __x.size()) _M_erase_at_end(std::copy(__x.begin(), __x.end(), this->_M_impl._M_start)); else { const_iterator __mid = __x.begin() + difference_type(__len); std::copy(__x.begin(), __mid, this->_M_impl._M_start); insert(this->_M_impl._M_finish, __mid, __x.end()); } } return *this; } template template void deque<_Tp, _Alloc>:: emplace_front(_Args&&... __args) { if (this->_M_impl._M_start._M_cur != this->_M_impl._M_start._M_first) { _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_start._M_cur - 1, std::forward<_Args>(__args)...); --this->_M_impl._M_start._M_cur; } else _M_push_front_aux(std::forward<_Args>(__args)...); } template template void deque<_Tp, _Alloc>:: emplace_back(_Args&&... __args) { if (this->_M_impl._M_finish._M_cur != this->_M_impl._M_finish._M_last - 1) { _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish._M_cur, std::forward<_Args>(__args)...); ++this->_M_impl._M_finish._M_cur; } else _M_push_back_aux(std::forward<_Args>(__args)...); } template template typename deque<_Tp, _Alloc>::iterator deque<_Tp, _Alloc>:: emplace(const_iterator __position, _Args&&... __args) { if (__position._M_cur == this->_M_impl._M_start._M_cur) { emplace_front(std::forward<_Args>(__args)...); return this->_M_impl._M_start; } else if (__position._M_cur == this->_M_impl._M_finish._M_cur) { emplace_back(std::forward<_Args>(__args)...); iterator __tmp = this->_M_impl._M_finish; --__tmp; return __tmp; } else return _M_insert_aux(__position._M_const_cast(), std::forward<_Args>(__args)...); } template typename deque<_Tp, _Alloc>::iterator deque<_Tp, _Alloc>:: insert(const_iterator __position, const value_type& __x) { if (__position._M_cur == this->_M_impl._M_start._M_cur) { push_front(__x); return this->_M_impl._M_start; } else if (__position._M_cur == this->_M_impl._M_finish._M_cur) { push_back(__x); iterator __tmp = this->_M_impl._M_finish; --__tmp; return __tmp; } else return _M_insert_aux(__position._M_const_cast(), __x); } template typename deque<_Tp, _Alloc>::iterator deque<_Tp, _Alloc>:: _M_erase(iterator __position) { iterator __next = __position; ++__next; const difference_type __index = __position - begin(); if (static_cast(__index) < (size() >> 1)) { if (__position != begin()) std::move_backward(begin(), __position, __next); pop_front(); } else { if (__next != end()) std::move(__next, end(), __position); pop_back(); } return begin() + __index; } template typename deque<_Tp, _Alloc>::iterator deque<_Tp, _Alloc>:: _M_erase(iterator __first, iterator __last) { if (__first == __last) return __first; else if (__first == begin() && __last == end()) { clear(); return end(); } else { const difference_type __n = __last - __first; const difference_type __elems_before = __first - begin(); if (static_cast(__elems_before) <= (size() - __n) / 2) { if (__first != begin()) std::move_backward(begin(), __first, __last); _M_erase_at_begin(begin() + __n); } else { if (__last != end()) std::move(__last, end(), __first); _M_erase_at_end(end() - __n); } return begin() + __elems_before; } } template template void deque<_Tp, _Alloc>:: _M_assign_aux(_InputIterator __first, _InputIterator __last, std::input_iterator_tag) { iterator __cur = begin(); for (; __first != __last && __cur != end(); ++__cur, ++__first) *__cur = *__first; if (__first == __last) _M_erase_at_end(__cur); else insert(end(), __first, __last); } template void deque<_Tp, _Alloc>:: _M_fill_insert(iterator __pos, size_type __n, const value_type& __x) { if (__pos._M_cur == this->_M_impl._M_start._M_cur) { iterator __new_start = _M_reserve_elements_at_front(__n); if (true) { std::__uninitialized_fill_a(__new_start, this->_M_impl._M_start, __x, _M_get_Tp_allocator()); this->_M_impl._M_start = __new_start; } if (false) { _M_destroy_nodes(__new_start._M_node, this->_M_impl._M_start._M_node); ; } } else if (__pos._M_cur == this->_M_impl._M_finish._M_cur) { iterator __new_finish = _M_reserve_elements_at_back(__n); if (true) { std::__uninitialized_fill_a(this->_M_impl._M_finish, __new_finish, __x, _M_get_Tp_allocator()); this->_M_impl._M_finish = __new_finish; } if (false) { _M_destroy_nodes(this->_M_impl._M_finish._M_node + 1, __new_finish._M_node + 1); ; } } else _M_insert_aux(__pos, __n, __x); } template void deque<_Tp, _Alloc>:: _M_default_append(size_type __n) { if (__n) { iterator __new_finish = _M_reserve_elements_at_back(__n); if (true) { std::__uninitialized_default_a(this->_M_impl._M_finish, __new_finish, _M_get_Tp_allocator()); this->_M_impl._M_finish = __new_finish; } if (false) { _M_destroy_nodes(this->_M_impl._M_finish._M_node + 1, __new_finish._M_node + 1); ; } } } template bool deque<_Tp, _Alloc>:: _M_shrink_to_fit() { const difference_type __front_capacity = (this->_M_impl._M_start._M_cur - this->_M_impl._M_start._M_first); if (__front_capacity == 0) return false; const difference_type __back_capacity = (this->_M_impl._M_finish._M_last - this->_M_impl._M_finish._M_cur); if (__front_capacity + __back_capacity < _S_buffer_size()) return false; return std::__shrink_to_fit_aux::_S_do_it(*this); } template void deque<_Tp, _Alloc>:: _M_fill_initialize(const value_type& __value) { _Map_pointer __cur; if (true) { for (__cur = this->_M_impl._M_start._M_node; __cur < this->_M_impl._M_finish._M_node; ++__cur) std::__uninitialized_fill_a(*__cur, *__cur + _S_buffer_size(), __value, _M_get_Tp_allocator()); std::__uninitialized_fill_a(this->_M_impl._M_finish._M_first, this->_M_impl._M_finish._M_cur, __value, _M_get_Tp_allocator()); } if (false) { std::_Destroy(this->_M_impl._M_start, iterator(*__cur, __cur), _M_get_Tp_allocator()); ; } } template template void deque<_Tp, _Alloc>:: _M_range_initialize(_InputIterator __first, _InputIterator __last, std::input_iterator_tag) { this->_M_initialize_map(0); if (true) { for (; __first != __last; ++__first) emplace_back(*__first); } if (false) { clear(); ; } } template template void deque<_Tp, _Alloc>:: _M_range_initialize(_ForwardIterator __first, _ForwardIterator __last, std::forward_iterator_tag) { const size_type __n = std::distance(__first, __last); this->_M_initialize_map(__n); _Map_pointer __cur_node; if (true) { for (__cur_node = this->_M_impl._M_start._M_node; __cur_node < this->_M_impl._M_finish._M_node; ++__cur_node) { _ForwardIterator __mid = __first; std::advance(__mid, _S_buffer_size()); std::__uninitialized_copy_a(__first, __mid, *__cur_node, _M_get_Tp_allocator()); __first = __mid; } std::__uninitialized_copy_a(__first, __last, this->_M_impl._M_finish._M_first, _M_get_Tp_allocator()); } if (false) { std::_Destroy(this->_M_impl._M_start, iterator(*__cur_node, __cur_node), _M_get_Tp_allocator()); ; } } template template void deque<_Tp, _Alloc>:: _M_push_back_aux(_Args&&... __args) { _M_reserve_map_at_back(); *(this->_M_impl._M_finish._M_node + 1) = this->_M_allocate_node(); if (true) { _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish._M_cur, std::forward<_Args>(__args)...); this->_M_impl._M_finish._M_set_node(this->_M_impl._M_finish._M_node + 1); this->_M_impl._M_finish._M_cur = this->_M_impl._M_finish._M_first; } if (false) { _M_deallocate_node(*(this->_M_impl._M_finish._M_node + 1)); ; } } template template void deque<_Tp, _Alloc>:: _M_push_front_aux(_Args&&... __args) { _M_reserve_map_at_front(); *(this->_M_impl._M_start._M_node - 1) = this->_M_allocate_node(); if (true) { this->_M_impl._M_start._M_set_node(this->_M_impl._M_start._M_node - 1); this->_M_impl._M_start._M_cur = this->_M_impl._M_start._M_last - 1; _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_start._M_cur, std::forward<_Args>(__args)...); } if (false) { ++this->_M_impl._M_start; _M_deallocate_node(*(this->_M_impl._M_start._M_node - 1)); ; } } template void deque<_Tp, _Alloc>:: _M_pop_back_aux() { _M_deallocate_node(this->_M_impl._M_finish._M_first); this->_M_impl._M_finish._M_set_node(this->_M_impl._M_finish._M_node - 1); this->_M_impl._M_finish._M_cur = this->_M_impl._M_finish._M_last - 1; _Alloc_traits::destroy(_M_get_Tp_allocator(), this->_M_impl._M_finish._M_cur); } template void deque<_Tp, _Alloc>:: _M_pop_front_aux() { _Alloc_traits::destroy(_M_get_Tp_allocator(), this->_M_impl._M_start._M_cur); _M_deallocate_node(this->_M_impl._M_start._M_first); this->_M_impl._M_start._M_set_node(this->_M_impl._M_start._M_node + 1); this->_M_impl._M_start._M_cur = this->_M_impl._M_start._M_first; } template template void deque<_Tp, _Alloc>:: _M_range_insert_aux(iterator __pos, _InputIterator __first, _InputIterator __last, std::input_iterator_tag) { std::copy(__first, __last, std::inserter(*this, __pos)); } template template void deque<_Tp, _Alloc>:: _M_range_insert_aux(iterator __pos, _ForwardIterator __first, _ForwardIterator __last, std::forward_iterator_tag) { const size_type __n = std::distance(__first, __last); if (__pos._M_cur == this->_M_impl._M_start._M_cur) { iterator __new_start = _M_reserve_elements_at_front(__n); if (true) { std::__uninitialized_copy_a(__first, __last, __new_start, _M_get_Tp_allocator()); this->_M_impl._M_start = __new_start; } if (false) { _M_destroy_nodes(__new_start._M_node, this->_M_impl._M_start._M_node); ; } } else if (__pos._M_cur == this->_M_impl._M_finish._M_cur) { iterator __new_finish = _M_reserve_elements_at_back(__n); if (true) { std::__uninitialized_copy_a(__first, __last, this->_M_impl._M_finish, _M_get_Tp_allocator()); this->_M_impl._M_finish = __new_finish; } if (false) { _M_destroy_nodes(this->_M_impl._M_finish._M_node + 1, __new_finish._M_node + 1); ; } } else _M_insert_aux(__pos, __first, __last, __n); } template template typename deque<_Tp, _Alloc>::iterator deque<_Tp, _Alloc>:: _M_insert_aux(iterator __pos, _Args&&... __args) { value_type __x_copy(std::forward<_Args>(__args)...); difference_type __index = __pos - this->_M_impl._M_start; if (static_cast(__index) < size() / 2) { push_front(std::move(front())); iterator __front1 = this->_M_impl._M_start; ++__front1; iterator __front2 = __front1; ++__front2; __pos = this->_M_impl._M_start + __index; iterator __pos1 = __pos; ++__pos1; std::move(__front2, __pos1, __front1); } else { push_back(std::move(back())); iterator __back1 = this->_M_impl._M_finish; --__back1; iterator __back2 = __back1; --__back2; __pos = this->_M_impl._M_start + __index; std::move_backward(__pos, __back2, __back1); } *__pos = std::move(__x_copy); return __pos; } template void deque<_Tp, _Alloc>:: _M_insert_aux(iterator __pos, size_type __n, const value_type& __x) { const difference_type __elems_before = __pos - this->_M_impl._M_start; const size_type __length = this->size(); value_type __x_copy = __x; if (__elems_before < difference_type(__length / 2)) { iterator __new_start = _M_reserve_elements_at_front(__n); iterator __old_start = this->_M_impl._M_start; __pos = this->_M_impl._M_start + __elems_before; if (true) { if (__elems_before >= difference_type(__n)) { iterator __start_n = (this->_M_impl._M_start + difference_type(__n)); std::__uninitialized_move_a(this->_M_impl._M_start, __start_n, __new_start, _M_get_Tp_allocator()); this->_M_impl._M_start = __new_start; std::move(__start_n, __pos, __old_start); std::fill(__pos - difference_type(__n), __pos, __x_copy); } else { std::__uninitialized_move_fill(this->_M_impl._M_start, __pos, __new_start, this->_M_impl._M_start, __x_copy, _M_get_Tp_allocator()); this->_M_impl._M_start = __new_start; std::fill(__old_start, __pos, __x_copy); } } if (false) { _M_destroy_nodes(__new_start._M_node, this->_M_impl._M_start._M_node); ; } } else { iterator __new_finish = _M_reserve_elements_at_back(__n); iterator __old_finish = this->_M_impl._M_finish; const difference_type __elems_after = difference_type(__length) - __elems_before; __pos = this->_M_impl._M_finish - __elems_after; if (true) { if (__elems_after > difference_type(__n)) { iterator __finish_n = (this->_M_impl._M_finish - difference_type(__n)); std::__uninitialized_move_a(__finish_n, this->_M_impl._M_finish, this->_M_impl._M_finish, _M_get_Tp_allocator()); this->_M_impl._M_finish = __new_finish; std::move_backward(__pos, __finish_n, __old_finish); std::fill(__pos, __pos + difference_type(__n), __x_copy); } else { std::__uninitialized_fill_move(this->_M_impl._M_finish, __pos + difference_type(__n), __x_copy, __pos, this->_M_impl._M_finish, _M_get_Tp_allocator()); this->_M_impl._M_finish = __new_finish; std::fill(__pos, __old_finish, __x_copy); } } if (false) { _M_destroy_nodes(this->_M_impl._M_finish._M_node + 1, __new_finish._M_node + 1); ; } } } template template void deque<_Tp, _Alloc>:: _M_insert_aux(iterator __pos, _ForwardIterator __first, _ForwardIterator __last, size_type __n) { const difference_type __elemsbefore = __pos - this->_M_impl._M_start; const size_type __length = size(); if (static_cast(__elemsbefore) < __length / 2) { iterator __new_start = _M_reserve_elements_at_front(__n); iterator __old_start = this->_M_impl._M_start; __pos = this->_M_impl._M_start + __elemsbefore; if (true) { if (__elemsbefore >= difference_type(__n)) { iterator __start_n = (this->_M_impl._M_start + difference_type(__n)); std::__uninitialized_move_a(this->_M_impl._M_start, __start_n, __new_start, _M_get_Tp_allocator()); this->_M_impl._M_start = __new_start; std::move(__start_n, __pos, __old_start); std::copy(__first, __last, __pos - difference_type(__n)); } else { _ForwardIterator __mid = __first; std::advance(__mid, difference_type(__n) - __elemsbefore); std::__uninitialized_move_copy(this->_M_impl._M_start, __pos, __first, __mid, __new_start, _M_get_Tp_allocator()); this->_M_impl._M_start = __new_start; std::copy(__mid, __last, __old_start); } } if (false) { _M_destroy_nodes(__new_start._M_node, this->_M_impl._M_start._M_node); ; } } else { iterator __new_finish = _M_reserve_elements_at_back(__n); iterator __old_finish = this->_M_impl._M_finish; const difference_type __elemsafter = difference_type(__length) - __elemsbefore; __pos = this->_M_impl._M_finish - __elemsafter; if (true) { if (__elemsafter > difference_type(__n)) { iterator __finish_n = (this->_M_impl._M_finish - difference_type(__n)); std::__uninitialized_move_a(__finish_n, this->_M_impl._M_finish, this->_M_impl._M_finish, _M_get_Tp_allocator()); this->_M_impl._M_finish = __new_finish; std::move_backward(__pos, __finish_n, __old_finish); std::copy(__first, __last, __pos); } else { _ForwardIterator __mid = __first; std::advance(__mid, __elemsafter); std::__uninitialized_copy_move(__mid, __last, __pos, this->_M_impl._M_finish, this->_M_impl._M_finish, _M_get_Tp_allocator()); this->_M_impl._M_finish = __new_finish; std::copy(__first, __mid, __pos); } } if (false) { _M_destroy_nodes(this->_M_impl._M_finish._M_node + 1, __new_finish._M_node + 1); ; } } } template void deque<_Tp, _Alloc>:: _M_destroy_data_aux(iterator __first, iterator __last) { for (_Map_pointer __node = __first._M_node + 1; __node < __last._M_node; ++__node) std::_Destroy(*__node, *__node + _S_buffer_size(), _M_get_Tp_allocator()); if (__first._M_node != __last._M_node) { std::_Destroy(__first._M_cur, __first._M_last, _M_get_Tp_allocator()); std::_Destroy(__last._M_first, __last._M_cur, _M_get_Tp_allocator()); } else std::_Destroy(__first._M_cur, __last._M_cur, _M_get_Tp_allocator()); } template void deque<_Tp, _Alloc>:: _M_new_elements_at_front(size_type __new_elems) { if (this->max_size() - this->size() < __new_elems) __throw_length_error(("deque::_M_new_elements_at_front")); const size_type __new_nodes = ((__new_elems + _S_buffer_size() - 1) / _S_buffer_size()); _M_reserve_map_at_front(__new_nodes); size_type __i; if (true) { for (__i = 1; __i <= __new_nodes; ++__i) *(this->_M_impl._M_start._M_node - __i) = this->_M_allocate_node(); } if (false) { for (size_type __j = 1; __j < __i; ++__j) _M_deallocate_node(*(this->_M_impl._M_start._M_node - __j)); ; } } template void deque<_Tp, _Alloc>:: _M_new_elements_at_back(size_type __new_elems) { if (this->max_size() - this->size() < __new_elems) __throw_length_error(("deque::_M_new_elements_at_back")); const size_type __new_nodes = ((__new_elems + _S_buffer_size() - 1) / _S_buffer_size()); _M_reserve_map_at_back(__new_nodes); size_type __i; if (true) { for (__i = 1; __i <= __new_nodes; ++__i) *(this->_M_impl._M_finish._M_node + __i) = this->_M_allocate_node(); } if (false) { for (size_type __j = 1; __j < __i; ++__j) _M_deallocate_node(*(this->_M_impl._M_finish._M_node + __j)); ; } } template void deque<_Tp, _Alloc>:: _M_reallocate_map(size_type __nodes_to_add, bool __add_at_front) { const size_type __old_num_nodes = this->_M_impl._M_finish._M_node - this->_M_impl._M_start._M_node + 1; const size_type __new_num_nodes = __old_num_nodes + __nodes_to_add; _Map_pointer __new_nstart; if (this->_M_impl._M_map_size > 2 * __new_num_nodes) { __new_nstart = this->_M_impl._M_map + (this->_M_impl._M_map_size - __new_num_nodes) / 2 + (__add_at_front ? __nodes_to_add : 0); if (__new_nstart < this->_M_impl._M_start._M_node) std::copy(this->_M_impl._M_start._M_node, this->_M_impl._M_finish._M_node + 1, __new_nstart); else std::copy_backward(this->_M_impl._M_start._M_node, this->_M_impl._M_finish._M_node + 1, __new_nstart + __old_num_nodes); } else { size_type __new_map_size = this->_M_impl._M_map_size + std::max(this->_M_impl._M_map_size, __nodes_to_add) + 2; _Map_pointer __new_map = this->_M_allocate_map(__new_map_size); __new_nstart = __new_map + (__new_map_size - __new_num_nodes) / 2 + (__add_at_front ? __nodes_to_add : 0); std::copy(this->_M_impl._M_start._M_node, this->_M_impl._M_finish._M_node + 1, __new_nstart); _M_deallocate_map(this->_M_impl._M_map, this->_M_impl._M_map_size); this->_M_impl._M_map = __new_map; this->_M_impl._M_map_size = __new_map_size; } this->_M_impl._M_start._M_set_node(__new_nstart); this->_M_impl._M_finish._M_set_node(__new_nstart + __old_num_nodes - 1); } template void fill(const _Deque_iterator<_Tp, _Tp&, _Tp*>& __first, const _Deque_iterator<_Tp, _Tp&, _Tp*>& __last, const _Tp& __value) { typedef typename _Deque_iterator<_Tp, _Tp&, _Tp*>::_Self _Self; for (typename _Self::_Map_pointer __node = __first._M_node + 1; __node < __last._M_node; ++__node) std::fill(*__node, *__node + _Self::_S_buffer_size(), __value); if (__first._M_node != __last._M_node) { std::fill(__first._M_cur, __first._M_last, __value); std::fill(__last._M_first, __last._M_cur, __value); } else std::fill(__first._M_cur, __last._M_cur, __value); } template _Deque_iterator<_Tp, _Tp&, _Tp*> copy(_Deque_iterator<_Tp, const _Tp&, const _Tp*> __first, _Deque_iterator<_Tp, const _Tp&, const _Tp*> __last, _Deque_iterator<_Tp, _Tp&, _Tp*> __result) { typedef typename _Deque_iterator<_Tp, _Tp&, _Tp*>::_Self _Self; typedef typename _Self::difference_type difference_type; difference_type __len = __last - __first; while (__len > 0) { const difference_type __clen = std::min(__len, std::min(__first._M_last - __first._M_cur, __result._M_last - __result._M_cur)); std::copy(__first._M_cur, __first._M_cur + __clen, __result._M_cur); __first += __clen; __result += __clen; __len -= __clen; } return __result; } template _Deque_iterator<_Tp, _Tp&, _Tp*> copy_backward(_Deque_iterator<_Tp, const _Tp&, const _Tp*> __first, _Deque_iterator<_Tp, const _Tp&, const _Tp*> __last, _Deque_iterator<_Tp, _Tp&, _Tp*> __result) { typedef typename _Deque_iterator<_Tp, _Tp&, _Tp*>::_Self _Self; typedef typename _Self::difference_type difference_type; difference_type __len = __last - __first; while (__len > 0) { difference_type __llen = __last._M_cur - __last._M_first; _Tp* __lend = __last._M_cur; difference_type __rlen = __result._M_cur - __result._M_first; _Tp* __rend = __result._M_cur; if (!__llen) { __llen = _Self::_S_buffer_size(); __lend = *(__last._M_node - 1) + __llen; } if (!__rlen) { __rlen = _Self::_S_buffer_size(); __rend = *(__result._M_node - 1) + __rlen; } const difference_type __clen = std::min(__len, std::min(__llen, __rlen)); std::copy_backward(__lend - __clen, __lend, __rend); __last -= __clen; __result -= __clen; __len -= __clen; } return __result; } template _Deque_iterator<_Tp, _Tp&, _Tp*> move(_Deque_iterator<_Tp, const _Tp&, const _Tp*> __first, _Deque_iterator<_Tp, const _Tp&, const _Tp*> __last, _Deque_iterator<_Tp, _Tp&, _Tp*> __result) { typedef typename _Deque_iterator<_Tp, _Tp&, _Tp*>::_Self _Self; typedef typename _Self::difference_type difference_type; difference_type __len = __last - __first; while (__len > 0) { const difference_type __clen = std::min(__len, std::min(__first._M_last - __first._M_cur, __result._M_last - __result._M_cur)); std::move(__first._M_cur, __first._M_cur + __clen, __result._M_cur); __first += __clen; __result += __clen; __len -= __clen; } return __result; } template _Deque_iterator<_Tp, _Tp&, _Tp*> move_backward(_Deque_iterator<_Tp, const _Tp&, const _Tp*> __first, _Deque_iterator<_Tp, const _Tp&, const _Tp*> __last, _Deque_iterator<_Tp, _Tp&, _Tp*> __result) { typedef typename _Deque_iterator<_Tp, _Tp&, _Tp*>::_Self _Self; typedef typename _Self::difference_type difference_type; difference_type __len = __last - __first; while (__len > 0) { difference_type __llen = __last._M_cur - __last._M_first; _Tp* __lend = __last._M_cur; difference_type __rlen = __result._M_cur - __result._M_first; _Tp* __rend = __result._M_cur; if (!__llen) { __llen = _Self::_S_buffer_size(); __lend = *(__last._M_node - 1) + __llen; } if (!__rlen) { __rlen = _Self::_S_buffer_size(); __rend = *(__result._M_node - 1) + __rlen; } const difference_type __clen = std::min(__len, std::min(__llen, __rlen)); std::move_backward(__lend - __clen, __lend, __rend); __last -= __clen; __result -= __clen; __len -= __clen; } return __result; } } # 67 "/usr/include/c++/5.0.0/deque" 2 3 # 4 "../../../dist/system_wrappers/deque" 2 3 #pragma GCC visibility pop # 56 "../../../dist/stl_wrappers/deque" 2 3 #pragma GCC visibility pop # 61 "/usr/include/c++/5.0.0/queue" 2 3 # 1 "/usr/include/c++/5.0.0/bits/stl_queue.h" 1 3 # 62 "/usr/include/c++/5.0.0/bits/stl_queue.h" 3 # 1 "/usr/include/c++/5.0.0/bits/uses_allocator.h" 1 3 # 34 "/usr/include/c++/5.0.0/bits/uses_allocator.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { struct allocator_arg_t { }; constexpr allocator_arg_t allocator_arg = allocator_arg_t(); template> struct __uses_allocator_helper : false_type { }; template struct __uses_allocator_helper<_Tp, _Alloc, __void_t> : is_convertible<_Alloc, typename _Tp::allocator_type>::type { }; template struct uses_allocator : __uses_allocator_helper<_Tp, _Alloc>::type { }; struct __uses_alloc_base { }; struct __uses_alloc0 : __uses_alloc_base { struct _Sink { void operator=(const void*) { } } _M_a; }; template struct __uses_alloc1 : __uses_alloc_base { const _Alloc* _M_a; }; template struct __uses_alloc2 : __uses_alloc_base { const _Alloc* _M_a; }; template struct __uses_alloc; template struct __uses_alloc : conditional< is_constructible<_Tp, allocator_arg_t, _Alloc, _Args...>::value, __uses_alloc1<_Alloc>, __uses_alloc2<_Alloc>>::type { }; template struct __uses_alloc : __uses_alloc0 { }; template using __uses_alloc_t = __uses_alloc::value, _Tp, _Alloc, _Args...>; template inline __uses_alloc_t<_Tp, _Alloc, _Args...> __use_alloc(const _Alloc& __a) { __uses_alloc_t<_Tp, _Alloc, _Args...> __ret; __ret._M_a = &__a; return __ret; } } # 63 "/usr/include/c++/5.0.0/bits/stl_queue.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 95 "/usr/include/c++/5.0.0/bits/stl_queue.h" 3 template > class queue { typedef typename _Sequence::value_type _Sequence_value_type; template friend bool operator==(const queue<_Tp1, _Seq1>&, const queue<_Tp1, _Seq1>&); template friend bool operator<(const queue<_Tp1, _Seq1>&, const queue<_Tp1, _Seq1>&); public: typedef typename _Sequence::value_type value_type; typedef typename _Sequence::reference reference; typedef typename _Sequence::const_reference const_reference; typedef typename _Sequence::size_type size_type; typedef _Sequence container_type; protected: # 129 "/usr/include/c++/5.0.0/bits/stl_queue.h" 3 _Sequence c; public: # 140 "/usr/include/c++/5.0.0/bits/stl_queue.h" 3 explicit queue(const _Sequence& __c) : c(__c) { } explicit queue(_Sequence&& __c = _Sequence()) : c(std::move(__c)) { } bool empty() const { return c.empty(); } size_type size() const { return c.size(); } reference front() { ; return c.front(); } const_reference front() const { ; return c.front(); } reference back() { ; return c.back(); } const_reference back() const { ; return c.back(); } # 214 "/usr/include/c++/5.0.0/bits/stl_queue.h" 3 void push(const value_type& __x) { c.push_back(__x); } void push(value_type&& __x) { c.push_back(std::move(__x)); } template void emplace(_Args&&... __args) { c.emplace_back(std::forward<_Args>(__args)...); } # 240 "/usr/include/c++/5.0.0/bits/stl_queue.h" 3 void pop() { ; c.pop_front(); } void swap(queue& __q) noexcept(noexcept(swap(c, __q.c))) { using std::swap; swap(c, __q.c); } }; # 269 "/usr/include/c++/5.0.0/bits/stl_queue.h" 3 template inline bool operator==(const queue<_Tp, _Seq>& __x, const queue<_Tp, _Seq>& __y) { return __x.c == __y.c; } # 287 "/usr/include/c++/5.0.0/bits/stl_queue.h" 3 template inline bool operator<(const queue<_Tp, _Seq>& __x, const queue<_Tp, _Seq>& __y) { return __x.c < __y.c; } template inline bool operator!=(const queue<_Tp, _Seq>& __x, const queue<_Tp, _Seq>& __y) { return !(__x == __y); } template inline bool operator>(const queue<_Tp, _Seq>& __x, const queue<_Tp, _Seq>& __y) { return __y < __x; } template inline bool operator<=(const queue<_Tp, _Seq>& __x, const queue<_Tp, _Seq>& __y) { return !(__y < __x); } template inline bool operator>=(const queue<_Tp, _Seq>& __x, const queue<_Tp, _Seq>& __y) { return !(__x < __y); } template inline void swap(queue<_Tp, _Seq>& __x, queue<_Tp, _Seq>& __y) noexcept(noexcept(__x.swap(__y))) { __x.swap(__y); } template struct uses_allocator, _Alloc> : public uses_allocator<_Seq, _Alloc>::type { }; # 368 "/usr/include/c++/5.0.0/bits/stl_queue.h" 3 template, typename _Compare = less > class priority_queue { typedef typename _Sequence::value_type _Sequence_value_type; public: typedef typename _Sequence::value_type value_type; typedef typename _Sequence::reference reference; typedef typename _Sequence::const_reference const_reference; typedef typename _Sequence::size_type size_type; typedef _Sequence container_type; protected: _Sequence c; _Compare comp; public: # 404 "/usr/include/c++/5.0.0/bits/stl_queue.h" 3 explicit priority_queue(const _Compare& __x, const _Sequence& __s) : c(__s), comp(__x) { std::make_heap(c.begin(), c.end(), comp); } explicit priority_queue(const _Compare& __x = _Compare(), _Sequence&& __s = _Sequence()) : c(std::move(__s)), comp(__x) { std::make_heap(c.begin(), c.end(), comp); } # 444 "/usr/include/c++/5.0.0/bits/stl_queue.h" 3 template priority_queue(_InputIterator __first, _InputIterator __last, const _Compare& __x, const _Sequence& __s) : c(__s), comp(__x) { ; c.insert(c.end(), __first, __last); std::make_heap(c.begin(), c.end(), comp); } template priority_queue(_InputIterator __first, _InputIterator __last, const _Compare& __x = _Compare(), _Sequence&& __s = _Sequence()) : c(std::move(__s)), comp(__x) { ; c.insert(c.end(), __first, __last); std::make_heap(c.begin(), c.end(), comp); } bool empty() const { return c.empty(); } size_type size() const { return c.size(); } const_reference top() const { ; return c.front(); } # 498 "/usr/include/c++/5.0.0/bits/stl_queue.h" 3 void push(const value_type& __x) { c.push_back(__x); std::push_heap(c.begin(), c.end(), comp); } void push(value_type&& __x) { c.push_back(std::move(__x)); std::push_heap(c.begin(), c.end(), comp); } template void emplace(_Args&&... __args) { c.emplace_back(std::forward<_Args>(__args)...); std::push_heap(c.begin(), c.end(), comp); } # 533 "/usr/include/c++/5.0.0/bits/stl_queue.h" 3 void pop() { ; std::pop_heap(c.begin(), c.end(), comp); c.pop_back(); } void swap(priority_queue& __pq) noexcept(noexcept(swap(c, __pq.c)) && noexcept(swap(comp, __pq.comp))) { using std::swap; swap(c, __pq.c); swap(comp, __pq.comp); } }; template inline void swap(priority_queue<_Tp, _Sequence, _Compare>& __x, priority_queue<_Tp, _Sequence, _Compare>& __y) noexcept(noexcept(__x.swap(__y))) { __x.swap(__y); } template struct uses_allocator, _Alloc> : public uses_allocator<_Sequence, _Alloc>::type { }; } # 65 "/usr/include/c++/5.0.0/queue" 2 3 # 4 "../../../dist/system_wrappers/queue" 2 3 #pragma GCC visibility pop # 11 "../../../dist/include/MediaTaskQueue.h" 2 # 1 "../../../dist/include/SharedThreadPool.h" 1 # 10 "../../../dist/include/SharedThreadPool.h" # 1 "../../../dist/system_wrappers/queue" 1 # 2 "../../../dist/system_wrappers/queue" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 11 "../../../dist/include/SharedThreadPool.h" 2 # 1 "../../../dist/include/nsIThreadPool.h" 1 # 25 "../../../dist/include/nsIThreadPool.h" # 25 "../../../dist/include/nsIThreadPool.h" class nsIThreadPoolListener : public nsISupports { public: template struct COMTypeInfo; virtual nsresult OnThreadCreated(void) = 0; virtual nsresult OnThreadShuttingDown(void) = 0; }; template struct nsIThreadPoolListener::COMTypeInfo { static const nsIID kIID __attribute__ ((visibility ("hidden"))); }; template const nsIID nsIThreadPoolListener::COMTypeInfo::kIID __attribute__ ((visibility ("hidden"))) = {0xef194cab, 0x3f86, 0x4b61, { 0xb1, 0x32, 0xe5, 0xe9, 0x6a, 0x79, 0xe5, 0xd1 }}; # 110 "../../../dist/include/nsIThreadPool.h" class nsIThreadPool : public nsIEventTarget { public: template struct COMTypeInfo; virtual nsresult Shutdown(void) = 0; virtual nsresult GetThreadLimit(uint32_t *aThreadLimit) = 0; virtual nsresult SetThreadLimit(uint32_t aThreadLimit) = 0; virtual nsresult GetIdleThreadLimit(uint32_t *aIdleThreadLimit) = 0; virtual nsresult SetIdleThreadLimit(uint32_t aIdleThreadLimit) = 0; virtual nsresult GetIdleThreadTimeout(uint32_t *aIdleThreadTimeout) = 0; virtual nsresult SetIdleThreadTimeout(uint32_t aIdleThreadTimeout) = 0; virtual nsresult GetThreadStackSize(uint32_t *aThreadStackSize) = 0; virtual nsresult SetThreadStackSize(uint32_t aThreadStackSize) = 0; virtual nsresult GetListener(nsIThreadPoolListener * *aListener) = 0; virtual nsresult SetListener(nsIThreadPoolListener *aListener) = 0; virtual nsresult SetName(const nsACString_internal & aName) = 0; }; template struct nsIThreadPool::COMTypeInfo { static const nsIID kIID __attribute__ ((visibility ("hidden"))); }; template const nsIID nsIThreadPool::COMTypeInfo::kIID __attribute__ ((visibility ("hidden"))) = {0x53675068, 0xcb3a, 0x40e5, { 0xa0, 0x26, 0x1b, 0xe5, 0xa9, 0x7c, 0x9b, 0x23 }}; # 14 "../../../dist/include/SharedThreadPool.h" 2 namespace mozilla { # 28 "../../../dist/include/SharedThreadPool.h" class SharedThreadPool : public nsIThreadPool { public: static TemporaryRef Get(const nsCString& aName, uint32_t aThreadLimit = 4); static void SpinUntilShutdown(); virtual nsresult QueryInterface(const nsIID& aIID, void** aInstancePtr) override; virtual MozExternalRefCountType AddRef(void) override; virtual MozExternalRefCountType Release(void) override; virtual nsresult Shutdown(void) override { return !mPool ? nsresult::NS_ERROR_NULL_POINTER : mPool->Shutdown(); } virtual nsresult GetThreadLimit(uint32_t *aThreadLimit) override { return !mPool ? nsresult::NS_ERROR_NULL_POINTER : mPool->GetThreadLimit(aThreadLimit); } virtual nsresult SetThreadLimit(uint32_t aThreadLimit) override { return !mPool ? nsresult::NS_ERROR_NULL_POINTER : mPool->SetThreadLimit(aThreadLimit); } virtual nsresult GetIdleThreadLimit(uint32_t *aIdleThreadLimit) override { return !mPool ? nsresult::NS_ERROR_NULL_POINTER : mPool->GetIdleThreadLimit(aIdleThreadLimit); } virtual nsresult SetIdleThreadLimit(uint32_t aIdleThreadLimit) override { return !mPool ? nsresult::NS_ERROR_NULL_POINTER : mPool->SetIdleThreadLimit(aIdleThreadLimit); } virtual nsresult GetIdleThreadTimeout(uint32_t *aIdleThreadTimeout) override { return !mPool ? nsresult::NS_ERROR_NULL_POINTER : mPool->GetIdleThreadTimeout(aIdleThreadTimeout); } virtual nsresult SetIdleThreadTimeout(uint32_t aIdleThreadTimeout) override { return !mPool ? nsresult::NS_ERROR_NULL_POINTER : mPool->SetIdleThreadTimeout(aIdleThreadTimeout); } virtual nsresult GetThreadStackSize(uint32_t *aThreadStackSize) override { return !mPool ? nsresult::NS_ERROR_NULL_POINTER : mPool->GetThreadStackSize(aThreadStackSize); } virtual nsresult SetThreadStackSize(uint32_t aThreadStackSize) override { return !mPool ? nsresult::NS_ERROR_NULL_POINTER : mPool->SetThreadStackSize(aThreadStackSize); } virtual nsresult GetListener(nsIThreadPoolListener * *aListener) override { return !mPool ? nsresult::NS_ERROR_NULL_POINTER : mPool->GetListener(aListener); } virtual nsresult SetListener(nsIThreadPoolListener *aListener) override { return !mPool ? nsresult::NS_ERROR_NULL_POINTER : mPool->SetListener(aListener); } virtual nsresult SetName(const nsACString_internal & aName) override { return !mPool ? nsresult::NS_ERROR_NULL_POINTER : mPool->SetName(aName); }; virtual nsresult Dispatch(nsIRunnable *event, uint32_t flags) override { return !mEventTarget ? nsresult::NS_ERROR_NULL_POINTER : mEventTarget->Dispatch(event, flags); } virtual nsresult IsOnCurrentThread(bool *_retval) override { return !mEventTarget ? nsresult::NS_ERROR_NULL_POINTER : mEventTarget->IsOnCurrentThread(_retval); }; private: static void EnsureInitialized(); SharedThreadPool(const nsCString& aName, nsIThreadPool* aPool); virtual ~SharedThreadPool(); nsresult EnsureThreadLimitIsAtLeast(uint32_t aThreadLimit); const nsCString mName; nsCOMPtr mPool; nsrefcnt mRefCnt; nsCOMPtr mEventTarget; }; } # 14 "../../../dist/include/MediaTaskQueue.h" 2 class nsIRunnable; namespace mozilla { class SharedThreadPool; typedef MediaPromise ShutdownPromise; class MediaTaskQueue final { ~MediaTaskQueue(); public: public: MozExternalRefCountType AddRef(void) { static_assert(!(std::is_destructible::value) || mozilla::HasDangerousPublicDestructor::value, "Reference-counted class " "MediaTaskQueue" " should not have a public destructor. " "Try to make this class's destructor non-public. If that is really " "not possible, you can whitelist this class by providing a " "HasDangerousPublicDestructor specialization for it."); static_assert(!mozilla::HasDangerousPublicDestructor::value || (std::is_destructible::value), "Class " "MediaTaskQueue" " has no public destructor. That's good! So please " "remove the HasDangerousPublicDestructor specialization for it."); do { } while (0); nsrefcnt count = ++mRefCnt; ; return (nsrefcnt) count; } MozExternalRefCountType Release(void) { do { } while (0); nsrefcnt count = --mRefCnt; ; if (count == 0) { delete (this); return 0; } return count; } protected: ::mozilla::ThreadSafeAutoRefCnt mRefCnt; public: explicit MediaTaskQueue(TemporaryRef aPool); nsresult Dispatch(TemporaryRef aRunnable); nsresult ForceDispatch(TemporaryRef aRunnable); nsresult SyncDispatch(TemporaryRef aRunnable); nsresult FlushAndDispatch(TemporaryRef aRunnable); void Flush(); nsRefPtr BeginShutdown(); void AwaitIdle(); void AwaitShutdownAndIdle(); bool IsEmpty(); bool IsCurrentThreadIn(); private: void AwaitIdleLocked(); enum DispatchMode { AbortIfFlushing, IgnoreFlushing, Forced }; nsresult DispatchLocked(TemporaryRef aRunnable, DispatchMode aMode); void FlushLocked(); RefPtr mPool; Monitor mQueueMonitor; struct TaskQueueEntry { RefPtr mRunnable; bool mForceDispatch; explicit TaskQueueEntry(TemporaryRef aRunnable, bool aForceDispatch = false) : mRunnable(aRunnable), mForceDispatch(aForceDispatch) {} }; std::queue mTasks; RefPtr mRunningThread; bool mIsRunning; bool mIsShutdown; MediaPromiseHolder mShutdownPromise; class AutoSetFlushing { public: explicit AutoSetFlushing(MediaTaskQueue* aTaskQueue) : mTaskQueue(aTaskQueue) { mTaskQueue->mQueueMonitor.AssertCurrentThreadOwns(); mTaskQueue->mIsFlushing = true; } ~AutoSetFlushing() { mTaskQueue->mQueueMonitor.AssertCurrentThreadOwns(); mTaskQueue->mIsFlushing = false; } private: MediaTaskQueue* mTaskQueue; }; bool mIsFlushing; class Runner : public nsRunnable { public: explicit Runner(MediaTaskQueue* aQueue) : mQueue(aQueue) { } nsresult Run() override; private: RefPtr mQueue; }; }; } # 14 "../../../dist/include/MediaQueue.h" 2 namespace mozilla { template class MediaQueueDeallocator : public nsDequeFunctor { virtual void* operator() (void* aObject) { nsRefPtr releaseMe = dont_AddRef(static_cast(aObject)); return nullptr; } }; template class MediaQueue : private nsDeque { public: MediaQueue() : nsDeque(new MediaQueueDeallocator()), mReentrantMonitor("mediaqueue"), mEndOfStream(false) {} ~MediaQueue() { Reset(); } inline int32_t GetSize() { ReentrantMonitorAutoEnter mon(mReentrantMonitor); return nsDeque::GetSize(); } inline void Push(T* aItem) { ReentrantMonitorAutoEnter mon(mReentrantMonitor); do { } while (0); (aItem)->AddRef(); nsDeque::Push(aItem); } inline void PushFront(T* aItem) { ReentrantMonitorAutoEnter mon(mReentrantMonitor); do { } while (0); (aItem)->AddRef(); nsDeque::PushFront(aItem); } inline already_AddRefed PopFront() { ReentrantMonitorAutoEnter mon(mReentrantMonitor); nsRefPtr rv = dont_AddRef(static_cast(nsDeque::PopFront())); if (rv) { NotifyPopListeners(); } return rv.forget(); } inline T* Peek() { ReentrantMonitorAutoEnter mon(mReentrantMonitor); return static_cast(nsDeque::Peek()); } inline T* PeekFront() { ReentrantMonitorAutoEnter mon(mReentrantMonitor); return static_cast(nsDeque::PeekFront()); } inline void Empty() { ReentrantMonitorAutoEnter mon(mReentrantMonitor); nsDeque::Empty(); } void Reset() { ReentrantMonitorAutoEnter mon(mReentrantMonitor); while (GetSize() > 0) { nsRefPtr x = PopFront(); } mEndOfStream = false; } bool AtEndOfStream() { ReentrantMonitorAutoEnter mon(mReentrantMonitor); return GetSize() == 0 && mEndOfStream; } bool IsFinished() { ReentrantMonitorAutoEnter mon(mReentrantMonitor); return mEndOfStream; } void Finish() { ReentrantMonitorAutoEnter mon(mReentrantMonitor); mEndOfStream = true; } int64_t Duration() { ReentrantMonitorAutoEnter mon(mReentrantMonitor); if (GetSize() < 2) { return 0; } T* last = Peek(); T* first = PeekFront(); return last->mTime - first->mTime; } void LockedForEach(nsDequeFunctor& aFunctor) const { ReentrantMonitorAutoEnter mon(mReentrantMonitor); ForEach(aFunctor); } void GetElementsAfter(int64_t aTime, nsTArray>* aResult) { ReentrantMonitorAutoEnter mon(mReentrantMonitor); if (!GetSize()) return; int32_t i; for (i = GetSize() - 1; i > 0; --i) { T* v = static_cast(ObjectAt(i)); if (v->GetEndTime() < aTime) break; } for (; i < GetSize(); ++i) { nsRefPtr elem = static_cast(ObjectAt(i)); aResult->AppendElement(elem); } } uint32_t FrameCount() { ReentrantMonitorAutoEnter mon(mReentrantMonitor); uint32_t frames = 0; for (int32_t i = 0; i < GetSize(); ++i) { T* v = static_cast(ObjectAt(i)); frames += v->mFrames; } return frames; } void ClearListeners() { ReentrantMonitorAutoEnter mon(mReentrantMonitor); mPopListeners.Clear(); } void AddPopListener(nsIRunnable* aRunnable, MediaTaskQueue* aTaskQueue) { ReentrantMonitorAutoEnter mon(mReentrantMonitor); mPopListeners.AppendElement(Listener(aRunnable, aTaskQueue)); } private: mutable ReentrantMonitor mReentrantMonitor; struct Listener { Listener(nsIRunnable* aRunnable, MediaTaskQueue* aTaskQueue) : mRunnable(aRunnable) , mTarget(aTaskQueue) { } Listener(const Listener& aOther) : mRunnable(aOther.mRunnable) , mTarget(aOther.mTarget) { } RefPtr mRunnable; RefPtr mTarget; }; nsTArray mPopListeners; void NotifyPopListeners() { for (uint32_t i = 0; i < mPopListeners.Length(); i++) { Listener& l = mPopListeners[i]; l.mTarget->Dispatch(l.mRunnable); } } bool mEndOfStream; }; } # 14 "../../../dist/include/MediaDecoderReader.h" 2 # 1 "../../../dist/include/AudioCompactor.h" 1 # 11 "../../../dist/include/AudioCompactor.h" # 1 "../../../dist/include/VideoUtils.h" 1 # 21 "../../../dist/include/VideoUtils.h" # 1 "../../../dist/system_wrappers/prtime.h" 1 # 2 "../../../dist/system_wrappers/prtime.h" 3 #pragma GCC visibility push(default) # 1 "/usr/include/nspr4/prtime.h" 1 3 # 19 "/usr/include/nspr4/prtime.h" 3 # 1 "/usr/include/nspr4/prlong.h" 1 3 # 19 "/usr/include/nspr4/prlong.h" 3 # 19 "/usr/include/nspr4/prlong.h" 3 extern "C" { # 30 "/usr/include/nspr4/prlong.h" 3 extern __attribute__((visibility("default"))) PRInt64 LL_MaxInt(void); extern __attribute__((visibility("default"))) PRInt64 LL_MinInt(void); extern __attribute__((visibility("default"))) PRInt64 LL_Zero(void); extern __attribute__((visibility("default"))) PRUint64 LL_MaxUint(void); # 401 "/usr/include/nspr4/prlong.h" 3 } # 20 "/usr/include/nspr4/prtime.h" 2 3 extern "C" { # 48 "/usr/include/nspr4/prtime.h" 3 typedef PRInt64 PRTime; typedef struct PRTimeParameters { PRInt32 tp_gmt_offset; PRInt32 tp_dst_offset; } PRTimeParameters; # 83 "/usr/include/nspr4/prtime.h" 3 typedef struct PRExplodedTime { PRInt32 tm_usec; PRInt32 tm_sec; PRInt32 tm_min; PRInt32 tm_hour; PRInt32 tm_mday; PRInt32 tm_month; PRInt16 tm_year; PRInt8 tm_wday; PRInt16 tm_yday; PRTimeParameters tm_params; } PRExplodedTime; # 126 "/usr/include/nspr4/prtime.h" 3 typedef PRTimeParameters ( *PRTimeParamFn)(const PRExplodedTime *gmt); # 145 "/usr/include/nspr4/prtime.h" 3 extern __attribute__((visibility("default"))) PRTime PR_Now(void); # 158 "/usr/include/nspr4/prtime.h" 3 extern __attribute__((visibility("default"))) void PR_ExplodeTime( PRTime usecs, PRTimeParamFn params, PRExplodedTime *exploded); extern __attribute__((visibility("default"))) PRTime PR_ImplodeTime(const PRExplodedTime *exploded); # 177 "/usr/include/nspr4/prtime.h" 3 extern __attribute__((visibility("default"))) void PR_NormalizeTime( PRExplodedTime *exploded, PRTimeParamFn params); extern __attribute__((visibility("default"))) PRTimeParameters PR_LocalTimeParameters(const PRExplodedTime *gmt); extern __attribute__((visibility("default"))) PRTimeParameters PR_GMTParameters(const PRExplodedTime *gmt); extern __attribute__((visibility("default"))) PRTimeParameters PR_USPacificTimeParameters(const PRExplodedTime *gmt); # 231 "/usr/include/nspr4/prtime.h" 3 extern __attribute__((visibility("default"))) PRStatus PR_ParseTimeStringToExplodedTime ( const char *string, PRBool default_to_gmt, PRExplodedTime *result); # 244 "/usr/include/nspr4/prtime.h" 3 extern __attribute__((visibility("default"))) PRStatus PR_ParseTimeString ( const char *string, PRBool default_to_gmt, PRTime *result); extern __attribute__((visibility("default"))) PRUint32 PR_FormatTime(char *buf, int buflen, const char *fmt, const PRExplodedTime *tm); extern __attribute__((visibility("default"))) PRUint32 PR_FormatTimeUSEnglish( char* buf, PRUint32 bufSize, const char* format, const PRExplodedTime* tm ); } # 4 "../../../dist/system_wrappers/prtime.h" 2 3 #pragma GCC visibility pop # 22 "../../../dist/include/VideoUtils.h" 2 # 25 "../../../dist/include/VideoUtils.h" using mozilla::CheckedInt64; using mozilla::CheckedUint64; using mozilla::CheckedInt32; using mozilla::CheckedUint32; struct nsIntSize; struct nsIntRect; # 40 "../../../dist/include/VideoUtils.h" namespace mozilla { # 49 "../../../dist/include/VideoUtils.h" class ReentrantMonitorConditionallyEnter { public: ReentrantMonitorConditionallyEnter(bool aEnter, ReentrantMonitor &aReentrantMonitor) : mReentrantMonitor(nullptr) { ; if (aEnter) { mReentrantMonitor = &aReentrantMonitor; do { } while(0); mReentrantMonitor->Enter(); } } ~ReentrantMonitorConditionallyEnter(void) { if (mReentrantMonitor) { mReentrantMonitor->Exit(); } ; } private: ReentrantMonitorConditionallyEnter(); ReentrantMonitorConditionallyEnter(const ReentrantMonitorConditionallyEnter&); ReentrantMonitorConditionallyEnter& operator =(const ReentrantMonitorConditionallyEnter&); static void* operator new(size_t) throw(); static void operator delete(void*); ReentrantMonitor* mReentrantMonitor; }; class ShutdownThreadEvent : public nsRunnable { public: explicit ShutdownThreadEvent(nsIThread* aThread) : mThread(aThread) {} ~ShutdownThreadEvent() {} virtual nsresult Run() override { mThread->Shutdown(); mThread = nullptr; return nsresult::NS_OK; } private: nsCOMPtr mThread; }; template class DeleteObjectTask: public nsRunnable { public: explicit DeleteObjectTask(nsAutoPtr& aObject) : mObject(aObject) { } virtual nsresult Run() { do { } while(0); mObject = nullptr; return nsresult::NS_OK; } private: nsAutoPtr mObject; }; template void DeleteOnMainThread(nsAutoPtr& aObject) { NS_DispatchToMainThread(new DeleteObjectTask(aObject)); } class MediaResource; namespace dom { class TimeRanges; } void GetEstimatedBufferedTimeRanges(mozilla::MediaResource* aStream, int64_t aDurationUsecs, mozilla::dom::TimeRanges* aOutBuffered); CheckedInt64 FramesToUsecs(int64_t aFrames, uint32_t aRate); CheckedInt64 UsecsToFrames(int64_t aUsecs, uint32_t aRate); static const int64_t USECS_PER_S = 1000000; static const int64_t USECS_PER_MS = 1000; nsresult SecondsToUsecs(double aSeconds, int64_t& aOutUsecs); static const int32_t MAX_VIDEO_WIDTH = 4000; static const int32_t MAX_VIDEO_HEIGHT = 3000; void ScaleDisplayByAspectRatio(nsIntSize& aDisplay, float aAspectRatio); # 185 "../../../dist/include/VideoUtils.h" int DownmixAudioToStereo(mozilla::AudioDataValue* buffer, int channels, uint32_t frames); bool IsVideoContentType(const nsCString& aContentType); bool IsValidVideoRegion(const nsIntSize& aFrame, const nsIntRect& aPicture, const nsIntSize& aDisplay); template class AutoSetOnScopeExit { public: AutoSetOnScopeExit(T& aVar, T aValue) : mVar(aVar) , mValue(aValue) {} ~AutoSetOnScopeExit() { mVar = mValue; } private: T& mVar; const T mValue; }; class SharedThreadPool; TemporaryRef GetMediaDecodeThreadPool(); enum H264_PROFILE { H264_PROFILE_UNKNOWN = 0, H264_PROFILE_BASE = 0x42, H264_PROFILE_MAIN = 0x4D, H264_PROFILE_EXTENDED = 0x58, H264_PROFILE_HIGH = 0x64, }; enum H264_LEVEL { H264_LEVEL_1 = 10, H264_LEVEL_1_b = 11, H264_LEVEL_1_1 = 11, H264_LEVEL_1_2 = 12, H264_LEVEL_1_3 = 13, H264_LEVEL_2 = 20, H264_LEVEL_2_1 = 21, H264_LEVEL_2_2 = 22, H264_LEVEL_3 = 30, H264_LEVEL_3_1 = 31, H264_LEVEL_3_2 = 32, H264_LEVEL_4 = 40, H264_LEVEL_4_1 = 41, H264_LEVEL_4_2 = 42, H264_LEVEL_5 = 50, H264_LEVEL_5_1 = 51, H264_LEVEL_5_2 = 52 }; bool ExtractH264CodecDetails(const nsAString_internal& aCodecs, int16_t& aProfile, int16_t& aLevel); nsresult GenerateRandomPathName(nsCString& aOutSalt, uint32_t aLength); class MediaTaskQueue; already_AddRefed CreateMediaDecodeTaskQueue(); } # 12 "../../../dist/include/AudioCompactor.h" 2 namespace mozilla { class AudioCompactor { public: explicit AudioCompactor(MediaQueue& aQueue) : mQueue(aQueue) { } # 34 "../../../dist/include/AudioCompactor.h" template bool Push(int64_t aOffset, int64_t aTime, int32_t aSampleRate, uint32_t aFrames, uint32_t aChannels, CopyFunc aCopyFunc) { size_t maxSlop = AudioDataSize(aFrames, aChannels) / MAX_SLOP_DIVISOR; while (aFrames > 0) { uint32_t samples = GetChunkSamples(aFrames, aChannels, maxSlop); nsAutoArrayPtr buffer(new AudioDataValue[samples]); uint32_t framesCopied = aCopyFunc(buffer, samples); do { } while(0); CheckedInt64 duration = FramesToUsecs(framesCopied, aSampleRate); if (!duration.isValid()) { return false; } mQueue.Push(new AudioData(aOffset, aTime, duration.value(), framesCopied, buffer.forget(), aChannels, aSampleRate)); aTime += duration.value(); aFrames -= framesCopied; } return true; } class NativeCopy { public: NativeCopy(const uint8_t* aSource, size_t aSourceBytes, uint32_t aChannels) : mSource(aSource) , mSourceBytes(aSourceBytes) , mChannels(aChannels) , mNextByte(0) { } uint32_t operator()(AudioDataValue *aBuffer, uint32_t aSamples); private: const uint8_t* const mSource; const size_t mSourceBytes; const uint32_t mChannels; size_t mNextByte; }; static const size_t MAX_SLOP_DIVISOR = 8; private: static uint32_t GetChunkSamples(uint32_t aFrames, uint32_t aChannels, size_t aMaxSlop); static size_t BytesPerFrame(uint32_t aChannels) { return sizeof(AudioDataValue) * aChannels; } static size_t AudioDataSize(uint32_t aFrames, uint32_t aChannels) { return aFrames * BytesPerFrame(aChannels); } MediaQueue &mQueue; }; } # 15 "../../../dist/include/MediaDecoderReader.h" 2 namespace mozilla { namespace dom { class TimeRanges; } class MediaDecoderReader; class SharedDecoderManager; struct WaitForDataRejectValue { enum Reason { SHUTDOWN }; WaitForDataRejectValue(MediaData::Type aType, Reason aReason) :mType(aType), mReason(aReason) {} MediaData::Type mType; Reason mReason; }; class MediaDecoderReader { public: enum NotDecodedReason { END_OF_STREAM, DECODE_ERROR, WAITING_FOR_DATA, CANCELED }; typedef MediaPromise, NotDecodedReason> AudioDataPromise; typedef MediaPromise, NotDecodedReason> VideoDataPromise; typedef MediaPromise SeekPromise; typedef MediaPromise WaitForDataPromise; public: MozExternalRefCountType AddRef(void) { static_assert(!(std::is_destructible::value) || mozilla::HasDangerousPublicDestructor::value, "Reference-counted class " "MediaDecoderReader" " should not have a public destructor. " "Try to make this class's destructor non-public. If that is really " "not possible, you can whitelist this class by providing a " "HasDangerousPublicDestructor specialization for it."); static_assert(!mozilla::HasDangerousPublicDestructor::value || (std::is_destructible::value), "Class " "MediaDecoderReader" " has no public destructor. That's good! So please " "remove the HasDangerousPublicDestructor specialization for it."); do { } while (0); nsrefcnt count = ++mRefCnt; ; return (nsrefcnt) count; } MozExternalRefCountType Release(void) { do { } while (0); nsrefcnt count = --mRefCnt; ; if (count == 0) { delete (this); return 0; } return count; } protected: ::mozilla::ThreadSafeAutoRefCnt mRefCnt; public: explicit MediaDecoderReader(AbstractMediaDecoder* aDecoder); virtual nsresult Init(MediaDecoderReader* aCloneDonor) = 0; virtual bool IsWaitingMediaResources() { return false; } virtual bool IsWaitingOnCDMResource() { return false; } virtual bool IsDormantNeeded() { return false; } virtual void ReleaseMediaResources() {}; virtual void SetSharedDecoderManager(SharedDecoderManager* aManager) {} virtual void BreakCycles(); virtual nsRefPtr Shutdown(); MediaTaskQueue* EnsureTaskQueue(); virtual bool OnDecodeThread() { return !GetTaskQueue() || GetTaskQueue()->IsCurrentThreadIn(); } void SetBorrowedTaskQueue(MediaTaskQueue* aTaskQueue) { do { } while (0); mTaskQueue = aTaskQueue; mTaskQueueIsBorrowed = true; } # 111 "../../../dist/include/MediaDecoderReader.h" virtual nsresult ResetDecode(); virtual nsRefPtr RequestAudioData(); virtual nsRefPtr RequestVideoData(bool aSkipToNextKeyframe, int64_t aTimeThreshold); virtual bool IsWaitForDataSupported() { return false; } virtual nsRefPtr WaitForData(MediaData::Type aType) { do { *((volatile int*) # 134 "../../../dist/include/MediaDecoderReader.h" 3 4 __null # 134 "../../../dist/include/MediaDecoderReader.h" ) = 134; ::abort(); } while (0); } virtual bool HasAudio() = 0; virtual bool HasVideo() = 0; virtual void PreReadMetadata() {}; virtual nsresult ReadMetadata(MediaInfo* aInfo, MetadataTags** aTags) = 0; virtual void ReadUpdatedMetadata(MediaInfo* aInfo) { }; virtual nsRefPtr Seek(int64_t aTime, int64_t aEndTime) = 0; # 166 "../../../dist/include/MediaDecoderReader.h" virtual void CancelSeek() { }; # 178 "../../../dist/include/MediaDecoderReader.h" virtual void SetIdle() { } void SetIgnoreAudioOutputFormat() { mIgnoreAudioOutputFormat = true; } # 202 "../../../dist/include/MediaDecoderReader.h" virtual nsresult GetBuffered(dom::TimeRanges* aBuffered); virtual int64_t ComputeStartTime(const VideoData* aVideo, const AudioData* aAudio); virtual bool UseBufferingHeuristics() { return true; } size_t SizeOfVideoQueueInBytes() const; size_t SizeOfAudioQueueInBytes() const; virtual size_t SizeOfVideoQueueInFrames(); virtual size_t SizeOfAudioQueueInFrames(); virtual void NotifyDataArrived(const char* aBuffer, uint32_t aLength, int64_t aOffset) {} virtual int64_t GetEvictionOffset(double aTime) { return -1; } virtual MediaQueue& AudioQueue() { return mAudioQueue; } virtual MediaQueue& VideoQueue() { return mVideoQueue; } AbstractMediaDecoder* GetDecoder() { return mDecoder; } VideoData* DecodeToFirstVideoData(); MediaInfo GetMediaInfo() { return mInfo; } virtual bool IsMediaSeekable() = 0; void SetStartTime(int64_t aStartTime); MediaTaskQueue* GetTaskQueue() { return mTaskQueue; } void ClearDecoder() { mDecoder = nullptr; } virtual bool IsAsync() const { return false; } protected: virtual ~MediaDecoderReader(); virtual bool DecodeAudioData() { return false; } virtual bool DecodeVideoFrame(bool &aKeyframeSkip, int64_t aTimeThreshold) { return false; } MediaQueue mAudioQueue; MediaQueue mVideoQueue; AudioCompactor mAudioCompactor; AbstractMediaDecoder* mDecoder; MediaInfo mInfo; bool mIgnoreAudioOutputFormat; int64_t mStartTime; bool mHitAudioDecodeError; bool mShutdown; private: MediaPromiseHolder mBaseAudioPromise; MediaPromiseHolder mBaseVideoPromise; nsRefPtr mTaskQueue; bool mTaskQueueIsBorrowed; bool mAudioDiscontinuity; bool mVideoDiscontinuity; }; } # 15 "/builddir/build/BUILD/firefox-36.0/mozilla-release/dom/media/ogg/OggCodecState.cpp" 2 # 1 "/builddir/build/BUILD/firefox-36.0/mozilla-release/dom/media/ogg/OggCodecState.h" 1 # 9 "/builddir/build/BUILD/firefox-36.0/mozilla-release/dom/media/ogg/OggCodecState.h" # 1 "../../../dist/include/ogg/ogg.h" 1 # 21 "../../../dist/include/ogg/ogg.h" extern "C" { # 1 "../../../dist/system_wrappers/stddef.h" 1 # 2 "../../../dist/system_wrappers/stddef.h" 3 #pragma GCC visibility push(default) # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/stddef.h" 1 3 4 # 4 "../../../dist/system_wrappers/stddef.h" 2 3 #pragma GCC visibility pop # 25 "../../../dist/include/ogg/ogg.h" 2 # 1 "../../../dist/include/ogg/os_types.h" 1 # 20 "../../../dist/include/ogg/os_types.h" # 1 "../../../dist/system_wrappers/stddef.h" 1 # 2 "../../../dist/system_wrappers/stddef.h" 3 #pragma GCC visibility push(default) # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/stddef.h" 1 3 4 # 4 "../../../dist/system_wrappers/stddef.h" 2 3 #pragma GCC visibility pop # 21 "../../../dist/include/ogg/os_types.h" 2 extern "C" { typedef void* (ogg_malloc_function_type)(size_t); typedef void* (ogg_calloc_function_type)(size_t, size_t); typedef void* (ogg_realloc_function_type)(void*, size_t); typedef void (ogg_free_function_type)(void*); extern ogg_malloc_function_type *ogg_malloc_func; extern ogg_calloc_function_type *ogg_calloc_func; extern ogg_realloc_function_type *ogg_realloc_func; extern ogg_free_function_type *ogg_free_func; } # 174 "../../../dist/include/ogg/os_types.h" # 1 "../../../dist/include/ogg/config_types.h" 1 # 10 "../../../dist/include/ogg/config_types.h" # 1 "../../../dist/system_wrappers/inttypes.h" 1 # 2 "../../../dist/system_wrappers/inttypes.h" 3 #pragma GCC visibility push(default) # 1 "/usr/include/inttypes.h" 1 3 4 # 25 "/usr/include/inttypes.h" 3 4 # 1 "../../../dist/system_wrappers/features.h" 1 3 4 # 2 "../../../dist/system_wrappers/features.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 26 "/usr/include/inttypes.h" 2 3 4 # 1 "../../../dist/system_wrappers/stdint.h" 1 3 4 # 2 "../../../dist/system_wrappers/stdint.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 28 "/usr/include/inttypes.h" 2 3 4 # 266 "/usr/include/inttypes.h" 3 4 # 266 "/usr/include/inttypes.h" 3 4 extern "C" { # 280 "/usr/include/inttypes.h" 3 4 typedef struct { __extension__ long long int quot; __extension__ long long int rem; } imaxdiv_t; extern intmax_t imaxabs (intmax_t __n) throw () __attribute__ ((__const__)); extern imaxdiv_t imaxdiv (intmax_t __numer, intmax_t __denom) throw () __attribute__ ((__const__)); extern intmax_t strtoimax (const char *__restrict __nptr, char **__restrict __endptr, int __base) throw (); extern uintmax_t strtoumax (const char *__restrict __nptr, char ** __restrict __endptr, int __base) throw (); extern intmax_t wcstoimax (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) throw (); extern uintmax_t wcstoumax (const wchar_t *__restrict __nptr, wchar_t ** __restrict __endptr, int __base) throw (); # 432 "/usr/include/inttypes.h" 3 4 } # 4 "../../../dist/system_wrappers/inttypes.h" 2 3 #pragma GCC visibility pop # 11 "../../../dist/include/ogg/config_types.h" 2 # 1 "../../../dist/system_wrappers/stdint.h" 1 # 2 "../../../dist/system_wrappers/stdint.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 14 "../../../dist/include/ogg/config_types.h" 2 # 1 "../../../dist/system_wrappers/sys/types.h" 1 # 2 "../../../dist/system_wrappers/sys/types.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 17 "../../../dist/include/ogg/config_types.h" 2 # 19 "../../../dist/include/ogg/config_types.h" typedef short ogg_int16_t; typedef unsigned short ogg_uint16_t; typedef int ogg_int32_t; typedef unsigned int ogg_uint32_t; typedef long long ogg_int64_t; # 175 "../../../dist/include/ogg/os_types.h" 2 # 26 "../../../dist/include/ogg/ogg.h" 2 typedef struct { void *iov_base; size_t iov_len; } ogg_iovec_t; typedef struct { long endbyte; int endbit; unsigned char *buffer; unsigned char *ptr; long storage; } oggpack_buffer; typedef struct { unsigned char *header; long header_len; unsigned char *body; long body_len; } ogg_page; typedef struct { unsigned char *body_data; long body_storage; long body_fill; long body_returned; int *lacing_vals; ogg_int64_t *granule_vals; long lacing_storage; long lacing_fill; long lacing_packet; long lacing_returned; unsigned char header[282]; int header_fill; int e_o_s; int b_o_s; long serialno; long pageno; ogg_int64_t packetno; ogg_int64_t granulepos; } ogg_stream_state; typedef struct { unsigned char *packet; long bytes; long b_o_s; long e_o_s; ogg_int64_t granulepos; ogg_int64_t packetno; } ogg_packet; typedef struct { unsigned char *data; int storage; int fill; int returned; int unsynced; int headerbytes; int bodybytes; } ogg_sync_state; extern void oggpack_writeinit(oggpack_buffer *b); extern int oggpack_writecheck(oggpack_buffer *b); extern void oggpack_writetrunc(oggpack_buffer *b,long bits); extern void oggpack_writealign(oggpack_buffer *b); extern void oggpack_writecopy(oggpack_buffer *b,void *source,long bits); extern void oggpack_reset(oggpack_buffer *b); extern void oggpack_writeclear(oggpack_buffer *b); extern void oggpack_readinit(oggpack_buffer *b,unsigned char *buf,int bytes); extern void oggpack_write(oggpack_buffer *b,unsigned long value,int bits); extern long oggpack_look(oggpack_buffer *b,int bits); extern long oggpack_look1(oggpack_buffer *b); extern void oggpack_adv(oggpack_buffer *b,int bits); extern void oggpack_adv1(oggpack_buffer *b); extern long oggpack_read(oggpack_buffer *b,int bits); extern long oggpack_read1(oggpack_buffer *b); extern long oggpack_bytes(oggpack_buffer *b); extern long oggpack_bits(oggpack_buffer *b); extern unsigned char *oggpack_get_buffer(oggpack_buffer *b); extern void oggpackB_writeinit(oggpack_buffer *b); extern int oggpackB_writecheck(oggpack_buffer *b); extern void oggpackB_writetrunc(oggpack_buffer *b,long bits); extern void oggpackB_writealign(oggpack_buffer *b); extern void oggpackB_writecopy(oggpack_buffer *b,void *source,long bits); extern void oggpackB_reset(oggpack_buffer *b); extern void oggpackB_writeclear(oggpack_buffer *b); extern void oggpackB_readinit(oggpack_buffer *b,unsigned char *buf,int bytes); extern void oggpackB_write(oggpack_buffer *b,unsigned long value,int bits); extern long oggpackB_look(oggpack_buffer *b,int bits); extern long oggpackB_look1(oggpack_buffer *b); extern void oggpackB_adv(oggpack_buffer *b,int bits); extern void oggpackB_adv1(oggpack_buffer *b); extern long oggpackB_read(oggpack_buffer *b,int bits); extern long oggpackB_read1(oggpack_buffer *b); extern long oggpackB_bytes(oggpack_buffer *b); extern long oggpackB_bits(oggpack_buffer *b); extern unsigned char *oggpackB_get_buffer(oggpack_buffer *b); extern int ogg_stream_packetin(ogg_stream_state *os, ogg_packet *op); extern int ogg_stream_iovecin(ogg_stream_state *os, ogg_iovec_t *iov, int count, long e_o_s, ogg_int64_t granulepos); extern int ogg_stream_pageout(ogg_stream_state *os, ogg_page *og); extern int ogg_stream_pageout_fill(ogg_stream_state *os, ogg_page *og, int nfill); extern int ogg_stream_flush(ogg_stream_state *os, ogg_page *og); extern int ogg_stream_flush_fill(ogg_stream_state *os, ogg_page *og, int nfill); extern int ogg_sync_init(ogg_sync_state *oy); extern int ogg_sync_clear(ogg_sync_state *oy); extern int ogg_sync_reset(ogg_sync_state *oy); extern int ogg_sync_destroy(ogg_sync_state *oy); extern int ogg_sync_check(ogg_sync_state *oy); extern char *ogg_sync_buffer(ogg_sync_state *oy, long size); extern int ogg_sync_wrote(ogg_sync_state *oy, long bytes); extern long ogg_sync_pageseek(ogg_sync_state *oy,ogg_page *og); extern int ogg_sync_pageout(ogg_sync_state *oy, ogg_page *og); extern int ogg_stream_pagein(ogg_stream_state *os, ogg_page *og); extern int ogg_stream_packetout(ogg_stream_state *os,ogg_packet *op); extern int ogg_stream_packetpeek(ogg_stream_state *os,ogg_packet *op); extern int ogg_stream_init(ogg_stream_state *os,int serialno); extern int ogg_stream_clear(ogg_stream_state *os); extern int ogg_stream_reset(ogg_stream_state *os); extern int ogg_stream_reset_serialno(ogg_stream_state *os,int serialno); extern int ogg_stream_destroy(ogg_stream_state *os); extern int ogg_stream_check(ogg_stream_state *os); extern int ogg_stream_eos(ogg_stream_state *os); extern void ogg_page_checksum_set(ogg_page *og); extern int ogg_page_version(const ogg_page *og); extern int ogg_page_continued(const ogg_page *og); extern int ogg_page_bos(const ogg_page *og); extern int ogg_page_eos(const ogg_page *og); extern ogg_int64_t ogg_page_granulepos(const ogg_page *og); extern int ogg_page_serialno(const ogg_page *og); extern long ogg_page_pageno(const ogg_page *og); extern int ogg_page_packets(const ogg_page *og); extern void ogg_packet_clear(ogg_packet *op); extern void ogg_set_mem_functions(ogg_malloc_function_type *malloc_func, ogg_calloc_function_type *calloc_func, ogg_realloc_function_type *realloc_func, ogg_free_function_type *free_func); } # 10 "/builddir/build/BUILD/firefox-36.0/mozilla-release/dom/media/ogg/OggCodecState.h" 2 # 1 "../../../dist/include/theora/theoradec.h" 1 # 23 "../../../dist/include/theora/theoradec.h" # 1 "../../../dist/system_wrappers/stddef.h" 1 # 2 "../../../dist/system_wrappers/stddef.h" 3 #pragma GCC visibility push(default) # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/stddef.h" 1 3 4 # 4 "../../../dist/system_wrappers/stddef.h" 2 3 #pragma GCC visibility pop # 24 "../../../dist/include/theora/theoradec.h" 2 # 1 "../../../dist/include/theora/codec.h" 1 # 67 "../../../dist/include/theora/codec.h" extern "C" { # 98 "../../../dist/include/theora/codec.h" typedef enum{ TH_CS_UNSPECIFIED, TH_CS_ITU_REC_470M, TH_CS_ITU_REC_470BG, TH_CS_NSPACES }th_colorspace; typedef enum{ TH_PF_420, TH_PF_RSVD, TH_PF_422, TH_PF_444, TH_PF_NFORMATS }th_pixel_fmt; # 142 "../../../dist/include/theora/codec.h" typedef struct{ int width; int height; int stride; unsigned char *data; }th_img_plane; # 168 "../../../dist/include/theora/codec.h" typedef th_img_plane th_ycbcr_buffer[3]; # 204 "../../../dist/include/theora/codec.h" typedef struct{ unsigned char version_major; unsigned char version_minor; unsigned char version_subminor; ogg_uint32_t frame_width; ogg_uint32_t frame_height; ogg_uint32_t pic_width; ogg_uint32_t pic_height; ogg_uint32_t pic_x; ogg_uint32_t pic_y; ogg_uint32_t fps_numerator; ogg_uint32_t fps_denominator; # 252 "../../../dist/include/theora/codec.h" ogg_uint32_t aspect_numerator; ogg_uint32_t aspect_denominator; th_colorspace colorspace; th_pixel_fmt pixel_fmt; int target_bitrate; # 282 "../../../dist/include/theora/codec.h" int quality; # 296 "../../../dist/include/theora/codec.h" int keyframe_granule_shift; }th_info; # 323 "../../../dist/include/theora/codec.h" typedef struct th_comment{ char **user_comments; int *comment_lengths; int comments; char *vendor; }th_comment; typedef unsigned char th_quant_base[64]; typedef struct{ int nranges; const int *sizes; const th_quant_base *base_matrices; }th_quant_ranges; # 409 "../../../dist/include/theora/codec.h" typedef struct{ ogg_uint16_t dc_scale[64]; ogg_uint16_t ac_scale[64]; unsigned char loop_filter_limits[64]; th_quant_ranges qi_ranges[2][3]; }th_quant_info; # 438 "../../../dist/include/theora/codec.h" typedef struct{ ogg_uint32_t pattern; int nbits; }th_huff_code; # 456 "../../../dist/include/theora/codec.h" extern const char *th_version_string(void); # 466 "../../../dist/include/theora/codec.h" extern ogg_uint32_t th_version_number(void); # 476 "../../../dist/include/theora/codec.h" extern ogg_int64_t th_granule_frame(void *_encdec,ogg_int64_t _granpos); # 488 "../../../dist/include/theora/codec.h" extern double th_granule_time(void *_encdec,ogg_int64_t _granpos); # 498 "../../../dist/include/theora/codec.h" extern int th_packet_isheader(ogg_packet *_op); # 509 "../../../dist/include/theora/codec.h" extern int th_packet_iskeyframe(ogg_packet *_op); # 519 "../../../dist/include/theora/codec.h" extern void th_info_init(th_info *_info); extern void th_info_clear(th_info *_info); extern void th_comment_init(th_comment *_tc); # 540 "../../../dist/include/theora/codec.h" extern void th_comment_add(th_comment *_tc, char *_comment); # 551 "../../../dist/include/theora/codec.h" extern void th_comment_add_tag(th_comment *_tc,char *_tag,char *_val); # 567 "../../../dist/include/theora/codec.h" extern char *th_comment_query(th_comment *_tc,char *_tag,int _count); extern int th_comment_query_count(th_comment *_tc,char *_tag); extern void th_comment_clear(th_comment *_tc); } # 26 "../../../dist/include/theora/theoradec.h" 2 extern "C" { # 138 "../../../dist/include/theora/theoradec.h" typedef void (*th_stripe_decoded_func)(void *_ctx,th_ycbcr_buffer _buf, int _yfrag0,int _yfrag_end); typedef struct{ void *ctx; th_stripe_decoded_func stripe_decoded; }th_stripe_callback; # 159 "../../../dist/include/theora/theoradec.h" typedef struct th_dec_ctx th_dec_ctx; typedef struct th_setup_info th_setup_info; # 231 "../../../dist/include/theora/theoradec.h" extern int th_decode_headerin(th_info *_info,th_comment *_tc, th_setup_info **_setup,ogg_packet *_op); # 255 "../../../dist/include/theora/theoradec.h" extern th_dec_ctx *th_decode_alloc(const th_info *_info, const th_setup_info *_setup); extern void th_setup_free(th_setup_info *_setup); # 271 "../../../dist/include/theora/theoradec.h" extern int th_decode_ctl(th_dec_ctx *_dec,int _req,void *_buf, size_t _buf_sz); # 295 "../../../dist/include/theora/theoradec.h" extern int th_decode_packetin(th_dec_ctx *_dec,const ogg_packet *_op, ogg_int64_t *_granpos); # 312 "../../../dist/include/theora/theoradec.h" extern int th_decode_ycbcr_out(th_dec_ctx *_dec, th_ycbcr_buffer _ycbcr); extern void th_decode_free(th_dec_ctx *_dec); } # 11 "/builddir/build/BUILD/firefox-36.0/mozilla-release/dom/media/ogg/OggCodecState.h" 2 # 1 "../../../dist/include/vorbis/codec.h" 1 # 22 "../../../dist/include/vorbis/codec.h" extern "C" { typedef struct vorbis_info{ int version; int channels; long rate; # 48 "../../../dist/include/vorbis/codec.h" long bitrate_upper; long bitrate_nominal; long bitrate_lower; long bitrate_window; void *codec_setup; } vorbis_info; typedef struct vorbis_dsp_state{ int analysisp; vorbis_info *vi; float **pcm; float **pcmret; int pcm_storage; int pcm_current; int pcm_returned; int preextrapolate; int eofflag; long lW; long W; long nW; long centerW; ogg_int64_t granulepos; ogg_int64_t sequence; ogg_int64_t glue_bits; ogg_int64_t time_bits; ogg_int64_t floor_bits; ogg_int64_t res_bits; void *backend_state; } vorbis_dsp_state; typedef struct vorbis_block{ float **pcm; oggpack_buffer opb; long lW; long W; long nW; int pcmend; int mode; int eofflag; ogg_int64_t granulepos; ogg_int64_t sequence; vorbis_dsp_state *vd; void *localstore; long localtop; long localalloc; long totaluse; struct alloc_chain *reap; long glue_bits; long time_bits; long floor_bits; long res_bits; void *internal; } vorbis_block; struct alloc_chain{ void *ptr; struct alloc_chain *next; }; # 140 "../../../dist/include/vorbis/codec.h" typedef struct vorbis_comment{ char **user_comments; int *comment_lengths; int comments; char *vendor; } vorbis_comment; # 165 "../../../dist/include/vorbis/codec.h" extern void vorbis_info_init(vorbis_info *vi); extern void vorbis_info_clear(vorbis_info *vi); extern int vorbis_info_blocksize(vorbis_info *vi,int zo); extern void vorbis_comment_init(vorbis_comment *vc); extern void vorbis_comment_add(vorbis_comment *vc, const char *comment); extern void vorbis_comment_add_tag(vorbis_comment *vc, const char *tag, const char *contents); extern char *vorbis_comment_query(vorbis_comment *vc, const char *tag, int count); extern int vorbis_comment_query_count(vorbis_comment *vc, const char *tag); extern void vorbis_comment_clear(vorbis_comment *vc); extern int vorbis_block_init(vorbis_dsp_state *v, vorbis_block *vb); extern int vorbis_block_clear(vorbis_block *vb); extern void vorbis_dsp_clear(vorbis_dsp_state *v); extern double vorbis_granule_time(vorbis_dsp_state *v, ogg_int64_t granulepos); extern const char *vorbis_version_string(void); extern int vorbis_analysis_init(vorbis_dsp_state *v,vorbis_info *vi); extern int vorbis_commentheader_out(vorbis_comment *vc, ogg_packet *op); extern int vorbis_analysis_headerout(vorbis_dsp_state *v, vorbis_comment *vc, ogg_packet *op, ogg_packet *op_comm, ogg_packet *op_code); extern float **vorbis_analysis_buffer(vorbis_dsp_state *v,int vals); extern int vorbis_analysis_wrote(vorbis_dsp_state *v,int vals); extern int vorbis_analysis_blockout(vorbis_dsp_state *v,vorbis_block *vb); extern int vorbis_analysis(vorbis_block *vb,ogg_packet *op); extern int vorbis_bitrate_addblock(vorbis_block *vb); extern int vorbis_bitrate_flushpacket(vorbis_dsp_state *vd, ogg_packet *op); extern int vorbis_synthesis_idheader(ogg_packet *op); extern int vorbis_synthesis_headerin(vorbis_info *vi,vorbis_comment *vc, ogg_packet *op); extern int vorbis_synthesis_init(vorbis_dsp_state *v,vorbis_info *vi); extern int vorbis_synthesis_restart(vorbis_dsp_state *v); extern int vorbis_synthesis(vorbis_block *vb,ogg_packet *op); extern int vorbis_synthesis_trackonly(vorbis_block *vb,ogg_packet *op); extern int vorbis_synthesis_blockin(vorbis_dsp_state *v,vorbis_block *vb); extern int vorbis_synthesis_pcmout(vorbis_dsp_state *v,float ***pcm); extern int vorbis_synthesis_lapout(vorbis_dsp_state *v,float ***pcm); extern int vorbis_synthesis_read(vorbis_dsp_state *v,int samples); extern long vorbis_packet_blocksize(vorbis_info *vi,ogg_packet *op); extern int vorbis_synthesis_halfrate(vorbis_info *v,int flag); extern int vorbis_synthesis_halfrate_p(vorbis_info *v); # 239 "../../../dist/include/vorbis/codec.h" } # 15 "/builddir/build/BUILD/firefox-36.0/mozilla-release/dom/media/ogg/OggCodecState.h" 2 # 1 "../../../dist/include/opus/opus.h" 1 # 36 "../../../dist/include/opus/opus.h" # 1 "../../../dist/include/opus/opus_types.h" 1 # 38 "../../../dist/include/opus/opus_types.h" # 1 "../../../dist/system_wrappers/stdint.h" 1 # 2 "../../../dist/system_wrappers/stdint.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 39 "../../../dist/include/opus/opus_types.h" 2 typedef int16_t opus_int16; typedef uint16_t opus_uint16; typedef int32_t opus_int32; typedef uint32_t opus_uint32; # 37 "../../../dist/include/opus/opus.h" 2 # 1 "../../../dist/include/opus/opus_defines.h" 1 # 39 "../../../dist/include/opus/opus_defines.h" extern "C" { # 713 "../../../dist/include/opus/opus_defines.h" const char *opus_strerror(int error); const char *opus_get_version_string(void); } # 38 "../../../dist/include/opus/opus.h" 2 extern "C" { # 164 "../../../dist/include/opus/opus.h" typedef struct OpusEncoder OpusEncoder; __attribute__ ((__warn_unused_result__)) int opus_encoder_get_size(int channels); # 208 "../../../dist/include/opus/opus.h" __attribute__ ((__warn_unused_result__)) OpusEncoder *opus_encoder_create( opus_int32 Fs, int channels, int application, int *error ); # 228 "../../../dist/include/opus/opus.h" int opus_encoder_init( OpusEncoder *st, opus_int32 Fs, int channels, int application ) __attribute__ ((__nonnull__(1))); # 263 "../../../dist/include/opus/opus.h" __attribute__ ((__warn_unused_result__)) opus_int32 opus_encode( OpusEncoder *st, const opus_int16 *pcm, int frame_size, unsigned char *data, opus_int32 max_data_bytes ) __attribute__ ((__nonnull__(1))) __attribute__ ((__nonnull__(2))) __attribute__ ((__nonnull__(4))); # 304 "../../../dist/include/opus/opus.h" __attribute__ ((__warn_unused_result__)) opus_int32 opus_encode_float( OpusEncoder *st, const float *pcm, int frame_size, unsigned char *data, opus_int32 max_data_bytes ) __attribute__ ((__nonnull__(1))) __attribute__ ((__nonnull__(2))) __attribute__ ((__nonnull__(4))); void opus_encoder_destroy(OpusEncoder *st); # 328 "../../../dist/include/opus/opus.h" int opus_encoder_ctl(OpusEncoder *st, int request, ...) __attribute__ ((__nonnull__(1))); # 399 "../../../dist/include/opus/opus.h" typedef struct OpusDecoder OpusDecoder; __attribute__ ((__warn_unused_result__)) int opus_decoder_get_size(int channels); # 423 "../../../dist/include/opus/opus.h" __attribute__ ((__warn_unused_result__)) OpusDecoder *opus_decoder_create( opus_int32 Fs, int channels, int *error ); # 440 "../../../dist/include/opus/opus.h" int opus_decoder_init( OpusDecoder *st, opus_int32 Fs, int channels ) __attribute__ ((__nonnull__(1))); # 462 "../../../dist/include/opus/opus.h" __attribute__ ((__warn_unused_result__)) int opus_decode( OpusDecoder *st, const unsigned char *data, opus_int32 len, opus_int16 *pcm, int frame_size, int decode_fec ) __attribute__ ((__nonnull__(1))) __attribute__ ((__nonnull__(4))); # 487 "../../../dist/include/opus/opus.h" __attribute__ ((__warn_unused_result__)) int opus_decode_float( OpusDecoder *st, const unsigned char *data, opus_int32 len, float *pcm, int frame_size, int decode_fec ) __attribute__ ((__nonnull__(1))) __attribute__ ((__nonnull__(4))); # 507 "../../../dist/include/opus/opus.h" int opus_decoder_ctl(OpusDecoder *st, int request, ...) __attribute__ ((__nonnull__(1))); void opus_decoder_destroy(OpusDecoder *st); # 527 "../../../dist/include/opus/opus.h" int opus_packet_parse( const unsigned char *data, opus_int32 len, unsigned char *out_toc, const unsigned char *frames[48], opus_int16 size[48], int *payload_offset ) __attribute__ ((__nonnull__(1))) __attribute__ ((__nonnull__(4))); # 545 "../../../dist/include/opus/opus.h" __attribute__ ((__warn_unused_result__)) int opus_packet_get_bandwidth(const unsigned char *data) __attribute__ ((__nonnull__(1))); # 556 "../../../dist/include/opus/opus.h" __attribute__ ((__warn_unused_result__)) int opus_packet_get_samples_per_frame(const unsigned char *data, opus_int32 Fs) __attribute__ ((__nonnull__(1))); __attribute__ ((__warn_unused_result__)) int opus_packet_get_nb_channels(const unsigned char *data) __attribute__ ((__nonnull__(1))); # 572 "../../../dist/include/opus/opus.h" __attribute__ ((__warn_unused_result__)) int opus_packet_get_nb_frames(const unsigned char packet[], opus_int32 len) __attribute__ ((__nonnull__(1))); # 584 "../../../dist/include/opus/opus.h" __attribute__ ((__warn_unused_result__)) int opus_packet_get_nb_samples(const unsigned char packet[], opus_int32 len, opus_int32 Fs) __attribute__ ((__nonnull__(1))); # 594 "../../../dist/include/opus/opus.h" __attribute__ ((__warn_unused_result__)) int opus_decoder_get_nb_samples(const OpusDecoder *dec, const unsigned char packet[], opus_int32 len) __attribute__ ((__nonnull__(1))) __attribute__ ((__nonnull__(2))); # 606 "../../../dist/include/opus/opus.h" void opus_pcm_soft_clip(float *pcm, int frame_size, int channels, float *softclip_mem); # 751 "../../../dist/include/opus/opus.h" typedef struct OpusRepacketizer OpusRepacketizer; __attribute__ ((__warn_unused_result__)) int opus_repacketizer_get_size(void); # 775 "../../../dist/include/opus/opus.h" OpusRepacketizer *opus_repacketizer_init(OpusRepacketizer *rp) __attribute__ ((__nonnull__(1))); __attribute__ ((__warn_unused_result__)) OpusRepacketizer *opus_repacketizer_create(void); void opus_repacketizer_destroy(OpusRepacketizer *rp); # 835 "../../../dist/include/opus/opus.h" int opus_repacketizer_cat(OpusRepacketizer *rp, const unsigned char *data, opus_int32 len) __attribute__ ((__nonnull__(1))) __attribute__ ((__nonnull__(2))); # 869 "../../../dist/include/opus/opus.h" __attribute__ ((__warn_unused_result__)) opus_int32 opus_repacketizer_out_range(OpusRepacketizer *rp, int begin, int end, unsigned char *data, opus_int32 maxlen) __attribute__ ((__nonnull__(1))) __attribute__ ((__nonnull__(4))); # 881 "../../../dist/include/opus/opus.h" __attribute__ ((__warn_unused_result__)) int opus_repacketizer_get_nb_frames(OpusRepacketizer *rp) __attribute__ ((__nonnull__(1))); # 912 "../../../dist/include/opus/opus.h" __attribute__ ((__warn_unused_result__)) opus_int32 opus_repacketizer_out(OpusRepacketizer *rp, unsigned char *data, opus_int32 maxlen) __attribute__ ((__nonnull__(1))); # 926 "../../../dist/include/opus/opus.h" int opus_packet_pad(unsigned char *data, opus_int32 len, opus_int32 new_len); # 939 "../../../dist/include/opus/opus.h" __attribute__ ((__warn_unused_result__)) opus_int32 opus_packet_unpad(unsigned char *data, opus_int32 len); # 955 "../../../dist/include/opus/opus.h" int opus_multistream_packet_pad(unsigned char *data, opus_int32 len, opus_int32 new_len, int nb_streams); # 970 "../../../dist/include/opus/opus.h" __attribute__ ((__warn_unused_result__)) opus_int32 opus_multistream_packet_unpad(unsigned char *data, opus_int32 len, int nb_streams); } # 18 "/builddir/build/BUILD/firefox-36.0/mozilla-release/dom/media/ogg/OggCodecState.h" 2 # 1 "../../../dist/include/opus/opus_multistream.h" 1 # 36 "../../../dist/include/opus/opus_multistream.h" # 1 "../../../dist/include/opus/opus.h" 1 # 37 "../../../dist/include/opus/opus_multistream.h" 2 extern "C" { # 175 "../../../dist/include/opus/opus_multistream.h" typedef struct OpusMSEncoder OpusMSEncoder; typedef struct OpusMSDecoder OpusMSDecoder; # 203 "../../../dist/include/opus/opus_multistream.h" __attribute__ ((__warn_unused_result__)) opus_int32 opus_multistream_encoder_get_size( int streams, int coupled_streams ); __attribute__ ((__warn_unused_result__)) opus_int32 opus_multistream_surround_encoder_get_size( int channels, int mapping_family ); # 257 "../../../dist/include/opus/opus_multistream.h" __attribute__ ((__warn_unused_result__)) OpusMSEncoder *opus_multistream_encoder_create( opus_int32 Fs, int channels, int streams, int coupled_streams, const unsigned char *mapping, int application, int *error ) __attribute__ ((__nonnull__(5))); __attribute__ ((__warn_unused_result__)) OpusMSEncoder *opus_multistream_surround_encoder_create( opus_int32 Fs, int channels, int mapping_family, int *streams, int *coupled_streams, unsigned char *mapping, int application, int *error ) __attribute__ ((__nonnull__(5))); # 326 "../../../dist/include/opus/opus_multistream.h" int opus_multistream_encoder_init( OpusMSEncoder *st, opus_int32 Fs, int channels, int streams, int coupled_streams, const unsigned char *mapping, int application ) __attribute__ ((__nonnull__(1))) __attribute__ ((__nonnull__(6))); int opus_multistream_surround_encoder_init( OpusMSEncoder *st, opus_int32 Fs, int channels, int mapping_family, int *streams, int *coupled_streams, unsigned char *mapping, int application ) __attribute__ ((__nonnull__(1))) __attribute__ ((__nonnull__(6))); # 377 "../../../dist/include/opus/opus_multistream.h" __attribute__ ((__warn_unused_result__)) int opus_multistream_encode( OpusMSEncoder *st, const opus_int16 *pcm, int frame_size, unsigned char *data, opus_int32 max_data_bytes ) __attribute__ ((__nonnull__(1))) __attribute__ ((__nonnull__(2))) __attribute__ ((__nonnull__(4))); # 422 "../../../dist/include/opus/opus_multistream.h" __attribute__ ((__warn_unused_result__)) int opus_multistream_encode_float( OpusMSEncoder *st, const float *pcm, int frame_size, unsigned char *data, opus_int32 max_data_bytes ) __attribute__ ((__nonnull__(1))) __attribute__ ((__nonnull__(2))) __attribute__ ((__nonnull__(4))); void opus_multistream_encoder_destroy(OpusMSEncoder *st); # 448 "../../../dist/include/opus/opus_multistream.h" int opus_multistream_encoder_ctl(OpusMSEncoder *st, int request, ...) __attribute__ ((__nonnull__(1))); # 470 "../../../dist/include/opus/opus_multistream.h" __attribute__ ((__warn_unused_result__)) opus_int32 opus_multistream_decoder_get_size( int streams, int coupled_streams ); # 504 "../../../dist/include/opus/opus_multistream.h" __attribute__ ((__warn_unused_result__)) OpusMSDecoder *opus_multistream_decoder_create( opus_int32 Fs, int channels, int streams, int coupled_streams, const unsigned char *mapping, int *error ) __attribute__ ((__nonnull__(5))); # 547 "../../../dist/include/opus/opus_multistream.h" int opus_multistream_decoder_init( OpusMSDecoder *st, opus_int32 Fs, int channels, int streams, int coupled_streams, const unsigned char *mapping ) __attribute__ ((__nonnull__(1))) __attribute__ ((__nonnull__(6))); # 585 "../../../dist/include/opus/opus_multistream.h" __attribute__ ((__warn_unused_result__)) int opus_multistream_decode( OpusMSDecoder *st, const unsigned char *data, opus_int32 len, opus_int16 *pcm, int frame_size, int decode_fec ) __attribute__ ((__nonnull__(1))) __attribute__ ((__nonnull__(4))); # 623 "../../../dist/include/opus/opus_multistream.h" __attribute__ ((__warn_unused_result__)) int opus_multistream_decode_float( OpusMSDecoder *st, const unsigned char *data, opus_int32 len, float *pcm, int frame_size, int decode_fec ) __attribute__ ((__nonnull__(1))) __attribute__ ((__nonnull__(4))); # 644 "../../../dist/include/opus/opus_multistream.h" int opus_multistream_decoder_ctl(OpusMSDecoder *st, int request, ...) __attribute__ ((__nonnull__(1))); void opus_multistream_decoder_destroy(OpusMSDecoder *st); } # 19 "/builddir/build/BUILD/firefox-36.0/mozilla-release/dom/media/ogg/OggCodecState.h" 2 # 1 "../../../dist/include/mozilla/dom/HTMLMediaElement.h" 1 # 9 "../../../dist/include/mozilla/dom/HTMLMediaElement.h" # 1 "../../../dist/include/nsIDOMHTMLMediaElement.h" 1 # 10 "../../../dist/include/nsIDOMHTMLMediaElement.h" # 1 "../../../dist/include/nsIDOMHTMLElement.h" 1 # 10 "../../../dist/include/nsIDOMHTMLElement.h" # 1 "../../../dist/include/nsIDOMElement.h" 1 # 10 "../../../dist/include/nsIDOMElement.h" # 1 "../../../dist/include/nsIDOMNode.h" 1 # 10 "../../../dist/include/nsIDOMNode.h" # 1 "../../../dist/include/domstubs.h" 1 # 17 "../../../dist/include/domstubs.h" class nsWrapperCache; typedef uint64_t DOMTimeStamp; typedef double DOMHighResTimeStamp; class nsIDOMAttr; class nsIDOMCDATASection; class nsIDOMCharacterData; class nsIDOMComment; class nsIDOMDOMImplementation; class nsIDOMDocument; class nsIDOMDocumentFragment; class nsIDOMDocumentType; class nsIDOMElement; class nsIDOMNode; class nsIDOMNodeList; class nsIDOMProcessingInstruction; class nsIDOMText; class nsIDOMClientRect; class nsIDOMClientRectList; class DOMException; class nsIDOMStyleSheetList; class nsIDOMStyleSheet; class nsIDOMMediaList; class nsIDOMWindow; class nsIDOMWindowCollection; class nsIDOMNavigator; class nsIDOMScreen; class nsIDOMEvent; class nsIDOMEventTarget; class nsIDOMEventListener; class nsIDOMHTMLElement; class nsIDOMHTMLFormElement; class nsIDOMHTMLCollection; class nsIDOMHTMLHeadElement; class nsIDOMCSSValue; class nsIDOMCSSPrimitiveValue; class nsIDOMCSSRule; class nsIDOMCSSRuleList; class nsIDOMMozCSSKeyframeRule; class nsIDOMCSSFontFeatureValuesRule; class nsIDOMCSSStyleSheet; class nsIDOMCSSStyleDeclaration; class nsIDOMCounter; class nsIDOMRect; class nsIDOMCSSStyleRule; class nsIDOMCSSStyleRuleCollection; class nsIDOMHTMLTableCaptionElement; class nsIDOMRange; class nsIDOMCrypto; class nsIDOMFontFace; class nsIDOMFontFaceList; # 11 "../../../dist/include/nsIDOMNode.h" 2 class nsIVariant; # 27 "../../../dist/include/nsIDOMNode.h" class nsIDOMNode : public nsISupports { public: template struct COMTypeInfo; enum { ELEMENT_NODE = 1U, ATTRIBUTE_NODE = 2U, TEXT_NODE = 3U, CDATA_SECTION_NODE = 4U, ENTITY_REFERENCE_NODE = 5U, ENTITY_NODE = 6U, PROCESSING_INSTRUCTION_NODE = 7U, COMMENT_NODE = 8U, DOCUMENT_NODE = 9U, DOCUMENT_TYPE_NODE = 10U, DOCUMENT_FRAGMENT_NODE = 11U, NOTATION_NODE = 12U }; virtual nsresult GetNodeName(nsAString_internal & aNodeName) = 0; virtual nsresult GetNodeValue(nsAString_internal & aNodeValue) = 0; virtual nsresult SetNodeValue(const nsAString_internal & aNodeValue) = 0; virtual nsresult GetNodeType(uint16_t *aNodeType) = 0; virtual nsresult GetParentNode(nsIDOMNode * *aParentNode) = 0; virtual nsresult GetParentElement(nsIDOMElement * *aParentElement) = 0; virtual nsresult GetChildNodes(nsIDOMNodeList * *aChildNodes) = 0; virtual nsresult GetFirstChild(nsIDOMNode * *aFirstChild) = 0; virtual nsresult GetLastChild(nsIDOMNode * *aLastChild) = 0; virtual nsresult GetPreviousSibling(nsIDOMNode * *aPreviousSibling) = 0; virtual nsresult GetNextSibling(nsIDOMNode * *aNextSibling) = 0; virtual nsresult GetOwnerDocument(nsIDOMDocument * *aOwnerDocument) = 0; virtual nsresult InsertBefore(nsIDOMNode *newChild, nsIDOMNode *refChild, nsIDOMNode * *_retval) = 0; virtual nsresult ReplaceChild(nsIDOMNode *newChild, nsIDOMNode *oldChild, nsIDOMNode * *_retval) = 0; virtual nsresult RemoveChild(nsIDOMNode *oldChild, nsIDOMNode * *_retval) = 0; virtual nsresult AppendChild(nsIDOMNode *newChild, nsIDOMNode * *_retval) = 0; virtual nsresult HasChildNodes(bool *_retval) = 0; virtual nsresult CloneNode(bool deep, uint8_t _argc, nsIDOMNode * *_retval) = 0; virtual nsresult Normalize(void) = 0; virtual nsresult GetNamespaceURI(nsAString_internal & aNamespaceURI) = 0; virtual nsresult GetPrefix(nsAString_internal & aPrefix) = 0; virtual nsresult GetLocalName(nsAString_internal & aLocalName) = 0; virtual nsresult UnusedPlaceholder(bool *_retval) = 0; virtual nsresult GetDOMBaseURI(nsAString_internal & aBaseURI) = 0; enum { DOCUMENT_POSITION_DISCONNECTED = 1U, DOCUMENT_POSITION_PRECEDING = 2U, DOCUMENT_POSITION_FOLLOWING = 4U, DOCUMENT_POSITION_CONTAINS = 8U, DOCUMENT_POSITION_CONTAINED_BY = 16U, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = 32U }; virtual nsresult CompareDocumentPosition(nsIDOMNode *other, uint16_t *_retval) = 0; virtual nsresult GetTextContent(nsAString_internal & aTextContent) = 0; virtual nsresult SetTextContent(const nsAString_internal & aTextContent) = 0; virtual nsresult LookupPrefix(const nsAString_internal & namespaceURI, nsAString_internal & _retval) = 0; virtual nsresult IsDefaultNamespace(const nsAString_internal & namespaceURI, bool *_retval) = 0; virtual nsresult LookupNamespaceURI(const nsAString_internal & prefix, nsAString_internal & _retval) = 0; virtual nsresult IsEqualNode(nsIDOMNode *arg, bool *_retval) = 0; virtual nsresult SetUserData(const nsAString_internal & key, nsIVariant *data, nsIVariant * *_retval) = 0; virtual nsresult GetUserData(const nsAString_internal & key, nsIVariant * *_retval) = 0; virtual nsresult Contains(nsIDOMNode *aOther, bool *_retval) = 0; }; template struct nsIDOMNode::COMTypeInfo { static const nsIID kIID __attribute__ ((visibility ("hidden"))); }; template const nsIID nsIDOMNode::COMTypeInfo::kIID __attribute__ ((visibility ("hidden"))) = {0xcc35b412, 0x009b, 0x46a3, { 0x9b, 0xe0, 0x76, 0x44, 0x8f, 0x12, 0x54, 0x8d }}; # 11 "../../../dist/include/nsIDOMElement.h" 2 class nsIDOMMozNamedAttrMap; # 27 "../../../dist/include/nsIDOMElement.h" class nsIDOMElement : public nsIDOMNode { public: template struct COMTypeInfo; virtual nsresult GetTagName(nsAString_internal & aTagName) = 0; virtual nsresult GetId(nsAString_internal & aId) = 0; virtual nsresult SetId(const nsAString_internal & aId) = 0; virtual nsresult GetClassName(nsAString_internal & aClassName) = 0; virtual nsresult SetClassName(const nsAString_internal & aClassName) = 0; virtual nsresult GetClassList(nsISupports * *aClassList) = 0; virtual nsresult GetAttributes(nsIDOMMozNamedAttrMap * *aAttributes) = 0; virtual nsresult GetAttribute(const nsAString_internal & name, nsAString_internal & _retval) = 0; virtual nsresult GetAttributeNS(const nsAString_internal & namespaceURI, const nsAString_internal & localName, nsAString_internal & _retval) = 0; virtual nsresult SetAttribute(const nsAString_internal & name, const nsAString_internal & value) = 0; virtual nsresult SetAttributeNS(const nsAString_internal & namespaceURI, const nsAString_internal & qualifiedName, const nsAString_internal & value) = 0; virtual nsresult RemoveAttribute(const nsAString_internal & name) = 0; virtual nsresult RemoveAttributeNS(const nsAString_internal & namespaceURI, const nsAString_internal & localName) = 0; virtual nsresult HasAttribute(const nsAString_internal & name, bool *_retval) = 0; virtual nsresult HasAttributeNS(const nsAString_internal & namespaceURI, const nsAString_internal & localName, bool *_retval) = 0; virtual nsresult HasAttributes(bool *_retval) = 0; virtual nsresult GetAttributeNode(const nsAString_internal & name, nsIDOMAttr * *_retval) = 0; virtual nsresult SetAttributeNode(nsIDOMAttr *newAttr, nsIDOMAttr * *_retval) = 0; virtual nsresult RemoveAttributeNode(nsIDOMAttr *oldAttr, nsIDOMAttr * *_retval) = 0; virtual nsresult GetAttributeNodeNS(const nsAString_internal & namespaceURI, const nsAString_internal & localName, nsIDOMAttr * *_retval) = 0; virtual nsresult SetAttributeNodeNS(nsIDOMAttr *newAttr, nsIDOMAttr * *_retval) = 0; virtual nsresult GetElementsByTagName(const nsAString_internal & name, nsIDOMHTMLCollection * *_retval) = 0; virtual nsresult GetElementsByTagNameNS(const nsAString_internal & namespaceURI, const nsAString_internal & localName, nsIDOMHTMLCollection * *_retval) = 0; virtual nsresult GetElementsByClassName(const nsAString_internal & classes, nsIDOMHTMLCollection * *_retval) = 0; virtual nsresult GetChildElements(nsIDOMNodeList * *aChildren) = 0; virtual nsresult GetFirstElementChild(nsIDOMElement * *aFirstElementChild) = 0; virtual nsresult GetLastElementChild(nsIDOMElement * *aLastElementChild) = 0; virtual nsresult GetPreviousElementSibling(nsIDOMElement * *aPreviousElementSibling) = 0; virtual nsresult GetNextElementSibling(nsIDOMElement * *aNextElementSibling) = 0; virtual nsresult GetChildElementCount(uint32_t *aChildElementCount) = 0; virtual nsresult MozRemove(void) = 0; virtual nsresult GetClientRects(nsIDOMClientRectList * *_retval) = 0; virtual nsresult GetBoundingClientRect(nsIDOMClientRect * *_retval) = 0; virtual nsresult GetScrollTop(int32_t *aScrollTop) = 0; virtual nsresult SetScrollTop(int32_t aScrollTop) = 0; virtual nsresult GetScrollLeft(int32_t *aScrollLeft) = 0; virtual nsresult SetScrollLeft(int32_t aScrollLeft) = 0; virtual nsresult GetScrollWidth(int32_t *aScrollWidth) = 0; virtual nsresult GetScrollHeight(int32_t *aScrollHeight) = 0; virtual nsresult GetClientTop(int32_t *aClientTop) = 0; virtual nsresult GetClientLeft(int32_t *aClientLeft) = 0; virtual nsresult GetClientWidth(int32_t *aClientWidth) = 0; virtual nsresult GetClientHeight(int32_t *aClientHeight) = 0; virtual nsresult GetScrollLeftMax(int32_t *aScrollLeftMax) = 0; virtual nsresult GetScrollTopMax(int32_t *aScrollTopMax) = 0; virtual nsresult MozMatchesSelector(const nsAString_internal & selector, bool *_retval) = 0; virtual nsresult SetCapture(bool retargetToElement) = 0; virtual nsresult ReleaseCapture(void) = 0; virtual nsresult MozRequestFullScreen(void) = 0; virtual nsresult MozRequestPointerLock(void) = 0; virtual nsresult QuerySelector(const nsAString_internal & selectors, nsIDOMElement * *_retval) = 0; virtual nsresult QuerySelectorAll(const nsAString_internal & selectors, nsIDOMNodeList * *_retval) = 0; }; template struct nsIDOMElement::COMTypeInfo { static const nsIID kIID __attribute__ ((visibility ("hidden"))); }; template const nsIID nsIDOMElement::COMTypeInfo::kIID __attribute__ ((visibility ("hidden"))) = {0x6289999b, 0x1008, 0x4269, { 0xb4, 0x2a, 0x41, 0x3e, 0xc5, 0xa9, 0xd3, 0xf4 }}; # 11 "../../../dist/include/nsIDOMHTMLElement.h" 2 # 1 "../../../dist/include/nsIVariant.h" 1 # 13 "../../../dist/include/nsIVariant.h" # 1 "../../../dist/include/js/Value.h" 1 # 21 "../../../dist/include/js/Value.h" # 1 "../../../dist/include/js/GCAPI.h" 1 # 12 "../../../dist/include/js/GCAPI.h" # 1 "../../../dist/include/js/HeapAPI.h" 1 # 10 "../../../dist/include/js/HeapAPI.h" # 1 "../../../dist/system_wrappers/limits.h" 1 # 2 "../../../dist/system_wrappers/limits.h" 3 #pragma GCC visibility push(default) # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/limits.h" 1 3 4 # 4 "../../../dist/system_wrappers/limits.h" 2 3 #pragma GCC visibility pop # 11 "../../../dist/include/js/HeapAPI.h" 2 # 1 "../../../dist/include/jspubtd.h" 1 # 15 "../../../dist/include/jspubtd.h" # 1 "../../../dist/include/mozilla/LinkedList.h" 1 # 65 "../../../dist/include/mozilla/LinkedList.h" # 1 "../../../dist/include/mozilla/MemoryReporting.h" 1 # 66 "../../../dist/include/mozilla/LinkedList.h" 2 namespace mozilla { template class LinkedList; template class LinkedListElement { # 113 "../../../dist/include/mozilla/LinkedList.h" private: LinkedListElement* mNext; LinkedListElement* mPrev; const bool mIsSentinel; public: LinkedListElement() : mNext(this), mPrev(this), mIsSentinel(false) { } LinkedListElement(LinkedListElement&& other) : mIsSentinel(other.mIsSentinel) { if (!other.isInList()) { mNext = this; mPrev = this; return; } do { } while (0); do { } while (0); mNext = other.mNext; mPrev = other.mPrev; mNext->mPrev = this; mPrev->mNext = this; other.mNext = &other; other.mPrev = &other; } ~LinkedListElement() { if (!mIsSentinel && isInList()) { remove(); } } T* getNext() { return mNext->asT(); } const T* getNext() const { return mNext->asT(); } T* getPrevious() { return mPrev->asT(); } const T* getPrevious() const { return mPrev->asT(); } void setNext(T* aElem) { do { } while (0); setNextUnsafe(aElem); } void setPrevious(T* aElem) { do { } while (0); setPreviousUnsafe(aElem); } void remove() { do { } while (0); mPrev->mNext = mNext; mNext->mPrev = mPrev; mNext = this; mPrev = this; } void removeFrom(const LinkedList& aList) { aList.assertContains(asT()); remove(); } bool isInList() const { do { } while (0); return mNext != this; } private: friend class LinkedList; enum NodeKind { NODE_KIND_NORMAL, NODE_KIND_SENTINEL }; explicit LinkedListElement(NodeKind nodeKind) : mNext(this), mPrev(this), mIsSentinel(nodeKind == NODE_KIND_SENTINEL) { } T* asT() { return mIsSentinel ? nullptr : static_cast(this); } const T* asT() const { return mIsSentinel ? nullptr : static_cast(this); } void setNextUnsafe(T* aElem) { LinkedListElement *listElem = static_cast(aElem); do { } while (0); listElem->mNext = this->mNext; listElem->mPrev = this; this->mNext->mPrev = listElem; this->mNext = listElem; } void setPreviousUnsafe(T* aElem) { LinkedListElement* listElem = static_cast*>(aElem); do { } while (0); listElem->mNext = this; listElem->mPrev = this->mPrev; this->mPrev->mNext = listElem; this->mPrev = listElem; } private: LinkedListElement& operator=(const LinkedListElement& aOther) = delete; LinkedListElement(const LinkedListElement& aOther) = delete; }; template class LinkedList { private: LinkedListElement sentinel; public: LinkedList() : sentinel(LinkedListElement::NODE_KIND_SENTINEL) { } LinkedList(LinkedList&& aOther) : sentinel(mozilla::Move(aOther.sentinel)) { } ~LinkedList() { do { } while (0); } void insertFront(T* aElem) { sentinel.setNextUnsafe(aElem); } void insertBack(T* aElem) { sentinel.setPreviousUnsafe(aElem); } T* getFirst() { return sentinel.getNext(); } const T* getFirst() const { return sentinel.getNext(); } T* getLast() { return sentinel.getPrevious(); } const T* getLast() const { return sentinel.getPrevious(); } T* popFirst() { T* ret = sentinel.getNext(); if (ret) { static_cast*>(ret)->remove(); } return ret; } T* popLast() { T* ret = sentinel.getPrevious(); if (ret) { static_cast*>(ret)->remove(); } return ret; } bool isEmpty() const { return !sentinel.isInList(); } void clear() { while (popFirst()) { continue; } } size_t sizeOfExcludingThis(MallocSizeOf aMallocSizeOf) const { size_t n = 0; for (const T* t = getFirst(); t; t = t->getNext()) { n += aMallocSizeOf(t); } return n; } size_t sizeOfIncludingThis(MallocSizeOf aMallocSizeOf) const { return aMallocSizeOf(this) + sizeOfExcludingThis(aMallocSizeOf); } void debugAssertIsSane() const { # 461 "../../../dist/include/mozilla/LinkedList.h" } private: friend class LinkedListElement; void assertContains(const T* aValue) const { # 476 "../../../dist/include/mozilla/LinkedList.h" } LinkedList& operator=(const LinkedList& aOther) = delete; LinkedList(const LinkedList& aOther) = delete; }; } # 16 "../../../dist/include/jspubtd.h" 2 # 1 "../../../dist/include/jsprototypes.h" 1 # 20 "../../../dist/include/jspubtd.h" 2 # 1 "../../../dist/include/jstypes.h" 1 # 21 "../../../dist/include/jspubtd.h" 2 # 29 "../../../dist/include/jspubtd.h" namespace JS { class AutoIdVector; class CallArgs; template class Rooted; class __attribute__((visibility("default"))) CompileOptions; class __attribute__((visibility("default"))) ReadOnlyCompileOptions; class __attribute__((visibility("default"))) OwningCompileOptions; class __attribute__((visibility("default"))) CompartmentOptions; struct Zone; } namespace js { struct ContextFriendFields; } enum JSVersion { JSVERSION_ECMA_3 = 148, JSVERSION_1_6 = 160, JSVERSION_1_7 = 170, JSVERSION_1_8 = 180, JSVERSION_ECMA_5 = 185, JSVERSION_DEFAULT = 0, JSVERSION_UNKNOWN = -1, JSVERSION_LATEST = JSVERSION_ECMA_5 }; enum JSType { JSTYPE_VOID, JSTYPE_OBJECT, JSTYPE_FUNCTION, JSTYPE_STRING, JSTYPE_NUMBER, JSTYPE_BOOLEAN, JSTYPE_NULL, JSTYPE_SYMBOL, JSTYPE_LIMIT }; enum JSProtoKey { JSProto_Null = 0, JSProto_Object = 1, JSProto_Function = 2, JSProto_Array = 3, JSProto_Boolean = 4, JSProto_JSON = 5, JSProto_Date = 6, JSProto_Math = 7, JSProto_Number = 8, JSProto_String = 9, JSProto_RegExp = 10, JSProto_Error = 11, JSProto_InternalError = 12, JSProto_EvalError = 13, JSProto_RangeError = 14, JSProto_ReferenceError = 15, JSProto_SyntaxError = 16, JSProto_TypeError = 17, JSProto_URIError = 18, JSProto_Iterator = 19, JSProto_StopIteration = 20, JSProto_ArrayBuffer = 21, JSProto_Int8Array = 22, JSProto_Uint8Array = 23, JSProto_Int16Array = 24, JSProto_Uint16Array = 25, JSProto_Int32Array = 26, JSProto_Uint32Array = 27, JSProto_Float32Array = 28, JSProto_Float64Array = 29, JSProto_Uint8ClampedArray = 30, JSProto_Proxy = 31, JSProto_WeakMap = 32, JSProto_Map = 33, JSProto_Set = 34, JSProto_DataView = 35, JSProto_Symbol = 36, JSProto_SharedArrayBuffer = 37, JSProto_Intl = 38, JSProto_TypedObject = 39, JSProto_GeneratorFunction = 40, JSProto_SIMD = 41, JSProto_WeakSet = 42, JSProto_SharedInt8Array = 43, JSProto_SharedUint8Array = 44, JSProto_SharedInt16Array = 45, JSProto_SharedUint16Array = 46, JSProto_SharedInt32Array = 47, JSProto_SharedUint32Array = 48, JSProto_SharedFloat32Array = 49, JSProto_SharedFloat64Array = 50, JSProto_SharedUint8ClampedArray = 51, JSProto_TypedArray = 52, JSProto_Atomics = 53, JSProto_LIMIT }; enum JSIterateOp { JSENUMERATE_INIT, JSENUMERATE_INIT_ALL, JSENUMERATE_NEXT, JSENUMERATE_DESTROY }; enum JSGCTraceKind { JSTRACE_OBJECT, JSTRACE_STRING, JSTRACE_SYMBOL, JSTRACE_SCRIPT, JSTRACE_LAZY_SCRIPT, JSTRACE_JITCODE, JSTRACE_SHAPE, JSTRACE_BASE_SHAPE, JSTRACE_TYPE_OBJECT, JSTRACE_LAST = JSTRACE_TYPE_OBJECT }; struct JSClass; struct JSCompartment; struct JSCrossCompartmentCall; class JSErrorReport; struct JSExceptionState; struct JSFunctionSpec; struct JSIdArray; struct JSLocaleCallbacks; struct JSObjectMap; struct JSPrincipals; struct JSPropertyDescriptor; struct JSPropertyName; struct JSPropertySpec; struct JSRuntime; struct JSSecurityCallbacks; struct JSStructuredCloneCallbacks; struct JSStructuredCloneReader; struct JSStructuredCloneWriter; class __attribute__((visibility("default"))) JSTracer; class JSFlatString; typedef struct PRCallOnceType JSCallOnceType; typedef bool (*JSInitCallback)(void); template struct JSConstScalarSpec; typedef JSConstScalarSpec JSConstDoubleSpec; typedef JSConstScalarSpec JSConstIntegerSpec; typedef void (* JSTraceDataOp)(JSTracer *trc, void *data); void js_FinishGC(JSRuntime *rt); namespace js { namespace gc { class StoreBuffer; void MarkPersistentRootedChains(JSTracer *); void FinishPersistentRootedChains(JSRuntime *); } } namespace JS { typedef void (*OffThreadCompileCallback)(void *token, void *callbackData); namespace shadow { struct Runtime { bool needsIncrementalBarrier_; private: js::gc::StoreBuffer *gcStoreBufferPtr_; public: explicit Runtime( js::gc::StoreBuffer *storeBuffer ) : needsIncrementalBarrier_(false) , gcStoreBufferPtr_(storeBuffer) {} bool needsIncrementalBarrier() const { return needsIncrementalBarrier_; } js::gc::StoreBuffer *gcStoreBufferPtr() { return gcStoreBufferPtr_; } static JS::shadow::Runtime *asShadowRuntime(JSRuntime *rt) { return reinterpret_cast(rt); } private: template friend class JS::PersistentRooted; friend void js::gc::MarkPersistentRootedChains(JSTracer *); friend void js::gc::FinishPersistentRootedChains(JSRuntime *rt); mozilla::LinkedList functionPersistentRooteds; mozilla::LinkedList idPersistentRooteds; mozilla::LinkedList objectPersistentRooteds; mozilla::LinkedList scriptPersistentRooteds; mozilla::LinkedList stringPersistentRooteds; mozilla::LinkedList valuePersistentRooteds; template inline mozilla::LinkedList > &getPersistentRootedList(); }; template<> inline mozilla::LinkedList &Runtime::getPersistentRootedList() { return functionPersistentRooteds; } template<> inline mozilla::LinkedList &Runtime::getPersistentRootedList() { return idPersistentRooteds; } template<> inline mozilla::LinkedList &Runtime::getPersistentRootedList() { return objectPersistentRooteds; } template<> inline mozilla::LinkedList &Runtime::getPersistentRootedList() { return scriptPersistentRooteds; } template<> inline mozilla::LinkedList &Runtime::getPersistentRootedList() { return stringPersistentRooteds; } template<> inline mozilla::LinkedList &Runtime::getPersistentRootedList() { return valuePersistentRooteds; } } class __attribute__((visibility("default"))) AutoGCRooter { public: AutoGCRooter(JSContext *cx, ptrdiff_t tag); AutoGCRooter(js::ContextFriendFields *cx, ptrdiff_t tag); ~AutoGCRooter() { do { } while (0); *stackTop = down; } inline void trace(JSTracer *trc); static void traceAll(JSTracer *trc); static void traceAllWrappers(JSTracer *trc); template static void traceAllInContext(T* cx, JSTracer *trc) { for (AutoGCRooter *gcr = cx->autoGCRooters; gcr; gcr = gcr->down) gcr->trace(trc); } protected: AutoGCRooter * const down; # 288 "../../../dist/include/jspubtd.h" ptrdiff_t tag_; enum { VALARRAY = -2, PARSER = -3, SHAPEVECTOR = -4, IDARRAY = -6, DESCVECTOR = -7, VALVECTOR = -10, IDVECTOR = -13, OBJVECTOR = -14, STRINGVECTOR =-15, SCRIPTVECTOR =-16, NAMEVECTOR = -17, HASHABLEVALUE=-18, IONMASM = -19, WRAPVECTOR = -20, WRAPPER = -21, OBJOBJHASHMAP=-22, OBJU32HASHMAP=-23, OBJHASHSET = -24, JSONPARSER = -25, CUSTOM = -26, FUNVECTOR = -27 }; private: AutoGCRooter ** const stackTop; AutoGCRooter(AutoGCRooter &ida) = delete; void operator=(AutoGCRooter &ida) = delete; }; } namespace js { enum ParallelResult { TP_SUCCESS, TP_RETRY_SEQUENTIALLY, TP_RETRY_AFTER_GC, TP_FATAL }; struct ThreadSafeContext; class ForkJoinContext; class ExclusiveContext; class Allocator; enum ThingRootKind { THING_ROOT_OBJECT, THING_ROOT_SHAPE, THING_ROOT_BASE_SHAPE, THING_ROOT_TYPE_OBJECT, THING_ROOT_STRING, THING_ROOT_SYMBOL, THING_ROOT_JIT_CODE, THING_ROOT_SCRIPT, THING_ROOT_LAZY_SCRIPT, THING_ROOT_ID, THING_ROOT_VALUE, THING_ROOT_TYPE, THING_ROOT_BINDINGS, THING_ROOT_PROPERTY_DESCRIPTOR, THING_ROOT_PROP_DESC, THING_ROOT_LIMIT }; enum StackKind { StackForSystemCode, StackForTrustedScript, StackForUntrustedScript, StackKindCount }; template struct RootKind; template struct SpecificRootKind { static ThingRootKind rootKind() { return Kind; } }; template <> struct RootKind : SpecificRootKind {}; template <> struct RootKind : SpecificRootKind {}; template <> struct RootKind : SpecificRootKind {}; template <> struct RootKind : SpecificRootKind {}; template <> struct RootKind : SpecificRootKind {}; template <> struct RootKind : SpecificRootKind {}; template <> struct RootKind : SpecificRootKind {}; template <> struct RootKind : SpecificRootKind {}; struct ContextFriendFields { protected: JSRuntime *const runtime_; JSCompartment *compartment_; JS::Zone *zone_; public: explicit ContextFriendFields(JSRuntime *rt) : runtime_(rt), compartment_(nullptr), zone_(nullptr), autoGCRooters(nullptr) { mozilla::PodArrayZero(thingGCRooters); } static const ContextFriendFields *get(const JSContext *cx) { return reinterpret_cast(cx); } static ContextFriendFields *get(JSContext *cx) { return reinterpret_cast(cx); } private: JS::Rooted *thingGCRooters[THING_ROOT_LIMIT]; public: template inline JS::Rooted *gcRooters() { js::ThingRootKind kind = RootKind::rootKind(); return reinterpret_cast *>(thingGCRooters[kind]); } void checkNoGCRooters(); JS::AutoGCRooter *autoGCRooters; friend JSRuntime *GetRuntime(const JSContext *cx); friend JSCompartment *GetContextCompartment(const JSContext *cx); friend JS::Zone *GetContextZone(const JSContext *cx); template friend class JS::Rooted; }; # 457 "../../../dist/include/jspubtd.h" inline JSRuntime * GetRuntime(const JSContext *cx) { return ContextFriendFields::get(cx)->runtime_; } inline JSCompartment * GetContextCompartment(const JSContext *cx) { return ContextFriendFields::get(cx)->compartment_; } inline JS::Zone * GetContextZone(const JSContext *cx) { return ContextFriendFields::get(cx)->zone_; } class PerThreadData; struct PerThreadDataFriendFields { private: struct RuntimeDummy : JS::shadow::Runtime { struct PerThreadDummy { void *field1; uintptr_t field2; } mainThread; }; public: PerThreadDataFriendFields(); private: JS::Rooted *thingGCRooters[THING_ROOT_LIMIT]; public: template inline JS::Rooted *gcRooters() { js::ThingRootKind kind = RootKind::rootKind(); return reinterpret_cast *>(thingGCRooters[kind]); } uintptr_t nativeStackLimit[StackKindCount]; static const size_t RuntimeMainThreadOffset = # 515 "../../../dist/include/jspubtd.h" 3 4 __builtin_offsetof ( # 515 "../../../dist/include/jspubtd.h" RuntimeDummy # 515 "../../../dist/include/jspubtd.h" 3 4 , # 515 "../../../dist/include/jspubtd.h" mainThread # 515 "../../../dist/include/jspubtd.h" 3 4 ) # 515 "../../../dist/include/jspubtd.h" ; static inline PerThreadDataFriendFields *get(js::PerThreadData *pt) { return reinterpret_cast(pt); } static inline PerThreadDataFriendFields *getMainThread(JSRuntime *rt) { return reinterpret_cast( reinterpret_cast(rt) + RuntimeMainThreadOffset); } static inline const PerThreadDataFriendFields *getMainThread(const JSRuntime *rt) { return reinterpret_cast( reinterpret_cast(rt) + RuntimeMainThreadOffset); } template friend class JS::Rooted; }; } # 13 "../../../dist/include/js/HeapAPI.h" 2 namespace js { __attribute__((visibility("default"))) bool CurrentThreadCanAccessRuntime(JSRuntime *rt); __attribute__((visibility("default"))) bool CurrentThreadCanAccessZone(JS::Zone *zone); namespace gc { struct Cell; const size_t ArenaShift = 12; const size_t ArenaSize = size_t(1) << ArenaShift; const size_t ArenaMask = ArenaSize - 1; const size_t ChunkShift = 20; const size_t ChunkSize = size_t(1) << ChunkShift; const size_t ChunkMask = ChunkSize - 1; const size_t CellShift = 3; const size_t CellSize = size_t(1) << CellShift; const size_t CellMask = CellSize - 1; const size_t ChunkMarkBitmapOffset = 1032352; const size_t ChunkMarkBitmapBits = 129024; const size_t ChunkRuntimeOffset = ChunkSize - sizeof(void*); const size_t ChunkLocationOffset = ChunkSize - 2 * sizeof(void*) - sizeof(uint64_t); static const uint32_t BLACK = 0; static const uint32_t GRAY = 1; # 76 "../../../dist/include/js/HeapAPI.h" const uintptr_t ChunkLocationBitNursery = 1; const uintptr_t ChunkLocationBitTenuredHeap = 2; const uintptr_t ChunkLocationBitPJSNewspace = 4; const uintptr_t ChunkLocationBitPJSFromspace = 8; const uintptr_t ChunkLocationAnyNursery = ChunkLocationBitNursery | ChunkLocationBitPJSNewspace | ChunkLocationBitPJSFromspace; inline void AssertGCThingHasType(js::gc::Cell *cell, JSGCTraceKind kind) {} } } namespace JS { struct Zone; const uint32_t DefaultNurseryBytes = 16 * js::gc::ChunkSize; const uint32_t DefaultHeapMaxBytes = 32 * 1024 * 1024; static __attribute__((always_inline)) inline js::gc::Cell * AsCell(JSObject *obj) { js::gc::Cell *cell = reinterpret_cast(obj); js::gc::AssertGCThingHasType(cell, JSTRACE_OBJECT); return cell; } static __attribute__((always_inline)) inline js::gc::Cell * AsCell(JSFunction *fun) { js::gc::Cell *cell = reinterpret_cast(fun); js::gc::AssertGCThingHasType(cell, JSTRACE_OBJECT); return cell; } static __attribute__((always_inline)) inline js::gc::Cell * AsCell(JSString *str) { js::gc::Cell *cell = reinterpret_cast(str); js::gc::AssertGCThingHasType(cell, JSTRACE_STRING); return cell; } static __attribute__((always_inline)) inline js::gc::Cell * AsCell(JSFlatString *flat) { js::gc::Cell *cell = reinterpret_cast(flat); js::gc::AssertGCThingHasType(cell, JSTRACE_STRING); return cell; } static __attribute__((always_inline)) inline js::gc::Cell * AsCell(JS::Symbol *sym) { js::gc::Cell *cell = reinterpret_cast(sym); js::gc::AssertGCThingHasType(cell, JSTRACE_SYMBOL); return cell; } static __attribute__((always_inline)) inline js::gc::Cell * AsCell(JSScript *script) { js::gc::Cell *cell = reinterpret_cast(script); js::gc::AssertGCThingHasType(cell, JSTRACE_SCRIPT); return cell; } namespace shadow { struct ArenaHeader { JS::Zone *zone; }; struct Zone { protected: JSRuntime *const runtime_; JSTracer *const barrierTracer_; public: bool needsIncrementalBarrier_; Zone(JSRuntime *runtime, JSTracer *barrierTracerArg) : runtime_(runtime), barrierTracer_(barrierTracerArg), needsIncrementalBarrier_(false) {} bool needsIncrementalBarrier() const { return needsIncrementalBarrier_; } JSTracer *barrierTracer() { do { } while (0); do { } while (0); return barrierTracer_; } JSRuntime *runtimeFromMainThread() const { do { } while (0); return runtime_; } JSRuntime *runtimeFromAnyThread() const { return runtime_; } static JS::shadow::Zone *asShadowZone(JS::Zone *zone) { return reinterpret_cast(zone); } }; } } namespace js { namespace gc { static __attribute__((always_inline)) inline uintptr_t * GetGCThingMarkBitmap(const void *thing) { do { } while (0); uintptr_t addr = uintptr_t(thing); addr &= ~js::gc::ChunkMask; addr |= js::gc::ChunkMarkBitmapOffset; return reinterpret_cast(addr); } static __attribute__((always_inline)) inline JS::shadow::Runtime * GetGCThingRuntime(const void *thing) { do { } while (0); uintptr_t addr = uintptr_t(thing); addr &= ~js::gc::ChunkMask; addr |= js::gc::ChunkRuntimeOffset; return *reinterpret_cast(addr); } static __attribute__((always_inline)) inline void GetGCThingMarkWordAndMask(const void *thing, uint32_t color, uintptr_t **wordp, uintptr_t *maskp) { uintptr_t addr = uintptr_t(thing); size_t bit = (addr & js::gc::ChunkMask) / js::gc::CellSize + color; do { } while (0); uintptr_t *bitmap = GetGCThingMarkBitmap(thing); const uintptr_t nbits = sizeof(*bitmap) * 8; *maskp = uintptr_t(1) << (bit % nbits); *wordp = &bitmap[bit / nbits]; } static __attribute__((always_inline)) inline JS::shadow::ArenaHeader * GetGCThingArena(void *thing) { uintptr_t addr = uintptr_t(thing); addr &= ~js::gc::ArenaMask; return reinterpret_cast(addr); } __attribute__((always_inline)) inline bool IsInsideNursery(const js::gc::Cell *cell) { if (!cell) return false; uintptr_t addr = uintptr_t(cell); addr &= ~js::gc::ChunkMask; addr |= js::gc::ChunkLocationOffset; uint32_t location = *reinterpret_cast(addr); do { } while (0); return location & ChunkLocationAnyNursery; } } } namespace JS { static __attribute__((always_inline)) inline Zone * GetTenuredGCThingZone(void *thing) { do { } while (0); do { } while (0); return js::gc::GetGCThingArena(thing)->zone; } extern __attribute__((visibility("default"))) Zone * GetObjectZone(JSObject *obj); static __attribute__((always_inline)) inline bool GCThingIsMarkedGray(void *thing) { do { } while (0); if (js::gc::IsInsideNursery((js::gc::Cell *)thing)) return false; uintptr_t *word, mask; js::gc::GetGCThingMarkWordAndMask(thing, js::gc::GRAY, &word, &mask); return *word & mask; } static __attribute__((always_inline)) inline bool IsIncrementalBarrierNeededOnTenuredGCThing(shadow::Runtime *rt, void *thing, JSGCTraceKind kind) { do { } while (0); do { } while (0); if (!rt->needsIncrementalBarrier()) return false; JS::Zone *zone = GetTenuredGCThingZone(thing); return reinterpret_cast(zone)->needsIncrementalBarrier(); } } # 13 "../../../dist/include/js/GCAPI.h" 2 namespace js { namespace gc { class GCRuntime; } } typedef enum JSGCMode { JSGC_MODE_GLOBAL = 0, JSGC_MODE_COMPARTMENT = 1, JSGC_MODE_INCREMENTAL = 2 } JSGCMode; namespace JS { # 95 "../../../dist/include/js/GCAPI.h" namespace gcreason { enum Reason { API, MAYBEGC, DESTROY_RUNTIME, DESTROY_CONTEXT, LAST_DITCH, TOO_MUCH_MALLOC, ALLOC_TRIGGER, DEBUG_GC, COMPARTMENT_REVIVED, RESET, OUT_OF_NURSERY, EVICT_NURSERY, FULL_STORE_BUFFER, SHARED_MEMORY_LIMIT, RESERVED0, RESERVED1, RESERVED2, RESERVED3, RESERVED4, RESERVED5, RESERVED6, RESERVED7, RESERVED8, RESERVED9, RESERVED10, RESERVED11, RESERVED12, RESERVED13, RESERVED14, RESERVED15, RESERVED16, RESERVED17, RESERVED18, DOM_WINDOW_UTILS, COMPONENT_UTILS, MEM_PRESSURE, CC_WAITING, CC_FORCED, LOAD_END, POST_COMPARTMENT, PAGE_HIDE, NSJSCONTEXT_DESTROY, SET_NEW_DOCUMENT, SET_DOC_SHELL, DOM_UTILS, DOM_IPC, DOM_WORKER, INTER_SLICE_GC, REFRESH_FRAME, FULL_GC_TIMER, SHUTDOWN_CC, FINISH_LARGE_EVALUATE, NO_REASON, NUM_REASONS, NUM_TELEMETRY_REASONS = 100 }; } # 133 "../../../dist/include/js/GCAPI.h" extern __attribute__((visibility("default"))) void PrepareZoneForGC(Zone *zone); extern __attribute__((visibility("default"))) void PrepareForFullGC(JSRuntime *rt); extern __attribute__((visibility("default"))) void PrepareForIncrementalGC(JSRuntime *rt); extern __attribute__((visibility("default"))) bool IsGCScheduled(JSRuntime *rt); extern __attribute__((visibility("default"))) void SkipZoneForGC(Zone *zone); # 175 "../../../dist/include/js/GCAPI.h" extern __attribute__((visibility("default"))) void GCForReason(JSRuntime *rt, gcreason::Reason reason); extern __attribute__((visibility("default"))) void ShrinkingGC(JSRuntime *rt, gcreason::Reason reason); # 218 "../../../dist/include/js/GCAPI.h" extern __attribute__((visibility("default"))) void IncrementalGC(JSRuntime *rt, gcreason::Reason reason, int64_t millis = 0); extern __attribute__((visibility("default"))) void FinishIncrementalGC(JSRuntime *rt, gcreason::Reason reason); enum GCProgress { # 241 "../../../dist/include/js/GCAPI.h" GC_CYCLE_BEGIN, GC_SLICE_BEGIN, GC_SLICE_END, GC_CYCLE_END }; struct __attribute__((visibility("default"))) GCDescription { bool isCompartment_; explicit GCDescription(bool isCompartment) : isCompartment_(isCompartment) {} char16_t *formatMessage(JSRuntime *rt) const; char16_t *formatJSON(JSRuntime *rt, uint64_t timestamp) const; }; typedef void (* GCSliceCallback)(JSRuntime *rt, GCProgress progress, const GCDescription &desc); extern __attribute__((visibility("default"))) GCSliceCallback SetGCSliceCallback(JSRuntime *rt, GCSliceCallback callback); extern __attribute__((visibility("default"))) void DisableIncrementalGC(JSRuntime *rt); # 285 "../../../dist/include/js/GCAPI.h" extern __attribute__((visibility("default"))) bool IsIncrementalGCEnabled(JSRuntime *rt); __attribute__((visibility("default"))) bool IsIncrementalGCInProgress(JSRuntime *rt); extern __attribute__((visibility("default"))) bool IsIncrementalBarrierNeeded(JSRuntime *rt); extern __attribute__((visibility("default"))) bool IsIncrementalBarrierNeeded(JSContext *cx); extern __attribute__((visibility("default"))) void IncrementalReferenceBarrier(void *ptr, JSGCTraceKind kind); extern __attribute__((visibility("default"))) void IncrementalValueBarrier(const Value &v); extern __attribute__((visibility("default"))) void IncrementalObjectBarrier(JSObject *obj); extern __attribute__((visibility("default"))) bool WasIncrementalGC(JSRuntime *rt); # 334 "../../../dist/include/js/GCAPI.h" class __attribute__((visibility("default"))) AutoDisableGenerationalGC { js::gc::GCRuntime *gc; public: explicit AutoDisableGenerationalGC(JSRuntime *rt); ~AutoDisableGenerationalGC(); }; extern __attribute__((visibility("default"))) bool IsGenerationalGCEnabled(JSRuntime *rt); extern __attribute__((visibility("default"))) size_t GetGCNumber(); extern __attribute__((visibility("default"))) void ShrinkGCBuffers(JSRuntime *rt); class __attribute__((visibility("default"))) AutoAssertOnGC { # 386 "../../../dist/include/js/GCAPI.h" public: AutoAssertOnGC() {} explicit AutoAssertOnGC(JSRuntime *rt) {} ~AutoAssertOnGC() {} static void VerifyIsSafeToGC(JSRuntime *rt) {} }; class __attribute__((visibility("default"))) AutoAssertNoAlloc { # 410 "../../../dist/include/js/GCAPI.h" public: AutoAssertNoAlloc() {} explicit AutoAssertNoAlloc(JSRuntime *rt) {} void disallowAlloc(JSRuntime *rt) {} }; # 431 "../../../dist/include/js/GCAPI.h" class __attribute__((visibility("default"))) AutoSuppressGCAnalysis : public AutoAssertNoAlloc { public: AutoSuppressGCAnalysis() : AutoAssertNoAlloc() {} explicit AutoSuppressGCAnalysis(JSRuntime *rt) : AutoAssertNoAlloc(rt) {} }; # 446 "../../../dist/include/js/GCAPI.h" class __attribute__((visibility("default"))) AutoAssertGCCallback : public AutoSuppressGCAnalysis { public: explicit AutoAssertGCCallback(JSObject *obj); }; # 462 "../../../dist/include/js/GCAPI.h" class __attribute__((visibility("default"))) AutoCheckCannotGC : public AutoAssertOnGC { public: AutoCheckCannotGC() : AutoAssertOnGC() {} explicit AutoCheckCannotGC(JSRuntime *rt) : AutoAssertOnGC(rt) {} }; extern __attribute__((visibility("default"))) bool UnmarkGrayGCThingRecursively(void *thing, JSGCTraceKind kind); } namespace js { namespace gc { static __attribute__((always_inline)) inline void ExposeGCThingToActiveJS(void *thing, JSGCTraceKind kind) { do { } while (0); JS::shadow::Runtime *rt = GetGCThingRuntime(thing); if (IsInsideNursery((Cell *)thing)) return; if (JS::IsIncrementalBarrierNeededOnTenuredGCThing(rt, thing, kind)) JS::IncrementalReferenceBarrier(thing, kind); else if (JS::GCThingIsMarkedGray(thing)) JS::UnmarkGrayGCThingRecursively(thing, kind); } } } namespace JS { static __attribute__((always_inline)) inline void ExposeObjectToActiveJS(JSObject *obj) { js::gc::ExposeGCThingToActiveJS(obj, JSTRACE_OBJECT); } static __attribute__((always_inline)) inline void ExposeScriptToActiveJS(JSScript *script) { js::gc::ExposeGCThingToActiveJS(script, JSTRACE_SCRIPT); } static __attribute__((always_inline)) inline void MarkGCThingAsLive(JSRuntime *rt_, void *thing, JSGCTraceKind kind) { shadow::Runtime *rt = shadow::Runtime::asShadowRuntime(rt_); if (js::gc::IsInsideNursery((js::gc::Cell *)thing)) return; if (IsIncrementalBarrierNeededOnTenuredGCThing(rt, thing, kind)) IncrementalReferenceBarrier(thing, kind); } static __attribute__((always_inline)) inline void MarkStringAsLive(Zone *zone, JSString *string) { JSRuntime *rt = JS::shadow::Zone::asShadowZone(zone)->runtimeFromMainThread(); MarkGCThingAsLive(rt, string, JSTRACE_STRING); } extern __attribute__((visibility("default"))) void PokeGC(JSRuntime *rt); extern __attribute__((visibility("default"))) void NotifyDidPaint(JSRuntime *rt); } # 22 "../../../dist/include/js/Value.h" 2 # 1 "../../../dist/include/js/RootingAPI.h" 1 # 13 "../../../dist/include/js/RootingAPI.h" # 1 "../../../dist/include/mozilla/LinkedList.h" 1 # 14 "../../../dist/include/js/RootingAPI.h" 2 # 1 "../../../dist/include/js/TypeDecls.h" 1 # 22 "../../../dist/include/js/RootingAPI.h" 2 # 105 "../../../dist/include/js/RootingAPI.h" namespace js { template struct GCMethods {}; template class RootedBase {}; template class HandleBase {}; template class MutableHandleBase {}; template class HeapBase {}; # 135 "../../../dist/include/js/RootingAPI.h" struct NullPtr { static void * const constNullValue; }; namespace gc { struct Cell; template struct PersistentRootedMarker; } } namespace JS { template class Rooted; template class PersistentRooted; __attribute__((visibility("default"))) bool isGCEnabled(); # 165 "../../../dist/include/js/RootingAPI.h" struct __attribute__((visibility("default"))) NullPtr { static void * const constNullValue; }; __attribute__((visibility("default"))) void HeapCellPostBarrier(js::gc::Cell **cellp); __attribute__((visibility("default"))) void HeapCellRelocate(js::gc::Cell **cellp); # 183 "../../../dist/include/js/RootingAPI.h" inline void AssertGCThingMustBeTenured(JSObject *obj) {} # 206 "../../../dist/include/js/RootingAPI.h" template class Heap : public js::HeapBase { public: Heap() { static_assert(sizeof(T) == sizeof(Heap), "Heap must be binary compatible with T."); init(js::GCMethods::initial()); } explicit Heap(T p) { init(p); } explicit Heap(const Heap &p) { init(p.ptr); } ~Heap() { if (js::GCMethods::needsPostBarrier(ptr)) relocate(); } bool operator==(const Heap &other) { return ptr == other.ptr; } bool operator!=(const Heap &other) { return ptr != other.ptr; } bool operator==(const T &other) const { return ptr == other; } bool operator!=(const T &other) const { return ptr != other; } operator T() const { return ptr; } T operator->() const { return ptr; } const T *address() const { return &ptr; } const T &get() const { return ptr; } T *unsafeGet() { return &ptr; } Heap &operator=(T p) { set(p); return *this; } Heap &operator=(const Heap& other) { set(other.get()); return *this; } void set(T newPtr) { do { } while (0); if (js::GCMethods::needsPostBarrier(newPtr)) { ptr = newPtr; post(); } else if (js::GCMethods::needsPostBarrier(ptr)) { relocate(); ptr = newPtr; } else { ptr = newPtr; } } void setToCrashOnTouch() { ptr = reinterpret_cast(crashOnTouchPointer); } bool isSetToCrashOnTouch() { return ptr == crashOnTouchPointer; } private: void init(T newPtr) { do { } while (0); ptr = newPtr; if (js::GCMethods::needsPostBarrier(ptr)) post(); } void post() { do { } while (0); js::GCMethods::postBarrier(&ptr); } void relocate() { js::GCMethods::relocate(&ptr); } enum { crashOnTouchPointer = 1 }; T ptr; }; # 335 "../../../dist/include/js/RootingAPI.h" template class TenuredHeap : public js::HeapBase { public: TenuredHeap() : bits(0) { static_assert(sizeof(T) == sizeof(TenuredHeap), "TenuredHeap must be binary compatible with T."); } explicit TenuredHeap(T p) : bits(0) { setPtr(p); } explicit TenuredHeap(const TenuredHeap &p) : bits(0) { setPtr(p.getPtr()); } bool operator==(const TenuredHeap &other) { return bits == other.bits; } bool operator!=(const TenuredHeap &other) { return bits != other.bits; } void setPtr(T newPtr) { do { } while (0); do { } while (0); if (newPtr) AssertGCThingMustBeTenured(newPtr); bits = (bits & flagsMask) | reinterpret_cast(newPtr); } void setFlags(uintptr_t flagsToSet) { do { } while (0); bits |= flagsToSet; } void unsetFlags(uintptr_t flagsToUnset) { do { } while (0); bits &= ~flagsToUnset; } bool hasFlag(uintptr_t flag) const { do { } while (0); return (bits & flag) != 0; } T getPtr() const { return reinterpret_cast(bits & ~flagsMask); } uintptr_t getFlags() const { return bits & flagsMask; } operator T() const { return getPtr(); } T operator->() const { return getPtr(); } TenuredHeap &operator=(T p) { setPtr(p); return *this; } TenuredHeap &operator=(const TenuredHeap& other) { bits = other.bits; return *this; } private: enum { maskBits = 3, flagsMask = (1 << maskBits) - 1, }; uintptr_t bits; }; # 405 "../../../dist/include/js/RootingAPI.h" template class Handle : public js::HandleBase { friend class JS::MutableHandle; public: template Handle(Handle handle, typename mozilla::EnableIf::value, int>::Type dummy = 0) { static_assert(sizeof(Handle) == sizeof(T *), "Handle must be binary compatible with T*."); ptr = reinterpret_cast(handle.address()); } Handle(js::NullPtr) { static_assert(mozilla::IsPointer::value, "js::NullPtr overload not valid for non-pointer types"); ptr = reinterpret_cast(&js::NullPtr::constNullValue); } Handle(JS::NullPtr) { static_assert(mozilla::IsPointer::value, "JS::NullPtr overload not valid for non-pointer types"); ptr = reinterpret_cast(&JS::NullPtr::constNullValue); } Handle(MutableHandle handle) { ptr = handle.address(); } # 454 "../../../dist/include/js/RootingAPI.h" static constexpr Handle fromMarkedLocation(const T *p) { return Handle(p, DeliberatelyChoosingThisOverload, ImUsingThisOnlyInFromFromMarkedLocation); } template inline Handle(const Rooted &root, typename mozilla::EnableIf::value, int>::Type dummy = 0); template inline Handle(const PersistentRooted &root, typename mozilla::EnableIf::value, int>::Type dummy = 0); template inline Handle(MutableHandle &root, typename mozilla::EnableIf::value, int>::Type dummy = 0); const T *address() const { return ptr; } const T& get() const { return *ptr; } operator const T&() const { return get(); } T operator->() const { return get(); } bool operator!=(const T &other) const { return *ptr != other; } bool operator==(const T &other) const { return *ptr == other; } private: Handle() {} enum Disambiguator { DeliberatelyChoosingThisOverload = 42 }; enum CallerIdentity { ImUsingThisOnlyInFromFromMarkedLocation = 17 }; constexpr Handle(const T *p, Disambiguator, CallerIdentity) : ptr(p) {} const T *ptr; template void operator=(S) = delete; void operator=(Handle) = delete; }; # 513 "../../../dist/include/js/RootingAPI.h" template class MutableHandle : public js::MutableHandleBase { public: inline MutableHandle(Rooted *root); inline MutableHandle(PersistentRooted *root); private: template MutableHandle(N, typename mozilla::EnableIf::value || mozilla::IsSame::value || mozilla::IsSame::value, int>::Type dummy = 0) = delete; public: void set(T v) { do { } while (0); *ptr = v; } # 544 "../../../dist/include/js/RootingAPI.h" static MutableHandle fromMarkedLocation(T *p) { MutableHandle h; h.ptr = p; return h; } T *address() const { return ptr; } const T& get() const { return *ptr; } operator const T&() const { return get(); } T operator->() const { return get(); } private: MutableHandle() {} T *ptr; template void operator=(S v) = delete; void operator=(MutableHandle other) = delete; }; } namespace js { template class InternalHandle {}; template class InternalHandle { void * const *holder; size_t offset; public: template InternalHandle(const JS::Handle &handle, T *field) : holder((void**)handle.address()), offset(uintptr_t(field) - uintptr_t(handle.get())) {} template InternalHandle(const JS::Rooted &root, T *field) : holder((void**)root.address()), offset(uintptr_t(field) - uintptr_t(root.get())) {} InternalHandle(const InternalHandle& other) : holder(other.holder), offset(other.offset) {} T *get() const { return reinterpret_cast(uintptr_t(*holder) + offset); } const T &operator*() const { return *get(); } T *operator->() const { return get(); } static InternalHandle fromMarkedLocation(T *fieldPtr) { return InternalHandle(fieldPtr); } private: # 628 "../../../dist/include/js/RootingAPI.h" explicit InternalHandle(T *field) : holder(reinterpret_cast(&js::NullPtr::constNullValue)), offset(uintptr_t(field)) {} void operator=(InternalHandle other) = delete; }; template struct RootKind { static ThingRootKind rootKind() { return T::rootKind(); } }; template struct RootKind { static ThingRootKind rootKind() { return T::rootKind(); } }; template struct GCMethods { static T *initial() { return nullptr; } static bool poisoned(T *v) { return JS::IsPoisonedPtr(v); } static bool needsPostBarrier(T *v) { return false; } static void postBarrier(T **vp) {} static void relocate(T **vp) {} }; template <> struct GCMethods { static JSObject *initial() { return nullptr; } static bool poisoned(JSObject *v) { return JS::IsPoisonedPtr(v); } static gc::Cell *asGCThingOrNull(JSObject *v) { if (!v) return nullptr; do { } while (0); return reinterpret_cast(v); } static bool needsPostBarrier(JSObject *v) { return v != nullptr && gc::IsInsideNursery(reinterpret_cast(v)); } static void postBarrier(JSObject **vp) { JS::HeapCellPostBarrier(reinterpret_cast(vp)); } static void relocate(JSObject **vp) { JS::HeapCellRelocate(reinterpret_cast(vp)); } }; template <> struct GCMethods { static JSFunction *initial() { return nullptr; } static bool poisoned(JSFunction *v) { return JS::IsPoisonedPtr(v); } static bool needsPostBarrier(JSFunction *v) { return v != nullptr && gc::IsInsideNursery(reinterpret_cast(v)); } static void postBarrier(JSFunction **vp) { JS::HeapCellPostBarrier(reinterpret_cast(vp)); } static void relocate(JSFunction **vp) { JS::HeapCellRelocate(reinterpret_cast(vp)); } }; } namespace JS { # 725 "../../../dist/include/js/RootingAPI.h" template class Rooted : public js::RootedBase { template void init(CX *cx) { js::ThingRootKind kind = js::RootKind::rootKind(); this->stack = &cx->thingGCRooters[kind]; this->prev = *stack; *stack = reinterpret_cast*>(this); do { } while (0); } public: explicit Rooted(JSContext *cx ) : ptr(js::GCMethods::initial()) { do { } while (0); init(js::ContextFriendFields::get(cx)); } Rooted(JSContext *cx, T initial ) : ptr(initial) { do { } while (0); init(js::ContextFriendFields::get(cx)); } explicit Rooted(js::ContextFriendFields *cx ) : ptr(js::GCMethods::initial()) { do { } while (0); init(cx); } Rooted(js::ContextFriendFields *cx, T initial ) : ptr(initial) { do { } while (0); init(cx); } explicit Rooted(js::PerThreadDataFriendFields *pt ) : ptr(js::GCMethods::initial()) { do { } while (0); init(pt); } Rooted(js::PerThreadDataFriendFields *pt, T initial ) : ptr(initial) { do { } while (0); init(pt); } explicit Rooted(JSRuntime *rt ) : ptr(js::GCMethods::initial()) { do { } while (0); init(js::PerThreadDataFriendFields::getMainThread(rt)); } Rooted(JSRuntime *rt, T initial ) : ptr(initial) { do { } while (0); init(js::PerThreadDataFriendFields::getMainThread(rt)); } ~Rooted() { do { } while (0); *stack = prev; } Rooted *previous() { return reinterpret_cast*>(prev); } operator const T&() const { return ptr; } T operator->() const { return ptr; } T *address() { return &ptr; } const T *address() const { return &ptr; } T &get() { return ptr; } const T &get() const { return ptr; } T &operator=(T value) { do { } while (0); ptr = value; return ptr; } T &operator=(const Rooted &value) { ptr = value; return ptr; } void set(T value) { do { } while (0); ptr = value; } bool operator!=(const T &other) const { return ptr != other; } bool operator==(const T &other) const { return ptr == other; } private: Rooted **stack, *prev; T ptr; Rooted(const Rooted &) = delete; }; } namespace js { # 880 "../../../dist/include/js/RootingAPI.h" template <> class RootedBase { public: template JS::Handle as() const; }; # 898 "../../../dist/include/js/RootingAPI.h" template <> class HandleBase { public: template JS::Handle as() const; }; template class FakeRooted : public RootedBase { public: template FakeRooted(CX *cx ) : ptr(GCMethods::initial()) { do { } while (0); } template FakeRooted(CX *cx, T initial ) : ptr(initial) { do { } while (0); } operator T() const { return ptr; } T operator->() const { return ptr; } T *address() { return &ptr; } const T *address() const { return &ptr; } T &get() { return ptr; } const T &get() const { return ptr; } FakeRooted &operator=(T value) { do { } while (0); ptr = value; return *this; } FakeRooted &operator=(const FakeRooted &other) { do { } while (0); ptr = other.ptr; return *this; } bool operator!=(const T &other) const { return ptr != other; } bool operator==(const T &other) const { return ptr == other; } private: T ptr; FakeRooted(const FakeRooted &) = delete; }; template class FakeMutableHandle : public js::MutableHandleBase { public: FakeMutableHandle(T *t) { ptr = t; } FakeMutableHandle(FakeRooted *root) { ptr = root->address(); } void set(T v) { do { } while (0); *ptr = v; } T *address() const { return ptr; } T get() const { return *ptr; } operator T() const { return get(); } T operator->() const { return get(); } private: FakeMutableHandle() {} T *ptr; template void operator=(S v) = delete; void operator=(const FakeMutableHandle& other) = delete; }; # 1001 "../../../dist/include/js/RootingAPI.h" enum AllowGC { NoGC = 0, CanGC = 1 }; template class MaybeRooted { }; template class MaybeRooted { public: typedef JS::Handle HandleType; typedef JS::Rooted RootType; typedef JS::MutableHandle MutableHandleType; static inline JS::Handle toHandle(HandleType v) { return v; } static inline JS::MutableHandle toMutableHandle(MutableHandleType v) { return v; } template static inline JS::Handle downcastHandle(HandleType v) { return v.template as(); } }; template class MaybeRooted { public: typedef T HandleType; typedef FakeRooted RootType; typedef FakeMutableHandle MutableHandleType; static JS::Handle toHandle(HandleType v) { do { *((volatile int*) # 1039 "../../../dist/include/js/RootingAPI.h" 3 4 __null # 1039 "../../../dist/include/js/RootingAPI.h" ) = 1039; ::abort(); } while (0); } static JS::MutableHandle toMutableHandle(MutableHandleType v) { do { *((volatile int*) # 1043 "../../../dist/include/js/RootingAPI.h" 3 4 __null # 1043 "../../../dist/include/js/RootingAPI.h" ) = 1043; ::abort(); } while (0); } template static inline T2* downcastHandle(HandleType v) { return &v->template as(); } }; } namespace JS { template template inline Handle::Handle(const Rooted &root, typename mozilla::EnableIf::value, int>::Type dummy) { ptr = reinterpret_cast(root.address()); } template template inline Handle::Handle(const PersistentRooted &root, typename mozilla::EnableIf::value, int>::Type dummy) { ptr = reinterpret_cast(root.address()); } template template inline Handle::Handle(MutableHandle &root, typename mozilla::EnableIf::value, int>::Type dummy) { ptr = reinterpret_cast(root.address()); } template inline MutableHandle::MutableHandle(Rooted *root) { static_assert(sizeof(MutableHandle) == sizeof(T *), "MutableHandle must be binary compatible with T*."); ptr = root->address(); } template inline MutableHandle::MutableHandle(PersistentRooted *root) { static_assert(sizeof(MutableHandle) == sizeof(T *), "MutableHandle must be binary compatible with T*."); ptr = root->address(); } # 1130 "../../../dist/include/js/RootingAPI.h" template class PersistentRooted : private mozilla::LinkedListElement > { friend class mozilla::LinkedList; friend class mozilla::LinkedListElement; friend struct js::gc::PersistentRootedMarker; void registerWithRuntime(JSRuntime *rt) { JS::shadow::Runtime *srt = JS::shadow::Runtime::asShadowRuntime(rt); srt->getPersistentRootedList().insertBack(this); } public: explicit PersistentRooted(JSContext *cx) : ptr(js::GCMethods::initial()) { registerWithRuntime(js::GetRuntime(cx)); } PersistentRooted(JSContext *cx, T initial) : ptr(initial) { registerWithRuntime(js::GetRuntime(cx)); } explicit PersistentRooted(JSRuntime *rt) : ptr(js::GCMethods::initial()) { registerWithRuntime(rt); } PersistentRooted(JSRuntime *rt, T initial) : ptr(initial) { registerWithRuntime(rt); } PersistentRooted(const PersistentRooted &rhs) : mozilla::LinkedListElement >(), ptr(rhs.ptr) { # 1175 "../../../dist/include/js/RootingAPI.h" const_cast(rhs).setNext(this); } operator const T&() const { return ptr; } T operator->() const { return ptr; } T *address() { return &ptr; } const T *address() const { return &ptr; } T &get() { return ptr; } const T &get() const { return ptr; } T &operator=(T value) { do { } while (0); ptr = value; return ptr; } T &operator=(const PersistentRooted &value) { ptr = value; return ptr; } void set(T value) { do { } while (0); ptr = value; } bool operator!=(const T &other) const { return ptr != other; } bool operator==(const T &other) const { return ptr == other; } private: T ptr; }; class __attribute__((visibility("default"))) ObjectPtr { Heap value; public: ObjectPtr() : value(nullptr) {} explicit ObjectPtr(JSObject *obj) : value(obj) {} ~ObjectPtr() { do { } while (0); } void finalize(JSRuntime *rt) { if (IsIncrementalBarrierNeeded(rt)) IncrementalObjectBarrier(value); value = nullptr; } void init(JSObject *obj) { value = obj; } JSObject *get() const { return value; } void writeBarrierPre(JSRuntime *rt) { IncrementalObjectBarrier(value); } void updateWeakPointerAfterGC(); ObjectPtr &operator=(JSObject *obj) { IncrementalObjectBarrier(value); value = obj; return *this; } void trace(JSTracer *trc, const char *name); JSObject &operator*() const { return *value; } JSObject *operator->() const { return value; } operator JSObject *() const { return value; } }; } namespace js { namespace gc { template void CallTraceCallbackOnNonHeap(T *v, const TraceCallbacks &aCallbacks, const char *aName, void *aClosure) { static_assert(sizeof(T) == sizeof(JS::Heap), "T and Heap must be compatible."); do { } while (0); mozilla::DebugOnly cell = GCMethods::asGCThingOrNull(*v); do { } while (0); do { } while (0); JS::Heap *asHeapT = reinterpret_cast*>(v); aCallbacks.Trace(asHeapT, aName, aClosure); } } } # 23 "../../../dist/include/js/Value.h" 2 namespace JS { class Value; } # 70 "../../../dist/include/js/Value.h" enum JSValueType { JSVAL_TYPE_DOUBLE = 0x00, JSVAL_TYPE_INT32 = 0x01, JSVAL_TYPE_UNDEFINED = 0x02, JSVAL_TYPE_BOOLEAN = 0x03, JSVAL_TYPE_MAGIC = 0x04, JSVAL_TYPE_STRING = 0x05, JSVAL_TYPE_SYMBOL = 0x06, JSVAL_TYPE_NULL = 0x07, JSVAL_TYPE_OBJECT = 0x08, JSVAL_TYPE_UNKNOWN = 0x20, JSVAL_TYPE_MISSING = 0x21 } __attribute__((packed)); static_assert(sizeof(JSValueType) == 1, "compiler typed enum support is apparently buggy"); enum JSValueTag { JSVAL_TAG_CLEAR = 0xFFFFFF80, JSVAL_TAG_INT32 = JSVAL_TAG_CLEAR | JSVAL_TYPE_INT32, JSVAL_TAG_UNDEFINED = JSVAL_TAG_CLEAR | JSVAL_TYPE_UNDEFINED, JSVAL_TAG_STRING = JSVAL_TAG_CLEAR | JSVAL_TYPE_STRING, JSVAL_TAG_SYMBOL = JSVAL_TAG_CLEAR | JSVAL_TYPE_SYMBOL, JSVAL_TAG_BOOLEAN = JSVAL_TAG_CLEAR | JSVAL_TYPE_BOOLEAN, JSVAL_TAG_MAGIC = JSVAL_TAG_CLEAR | JSVAL_TYPE_MAGIC, JSVAL_TAG_NULL = JSVAL_TAG_CLEAR | JSVAL_TYPE_NULL, JSVAL_TAG_OBJECT = JSVAL_TAG_CLEAR | JSVAL_TYPE_OBJECT } __attribute__((packed)); static_assert(sizeof(JSValueTag) == sizeof(uint32_t), "compiler typed enum support is apparently buggy"); # 238 "../../../dist/include/js/Value.h" typedef enum JSWhyMagic { JS_ELEMENTS_HOLE, JS_NATIVE_ENUMERATE, JS_NO_ITER_VALUE, JS_GENERATOR_CLOSING, JS_NO_CONSTANT, JS_THIS_POISON, JS_ARG_POISON, JS_SERIALIZE_NO_NODE, JS_LAZY_ARGUMENTS, JS_OPTIMIZED_ARGUMENTS, JS_IS_CONSTRUCTING, JS_OVERWRITTEN_CALLEE, JS_BLOCK_NEEDS_CLONE, JS_HASH_KEY_EMPTY, JS_ION_ERROR, JS_ION_BAILOUT, JS_OPTIMIZED_OUT, JS_UNINITIALIZED_LEXICAL, JS_GENERIC_MAGIC, JS_WHY_MAGIC_COUNT } JSWhyMagic; typedef union jsval_layout { uint64_t asBits; struct { union { int32_t i32; uint32_t u32; uint32_t boo; JSString *str; JS::Symbol *sym; JSObject *obj; js::gc::Cell *cell; void *ptr; JSWhyMagic why; size_t word; uintptr_t uintptr; } payload; JSValueTag tag; } s; double asDouble; void *asPtr; } __attribute__((aligned (8))) jsval_layout; # 361 "../../../dist/include/js/Value.h" static_assert(sizeof(jsval_layout) == 8, "JS_STATIC_ASSERT"); # 414 "../../../dist/include/js/Value.h" static inline constexpr jsval_layout BUILD_JSVAL(JSValueTag tag, uint32_t payload) { return (jsval_layout) { .asBits = ((((uint64_t)(uint32_t)tag) << 32) | payload) }; } static inline bool JSVAL_IS_DOUBLE_IMPL(jsval_layout l) { return (uint32_t)l.s.tag <= (uint32_t)JSVAL_TAG_CLEAR; } static inline jsval_layout DOUBLE_TO_JSVAL_IMPL(double d) { jsval_layout l; l.asDouble = d; do { } while (0); return l; } static inline bool JSVAL_IS_INT32_IMPL(jsval_layout l) { return l.s.tag == JSVAL_TAG_INT32; } static inline int32_t JSVAL_TO_INT32_IMPL(jsval_layout l) { return l.s.payload.i32; } static inline constexpr jsval_layout INT32_TO_JSVAL_IMPL(int32_t i) { return BUILD_JSVAL(JSVAL_TAG_INT32, i); } static inline bool JSVAL_IS_NUMBER_IMPL(jsval_layout l) { JSValueTag tag = l.s.tag; do { } while (0); return (uint32_t)tag <= (uint32_t)JSVAL_TAG_INT32; } static inline bool JSVAL_IS_UNDEFINED_IMPL(jsval_layout l) { return l.s.tag == JSVAL_TAG_UNDEFINED; } static inline bool JSVAL_IS_STRING_IMPL(jsval_layout l) { return l.s.tag == JSVAL_TAG_STRING; } static inline jsval_layout STRING_TO_JSVAL_IMPL(JSString *str) { jsval_layout l; do { } while (0); l.s.tag = JSVAL_TAG_STRING; l.s.payload.str = str; return l; } static inline JSString * JSVAL_TO_STRING_IMPL(jsval_layout l) { return l.s.payload.str; } static inline bool JSVAL_IS_SYMBOL_IMPL(jsval_layout l) { return l.s.tag == JSVAL_TAG_SYMBOL; } static inline jsval_layout SYMBOL_TO_JSVAL_IMPL(JS::Symbol *sym) { jsval_layout l; do { } while (0); l.s.tag = JSVAL_TAG_SYMBOL; l.s.payload.sym = sym; return l; } static inline JS::Symbol * JSVAL_TO_SYMBOL_IMPL(jsval_layout l) { return l.s.payload.sym; } static inline bool JSVAL_IS_BOOLEAN_IMPL(jsval_layout l) { return l.s.tag == JSVAL_TAG_BOOLEAN; } static inline bool JSVAL_TO_BOOLEAN_IMPL(jsval_layout l) { return l.s.payload.boo; } static inline jsval_layout BOOLEAN_TO_JSVAL_IMPL(bool b) { jsval_layout l; l.s.tag = JSVAL_TAG_BOOLEAN; l.s.payload.boo = b; return l; } static inline bool JSVAL_IS_MAGIC_IMPL(jsval_layout l) { return l.s.tag == JSVAL_TAG_MAGIC; } static inline bool JSVAL_IS_OBJECT_IMPL(jsval_layout l) { return l.s.tag == JSVAL_TAG_OBJECT; } static inline bool JSVAL_IS_PRIMITIVE_IMPL(jsval_layout l) { return (uint32_t)l.s.tag < (uint32_t)JSVAL_TAG_OBJECT; } static inline bool JSVAL_IS_OBJECT_OR_NULL_IMPL(jsval_layout l) { do { } while (0); return (uint32_t)l.s.tag >= (uint32_t)JSVAL_TAG_NULL; } static inline JSObject * JSVAL_TO_OBJECT_IMPL(jsval_layout l) { return l.s.payload.obj; } static inline jsval_layout OBJECT_TO_JSVAL_IMPL(JSObject *obj) { jsval_layout l; do { } while (0); l.s.tag = JSVAL_TAG_OBJECT; l.s.payload.obj = obj; return l; } static inline bool JSVAL_IS_NULL_IMPL(jsval_layout l) { return l.s.tag == JSVAL_TAG_NULL; } static inline jsval_layout PRIVATE_PTR_TO_JSVAL_IMPL(void *ptr) { jsval_layout l; do { } while (0); l.s.tag = (JSValueTag)0; l.s.payload.ptr = ptr; do { } while (0); return l; } static inline void * JSVAL_TO_PRIVATE_PTR_IMPL(jsval_layout l) { return l.s.payload.ptr; } static inline bool JSVAL_IS_GCTHING_IMPL(jsval_layout l) { return (uint32_t)l.s.tag >= (uint32_t)JSVAL_TAG_STRING; } static inline js::gc::Cell * JSVAL_TO_GCTHING_IMPL(jsval_layout l) { return l.s.payload.cell; } static inline uint32_t JSVAL_TRACE_KIND_IMPL(jsval_layout l) { static_assert((JSVAL_TAG_STRING & 0x03) == JSTRACE_STRING, "Value type tags must correspond with JSGCTraceKinds."); static_assert((JSVAL_TAG_SYMBOL & 0x03) == JSTRACE_SYMBOL, "Value type tags must correspond with JSGCTraceKinds."); static_assert((JSVAL_TAG_OBJECT & 0x03) == JSTRACE_OBJECT, "Value type tags must correspond with JSGCTraceKinds."); return l.s.tag & 0x03; } static inline bool JSVAL_IS_SPECIFIC_INT32_IMPL(jsval_layout l, int32_t i32) { return l.s.tag == JSVAL_TAG_INT32 && l.s.payload.i32 == i32; } static inline bool JSVAL_IS_SPECIFIC_BOOLEAN_IMPL(jsval_layout l, bool b) { return (l.s.tag == JSVAL_TAG_BOOLEAN) && (l.s.payload.boo == uint32_t(b)); } static inline jsval_layout MAGIC_TO_JSVAL_IMPL(JSWhyMagic why) { jsval_layout l; l.s.tag = JSVAL_TAG_MAGIC; l.s.payload.why = why; return l; } static inline jsval_layout MAGIC_UINT32_TO_JSVAL_IMPL(uint32_t payload) { jsval_layout l; l.s.tag = JSVAL_TAG_MAGIC; l.s.payload.u32 = payload; return l; } static inline bool JSVAL_SAME_TYPE_IMPL(jsval_layout lhs, jsval_layout rhs) { JSValueTag ltag = lhs.s.tag, rtag = rhs.s.tag; return ltag == rtag || (ltag < JSVAL_TAG_CLEAR && rtag < JSVAL_TAG_CLEAR); } static inline JSValueType JSVAL_EXTRACT_NON_DOUBLE_TYPE_IMPL(jsval_layout l) { uint32_t type = l.s.tag & 0xF; do { } while (0); return (JSValueType)type; } # 933 "../../../dist/include/js/Value.h" static inline bool JSVAL_IS_TRACEABLE_IMPL(jsval_layout l) { return JSVAL_IS_GCTHING_IMPL(l) && !JSVAL_IS_NULL_IMPL(l); } static inline jsval_layout JSVAL_TO_IMPL(JS::Value v); static inline constexpr JS::Value IMPL_TO_JSVAL(jsval_layout l); namespace JS { static inline constexpr JS::Value UndefinedValue(); static __attribute__((always_inline)) inline double GenericNaN() { return mozilla::SpecificNaN(0, 0x8000000000000ULL); } static inline double CanonicalizeNaN(double d) { if ((__builtin_expect(!!(mozilla::IsNaN(d)), 0))) return GenericNaN(); return d; } # 1004 "../../../dist/include/js/Value.h" class Value { public: Value() = default; Value(const Value& v) = default; void setNull() { data.asBits = BUILD_JSVAL(JSVAL_TAG_NULL, 0).asBits; } void setUndefined() { data.asBits = BUILD_JSVAL(JSVAL_TAG_UNDEFINED, 0).asBits; } void setInt32(int32_t i) { data = INT32_TO_JSVAL_IMPL(i); } int32_t &getInt32Ref() { do { } while (0); return data.s.payload.i32; } void setDouble(double d) { data = DOUBLE_TO_JSVAL_IMPL(d); } void setNaN() { setDouble(GenericNaN()); } double &getDoubleRef() { do { } while (0); return data.asDouble; } void setString(JSString *str) { do { } while (0); data = STRING_TO_JSVAL_IMPL(str); } void setSymbol(JS::Symbol *sym) { do { } while (0); data = SYMBOL_TO_JSVAL_IMPL(sym); } void setObject(JSObject &obj) { do { } while (0); data = OBJECT_TO_JSVAL_IMPL(&obj); } void setBoolean(bool b) { data = BOOLEAN_TO_JSVAL_IMPL(b); } void setMagic(JSWhyMagic why) { data = MAGIC_TO_JSVAL_IMPL(why); } void setMagicUint32(uint32_t payload) { data = MAGIC_UINT32_TO_JSVAL_IMPL(payload); } bool setNumber(uint32_t ui) { if (ui > ((int32_t)0x7fffffff)) { setDouble((double)ui); return false; } else { setInt32((int32_t)ui); return true; } } bool setNumber(double d) { int32_t i; if (mozilla::NumberIsInt32(d, &i)) { setInt32(i); return true; } setDouble(d); return false; } void setObjectOrNull(JSObject *arg) { if (arg) setObject(*arg); else setNull(); } void swap(Value &rhs) { uint64_t tmp = rhs.data.asBits; rhs.data.asBits = data.asBits; data.asBits = tmp; } bool isUndefined() const { return JSVAL_IS_UNDEFINED_IMPL(data); } bool isNull() const { return JSVAL_IS_NULL_IMPL(data); } bool isNullOrUndefined() const { return isNull() || isUndefined(); } bool isInt32() const { return JSVAL_IS_INT32_IMPL(data); } bool isInt32(int32_t i32) const { return JSVAL_IS_SPECIFIC_INT32_IMPL(data, i32); } bool isDouble() const { return JSVAL_IS_DOUBLE_IMPL(data); } bool isNumber() const { return JSVAL_IS_NUMBER_IMPL(data); } bool isString() const { return JSVAL_IS_STRING_IMPL(data); } bool isSymbol() const { return JSVAL_IS_SYMBOL_IMPL(data); } bool isObject() const { return JSVAL_IS_OBJECT_IMPL(data); } bool isPrimitive() const { return JSVAL_IS_PRIMITIVE_IMPL(data); } bool isObjectOrNull() const { return JSVAL_IS_OBJECT_OR_NULL_IMPL(data); } bool isGCThing() const { return JSVAL_IS_GCTHING_IMPL(data); } bool isBoolean() const { return JSVAL_IS_BOOLEAN_IMPL(data); } bool isTrue() const { return JSVAL_IS_SPECIFIC_BOOLEAN_IMPL(data, true); } bool isFalse() const { return JSVAL_IS_SPECIFIC_BOOLEAN_IMPL(data, false); } bool isMagic() const { return JSVAL_IS_MAGIC_IMPL(data); } bool isMagic(JSWhyMagic why) const { do { } while (0); return JSVAL_IS_MAGIC_IMPL(data); } bool isMarkable() const { return JSVAL_IS_TRACEABLE_IMPL(data); } JSGCTraceKind gcKind() const { do { } while (0); return JSGCTraceKind(JSVAL_TRACE_KIND_IMPL(data)); } JSWhyMagic whyMagic() const { do { } while (0); return data.s.payload.why; } uint32_t magicUint32() const { do { } while (0); return data.s.payload.u32; } bool operator==(const Value &rhs) const { return data.asBits == rhs.data.asBits; } bool operator!=(const Value &rhs) const { return data.asBits != rhs.data.asBits; } friend inline bool SameType(const Value &lhs, const Value &rhs); int32_t toInt32() const { do { } while (0); return JSVAL_TO_INT32_IMPL(data); } double toDouble() const { do { } while (0); return data.asDouble; } double toNumber() const { do { } while (0); return isDouble() ? toDouble() : double(toInt32()); } JSString *toString() const { do { } while (0); return JSVAL_TO_STRING_IMPL(data); } JS::Symbol *toSymbol() const { do { } while (0); return JSVAL_TO_SYMBOL_IMPL(data); } JSObject &toObject() const { do { } while (0); return *JSVAL_TO_OBJECT_IMPL(data); } JSObject *toObjectOrNull() const { do { } while (0); return JSVAL_TO_OBJECT_IMPL(data); } js::gc::Cell *toGCThing() const { do { } while (0); return JSVAL_TO_GCTHING_IMPL(data); } bool toBoolean() const { do { } while (0); return JSVAL_TO_BOOLEAN_IMPL(data); } uint32_t payloadAsRawUint32() const { do { } while (0); return data.s.payload.u32; } uint64_t asRawBits() const { return data.asBits; } JSValueType extractNonDoubleType() const { return JSVAL_EXTRACT_NON_DOUBLE_TYPE_IMPL(data); } # 1284 "../../../dist/include/js/Value.h" void setPrivate(void *ptr) { data = PRIVATE_PTR_TO_JSVAL_IMPL(ptr); } void *toPrivate() const { do { } while (0); return JSVAL_TO_PRIVATE_PTR_IMPL(data); } void setPrivateUint32(uint32_t ui) { do { } while (0); setInt32(int32_t(ui)); } uint32_t toPrivateUint32() const { return uint32_t(toInt32()); } void setUnmarkedPtr(void *ptr) { data.asPtr = ptr; } void *toUnmarkedPtr() const { return data.asPtr; } const size_t *payloadWord() const { return &data.s.payload.word; } const uintptr_t *payloadUIntPtr() const { return &data.s.payload.uintptr; } private: jsval_layout data; private: constexpr Value(jsval_layout layout) : data(layout) {} void staticAssertions() { static_assert(sizeof(JSValueType) == 1, "JS_STATIC_ASSERT"); static_assert(sizeof(JSValueTag) == 4, "JS_STATIC_ASSERT"); static_assert(sizeof(JSWhyMagic) <= 4, "JS_STATIC_ASSERT"); static_assert(sizeof(Value) == 8, "JS_STATIC_ASSERT"); } friend jsval_layout (::JSVAL_TO_IMPL)(Value); friend Value constexpr (::IMPL_TO_JSVAL)(jsval_layout l); friend Value constexpr (JS::UndefinedValue)(); }; inline bool IsOptimizedPlaceholderMagicValue(const Value &v) { if (v.isMagic()) { do { } while (0); return true; } return false; } static __attribute__((always_inline)) inline void ExposeValueToActiveJS(const Value &v) { if (v.isMarkable()) js::gc::ExposeGCThingToActiveJS(v.toGCThing(), v.gcKind()); } static inline Value NullValue() { Value v; v.setNull(); return v; } static inline constexpr Value UndefinedValue() { return Value(BUILD_JSVAL(JSVAL_TAG_UNDEFINED, 0)); } static inline Value Int32Value(int32_t i32) { Value v; v.setInt32(i32); return v; } static inline Value DoubleValue(double dbl) { Value v; v.setDouble(dbl); return v; } static inline Value DoubleNaNValue() { Value v; v.setNaN(); return v; } static inline Value Float32Value(float f) { Value v; v.setDouble(f); return v; } static inline Value StringValue(JSString *str) { Value v; v.setString(str); return v; } static inline Value SymbolValue(JS::Symbol *sym) { Value v; v.setSymbol(sym); return v; } static inline Value BooleanValue(bool boo) { Value v; v.setBoolean(boo); return v; } static inline Value TrueValue() { Value v; v.setBoolean(true); return v; } static inline Value FalseValue() { Value v; v.setBoolean(false); return v; } static inline Value ObjectValue(JSObject &obj) { Value v; v.setObject(obj); return v; } static inline Value ObjectValueCrashOnTouch() { Value v; v.setObject(*reinterpret_cast(0x42)); return v; } static inline Value MagicValue(JSWhyMagic why) { Value v; v.setMagic(why); return v; } static inline Value MagicValueUint32(uint32_t payload) { Value v; v.setMagicUint32(payload); return v; } static inline Value NumberValue(float f) { Value v; v.setNumber(f); return v; } static inline Value NumberValue(double dbl) { Value v; v.setNumber(dbl); return v; } static inline Value NumberValue(int8_t i) { return Int32Value(i); } static inline Value NumberValue(uint8_t i) { return Int32Value(i); } static inline Value NumberValue(int16_t i) { return Int32Value(i); } static inline Value NumberValue(uint16_t i) { return Int32Value(i); } static inline Value NumberValue(int32_t i) { return Int32Value(i); } static inline Value NumberValue(uint32_t i) { Value v; v.setNumber(i); return v; } namespace detail { template class MakeNumberValue { public: template static inline Value create(const T t) { Value v; if (((int32_t)0x80000000) <= t && t <= ((int32_t)0x7fffffff)) v.setInt32(int32_t(t)); else v.setDouble(double(t)); return v; } }; template <> class MakeNumberValue { public: template static inline Value create(const T t) { Value v; if (t <= ((int32_t)0x7fffffff)) v.setInt32(int32_t(t)); else v.setDouble(double(t)); return v; } }; } template static inline Value NumberValue(const T t) { do { } while (0); return detail::MakeNumberValue::is_signed>::create(t); } static inline Value ObjectOrNullValue(JSObject *obj) { Value v; v.setObjectOrNull(obj); return v; } static inline Value PrivateValue(void *ptr) { Value v; v.setPrivate(ptr); return v; } static inline Value PrivateUint32Value(uint32_t ui) { Value v; v.setPrivateUint32(ui); return v; } inline bool SameType(const Value &lhs, const Value &rhs) { return JSVAL_SAME_TYPE_IMPL(lhs.data, rhs.data); } } namespace JS { __attribute__((visibility("default"))) void HeapValuePostBarrier(Value *valuep); __attribute__((visibility("default"))) void HeapValueRelocate(Value *valuep); } namespace js { template <> struct GCMethods { static JS::Value initial() { return JS::UndefinedValue(); } static bool poisoned(const JS::Value &v) { return v.isMarkable() && JS::IsPoisonedPtr(v.toGCThing()); } }; template <> struct GCMethods { static JS::Value initial() { return JS::UndefinedValue(); } static bool poisoned(const JS::Value &v) { return v.isMarkable() && JS::IsPoisonedPtr(v.toGCThing()); } static gc::Cell *asGCThingOrNull(const JS::Value &v) { return v.isMarkable() ? v.toGCThing() : nullptr; } static bool needsPostBarrier(const JS::Value &v) { return v.isObject() && gc::IsInsideNursery(reinterpret_cast(&v.toObject())); } static void postBarrier(JS::Value *v) { JS::HeapValuePostBarrier(v); } static void relocate(JS::Value *v) { JS::HeapValueRelocate(v); } }; template class MutableValueOperations; template class ValueOperations { friend class MutableValueOperations; const JS::Value * value() const { return static_cast(this)->extract(); } public: bool isUndefined() const { return value()->isUndefined(); } bool isNull() const { return value()->isNull(); } bool isBoolean() const { return value()->isBoolean(); } bool isTrue() const { return value()->isTrue(); } bool isFalse() const { return value()->isFalse(); } bool isNumber() const { return value()->isNumber(); } bool isInt32() const { return value()->isInt32(); } bool isDouble() const { return value()->isDouble(); } bool isString() const { return value()->isString(); } bool isSymbol() const { return value()->isSymbol(); } bool isObject() const { return value()->isObject(); } bool isMagic() const { return value()->isMagic(); } bool isMagic(JSWhyMagic why) const { return value()->isMagic(why); } bool isMarkable() const { return value()->isMarkable(); } bool isPrimitive() const { return value()->isPrimitive(); } bool isGCThing() const { return value()->isGCThing(); } bool isNullOrUndefined() const { return value()->isNullOrUndefined(); } bool isObjectOrNull() const { return value()->isObjectOrNull(); } bool toBoolean() const { return value()->toBoolean(); } double toNumber() const { return value()->toNumber(); } int32_t toInt32() const { return value()->toInt32(); } double toDouble() const { return value()->toDouble(); } JSString *toString() const { return value()->toString(); } JS::Symbol *toSymbol() const { return value()->toSymbol(); } JSObject &toObject() const { return value()->toObject(); } JSObject *toObjectOrNull() const { return value()->toObjectOrNull(); } gc::Cell *toGCThing() const { return value()->toGCThing(); } uint64_t asRawBits() const { return value()->asRawBits(); } JSValueType extractNonDoubleType() const { return value()->extractNonDoubleType(); } uint32_t toPrivateUint32() const { return value()->toPrivateUint32(); } JSWhyMagic whyMagic() const { return value()->whyMagic(); } uint32_t magicUint32() const { return value()->magicUint32(); } }; template class MutableValueOperations : public ValueOperations { JS::Value * value() { return static_cast(this)->extractMutable(); } public: void setNull() { value()->setNull(); } void setUndefined() { value()->setUndefined(); } void setInt32(int32_t i) { value()->setInt32(i); } void setDouble(double d) { value()->setDouble(d); } void setNaN() { setDouble(JS::GenericNaN()); } void setBoolean(bool b) { value()->setBoolean(b); } void setMagic(JSWhyMagic why) { value()->setMagic(why); } bool setNumber(uint32_t ui) { return value()->setNumber(ui); } bool setNumber(double d) { return value()->setNumber(d); } void setString(JSString *str) { this->value()->setString(str); } void setSymbol(JS::Symbol *sym) { this->value()->setSymbol(sym); } void setObject(JSObject &obj) { this->value()->setObject(obj); } void setObjectOrNull(JSObject *arg) { this->value()->setObjectOrNull(arg); } }; template <> class HeapBase : public ValueOperations > { typedef JS::Heap Outer; friend class ValueOperations; const JS::Value * extract() const { return static_cast(this)->address(); } void setBarriered(const JS::Value &v) { static_cast *>(this)->set(v); } public: void setNull() { setBarriered(JS::NullValue()); } void setUndefined() { setBarriered(JS::UndefinedValue()); } void setInt32(int32_t i) { setBarriered(JS::Int32Value(i)); } void setDouble(double d) { setBarriered(JS::DoubleValue(d)); } void setNaN() { setDouble(JS::GenericNaN()); } void setBoolean(bool b) { setBarriered(JS::BooleanValue(b)); } void setMagic(JSWhyMagic why) { setBarriered(JS::MagicValue(why)); } void setString(JSString *str) { setBarriered(JS::StringValue(str)); } void setSymbol(JS::Symbol *sym) { setBarriered(JS::SymbolValue(sym)); } void setObject(JSObject &obj) { setBarriered(JS::ObjectValue(obj)); } bool setNumber(uint32_t ui) { if (ui > ((int32_t)0x7fffffff)) { setDouble((double)ui); return false; } else { setInt32((int32_t)ui); return true; } } bool setNumber(double d) { int32_t i; if (mozilla::NumberIsInt32(d, &i)) { setInt32(i); return true; } setDouble(d); return false; } void setObjectOrNull(JSObject *arg) { if (arg) setObject(*arg); else setNull(); } }; template <> class HandleBase : public ValueOperations > { friend class ValueOperations >; const JS::Value * extract() const { return static_cast*>(this)->address(); } }; template <> class MutableHandleBase : public MutableValueOperations > { friend class ValueOperations >; const JS::Value * extract() const { return static_cast*>(this)->address(); } friend class MutableValueOperations >; JS::Value * extractMutable() { return static_cast*>(this)->address(); } }; template <> class RootedBase : public MutableValueOperations > { friend class ValueOperations >; const JS::Value * extract() const { return static_cast*>(this)->address(); } friend class MutableValueOperations >; JS::Value * extractMutable() { return static_cast*>(this)->address(); } }; } inline jsval_layout JSVAL_TO_IMPL(JS::Value v) { return v.data; } inline constexpr JS::Value IMPL_TO_JSVAL(jsval_layout l) { return JS::Value(l); } namespace JS { inline bool IsPoisonedValue(const Value &v) { return js::GCMethods::poisoned(v); } # 1898 "../../../dist/include/js/Value.h" } typedef JS::Value jsval; static_assert(sizeof(jsval_layout) == sizeof(JS::Value), "jsval_layout and JS::Value must have identical layouts"); static inline constexpr jsval INT_TO_JSVAL(int32_t i) { return IMPL_TO_JSVAL(INT32_TO_JSVAL_IMPL(i)); } static inline constexpr jsval DOUBLE_TO_JSVAL(double d) { return IMPL_TO_JSVAL((__builtin_expect(!!(d != d), 0)) ? (jsval_layout) { .asBits = 0x7FF8000000000000LL } : (jsval_layout) { .asDouble = d }); # 1939 "../../../dist/include/js/Value.h" } static inline constexpr jsval UINT_TO_JSVAL(uint32_t i) { return i <= ((int32_t)0x7fffffff) ? INT_TO_JSVAL((int32_t)i) : DOUBLE_TO_JSVAL((double)i); } static inline jsval STRING_TO_JSVAL(JSString *str) { return IMPL_TO_JSVAL(STRING_TO_JSVAL_IMPL(str)); } static inline jsval OBJECT_TO_JSVAL(JSObject *obj) { if (obj) return IMPL_TO_JSVAL(OBJECT_TO_JSVAL_IMPL(obj)); return IMPL_TO_JSVAL(BUILD_JSVAL(JSVAL_TAG_NULL, 0)); } static inline jsval BOOLEAN_TO_JSVAL(bool b) { return IMPL_TO_JSVAL(BOOLEAN_TO_JSVAL_IMPL(b)); } static inline jsval PRIVATE_TO_JSVAL(void *ptr) { return IMPL_TO_JSVAL(PRIVATE_PTR_TO_JSVAL_IMPL(ptr)); } extern __attribute__((visibility("default"))) const jsval JSVAL_NULL; extern __attribute__((visibility("default"))) const jsval JSVAL_ZERO; extern __attribute__((visibility("default"))) const jsval JSVAL_ONE; extern __attribute__((visibility("default"))) const jsval JSVAL_FALSE; extern __attribute__((visibility("default"))) const jsval JSVAL_TRUE; extern __attribute__((visibility("default"))) const jsval JSVAL_VOID; namespace JS { extern __attribute__((visibility("default"))) const HandleValue NullHandleValue; extern __attribute__((visibility("default"))) const HandleValue UndefinedHandleValue; extern __attribute__((visibility("default"))) const HandleValue TrueHandleValue; extern __attribute__((visibility("default"))) const HandleValue FalseHandleValue; } # 14 "../../../dist/include/nsIVariant.h" 2 # 27 "../../../dist/include/nsIVariant.h" class nsIDataType : public nsISupports { public: template struct COMTypeInfo; enum { VTYPE_INT8 = 0U, VTYPE_INT16 = 1U, VTYPE_INT32 = 2U, VTYPE_INT64 = 3U, VTYPE_UINT8 = 4U, VTYPE_UINT16 = 5U, VTYPE_UINT32 = 6U, VTYPE_UINT64 = 7U, VTYPE_FLOAT = 8U, VTYPE_DOUBLE = 9U, VTYPE_BOOL = 10U, VTYPE_CHAR = 11U, VTYPE_WCHAR = 12U, VTYPE_VOID = 13U, VTYPE_ID = 14U, VTYPE_DOMSTRING = 15U, VTYPE_CHAR_STR = 16U, VTYPE_WCHAR_STR = 17U, VTYPE_INTERFACE = 18U, VTYPE_INTERFACE_IS = 19U, VTYPE_ARRAY = 20U, VTYPE_STRING_SIZE_IS = 21U, VTYPE_WSTRING_SIZE_IS = 22U, VTYPE_UTF8STRING = 23U, VTYPE_CSTRING = 24U, VTYPE_ASTRING = 25U, VTYPE_EMPTY_ARRAY = 254U, VTYPE_EMPTY = 255U }; }; template struct nsIDataType::COMTypeInfo { static const nsIID kIID __attribute__ ((visibility ("hidden"))); }; template const nsIID nsIDataType::COMTypeInfo::kIID __attribute__ ((visibility ("hidden"))) = {0x4d12e540, 0x83d7, 0x11d5, { 0x90, 0xed, 0x00, 0x10, 0xa4, 0xe7, 0x3d, 0x9a }}; # 119 "../../../dist/include/nsIVariant.h" class nsIVariant : public nsISupports { public: template struct COMTypeInfo; virtual nsresult GetDataType(uint16_t *aDataType) = 0; virtual nsresult GetAsInt8(uint8_t *_retval) = 0; virtual nsresult GetAsInt16(int16_t *_retval) = 0; virtual nsresult GetAsInt32(int32_t *_retval) = 0; virtual nsresult GetAsInt64(int64_t *_retval) = 0; virtual nsresult GetAsUint8(uint8_t *_retval) = 0; virtual nsresult GetAsUint16(uint16_t *_retval) = 0; virtual nsresult GetAsUint32(uint32_t *_retval) = 0; virtual nsresult GetAsUint64(uint64_t *_retval) = 0; virtual nsresult GetAsFloat(float *_retval) = 0; virtual nsresult GetAsDouble(double *_retval) = 0; virtual nsresult GetAsBool(bool *_retval) = 0; virtual nsresult GetAsChar(char *_retval) = 0; virtual nsresult GetAsWChar(char16_t *_retval) = 0; virtual nsresult GetAsID(nsID *retval) = 0; virtual nsresult GetAsAString(nsAString_internal & _retval) = 0; virtual nsresult GetAsDOMString(nsAString_internal & _retval) = 0; virtual nsresult GetAsACString(nsACString_internal & _retval) = 0; virtual nsresult GetAsAUTF8String(nsACString_internal & _retval) = 0; virtual nsresult GetAsString(char * *_retval) = 0; virtual nsresult GetAsWString(char16_t * *_retval) = 0; virtual nsresult GetAsISupports(nsISupports * *_retval) = 0; virtual nsresult GetAsJSVal(JS::MutableHandleValue _retval) = 0; virtual nsresult GetAsInterface(nsIID **iid, void **iface) = 0; virtual nsresult GetAsArray(uint16_t *type, nsIID *iid, uint32_t *count, void **ptr) = 0; virtual nsresult GetAsStringWithSize(uint32_t *size, char * *str) = 0; virtual nsresult GetAsWStringWithSize(uint32_t *size, char16_t * *str) = 0; }; template struct nsIVariant::COMTypeInfo { static const nsIID kIID __attribute__ ((visibility ("hidden"))); }; template const nsIID nsIVariant::COMTypeInfo::kIID __attribute__ ((visibility ("hidden"))) = {0x81e4c2de, 0xacac, 0x4ad6, { 0x90, 0x1a, 0xb5, 0xfb, 0x1b, 0x85, 0x1a, 0x0d }}; # 504 "../../../dist/include/nsIVariant.h" class nsIWritableVariant : public nsIVariant { public: template struct COMTypeInfo; virtual nsresult GetWritable(bool *aWritable) = 0; virtual nsresult SetWritable(bool aWritable) = 0; virtual nsresult SetAsInt8(uint8_t aValue) = 0; virtual nsresult SetAsInt16(int16_t aValue) = 0; virtual nsresult SetAsInt32(int32_t aValue) = 0; virtual nsresult SetAsInt64(int64_t aValue) = 0; virtual nsresult SetAsUint8(uint8_t aValue) = 0; virtual nsresult SetAsUint16(uint16_t aValue) = 0; virtual nsresult SetAsUint32(uint32_t aValue) = 0; virtual nsresult SetAsUint64(uint64_t aValue) = 0; virtual nsresult SetAsFloat(float aValue) = 0; virtual nsresult SetAsDouble(double aValue) = 0; virtual nsresult SetAsBool(bool aValue) = 0; virtual nsresult SetAsChar(char aValue) = 0; virtual nsresult SetAsWChar(char16_t aValue) = 0; virtual nsresult SetAsID(const nsID & aValue) = 0; virtual nsresult SetAsAString(const nsAString_internal & aValue) = 0; virtual nsresult SetAsDOMString(const nsAString_internal & aValue) = 0; virtual nsresult SetAsACString(const nsACString_internal & aValue) = 0; virtual nsresult SetAsAUTF8String(const nsACString_internal & aValue) = 0; virtual nsresult SetAsString(const char * aValue) = 0; virtual nsresult SetAsWString(const char16_t * aValue) = 0; virtual nsresult SetAsISupports(nsISupports *aValue) = 0; virtual nsresult SetAsInterface(const nsIID & iid, void *iface) = 0; virtual nsresult SetAsArray(uint16_t type, const nsIID *iid, uint32_t count, void *ptr) = 0; virtual nsresult SetAsStringWithSize(uint32_t size, const char * str) = 0; virtual nsresult SetAsWStringWithSize(uint32_t size, const char16_t * str) = 0; virtual nsresult SetAsVoid(void) = 0; virtual nsresult SetAsEmpty(void) = 0; virtual nsresult SetAsEmptyArray(void) = 0; virtual nsresult SetFromVariant(nsIVariant *aValue) = 0; }; template struct nsIWritableVariant::COMTypeInfo { static const nsIID kIID __attribute__ ((visibility ("hidden"))); }; template const nsIID nsIWritableVariant::COMTypeInfo::kIID __attribute__ ((visibility ("hidden"))) = {0x5586a590, 0x8c82, 0x11d5, { 0x90, 0xf3, 0x00, 0x10, 0xa4, 0xe7, 0x3d, 0x9a }}; # 15 "../../../dist/include/nsIDOMHTMLElement.h" 2 class nsIDOMHTMLMenuElement; # 31 "../../../dist/include/nsIDOMHTMLElement.h" class nsIDOMHTMLElement : public nsIDOMElement { public: template struct COMTypeInfo; virtual nsresult GetTitle(nsAString_internal & aTitle) = 0; virtual nsresult SetTitle(const nsAString_internal & aTitle) = 0; virtual nsresult GetLang(nsAString_internal & aLang) = 0; virtual nsresult SetLang(const nsAString_internal & aLang) = 0; virtual nsresult GetDir(nsAString_internal & aDir) = 0; virtual nsresult SetDir(const nsAString_internal & aDir) = 0; virtual nsresult GetDataset(nsISupports * *aDataset) = 0; virtual nsresult GetItemScope(bool *aItemScope) = 0; virtual nsresult SetItemScope(bool aItemScope) = 0; virtual nsresult GetItemType(nsIVariant * *aItemType) = 0; virtual nsresult SetItemType(nsIVariant *aItemType) = 0; virtual nsresult GetItemId(nsAString_internal & aItemId) = 0; virtual nsresult SetItemId(const nsAString_internal & aItemId) = 0; virtual nsresult GetProperties(nsISupports * *aProperties) = 0; virtual nsresult GetItemValue(nsIVariant * *aItemValue) = 0; virtual nsresult SetItemValue(nsIVariant *aItemValue) = 0; virtual nsresult GetItemProp(nsIVariant * *aItemProp) = 0; virtual nsresult SetItemProp(nsIVariant *aItemProp) = 0; virtual nsresult GetItemRef(nsIVariant * *aItemRef) = 0; virtual nsresult SetItemRef(nsIVariant *aItemRef) = 0; virtual nsresult GetHidden(bool *aHidden) = 0; virtual nsresult SetHidden(bool aHidden) = 0; virtual nsresult DOMClick(void) = 0; virtual nsresult GetTabIndex(int32_t *aTabIndex) = 0; virtual nsresult SetTabIndex(int32_t aTabIndex) = 0; virtual nsresult Focus(void) = 0; virtual nsresult DOMBlur(void) = 0; virtual nsresult GetAccessKey(nsAString_internal & aAccessKey) = 0; virtual nsresult SetAccessKey(const nsAString_internal & aAccessKey) = 0; virtual nsresult GetAccessKeyLabel(nsAString_internal & aAccessKeyLabel) = 0; virtual nsresult GetDraggable(bool *aDraggable) = 0; virtual nsresult SetDraggable(bool aDraggable) = 0; virtual nsresult GetContentEditable(nsAString_internal & aContentEditable) = 0; virtual nsresult SetContentEditable(const nsAString_internal & aContentEditable) = 0; virtual nsresult GetIsContentEditable(bool *aIsContentEditable) = 0; virtual nsresult GetContextMenu(nsIDOMHTMLMenuElement * *aContextMenu) = 0; virtual nsresult GetSpellcheck(bool *aSpellcheck) = 0; virtual nsresult SetSpellcheck(bool aSpellcheck) = 0; virtual nsresult GetInnerHTML(nsAString_internal & aInnerHTML) = 0; virtual nsresult SetInnerHTML(const nsAString_internal & aInnerHTML) = 0; virtual nsresult GetOuterHTML(nsAString_internal & aOuterHTML) = 0; virtual nsresult SetOuterHTML(const nsAString_internal & aOuterHTML) = 0; virtual nsresult InsertAdjacentHTML(const nsAString_internal & position, const nsAString_internal & text) = 0; virtual nsresult ScrollIntoView(bool top, uint8_t _argc) = 0; virtual nsresult GetOffsetParent(nsIDOMElement * *aOffsetParent) = 0; virtual nsresult GetOffsetTop(int32_t *aOffsetTop) = 0; virtual nsresult GetOffsetLeft(int32_t *aOffsetLeft) = 0; virtual nsresult GetOffsetWidth(int32_t *aOffsetWidth) = 0; virtual nsresult GetOffsetHeight(int32_t *aOffsetHeight) = 0; }; template struct nsIDOMHTMLElement::COMTypeInfo { static const nsIID kIID __attribute__ ((visibility ("hidden"))); }; template const nsIID nsIDOMHTMLElement::COMTypeInfo::kIID __attribute__ ((visibility ("hidden"))) = {0xb0c42392, 0xd0e7, 0x4f6a, { 0xbe, 0xb5, 0xa6, 0x98, 0xce, 0x64, 0x89, 0x45 }}; # 11 "../../../dist/include/nsIDOMHTMLMediaElement.h" 2 # 1 "../../../dist/include/nsIDOMMediaError.h" 1 # 25 "../../../dist/include/nsIDOMMediaError.h" class nsIDOMMediaError : public nsISupports { public: template struct COMTypeInfo; enum { MEDIA_ERR_ABORTED = 1U, MEDIA_ERR_NETWORK = 2U, MEDIA_ERR_DECODE = 3U, MEDIA_ERR_SRC_NOT_SUPPORTED = 4U }; virtual nsresult GetCode(uint16_t *aCode) = 0; }; template struct nsIDOMMediaError::COMTypeInfo { static const nsIID kIID __attribute__ ((visibility ("hidden"))); }; template const nsIID nsIDOMMediaError::COMTypeInfo::kIID __attribute__ ((visibility ("hidden"))) = {0x7bd8c29f, 0x8a76, 0x453f, { 0x93, 0x73, 0x79, 0xf8, 0x20, 0xf2, 0xdc, 0x01 }}; # 15 "../../../dist/include/nsIDOMHTMLMediaElement.h" 2 # 1 "../../../dist/include/nsIDOMTimeRanges.h" 1 # 25 "../../../dist/include/nsIDOMTimeRanges.h" class nsIDOMTimeRanges : public nsISupports { public: template struct COMTypeInfo; virtual nsresult GetLength(uint32_t *aLength) = 0; virtual nsresult Start(uint32_t index, double *_retval) = 0; virtual nsresult End(uint32_t index, double *_retval) = 0; }; template struct nsIDOMTimeRanges::COMTypeInfo { static const nsIID kIID __attribute__ ((visibility ("hidden"))); }; template const nsIID nsIDOMTimeRanges::COMTypeInfo::kIID __attribute__ ((visibility ("hidden"))) = {0xc43448db, 0x0bab, 0x461d, { 0xb6, 0x48, 0x1c, 0xa1, 0x4a, 0x96, 0x7f, 0x7e }}; # 19 "../../../dist/include/nsIDOMHTMLMediaElement.h" 2 # 38 "../../../dist/include/nsIDOMHTMLMediaElement.h" class nsIDOMHTMLMediaElement : public nsISupports { public: template struct COMTypeInfo; virtual nsresult GetError(nsIDOMMediaError * *aError) = 0; virtual nsresult GetSrc(nsAString_internal & aSrc) = 0; virtual nsresult SetSrc(const nsAString_internal & aSrc) = 0; virtual nsresult GetCurrentSrc(nsAString_internal & aCurrentSrc) = 0; enum { NETWORK_EMPTY = 0U, NETWORK_IDLE = 1U, NETWORK_LOADING = 2U, NETWORK_NO_SOURCE = 3U }; virtual nsresult GetNetworkState(uint16_t *aNetworkState) = 0; virtual nsresult GetPreload(nsAString_internal & aPreload) = 0; virtual nsresult SetPreload(const nsAString_internal & aPreload) = 0; virtual nsresult GetBuffered(nsIDOMTimeRanges * *aBuffered) = 0; virtual nsresult Load(void) = 0; virtual nsresult CanPlayType(const nsAString_internal & type, nsAString_internal & _retval) = 0; enum { HAVE_NOTHING = 0U, HAVE_METADATA = 1U, HAVE_CURRENT_DATA = 2U, HAVE_FUTURE_DATA = 3U, HAVE_ENOUGH_DATA = 4U }; virtual nsresult GetReadyState(uint16_t *aReadyState) = 0; virtual nsresult GetSeeking(bool *aSeeking) = 0; virtual nsresult GetCurrentTime(double *aCurrentTime) = 0; virtual nsresult SetCurrentTime(double aCurrentTime) = 0; virtual nsresult GetDuration(double *aDuration) = 0; virtual nsresult GetPaused(bool *aPaused) = 0; virtual nsresult GetDefaultPlaybackRate(double *aDefaultPlaybackRate) = 0; virtual nsresult SetDefaultPlaybackRate(double aDefaultPlaybackRate) = 0; virtual nsresult GetPlaybackRate(double *aPlaybackRate) = 0; virtual nsresult SetPlaybackRate(double aPlaybackRate) = 0; virtual nsresult GetMozPreservesPitch(bool *aMozPreservesPitch) = 0; virtual nsresult SetMozPreservesPitch(bool aMozPreservesPitch) = 0; virtual nsresult GetPlayed(nsIDOMTimeRanges * *aPlayed) = 0; virtual nsresult GetSeekable(nsIDOMTimeRanges * *aSeekable) = 0; virtual nsresult GetEnded(bool *aEnded) = 0; virtual nsresult GetMozAutoplayEnabled(bool *aMozAutoplayEnabled) = 0; virtual nsresult GetAutoplay(bool *aAutoplay) = 0; virtual nsresult SetAutoplay(bool aAutoplay) = 0; virtual nsresult GetLoop(bool *aLoop) = 0; virtual nsresult SetLoop(bool aLoop) = 0; virtual nsresult Play(void) = 0; virtual nsresult Pause(void) = 0; virtual nsresult GetControls(bool *aControls) = 0; virtual nsresult SetControls(bool aControls) = 0; virtual nsresult GetVolume(double *aVolume) = 0; virtual nsresult SetVolume(double aVolume) = 0; virtual nsresult GetMuted(bool *aMuted) = 0; virtual nsresult SetMuted(bool aMuted) = 0; virtual nsresult GetDefaultMuted(bool *aDefaultMuted) = 0; virtual nsresult SetDefaultMuted(bool aDefaultMuted) = 0; virtual nsresult GetMozAudioCaptured(bool *aMozAudioCaptured) = 0; virtual nsresult MozGetMetadata(JSContext* cx, JS::MutableHandleValue _retval) = 0; virtual nsresult GetMozFragmentEnd(double *aMozFragmentEnd) = 0; virtual nsresult GetMozAudioChannelType(nsAString_internal & aMozAudioChannelType) = 0; virtual nsresult SetMozAudioChannelType(const nsAString_internal & aMozAudioChannelType) = 0; virtual bool IsVideo(void) = 0; }; template struct nsIDOMHTMLMediaElement::COMTypeInfo { static const nsIID kIID __attribute__ ((visibility ("hidden"))); }; template const nsIID nsIDOMHTMLMediaElement::COMTypeInfo::kIID __attribute__ ((visibility ("hidden"))) = {0xc041d76c, 0x15ce, 0x47ad, { 0xb6, 0x1d, 0xe8, 0x75, 0x5a, 0x6d, 0xb6, 0x38 }}; # 10 "../../../dist/include/mozilla/dom/HTMLMediaElement.h" 2 # 1 "../../../dist/include/nsGenericHTMLElement.h" 1 # 10 "../../../dist/include/nsGenericHTMLElement.h" # 1 "../../../dist/include/nsMappedAttributeElement.h" 1 # 16 "../../../dist/include/nsMappedAttributeElement.h" # 1 "../../../dist/include/nsStyledElement.h" 1 # 18 "../../../dist/include/nsStyledElement.h" # 1 "../../../dist/include/mozilla/dom/Element.h" 1 # 16 "../../../dist/include/mozilla/dom/Element.h" # 1 "../../../dist/include/mozilla/dom/FragmentOrElement.h" 1 # 17 "../../../dist/include/mozilla/dom/FragmentOrElement.h" # 1 "../../../dist/include/nsAttrAndChildArray.h" 1 # 18 "../../../dist/include/nsAttrAndChildArray.h" # 1 "../../../dist/include/nsAttrName.h" 1 # 15 "../../../dist/include/nsAttrName.h" # 1 "../../../dist/include/mozilla/dom/NodeInfo.h" 1 # 24 "../../../dist/include/mozilla/dom/NodeInfo.h" # 1 "../../../dist/include/nsAutoPtr.h" 1 # 25 "../../../dist/include/mozilla/dom/NodeInfo.h" 2 # 1 "../../../dist/include/nsCycleCollectionParticipant.h" 1 # 13 "../../../dist/include/nsCycleCollectionParticipant.h" # 1 "../../../dist/include/js/RootingAPI.h" 1 # 14 "../../../dist/include/nsCycleCollectionParticipant.h" 2 # 41 "../../../dist/include/nsCycleCollectionParticipant.h" class nsCycleCollectionISupports { public: template struct COMTypeInfo; }; template struct nsCycleCollectionISupports::COMTypeInfo { static const nsIID kIID __attribute__ ((visibility ("hidden"))); }; template const nsIID nsCycleCollectionISupports::COMTypeInfo::kIID __attribute__ ((visibility ("hidden"))) = { 0xc61eac14, 0x5f7a, 0x4481, { 0x96, 0x5e, 0x7e, 0xaa, 0x6e, 0xff, 0xa8, 0x5f } }; namespace JS { template class Heap; } struct TraceCallbacks { virtual void Trace(JS::Heap* aPtr, const char* aName, void* aClosure) const = 0; virtual void Trace(JS::Heap* aPtr, const char* aName, void* aClosure) const = 0; virtual void Trace(JS::Heap* aPtr, const char* aName, void* aClosure) const = 0; virtual void Trace(JS::TenuredHeap* aPtr, const char* aName, void* aClosure) const = 0; virtual void Trace(JS::Heap* aPtr, const char* aName, void* aClosure) const = 0; virtual void Trace(JS::Heap* aPtr, const char* aName, void* aClosure) const = 0; virtual void Trace(JS::Heap* aPtr, const char* aName, void* aClosure) const = 0; }; struct TraceCallbackFunc : public TraceCallbacks { typedef void (*Func)(void* aPtr, const char* aName, void* aClosure); explicit TraceCallbackFunc(Func aCb) : mCallback(aCb) {} virtual void Trace(JS::Heap* aPtr, const char* aName, void* aClosure) const override; virtual void Trace(JS::Heap* aPtr, const char* aName, void* aClosure) const override; virtual void Trace(JS::Heap* aPtr, const char* aName, void* aClosure) const override; virtual void Trace(JS::TenuredHeap* aPtr, const char* aName, void* aClosure) const override; virtual void Trace(JS::Heap* aPtr, const char* aName, void* aClosure) const override; virtual void Trace(JS::Heap* aPtr, const char* aName, void* aClosure) const override; virtual void Trace(JS::Heap* aPtr, const char* aName, void* aClosure) const override; private: Func mCallback; }; class nsCycleCollectionParticipant { public: constexpr nsCycleCollectionParticipant() : mMightSkip(false) {} constexpr explicit nsCycleCollectionParticipant(bool aSkip) : mMightSkip(aSkip) {} virtual nsresult Traverse(void* aPtr, nsCycleCollectionTraversalCallback& aCb) = 0; virtual void Root(void* aPtr) = 0; virtual void Unlink(void* aPtr) = 0; virtual void Unroot(void* aPtr) = 0; virtual void Trace(void* aPtr, const TraceCallbacks& aCb, void* aClosure) {} bool CanSkip(void* aPtr, bool aRemovingAllowed) { return mMightSkip ? CanSkipReal(aPtr, aRemovingAllowed) : false; } bool CanSkipInCC(void* aPtr) { return mMightSkip ? CanSkipInCCReal(aPtr) : false; } bool CanSkipThis(void* aPtr) { return mMightSkip ? CanSkipThisReal(aPtr) : false; } virtual void DeleteCycleCollectable(void* aPtr) = 0; protected: virtual bool CanSkipReal(void* aPtr, bool aRemovingAllowed) { do { } while(0); return false; } virtual bool CanSkipInCCReal(void* aPtr) { do { } while(0); return false; } virtual bool CanSkipThisReal(void* aPtr) { do { } while(0); return false; } private: const bool mMightSkip; }; class nsScriptObjectTracer : public nsCycleCollectionParticipant { public: constexpr nsScriptObjectTracer() : nsCycleCollectionParticipant(false) { } constexpr explicit nsScriptObjectTracer(bool aSkip) : nsCycleCollectionParticipant(aSkip) { } virtual void Trace(void* aPtr, const TraceCallbacks& aCb, void* aClosure) = 0; static void NoteJSChild(void* aScriptThing, const char* aName, void* aClosure); }; class nsXPCOMCycleCollectionParticipant : public nsScriptObjectTracer { public: constexpr nsXPCOMCycleCollectionParticipant() : nsScriptObjectTracer(false) { } constexpr explicit nsXPCOMCycleCollectionParticipant(bool aSkip) : nsScriptObjectTracer(aSkip) { } template struct COMTypeInfo; virtual void Root(void* aPtr); virtual void Unroot(void* aPtr); virtual void Trace(void* aPtr, const TraceCallbacks& aCb, void* aClosure); static bool CheckForRightISupports(nsISupports* aSupports); }; template struct nsXPCOMCycleCollectionParticipant::COMTypeInfo { static const nsIID kIID __attribute__ ((visibility ("hidden"))); }; template const nsIID nsXPCOMCycleCollectionParticipant::COMTypeInfo::kIID __attribute__ ((visibility ("hidden"))) = { 0x9674489b, 0x1f6f, 0x4550, { 0xa7, 0x30, 0xcc, 0xae, 0xdd, 0x10, 0x4c, 0xf9 } }; # 281 "../../../dist/include/nsCycleCollectionParticipant.h" template::value> struct DowncastCCParticipantImpl { }; template struct DowncastCCParticipantImpl { static T* Run(void* aPtr) { nsISupports* s = static_cast(aPtr); do { } while (0) ; T* rval = T::cycleCollection::Downcast(s); ; return rval; } }; template struct DowncastCCParticipantImpl { static T* Run(void* aPtr) { return static_cast(aPtr); } }; template T* DowncastCCParticipant(void* aPtr) { return DowncastCCParticipantImpl::Run(aPtr); } # 26 "../../../dist/include/mozilla/dom/NodeInfo.h" 2 # 1 "../../../dist/include/mozilla/dom/NameSpaceConstants.h" 1 # 14 "../../../dist/include/mozilla/dom/NameSpaceConstants.h" static const int32_t kNameSpaceID_None = 0; # 27 "../../../dist/include/mozilla/dom/NodeInfo.h" 2 # 1 "../../../dist/include/nsStringGlue.h" 1 # 28 "../../../dist/include/mozilla/dom/NodeInfo.h" 2 class nsIAtom; class nsIDocument; class nsNodeInfoManager; namespace mozilla { namespace dom { class NodeInfo final { public: public: MozExternalRefCountType AddRef(void) { static_assert(!(std::is_destructible::value) || mozilla::HasDangerousPublicDestructor::value, "Reference-counted class " "NodeInfo" " should not have a public destructor. " "Try to make this class's destructor non-public. If that is really " "not possible, you can whitelist this class by providing a " "HasDangerousPublicDestructor specialization for it."); static_assert(!mozilla::HasDangerousPublicDestructor::value || (std::is_destructible::value), "Class " "NodeInfo" " has no public destructor. That's good! So please " "remove the HasDangerousPublicDestructor specialization for it."); do { } while (0); ((void)0); nsrefcnt count = mRefCnt.incr(static_cast(this), NodeInfo::cycleCollection::GetParticipant()); ; return count; } MozExternalRefCountType Release(void) { do { } while (0); ((void)0); nsrefcnt count = mRefCnt.decr(static_cast(this), NodeInfo::cycleCollection::GetParticipant()); ; return count; } protected: nsCycleCollectingAutoRefCnt mRefCnt; public: class cycleCollection : public nsCycleCollectionParticipant { public: constexpr cycleCollection () : nsCycleCollectionParticipant(true) {} private: public: virtual void Root(void *n); virtual void Unlink(void *n); virtual void Unroot(void *n); virtual nsresult Traverse(void *n, nsCycleCollectionTraversalCallback &cb); virtual void DeleteCycleCollectable(void *n) { DowncastCCParticipant(n)->DeleteCycleCollectable(); } static NodeInfo* Downcast(void* s) { return DowncastCCParticipant(s); } static void* Upcast(NodeInfo *p) { return static_cast(p); } virtual bool CanSkipReal(void *p, bool aRemovingAllowed); virtual bool CanSkipInCCReal(void *p); virtual bool CanSkipThisReal(void *p); static nsCycleCollectionParticipant* GetParticipant() { return &NodeInfo::_cycleCollectorGlobal; } }; static cycleCollection _cycleCollectorGlobal; void GetName(nsAString_internal& aName) const; # 57 "../../../dist/include/mozilla/dom/NodeInfo.h" nsIAtom* NameAtom() const { return mInner.mName; } # 69 "../../../dist/include/mozilla/dom/NodeInfo.h" const nsString& QualifiedName() const { return mQualifiedName; } const nsString& NodeName() const { return mNodeName; } const nsString& LocalName() const { return mLocalName; } void GetPrefix(nsAString_internal& aPrefix) const; nsIAtom* GetPrefixAtom() const { return mInner.mPrefix; } void GetNamespaceURI(nsAString_internal& aNameSpaceURI) const; int32_t NamespaceID() const { return mInner.mNamespaceID; } uint16_t NodeType() const { return mInner.mNodeType; } nsIAtom* GetExtraName() const { return mInner.mExtraName; } nsNodeInfoManager* NodeInfoManager() const { return mOwnerManager; } inline bool Equals(NodeInfo* aNodeInfo) const; bool NameAndNamespaceEquals(NodeInfo* aNodeInfo) const; bool Equals(nsIAtom* aNameAtom) const { return mInner.mName == aNameAtom; } bool Equals(nsIAtom* aNameAtom, nsIAtom* aPrefixAtom) const { return (mInner.mName == aNameAtom) && (mInner.mPrefix == aPrefixAtom); } bool Equals(nsIAtom* aNameAtom, int32_t aNamespaceID) const { return ((mInner.mName == aNameAtom) && (mInner.mNamespaceID == aNamespaceID)); } bool Equals(nsIAtom* aNameAtom, nsIAtom* aPrefixAtom, int32_t aNamespaceID) const { return ((mInner.mName == aNameAtom) && (mInner.mPrefix == aPrefixAtom) && (mInner.mNamespaceID == aNamespaceID)); } bool NamespaceEquals(int32_t aNamespaceID) const { return mInner.mNamespaceID == aNamespaceID; } inline bool Equals(const nsAString_internal& aName) const; inline bool Equals(const nsAString_internal& aName, const nsAString_internal& aPrefix) const; inline bool Equals(const nsAString_internal& aName, int32_t aNamespaceID) const; inline bool Equals(const nsAString_internal& aName, const nsAString_internal& aPrefix, int32_t aNamespaceID) const; bool NamespaceEquals(const nsAString_internal& aNamespaceURI) const; inline bool QualifiedNameEquals(nsIAtom* aNameAtom) const; bool QualifiedNameEquals(const nsAString_internal& aQualifiedName) const { return mQualifiedName == aQualifiedName; } nsIDocument* GetDocument() const { return mDocument; } private: NodeInfo() = delete; NodeInfo(const NodeInfo& aOther) = delete; NodeInfo(nsIAtom* aName, nsIAtom* aPrefix, int32_t aNamespaceID, uint16_t aNodeType, nsIAtom* aExtraName, nsNodeInfoManager* aOwnerManager); ~NodeInfo(); public: bool CanSkip(); void DeleteCycleCollectable(); protected: # 244 "../../../dist/include/mozilla/dom/NodeInfo.h" class NodeInfoInner { public: NodeInfoInner() : mName(nullptr), mPrefix(nullptr), mNamespaceID(-1), mNodeType(0), mNameString(nullptr), mExtraName(nullptr) { } NodeInfoInner(nsIAtom *aName, nsIAtom *aPrefix, int32_t aNamespaceID, uint16_t aNodeType, nsIAtom* aExtraName) : mName(aName), mPrefix(aPrefix), mNamespaceID(aNamespaceID), mNodeType(aNodeType), mNameString(nullptr), mExtraName(aExtraName) { } NodeInfoInner(const nsAString_internal& aTmpName, nsIAtom *aPrefix, int32_t aNamespaceID, uint16_t aNodeType) : mName(nullptr), mPrefix(aPrefix), mNamespaceID(aNamespaceID), mNodeType(aNodeType), mNameString(&aTmpName), mExtraName(nullptr) { } nsIAtom* mName; nsIAtom* mPrefix; int32_t mNamespaceID; uint16_t mNodeType; const nsAString_internal* mNameString; nsIAtom* mExtraName; }; friend class ::nsNodeInfoManager; nsIDocument* mDocument; NodeInfoInner mInner; nsRefPtr mOwnerManager; nsString mQualifiedName; nsString mNodeName; nsString mLocalName; }; } } # 16 "../../../dist/include/nsAttrName.h" 2 # 1 "../../../dist/include/nsIAtom.h" 1 # 19 "../../../dist/include/nsIAtom.h" # 1 "../../../dist/include/nsStringBuffer.h" 1 # 13 "../../../dist/include/nsStringBuffer.h" template struct already_AddRefed; # 24 "../../../dist/include/nsStringBuffer.h" class nsStringBuffer { private: friend class CheckStaticAtomSizes; mozilla::Atomic mRefCount; uint32_t mStorageSize; public: # 48 "../../../dist/include/nsStringBuffer.h" static already_AddRefed Alloc(size_t aStorageSize); # 61 "../../../dist/include/nsStringBuffer.h" static nsStringBuffer* Realloc(nsStringBuffer* aBuf, size_t aStorageSize); void __attribute__ ((regparm (3), stdcall)) AddRef(); void __attribute__ ((regparm (3), stdcall)) Release(); static nsStringBuffer* FromData(void* aData) { return reinterpret_cast(aData) - 1; } void* Data() const { return const_cast(reinterpret_cast(this + 1)); } uint32_t StorageSize() const { return mStorageSize; } # 110 "../../../dist/include/nsStringBuffer.h" bool IsReadonly() const { return mRefCount > 1; } # 123 "../../../dist/include/nsStringBuffer.h" static nsStringBuffer* FromString(const nsAString_internal& aStr); static nsStringBuffer* FromString(const nsACString_internal& aStr); # 140 "../../../dist/include/nsStringBuffer.h" void ToString(uint32_t aLen, nsAString_internal& aStr, bool aMoveOwnership = false); void ToString(uint32_t aLen, nsACString_internal& aStr, bool aMoveOwnership = false); size_t SizeOfIncludingThisMustBeUnshared(mozilla::MallocSizeOf aMallocSizeOf) const; size_t SizeOfIncludingThisIfUnshared(mozilla::MallocSizeOf aMallocSizeOf) const; # 163 "../../../dist/include/nsStringBuffer.h" size_t SizeOfIncludingThisEvenIfShared(mozilla::MallocSizeOf aMallocSizeOf) const; }; # 20 "../../../dist/include/nsIAtom.h" 2 # 28 "../../../dist/include/nsIAtom.h" class nsIAtom : public nsISupports { public: template struct COMTypeInfo; virtual nsresult ScriptableToString(nsAString_internal & _retval) = 0; virtual nsresult ToUTF8String(nsACString_internal & _retval) = 0; virtual nsresult ScriptableEquals(const nsAString_internal & aString, bool *_retval) = 0; virtual bool EqualsUTF8(const nsACString_internal & aString) = 0; virtual bool IsStaticAtom(void) = 0; inline bool Equals(const nsAString_internal& aString) const { return aString.Equals(nsDependentString(mString, mLength)); } inline char16ptr_t GetUTF16String() const { return mString; } inline const uint32_t GetLength() const { return mLength; } inline void ToString(nsAString_internal& aBuf) { nsStringBuffer::FromData(mString)->ToString(mLength, aBuf); } inline nsStringBuffer* GetStringBuffer() const { return nsStringBuffer::FromData(mString); } inline uint32_t hash() const { return mHash; } protected: uint32_t mLength; uint32_t mHash; char16_t* mString; }; template struct nsIAtom::COMTypeInfo { static const nsIID kIID __attribute__ ((visibility ("hidden"))); }; template const nsIID nsIAtom::COMTypeInfo::kIID __attribute__ ((visibility ("hidden"))) = {0x1f341018, 0x521a, 0x49de, { 0xb8, 0x06, 0x1b, 0xef, 0x5c, 0x9a, 0x00, 0xb0 }}; # 188 "../../../dist/include/nsIAtom.h" extern already_AddRefed NS_NewAtom(const char* aUTF8String); inline already_AddRefed do_GetAtom(const char* aUTF8String) { return NS_NewAtom(aUTF8String); } extern already_AddRefed NS_NewAtom(const nsACString_internal& aUTF8String); inline already_AddRefed do_GetAtom(const nsACString_internal& aUTF8String) { return NS_NewAtom(aUTF8String); } extern already_AddRefed NS_NewAtom(const char16_t* aUTF16String); inline already_AddRefed do_GetAtom(const char16_t* aUTF16String) { return NS_NewAtom(aUTF16String); } extern already_AddRefed NS_NewAtom(const nsAString_internal& aUTF16String); extern nsIAtom* NS_NewPermanentAtom(const nsAString_internal& aUTF16String); inline already_AddRefed do_GetAtom(const nsAString_internal& aUTF16String) { return NS_NewAtom(aUTF16String); } extern nsrefcnt NS_GetNumberOfAtoms(void); extern nsIAtom* NS_GetStaticAtom(const nsAString_internal& aUTF16String); extern void NS_SealStaticAtomTable(); class nsAtomString : public nsString { public: explicit nsAtomString(nsIAtom* aAtom) { aAtom->ToString(*this); } }; class nsAtomCString : public nsCString { public: explicit nsAtomCString(nsIAtom* aAtom) { aAtom->ToUTF8String(*this); } }; class nsDependentAtomString : public nsDependentString { public: explicit nsDependentAtomString(nsIAtom* aAtom) : nsDependentString(aAtom->GetUTF16String(), aAtom->GetLength()) { } }; # 17 "../../../dist/include/nsAttrName.h" 2 # 1 "../../../dist/include/nsDOMString.h" 1 # 11 "../../../dist/include/nsDOMString.h" inline bool DOMStringIsNull(const nsAString_internal& aString) { return aString.IsVoid(); } inline void SetDOMStringToNull(nsAString_internal& aString) { aString.SetIsVoid(true); } # 18 "../../../dist/include/nsAttrName.h" 2 class nsAttrName { public: nsAttrName(const nsAttrName& aOther) : mBits(aOther.mBits) { AddRefInternalName(); } explicit nsAttrName(nsIAtom* aAtom) : mBits(reinterpret_cast(aAtom)) { do { } while(0); (aAtom)->AddRef(); } explicit nsAttrName(mozilla::dom::NodeInfo* aNodeInfo) { do { } while(0); if (aNodeInfo->NamespaceEquals(kNameSpaceID_None)) { mBits = reinterpret_cast(aNodeInfo->NameAtom()); (aNodeInfo->NameAtom())->AddRef(); } else { mBits = reinterpret_cast(aNodeInfo) | 1; (aNodeInfo)->AddRef(); } } ~nsAttrName() { ReleaseInternalName(); } void SetTo(mozilla::dom::NodeInfo* aNodeInfo) { do { } while(0); ReleaseInternalName(); if (aNodeInfo->NamespaceEquals(kNameSpaceID_None)) { mBits = reinterpret_cast(aNodeInfo->NameAtom()); (aNodeInfo->NameAtom())->AddRef(); } else { mBits = reinterpret_cast(aNodeInfo) | 1; (aNodeInfo)->AddRef(); } } void SetTo(nsIAtom* aAtom) { do { } while(0); ReleaseInternalName(); mBits = reinterpret_cast(aAtom); (aAtom)->AddRef(); } bool IsAtom() const { return !(mBits & 1); } mozilla::dom::NodeInfo* NodeInfo() const { do { } while(0); return reinterpret_cast(mBits & ~1); } nsIAtom* Atom() const { do { } while(0); return reinterpret_cast(mBits); } bool Equals(const nsAttrName& aOther) const { return mBits == aOther.mBits; } bool Equals(nsIAtom* aAtom) const { return reinterpret_cast(aAtom) == mBits; } bool Equals(const nsAString_internal& aLocalName) const { return IsAtom() && Atom()->Equals(aLocalName); } bool Equals(nsIAtom* aLocalName, int32_t aNamespaceID) const { if (aNamespaceID == kNameSpaceID_None) { return Equals(aLocalName); } return !IsAtom() && NodeInfo()->Equals(aLocalName, aNamespaceID); } bool Equals(mozilla::dom::NodeInfo* aNodeInfo) const { return Equals(aNodeInfo->NameAtom(), aNodeInfo->NamespaceID()); } int32_t NamespaceID() const { return IsAtom() ? kNameSpaceID_None : NodeInfo()->NamespaceID(); } int32_t NamespaceEquals(int32_t aNamespaceID) const { return aNamespaceID == kNameSpaceID_None ? IsAtom() : (!IsAtom() && NodeInfo()->NamespaceEquals(aNamespaceID)); } nsIAtom* LocalName() const { return IsAtom() ? Atom() : NodeInfo()->NameAtom(); } nsIAtom* GetPrefix() const { return IsAtom() ? nullptr : NodeInfo()->GetPrefixAtom(); } bool QualifiedNameEquals(const nsAString_internal& aName) const { return IsAtom() ? Atom()->Equals(aName) : NodeInfo()->QualifiedNameEquals(aName); } void GetQualifiedName(nsAString_internal& aStr) const { if (IsAtom()) { Atom()->ToString(aStr); } else { aStr = NodeInfo()->QualifiedName(); } } void GetPrefix(nsAString_internal& aStr) const { if (IsAtom()) { SetDOMStringToNull(aStr); } else { NodeInfo()->GetPrefix(aStr); } } uint32_t HashValue() const { return mBits - 0; } bool IsSmaller(nsIAtom* aOther) const { return mBits < reinterpret_cast(aOther); } private: void AddRefInternalName() { if (IsAtom()) { (Atom())->AddRef(); } else { (NodeInfo())->AddRef(); } } void ReleaseInternalName() { if (IsAtom()) { Atom()->Release(); } else { NodeInfo()->Release(); } } uintptr_t mBits; }; # 19 "../../../dist/include/nsAttrAndChildArray.h" 2 # 1 "../../../dist/include/nsAttrValue.h" 1 # 17 "../../../dist/include/nsAttrValue.h" # 1 "../../../dist/include/nsColor.h" 1 # 9 "../../../dist/include/nsColor.h" # 1 "../../../dist/system_wrappers/stddef.h" 1 # 2 "../../../dist/system_wrappers/stddef.h" 3 #pragma GCC visibility push(default) # 1 "/usr/lib/gcc/i686-redhat-linux/5.0.0/include/stddef.h" 1 3 4 # 4 "../../../dist/system_wrappers/stddef.h" 2 3 #pragma GCC visibility pop # 10 "../../../dist/include/nsColor.h" 2 # 1 "../../../dist/system_wrappers/stdint.h" 1 # 2 "../../../dist/system_wrappers/stdint.h" 3 #pragma GCC visibility push(default) #pragma GCC visibility pop # 11 "../../../dist/include/nsColor.h" 2 class nsAString_internal; class nsString; class nsCString; typedef uint32_t nscolor; # 57 "../../../dist/include/nsColor.h" bool NS_HexToRGB(const nsAString_internal& aBuf, nscolor* aResult); nscolor NS_ComposeColors(nscolor aBG, nscolor aFG); bool NS_LooseHexToRGB(const nsString& aBuf, nscolor* aResult); bool NS_ColorNameToRGB(const nsAString_internal& aBuf, nscolor* aResult); const char * const * NS_AllColorNames(size_t *aSizeArray); nscolor NS_HSL2RGB(float h, float s, float l); const char* NS_RGBToColorName(nscolor aColor); # 18 "../../../dist/include/nsAttrValue.h" 2 # 1 "../../../dist/include/nsCaseTreatment.h" 1 # 12 "../../../dist/include/nsCaseTreatment.h" enum nsCaseTreatment { eCaseMatters, eIgnoreCase }; # 19 "../../../dist/include/nsAttrValue.h" 2 # 1 "../../../dist/include/nsMargin.h" 1 # 12 "../../../dist/include/nsMargin.h" # 1 "../../../dist/include/mozilla/gfx/BaseMargin.h" 1 # 13 "../../../dist/include/nsMargin.h" 2 struct nsMargin : public mozilla::gfx::BaseMargin { typedef mozilla::gfx::BaseMargin Super; nsMargin() : Super() {} nsMargin(const nsMargin& aMargin) : Super(aMargin) {} nsMargin(nscoord aTop, nscoord aRight, nscoord aBottom, nscoord aLeft) : Super(aTop, aRight, aBottom, aLeft) {} }; struct nsIntMargin : public mozilla::gfx::BaseMargin { typedef mozilla::gfx::BaseMargin Super; nsIntMargin() : Super() {} nsIntMargin(const nsIntMargin& aMargin) : Super(aMargin) {} nsIntMargin(int32_t aTop, int32_t aRight, int32_t aBottom, int32_t aLeft) : Super(aTop, aRight, aBottom, aLeft) {} }; # 20 "../../../dist/include/nsAttrValue.h" 2 # 1 "../../../dist/include/SVGAttrValueWrapper.h" 1 # 17 "../../../dist/include/SVGAttrValueWrapper.h" class nsSVGAngle; class nsSVGIntegerPair; class nsSVGLength2; class nsSVGNumberPair; class nsSVGViewBox; namespace mozilla { class SVGLengthList; class SVGNumberList; class SVGPathData; class SVGPointList; class SVGAnimatedPreserveAspectRatio; class SVGStringList; class SVGTransformList; } namespace mozilla { class SVGAttrValueWrapper { public: static void ToString(const nsSVGAngle* aAngle, nsAString_internal& aResult); static void ToString(const nsSVGIntegerPair* aIntegerPair, nsAString_internal& aResult); static void ToString(const nsSVGLength2* aLength, nsAString_internal& aResult); static void ToString(const mozilla::SVGLengthList* aLengthList, nsAString_internal& aResult); static void ToString(const mozilla::SVGNumberList* aNumberList, nsAString_internal& aResult); static void ToString(const nsSVGNumberPair* aNumberPair, nsAString_internal& aResult); static void ToString(const mozilla::SVGPathData* aPathData, nsAString_internal& aResult); static void ToString(const mozilla::SVGPointList* aPointList, nsAString_internal& aResult); static void ToString( const mozilla::SVGAnimatedPreserveAspectRatio* aPreserveAspectRatio, nsAString_internal& aResult); static void ToString(const mozilla::SVGStringList* aStringList, nsAString_internal& aResult); static void ToString(const mozilla::SVGTransformList* aTransformList, nsAString_internal& aResult); static void ToString(const nsSVGViewBox* aViewBox, nsAString_internal& aResult); }; } # 22 "../../../dist/include/nsAttrValue.h" 2 # 1 "../../../dist/include/mozilla/dom/BindingDeclarations.h" 1 # 17 "../../../dist/include/mozilla/dom/BindingDeclarations.h" # 1 "../../../dist/include/js/Value.h" 1 # 18 "../../../dist/include/mozilla/dom/BindingDeclarations.h" 2 # 1 "../../../dist/include/mozilla/Maybe.h" 1 # 20 "../../../dist/include/mozilla/dom/BindingDeclarations.h" 2 # 1 "../../../dist/include/nsCOMPtr.h" 1 # 21 "../../../dist/include/mozilla/dom/BindingDeclarations.h" 2 # 1 "../../../dist/include/nsTArray.h" 1 # 22 "../../../dist/include/mozilla/dom/BindingDeclarations.h" 2 # 1 "../../../dist/include/mozilla/dom/DOMString.h" 1 # 10 "../../../dist/include/mozilla/dom/DOMString.h" # 1 "../../../dist/include/nsStringBuffer.h" 1 # 11 "../../../dist/include/mozilla/dom/DOMString.h" 2 # 1 "../../../dist/include/nsDOMString.h" 1 # 15 "../../../dist/include/mozilla/dom/DOMString.h" 2 # 1 "../../../dist/include/nsIAtom.h" 1 # 16 "../../../dist/include/mozilla/dom/DOMString.h" 2 namespace mozilla { namespace dom { # 40 "../../../dist/include/mozilla/dom/DOMString.h" class DOMString { public: DOMString() : mStringBuffer(nullptr) , mLength(0) , mIsNull(false) {} ~DOMString() { do { } while (0) ; } operator nsString&() { return AsAString(); } nsString& AsAString() { do { } while (0); do { } while (0); if (!mString) { mString.emplace(); } return *mString; } bool HasStringBuffer() const { do { } while (0) ; do { } while (0); return !mString; } nsStringBuffer* StringBuffer() const { do { } while (0); do { } while (0) ; do { } while (0); do { } while (0) ; return mStringBuffer; } uint32_t StringBufferLength() const { do { } while (0); return mLength; } void SetStringBuffer(nsStringBuffer* aStringBuffer, uint32_t aLength) { do { } while (0); do { } while (0); do { } while (0); do { } while (0); mStringBuffer = aStringBuffer; mLength = aLength; } void SetOwnedString(const nsAString_internal& aString) { do { } while (0); do { } while (0); do { } while (0); nsStringBuffer* buf = nsStringBuffer::FromString(aString); if (buf) { SetStringBuffer(buf, aString.Length()); } else if (aString.IsVoid()) { SetNull(); } else if (!aString.IsEmpty()) { AsAString() = aString; } } enum NullHandling { eTreatNullAsNull, eTreatNullAsEmpty, eNullNotExpected }; void SetOwnedAtom(nsIAtom* aAtom, NullHandling aNullHandling) { do { } while (0); do { } while (0); do { } while (0); do { } while (0); if (aNullHandling == eNullNotExpected || aAtom) { SetStringBuffer(aAtom->GetStringBuffer(), aAtom->GetLength()); } else if (aNullHandling == eTreatNullAsNull) { SetNull(); } } void SetNull() { do { } while (0); do { } while (0); mIsNull = true; } bool IsNull() const { do { } while (0) ; return mIsNull || (mString && mString->IsVoid()); } void ToString(nsAString_internal& aString) { if (IsNull()) { SetDOMStringToNull(aString); } else if (HasStringBuffer()) { if (StringBufferLength() == 0) { aString.Truncate(); } else { StringBuffer()->ToString(StringBufferLength(), aString); } } else { aString = AsAString(); } } private: Maybe mString; nsStringBuffer* mStringBuffer; uint32_t mLength; bool mIsNull; }; } } # 24 "../../../dist/include/mozilla/dom/BindingDeclarations.h" 2 # 1 "../../../dist/include/mozilla/dom/OwningNonNull.h" 1 # 13 "../../../dist/include/mozilla/dom/OwningNonNull.h" # 1 "../../../dist/include/nsCycleCollectionNoteChild.h" 1 # 14 "../../../dist/include/mozilla/dom/OwningNonNull.h" 2 namespace mozilla { namespace dom { template class OwningNonNull { public: OwningNonNull() {} operator T&() const { do { } while (0); do { } while (0); return *mPtr; } operator T*() const { do { } while (0); do { } while (0); return mPtr; } void operator=(T* aValue) { init(aValue); } void operator=(T& aValue) { init(&aValue); } void operator=(const already_AddRefed& aValue) { init(aValue); } already_AddRefed forget() { return mPtr.forget(); } T* get() const { do { } while (0); do { } while (0); return mPtr; } protected: template void init(U aValue) { mPtr = aValue; do { } while (0); } nsRefPtr mPtr; }; template inline void ImplCycleCollectionTraverse(nsCycleCollectionTraversalCallback& aCallback, OwningNonNull& aField, const char* aName, uint32_t aFlags = 0) { CycleCollectionNoteChild(aCallback, aField.get(), aName, aFlags); } } } # 25 "../../../dist/include/mozilla/dom/BindingDeclarations.h" 2 class nsWrapperCache; namespace mozilla { namespace dom { struct DictionaryBase { protected: bool ParseJSON(JSContext* aCx, const nsAString_internal& aJSON, JS::MutableHandle aVal); bool StringifyToJSON(JSContext* aCx, JS::MutableHandle aValue, nsAString_internal& aJSON) const; private: static bool AppendJSONToString(const char16_t* aJSONData, uint32_t aDataLength, void* aString); }; struct AllTypedArraysBase { }; struct AllOwningUnionBase { }; struct EnumEntry { const char* value; size_t length; }; class GlobalObject { public: GlobalObject(JSContext* aCx, JSObject* aObject); JSObject* Get() const { return mGlobalJSObject; } nsISupports* GetAsSupports() const; JSContext* Context() const { return mCx; } bool Failed() const { return !Get(); } protected: JS::Rooted mGlobalJSObject; JSContext* mCx; mutable nsISupports* mGlobalObject; }; template class Optional_base { public: Optional_base() {} explicit Optional_base(const T& aValue) { mImpl.emplace(aValue); } template explicit Optional_base(const T1& aValue1, const T2& aValue2) { mImpl.emplace(aValue1, aValue2); } bool WasPassed() const { return mImpl.isSome(); } InternalType& Construct() { mImpl.emplace(); return *mImpl; } template InternalType& Construct(const T1 &t1) { mImpl.emplace(t1); return *mImpl; } template InternalType& Construct(const T1 &t1, const T2 &t2) { mImpl.emplace(t1, t2); return *mImpl; } void Reset() { mImpl.reset(); } const T& Value() const { return *mImpl; } InternalType& Value() { return *mImpl; } const InternalType& InternalValue() const { return *mImpl; } private: Optional_base(const Optional_base& other) = delete; const Optional_base &operator=(const Optional_base &other) = delete; protected: Maybe mImpl; }; template class Optional : public Optional_base { public: Optional() : Optional_base() {} explicit Optional(const T& aValue) : Optional_base(aValue) {} }; template class Optional > : public Optional_base, JS::Rooted > { public: Optional() : Optional_base, JS::Rooted >() {} explicit Optional(JSContext* cx) : Optional_base, JS::Rooted >() { this->Construct(cx); } Optional(JSContext* cx, const T& aValue) : Optional_base, JS::Rooted >(cx, aValue) {} JS::Handle Value() const { return *this->mImpl; } JS::Rooted& Value() { return *this->mImpl; } }; template<> class Optional : public Optional_base { public: Optional() : Optional_base() {} explicit Optional(JSObject* aValue) : Optional_base(aValue) {} JSObject*& Construct() { return Optional_base::Construct( static_cast(nullptr)); } template JSObject*& Construct(const T1& t1) { return Optional_base::Construct(t1); } }; template<> class Optional { private: Optional() = delete; explicit Optional(JS::Value aValue) = delete; }; template class NonNull; template class Optional > : public Optional_base > { public: T& Value() const { return *this->mImpl->get(); } NonNull& Value() { return *this->mImpl; } }; template class Optional > : public Optional_base > { public: T& Value() const { return *this->mImpl->get(); } OwningNonNull& Value() { return *this->mImpl; } }; namespace binding_detail { struct FakeString; } template<> class Optional { public: Optional() : mPassed(false) {} bool WasPassed() const { return mPassed; } void operator=(const nsAString_internal* str) { do { } while (0); mStr = str; mPassed = true; } void operator=(const binding_detail::FakeString* str) { do { } while (0); mStr = reinterpret_cast(str); mPassed = true; } const nsAString_internal& Value() const { do { } while (0); return *mStr; } private: Optional(const Optional& other) = delete; const Optional &operator=(const Optional &other) = delete; bool mPassed; const nsAString_internal* mStr; }; template class NonNull { public: NonNull() {} operator T&() const { do { } while (0); do { } while (0); return *ptr; } operator T*() const { do { } while (0); do { } while (0); return ptr; } void operator=(T* t) { ptr = t; do { } while (0); } template void operator=(U* t) { ptr = t->ToAStringPtr(); do { } while (0); } T** Slot() { return &ptr; } T* Ptr() { do { } while (0); do { } while (0); return ptr; } T* get() const { do { } while (0); do { } while (0); return ptr; } protected: T* ptr; }; template class Sequence : public FallibleTArray { public: Sequence() : FallibleTArray() {} }; inline nsWrapperCache* GetWrapperCache(nsWrapperCache* cache) { return cache; } inline nsWrapperCache* GetWrapperCache(void* p) { return nullptr; } template